软件工程专业《软件过程管理》
课程设计报告
题 目: 软件需求管理计划
姓 名: 郑闽君
准考证号: 910210311311
学 院: 数学与计算机科学学院
专 业: 软件工程
年 级:
09 级
2010 年 3 月
《软件过称管理》课程设计报告
目 录
1 引言 .......................................................................................................................................... - 1 -
1.1 概述 ................................................................................................................................... - 1 - 2 需求管理的基本概念 .............................................................................................................. - 2 - 3 需求管理的基础 ...................................................................................................................... - 3 - 4 需求管理的具体活动 .............................................................................................................. - 5 -
4.1 说明 ................................................................................................................................... - 5 - 4.2 需求管理过程 ................................................................................................................... - 6 - 4.3需求确定的管理 ................................................................................................................ - 7 - 4.4需求实现的管理 ................................................................................................................ - 7 - 4.5需求变更的管理 ................................................................................................................ - 8 - 4.6 需求管理复杂性分析 ....................................................................................................... - 9 - 4.7需求管理策略 .................................................................................................................. - 10 - 5 目前需求管理的现状及存在问题 ........................................................................................ - 12 - 6 结束语 ........................................................................................................................................ - 13 - 参考文献 ........................................................................................................................................ - 14 -
《软件过称管理》课程设计报告
1 引言
1.1 概述
在软件开发.维护过程中,许多错误都是潜伏的。一项对TR M公司所做过的软件项目的分析结果表明:所有被检测出来的错误中, 5 4 %是在编码和单元铡试阶段以后才被发现的;更糟糕的是此类错误中的绝大部分( 占4 5 %) 是在需求和设计阶段发生的,而编码阶段的错误只占9/0 。另一项对GT E. TRW和I B M三家公司的研究结果表明,在需求阶段检查和修复 一 个错误所需的费用只有编码阶段的 1 / 5 到 I /1 O ,而在维护阶段做同样的工作所付出的代价却是编码阶段的2 0倍 这就意味着在需求阶段和维护
阶段修复一个错误的比值可高达 I :2 0 0 。由此可以看出:需求变更贯穿了软件项目的整个生命周期,从软件的项目立项,研发,维护,用户的经验在增加,对使用软件的感受有变化,以及整个行业的新动态,都为软件带来不断完善功能 ,优化性能,提高用户友好性的要求。在软件项目管理过程中,项目经理经常面对用户的需求变更。如果不能有效处理这些需求变更,项目计划会一再调整,软件交付日期一再拖延,项目研发人员的士气将越来越低落,将直接导致项目成本增加、质量下降及项目交付日期推后。这决定了项目组必须拥有需求管理策略。
对大多数软件和系统开发团队来说,由于评测和验证有效的软件开发流程的标准得到推广和普及,加上全球经济对软件的依赖程度加深, 推动了开发流程的发展,提高了系统质量。既然如此,那么今天频频发生的软件项目失败的事件又如何解释呢?为什么仍有那么多的项目受到延期、预算超支和质量问题的困扰呢?
简单地说,系统开发团队之所以管理需求,是因为他们想让项目获得成功。 满足项目需求即为成功打下了基础。若无法管理需求,达到目标的几率就会降低。也就是说:好的需求管理是项目成功的第一位因素。采用需求管理可以给项目组带来很多的好处,直至项目取得成功。若无法管理需求,达到目标的几率就会降低。
- 1 -
《软件过称管理》课程设计报告
2 需求管理的基本概念
一般来说,当接手一个项目时,需要将系统需求分配到软件、硬件和其他系统组成部分,这项工作一般由系统工程组桌负责完成。我们称分配给软件的系统需求为分配的需求,它是系统需求的子集,是要在系统中实现的软件成份。分配的需求包括影响和决定软件项目活动的非技术性需求及软件技术性需求,此外还有使软件产品满足分配需求的接收标准。分配的需求构成了整个软件生命周期中估算、计划、执行和跟踪软件项目活动的基础。
需求管理的目的是:在客户和实现客户需求的软件项目之间达成共识,以便更好地控制分配的需求,为软件工程和管理建立基准线,同时保证软件计划, 产品和管理活动能与分配的需求保持一致。在需求管理中,软件工程组的工作是:采取适当的措施来保证分配的需求具体地说,就是要将分配的需求文档化,控制需求的变化,负责项日实施过程中需求的实现情况。
通常需求可分成三类:用户需求C R、技术需求TR 和项目需求PR。用户需求陈述了用户的要求。技术需求陈述的是满足用户需求的技术功能和质量属性。表明必须提供什么而不是如何提供。项目需求用于项目计划和跟踪行为, 项目需求通过项目计划和项目跟踪进行管理。项目开发过程可概括为:首先将用户的价值取向转化成用户需求而用户需求又进一步转化为技术需求。根据技术需求进行设计,从而进行编码。通过这种方式需求就是内嵌的,而不是测试来的,测试行为就成了简单的核实行为。满足需求的产品才能为用户提供价值。
由于需求是正在构建的系统必须符合的事务,而且符合某些需求决定了项目的成功或失败,因此找出需求是什么,将它们记下来,进行组织,并在发生变化时对它们进行追踪,这些活动都是有意义的。换句话说,需求管理就是:一种获取、组织并记录系统需求的系统化方案,以及一个使客户与项目团队对不断变更的系统需求达成并保持一致的过程。
- 2 -
《软件过称管理》课程设计报告
3 需求管理的基础
需求管理的目的是在客户和处理客户需求的软件项目组之间建立对客户需求的共同理解。
需求管理的目标有两个:
第一,使软件需求受控,并建立供软件工程和管理使用的需求基线; 第二,使软件计划、产品和活动与软件需求保持一致。
在CMM中,每一个K P A都要求:
1 .有一个书面的组织政策以供项目实施过程中遵循。这个政策一般应该包含以下要求:
为分配的需求建立文档 ,应该由软件经理和其他相关组来审查分配的需求。这里所说的相关组大致有:系统测试组、软件工程组、系统工程组、软件质量保证组、软件配置管理组 及文档支持组。要求软件计划工作产品及项目活动都要随着分配需求的变更而做相应的变化
2 . 要求已经对承接的项目进行明确的系统需求分析.并将这些需求分析给硬件,软件和其他系统组成部分。
3 .为管理分配的需求提供足够的资源和资金保证由在应用领域里和软件工程方面具有经验和专业知识的人员来管理分配的需求。 此外还要提供支持管理需求活动的工具,包括配置管理工具 跟踪工具、文奉管理工具等。
4 .为软件工程组成员和其他软件相关组提供管理需求的相关培训。这些培训主要有:项目使用方法标准和工作程序及应用领域等。
在需求管理过程,为实现第一个目标,必须控制需求基线的变动,按照变更控制的标准和规范的过程进行需求变更控制和版本控制;为实现第二个目标, 必须就变更和软件项目各小组达成共识,对软件项目计划做出调整,其中包括人员的安排、用户的沟通、成本的调整、进度的调整等。
为进行有效的需求管理,一般要遵循如下五条原则:
第一,需求一定要分类管理。进行软件项目管理的时候,一定要将软件需求分出层次。不同层次需求的侧重点、描述方式、管理方式是不同的。
第二,需求必须分优先级。在软件项目中,如果出现过多的需求,通常会导致项目超出预算和预定进度,最终导致软件项目的失败,因而需求的优先级可能比需求本身更加重要。
第三,需求必须文档化。需求必须有文档记录。该文档必须是正确的、最新的、可管理的、可理解的,是经过验证的,是在受控的状态下变更的。
- 3 -