第七章思考题-地信1902于航茹

1.软件设计的目标及主要任务

软件设计基本目标是构造系统“怎么做”的模型描述。对将要实现的软件系统的体系结构、系统的数据、系统模块间的接口,以及所采用的算法给出详尽的描述。

任务:

a.数据设计将分析模型转化为设计类的实现以及软件实现所要求的数据结构。

b.体系结构设计定义了软件的主要结构元素之间的联系,可用于达到系统所定义需求的体系结构风格和设计模式以及影响体系结构实现方式的约束。

c.接口设计描述了软件和协作系统之间、软件和使用人员之间是如何通信的。接口是信息流和特定行为的类型。

d.结构设计将软件体系结构的结构元素变换为对软件的过程性描述。

2.什么是模块化设计思想

分解、抽象、逐步求精、信息隐蔽和模块独立性

3.模块独立性的两个度量标准

模块自身的内聚和模块之间的耦合

4.内聚和耦合的含义?各有哪些种类?

内聚:块内联系,一个模块内部元素彼此结合的紧密程度

耦合:块间联系。

内聚:功能性内聚(解析XML文档模块)顺序性内聚(规则引擎:一个任务读配置,输出执行计划。另一个输入执行计划并执行)通信性内聚(学生管理系统的数据库CRUD操作)过程性内聚(读写文件操作:判断文件是否存在、判断权限、打开文件、读写文件)时间性内聚(初始化模块,异常处理模块)逻辑性内聚(由若干个逻辑功能相似的任务组成,通过模块外引入的一个开关量选择其一执行)偶然性内聚(一个处理正方形的模块有两个功能:计算面积,画出这个正方形)

耦合:非直接耦合(同级模块之间没有信息传递)数据耦合(调用下属模块时,如果交换的都是简单变量,便构成数据耦合)特征耦合(调用时交换的是数据结构)控制耦合(逻辑性内聚的模块)外部耦合(允许一组模块访问同一个全局变量)公共耦合(公共的内存区域)内容耦合(若一个模块直接访问另一个模块的内部数据,或一个模块直接转到另一个模块的内部或一个模块有多个接口)

5.为什么要高内聚低耦合?是否内聚高耦合低越好?

高内聚,低耦合的好处体现在系统持续发展的过程中,高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。并不是内聚越高越好,耦合越低越好,真正好的设计是在高内聚和低耦合间进行平衡,也就是说高内聚和低耦合是冲突的。内聚性高导致了其它类的耦合特别多,于是整个设计就变成了“高内聚高耦合”了。由于高耦合,整个系统变动同样非常频繁;耦合性低会导致内聚性很低,于是整个设计就变成了“低耦合低内聚”了,整个类的变动同样非常频繁。

 

posted @ 2021-04-06 21:40  小茹学习呐  阅读(68)  评论(0)    收藏  举报