




已阅读5页,还剩58页未读, 继续免费阅读
(管理科学与工程专业论文)基于进化神经网络的软件项目风险评估.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉科技大学硕士学位论文第1 页 摘要 软件项目是一个庞大的系统工程,相比以往的各种项目,由于其复杂性、时效性、技 术性、产品抽象性等等方面的原因,使得软件项目存在更多的不确定性。在这样的条件下, 大多数软件项目即使经过周密的计划,适当的控制也难以保证项目达到预期的目标,工期 延误、超出预算甚至完全失败等等都是项目管理者常常必须面对的现实。因此软件项目风 险在项目实践中越来越得到大家的重视,风险管理成为软件项目管理的重中之重,风险管 理的成功在很大程度上决定了软件项目的成功。而风险评估作为风险管理的重要组成部 分,对于风险管理有着至关重要的作用。 本文首先详细介绍了软件项目风险管理体系,综述了国内外软件风险管理的研究进 展,强调了风险评估对于风险管理的重要价值;然后,通过对w e b 化趋势下的软件项目的 风险分析,构建了适应未来发展需要的风险评估指标体系;接着将遗传算法与b p 神经网络 相结合,解决了b p 神经网络易陷入局部最优的问题,确定了本文采用的进化神经网络的方 法;并利用调查得到的样本数据,对该模型的有效性进行了验证,通过与当前常用的改进 b p 神经网络的评估方法的对比,证实了该方法的优越性,从而为软件项目风险提供了一个 科学而有效的评估手段;最后针对当前某软件企业有意开发的软件项目进行风险的预测评 估,为项目决策提供依据。 关键词:软件风险;风险评估;遗传算法;b p 算法;进化神经网络 第1 i 页武汉科技大学 硕士学位论文 a b s t r a c t s o f t w a r ep r o j e c tc a nb ec o n s i d e r e da sa h u g es y s t e m a t i ce n g i n e e r i n g c o m p a r e dt oav a r i e t y o ff o r m e rp r o j e c t ,i th a sm o r eu n c e r t a i n t i e sb e c a u s eo fi t sc o m p l i c a t i o n , t i m e l i n e s s ,t e c h n i c a l i t y a n dp r o d u c t sa b s t r a c t i o n e v e nt h o u g hm o s to fs o f t w a r ep r o j e c t sm a k ec a r e f u lp l a n sa n dp r o p e r c o n t r o l s ,i ti sa l s oq u i t ed i f f i c u l tt oe n s u r et h ed e s i r e do b j e c t i v e so ft h ep r o j e c t s t i m ed e l a ya n d a ne x c e s sb u d g e te v e nac o m p l e t ef a i l u r em a yb ec a u s e da sar e s u l t t h e r e f o r et h er i s k so f s o f t w a r ep r o j e c te a r nw i d e s p r e a dr e s p e c ti np r o j e c tp r a c t i c e ,a n dr i s km a n a g e m e n tg o e st ob et h e k e yt os o f t w a r ep r o j e c tm a n a g e m e n t t oag r e a td e g r e et h es u c c e s so f r i s km a n a g e m e n tm e a n s t h es u c c e s so fs o f t w a r ep r o j e c t a s s e s s m e n tw h i c hi so n ep a r to fr i s km a n a g e m e n tp l a y sac r u c i a l r o l e t h i sr e s e a r c hf i r s t l yi n t r o d u c e st h e r i s km a n a g e m e n ts y s t e m so fs o f t w a r ep r o j e c t ,a n d e x p o u n d st h er e s e a r c hp r o g r e s si nr i s km a n a g e n to fs o f t w a r ep r o j e c tb o m a th o m ea n da b r o a d i t a l s ol a y se m p h a s i s0 1 1r i s ka s s e s s m e n t ;m o r e o v e ri tc o n s t r u c t sr i s ka s s e s s m e n ti n d e xs y s t e m w h i c hm a yb ea d a p t e dt ob o t ht h ep r e s e n tt i m ea n df u t u r e ;i na d d i t i o no nt h eb a s i so ft h ea b o v e i n d e xs y s t e m ,t h i sp a p e ri n t e g r a t e sg ai n t ob pn e u r a ln e t w o r ki no r d e rt oc o p ew i t ht h ep r o b l e m o ff a l l i n gi n t op a r t i a lo p t i m u m ,a n dt h ep a p e r sm o d e lo fe n ni sa s c e r t a i n e d ;t h ep a p e rm a k e sa n a p p l i e da n a l y s i so f t h es p e c i f i cs a m p l e dd a t at ot e s t i f yt ot h eb u i l tm o d e la n dc o m p a r e st h em o d e l w i t hi m p r o v e db pn e u r a ln e t w o r kw h i c hi sw i d e l yu s e dt ov e r i f yt h es u p e r i o r i t yo ft h ee n n m o d e l s ot h ep a p e rp r o v i d e sas c i e n t i f i ca n de f f e c t i v ea s s e s s m e n tm e t h o df o rt h er i s l 【so f s o f t w a r ep r o j e c t f i n a l l y ,t h ep a p e rw i l lp r o v i d ear i s ka s s e s s m e n tp r e d i c t i o no fc u r r e n ts o f t w a r e p r o j e c t so fs o m es o f t w a r ee n t e r p r i s ef o rt h ed e c i s i o n - m a k i n g k e yw o r d :s o f t w a r er i s k ;r i s ka s s e s s m e n t ;g e n e t i ca l g o r i t h m ;b pa l g o r i t h m ;e v o l u t i o n a r y n e u r a ln e t w o r k 武汉科技大学 研究生学位论文创新性声明 本人郑重声明:所呈交的学位论文是本人在导师指导下,独立进行研 究所取得的成果。除了文中已经注明引用的内容或属合作研究共同完成的 工作外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 论文作者签名:二亚b 王一日期:2 捌 研究生学位论文版权使用授权声明 本论文的研究成果归武汉科技大学所有,其研究内容不得以其它单位 的名义发表。本人完全了解武汉科技大学有关保留、使用学位论文的规定, 同意学校保留并向有关部门( 按照武汉科技大学关于研究生学位论文收录 工作的规定执行) 送交论文的复印件和电子版本,允许论文被查阅和借阅, 同意学校将本论文的全部或部分内容编入学校认可的国家相关数据库进行 检索和对外服务。 论文作者签名: 指导教师签名: 日期: 武汉科技大学硕士学位论文第1 页 第一章绪论 1 1 研究背景和意义 进入二十一世纪,随着信息技术的飞速发展,信息化成为许多企业、组织、机关的必 由之路。在这样的环境下,软件产业作为信息产业的核心,作为高技术产业的龙头,对国 家经济的推动作用越来越明显,成为体现国家竞争力的重要标志,也必然成为许多国家大 力发展的产业。就在软件项目的作用和价值被人们所重视的同时,作为信息化的重要组成 部分,软件项目由于在开发、实施、管理等等方面与传统项目有着显著的差异,而其本身 又存在技术性,时效性、产品抽象性等特点,从而使其不确定性大大增加,软件行业成为 高风险行业已人所共知,其高风险也逐渐被软件项目的开发者和管理者所重视。尽管如此, 仍然有调查表明,大约2 5 的软件项目被中途取消,剩下有5 5 的项目不是延误工期就是 超出预算,或者无法达到预期的目标,能够顺利完成的只占2 0 左右。 近几年来,互联网得到了迅速普及,w 曲软件技术也呈现出前所未有的繁荣,诸如 s = s 、s o a 、云计算、s + s 等等一系列新概念、新技术名词不断涌现,标志着传统软件项 目的w e b 化趋势正逐渐凸显,但是软件项目的w e b 化并不意味着风险的减少或降低,反 而有越来越严重的趋势。一项调查显示,w e b 软件项目在没有达到商业要求、没有具备应 有的功能、延期和超支这四项失败情况的比例竟然分别达到了8 4 、5 3 、7 9 和6 3 【l 】。 这些数据充分反映出软件风险问题的严峻性,随着对风险管理认识的不断加深,越来 越多的专家认为,造成我国软件项目风险管理效果不理想的原因大致可以归结为: ( 1 ) 软件项目风险管理缺乏必要完善的制度和方法支持; ( 2 ) 软件项目风险分析定性较多,定量不足,经验知识缺乏有效积累; ( 3 ) 软件项目风险指标的确定客观性和完备性不够,一般的风险评估方法只能解决 部分问题,缺乏系统有效性【2 】。 风险评估作为风险管理中关键的一环,是风险管理的基础。对风险评估进行研究将使 得风险管理有据可依,有的放矢。风险评估的目的在于通过各种手段来减少项目中的不确 定性及其所带来的损失,以较小的成本确保软件项目目标的顺利实现。因此对其进行研究 能够为软件项目开发者提供必要的项目状态信息,同时也能为项目管理者进行相关决策提 供重要依据。本文将立足于我国当前软件项目的实情,充分考虑软件项目w e b 化的趋势, 对第三个问题即风险评估进行分析,构建一套风险评估指标体系,并利用进化神经网络这 一较新的方法对实例进行评估,验证该方法的有效性和优越性。 1 2 国内外研究现状分析 1 2 1 国外研究现状 2 0 世纪7 0 年代,n o l m 提出了管理信息系统( m a n a g 渤ti n f o 册a t i o ns y s t e m s ,m i s ) 项目的风险管理模型【3 1 。至此,软件项目风险问题的研究就已经开始了。纵观当今世界, 无论从事研究人数上,还是从研究成果上,美国在该领域都占据首位;而由瑞典、丹麦、 第2 页武汉科技大学硕士学位论文 挪威、芬兰等国组成的北欧经济圈大致属于第二集团;另外英国、澳大利亚、日本、韩国 等经济强国也有一定的成果问世【4 】。 理论方面,尽管n o l a n 上述模型的提出正式拉开了软件项目风险管理研究的序幕,但 是对软件风险管理的说明并不系统,直到1 9 8 9 年,b o e h m 的软件风险管理才被认为 是奠定了该领域的理论基础【5 】,该书较为详细的对软件项目风险进行了论述,并提出了相 应的管理方法;同时,c h a r e t t e 从不同角度也构造出了类似的风险管理结构【6 】。由美国军方 资助,设立在卡内基梅隆大学的s e i 则是1 9 9 0 年来研究和实践软件风险管理的最大基地。 该组织认为软件风险评估、持续的风险管理和团队风险管理构成了软件风险管理的基本框 架【_ 7 1 。美国微软公司认为风险管理可分为五个步骤:风险辨识、风险分析、风险活动计划、 风险跟踪和风险控制【3 】,t a l l o n 等进一步地把风险管理提前到r r 项目投资阶段【9 】,g l u c h 利用系统分析的思想描述风险,认为风险是由环境、转变、结果构成的【1 0 1 ,而w a l s h 等应 用行为学和代理理论的成果,认为软件项目风险管理只有方法是不够的,决策者的动机和 行为对项目成败有很大影响】。 实践方面,p o w e l l 等人将一般项目风险管理的技术、方法与软件项目开发相结合,实 现了一个辅助风险分析的决策支持系统【1 2 1 。j i a n gj a m e s 等认为软件项目的成功可由四个方 面来度量,而不同的风险对各个方面的影响不同,并通过调查和建模求解找出了主要项目 风险源与不同成功方面的关系【b 】。d a v i d 从知识的总结、分析和可视化( k - s a v ) 技术角 度探讨了以风险描述文档识别风险源的规范程序,美国项目管理研究院( p m i ) 应用风险 评估方法学( r i s ka s s e s s m e n tm e t h o d o l o g y ) 的方法度量软件开发风险【1 4 1 。s e i 在其著名的 能力成熟度模型( c a p a b i l i t ym a t u r i t ym o d e ,c m m ) 的基础上又提出了实际上的国际标准 能力成熟度集成模型( c a p a b i l i t ym a t u r i t ym o d ei n t e g r a t i o n ,c m m i ) ,主要用于指导软 件开发过程的改进和软件开发能力的评估,并将风险管理列入关键过程域( k e yp r o c e s s a r e a , k p a ) 【1 5 1 。r o p p o n e n 等运用统计学中的主成分分析法对软件项目风险进行了研究, 将软件项目风险分为六个大类【1 6 】;另外,i e e e 于2 0 0 1 年制订了i e e e l 5 4 0 标准,结合软 件生命周期理论给出了风险管理的过程规划r 7 1 。 1 2 2 国内研究现状 相比国外,我国在这方面的研究则显得比较薄弱。由于技术基础、管理方法和社会环 境等原因,再加上我国在软件项目建设方面面临的问题与西方发达国家也不尽相同,导致 软件项目风险管理的理论研究和应用研究都显得比较零乱,缺乏系统性。 在理论研究方面,最早在2 0 世纪8 0 年代末,我国开始了对西方理论著作的引进,如美 国心理学家h a l l 女士的风险管理软件系统开发方法、英国j o h nr a f t e r y 的项目管 理风险分析等。之后,国内也有一些著作问世,如沈建民的项目风险管理、邱莞华 的现代项目风险管理方法与实践等,但是迄今为止,真正适用于中国国情的软件项目 风险管理著作仍然不多。文亚栋阐述了软件项目风险管理的主要内容和常用方法【1 8 】,李美 华等利用模糊理论的方法构建了软件项目风险评估模型【1 9 】,张李义等人针对信息系统开发 武汉科技大学硕士学位论文第3 页 过程中的动态风险,提出了一种综合评价模型【2 0 1 ,胡勇等则对软件项目建设方给予关注, 建立了包括软件项目建设方和承包商在内的软件项目风险管理协同过程模型【2 ,余峰,郑 跃斌则试图用实体联系( e n t i t y - r e l a t i o n s h i p ,e r ) 模型完善软件项目风险管理的整体性【2 2 1 。 在应用研究方面,田道云等指出软件项目实行规范化管理对降低软件风险具有积极而 有效的作用【2 3 】;罗英桂等从小企业的实际出发,采用概率树和软件工程思想,提出了一套 实用的小型软件项目开发风险管理方法【2 4 】;谢刚等运用生命周期理论对软件项目投标风险 做了研究,提出了软件项目投标风险规避的基本决策过程【2 5 】;杨宏伟借鉴国外软件外包项 目管理的经验,并结合自身项目经理的经历,重点谈了软件外包项目的风险管理【2 6 1 ,施自 能在e r p 管理模式下,总结出企业所面临的三个层次的风险:外部风险、流程风险和决策 信息风险,并提出了实施过程中的表现形式:软件风险、实施风险和转变风险【2 刀。另外, 台湾中文大学的李惠明提出了群决策环境下用模糊集理论评估软件开发中聚合风险率的 模型【2 射,继而台湾科技大学的学者陈世明又改进了这一方法【2 9 】。 作为国家软件工程领域权威标准的“质量管理和质量保证标准( g b t 1 9 0 0 2 0 0 0 ) ”第 一部分:选择和使用指南,只在产品安全性中提到了风险问题。第三部分:软件开发、供 应和维护中的使用指南中,只在合同评审部分提到了风险识别和风险管理。 1 3 论文研究内容及结构 ( 1 ) 主要研究内容 本文主要针对当前软件项目w e b 化趋势下的新特点,对软件项目的风险重新进行综合 分析,构建客观而有效的风险评估指标体系,并将遗传算法( g e n e t i ca l g o r i t h m ,g a ) 与b p 神经网络相结合,构建进化神经网络( e v o l u t i o n a r yn e u r a ln e t w o r k e n n ) 模型,以克服b p 神经网络评估软件风险的先天不足,然后在实例分析的基础上,与目前常用的风险评估方 法作对比,以验证该方法的优越性,从而得到评估软件风险更有效的手段。 ( 2 ) 论文结构 本文以软件项目风险评估为研究对象,主要研究软件项目开发阶段的风险,力图建立 一个科学高效的软件项目风险评估模型。整个论文由以下六部分构成: 第一章绪论。介绍论文的研究背景和意义、国内外研究现状和论文的主要研究内容 和结构。 第二章软件项目风险管理理论基础。介绍与软件项目风险管理有关的各种概念,分 析软件项目风险管理的过程,介绍并比较几个经典的软件项目风险管理体系,并分析当前 主要的风险评估方法。 第三章软件项目风险评估指标体系的设计。介绍风险识别的含义和方法,确定软件 项目的基本风险因素,并结合指标体系的设计原则和项目管理有关理论,立足于当前项目 实际,面向w e b 化趋势的未来构建软件项目风险评估指标体系。 第四章软件项目风险评估模型的构建。针对b p 神经网络的缺点,结合g a 与b p 神经网 络构建e n n 模型,并在具体环境下对模型进行介绍。 第4 页武汉科技大学硕士学位论文 第五章软件项目风险评估的实例分析。结合实际样本数据对所建模型的适用性和有 效性做出判断,并与其他方法结果进行对比分析,验证该模型的优越性。最后对有开发意 向的项目进行风险评估预测。 第六章结论和展望。总结全文,提出创新点和不足。 武汉科技大学硕士学位论文第5 页 第二章软件项目风险管理相关理论与方法 2 1 风险与软件项目风险 2 1 1 风险的定义和特征 ( 1 ) 风险的定义 风险( r i s k ) 是风险管理的基础,维基百科站在哲学的角度,给出如下定义:风险是 阻碍事物运动发展的客观存在,是事物发生与否的某种不确定性【3 0 】。 而学术界对风险的内涵还没有统一的定义,由于对风险的理解和认识程度不同,或对 风险的研究的角度不同,不同的学者对风险概念有着不同的解释,根据百度百科的说法, 可以归纳为以下几种代表性观点: 风险是事件未来可能结果发生的不确定性; 风险是损失发生的不确定性; 风险是指可能发生损失的损害程度的大小; 风险是指损失的大小和发生的可能性。 综合上述几种观点,本文更赞同“风险是某一特定危险情况发生的可能性和后果的组 合,这一观点1 3 2 1 。 ( 2 ) 风险的特征 风险的特征是指风险的本质及其规律发生的外在表现。其特征大致归纳如下: 客观可能性。风险是客观存在,虽然可以采用防范措施防止或降低风险发生导致的 损失,但是不可能完全消除风险。 偶然性。对于个别事件,风险导致事故的发生有不确定性,不幸事件何时何地如何 发生带来多大损失,有很大的偶然性,对于独立个体来说,事先难以确定。 可测性。单个风险的发生虽然是偶然的,但是大量同质个体某一时期某种风险的发 生又有其规律性。就大量风险单位而言,风险发生可以用概率加以测度。 行为相关性。任何一种风险实际上都是由决策行为与风险状态结合而成的,是风险 状态与决策行为的统一体,风险状态是客观的,但其结果会因不同的风险态度和决策而不 同。 2 1 2 软件项目风险的定义和特征 ( 1 ) 软件项目风险的定义 软件项目风险作为诸多风险类别中的一小部分,国外不同学者对软件项目风险作出了 不同的定义,如b a r k i 将软件项目风险定义为软件项目开发过程中不确定性的产物和项目失 败造成损失的程度【3 3 1 ,g l u c h 贝i j 认为软件项目风险是异常失败事件和该失败对系统操作者、 用户或者环境造成的后果【1 0 1 。 国内比较权威的定义来自薛四新的软件项目管理,所谓软件项目风险是指软件项 第6 页武汉科技大学 硕士学位论文 目在整个生命周期内,由于受各种环境的不确定性因素的影响,实际发生的成本、进度、 质量等与预期结果的偏离【3 4 1 。这个定义得到了国内大多数学者的认可。 ( 2 ) 软件项目风险的特征 软件项目风险作为软件项目过程中产生的风险,显然也表现出一般风险应有的特征, 根据以上定义,考虑软件项目的特点,我们可以知道软件项目风险具有如下两个显著特征: 软件项目各部分之间存在复杂的线性或非线性关系,其复杂性难以为项目相关人 员所掌握。 软件项目的过程是不断变化的,风险平衡状态的出现是动态而短暂的。 2 2 风险管理与软件项目风险管理 2 2 1 风险管理的定义和步骤 ( 1 ) 风险管理的定义 风险管理从理论上讲,是一个管理过程,包括对风险的定义、测量、评估和发展因应 风险的策略。目的是将可避免的风险、成本及损失最小化。理想的风险管理,事先已排定 优先次序,可以优先处理引发较大损失及发生机率较高的事件,其次再处理风险相对较低 的事件。一般状况下,因为风险损失与发生几率并不一致,所以难以决定处理顺序。故须 衡量两者比重,做出最优的决策。同时因为牵涉到机会成本( o p p o r t u n i t yc o s t ) ,风险管 理也存在资源优化配置的问题。如果把资源用于风险管理,那么运用在其他具有潜在报酬 的活动的资源就必然减少,因此理想的风险管理正是以最少的资源化解最大的危机。 ( 2 ) 风险管理的步骤 风险管理应该是一个持续的贯穿于项目始终的管理过程,其基本步骤包括: 风险辨识。风险的辨识是风险管理的首要环节,只有在全面了解各种风险的基础 上,才能够预测危险可能造成的危害,从而选择处理风险的有效手段。 风险预测。风险预测实际上就是估算、衡量风险,由风险管理者运用科学的方法, 对其掌握的统计资料、风险信息及风险的性质进行系统分析和研究,进而确定各项风险的 频度和强度,为选择适当的风险处理方法提供依据。 风险处理。风险处理是在前两个步骤的基础上,对己知风险进行尽可能的规避, 以实现最小的损失。 2 2 2 软件项目风险管理的定义和过程 ( 1 ) 软件项目风险管理的定义 软件项目风险涉及操作过程、组织过程和合同等相关因素,包括资源制约、外界因素、 供应商关系或合同制约等等。b o e h m 认为软件风险管理就是试图以一种可行的原则和实践, 规范化地控制影响项目成功的风险,其目的是辨识、描述和消除风险因素,以免它们威胁 软件的成功运作【5 1 。h a l l 认为软件风险管理是对影响软件项目、过程或产品的风险进行估 计和控制的实践过程,该实践围绕目标设定、项目计划、执行、度量、改进和发现新信息 武汉科技大学 硕士学位论文第7 页 六大科目展开。s e i 在软件工程体系中提出软件风险管理是有关管理威胁开发软件产品计 划风险的概念、方法和技术,包括风险辨识、分析、监控、减少和计划掣刀。 本文认为,软件项目风险管理是为了避免或减少软件项目的损失和失败的可能性,对 软件项目风险进行识别、分析、计划、监控的管理过程。 ( 2 ) 软件项目风险管理的过程 根据以上定义,我们不难得出软件项目风险管理的过程。风险管理前后可以分为两个 部分:风险评估和风险控制。前者即本文的研究对象。继续细分,风险评估可以分为风险 识别和风险分析,风险控制可以分为风险计划和风险监控。总共四个阶段如下: 风险识别。包括确定风险的来源,风险产生的条件,描述其特征和确定哪些风险 事件有可能影响本项目。由于风险的动态不确定等特性,应当在项目的自始至终定期进行。 风险分析。在风险识别的基础上,涉及对风险及风险的相互作用的评估,是衡量 风险概率和风险影响程度的过程。 风险计划。针对风险分析的结果,为降低项目风险的负面效应制定风险应对策略 和技术手段的过程。 风险监控。即对整个项目管理过程中的风险进行应对。该过程包括应对风险的纠 正措施以及风险计划的更新等。 2 3 软件项目风险管理体系 2 3 1b o e h m 风险管理体系 软件项目风险管理最早可追溯到上世纪7 0 年代对软件缺陷预测的研究,该时期的研究 主要是对软件质量的某些方面进行预测。直到1 9 8 9 年,软件风险管理之父b o e h m 首次提出 了“软件开发过程的风险管理”这一概念,在沿袭了传统的风险管理过程的基础上构建了经 典的b o e h m 模型【5 】,如图2 1 所示。 图2 1b 0 e h m 项目风险管理模型 风险识别 风险分析 风险排序 风险管理计划 风险解决 风险监控 b o e h m 通过对美国几个大型航空和国防系统软件项目的深入调查,分析归纳整理形成 了十大风险因素清单,这十大风险因素清单构成t b o e l l l i l 模型的核心,其中包括人员短缺、 不合理的进度安排和预算、不断的需求变动等等。然后针对每个风险因素,b o e b m 都给出 第8 页武汉科技大学硕士学位论文 了一套风险管理策略。在实际操作时,以十大风险清单为依据,分析当前项目的具体风险 因素,评估后进行计划和实施,在下一次定期召开的会议上再对十大风险因素的处理情况 进行总结和修正,产生新的十大风险因素清单,如此反复。 该模型思想可以将项目管理者的注意力更多的集中在高权重、严重影响项目效率和质 量的关键风险因素上,而不需要考虑众多的低优先级的细节问题,大幅提高了风险管理的 效率,奠定了软件项目风险管理体系的基础。但由于b o e h m 调查范围的局限性,风险因素 清单建立的主观性等等原因,使得风险因素列表需要不断优化,风险管理手段也需要进一 步更新。同时代的c h a r e r e 模型也在几乎从相同角度予以分析。 2 3 2s e i 的c r m 模型 c r m 模型即持续风险管理( c o n t i n u o mr i s km a i l a g e m e n t ) 模型,是s e i 最有代表性和 影响力的研究成果。作为世界上著名的旨在改善软件工程管理实践的组织,s e i 在软件项 目风险管理方面作了大量的工作。c r m 模型的核心思想是将风险管理划分为5 个步骤:风 险识别、分析、计划、跟踪、控制,对每一个风险因素都要按照这五个步骤进行管理,强 调风险管理是一个在项目开发过程中反复持续进行的活动序列。在生命周期的所有阶段都 要关注风险,不断地评估引起风险事件发生的因素,确定风险优先级以及控制风险的方法 手段,并评价风险策略实施的有效性。同时沟通在风险管理中的作用被重点强调。该模型 体现的是一种动态的风险管理思想,注重与软件开发实际过程相结合,有很强的可操作性。 如图2 2 所示。 图2 2s e i 的c 跚模型 2 3 3 嫩s l i t 风险管理模型 m 幽t 风险管理模型是由m a r y l a n d 大学的k o n t i o 博士提出的。旨在对风险的起因、触发 事件及其影响等进行完整的描述和管理,并使用合理有效的方法过程评估风险。该模型使 用图形化的表示方法,并提倡在定量分析前进行风险情景的定性分析。其评估方法可以基 于历史数据对当前项目的风险进行预测。 武汉科技大学 硕士学位论文第9 页 该模型的核心是用图形形式化工具r i s k i t 分析图来描述风险,能够清楚的反映各个风险 的特征,使得风险的描述形象而易于理解,如图2 3 所示。 i 影响 l - - ; 风险情景; i x li 好1 吉吉 i -_ i 。t 图2 3r i s k i t 分析图 由r i s l ( i t 分析图,可以清晰的看出项目各风险信息之间的制约关系,以此为基础,就可 以更好的对风险管理过程进行分析总结。该模型拥有完善的理论,并辅之可靠的技术手段, 可产生更详细的风险分析和描述,也可以改善风险管理过程的结果。同时,实践上,r i s l ( i t 模型也被许多软件项目管理者所认同和使用。 2 3 4 分析和比较 以上几个模型各有特点,由于时代的不同,理论和实践的背景不同导致各模型的侧重 点也存在不同。b o e l l i l l 模型的提出相对较早, 合自身的实践对风险管理理论的总结和完善, 主要是在前人对风险管理的研究基础上,结 因此这两个模型更偏重于理论。尽管b o d 皿 模型针对不同的风险因素提出了相应的解决方案,但是由于这两个模型基本只以项目开发 者的角度来处理风险,在具体措施上又缺乏可操作性,因此只具有指导参考价值。但是由 于它们明确了风险管理的概念和范畴,对后续研究产生了深远影响。 相比b o e l l l l l 模型在理论上的意义大于实践意义,s e i 的c r m 模型和鼬s k i t 模型在实际可 操作性上明显胜出。c r m 模型是s e i 的重要成果,它注重于软件开发过程相结合,详尽的 描述了针对各项风险采取措施的条件和环境,由于处理步骤明细而有条理,无论对项目开 发者还是项目管理者都有直接的指导操作意义。尽管该模型对技术要求不是很高,但由于 管理层次和步骤较为繁琐,实践起来过于复杂,导致实施成本相对较高,这也注定c r m 模 型只能为少数大型项目所采用。 r i s l ( i t 模型相f = l c r m 模型,最明显的特点在于黜s k i t 分析图,该图能明确的表示各风险 因素之间的关系,对于风险优先级的排序有直接的指导意义,同时该模型还采用定量分析 与定性分析相结合的手段,对风险管理过程进行分析评价,并将其贯穿于整个软件项目生 命周期的始末。但由于m s k j t 分析图仍然存在相当的主观性,缺乏完善的系统性。 第1 0 页武汉科技大学硕士学位论文 2 4 风险评估方法 2 4 1 定性评估法 定性风险分析的作用在于界定风险源,并初步判明风险发生的概率大小和严重程度, 以给出系统风险的总体印象。因此,定性评估方法作为风险评估方法的一个分支,为项目 风险管理提供重要参考价值。定性的方法很多,但基本过程是首先根据风险的可能性和严 重性大致将其划分为一些等级,然后把这两者用不同的方式综合起来衡量风险的大小及重 要程度,并对风险进行分类排序,最后针对不同种类的风险采取不同的应对措施。 敏感性分析法作为最常见的定性方法,它是通过测定众多不确定因素的变化所导致的 决策评价指标的变化情况,了解各项因素的变化对预期目标的影响程度,从而在外部条件 发生不利变化时对该对象的风险承受能力做出评价。若某个因素的较小变化对决策评价指 标影响幅度较大,就称该因素是敏感性因素;反之,如果某个因素的变化,对决策评价指 标的影响较小或者几乎无影响,则把该因素视为非敏感性因素。敏感性因素和非敏感性因 素的确定,是该方法的核心,他要求风险分析人员有丰富的风险评价经验和项目实践经验。 此外,还有风险评估指数法、总风险暴露指数法、直接风险评估法等也都是常用的定 性评估方法,它们在思想上类似,只是工作过程和角度略有不同。一般来讲,定性评估法 都具有实用性,简洁性的优点,适用于软件项目前期对项目整体进行可行性分析,对项目 后面的开发、实施等有全局的指导意义。 2 4 2 定量评估法 定量风险评估是在定性分析的基础上,通过一定的数学方法,对定性得到的各风险源 的风险量化指标进行综合,给出系统风险的最终量化值。因此,风险定量评估的过程也就 是基于定性分析基础上的数学分析过程。 定性评估法之后的定量分析使得项目风险更为形象直观,在一定程度上克服了人的主 观因素,具有更强的说服力和客观性。常见的定量评估法有蒙特卡罗模拟、灰色系统分析、 模糊综合评价、层次分析法、故障树分析法、趋势外推法、人工神经网络等等。 ( 1 ) 蒙特卡罗模拟 蒙特卡罗方法,又叫计算机随机模拟方法,是一种基于概率论的计算方法。它在考虑 众多随机因素的条件下,通过计算机模拟仿真,对项目风险的每个随机变量进行抽样,然 后进行对模型进行计算,得出函数值。如此反复之后,对得到的一组函数值进行分析,可 以了解每个随机变量的数字特征,如期望、方差等等,从而确定风险的发生概率和影响程 度。 该方法的实质过程就是概率论中的枚举法,因此其缺点也显而易见,通常只能得到一 个特解,难以得到问题的通解,这决定了该方法要得到较为精确的结果必须进行多次反复 的模拟,因而需要花费较多的时间和资源消耗。 武汉科技大学 硕士学位论文第11 页 ( 2 ) 灰色系统分析 该理论创始人邓聚龙教授认为,在客观世界中,大量存在的不是白色系统( 信息完全 明确) 也不是黑色系统( 信息完全不明确) ,而是灰色系统。因此,该方法就是以普遍存 在的灰色系统为研究对象,通过对系统“部分”已知信息的生成、归纳、总结,提取出新的 有价值的信息,从而推演出对系统的运行规律,并作出有效控制。 灰色系统用灰色数、灰色方程、灰色矩阵、灰色群等来描述,突破了传统方法纯粹定 性的局限,更深刻地反映了事物的本质,同时也为软件项目风险研究提供了一条重要的思 路。尽管该方法以定量的手段在相当程度上解决了系统信息不明确所带来的问题,但由于 在项目风险的系统描述上存在局限性,无法对软件风险进行更精确的定量评估成为该方法 的弊病。 ( 3 ) 模糊综合评价 人们在进行项目风险评估的过程中,关系结构复杂含糊的风险因素往往占大多数,由 于这种难以明确性导致量化风险的困难,而模糊综合评价却能以模糊数学为基础,应用模 糊关系合成原理,利用历史经验和专家知识对它们的性质和可能的后果进行详细的描述, 从而对各种风险因素进行量化并等级排序。 该方法简便易行,综合处理了风险评价过程中风险影响因素之间关系复杂、结构含糊 的问题,具有相当的实用价值。但同时必须指出,实际的项目风险是一种非线性的关系, 而该方法仍然只是一种线性评价方法,而且不能解决各指标之问重复评价的问题。 ( 4 ) 故障树分析法 故障树分析法是美国贝尔实验室于1 9 2 6 年提出的,是一种具有广泛应用范围和研究 价值的分析方法,它要求在前期识别各种风险源的基础上,运用逻辑推理的方法,沿着风 险产生的轨迹,逆向得出风险发生的概率,并能提供各种风险因素的应对方案。该方法的 核心在于故障树的建立,故障树是由一些节点及它们间的连线所组成的,每个节点表示某 一具体事件,而连线则表示事件之间的关系。 该方法是一种演绎的逻辑分析方法,具有应用广泛、逻辑性强、过程形象等特点,其 结果也有相当的系统性和准确性。尽管该方法有严格的逻辑推理,但对项目前期的风险识 别过程有很大的依赖性,因此风险识别的成果优劣则显得至关重要。 ( 5 ) 趋势外推法 趋势外推法大体上分为三种:前推法、后推法和旁推法。前推法即根据历史的经验和 数据推断出未来事件发生的情况,过程上首先通过对历史数据进行曲线拟合得出趋势函 数,再代入当前项目风险的相关数据,从而得出项目风险发生的概率和危害程度,不过此 方法在运用时,必须注意历史数据的完整性和主观性问题,尽量予以规避。后推法是在没 有历史数据可供参考的情况下所采用的一种方法,它把项目过程中可能发生的风险事件与 已知事件相联系,把未来的风险事件归结到已知的有据可依的起因事件上,从而对风险做 出评估和分析。旁推法就是利用类似项目的数据进行外推,用类似项目的历史数据对新的 当前项目可能遇到的风险进行评估和分析,得出风险发生的概率和后果。 第1 2 页武汉科技大学硕士学位论文 趋势外推法充分利用已有历史数据对当i ; 项目风险情况进行分析评价,对项目经验的 积累和传承都有积极的意义,但是该方法在使用时,如何考虑当前项目的特殊性是风险评 估人员必须认真思考的问题。 ( 6 ) 人工神经网络 人工神经网络是一种模仿人类神经网络行为特征,进行分布式并行信息处理的算法数 学模型。这种模型依靠系统的复杂程度,通过调整内部各节点之间相互连接的关系数据, 从而达到处理信息的目的,具有学习能力、记忆能力、计算能力以及智能处理功能。人工 神经网络具有并行性、容错性、非线性、自适应性等特点,是一种智能的启发式算法,它 能以任意精度拟合非线性函数,因此能较好的解决传统信息处理方法难以解决或无法解决 的问题。 软件项目风险关系的非线性决定了传统风险评估方法的局限性,因此人工神经网络的 方法在解决项目风险评估具有得天独厚的优势,它几乎完全规避了人为的主观性,使得结 果更加客观,然而该方法依赖于丰富的历史数据,并不可避免的存在一些固有缺陷。下面 将详细进行介绍。 2 5 进化神经网络相关理论 2 5 1b p 神经网络理论 ( 1 ) b p 神经网络的基础概念 人们发现,计算机在解决具有形象思维特点的问题时往往难以胜任,其根本原因在于, 计算机与人脑采取的信息处理机制完全不同。人脑的生物神经网络以神经元为基本信息处 理单元,对信息进行分布式存储与加工,这种群体协同工作方式使得人脑呈现出神奇的智 能。为了模拟人脑的形象思维方式,人们就必须从模拟人脑的信息处理机制入手。在此基 本认识的基础上,以数学和物理方法以及信息处理的角度对人脑神经网络进行抽象,并建 立某种简化模型,就称为人工神经网络( a r t i f i c i a ln e u r a ln e r o ) 。人工神经网络远不是 人脑生物神经网络的真实写照,而只是对它的简化、抽象与模拟。 然而人工神经网络的发展却并不如人们想象的那般一帆风顺,由于神经网络理论水平 和计算机工具等的局限,人工神经网络发展一度呈现出衰退的趋势,直到上世纪8 0 年代, h o p f i e l d 神经网络的提出为神经网络的发展注入了一股新鲜的血液,而后到了1 9 8 6 年,生 物物理学家r u m e l h a r t ,h i n t o n 和w i l l i a m s 提出了b a c kp r o p a g a t i o n 算法,此后b p ( b a c k p r o p a g a t i o n ) 神经网络在理论上不断得到完善,并在实践上得到了广泛的应用。 神经元是构成人工神经网络的基础,是神经网络处理信息的最小单位。标准的b p 神 经网络的拓扑结构由三层组成,最左层称为输入层,中间层称为隐含层,最右层称为输出 层。输入层、输出层的个数可以由所求的问题决定,而中间层的神经元个数的确定需要探 讨。各层次的神经元之间形成全互连连接,各层次内的神经元之间没有连接。各个神经元 之间的连接并不只是一个单纯的传输信号的通道,而是在每对神经元之间的连接上有一个 加权系数,这个加权系数就是权值,它起着生物神经系统中神经元的突触强度的作用,它 武汉科技大学 硕士学位论文第1 3 页 可以加强或减弱上一个神经元的输出对下一个神经元的刺激。修改权值的规则称为学习算 法,它可以根据经验或学习来改变。 三层神经网络已经足以模拟输入与输出之间的复杂的非线性映射关系。如图2 4 就是 典型的三层b p 神经网络结构图。更多的网络层虽然能提高神经网络学习复杂映射关系的 能力,但因为随着网络层的增加,神经元及其连接权将大规模增加,所占用的计算机资源 过多,网络学习收敛反而变慢。 输入层隐含层输出层 图2 4 三层b p 神经网络结构图 ( 2 ) b p 神经网络的计算过程 b p 神经网络全称为基于误差反向传播算法的人工神经网络。计算过程如下: 信息的正向传播。输入层各神经元负责接收来自外界的输入信息,并传递给隐含 层各神经元;隐含层是内部信息处理层,负责信息变换,根据信息变化能力的需求,隐含 层可以设计为单层或者多层;隐含层最后一层传递到输出层各神经元的信息,经过进一步 处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。 误差的反向传播 将输出层实际输出的结果与期望的输出结果对比,对比不相符时,进入误差的反向传 播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值和阈值,向隐含层和输入 层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值和阈值不断调整 的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接 受的程度,或者预先设定的学习次数为止。整个计算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文化政策与法规试题及答案
- 2025年绿色建材推广应用施工总承包协议
- 2025年女性健康与生育政策考试试题及答案
- 2025年公共营养师四级考试模拟题及答案
- 2025年电工低压考试题及答案
- 建筑废料转运合同范本及执行监督指南
- 音乐学院基础乐科笔试模拟卷
- 幼儿园教育评价指标体系详解
- 四年级英语错题分类及复习训练方案
- 2025年高级生命支持(ACLS)理论考核试题及答案
- 东芝电梯CV180故障诊断
- GB/T 31186.1-2014银行客户基本信息描述规范第1部分:描述模型
- 退伍军人职业规划课件
- 生物质资源及其开发利用课件
- 调查研究方法与调研报告写作讲义课件
- 卡西欧PROTREKPRW-6000使用手册
- 干燥综合症的中医治疗冯兴华公开课课件
- 关于开具无犯罪记录证明的函(模板)
- 初中综合实践课程
- 大金D型水冷螺杆机说明书
- JJG 700 -2016气相色谱仪检定规程-(高清现行)
评论
0/150
提交评论