2024/4/11大约 3 分钟
概述
软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。
【需求工程主要活动的阶段划分】
- 需求开发
- 需求获取
- 需求分析
- 形成需求规格【形成 SRS】
- 需求确认与验证【形成需求基线(经过评审的 SRS)
- 需求管理【变更控制、版本控制、需求跟踪、需求状态跟踪】
> 需求管理是对【需求基线】进行管理需求获取
需求分类

需求获取方法
| 方法 | 特点 |
|---|---|
| 用户面谈 | 1 对 1-3,有代表性的用户,了解主观想法,交互好。成本高,要有领域知识支撑。 |
| 联合需求计划(JRP) | 高度组织的群体会议,各方参与,了解想法,消除分歧,交互好,成本高。 |
| 问卷调查 | 用户多,无法一一访谈,成本低。 |
| 现场观察 | 针对较为复杂的流程和操作。 |
| 原型化方法 | 通过简易系统方式解决早期需求不确定问题。 |
| 头脑风暴法 | 一群人围绕新业务,发散思维,不产生新的观点。 |
需求开发-需求分析-SA

数据流图 DFD

状态转换图 STD

ER 图

UML 图

UML
UML 4+1 视图
架构的 1 叫场景,uml 的 1 是用例视图

需求定义
严格定义法
所有需求都能够被预先定义
开发人员与用户之间能够准确而清晰地交流
采用图形/文字可以充分体现最终系统
原型法
并非所有的需求都能在开发前被准确的说明
项目参加者之间通常都存在交流上的困难
需要实际的、可供用户参与的系统模型
有合适的系统开发环境
反复是完全需要和值得提倡的,需求一旦确定,就应遵从严格的方法
需求验证
需求追踪

需求变更管理
