软件设计思考题
- 软件设计的目标及主要任务有哪些?
- 什么是模块(构件)化设计思想?
- 模块独立性的两个度量标准是什么?
- 内聚和耦合的含义是什么?各有那些种类?请举例说明每一类型。
- 为什么要高内聚和低耦合?高内聚低耦合是否意味着内聚越高越好,耦合越低越好呢?
1. 软件设计的目标及主要任务有哪些?
- 软件设计的目标:
- 软件系统设计是把
软件需求“变换”为用于构造软件的蓝图
。“输入”是需求分析各种模型元素,“输出”是软件设计模型和表示 - 软件设计阶段的基本目标是构造系统“
怎么做
”的模型描述。 - “设计先于编码”,这是软件工程“推迟实现”基本原则
- 软件系统设计是把
- 主要任务:
总体设计,也称为概要设计,软件结构设计,或高层设计
。体系结构设计
:定义软件模块(构件)及模块之间的关系;接口设计
:包括用户接口(界面)、外部接口、内部接口;数据设计
:软件涉及的数据结构、文件系统的结构、数据库的表结构等。软件详细设计,也称为(模块)过程设计,或低层设计
;模块内部细节设计
:包括模块所需的算法和数据结构等