Skip to content
难度重点
建议时长45分钟

7.4.1 需求分析知识点概述

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

需求分析的任务

需求分析主要是对问题域进行分析,解决“系统要做什么”的问题。它不是简单记录用户原话,而是要识别问题、分析冲突、综合多个用户和业务视角,形成可确认的需求文档。

活动说明
识别问题当前业务或系统到底有什么问题要解决
分析与综合哪些需求冲突,哪些需求可以合并,哪些需求需要澄清
建模表达用 DFD、数据字典、加工逻辑等工具表达需求
形成文档形成需求规格说明书 SRS
评审确认邀请甲方/用户方等相关人员确认、签字、形成基线

课堂提到“评审”时要注意:凡是评审,一般意味着第三方或相关方参与,不是开发人员自己看一遍。

SRS 是需求分析的核心文档

需求规格说明书通常简称 SRS。它要把模糊需求转成明确、可实现、可验证的规格。

SRS 作用解释
设计依据设计阶段根据 SRS 做系统结构和模块设计
测试依据测试用例要验证系统是否满足 SRS
验收依据用户确认交付系统是否达到约定需求
变更依据后续需求变更要基于已确认的需求基线管理

需求工程的两大部分

部分内容
需求开发需求获取、需求分析、需求规格说明、需求验证
需求管理需求跟踪、需求变更控制、版本和基线管理

本课程当前重点放在需求分析和结构化分析结果上。

结构化需求分析的结果

结果说明
数据流图以图形方式描述数据如何流动和被加工
数据字典解释数据流图中名词类元素的含义和组成
加工逻辑说明解释基本加工内部的处理动作
补充材料说明图和字典难以表达的约束或背景

数据字典主要解释“名词”,例如数据流、数据项、数据存储;加工逻辑说明更偏“动作”,例如某个加工如何判断、计算、更新。

与其他阶段产物的区别

产物更可能属于
数据流图、数据字典需求分析
实体联系图 ER 图数据建模,可在需求分析或数据库概念设计中出现
软件体系结构图概要设计/架构设计
详细算法和内部数据结构详细设计

课堂真题提醒:ER 图可能与数据库设计章节关联,但在整体需求分析中也可能用于表达实体数据需求;软件体系结构图则明显不是需求分析阶段产物。

例题

单选
需求分析阶段形成的核心文档通常是:
单选
下列通常不属于需求分析阶段输出的是:

自查要点

  1. 需求分析为什么要进行评审?
  2. SRS 对设计、测试和验收分别有什么作用?
  3. 数据流图、数据字典、加工逻辑说明分别解释什么?
  4. ER 图为什么可能出现在需求分析相关题中?
  5. 需求开发和需求管理有什么区别?