7.10 章节概述
第 7 章“系统开发基础”是软件设计师考试中非常集中的工程方法章节。它把软件从立项、过程、开发模型、需求、设计、测试、维护到质量评价串成一条生命周期主线。复习时不要把每个名词孤立记忆,而要先定位它属于哪个阶段。
本章主线
mermaid
flowchart LR
A["软件工程基础<br/>生命周期/过程改进"] --> B["开发方法与模型<br/>瀑布/V/原型/螺旋/增量/敏捷"]
B --> C["需求分析<br/>需求分类/DFD/数据字典"]
C --> D["系统设计<br/>概要/详细/模块/UI/架构"]
D --> E["软件测试<br/>黑盒/白盒/阶段/McCabe"]
E --> F["维护与质量<br/>维护类型/文档/质量模型"]这条线能解决大多数选择题:题干给一个活动、产物或方法,先判断它处在生命周期中的哪一段,再判断具体概念。
高频考点分布
字幕里明确强调,考察较多的内容包括开发模型、McCabe 环路复杂度、数据流图与数据字典、白盒测试、系统设计任务、内聚耦合和维护类型。
| 高频程度 | 内容 | 复习要求 |
|---|---|---|
| 很高 | 开发模型 | 区分瀑布、V、原型、螺旋、增量、敏捷的适用场景 |
| 很高 | 系统设计与模块设计 | 掌握概要/详细设计任务,高内聚低耦合原则 |
| 很高 | 白盒测试与 McCabe | 会判断覆盖准则,会计算环路复杂度 |
| 较高 | DFD 与数据字典 | 会识别加工、数据流、数据存储和数据定义 |
| 较高 | 软件维护类型 | 会区分改正性、预防性、完善性、适应性 |
| 中等 | 文档与质量模型 | 会做分类和属性配对 |
开发模型的复习框架
开发模型是本章必考区域。不要死背定义,要抓“需求稳定性、风险、交付节奏、用户参与”。
| 模型 | 最关键特征 | 适用情境 | 容易混淆点 |
|---|---|---|---|
| 瀑布模型 | 阶段顺序清晰、文档驱动 | 需求明确、变更少 | 不适合需求频繁变化 |
| V 模型 | 开发阶段与测试阶段对应 | 强调早期测试计划 | 不是测试只能最后做 |
| 原型模型 | 先做可运行原型澄清需求 | 需求不明确、用户表达困难 | 原型可能是抛弃型或演化型 |
| 螺旋模型 | 原型 + 风险分析 | 大型、高风险项目 | 风险分析是核心关键词 |
| 增量模型 | 分批交付可用功能 | 需要尽早交付部分能力 | 每个增量都应可运行 |
| 喷泉模型 | 面向对象、阶段可迭代重叠 | OO 开发 | 不强调严格线性阶段 |
| 统一过程 UP | 用例驱动、架构中心、迭代增量 | 大型 OO 项目 | 近年考察相对少 |
| 敏捷方法 | 小步迭代、快速反馈、拥抱变化 | 需求变化快、强调协作 | 不是没有纪律和文档 |
需求与设计的边界
需求分析回答“系统要做什么”,系统设计回答“系统如何实现”。软考常用相邻阶段干扰。
| 题干关键词 | 所属阶段 |
|---|---|
| 功能需求、非功能需求、设计约束、需求规格说明书 | 需求分析 |
| 数据流图、数据字典、加工说明、判定表/判定树 | 需求建模与结构化分析 |
| 模块划分、软件结构、接口设计、数据库设计 | 概要设计 |
| 模块内部算法、数据结构、过程细节 | 详细设计 |
| 高内聚、低耦合、模块独立性 | 模块设计 |
| 人机界面三大黄金准则 | 界面设计 |
| 架构风格、系统总体组织 | 架构设计 |
测试与维护的边界
| 题干关键词 | 对应概念 |
|---|---|
| 等价类、边界值、错误推测、因果图 | 黑盒测试 |
| 语句覆盖、判定覆盖、条件覆盖、路径覆盖 | 白盒测试 |
| 单元、集成、系统、验收 | 测试阶段 |
| 桩模块、驱动模块 | 集成测试 |
| McCabe 环路复杂度 | |
| 修已发现错误 | 改正性维护 |
| 预防未来错误 | 预防性维护 |
| 增加功能、改善性能 | 完善性维护 |
| 适应环境变化 | 适应性维护 |
章节学习策略
- 先画生命周期主线,把每个概念贴到阶段上。
- 对开发模型做“适用场景”对比,而不是只背名称。
- 对需求和设计题,先问“做什么”还是“怎么做”。
- 对测试题,先判断黑盒/白盒,再判断具体方法。
- 对维护题,抓“修改原因”而不是只看“修改动作”。
- 对质量模型题,集中背属性和子属性配对。
例题
风险分析是核心特点的是:
模块划分和模块间接口设计主要属于:
本节小结
第 7 章要按生命周期复习。开发模型、系统设计、白盒测试、McCabe、维护类型是高频核心;文档和质量模型偏分类记忆。做题时先定位阶段,再匹配关键词,能明显降低混淆。