软件设计的任务
结构设计原则:
A、显著改进软件结构,提高模块独立性
B、模块规模应该适中
C、适当选择深度、宽度、扇出和扇入
D、模块的作用域应该在控制域之内
E、力争降低模块接口的复杂程度
F、设计单入口单出口的模块
G、模块功能应该可以预测
软件设计基础:
(1)自顶向下,逐步细化
(2)软件结构(模块结构+数据结构)
(3)程序结构
(4)结构图
①模块
②模块的调用关系和接口
③模块间的信息传递
④模块A有条件的调用模块B
(5)模块化——(模块独立性)——耦合;内聚
耦合:
弱耦合:非直接耦合,数据耦合,标记耦合
中耦合:控制耦合
较强耦合:外部耦合,公共耦合
强耦合:内容耦合
结论:尽量使用数据耦合,少用控制耦合,限制公共耦合,完全不用内容耦合。
内聚:
低内聚:巧合内聚,逻辑内聚,时间内聚
中内聚:过程内聚,通信内聚
高内聚:信息内聚,功能内聚
结论:高内聚,低耦合
(6)抽象化——数据抽象
(7)信息隐蔽
系统结构图中的模块:传入(物理输入à逻辑输出)、传出、变换(先输入再变换,先变换再输出)、协调
变换分析
事务分析
概要设计的过程:
(1)设计系统方案
(2)选取一组合理的方案
(3)推荐最佳实施方案
(4)功能分解
(5)软件结构设计
(6)数据库设计、文件结构设计
(7)制定测试计划
(8)编写概要设计文档
(9)审查与复审概要设计文档
设计的后处理:
(1)为每一个模块写一份处理说明
(2)为每一个模块提供一份接口说明
(3)确定全局数据结构和局部数据结构
(4)之处所有的设计约束和限制
(5)进行概要设计的评审