欢迎访问一起赢论文辅导网
本站动态
联系我们
 
 
 
 
 
 
 
 
 
 
 
QQ:3949358033

工作时间:9:00-24:00
计算机论文
当前位置:首页 > 计算机论文
软件项目风险的神经网络预测模型
来源:一起赢论文网     日期:2013-12-28     浏览数:3986     【 字体:

摘要: 选择神经网络方法建立模型, 模型的输入部分是经验证的64 个风险因素, 输出部分是软件项目的总体产出。 首先验证模型输入输出部分的内容有效性, 然后收集软件组织的实际软件项目样本用于建立和验证模型。实验结果表明, 该模型能有效地测量软件项目的总体风险。
关键词: 神经网络; 软件项目风险; 软件产出; 预测
Ab str act: Th e m odel i s b ased on n e u r al net wo r k app r oach, and t h e i n pu t of m odel is 64 r isk f ac to r s which hav e bee n v e r if ie d , an d th e ou t pu t of mo del is th e t ot al ou t c o me of t h e p r ojec t . We e n s ur et he validit y of t h e con ten ts of inp u t an d ou tp u t and c oll e ct s of t war e p r ojec t sam ples t o c on st r u ct an dt e s t t h e mod el. We divide t h e samp les in to t wo par t s , wh ic h ar e us ed f or t h e t r ai n in g an d t h e validit yt e s t o f mo del r esp e ctiv e ly . I t is p r ov e d th at th e mod e l cou ld evalu ate t he t ot al r isk of s of t war e p r ojec t .
Ke y wor ds : n e u r al net wor k ; s of twar e p r ojec t r isk ; sof t wa r e ou tcome; evaluat ion .
  软件项目开发有很高的失败率。 根据St andis h Group[ 1, 2]对美国超过8 000个民用军用的各种软件项目的调查, 1996 年、 2000 年和 2004年的软件项目成功率分别为27% 、 28% 和29% ,其他则部分或者完全失败。中国的相关研究表明, 软件项目成功率不足 30%[3]。可见, 软件项目开发有很高的风险, 因此, 加强软件项目( 尤其是大型软件项目) 开发的风险管理是软件开发的重要工作之一。
  1 研究方法的选择软件风险有不同的定义, 美国国防部认为,软件风险是在预定的成本、 工期和技术约束下,可能无 力全面达到 计划目标 的度量指 标[ 4]。KON TIO[5]认 为, 风 险 就 是 损 失 的 可 能 性。WIE GERS[6]认为, 风险就是还没有发生的问题, 但它若发生则可能引起某种损失或威胁项目成功的因素。 以上概念表明, 软件项目风险强调的是项目中对产出产生负面影响的因素。软件风险 管理由 BOEH M[ 7 ]和CH ARET T E[ 8 ]等于 20 世纪 80 年代末引入软件项目管理中, 建立了基本框架, 为该领域奠定了研究基础。 软件项目风险管理包括风险识别、 分析和控制。 其中, 风险测量是风险分析的关键环节。 软件项目风险常用的测量评估方法包括影响图( influence diagr am, ID ) 、 贝 叶 斯 置 信 网 络( bayes ian belief net work, BBN) 和人工神经网络( ar t if icial neural net work, A NN ) 等。其中,BBN 和ID 存在2 个方面的缺陷: ¹网络关系和条件概率表是根据专家经验获得, 主观性较强;º若网络增加节点, 则需要重新调查以获得新的条件概率表, 即网络扩展性差。 以上缺陷对模· 39 1 ·  第 7 卷第 3 期2 01 0 年 3 月            管 理 学 报Ch i n es e J ou rn al of M ana gemen t          Vol . 7 No. 3Mar . 201 0  型的推广使用十分不便。 A NN 是较合适的风险测量方法, 其有效性已得到验证。 KH OSHGOF T AAR 等[ 9 , 10 ]利用 ANN 方法建立程序子模块风险的预测模型, 该模型从一个电信项目中获取 56 个模块的历史数据进行网络训练。NEU MANN 等[11 ]通过扩展 ANN 方法来预测软件错误率的风险水平。神经网络方法对所研究的问题有如下优点[ 1 2, 13]: ¹对非线性问题有很好的描述性能。 在研究中对 20 多位专家进行深度访谈, 发现软件项目风险对产出的影响有非线性的特性。º在风险和关系复杂的非确定问题分析上, 不用主观地建立节点间的影响关系。»可以有效地处理有噪声的数据。¼对数据样本量要求比较灵活。 ½可以处理模糊的数据, 而不局限于准确数据。神经网络是一组有连接的输入输出单元,其中, 每个连接都与一个权值( V , W) 相联, 网络结构包括输入层( X ) 、 输出层( O) 和隐藏层( Y ) 。神经网络的输入输出处理由转移函数及其阈值决定, 权值由训练样本训练获得。 在各种神经网络中, B P 网络是应用最广泛的神经网络, 典型的 3 层BP 网络见图1。图 1  3 层 B P 网络
  2 模型的建立在本文中, 模型的输入部分是项目的关键风险因素。 在神经网络方法中, 对类隶属关系无预测性的属性会对测量结果的准确性产生较大影响[ 13 ], 因此, 为保证模型的有效性, 首先验证对识别模型输入的风险因素的有效性。风险因素识别属于风险管理体系中的第 1个重要环节。CMU / S EI 提出基于分类的风险识别方法具有全面系统的优越性。比较完整的分类体系有CMU / SEI 的CA RR 等[ 1 4]提出的分类方法, 该方法将风险分为产品工程、 开发环境、 程序约束3 个大类及相应的13 个小类, 并以此为基础设计出包含194 个问题的问卷。 WALLACE 等[15 ]将风险分为 6 类, 包括团队风险、 组织环境风险、 需求风险、 计划和控制风险、 用户风险、 复杂度风险。为使风险分类更清晰有效,本文以OST ERWEIL[16 ]提出的软件宏微观过程统一框架作为分类的理论基础, 以此建立模型的分类体系。根据这个框架, 笔者将风险分为 2个部分: 项目输入部分和开发过程部分。 前者指外部的项目复杂性和资源约束; 后者指软件开发过程中存在的管理、 技术、 人员和过程等方面的风险。这 2 个部分的风险共同影响软件项目产出, 如果风险发生就可能引起某种损失或威胁项目的成功。模型的输出部分是软件项目产出。较有里程碑意义的软件项目产出结果的测量框架包括DELONE 等[ 17 ]的 6 维成功模型, SEDD O N[ 1 8]和HU 等[19]对评估模型进行的修正。系统的成功除了产品结果的成功之外, 还必须按时间和预算交付, 因此, 本模型的软件项目产出测量维度包括系统质量、 用户满意度、 组织影响和按计划的时间和费用交付。在以上文献和理论的基础上, 对 24 位专家做了深度访谈, 其中, 包括 4 位软件工程、 信息系统和项目管理方面的教授, 20 位项目经理和软件产业界专家( 包括软件承包方项目经理、 软件客户方项目领导和第三方咨询顾问) 。 在此基础上制定了软件项目风险重要性问卷, 问卷量化采用模糊范围的5 点法。重要性问卷包括个人情况、 项目开发过程风险和项目复杂性风险3个部分。该问卷用于验证风险因子的重要性。风险因素重要性问卷共发放65 份, 收回45份, 有效41 份。 地区分布包括广州、 深圳、 上海、成都和南京 5 个地区, 其中, 广州地区的问卷大部分亲自上门发放, 其余地区用E -ma i l 发放。在风险因素重要性问卷中, 重要性均值只有“ 系统开发缺乏重用的积累” 和“ 缺乏自动化工具以提高效率” 分别为3. 29和3. 39, 其余风险因子的均值都高于3. 5, 说明问卷的风险因子都是对项目产生重要影响的因素。根据访谈的了解, 以上 2 个因子均值较低的原因主要是对于一些规模小和复杂度低的项目而言影响不大( 当然, 对于小系统而言, 重用的积累和自动化工具无疑也可以大大地提高项目的开发效率) ,而对于大规模软件项目则会产生至关重要的影响, 所以问卷保留这 2 个因子。3 数据的收集软件风险产出水平问卷包括 4 个部分: 项目和公司基本状况、 项目产出状况、 项目开发风险和项目的复杂性, 问卷的输入输出结构见表· 392 ·管理学报第 7 卷第 3 期 2 01 0 年 3 月1。问卷的量化同样采用模糊范围的 5 点法( 受篇幅限制, 问卷从略) 。软件风险产出水平问卷共发放 80 份, 收回 55 份, 有效问卷50 份。发放地区和方式与重要性问卷相同。样本数据的信度均高于0. 7的信度水平, 说明问卷的一致性信度相当好。表 1 软件项目风险分 类结构与信度系数一级分类 二级分类 三级分类 因子数信度系数输入输出项目开发过程风险项目复杂度风险项目产出干系人协同风险工程风险管理风险团队风险需求复杂度客户环境复杂度产品结果过程项目干系人协同 8 0. 890需求开发 4 0. 890需求管理 3 0. 762开发与支持 9 0. 822项目计划与控制 5 0. 892质量与支持 4 0. 834团队关键成员 3 0. 845团队成员 4 0. 807团队的组织管理 5 0. 779需求复杂度 9 0. 898客户与环境复杂度 10 0. 934系统质量与满意度 10 0. 921时间费用情况 2 0. 802  在网络建模中, 为保证预测的准确率, 最理想的样本数是能达到连接权重数的 2 倍。但这只是理想样本数, 在实际应用中对学习样本数的要求较灵活[10 ], 只要有较满意的预测准确率就认为可以接受。在保证模型达到较满意的预测准确率的前提下, 构建模型时采用较少的训练样本: ¹样本状况。 从行业看, 样本来自政府、金融等各种不同的行业。 在开发方式上, 样本包括定制和集成2 种不同的开发方式。在开发规模方面, 包括从10 万到超过500 万的项目。 在承包方的组织规模方面, 大部分为 50 人以下的企业, 与中国软件开发企业规模的状况相符。 在项目 成功率方面, 有 22% 是完全成功的, 略低于St andis h Gr oup 对美国软件项目完全成功的27% ~29% 的水平, 这与中国的软件生产水平的实际情况相符合。 项目样本比较有代表性, 样本空间较好地覆盖了研究问题的空间。º样本可信度。 从信息质量方面看, 有72% 的问卷填写人拥有 4 年的项目开发经历, 对项目管理有相当的经验。 公司经理或项目经理超过50% , 开发成员为36. 7% , 这些人员足以提供问卷所需要的信息。 »样本收集时间。 研究采用的是项目级样本, 获取代价很高, 样本收集历时半年。4 实验结果实验将以上 50 个项目样本分成 2 个部分,34 个样本用于神经网络训练, 16 个样本用于模型测试。 模型的输入是经标准化的64 个风险因素评估值。 模型的输出部分是项目的输出。 输出值将项目产出原有的12 个因素值标准化为3 个等级: 3 表示成功的项目, 2 表示被挑战的项目( 即部分失败的项目) , 1 表示完全失败的项目。然后对 3 个等级进行线性变换, 按均值映射到( 0, 1) 区间。在神经网络实验中, 根据神经动力学理论确定模型相关参数[ 1 0]。由于没有任何理论根据要求网络采用 2 层以上的中间层, 对于大多数问题可以用1 层中间层, 因此, 本模型的网络结构也采用1 层作为中间层。 在本实验中,中间层的单元数按照公式 R = mn 获得, 其中, R 表示中间处理单元数, m 表示输出单元数, n 表示输入单元数。 传递函数采用最常用的S 函数。神经网络实验参数见表 2。表 2 模型的 神经网络参数类型 感知器 算法 B P连接方式 前向 学习系数 1. 5层数 3 动量项 0. 7输入节点数 64 隐藏活动函数 t a nsig隐藏节点数 8 输入活动函数 logsig输出节点数 1  模型有效性的主要参数是对测试项目样本的测量准确率。 在本研究中, 模型测试错误可以分成 2 类: ¹高估风险的错误, 即指模型对产出的估计低于实际产出。这类错误给项目干系人错误的指导, 使他们为保证项目成功加大了回避和控制风险的成本, 造成一定的浪费。 º低估风险错误, 是指模型对产出的估计高于实际产出。 这类错误给项目干系人错误的指导, 使项目干系人对产出过于乐观, 造成的损失是项目的产出失败, 承包方与客户方的关系磨擦, 公司业绩下降。 一般来说, 第º类错误对项目造成的损失高于第¹类错误。在实验的 16 个样本测试中, 有2 个犯第¹类错误, 占总体的12. 5% 。 有 1个犯第º类错误, 占总体的6. 25%。 模型总体预测准确率为81. 25% 。 实验结果( 见表 3) 显示该模型有较好的预测能力。表 3 测试数 据的对照矩阵预测的组群关系失败百分比/ %部分失败百分比/ %成功百分比/ %原始样本失败部分失败成功4 80 1 20 0 01 16. 7 4 66. 6 1 16. 70 0 0 0 5 1005 结语目前, 对软件项目的测量往往只偏重于某· 39 3 ·软件项目风险的神经网络预测模型 —— 胡 勇 贺晓娟 黄嘉星 等方面风险的测量, 如软件错误率等。 本文用神经网络方法建立项目的总体风险测量模型, 可以为项目干系人从项目总体上把握风险提供决策支持。研究中采用的是企业级样本, 数据获取困难, 只能采用较少的样本进行模型的训练, 这是本文的局限。但是, 由于数据的信息质量较好,项目样本比较有代表性, 样本空间较好地覆盖了研究问题的空间, 所以, 针对复杂的软件项目风险测量, 模型的总体预测准确率仍然可以达到81. 25% , 达到神经网络方法在同类研究中的85% 、 81. 63% 准确率水平[ 2 0], 这证明了本文理论模型的有效性。本研究在以下方面有待进一步改进: ¹收集更多的样本数以改进模型。º采用其他方法增强神经网络的性能, 如遗传算法等。 »采用的神经网络分析方法虽然有诸多优点, 但也有中间节点不可视性的缺点, 这一缺点使项目的决策人虽然易于预测结果, 但难于对产生的问题进行显式的跟踪和模拟, 因此, 要解决这个问题还需要根据项目的情况进一步进行规则发现,为项目提供更多的显式的决策信息。
    参 考 文 献[ 1] T h e St an d i s h Gro u p. E x t r eme Ch ao s [ E B/ OL ] .( 20 01 -04 -0 5 ) [ 2 00 8-0 9- 04 ] . h t t p : / / www. s t an d i s h g ro up . c o m.[ 2] T h e St an di s h Gr ou p . 20 04 T h i rd Qu art er Res earchR epo rt [ E B/ OL ] . ( 2 00 4- 03- 15 ) [ 2 00 8- 09 -04 ] .h t t p: / / www. s t an d i s h gr ou p . com .[ 3] 左 美云, 邝孔武. 信息系统的开发 与管理教程[ M] . 北京 : 清华大学出版社, 20 01.[ 4] R AZ O, SHAW M. So ft wa re Ri s k Man agemen t AndI ns u ran ce[ C] / / T h e 23 rd I nt ern at i o n al Con fer ence onSo ft ware E n gi neer i n g ( Wor ks h o p on E con o mi cs Dri v en Soft war e E ng i n eeri n g Res ear ch ) , NY, 200 1.[ 5] KONT IO J. So ft wa re E n g i n eeri ng R i s k Man ag emen t : A Met ho d , I mpr ov emen t F ramewo rk , an d E mp i r i cal E v al u at i on [ D] . E s p oo , F i n l a nd : T h e Cen t er forE x cel l en c e , Hel s i n k i U ni ver si t y o f T ech n ol og y, 20 01 .[ 6] WIE GE R S K E . Kno w Yo u r En emy : So ft ware Ri s kM anag emen t [ J ] . Soft war e Devel op men t , 19 98 ,6 ( 1 0) : 3 8~4 2.[ 7] BOE HM B W. Soft war e R i s k M ana gemen t [ M ] .Was h i n gt o n D C: IE E E Comp u t er Soci et y Pr es s ,1 98 9.[ 8] CHARE T T E R N. Soft war e E n g i n eeri ng R i s k An al y si s an d Man ag ement [ M ] . New Yo rk : M c Gra w- Hi l lBoo k , 1 98 9.[ 9] KHOSHGOF T AAR T M, L ANNI NG D L , P ANDYA A S. A Neu r al Net wor k Mod el i n g Met ho do l og yfo r t h e Det ec t i on o f Hi g h -Ri sk P ro gr ams [ C ] / /F ou r t h Int ern at i on al Sy mpo s i u m on Soft war e R el i ab i l i t y E n gi n eer i n g , L on do n , 1 99 3: 30 2~30 9.[ 10 ] KHOSHGOFT AAR T M, AL LE N E B, HU DE POHL J P , et al . Ap pl i cat i on of Neu ra l Net wor k s t oSoft war e Qua l i t y M od el i ng of a Very L arg eT el ecommu n i cat i o n s Sy st em[ J ] . IE E E T r an s ac t i on son Neu ral Net wor ks . 19 97 , 8 ( 4 ) : 902 ~90 9.[ 11 ] NE UMANN D E . An E n h anced Neu ral Net wo rkT ech n i qu e fo r So ft ware Ri s k An al y si s [ J ] . IE E ET r an sact i on s on So ft ware E n gi neer i n g , 2 00 2, 2 8( 9) :90 4~9 12 .[ 12 ] 张际先, 宓霞, 神经 网络及 其在 工程 中的应 用[ M] .北京: 机械工业出版社, 1 99 8.[ 13 ] ROIGE R R J , GE AT Z M W. Dat a M i i n g : A T u t o ri al - B as ed Pr i mer [ M ] . B o s t on , MA: Ad di so n -wes l ey , 2 00 2.[ 14 ] CAR R M J , KONDA S L , M ONARCH I. T ax on o my- B as ed R i s k I den t i fi cat i o n [ R] . SE I T ech n i cal R epo rt SE I -93 -T R-0 06 , Pi t t s b ur gh , PA: So ft ware E n gi n eer i n g I ns t i t u t e, 199 3.[ 15 ] WAL L AC E L , KE IL M, RA A. Un der s t an di ngSoft war e P ro j ect Ri s k : A Cl u s t er An al y s i s [ J ] . In for mat i o n and Man ag ement . 2 00 4, 42 ( 1) : 1 15 ~12 5.[ 16 ] OST E RWEI L L J . Un i fy i n g Mi cr op ro cess andMacr op ro c es s R esea rch [ J ] . L ec t ur e No t es i n Co mpu t er Sci en c e , 20 05 , 3 8( 40 ) : 68 ~74.[ 17 ] DE L ONE W H, MCL E AN E R . In fo rmat i on Sys t emSu c ces s : T h e Qu est for t h e Depen d ent Vari ab l es[ J ] . I nfo rm at i o n Sy s t ems Res earch . 19 92 , 3 ( 1 ) :60 ~95 .[ 18 ] SE DDON P B. A R esp eci fi c at i on a nd E x t en s i on oft h e Del on e an d M c l ean Mod el of IS Su c ces s [ J ] . In for mat i o n Sys t em Res ear ch , 1 997 , 8 ( 3 ) : 24 0~2 53 .[ 19 ] HU Y, XIAO J H, P ANG J F , et al . A Res ear ch ont h e App r ai s al Fr amewor k of E -Gover n men t P ro j ectSu c ces s [ C] / / T h e P ro ceedi ng s I nt ern at i o n al Con fer ence o f E l ect r on i c Commer ce, Xi ' an , Ch i n a, 20 05.[ 20 ] ZHANG G P , KE IL M, RAI A, et al . Pr edi ct i n g In for mat i o n T ec h n ol og y P ro j ect Es cal at i o n : A Neu ralNet wo r k App ro ach [ J ] . E u r op ean Jo u rn al o f Op er at i o nal Res ear ch , 2 003 , 1 46 ( 1 ) : 11 5~1 29.

[返回]
上一篇:计算机毕业论文(设计)开题报告
下一篇:利用灰色预测与模式识别方法构建网络舆情预测与预警模型