7.4 需求分析 (4课时)
本课核心知识点整理
需求分析是从“用户说法”到“系统规格”的翻译
规划和计划之后,项目组要和用户沟通“对方到底要什么”。这就是需求工程要解决的问题。软件设计师考试更重视需求分析:识别问题、分析冲突、综合需求,最终形成可评审、可设计、可测试的需求规格说明书。
课堂强调:需求分析在考试中基本属于必考内容,通常约 1 到 3 分;高频点包括需求概念与分类、数据流图、数据字典及加工逻辑工具。数据流图还会在下午题试题一中继续深入。
四课时主线
| 小节 | 重点 | 做题入口 |
|---|---|---|
| 7.4.1 | 需求分析任务、产物、评审 | SRS、DFD、数据字典、加工逻辑 |
| 7.4.2 | 需求基本概念 | 需求分析解决“做什么” |
| 7.4.3 | 需求分类 | 业务/用户/系统需求,功能/非功能/约束 |
| 7.4.4 | 需求分析工具 | DFD、数据字典、结构化语言、判定表、判定树 |
需求分析的核心产物
| 产物 | 作用 |
|---|---|
| 需求规格说明书 SRS | 正式描述系统需求,作为设计、编码、测试和验收依据 |
| 数据流图 DFD | 描述数据在系统中的输入、加工、存储和输出 |
| 数据字典 DD | 解释 DFD 中数据流、数据项、数据存储、加工等名称含义 |
| 加工逻辑说明 | 说明基本加工内部如何处理,可用结构化语言、判定表、判定树 |
| 补充材料 | 对无法在图中表达清楚的细节进行补充 |
注意:软件体系结构图属于概要设计/架构设计阶段产物,不属于需求分析阶段典型输出。
需求错误为什么代价高
需求分析回答“做什么”。如果这里错了,后面的设计、编码、测试可能都在实现错误目标。越晚发现需求错误,返工越大。
| 错误发生处 | 后果 |
|---|---|
| 用户需求冲突未发现 | 设计时无法同时满足不同用户 |
| 非功能需求遗漏 | 架构无法满足性能、安全、并发要求 |
| 设计约束遗漏 | 选错平台、数据库或违反法规 |
| DFD 名称不清 | 下午题填空、后续设计和沟通都会受影响 |
例题
结构化需求分析的典型产物包括:
识别问题域、分析冲突并形成需求规格说明书,属于:
自查要点
- 需求分析为什么回答“做什么”而不是“怎么做”?
- 需求规格说明书对后续设计和测试有什么作用?
- 结构化需求分析的三个主要结果是什么?
- 为什么软件体系结构图不是需求分析阶段产物?
- 数据流图为什么会同时影响上午题和下午题?