第七章作业

1.软件设计的目标及主要任务有哪些?
软件设计的目标:软件系统设计是把软件需求“变换”为用于构造软件的蓝图,“输入”是需求分析各种模型元素,“输出”是软件设计模型和表示,软件设计阶段的基本目标是构造系统“怎么做”的模型描述 ,“设计先于编码”,这是软件工程“推迟实现”的基本原则。

主要任务:主要有以下几类设计活动

总体设计:也称为概要设计,软件结构设计,或高层设计。
体系结构设计:定义软件模块(构件)及模块之间的关系。
接口设计:包括用户接口(界面),外部接口,内部接口。
数据设计:软件涉及的数据结构,文件系统结构,数据库的表结构等。
软件详细设计:也称为模块过程设计,或低层设计。
模块内部细节设计:包括模块所需的算法和数据结构等。

2.什么是模块(构件)化设计思想
模块是一个独立命名的,拥有明确定义的输入、输出和特性的程序实体。
把一个大型软件系统的全部功能,按照一定的原则合理地划分为若干个模块,每个模块完成一个特定的子功能,所有的这些模块以某种结构形式组成一个整体,这就是软件的模块化设计。
软件模块化设计可以简化软件的设计和实现,提高软件的可理解性和可测试性,并使软件更容易得到维护。
分解、抽象、逐步求精、信息隐蔽和模块独立性,是软件模块化设计的指导思想。

3、模块独立性的两个度量标准是什么?

模块自身的内聚:也称为模块内联系,指一个模块内部元素彼此结合的紧密程度。

模块之间的耦合:也称为块间联系。

4、为什么要高内聚低耦合?高内聚低耦合是否意味着内聚越高越好,耦合越低越好?

1.并不是内聚越高越好,耦合越低越好,真正好的设计是在高内聚和低耦合间进行平衡,也就是说高内聚和低耦合是冲突的。

2.最强的内聚莫过于一个类只写一个函数,这样内聚性绝对是最高的。但这会带来一个明显的问题:类的数量急剧增多,这样就导致了其它类的耦合特别多,于是整个设计就变成了“高内聚高耦合”了。由于高耦合,整个系统变动同样非常频繁。

3.对于耦合来说,最弱的耦合是一个类将所有的函数都包含了,这样类完全不依赖其它类,耦合性是最低的。但这样会带来一个明显的问题:内聚性很低,于是整个设计就变成了“低耦合低内聚”了。由于低内聚,整个类的变动同样非常频繁。

4.真正做到高内聚、低耦合是很难的,很多时候未必一定要这样,更多的时候“最适合”的才是最好的,不过、审时度势、融会贯通、人尽其才、物尽其用,才是设计的王道。

posted @ 2021-06-25 12:55  unikaa  阅读(114)  评论(0)    收藏  举报