软件工程-第五章-总体设计
5. 总体设计
总体设计又称为概要设计或初步设计
5.1 设计过程
总体设计过程通常由两个主要阶段组成:
- 系统设计阶段:确定系统的具体实现方案
- 结构设计阶段:确定软件结构
典型的总体设计过程包括下述9个步骤:
- 设想供选择的方案
- 选取合理的方案
- 推荐最佳方案
- 功能分解
- 设计软件结构
- 设计数据库
- 制定测试计划
- 书写文档
- 审查和复审
5.2 设计原理
5.2.1 模块化
模块是由边界元素限定的相邻程序元素(例如,数据说明,可执行的语句)的序列,而且有一个总体标识符代表它。
模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
5.2.2 抽象
把相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。
抽象就是抽出事物的本质特性而暂时不考虑它们的细节。
5.2.3 逐步求精
逐步求精:为了能集中精力解决最主要问题而尽量推迟对问题细节的考虑。
逐步求精是人类解决复杂问题时采用的基本方法,也是许多软件工程技术的基础。
5.2.4 信息隐藏和局部化
信息隐藏:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说是不能访问的。
局部化:是指把一些关系密切的软件元素物理地放得彼此靠近。
5.2.5 模块独立
模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。
模块的独立程度可以由两个定性标准度量:
- 内聚
- 耦合
- 耦合:
耦合是对一个软件结构内不同模块之间互连程度的度量。
耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。
耦合程度强烈影响着系统的可理解性、可测试性、可靠性、可维护性。
设计原则:尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境的耦合的范围,