模块化程序设计的设计原则原因如下:
1、少量的模块
力求以少量的模块组成尽可能多的产品,并在满足要求的基础上使产品精度高、性能稳定、结构简单、成本低廉,模块间的联系尽可能简单。
2、模块的系列化
其目的在于用有限的产品品种和规格来最大限度又经济合理地满足用户的要求。
3、模块化程序设计的含义
模块化设计是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。
模块化程序设计的原理
模块化产品设计方法的原理是,在对一定范围内的不同功能或相同功能、不同性能、不同规格的产品进行功能分析的基础上,划分并设计出一系列功能模块,通过模块的选择和组合构成不同的顾客定制的产品,以满足市场的不同需求。
这是相似性原理在产品功能和结构上的应用,是一种实现标准化与多样化的有机结合及多品种、小批量与效率的有效统一的标准化方法。
模块化程序设计是程序设计的一种方法。根据查询相关公开信息显示,模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能的程序设计方法。1.提高功能模块独立性
在得到软件结构之后,就应首先着眼于改善功能模块的独立性,考验是否应该把一些功能模块提取或合并,力求降低耦合提高内聚。例如,多个功能模块共有的一个子功能可以独立成一个功能模块,由这些功能模块调用,有时可以通过分解或合并功能模块以减少控制信息的传递及对全局数据的引用,并且降低接口的复杂度。
2.功能模块规模适度
经验表明,当功能模块过大时,功能模块的可理解性就会迅速下降。但是对过大的功能模块分解时,也不应降低功能模块的独立性。因为当对一个大的功能模块分解时,有可能增加功能模块之间的依赖。
3.深度、宽度、扇出和扇入要适当
如果深度过大则说明有的控制模块可能简单了。如果宽度过大则说明系统的控制过于集中。而扇出过大则意味着功能模块过于复杂,需要控制和协调过多的下级模块,这时应适当地增加中间层次,扇出太小则可以把下级模块进一步分解成若干个子功能模块,或者合并到上级功能模块中去。一个功能模块的扇入是表明有多少个上级功能模块直接调用它,扇入越大则共享该模块的上级模块数目越多,这是有好处的。
4.要使模块的作用范围保持在该模块的控制范围内
功能模块的作用范围是指受该功能模块内一个判定影响的所有功能模块的集合。功能模块的控制范围是指这个功能模块本身以及所有直接或间接从属于它的功能模块的集合。在一个设计得很好的系统中,所有受判定影响的功能模块应该都从属于作出判定的那个功能模块,最好局限于做出判定的那个功能模块本身及它的直接下级模块。对于那些不满足这一条件的软件结构修改的办法是:将判定点上移或者将那些在作用范围内但是不在控制范围内的功能模块移植到控制范围内。
5.应减少功能模块的接口的复杂性和冗余度,并改善一致性
功能模块接口复杂是软件发生错误的一个主要原因。应该仔细设计模块接口,使得信息传递简单并且和模块的功能一致。
6.设计成单入口、单出口的功能模块,避免病态连接
要防止内容耦合性,如果功能模块都是从顶部入口、从底部出口的话,这样的软件也更易于理解和易于维护。病态连接关系是指从中部进入或访问一个模块。
7.模块的功能可预测
如果一个功能模块可以当做一个黑箱,即只要输入的数据相同就产生同样的输出,这个模块的功能就是可以预测的。而那些具有内部记忆的功能模块则可能是不可预知的,因为它可能记载了某个内部标志并且利用这个标志去选择处理方案。由于这个标志对上级功能模块来说是看不见的,因而可能引起混乱。
8.组装软件根据设计的约束和移植的需要
组装是指用来把软件组合起来,以便把软件放入特定的处理环境或送往其他的地方。有时,设计约束要求一个程序要在内存中覆盖自己。如果有这种要求的话,原设计结构就可能必须重新组织以便按照重复的次数、存取的频率以及各次调用之间的间隔来把功能模块组合起来。
总之,不管什么样的功能模块都有可能出现软件缺陷,主要类型有:软件没有实现产品规格说明所要求的功能模块;软件中出现了产品规格说明指明不应该出现的错误;软件实现了产品规格说明没有提到的功能模块;软件没有实现虽然产品规格说明没有明确提及但应该实现的目标;软件难以理解,不容易使用,运行缓慢,或从测试员的角度看,最终用户会认为不好。因此一定要重视软件功能模块的设计和软件测试的进行,这样才能从根本上保证软件质量。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)