目录
总体设计的任务:
1、将系统划分成物理元素——程序、文件、数据库和文档等。
2、设计软件结构——将需求规格转换为体系结构,划分出程序的模块组成、模块间的相互关系。确定系统的数据结构、文件结构、数据库模式、确定测试方法与策略。
3、编写文档-总体设计说明书、用户手册、 测试计划,用结构图来描述软件结构,选择分解功能与划分模块的设计原则。
总体设计的步骤:
1、设计供选择的方案
2、提供最佳实现方案
3、设计软件结构
4、数据库设计
5、制定测试计划
6、编写总体设计文档
7、审查与复审总体设计文档
总体设计的概念:
模块化:
使用模块化设计的作用为,降低系统的复杂性。方便修改;推动系统各个部分秉性开发,提高软件生产效率。有效的模块化可以通过定义一组相互独立的模块实现,这些独立的模块相互之间仅仅交换了那些为了完成系统功能所必须交换的信息。
抽象:
把事务之间的共性集中和概括起来,忽略它们之间的差异。抽象出事物的本质特性而暂时不考虑它们之间的细节。通过抽象,可以确定组成软件过程的实体。
信息隐蔽:
每一模块的实现细节对于其他模块来说是隐蔽的,也就是说模块中所包含的信息不允许其他不需要这些信息的模块调用。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。
模块独立性:
是模块化、抽象和信息隐蔽的直接结果。
模块的独立性可以用两个定性标准度量:耦合和内聚。
模块独立性较强的模块应该是高内聚低耦合的模块。
结构设计准则:
1、提高模块独立性
2、选择合适的模块规模
3、适当选择模块的深度、宽度、扇入和扇出。
4、模块的作用范围应控制在范围之内。
5、降低模块接口的复杂程度。
6、设计单入口单出口且功能可预测的模块。