7.4.1 需求分析知识点概述
本课核心知识点整理
需求分析的任务
需求分析主要是对问题域进行分析,解决“系统要做什么”的问题。它不是简单记录用户原话,而是要识别问题、分析冲突、综合多个用户和业务视角,形成可确认的需求文档。
| 活动 | 说明 |
|---|---|
| 识别问题 | 当前业务或系统到底有什么问题要解决 |
| 分析与综合 | 哪些需求冲突,哪些需求可以合并,哪些需求需要澄清 |
| 建模表达 | 用 DFD、数据字典、加工逻辑等工具表达需求 |
| 形成文档 | 形成需求规格说明书 SRS |
| 评审确认 | 邀请甲方/用户方等相关人员确认、签字、形成基线 |
课堂提到“评审”时要注意:凡是评审,一般意味着第三方或相关方参与,不是开发人员自己看一遍。
SRS 是需求分析的核心文档
需求规格说明书通常简称 SRS。它要把模糊需求转成明确、可实现、可验证的规格。
| SRS 作用 | 解释 |
|---|---|
| 设计依据 | 设计阶段根据 SRS 做系统结构和模块设计 |
| 测试依据 | 测试用例要验证系统是否满足 SRS |
| 验收依据 | 用户确认交付系统是否达到约定需求 |
| 变更依据 | 后续需求变更要基于已确认的需求基线管理 |
需求工程的两大部分
| 部分 | 内容 |
|---|---|
| 需求开发 | 需求获取、需求分析、需求规格说明、需求验证 |
| 需求管理 | 需求跟踪、需求变更控制、版本和基线管理 |
本课程当前重点放在需求分析和结构化分析结果上。
结构化需求分析的结果
| 结果 | 说明 |
|---|---|
| 数据流图 | 以图形方式描述数据如何流动和被加工 |
| 数据字典 | 解释数据流图中名词类元素的含义和组成 |
| 加工逻辑说明 | 解释基本加工内部的处理动作 |
| 补充材料 | 说明图和字典难以表达的约束或背景 |
数据字典主要解释“名词”,例如数据流、数据项、数据存储;加工逻辑说明更偏“动作”,例如某个加工如何判断、计算、更新。
与其他阶段产物的区别
| 产物 | 更可能属于 |
|---|---|
| 数据流图、数据字典 | 需求分析 |
| 实体联系图 ER 图 | 数据建模,可在需求分析或数据库概念设计中出现 |
| 软件体系结构图 | 概要设计/架构设计 |
| 详细算法和内部数据结构 | 详细设计 |
课堂真题提醒:ER 图可能与数据库设计章节关联,但在整体需求分析中也可能用于表达实体数据需求;软件体系结构图则明显不是需求分析阶段产物。
例题
需求分析阶段形成的核心文档通常是:
下列通常不属于需求分析阶段输出的是:
自查要点
- 需求分析为什么要进行评审?
- SRS 对设计、测试和验收分别有什么作用?
- 数据流图、数据字典、加工逻辑说明分别解释什么?
- ER 图为什么可能出现在需求分析相关题中?
- 需求开发和需求管理有什么区别?