系统设计
把软件 做什么 的逻辑模型转换成 怎么做 的物理模型,即着手实现软件系统的需求
目的
为系统制定蓝图,在各种技术和实施方法中权衡利弊,精心设计,合理地使用各种资源,最终勾画出新系统的详细设计方案。
结果
一系列系统设计文档
设计方法分类
常用的设计方法有以下两种:
- 面向 数据流 的结构化设计方法(SD)。
- 面向对象 的分析方法(OOD)。
步骤
- 概要设计
- 详细设计
概要设计
特点
- 抽象化
- 自顶而下、逐步求精
- 信息隐蔽
- 模块独立 (高内聚、低耦合)
注意: 模块与模块之间的关系,不需要设计模块内详细内容
主要内容
包括:
- 设计软件系统总体结构:划分模块
- 数据结构设计
- 数据库设计,如:E-R模型
- 编写概要设计文档:
- 有概要设计说明书
- 数据库设计说明书
- 用户手册
- 修订测试计划
- 评审
设计软件系统总体结构 - 模块划分
采用某种设计方法,将一个复杂的系统按功能划分成模块;
- 确定每个 模块的功能;
- 确定 模块之间的 调用关系;
- 确定模块之间的 接口,即模块之间 传递的信息;
- 评价模块结构的质量
注意:不需要设计 模块内部
数据结构设计
使用抽象的数据模型,细化数据组成、操作约束、数据之间的关系
详细设计阶段规定具体的实现细节
数据库设计
- 概念设计:E-R模型
- 逻辑设计:结合DBMS建立数据库逻辑结构
- 物理设计:针对 DBMS 、物理环境进行设计,如:数据项存储要求、存取方法、索引的建立等
编写概要设计文档
主要有:
- 概要设计说明书
- 数据库设计说明书
- 用户手册
- 修订测试计划
评审
对设计部分进行一一评审
详细设计
特点
抽象化
自顶而下、逐步求精
信息隐蔽
设计模块内部细节
主要内容
- 模块
- 数据结构设计
- 数据库设计
- 其他设计
- 编写详细设计说明书
- 评审
模块
对每个模块进行 详细的算法设计,用某种图形、表格和语言等工具将每个模块的处理过程的详细算法描述出来。(伪代码)
数据结构设计
对 模块内 的数据结构进行设计。
数据库设计
对数据库进行 物理设计,即确定数据库的物理结构。
其他设计
- 代码设计
- 输入/输出格式设计
- 用户界面设计
编写详细设计说明书
评审
对处理过程的算法和数据库的物理结构都要评审。
题
概要设计文档的内容不包括( )
A、体系结构设计
B、数据库设计
C、模块内算法设计
D、逻辑数据结构设计
答案
C
题
软件详细设计阶段的主要任务不包括( )
A、数据结构设计
B、算法设计
C、模块之间的接口设计
D、数据库的物理设计
答案
C