欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    BP神经网络在软件项目风险评估中的应用.pdf

    • 资源ID:74688790       资源大小:476.18KB        全文页数:5页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    BP神经网络在软件项目风险评估中的应用.pdf

    基金项目:贵州省科学技术基金项目(黔科合 J 字 LKS 2010 35)收稿日期:2010 09 30修回日期:2010 11 04第 28 卷第 7 期计算机仿真2011 年 7 月文章编号:1006 9348(2011)07 0374 05BP 神经网络在软件项目风险评估中的应用李华1,曹晓龙1,成江荣2(1 贵州师范大学,贵州 贵阳 550001;2 陇南师范高等专科学校,甘肃 陇南 742500)摘要:关于准确地识别软件风险因素,深入研究软件项目风险评估问题,由于软件项目的复杂性和软件风险因子的不确定性和模糊性,无法采用传统数学方法建立准确软件项目风险评估模型。由于传统的数学评估模型的评估准确率比较低,为了提高软件项目评估准确率,提出一种 BP 神经网络的软件项目风险评估方法。软件项目风险评估方法采用专家系统构建软件项目风险评估指标体系,后对评估体系进行预处理,消除评估体系之间重复和无用的信息,并将非线性学习能力优异的BP 神经网络输入,通过 BP 神经网络自适应学习得到的最优软件项目评估模型,在 MATLAB 平台上进行验证性仿真。结果表明,算法提高了软件项目风险评估的准确率,克服了传统数学评估模型的缺陷,评估的结果更具科学性,在软件项目风险评估中提供了有效的方法。关键词:软件项目;风险评估;神经网络中图分类号:TP391;TP311文献标识码:AResearch on Risk Assessment of Software ProjectBased on BP Neural NetworkLI Hua1,CAO Xiao long1,CHENG Jiang rong2(1 Guizhou Normal University,Guiyang Guizhou 550001,China;2 Department of Literature Longnan Teachers College,Longnan Gansu 742500,China)ABSTRACT:Dealing with software project risk assessment The traditional evaluation method uses qualitative andquantitative evaluation method,and the evaluation results is charging with the influence of subjective assessment Inorder to eliminate subjective factors in the project risk assessment,in this paper,we proposed the BP neural networksoftware project risk assessment model Firstly,building a software project risk assessment index system;secondly,according to the evaluation system of software project assessment,building the BP neural network structure Finally,training with the MATLAB neural network tools and testing the test data,the BP neural network software project riskassessment model is proved feasible and effective in risk assessment,which has broad application prospectKEYWORDS:Software project;Risk assessment;Neural network1引言软件风险是指软件开发过程中及软件产品本身可能造成的伤害损失,由于软件项目开发和管理中存在着诸如技术、内部管理及外部环境等种种不确定因素,使软件行业成为高风险的产业,如果风险变成了现实,就会产生恶性后果或损失。对软件项目进行风险评估能准确地预测软件项目的风险所在,并且采取有效的措施进行控制,从而更好地进行风险规避1。软件项目风险评估的重要性与必要性引起了软件行业重视,大批学者和研究机构对风险评估进行了广泛而深入研究2。目前的软件项目风险评估方法包括专家打分法、层次分析法、模糊数学法等方法3 4。专家打分方法是依据专家的经验对软件项目风险进行评判,不同的专家拥有项目风险知识不一样,这样评估结果具有很大的主观性,不利于对风险的客观分析5。层次分析法减少了人的主观因素对软件项目风险评估准确性的影响,然而只能用于软件项目风险的静态、逻辑的建模,从而影响了软件项目风险之间独立性的评估。模糊数学法是一种基于线性系统的评估方法,但是由于软件风险具有很强的非确定性和非线性,导致其评估结果不理想。人工神经网络是近年来发展起来的一种人工智方法,受到了各个领域广泛关注,得到了深入研究并产生大量成熟的研究成果。BP 神经网络作为使用最为广泛的一种神经网络,具有实现算法简单、收敛速度快、具有极强的鲁棒性473等优点,成功地用于软件工程领域中的软件质量预测、软件错误预测等方面。由于 BP 神经网络不需要研究目标的具体属性,其可以无限的逼近其真实系统,因此其非常适合于具有不确定性、模糊性和非线性的软件风险数据。针对当前软件项目风险评估算法存在的不足,本文将BP 神经网络引到软件项目风险评估中,提出一种基于 BP 神经网络的软件项目风险评估方法。仿真结果表明,利用 BP神经网络对软件项目风险进行评估,可以有效地减少人为因素对评估准确性的影响,能够极大地提高评估精度。2软件项目风险评估原理软件风险管理旨在制订一系列可行的原则和实践,规范化地控制影响项目成功的风险,目的是识别、分析和消除风险因素,以免它们威胁软件的成功运作。在此基础上,软件风险管理致力于两个活动:其一是识别风险因子并分析其重要性,通过评估风险发生的概率和它对项目的影响来确定;其二是制定策略去管理、控制已确定的风险因子。根据 Boe-hm 的定义,风险是“损失或受伤的可能性”,应用到软件风险管理上,称为“风险暴露”(Risk Exposure),或者“风险冲击”(Risk Impact)、“风险因子”(Risk Factor),风险暴露由下式定义RE=P(UO)L(UO)(1)上式中,RE 表示风险暴露值,P(UO)表示非期望结果发生的可能性,L(UO)表示在风险发生了的情况下对软件项目造成的损失的程度。软件项目风险是指软件开发过程中及软件产品本身可能造成的损失6。软件项目风险评估过程从软件项目中期开始进行,一直持续到后面的软件项目阶段,因此,随着软件开发的不断进行,软件风险评估会随之变化。软件风险评估的过程包括两个阶段:即软件项目风险识别阶段与软件项目风险分析阶段7,评估原理见图 1 所示。图 1软件项目风险评估原理从软件项目风险评估原理图,可知评估模型性能的好坏对评估结果起着决定性的作用,由于软件风险受到多因素的影响,软件风险因子重要不同,是一种复杂的非线性系统,无法建立精确的数学模型。BP 神经网络具有很强的非线性拟合能力,非常适用于软件项目风险评估,因此本文采用 BP 神经网络进行软件项目风险评估。3BP 神经网络的软件风险评估算法3 1软件项目风险评估指标体系的选择对于软件项目风险而言,影响的因素有很多,参考相关研究8 9,将软件项目中可能存在的风险进行整理,归为四大类,分别为软件管理风险、软件过程风险、软件技术风险、软件环境风险。本文根据相关分析,最终从这四类风险中获得 17 个因子作为评估软件项目风险评价的指标体系,见图2。图 2软件项目风险评估指标体系在评估的过程中,将每一个风险指标分为五个级别:高、较高、一般、较低、低,风险级别对应分值分别用 0 9、0 7、05、0 3、0 1 进行表示。3 2软件风险评估的 BP 神经网络模型建立BP(Back Propagation)神经网络是 1986 年由 Rumelhart和 McCelland 为首的科学家小组所提出,是一种按照误差逆向传播的多层前馈网络,它的应用十分广泛,是目前应用最广泛的神经网络模型之一。BP 神经网络能学习和存贮大量的输入 输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用梯度下降法,通过反向传播来不断调整网络的权值和阈值,使神经网络的实际输出与期望输出之间的误差平方和最小。一般情况下,BP神经网络由输入层、隐含层和输出层三部分组成。BP 神经网络能够以任意精度的函数逼近实际输出,这样为软件项目风险评估提供了一新的途径。基于 BP 神经网络的软件项目风险评估过程包括两个阶段:正向传播与误差的反向传播。当 BP 神经网络进行正向传播时,首先将用于软件项目风险评估影响因子值进行归一化处理,然后将归一化处理后的样本作为 BP 神经网络的输入,经各隐含层进行处理,最后在神经网络的输出层输出,如果输出层的实际输出与期望输出有差异太大,不能满足预先设定的精度要求,那么就误差的反向传播阶段。误差反传是573将输出误差通过隐含层向输入层逐层反传,并不断调整神经网络的参数,从而误差不断的减小。BP 神经网络结构图图 3所示。图 3BP 神经网络结构图3 3BP 神经网络的软件风险评估过程软件项目风险评估是软件项目风险管理过程中最为关键的部分,通常软件项目评估过程分为风险发生概率评估和风险影响评估。BP 神经网络就是针对风险分析过程的,首先对评估指标体系进行归一化处理,然后将处理后的数据输入 BP 神经网络,BP 神经网络根据网络的输入与输出进行学习,自动调整隐含层神经元的权值,建立起从输入层到输出层之间的特定的函数映射关系,其具体步骤为:1)建立软件项目评估指标体系。通过一些软件专家对软件项目评估指标体系进行选择。2)评估指标体系的归一化处理。为了消除不同量纲对评估结果的影响,对指标体系进行归一化处理。3)BP 神经网络结构。由于 BP 神经网络隐含层节点数与输入/输出节点数的多少存在着直接的关系,其确定过程非常复杂,因此,本文采用如下三个公式来确定隐含层的节点数;n1槡=m+n+a(2)n1=3槡mn(3)n1=log2n(4)n1表示隐含层节点数,m 表示输入层神经元个数,n 表示输出层神经元个数,a 表示 1,10之间的常数。经过测试,本研究中,n1选择 15 模型收敛最快,误差效果最好。4)BP 神经网络的学习训练。根据已有的函数关系,对BP 神经网络进行训练,当 BP 神经网络达到最大训练次数或误差精度达到预先设定值时,网络学习训练结束。5)利用 BP 神经网络对软件项目风险进行评估。经过以上分析可知,基于 BP 神经网络的软件项目风险评估流程如图 4 所示。4仿真研究4 1软件项目风险评估样本本文在以往的软件开发项目中选取 8 个有代表性的软图 4软件项目风险评估中流程图件项目作为 BP 神经网络训练的样本集,见表 1,每个项目的17 种风险指标已经通过计算得到,由于软件风险程度是一个定性概念,所以必须将这种定性描述的状态转化成为定量化表示方式,本文将软件项目整体风险确定为四个等级:等级,表示风险很低,取值范围为 0,0 25;等级,表示此时风险很小,采取正常的手段可避免风险的发生,取值范围为 0 25,0 5;等级,表示项目风险可能会造成较大损失,应该引起足够的重视,从而尽量减少经济损失,取值范围为 05,0 75;等级,表示时风险极可能造成整个软件开发项目失败,应该立即采取措施,防止风险发生,取值范围为 0 75,1 0。在仿真中,本文采用 MATLAB7 01 作为软件平台,通过调用神经网络工具箱实现 BP 神经网络算法。训练样本集见表 1。表 1软件项目风险训练集项目12345678X10303050703050105X20305070503050305X30303050303030303X40105070503030301X50105050303050105X60103070703010305X70105050701030305X80305030505050105X90303050703030305X100103050501030103673X11030 50 30 703030 103X12050 30 50 503050 507X13030 70 30 501030 305X14010 50 70 905030 103X15030 10 30 307050 501X16050 30 50 703010 507X17050 30 50 705070 307风险0110650 70 860 360 410 21072等级4 2BP 神经网络对软件项目风险训练采用 BP 神经网络对软件项目风险评估进行学习,通过不断动态调整 BP 神经网络结构参数,最后得到 BP 神经网络结构为 17 15 1,即输入层有 17 个节点,隐含层有 15 个节占,输出层有一个节点。由于样本输入和输出值都处于 0,1 的范围内,BP 神经网络隐含层选择 logsig 转换函数,输出层选择 purelin 转换函数,训练函数采用 traing(d),学习速率取 =0 01,期望误差 s=0 0001,最大训练次数设为500 次。当达到最大训练次数 500 时,此时网络训练误差达到了 00001,结果见图 5。图 5BP 神经网络训练过程4 3BP 神经网络对软件项目风险评估BP 神经网络达到训练精度后,停止训练,利用训练后的BP 神经网络对测试样本集进行测试,测试样本集见表 2。表 2软件项目风险测试集项目123456X1030 5050 5030 1X2010 3030 3050 1X3050 5030 3050 1X4050 5030 3070 3X5030 7030 3050 1X605050 3010301X703010 5050503X803030 3050303X903030 5030301X1001050 3010301X1103030 3070303X1205070 3050301X1307050 3030107X1401030 1010103X1503050 5030501X1601050 5050303X1705010 1010703风险0010450420180 160 08等级将表 2 中的测试样本导入 BP 神经网络,经过运算后,输出结果为 0 0100,0 4498,0 4201,0 1793,0 1600,0 0805,与风险实际值 0 01,0 45,0 42,0 18,0 16,0 08进行比较,其误差分别为 0,0 0002,0 0001,0 0007,0,0 0005,准确率都达到了 104预定水平。因此,如果要对某软件项目进行风险评估,首先收集该软件项目的 17 种风险评价指标值,然后通过采用 BP 神经网络建立风险评估模型,最后进行软件项目风险评估,从而到预测项目总风险水平等级,项目决策者根据软件项目所处的风险等级,采取相应的风险管理措施,从而最大限度地减少风险损失。5结论本文通过构建软件项目风险评估体系,设计完成了 BP神经网络的软件项目风险评估模型,该方法有别于以往的定性评估方法,使评估的结果精度得到了很大的提高。仿真结果证明,将 BP 神经网络引入到软件项目风险评估中,能够有效地预测潜在的风险。通过 BP 神经网络对软件项目风险发生的概率进行推理,很好的解决了采用传统的定性方法对软件风险评估的主观性的影响,降低了评估的难度,从而能够有效降氏风险造成的损失。BP 神经网络是一种具有自学习的智能方法,能够不断对企业的风险数据库进行丰富,在学习过程中提高软件项目风险的预测和应变能力,降低了软件项目风险发生概率,是一种有效的软件项目风险评估方法,具有很好的应用前景。参考文献:1谢成钢,曹文钊 软件项目费用风险混合评估方法J 计算机仿真,2009,26(4):304 343 2王长峰 现代项目风险管理M 北京:机械工业出版社,7732008232 245 3李美华,付宏 软件项目风险评估模型的建立J 吉林大学学报(信息科学版),2005,23(6):696 701 4刘亚峰,师刚 软件项目风险评估技术与方法研究J 甘肃科学学报,2003,15(4):106 109 5A C V Demelo,A J Sanchez Software maintenance project delaysprediction using Bayesian networksJ Expert Systems with Ap-plications,2008,34(2):908 919 6林锐,等 IT 企业研发管理M 北京:电子工业出版社,2007 7付玉,等 应用软件开发的需求风险及控制 J 计算机工程与应用,2005,41(13):91 93 8杨莉,李南,和媛媛 三角模糊数多属性决策在软件项目风险评估中应用J 计算机工程与应用,2010,46(11):246 248 9刘增,刘源 基于改进模糊综合评价法的软件项目风险评估J 中国制造业信息化,2009,38(7):70 73 作者简介李华(1971 ),女(汉族),贵州贵阳人,副教授,硕士,主要研究方向:软件工程,数据库应用;曹晓龙(19768 ),男(汉族),贵州贵阳人,贵州师范大学副教授,硕士,主要研究方向:软件工程;成江荣(196410 ),男(汉族),甘肃省徽县人,副教授,主要研究方向:计算机应用。(上接第 311 页)与 BKL1,EL2,以及 SHW3 所提方法相比,实验中水印由 256 个位 1 和 256 个位 0 组成。结果如图 3 所示,从图3 中可以看出,本文提出的方法较 PSNR 比文献 3 所提方法更优,虽然使用比大于度 0 7 防止旋转攻击不是很理想,但是远比上述方法好,尤其是在对 JPEG 压缩的低通滤波攻击上。5结论本文提出了一种通过离散化小波树的最大小波系数来进行盲水印方法。通过离散化最大小波树的小波系数来嵌入水印位。小波树在水印位 0 和水印位 1 展示了足够大的能量差异,这个差异是通过显著差异来表示的,有助于随后的水印提取。在抽取过程中,设计了一个自适应的阀值。此外,每个小波树都嵌入水印位,不仅能在图像中嵌入更多的位,同时能在不需要任何原始图像的情况下提取水印,通过在抽取过程中设计自适应阀值。本文所提方法除了应用在保护版权上,还可以被应用到数据隐藏和图像认证上。参考文献:1B K Lien and W H Lin A watermarking method based on maxi-mum distance wavelet tree quantizationCpresented at 19thConf Computer Vision,Graphics and Image Processing,2006 ofConference,2006 2E Li,H Liang and X Niu An integer wavelet based multiple logo watermarking schemeC presented at Proc IEEE WCICA,2006 of Conference,2006 3S H Wang and Y P Lin Wavelet tree quantization for copyrightprotection watermarkingC IEEE TransImage Processing,Feb 2004,13:154 165 4丁润伟,朱晓慧 基于 Haar 小波变换的数字图像水印算法J 黑龙江水专学报,2006,33(1)5纪震,肖薇薇,王建华,张基宏 基于混沌序列的多重数字图像水印算法 J 计算机学报,2003,26(11)6孙星明,杨恒伏 一种基于小波变换的鲁棒彩色突袭那个水印算法J 计算机研究与发展,2008,45 7李京兵,黄席褪 一种基于 DWT 抗几何攻击数字水印鲁棒算法 J 计算机仿真,2007,24(3):303 307 8赵培东,谢剑英 基于密钥特征点的抗几何攻击图像水印算法J 计算机仿真,2008,25(1):158 161 作者简介孙昉(1975 ),女(汉族),吉林省长春市人,硕士研究生,主要研究领域为数字图像处理、软件可靠性等;李平(1960 ),女(汉族),吉林省长春市人,教授,主要研究领域为模式识别、计算机网络安全、多媒体通信技术;王润芳(1976 ),女(汉族),吉林省长春市人,硕士研究生,主要研究领域为数据库系统、信息安全等;李鹏(1976 ),男(汉族),吉林省长春市人,硕士研究生,主要从事计算机网络安全、模式识别与数字图像处理的研究。873

    注意事项

    本文(BP神经网络在软件项目风险评估中的应用.pdf)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开