摘要:需求管理是整个软件工程的管理的基拙,也是项目成功的关健所在。本文论述了软件项目中需求管理的重要性及存在的问题,并针对这些问题提出相关解决方法。
关键词:软件工程需求 管理软件项目
1背景
1. 1需求管理的概念
理解需求管理的第一步就是对什么是需求管理达成共识。Rational把需求定义为“(正在构建的)系统必须符合的条件或具备的功能”。
由于需求是正在构建的系统必须符合的事务,而且符合某些需求决定了项目的成功或失败,因此找出需求是什么,将它们记下来,进行组织,并在发生变化时对它们进行追踪,这些活动都是有意义的。换句话说,需求管理就是:一种获取,组织并记录系统需求的系统化方案,以及一个使客户与项目团队对不断变更的系统需求达成并保持一致的过程。
1.2需求管理在软件项目管理中的地位
简单地说,系统开发团队之所以管理需求,是因为他们想让项目获得成功。满足项目需求即为成功打下了基础。若无法管理需求,达到目标的几率就会降低。以下最近收集的证据很有说服力:Standish Group从1994年到2001年的CHAOS Reports证实,导致项目失败的最重要的原因与需求有关。2001年,Standish Group的CHAOS Reports报导了该公司的一项研究,该公司对多个项目作调查后发现,百分之七十四的项目是失败的,即这些项目不能按时按预算完成。其中提到最多的导致项目失败的原因就是“变更用户需求”。
在软件项目的开发过程中,需求变更贯穿了软件项目的整个生命周期,在软件项目管理中需求工程是软件开发的第一步,是关键的一步,也是最难把握的一步。需求管理做得好坏直接影响到软件的质量,甚至软件项目的成败。从软件的项目立项、研发、维护,用户的经验在增加,对使用软件的感受有变化,以及整个行业的新动态,都为软件带来不断完善功能、优化性能、提高用户友好性的要求。在项目管理过程中,项目经理经常面对用户的需求变更,如果不能有效处理这些需求变更,项目计划会一再调整,软件交付日期一再拖延,项目研发人员的士气将越来越低落,将直接导致项目成本增加、质量下降及项目交付日期推后。这决定了项目组必须拥有需求管理策略。
2需求管理现状
随着信息时代的发展,计算机软件的需求愈来愈复杂,规模愈来愈大,而且随着企业的发展,工作过程重组,需求变更已愈来愈成为必然。软件危机持续了30年之久,至今仍无法得以很好地解决。究其原因,软件本身具有的特点固然有关,但长期以来,缺乏软件开发和维护的正确方法以及忽视软件开发过程的质量控制乃是最为关键的原因。其中软件开发和维护方法的不正确性主要体现在:忽视软件开发前期的需求分析;开发过程缺乏统一的、规范化的方法论的指导;文档资料不齐全或不准确;忽视与用户之间、开发组员之间的交流;忽视测试的重要性;不重视维护或由于上述原因造成维护工作的困难。
这样,就经常出现用户对“已完成”系统不满意,软件产品的质量经常出现漏洞,补丁一大堆。因此人们意识到以工程化的原则和方法组织软件开发工作是解决软件危机的一个主要出路。
需求分析作为软件生命周期的第一个阶段,并贯穿于整个软件生命周期,其重要性越来越突出,到20世纪80年代中期,逐步形成了软件工程的子领域—需求工程。进人20世纪90年代后,需求工程成为软件界研究的重点之一。从1993年起,每两年举办一次需求工程国际研讨会(ISRE) ,1994年起,每两年举办一次需求工程国际会议(ICRE)。一些关于需求工程的工作小组相继成立。
3存在的问题
3. 1需求描述