回答:
(1)在软件设计阶段,需要把软件的逻辑模型变换为物理模型,着手实现软件的需求,并将设计的结果反映在"设计规模说明书"文档中,是一个把软件需求转换为软件表示的过程.软件概要设计只描述软件总的体系结构,因此也称为软件结构设计.
(2)基本任务包括:
①设计软件系统结构(简称软件结构);
②数据结构及数据库设计;
③编写概要设计文档;
④评审.
回答:
⑴模块化,指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程;
⑵抽象,指抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其它因素;
⑶信息隐蔽,指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这此信息的其它模块来说,是不能访问的;⑷模块独立性,指每个模块只完成系统要求的独立子功能,并且与其它模块的联系最少且接口简单.模块独立性包括两个度量标准:耦合性,内聚性.
回答:
⑴耦合性包括:
①无直接耦合,指两个模块之间没有直接联系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息;
②数据耦合,指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值的传递;
③标记耦合,指两个模块之间传递的是数据结构,如高级语言中的数组名,记录名,文件名等这此名字即为标记,其实传递的是这个数据结构的地址;
④控制耦合,指一个模块调用另一个模块时,传递的是控制变量(如开关,标志等),被调用模块通过该控制变量的值有选择地执行块内某一功能;
⑤公共耦合,指通过一个公共数据环境相互作用的那些模块间的耦合;
⑥内容耦合,指一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部.
(2)内聚性包括:
①偶然内聚,指一个模块内的各处理元素之间没有任何联系;
②逻辑内聚,指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能;
③时间内聚,把需要同时执行的动作组合在一起形成的模块;
④通信内聚,指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据;
⑤顺序内聚,指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入;
⑥功能内聚,指模块内所有元素共同完成一个功能,缺一不可.
回答:
⑴划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性.并以此原则优化初始的软件结构.
⑵一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近.
⑶软件结构的深度,宽度,扇入,扇出应适当.
⑷模块的大小要适中.
⑸模块的接口要简单,清晰,含义明确,易于实现,测试与维护.