浅析需求开发.doc
浅析需求开发 摘要:需求开发是软件项目开发过程中十分重要的工作,也是项目最终能够取得成功的基础。本文参考其他的同行,总结了笔者这几年软件开发过程中所遇到的问题,针对问题提出相应的对策。关键词 :需求获取 需求开发 需求分析 引言 无论是 ERP 项目还是小型的软件开发领域,包含需求、设计、编码和测试四个阶段,其中需求是整个软件开发的最关键的一个输入,据统计,不成功的项目中有 30~40%的问题是由需求造成的。大量的研究表明需求阶段发现和纠正错误的代价是软件开发各阶段中成本最低的,越是后期的变更,成本越高,良好的需求开发对提高 软件成功率和避免失败具有重要的意义。 如何正确地获取用户的需求,围绕其进行管理,以便最终交付给用户符合其期望的产品是需求工程的任务。需求工程的研究产生了如 CMM(能力成熟度模型)、 UML(统一建模语言)、 RUP( Rational 统一建模过程)、 CASE(用例)等管理方法和开发工具,软件思想家温伯格( Gerald M.Weinberg )先生指出“ CMM 只是一种标准, UML也只是一种记录需求的工具,而不是捕获需求的方法,需求的管理主要还是靠经验”。准确而有效获取用户需求、精确表述用户需求并得到用户认可,是软 件项目开发成功的最重要的里程碑之一。本文针对需求开发中存在的风险进行探讨总结,整理出其预防措施,期望以后对软件项目的需求分析进行风险预防、控制等提供参考。 一、什么是需求 ? 1997 年 IEEE 软件工程标准词汇表对软件需求的定义为:用户解决问题或达到目标所需的条件或能力。系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。用通俗地说,“需求”就是用户的需要,包括用户要解决的问题、达到的目标,以及实现这些目标所需要的条件,表现形式一般为文档形式。需求分为需求开发和需求管理,而需求开发 又分为需求获取、需求分析、编写规格说明书和需求验证。如图 1所示,整个活动构成软件开发生命周期的需求分析阶段。如何帮助用户提出准确的需求、理解和分析用户环境是需求获取的过程。为问题涉及的信息、功能及行为建立模型并将用户需求精确化、完全化是需求分析的过程,最终形成需求规格说明书是编写规格说明书的过程,将需求说明书交付用户并得到用户认可是需求验证的过程。需求获取、分析、编写需求规格说明和需求验证并不遵循线性的顺序,这些