下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于支持向量机的软件项目风险评价3100字软件风险是指软件开发过程中及软件产品本身可能造成的伤害损失,由于软件项目开发和管理中存在着诸如技术、内部管理及外部环境等种种不确定因素,使软件行业成为高风险的产业,如果风险变成了现实,就会产生恶性后果或损失,因此应对软件项目风险进行评价以便于更好地进行软件项目地开发及管理。目前的风险评价及分析方法主要有调查和专家打分法、模糊数学法1、层次分析法2,定性方法、基于树的方法;专家打分法、模糊数学法、层次分析法人为因素多而且手工计算繁琐。定性方法用于辨识系统中的潜在危险和失效是有效的,但缺乏考察事件之间依赖性的能力。基于树的方法弥补了这一缺陷,考虑了事件之间
2、的依赖关系,但基于树的方法主要用于找出导致不期望事件的截集,然而这种方法只能用于事故场景的静态、逻辑的建模,并且影响人类行为的因素不能被明确地建模,这就影响了事件之间独立性的评估。 本文提出的信息熵的方法用来对软件各个风险因素重要性进行计算,它具有运算量小,结果直观易解释以及易评估的性质,排除了人为的主观因素。本文利用支持向量机(SupportVectorMachine简称SVM)方法来预测软件风险,它是建立在统计学习理论的VC维理论和结构风险最小原理(SRM)基础上3。兼顾训练误差和泛化能力,根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折衷。在解决小样本、非线性、高维数、局部极小值
3、等模式识别问题中表现出许多特有的优势。因而在许多领域得到了成功的应用。同时,为了评估各个风险因素的重要程度,本文采取了信息熵的方法,这种方法具有计算量小和易解释性,弥补了专家打分法中因人为因素造成的主观性。 本文其它内容如下。第二部分介绍软件项目风险评价指标体系的建立,进而从各个侧面较完整地反映出软件项目的风险。第三部分和第四部分分别描述了基于信息熵的软件项目各风险因素的重要性评判以及基于支持向量机的软件项目风险类别的评估。第五部分是根据建立的模型利用数据进行实例研究。第六部分对本文进行了总结。 软件项目风险评价指标体系的建立软件项目的风险评估指标应能从各个侧面较完整地反映软件项目的风险,同时
4、需要按照一定的标准将风险分类。 在软件项目开发过程中,一般有以下六个风险因素会直接影响软件的风险,分别如下:1)软件产品规模(F1)根据以往开发项目的经验所知项目的风险是直接与产品的规模成正比的。软件产品规模有以下几个因素决定:产品规模估算的信任度、软件产品的用户数、复用的软件数、产品规模与以前产品规模平均值的偏差。 2)业主需求(F2)每位业主都有自己不同的需求,开发商为了满足不同业主的不同需求。决定业主需求的因素有:业主供应条目或信息、内部或外部转包商的关系、交互成员或交互团体依赖性、经验丰富人员的可得性。 3)软件项目需求分析(F3)软件项目需求分析就是分析人员在用户和软件设计人员的配合
5、下对自己生成的需求规格说明和初步的用户手册进行复核,以确保软件需求的全面性、精确性和一致性,若此工作进行不好,就会对项目的成功造成很大的阻碍。主要包含以下几个方面的风险因素:产品需求的认知程度、需求分析中客户的参与程度、需求变化的分析程度、安全性及可靠性需求的分析程度。 4)技术(F4)技术对于一个软件项目的顺利完成是至关重要的,所以说如果技术出现问题那么就会引发一系列的风险问题。主要有下面这些风险因素:对方法、工具的使用状况、应用领域的经验状况、系统的稳定性状况。 5)开发方式与开发环境(F5)开发方式和开发环境风险是由于软件项目所处的环境与自身的开发方式状况而导致实现软件项目预期目标中所带
6、来的不确定性。主要风险因素有:软件项目团队的稳定性、项目过程的控制程度、项目资金的稳定程度。6)人力资源管理(F6)人力资源管理风险是由于在软件项目开发过程中由于对开发人员及相关人员管理不当及管理混乱从而对软件项目开发造成的风险。其主要的风险因素包括:人员职能设置之间的协调性、项目所有者与决策者的关系。总体项目的风险等级分为3个类别,分别为风险较小(y=1)、风险一般(y=2)、风险较大(y=3)三类。在所建立模型中,总体项目的风险等级对应于y的取值,而六个风险因素软件产品规模、业主需求、软件项目需求分析、技术、开发方式与开发环境、人力资源管理所属的风险类别对应于六维向量x的取值。3基于信息熵
7、的软件项目各风险因素的重要性评判设已知有n个软件项目,矩阵的列向量Xj表示各项目的风险因素Fj(j=1.2.6),行向量xi表示每个软件项目(i=1.2,.n),要衡量每个风险因素Fj(j=1.2.6)的重要性,本文利用信息论中信息熵的方法来评判。列向量中的分量分别表示第i个项目的风险等级:yi=1表示第i个项目的风险等级较小,yi=2表示第i个项目的风险等级一般,yi=3表示第i个项目的风险等级较大。则对于项目的风险等级Fj,它的熵为;对于项目各风险因素Fj,它的熵为;()对于项目各风险因素Fj中在各个风险等级的风险为:;()则各风险因素Fj的重要性评分为:;()越高表示该因素重要性越高。
8、4基于支持向量机的软件项目风险类别的评估支持向量机是一种分类方法,假定软件项目风险评估问题,其中xi(i=1.2,.n)代表第i个项目的六个风险因素,为六维向量,代表每个项目的风险类别,最简单的线性分类器是希望找到一条直线,其中βn为一个数量β为一个六维向量,这样对一个新样本x#39;的分类可以用来表示。为此还需要解决如下问题:使得支持向量机很容易就可以用来解决多点分类问题,实际运用中支持向量机可能不是线性的,它通过核函数将原来的样本映射到另外一个核空间中,这里我们对核函数不做深入讨论,我们选择了线性核函数在本文的研究中,先从已有的软件项目数据作为训练样本来训练支持向量机,
9、然后用训练好的支持向量机来预测新的软件项目样本,从而进行准确性验证。 案例研究为了验证本文提出的算法的有效性,我们用matlab生成了模拟数据。假设每个项目可以用一个六维向量表示:对于风险小的类别,即y=1时,软件的六个风险因素符合期望分别为,每个分量的方差分别为1的正态分布。对于风险一般的类别,即y=2时,软件的六个风险因素符合期望分别为,每个分量的方差分别为1的正态分布。对于风险很大的类别,即y=3时,软件的六个风险因素符合期望分别为,每个分量的方差分别为1的正态分布。本文对每个风险等级类别随机生成了100个样本,这样总共有300个样本。由上面结果可以发现,技术因素的值为1,这表明技术可以完全决定软件项目风险等级,说明了技术在软件项目开发中的重要性,同样,人力资源管理在软件项目风险管理中的作用也不可忽视。 结论本文不仅利用了SVM来预测软件项目风险,而且给出了各个风险因素的评估。虽然在对软件项目风险因素重要性进行分析的方法中,本文只是采取了简单的方法对连续变量进行了离散化,这个过程中可能会有一些信息丢失,但根
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建省福州市华伦中学2025-2026学年初三5月期中联考英语试题含解析
- 学校体育教育发展计划
- 工作内容变更与合同变更界定
- 境外应急预案流程(3篇)
- ups断电应急预案(3篇)
- 城建产品营销方案(3篇)
- 东莞会展活动策划方案(3篇)
- 及时转型营销方案(3篇)
- 斗鱼引流活动方案策划(3篇)
- 景区节前营销方案(3篇)
- 2026年安徽工商职业学院单招综合素质考试题库及答案详解(名校卷)
- 2026年安徽城市管理职业学院单招职业适应性测试题库附参考答案详解(突破训练)
- 北中医毕业论文
- 穴位贴敷治疗呼吸系统疾病
- (2023-2025)重庆市中考历史高频考点分析及2026备考建议
- 2026年甘肃省交通运输厅所属事业单位招聘600人考试备考试题及答案解析
- 2026年《必背60题》 马克思主义理论26届考研复试高频面试题包含详细解答
- 免疫治疗相关皮肤不良反应的分级管理
- 供电所安全培训课程课件
- 2025年中国石化云南石油分公司加能站后备站长招聘80人笔试参考题库附带答案详解(3卷)
- 国家事业单位招聘2025中国宋庆龄青少年科技文化交流中心招聘人员笔试历年参考题库典型考点附带答案详解(3卷合一)
评论
0/150
提交评论