总体设计
总体设计的基本目的就是回答“系统应该如何实现”这个问题。
任务:
1、方案设计
2、系统划分
3、设计软件的结构
设计过程
通常分为两个阶段:结构设计阶段,确定软件结构
包括9个步骤:
- 设想供选择的方案
- 选取合理的方案
- 推荐最佳方案
- 功能分解
- 设计软件结构
- 设计数据库
- 制定测试计划
- 书写文档
- 审查和复审
设计原理
- 模块化
把程序化分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成制定的功能满足用户的需求 - 抽象
就是抽出事物的本质特性而暂不考虑它们的细节 - 逐步求精
逐步求精方法确保每个问题都将被解决,而且每个问题都将在适当的时候被解决,但是,在任何时候一个人都不需要同时处理7个以上知识块
抽象和求精是一对互补的概念
抽象使得设计者能够说明过程和数据,同时却忽略低层细节
求精则帮助设计者在设计过程中逐步揭示出低层细节 - 信息隐藏和局部化
信息隐藏原理:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。
局部化:把一些关系密切的软件元素物理地放得彼此靠近 - 模块独立
(1)耦合
(2)内聚
启发规则
描绘软件结构的图形工具
层次图和HIPO图
层次图:
HIPO图:带标号的层次图
和H图中每个方框相对应,应该有一张IPO图描绘这个方框代表的模块的处理过程。
结构图
面向数据流的设计方法
概念
变换分析
事务分析
混合分析