系统设计
2026/9/27大约 7 分钟
系统设计
1. 考点:软件设计的任务与活动
1.1 基本概念
阶段划分:
- 概要设计
- 详细设计
核心原则与方法:
- 抽象化
- 自顶而下、逐步求精
- 信息隐蔽
- 模块独立(高内聚、低耦合)
核心总结:
- 软件设计分为概要设计和详细设计两个阶段。
- 设计过程中遵循:抽象化、自顶而下逐步求精、信息隐蔽。
- 最终目标是实现模块独立,即高内聚、低耦合。
1.2 概要设计
设计软件系统总体结构:
- 采用某种设计方法,将一个复杂的系统按功能划分成模块;
- 确定每个模块的功能;
- 确定模块之间的调用关系;
- 确定模块之间的接口,即模块之间传递的信息;
- 评价模块结构的质量。
数据结构设计:
- 此处宜使用抽象的数据模型,详细阶段规定具体实现细节。
数据库设计:
- 概念设计、逻辑设计 、物理设计(如数据项存储要求、存取方法、索引的建立等)。
编写概要设计文档:
- 主要有概要设计说明书、数据库设计说明书、用户手册以及修订测试计划。
评审。
核心总结:
- 概要设计的核心是:划分模块、确定功能、确定调用关系、确定接口、评价质量。
- 数据库设计包含:概念设计、逻辑设计、物理设计。
- 最终产出:概要设计说明书、数据库设计说明书、用户手册、修订测试计划,并经过评审。
1.3 详细设计
算法设计:
- 对每个模块进行详细的算法设计,用某种图形、表格和语言等工具将每个模块的处理过程的详细算法描述出来。
模块内数据结构设计:
- 对模块内的数据结构进行设计。
数据库物理设计:
- 对数据库设计进行物理设计,即确定数据库的物理结构。
其他设计:
- 代码设计、输入/输出格式设计、用户界面设计等。
编写详细设计说明书。
评审:
- 对处理过程的算法和数据库的物理结构都要评审。
核心总结:
- 详细设计的重点是:算法设计、模块内数据结构设计、数据库物理设计。
- 最终产出:详细设计说明书,并进行评审。
1.4 结构化设计的任务与活动
概要设计(模块的外部设计) :
- 体系结构设计:定义软件系统各主要部件之间的关系。
- 数据设计:基于 E-R 图确定软件涉及的文件系统的结构及数据库的表结构。
详细设计:
- 接口设计(人机界面设计) :软件内部,软件和操作系统间以及软件和人之间如何通信。
- 过程设计:系统结构部件转换成软件的过程描述。确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表达形式来描述各种算法。
核心总结:
- 概要设计 = 模块的外部设计,包含体系结构设计和数据设计。
- 详细设计 = 包含接口设计(人机界面设计) 和过程设计。
- 概要设计中的数据设计基于 E-R 图确定文件系统结构及数据库表结构。
- 详细设计中的过程设计确定各组成部分内的算法及内部数据结构。
2. 经典例题
2.1 题目一
题目: 概要设计文档的内容不包括( )。
- A、体系结构设计
- B、数据库设计
- C、模块内算法设计
- D、逻辑数据结构设计
【解析】
正确答案:C
解析说明:
关于选项 C(模块内算法设计) :模块内算法设计属于详细设计阶段的内容。详细设计会对每个模块进行详细的算法设计,用图形、表格和语言等工具将每个模块的处理过程详细描述出来。因此,模块内算法设计不属于概要设计文档的内容。
其他选项说明:
- A、体系结构设计:属于概要设计的内容,定义软件系统各主要部件之间的关系。
- B、数据库设计:属于概要设计的内容,包含概念设计、逻辑设计、物理设计。
- D、逻辑数据结构设计:属于概要设计的内容,概要设计阶段会进行数据设计(如基于 ER 图确定文件系统结构和数据库表结构)。
正确答案:C(模块内算法设计)。
2.2 题目二
题目: 软件详细设计阶段的主要任务不包括( )。
- A、数据结构设计
- B、算法设计
- C、模块之间的接口设计
- D、数据库的物理设计
【解析】
正确答案:C
解析说明:
关于选项 C(模块之间的接口设计) :模块之间的接口设计属于概要设计阶段的内容。概要设计的核心任务之一就是确定模块之间的调用关系和接口,即模块之间传递的信息。详细设计则聚焦于模块内部的实现细节,因此模块之间的接口设计不属于详细设计的主要任务。
其他选项说明:
- A、数据结构设计:属于详细设计的内容,即对模块内的数据结构进行设计。
- B、算法设计:属于详细设计的内容,对每个模块进行详细的算法设计,描述其处理过程。
- D、数据库的物理设计:属于详细设计的内容,对数据库设计进行物理设计,即确定数据库的物理结构。
正确答案:C(模块之间的接口设计)。
2.3 题目三
题目: 在采用结构化开发方法进行软件开发时,设计阶段接口设计主要依据需求分析阶段的( )。接口设计的任务主要是( )。
第一组选项:
- A、数据流图
- B、E-R图
- C、状态-迁移图
- D、加工规格说明
第二组选项:
- A、定义软件的主要结构元素及其之间的关系
- B、确定软件涉及的文件系统的结构及数据库的表结构
- C、描述软件与外部环境之间的交互关系,软件内模块之间的调用关系
- D、确定软件各个模块内部的算法和数据结构
【解析】
正确答案:第一空选 A,第二空选 C。
解析说明:
第一空:设计阶段接口设计主要依据需求分析阶段的( A ) 。
- 结构化开发方法中,需求分析阶段的核心产出是数据流图(DFD) ,它描述了数据的流动和加工变换。设计阶段进行接口设计时,主要依据数据流图来划分模块和确定模块间的数据传递关系。
- B 错误:E-R 图用于数据建模,主要面向数据库设计。
- C 错误:状态-迁移图用于行为建模,主要面向实时/控制类系统。
- D 错误:加工规格说明是对数据流图中加工的详细说明,不是接口设计的主要依据。
第二空:接口设计的任务主要是( C ) 。
- 接口设计即人机界面设计,主要任务是描述软件与外部环境之间的交互关系,以及软件内模块之间的调用关系。
- A 错误:定义软件的主要结构元素及其之间的关系,属于体系结构设计的任务。
- B 错误:确定软件涉及的文件系统的结构及数据库的表结构,属于数据设计的任务。
- D 错误:确定软件各个模块内部的算法和数据结构,属于过程设计(详细设计)的任务。
正确答案:第一空 A(数据流图),第二空 C(描述软件与外部环境之间的交互关系,软件内模块之间的调用关系)。
