用户解决某一问题或达到某一目标所需的软件功能。
系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。”[3]
什么是需求管理?
由于需求是正在构建的系统必须符合的事务,而且符合某些需求决定了项目的成功或失败,因此找出需求是什么,将它们记下来,进行组织,并在发生变化时对它们进行追踪,这些活动都是有意义的。
换句话说,需求管理就是:
一种获取、组织并记录系统需求的系统化方案,以及一个使客户与项目团队对不断变更的系统需求达成并保持一致的过程。
这个定义与 Dorfman 与 Thayer 以及 IEEE 的“软件需求工程”的定义相似。需求工程包括获取、分析、规定、验证和管理软件需求,而“软件需求管理”则是对所有相关活动的规划和控制[4]。这里介绍的以及 Rational Software 提出的需求管理定义包括了所有这些活动。它们的区别主要在于这里选用了“管理”这个词,而不是“工程”。管理这个词更合适用来描述所有涉及到的活动,并且它准确地强调了追踪变更以保持涉众与项目团队之间共识的重要性。
对那些不熟悉“引出”这个词的人来说,它可定义为团队用来获取或发现涉众请求,确定请求后隐藏的真正需要,以及为满足这些需要对系统提出的一组适当需求。
需求管理问题
一个目的在于确保系统符合人们对其期望的流程面临着哪些困难呢?当它真正在实际项目实施时,困难就暴露出来了。图 1 显示了 1996 年对开发人员、经理和质量保证人员所做的一次调查结果。该图显示了经历过最常提到的需求相关难题的受访者比例。
图 1 - 常见的需求问题
下面列出了更多与需求有关的问题:
1 需求不总是显而易见的,而且它可来自各个方面。
2 需求并不总是容易用文字明白无误地表达。
3 存在不同种类的需求,其详细程度各不相同。
4 如果不加以控制,需求的数量将难以管理。
5 需求相互之间以及与流程的其他可交付工件之间以多种方式相关联。
6 需求有唯一的特征或特征值。例如,它们既非同等重要,处理的难度也不同。
文章来源于领测软件测试网 https://www.ltesting.net/