`
bolutes
  • 浏览: 870434 次
文章分类
社区版块
存档分类
最新评论

软件需求开发与管理

 
阅读更多

需求开发与管理是软件项目中一项十分重要的工作,据调查显示在众多失败的软件项目中,由于需求原因导致的约占到45%,因此,需求工作将对软件项目能否最终实现产生至关重要的影响。虽然如此,在项目开发工作中,很多人对需求的认识还远远不够,从本人参与或接触到的一些项目来看,小到几十万元,大到上亿元的软件项目的需求都或多多少的存在问题。

有的是开发者本身不重视原因、有的是技术原因、有的是人员组织原因、有的是沟通原因、有的是机制原因,以上种种原因都表明做好软件需求开发是一项系统工作,而不是简单的技术工作,只有系统的了解和掌握需求的基本概念、方法、手段、评估标准、风险等相关知识,并在实践中加以应用,才能真正做好需求的开发和管理工作。

本文将通过介绍关于软件需求的基本知识和个人在实际工作中总结的一些经验,帮助读者了解软件需求,学习需求开发的一些基本方法,避免因需求原因而导致的项目失败。

1什么是软件需求和需求工程

1.1软件需求的定义

在IEEE软件工程标准词汇表(1997年)中定义软件需求为:

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

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

3)一种反映上面(1)或(2)所描述的条件或权能的文档说明。实通俗的讲,“需求”就是用户的需要,它包括用户要解决的问题、达到的目标、以及实现这些目标所需要的条件,它是一个程序或系统开发工作的说明,表现形式一般为文档形式。

1.2需求工程的定义

需求分析的过程,也叫做需求工程和需求阶段,它包括了需求开发和需求管理两个部分。需求开发是指从情况收集、分析和评价到编写文档、评审等一系列产生需求的活动,分为四个阶段:情况获取、分析、制订规格说明和评审。这四个阶段不一定是遵循线性顺序的,他们的活动是相互独立和反复的。需求管理是软件项目开发过程中控制和维持需求约定的活动,它包括:变更控制、版本控制、需求跟踪、需求状态跟踪等工作。

2需求分析的风险

由于需求分析的参与人员、业务模式、投资、时间等客观因素的影响和需求本身具有主观性和可描述性差的特点,因此,需求分析工作往往面临着一些潜在的风险。这些风险主要表现在:

1)用户不能正确表达自身的需求。在实际开发过程中,常常碰到用户对自己真正的需求并不是十分明确的情况,他们认为计算机是万能的,只要简单的说说自己想干什么就是把需求说明白了,而对业务的规则、工作流程却不愿多谈,也讲不清楚。这种情况往往会增加需求分析工作难度,分析人员需要花费更多的时间和精力与用户交流,帮助他们梳理思路,搞清用户的真实需求。

2)业务人员配合力度不够。有的用户日常工作繁忙,他们不愿意付出更多的时间和精力向分析人员讲解业务,这样会加大分析人员的工作难度和工作量,也可能导致因业务需求不足而使系统无法使用。

3)用户需求的不断变更。由于需求识别不全、业务发生变化、需求本身错误、需求不清楚等原因,需求在项目的整个生命周期都可能发生变化,因此,我们要认识到,软件开发的过程实际上是同变化做斗争的过程,需求变化是每个开发人员、项目管理人员都会遇到的问题,也是最头痛的问题,一旦发生了需求变化,就不得不修改设计、重写代码、修改测试用例、调整项目计划等等,需求的变化就像是万恶之源,为项目的正常的进展带来不尽的麻烦。

4)需求的完整程度。需求如何做到没有遗漏?这是一个大问题,大的系统要想穷举需求几乎是不可能的,即使小的系统,新的需求也总会不时地冒出来。一个系统很难确定明确的范围并把所有需求一次性提出来,这会导致开发人员在项目进展中去不断完善需求,先建立系统结构再完成需求说明,造成返工的可能性很大,会给开发人员带来挫折感,降低他们完成项目的信心。

5)需求的细化程度。需求到底描述到多细,才算可以结束了?虽然国家标准有需求说明的编写规范,但具体到某一个需求上,很难给出一个具体的指标,可谓仁者见仁,智者见智,并没有定论。需求越细,周期越长,可能的变化越多,对设计的限制越严格,对需求的共性提取要求也越高,相反,需求越粗,开发人员在技术设计时不清楚的地方就越多,影响技术设计。

分享到:
评论

相关推荐

    基于DOORS的软件需求开发与管理.pdf

    基于DOORS的软件需求开发与管理.pdf

    软件规划方案的需求开发与管理.docx.docx

    软件规划方案的需求开发与管理.docx.docx软件规划方案的需求开发与管理.docx.docx软件规划方案的需求开发与管理.docx.docx软件规划方案的需求开发与管理.docx.docx软件规划方案的需求开发与管理.docx.docx软件规划...

    软件开发需求管理工具资料

    软件开发需求管理工具资料

    《软件开发规范》——需求分析与管理

    如何对软件开发过程种的需求进行分析与管理

    软件开发的需求开发及需求管理

    软件开发的需求开发及需求管理 需求工程在软件开发中是一个首当其冲的问题。如果没有一个清晰、完善的需求分析,项目队伍或开发人员将为此付出不可估量的代价。有资料表明,许多问题都是由于收集、编写、协商、修改...

    需求开发与需求管理——消除软件开发百病之源

    1. 什么是需求 2. 了解客户、最终用户、...4. 需求开发的主要困难与对策 5. 如何开展需求调查 6. 如何进行需求分析 7. 什么是好的需求规格说明书 8. 如何定义产品需求 9. 需求管理:确认、跟踪、变更控制

    软件项目需求管理

    软件需求开发包括哪四个阶段,在这四个阶段执行哪些活动? 什么是软件需求规格说明?应如何编写?。 什么是软件需求变更管理,需求变更管理中有哪些活动? 试分析几种需求分析建模方法,并比较它们的优缺点。 什么是...

    需求开发与需求管理 项目管理

    需求开发与需求管理 项目管理 软件最为困难最为不可预知的环节啥?软件需求!

    软件需求需求管理开发入门书籍

    很不错的需求开发、需求管理书籍比较全面、实用

    软件需求与风险管理

    软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响。软件项目风险会影响项目计划的实现,如果项目风险变成现实,就有可能影响项目的进度,增加项目的成本,甚至使软件...

    软件需求管理计划

    4.1 需求管理(ReqM):一个使客户与项目团队对不断变更的软件需求达成并保持一致的过程,该过程保证分配给软件的需求是受控的,建立起供软件工程和管理使用的基线;软件计划、工作产品和活动与分配给软件的系统需求...

    软件开发项目需求变更申请表

    软件开发项目需求变更申请表

    需求开发与需求管理_SHBE.ppt

    需求开发与需求管理 —— 消除软件开发百病之源

    软件需求开发以及需求管理

    资料主要是描述了关于需求开发以及管理的相关内容。该部分内容主要来自网络,本着分享的原则,如有侵权行为,请告知,会在接到通知第一时间撤出该资源

    软件开发管理制度

    第四条 软件开发遵循项目...项目管理涉及立项管理、项目计划和监控、配置管理、合作开发管理和结项管理。软件工程涉及需求管理、系统设计、系统实现、系统测试、用户接受测试、试运行、系统验收、系统上线和数据迁移。

    学生信息管理系统软件需求说明书

    学生信息管理系统软件需求说明书 本需求规格说明书是为了开发学生信息管理系统而编写,主要面向系统分析员、实施员和最终用户。 本说明书是整个软件开发的依据,它对以后阶段的工作起指导作用,也是项目完成后系统...

    需求开发与需求管理_林锐

    需求开发与需求管理 —— 消除软件开发百病之源

    软件开发管理制度参考.docx

    项目管理涉及立项管理、项 目计划和监控、配置管理、合作开发管理和结项管理。软件工程涉及需求管 理、系统设计、系统实现、系统测试、用户接受测试、试运行、系统验收、 系统上线和数据迁移。 除特别指定,本制度中...

    软件目的需求开发与管理.pdf

    软件目的需求开发与管理.pdf

Global site tag (gtag.js) - Google Analytics