第2章 需求分析
1. 需求分析流程
(1) 学习需求相关业务的领域知识,了解业务全局
- 明确业务概念
(2) 明确业务目标、场景及用例
- 业务用例(粗粒度):先列出业务参与者及参与者之间的关系、然后列出主要业务用例 => 从全局视角分解业务
- 用例场景(细粒度):描述具体场景的行为序列,包括正常序列和错误序列 => 洞悉业务细节
(3) 构建业务模型,将业务可视化表达
- 从业务本身出发,分析业务边界范围内的各种业务概念,以及业务概念之间的关系。
- 业务模型属于问题空间模型,用来描述业务,而不是描述解决方案的。
(4) 梳理业务规则,确定需求细节
2. 需求分析的常用方法
(1) 功能分析法:以功能为中心来分析需求
- 功能性需求分析:完整性、一致性、无歧义、规范化
- 非功能性需求分析:稳定性、安全性、兼容性、异常补偿、设计约束
(2) 数据流分析法:分析软件需求问题空间中数据如何流动以及在各个环节上进行何种处理。
- 数据流图的绘制包括3个步骤:绘制背景板、绘制第一层数据流图、绘制第二层数据流图。书中以12306系统为例详细说明了数据流图的绘制过程。
3. 需求分析的重点和难点
(1) 统一语言:维护术语表
(2) 数据分析:为了提取有用信息和形成结论而对数据进行详细研究和概括总结的过程。
-
需要注意以下几点:
-
- 分析目标:对非确定性问题进行数据分析,需要先提出假设,再验证假设,不要做无目标的数据分析。
- 背景信息:进行数据分析时,要关注业务背景信息。
(3) 细节陷阱:真正决定成败的不是细节而是关键
- 细节和关键的最大区别在于,任何事物所包含的细节几乎都是无限的,但是其中只有部分重要的细节足以支撑起事物的主要属性,这几个重要的细节就是关键。
- 这个世界的细节是无限的,若寄希望于以有限的人力去改造无限的细节,则必然分散对核心目标的专注力,最终导致失败。