得出软件的初始结构图之后

模块的扇出过小也不好,这样将使得系统的功能结构图的深度大大增加,不但增加了模块接口的复杂度,而且增加了调用和返回的时间开销,降低系统的工作效率

综上所述,结构化设计方法是设计软件体系结构的一种系统化的方法,根据不同的映射规则,可以把数据流图变换成软件的初步结构图得出软件的初始结构图之后,还必须根据结构化设计的基本原则和有关启发规则,对所得到的初始软件结构图进行仔细优化,才能设计出令人满意的软件体系结构

数据流程图转换为初始软件结构图后,按照高内聚低耦合、模块化、信息隐藏的原则,应该对初始软件结构图进行优化考虑设计优化问题时应该记住,“一个不能工作的‘最佳设计’的价值是软件工程基本目标值得怀疑的”软件设计人员应该致力于开发能够满足所有功能和性能要求,导出不同的软件结构,对它们进行评价和比较,力求得到“最佳”的效果,这种优化真正的优点,就是能够把软件结构设计和详细设计很好地分开通常,用下述方法对初始化软件结构进行优化是合理的:在不考虑时间因素的前提下开发并精化软件结构在得到初始的功能结构图之后,如果发现有几个模块有相似之处,可消除重复功能,改善软件结构;模块功能的完善化一个完整的功能模块,不仅应能完成指定的功能,而且还应当能够告诉使用者完成任务的状态,以及不能完成的原因;模块的作用范围应在控制范围之内模块的控制范围包括它本身及其所有的从属模块;模软件工程涉及哪些方面块的作用范围是指模块内一个判定的作用范围,凡是受这个判定影响的所有模块都属于这个判定的作用范围;尽可能减少高扇出结构模块的扇出过大,将使得系统的模块结构图的宽度变大,宽度越大结构图越复杂比较适当的模块扇出数目为2~5个,最多不要超过9个;模块的大小要适中限制模块的大小是减少复杂性的手段之一,因而要求把模块的大小限制在一定的范围之内模块的大小一般用模块的源代码数量来衡量,通常在设计过程中,将模块的源代码数量限制在50~100行左右,即一页纸的范围内,这样阅读比较方便;设计功能可预测的模块,避免过分受限制的模块一个功能可预测的模块不论内部处理细节如何,但对相同的输入数据,总能产生同样的结果;软件包应满足设计约束和软件工程开发方法可移植性一个仅处理单一功能的模块,由于具有高度的内聚性,而受到了设计人员的重视

层次图和结构图对于模块调用次序方面要求的并不严格在画模块方面,很多人习惯按调用次序从左到右的方法画模块,其实又没有规定一定要这样,出于其他方面的考虑(例如为了减少交叉线),完全可以不按这种次序画,还有就是在层次图和结构图中并不指明什么时候调用下层模块一般情况下上层模块中除了调用下层模块的语句之外还有其他语句,到底是先执行调用下层模块的语句还是先执行其他语句,丝毫不在图中指明事实上,层次图和结构图往往只表明一个模块用来调用哪些模块,对于一些模块内不含其他成分的根本就不作表示

4软件结构设计优化规则

5结语

















































































北京正规的白癜风医院


转载请注明:http://www.zjiaren.com/jbmb/91.html