7.5.2 系统设计概述
本课核心知识点整理
系统设计可以按任务再细分
除了“概要/详细”这条主线,系统设计还可以从任务角度分为体系结构设计、数据设计、接口设计和过程设计。
| 任务 | 主要内容 | 更偏哪个层次 |
|---|---|---|
| 体系结构设计 | 定义软件系统主要部件及其关系 | 概要设计 |
| 数据设计 | 数据建模、全局数据库、逻辑数据结构、局部数据结构 | 概要和详细都有 |
| 接口设计 | 软件与外部环境、用户、模块之间的交互 | 跨概要和详细 |
| 过程设计 | 内部算法、处理过程、局部数据结构 | 详细设计 |
考试经常不是问名词定义,而是给一个任务描述,让你判断属于哪类设计。
概要设计文档不包括什么
概要设计文档通常包括体系结构、总体框架、任务分布、全局数据库和全局逻辑数据结构设计。模块内部算法设计属于详细设计,不属于概要设计。
| 内容 | 判断 |
|---|---|
| 体系结构总体框架 | 概要设计 |
| 全局数据库和逻辑数据结构 | 概要设计可包含 |
| 模块之间接口关系 | 概要设计可包含 |
| 模块内部算法和数据结构 | 详细设计 |
课堂提醒:很多同学看到“数据结构”就以为一定是详细设计。要看是全局逻辑数据结构,还是模块内部数据结构。
设计工具只需了解名称
软件设计工具不少,但软件设计师考试中较少深入考具体使用:
| 工具 | 用途 |
|---|---|
| PDL | 伪代码描述语言 |
| PAD | 问题分析图 |
| 程序流程图 | 描述处理流程 |
| N-S 图 | 结构化程序图,避免任意跳转 |
当前重点仍是阶段任务和设计原则。
例题
描述软件与外部环境之间的交互关系,以及软件内部模块之间的调用关系,属于:
概要设计文档通常不包括:
自查要点
- 架构设计、数据设计、接口设计、过程设计分别关注什么?
- 为什么全局数据设计可以出现在概要设计中?
- 模块内部算法为什么属于详细设计?
- PDL、PAD、程序流程图、N-S 图分别是什么类型的工具?
- 做题时如何区分“全局”和“局部”?