【正确答案】软件概要设计的主要任务就是软件结构的设计,为了提高设计的质量,必须根据软件设计的原理改进软件设计。提出以下软件结构的设计优化准则。
(1)划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。
①如果若干模块之间耦合度过高,每个模块内功能不复杂,可将它们合并,以减少信息的传递和公共区的引用。
②若有多个相关模块,应对它们的功能进行分析,消去重复功能。
(2)一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。
(3)软件结构的深度、宽度、扇入、扇出应适当。
深度是软件结构设计完成后观察到的情况,能粗略地反映系统的规模和复杂程度,宽度也能反映系统的复杂情况。宽度与模块的扇出有关,一个模块的扇出太多,说明本模块过分复杂,缺少中间层。单一功能模块的扇入数大的比较好,说明本模块为上层几个模块共享的公用模块,重用率较高。但是不能把彼此无关的功能凑在一起形成一个通用的超级模块,虽然它扇入高,但低内聚。因此非单一功能的模块扇入高时应重新分解,以消除控制耦合的情况。软件结构从形态上,总的考虑是顶层扇出数较高一些,中间层扇出数较低一些,底层扇入数较高一些。
(4)模块的大小要适中。在考虑模块独立性的同时,为了增加可理解性,模块的大小最好在50~150条语句左右。
(5)模块的接口要简单、清晰、含义明确,便于实现、测试与维护。
【答案解析】