在全球软件业高速发展的今天@@,软件项目的实施情况却不甚理想@@。据统计@@,约@@80%~90%信息化投资没有达到预期目标@@,80%的项目超期或@@超预算@@,40%的项目以失败告终@@,只有不足@@25%的项目达到预期的技术和业务目标@@。这种局面的出现是与软件项目本身所蕴含的诸多风险密切相关的@@,如技术风险@@、管理风险@@、需求风险等@@;而能够对需求风险进行有效控制则是决定整个项目成败的关键@@。

  企业信息化@@项目中存在的主要需求风险@@

  1.软件需求的定义和层次@@@@

  什么是软件需求呢@@?关于这个概念有各种各样的定义@@,IEEE软件工程标准@@词汇表@@(1997)中定义需求为@@:

  (1)用户解决问题或@@达到目标所需的条件或@@权能@@(Capability)。

  (2)系统或@@系统部件要满足合同@@、标准@@、规范或@@其它正式规定文档所需具有的条件或@@权能@@。

  (3)一种反映上面@@(1)或@@(2)所描述的条件或@@权能的文档说明@@。

  这个定义包括了从用户角度和开发者角度来阐述需求@@;另外一种定义是从系统外部出发认为需求是@@“用户所需要的并能触发一个程序或@@系统开发工作的说明@@”(Jones 1994)。下面的定义则从用户需要进一步转移到系统特性@@( Sommerville and Sawyer 1997):需求是指明必须实现什么的规格说明@@。它描述了系统的行为@@、特性或@@属性@@,是在开发过程中对系统的约@@束@@。

  从上面这些定义可以看出@@,人们可以从不同角度去理解和描述需求@@,而关键是参与项目的人员能够针对需求描述达成清晰一致的共识@@。此外@@,软件需求又划分为业务需求@@@@、用户需求@@和功能需求@@三个层次@@@@,业务需求@@(Business Requirement)反映了组织机构或@@客户对系统@@、产品高层次@@的目标要求@@,用户需求@@(User Requirement)描述了用户使用产品必须完成的任务@@,功能需求@@(Functional Requirement)定义了开发人员必须实现的软件功能@@。这种层次@@的划分体现出了需求从抽象到具体@@、从系统外部到内部的逐级转化过程@@。对于软件开发人员来说最终必须获得准确详细地功能需求@@描述@@,而客户经常会认为只要将业务需求@@或@@用户需求@@描述出来就足够了@@,从而使最终开发人员获取的需求信息不够充分@@,或@@与客户的期望产生差异@@。

  2.软件需求的重要性@@

  对于软件开发工作来说@@,其原始驱动力来自于用户的需求@@,而非软件开发技术本身@@。软件或@@信息系统只是辅助人们完成某项工作任务的工具@@,必须依靠使用者告诉它要做什么和怎么做@@,且每一细节规则的定义必须是明确具体的@@,才能使整个信息系统正常运转起来@@。因此软件需求是软件开发工作的一个最重要的输入@@。

  在判断一个软件项目是否成功时@@,一般从以下几方面来衡量@@:

  (1)项目是否达到预期目标@@;

  (2)项目的实施是否使工作效率得到提升@@;

  (3)软件的使用者是否有良好的感受@@;

  (4)项目成本和工期是否控制在计划之内@@。

责任编辑@@:admin