需求管理工具

自然语言的软件需求规格说明除了包括业务需求和使用实例的书面文档以外,还包含功能性和非功能性的需求。基于文档存储需求的方法有若干限制。例如:
>很难保持文档与现实的一致。

>通知受变更影响的设计人员是手工过程。

>不太容易做到为每一个需求保存增补的信息。

>很难在功能需求与相应的使用实例、设计、代码、测试和项目任务之间建立联系链。

>很难跟踪每个需求的状态。

需求管理工具多使用数据库保存与需求相关的信息,让你不必担心以上的问题。小一点的项目可以使用电子表格或简单的数据库管理需求,既保存需求文本,又保存它的几个属性。大项目可以从使用商业需求管理工具中获益,其中包括让用户从源文档中产生需求,定义属性值,操作和显示数据库内容,让需求以各式各样的形式表现出来,定义跟踪能力联系链,让需求同其他软件开发工具相连等功能。在考虑自行开发工具前先调查一下是否有可用的成熟工具。
 

即使你善于收集项目的需求,在开发过程中自动化的工具仍能可以帮助你处理这些需求。随着开发的进行,开发组成员慢慢记不清需求细节,这时需求管理工具就变得十分有用。

以下是一些工具可以帮你执行的任务:
1)
管理版本和变更项目应定义需求基线,基线是每个版本所包括的需求的集合。一些需求管理工具提供灵活的设定基线功能。这些工具可以自动维护每个需求的变动历史,这比手工操作要优越得多。可以记录变更决定的基本原则并可根据需要返回到以前的需求版本。通常这些工具包括一个内建的变动建议系统,它可以与变更请求所涉及的需求直接联系。

2) 存储需求属性对每一个需求应该保存一些属性,有关人员应能看到这些属性,选择合适的人员更新这些属性值。需求管理工具产生几个系统定义的属性(例如,需求创建日期和版本号),同时允许定义不同数据类型的其它属性。可以通过排序,过滤,查询数据库来显示满足属性要求的需求子集。

3) 帮助影响分析通过定义不同种类的需求,子系统的需求,单个子系统和相关系统部件—例如:例子、设计、代码和测试—等各个部分之间的联系链,工具可以确保需求跟踪。联系链可以帮助用来对特定需求所做的变动进行影响分析,即通过确定影响涉及的系统部件来做到这一点。最好的是这些工具可以查到功能需求的来源。

4) 跟踪需求状态利用数据库保存需求可以很容易知道某个产品包含的所有需求。在开发中跟踪每个需求的状态将可以支持项目的全程跟踪。当项目管理者知道某个项目的下一版本中的百分之五十五的需求已经验证过了,百分之二十八已经实现但还没有验证,百分之十七还没有实现时,他就对项目状况有了很好的了解。

5) 访问控制可以对个人、用户小组确定访问权限。绝大多数工具允许共享需求信息,对于地域上分散的组可以通过We b网页使用数据库。数据库在需求这一级别通过锁机制进行多用户管理。

6) 与风险承担者进行沟通典型的需求管理工具允许小组成员通过多线索电子对话讨论需求。当讨论达成一个新的结果时或某个需求修改后,自动电子邮件系统就会通知涉及的人员。

7) 重用需求由于在数据库中保存了需求,在其他项目或子项目中重用需求变为可能。还可以避免信息冗余。

在此我们把这些工具称为需求管理而不是需求开发工具。是因为这些工具不会帮助你确认未来的客户或者从项目中获得正确的需求。然而,你可以获得许多灵活性,可用来在整个开发期间管理需求的变动,使用需求作为设计、测试、项目管理的基础。这些工具不会代替已定义用来描述如何获取和管理需求的处理过程。尽管其他方法同样可以完成工作,但为了高效率就应该使用工具。不要试图把使用工具作为缺乏方法、训练或理解的补充。

从本文中可以获知使用需求管理工具的好处和需求管理工具一般所具有的功能。下表列出了一些这样的商业需求管理工具。

工具名称 厂商 下载网址 备注

RequisitePro

Rational Software Corporation http://www-306.ibm.com/software/rational/ 以文档为核心

Vital Link 

Compliance Automation, Inc., http://www.complianceautomation.com 以文档为核心

QSSrequireit

Quality Software, Inc., http://www.qssrequireit.com 以文档为核心
 
Caliber-RM

Borland, Inc.,

http://www.borland.com/us/products/caliber/ 以数据库为核心

DOORS

Telelogic, Inc., http://www.telelogic.com 以数据库为核心

RTM Workshop 

Integrated Chipware, Inc http://www.chipware.com 以数据库为核心

我们没有给出产品之间横向比较,因为这些工具更新速度较快。甚至价格、支持平台、卖主均变动频繁。可以使用表中的Web地址获得工具的最近信息,注意这些We b地址本身也可能变化。有关这些需求管理工具的特性比较及其它工具的介绍可以查阅系统工程国际委员会的网址http://www.incose.org
该网址上同时还提供了如何挑选需求管理工具的指导这些工具最大的区别是以数据库还是以文档为核心。以数据库为核心的产品(例如
Caliber- RMDOORS)把所有的需求、属性和跟踪能力信息存储在数据库中。依赖于这样的产品,数据库可以或是商业(通用)的或是专有的,关系型或面向对象的。可以从不同的源文档中产生需求,但结果都存在数据库中。在大多数情况下需求的文本描述被简单地处理为必须的属性。有一些产品可以把每个需求与外部文件相联系(微软的Word文件, Excel文件,图形文件,等等)。通过这些文件提供额外补充性的需求说明。

以文档为核心的方法使用WordAdobe公司的Frame Maker等字处理程序制作和存储文档。Requisite Pr o通过允许选择文档作为离散需求存储在数据库中以加强以文档为核心的处理方法的能力。只要需求存储在数据库中,你可以定义属性和跟踪能力联系链