论文部分内容阅读
需求,是项目初始估计和初始计划的基础,同时也是产品开发和产品验证的基础,整个开发活动都要围绕它来进行,一个项目成功与否往往取决于它是否符合需求。根据Standish Group从1994到1997年的CHAOS Reports证实,导致项目失败的最重要的原因与需求有关。需求管理,简单地说,就是记录并管理需求、跟踪需求变更,其目的是在客户和解决客户需求的软件项目之间,建立对客户需求的共同理解,并形成评估、计划、实施和跟踪整个软件生命周期中软件项目活动的基础。它在国际质量标准——ISO9000和CMM中具有重要的位置。在本文中,“需求管理”指的是需求工程中的所有活动,它包含了一般意义上的需求开发和需求管理阶段,涵盖了需求获取、需求分析、需求变更、需求跟踪等所有过程。 要解决需求管理过程中的问题,使用需求管理工具是一个很好的途径。在本文中简要介绍了需求的两种生命周期模型——RDEM模型和REPEAT模型,并在这两种模型的基础上,摒弃它们的缺点,提出了一种以基线为中心的进程迭代的需求生命周期模型,基于这种生命周期模型设计实现了需求管理工具。该工具具有与需求生命周期紧密结合的业务流程,对需求生命周期中的属性进行跟踪和管理;并且在管理需求的变更时围绕需求基线进行,使变更变得可控;能够层次性的获取业务需求、用户需求和功能需求,并形成需求跟踪链。而在技术方面由于软件开发中需求的内容丰富,格式多样,不仅有文本信息,还有图片、表格等非文本信息。为了管理这些信息,该工具采用了Oracle数据库中的CLOB类型的字段来保存这些信息。在实现需求跟踪时,为了处理需求和原始需求、设计、实现、测试等过程的复杂关系,工具采用了以需求为中心,其他文档均看作是需求的扩展文档的方法。需求中包含其他文档的编号作为索引,并在数据库中使用一个关联关系表来表示需求和其他扩展文档的关联关系,两者之间可以根据编号相互查找,从而达到双向跟踪的目的。本文的第五章详细论述了该工具的设计和实现内容,其中对需求管理模块做了重点阐述,这个模块包含了管理流程的各个阶段:从需求获取到需求发布,以及之后的需求跟踪,它与文中所述的需求管理理论是相对应的。最后是对该工具进行测试的简单说明。