第8章 需求分析 阅读笔记
软件需求
软件团队如何要准确而全面地找到这些需求主要有以下几个步骤:
1. 获取和引导需求(Elicitation)
2. 分析和定义需求(Analysis & Specification)
3. 验证需求(Validation)
4. 在软件产品的生命周期中管理需求(Management)
对软件的需求,也可以从不同角度做下面的划分:
1. 对产品功能性的需求:要求产品必须实现某些功能。
2. 对产品开发过程的需求:要求软件的开发流程必须满足某些约束条件。
3. 非功能性需求:这也叫“服务质量需求”(Quality of Service Requirement)。
4. 综合需求:有些需求并不是单单一个软件模块就能满足。
软件产品的利益相关者
(用户、顾客、软件工程师)
获取用户需求——用户调查
软件开发的过程,就是“用户最需要的东西”在下面这一链条中传送、转换、实现、扭曲或丢失的过程。用户最需要的>用户表达出来的>软件团队能理解的 + 团队的商业目标>软件团队成员具体表达出来的(PM写Spec)>在各种约束条件下,具体执行表达出来的(Dev写代码)>验证通过的(Test)>通过各种渠道告诉目标用户(发布/推广)>用户终于能用上了,但是他们不满意。
竞争性需求分析的框架
1. N(Need,需求)
2. A(Approach,做法)
3. B(Benefit,好处)
4. C(Competitors,竞争)
5. D(Delivery,推广)
功能的定位和优先级