您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页软件项目中的需求变更管理的研究

软件项目中的需求变更管理的研究

来源:筏尚旅游网
维普资讯 http://www.cqvip.com 7期 计算机技术与发展 COMPUTER TECHNOL(X;Y AND DEVELOPMENT 0 7 120年 月 Vr)117 N0.1 .Jan.2007 软件项目中的需求变更管理的研究 王莉 ,吴洁明2 (1.北方工业大学软件工程研究中心,北京100041; 2.北方工业大学信息工程学院,北京100041) 摘要:由于软件项目中的需求变更而导致软件项目失败的案例越来越多,所以解决需求变更的问题已经被许多软件公司 列入了重要的流程化管理中。详细分析了需求变更产生的原因、带来的影响以及涉及的人员范围,提出了需求变更管理流 程中的记录需求变更的基本属性、规范需求变更的评审流程、明确需求变更的任务分配、及时验证需求变更的实施结果四 个方法,并提出了一种实用的需求变更控制主流程。 关键词:需求变更管理;能力成熟度模型;软件项目 中图分类号:TP311.52 文献标识码:A 文章编号:1673—629X(2007)01—0119—04 The Research on the Management of Requirement Changes in Software Proj ect WANG Li .WU Jie,uirng2 (1.Software Engineering Research Center,North China Univ.of Teeh.,Beijig 1n00041,China; 2.College of Information Engineering,North China Univ.of Tech.,Beijig 100041,nChina) Abstract:The number of∞fr、Ⅳare pmjects which are in toublres because of the requirement cl1aI1ges during the development is increasing, sothatmany software companies have put howto solvethe problems ofthe requirement cha ̄esintotheir criticalflowing ̄'nent. Detail why requirement changes ale generated,how the changes influence the whole pr。4eCt。and who are participants in the process.Pro— pose the methods of describig nthe basic attributes of the requirement changes that recorded in the lfowig procesns of the manage ̄ment,reg— ulatingthe evaluation process,determiningthetaskassignment,andtimely checkingtheoutCX24rlleof realizigthetask.Andfinnally,suggest a practical main flowig process nof management of the requirement changes. Key words:management of requirement clumges;CMM;software pmjects 0引 言 据预测,全球对软件的总体需求将在下一个十年中以 数量级的速度增长,希望用户一次提清所有需求,并且不 再改变,往往是不现实的,因此用户在开发过程中提出需 败的项目为18%;受到质疑的项目为53%。受到质疑的 项目被定义为费用超支、超出工期的项目。在项目不成功 原因的调查中提到最多的就是“需求变更”。而且B.Cur— tis研究表明,需求变更是软件开发中的三个重要问韪之 一求变更的现象不可避免。如果不能对需求变更及时有效 地控制管理,很可能对整个项目造成“牵一发而动全身”的 _2 J。文中对软件开发过程中的需求变更管理问题提出 了解决方案。 影响,所以对软件整个过程管理的一个重要内容就是对需 求变更加以控制,使变更对工作量、工期及质量的影响降 到最小。能否合理地控制和管理需求变更是检验成熟软 件组织的一个重要的标志。 1需求变更的产生和影响 1.1需求变更的产生 CMM是软件能力成熟度模型,它是卡耐基梅隆大学 软件工程研究所(SEI)于1987年提出的一种软件生产和 有一组数据可以说明2004年的美国麻省Standish Group International公司公布的调查研究结果…。在完成 的13522个软件项目中:绝对成功的项目为29%;彻底失 收稿日期:2006—04—17 质量保证的模式,是目前国际上最流行最实用的软件生产 过程标准[3。需求管理是CMM2级的首要关键过程域 3](KPA),是软件开发活动中不可或缺的组成部分。Pan Jalote和Kim Caputo[ ]也都指出能否解决好需求管理问题 作者简介:王莉(1982一),女,山西襄汾人,硕士研究生,主要研究 方向为软件工程、需求变更、软件测试;吴洁明,硕士,副教授,主要 研究方向为软件工程、软件体系结构、面向对象技术、电子商务和电 子政务技术等。 是不成熟的软件组织走向成熟迈出的第一步_4 J。需求管 理包括:需求变更控制、需求跟踪、需求状态跟踪、需求文 档版本控制。由此可见,需求变更控制管理的重要性。 维普资讯 http://www.cqvip.com -120・ 计算机技术与发展 ⑤开发人员:编码人员; 第17卷 IEEE软件工程词汇表中需求的定义: *用户解决问题或达到目标所需要的条件或权能。 ⑥测试人员:测试用例及测试计划制定人员; *系统或系统部件要满足合同、标准、规范或其他正 式规定文档所具有的条件或权能。 *反映上面两条的文档说明。 IEEE公布的需求定义从用户和开发者的角度来说明 什么是需求。可以将需求分解为四个层次:业务需求、用 户需求、功能需求和非功能需求。这些需求往往在开发过 ⑦项目经理:该项目的负责人员。 变更是否执行最终由变更控制委员会来决定。变更 控制委员会(CAB,Change Control Board)的定义为:该委 员会监督变更流程,由所有利益方包括客户、开发人员和 用户的代表组成。在小型项目中,项目经理或软件构架设 计师一人即可担当此角色。在RUP中,由变更控制经理 程中发生变更,因而提出变更有可能在开发的任何阶段。 角色担当此任。 引起需求变更可能有多种因素,如: 1)单纯的用户因素:由于用户在软件开发的过程中不 断加深对系统的了解,可能引起对需求有了新的认识,于 是提出了新的、变更了的需求。 2)系统因素;在系统内部,如计算机硬件、系统软件或 数据等的变更要求与其相适应。 3)工作环境因素:与软件运行相关的工作制度或法 规、的变更,或是业务要求变更导致的需求变更。 4)需求开发工作缺陷:需求调研、分析、定义和评审 工作不够充分,致使需求规格说明中隐含着问题,在开发 过程中才有所发现。或者需求开发中开发人员与用户沟 通的不够充分,如未能如实获得用户的潜在需求等。 软件需求一旦出现变更,它可能要涉及到一些相关的 代码和文档的修改,为此要把这一变更通知到所有相关人 员。例如,某个功能的修改引发了需求的修改,那么很可 能要涉及到需求规格说明、概要设计、详细设计和代码等 相关文档,甚至会使测试计划随之改变。因此软件需求变 更某个部分,可能关系到参与该项目开发工作的许多人 员。提出需求变更有可能在开发的任何阶段,但是提出变 更越晚带来的损失就越大。 1.2需求变更的影响 需求变更给软件的开发工作带来的影响分为以下几 占_5]. J’ 、 0 1)使得变更前的开发工作和成果几乎完全失效。 2)使得返工成为不得不采取的对策。 3)势必带来软件开发计划的相应变更,开发成本的相 应增加和开发工作量及资源投入的追加。 由此得出,如果不从管理方面加以控制变更,必将导 致严重的后果。 1.3需求变更的涉众人员 因为需求变更的提出者可以是用户方,也可以是开发 方,需求变更的提出时间可以发生在软件生命周期的任何 阶段。所以在需求变更管理的整个过程中,会涉及到很多 人员,包括: ①客户:投资方; ②用户:最终会使用系统的人员,也可能客户和用户 是同一类人员; ③设计人员:系统的设计人员; ④文档编写人员:需求文档、设计文档等的编写人员; 变更最终的处理结果一定是CCB经过慎重考虑对供 需双方都有利的前提下作出的决定,否则变更会对整个项 目及供需双方的合作关系带来不利影响。所以对需求变 更在软件的整个生命周期进行及时控制管理,不仅能有效 地降低项目失败控制风险,把需求变更带来的损失降到最 低,同时对提升软件机构整体过程能力有着重要意义。 2控制软件开发过程中的需求变更的方法 需求变更问题是每个项目开发过程中开发人员和项 目经理不得不面对的问题。因为一旦需求发生变化,不得 不修改设计、重写代码、修改测试用例、调整整个项目的计 划、相应的文档的修改等等,为整个项目的正常进行带来 了困难。设计一个清晰的、明确的、可控的、有效管理的需 求变更工作流程有利于促进软件项目开发的整个过程中 人员合作,明确各自工作任务;有利于对软件开发过程中 提出的每个需求变更的处理阶段进行实时监控,有效跟 踪。通过对需求变更管理方法的研究过程得出以下结论。 2.1记录需求变更的基本属性 对需求变更的管理,要从提交需求变更基本信息的管 理开始。每一次需求变更提交的相关信息,是需求变更的 最原始数据记录,也是针对该需求变更开展后续评审工作 的前提条件。以下几个内容是提交文档中必不可少的: *需求变更对应的项目名称及其编号:方便查找某 个项目的需求变更,可以统计出每个项目总的需求变更次 数,对项目带来多少影响。 *项目对应的用户的名称及其类型:可以通过对用 户及其类型的记录总结出不同的用户是否对需求变更的 影响不同,哪些用户提出需求变更的频率高,便于项目管 理者分析。 *需求变更的主题名称及其内容介绍:说明需求变 更的范围内容。 *需求变更的来源:说明为什么要提出该需求变更。 *需求变更的优先级:确定需求变更的重要性可以 用低、一般、高、很高这四个级别来衡量。如果不实施这个 变更会导致哪些影响,是否会有例如数据丢失等不利情况 发生。 *需求变更的提交人和提交日期:明确需求变更的 提交者身份,并根据提交时间确定提交的时间是该软件开 发生命周期的哪个阶段。 维普资讯 http://www.cqvip.com 第1期 王莉等:软件项目中的需求变更管理的研究 ・121・ *需求变更的请求类型:判断变更属于需求缺陷、需 求扩展、新请求这三种类型中的哪种。 *需求变更的影响:提议的变更是否好实现,如果进 行变更会导致哪些连锁反应,估计会增加多少工作量和成 本。 2.2规范需求变更的评审流程 评审是需求变更能否执行的关键,评审结果很大程度 上取决于评审前ccB掌握的需求变更信息的详细程度, 为了保证评审的质量,变更控制委员会由不同角色的人组 成。-在设计需求变更管理系统的主流程中加入了初审和 复审两个活动,是因为: 1)初审:主要由项目经理~人参与。根据提交者提供 的信息,初步判断该需求变更,可能会有以下几种情况: (1)无效的:直接驳回该变更,变更结束; (2)提交内容不详细:需要返还给提交者重新填写该 变更的信息并提交; (3)在项目的当前版本不考虑:开发的当前版本的系 统不包括这部分需求,以后版本可能会将该变更内容考虑 进系统中,所以直接把结果返回给提交者,并记录在数据 库中,该变更结束; (4)不存在以上问题:初审通过,该变更进入复审。 由于初审者一般是项目经理,他对整个项目的属性信 息和实施该需求变更的环境比较了解,项目经理可以根据 掌握的这些信息和提交者提交的变更信息对该变更进行 初审。如果初审通过,初审者再根据这些信息和以往变更 的处理经验及一些评估模型,对该变更可能引起的对整个 项目进度、工作量的影响作出较准确的估计值,最后把所 有的这些信息全部提交给复审。 2)复审:主要由变更控制委员会的人员组成,提交给 复审的变更都是经过初审仔细考虑后选择出来的,初审对 需求变更可能引起的进度、工作量的影响有一个比较准确 的评估值,根据所有获得的相关信息,复审人员仔细考虑 以下几方面内容: *工作量:必须要变更的现有工作量是多少?需要 添加多少新的工作量? *复杂程度:提议的变更是否容易实现?变更可能 导致哪些连锁反应?不实施这个变更会导致哪些影响? *进度:何时需要进行变更?是否能如期进行? *成本:进行变更可能会增加多少成本? *其他变更的关系:其他变更是否会影响该变更,或 者此变更是否依赖于其他变更? *测试:是否存在任何特殊的测试要求? 根据这些内容,复审人员考虑该变更是否有必要执行 并给出最终意见。 由此可见,初审过程就是一个初级过滤器。它能避免 随意提交需求变更而增加评审工作量的不利局面,为复审 工作做了最充分的准备。所以初审是必不可少的重要环 节,复审给出变更是否执行的最终决定意见。 2.3明确需求变更的任务分配 由于需求变更会对整个项目的进度、工作量、成本都 有影响,所以一旦评审通过,项目经理就要对该需求变更 的具体实施分工明确,责任到人,对每个操作者的任务内 容、预期结果、完成时间都要分配清楚,便于日后核实工 作。同时该阶段项目经理要将已审核通过的变更传达给 受此影响的所有人员,以确保项目以一致的方式将需求变 更包含进来。下面举例说明: 1)实例1:一个5人的项目组,有1人负责数据库开 发,4人负责应用程序开发。因为某项需求的变化,数据 库开发人员修改了数据库表的内容,但是没有及时将变更 通知应用程序开发人员,导致4个人编写了一周的程序全 部重写。 2)实例2:测试人员在进行产品测试时,发现了很多 问题。经过调查发现是开发人员使用了变更后的需求规 格说明书,而变更没有及时通知测试人员,导致测试人员 的测试用例和测试结果都无法使用。 所以在需求变更发生时,一定要通知到所有相关人 员,使大家保持一致,尽量避免工作的无效性发生。 项目经理明确变更任务,分配任务,通知所有相关人 员之后,要记录实施需求变更过程中实际增加了多少工作 量,对项目的进度影响多大,并将实际数据与评审中给出 的评估值比较,对这些数据的统计分析会给今后的需求 变更工作提供宝贵的历史经验。 2.4及时验证需求变更的实施结果 项目经理分配的变更任务全部执行完之后,该变更并 没有结束,只有通过验证人员的验证,证明该变更的实施 结果正确无误,才能结束该变更。如果验证中某处任务出 现错误,会将错误返回给任务对应的操作人重新执行该任 务直到验证正确为止。验证人员会给出验证结果报告,以 保证该变更在可控的状态下进行。 2.5需求变更的控制流程 需求变更管理主要是一个在项目开发过程中对需求 变更进行控制的过程,该过程包括变更建议的提出,分析 变更的影响并据此做出变更决策,监督变更的实施过程 等【6]。规范化的变更控制过程可以有效地减少随意变更 的数量,让变更处在一种可控的实施过程中。经过对以上 四点的规范化控制管理需求变更方法的研究,可以发现, 变更控制流程就是系统过滤优化机制,可以确保项目将最 合适的需求变更包含进系统中,文中提出了需求变更管理 主流程(如图1所示),在具体的实施中需要加入其他分支 流程和支持主流程的子流程。 需求变更管理系统都是以流程控制为中心的流程管 理系统。它以软件企业或开发团队为首要服务对象,文中 提供了一整套支持软件开发过程中需求变更的变更管理 流程,帮助企业管理软件项目开发过程中无处不在的变 更。该解决方案以软件项目为中心,项目经理通过它能 够:制订项目计划、分配开发任务并追踪任务的完成;有效 维普资讯 http://www.cqvip.com ・122・ 计算机技术与发展 第17卷 地管理项目中出现的缺陷、问题;管理软件项目过程中因 现了追踪变更请求的进展情况,保证变更实施在可控范围 新需求、新功能和新建议而产生的需求变更。 内进行,能够将变更带来得影响尽可能地降到最小。需求 变更管理主流正将需求变化、变更请求和项目管理紧 密结合在一起。可以在主流程的基础上,进一步分析和扩 展子流程,使需求变更在项目开发中有序有效地管理,保 证项目的顺利完成,提高项目的质量。 参考文献: n]Curtis B,Krasner H,Isme N.A Hdd Study of the Software l_ ̄sign Process for Large System[J].Corr ̄nunication of the ACM,1988,31(11):1268—1287. [2]Jalote P.CMM in Practice[M].Reading,MA:Addison一、 一 ley,2000. [3]Software Eugineerign Institute。Carnegie MeUon University. The Capability Maturity Model:Guidelines for Improvign the Software Process[M].Readign,MA:Addiosrr Wesley, 1995. [4]The Standish Group ImernatioiM.2004 third quarter research report[R/OL].2004.http://www.standishgroup.corn/sam— pie-research/PDFpages/q3一soptlight.Nf. 【5 J Eracar Y A.Mieezsylaw.An architeeture ofr sofwtare t hat 图1 需求变更管理主流程 a&pts t O changes in requirement[j].Journal of Systme and Sofwtare,2000(50):209—219. 3结束语 [6]郑人杰,王 纬,王方德,等.基于软件能力成熟度模型 通过分析软件项目开发过程中需求变更产生的原因, (CMM)的软件过程改进一方法与实施[M].北京:清华大 给项目带来的影响,提出了四个控制管理需求变更的方 学出版社。2003. ・ 法,并在此基础上提出了需求变更管理主流程,该流程实 ——+.—・-+-一—卜 (上接第118页) 5结束语 (只要缺损不是很大),用这种方法也能将它很好地检测出 从上面的实验可以看出,利用该方法检测圆形是很有 来,并且可以标识出其圆心(在图(d)的圆中红色十字架的 效的,而且该算法的原理简单、求解准确、抗噪声能力强, 交点即为圆心)的位置和半径大小。 具有较小的误差,是一种简便实用的计算方法[5。进一步 5]的工作是如何更好地消除由于边缘的不平滑而引入的图 像噪声给测量结果带来的影响,以及如何克服外界光照变 化对测量的影响。这需要对图像处理和噪声去除算法作 进一步深入的研究。 参考文献: (a)彩色图片 (b)灰度图片 [1]祝世平,周 锐,申功勋.圆孔(弧)型工件的三种图像检测 算法[J].仪器仪表学报,1999,20(2):190—192. [2]刘勋,毋立芳,林娟.一种改进的Hough变换提取圆的 方法[J].信号处理,2004,20(6):623—627. [3]韩 海.从黑白图像中检测圆[J].武汉理工大学学报, 2003,25(5):75—78. [4]王菁菁,范影乐.基于Hough变换的圆检测技术[J].杭州 电子科技大学学报,2005,25(4):62—65. (c)二值化 (d)边缘提取并确定圆心 [5]郑东,杨明,许建.一种基于广义Hough变换思想的 图3实验结果 多圆检测方法[J].中国仪器仪表,2005(9):60—63. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务