软件开发风险评估方式研究

时间:2022-06-15 04:15:07

软件开发风险评估方式研究

摘要:当今人们的生活中处处充斥着软件,软件已经成为了我们生活、工作、学习的一部分了,但是各种各样的软件风险却困扰着我们,给我们的生活造成了很大的不便。这其中很大一部分原因是在软件开发过程中没有一个完善的风险评估体系。传统的软件开发风险评估方式侧重于定量的计算,但是软件之中的风险有很大的不确定性,有些风险也不可能得到确切的数据,证据理论分析方法就弥补了这方面的不足。本文首先介绍了传统的软件开发风险评估方式,然后说明了为什么要使用证据理论来进行风险分析,最后是从证据理论视角进行的具体风险分析。

关键词:软件开发;风险评估;证据理论

计算机技术的高速发展,随之而来的是各种软件的爆发式增长,软件已经成为了我们生活中不可或缺的一部分,在这种情况下软件开发工作就显得尤为重要。但是,软件在开发以及最后使用过程中存在着一定的风险,这些风险的存在造成了使用者的不便,也产生了很多的额外成本,这与当今人们对软件质量日益提高的需求极为不符。传统的软件风险评估多是借助于计量模型,利用一定的数据来进行定量的计算,但是软件使用中的风险存在着很多的额不确定性,各种各样的因素都会影响到软件效用的发挥,一些因素也不能转化成数据而直接进行计算,这些缺点导致传统的软件开发的风险评估方式已经不能满足人们希望更精确地评估风险的要求了。证据理论是一种新兴起的分析方法,它是一种基于不确定因素的定性的分析方法,这几年在软件风险评估方面得到了很大的应用,它虽然不能给出精确的风险值,但是可以给出具体方案的一个可行的实施范围,这对现代软件开发风险评估方式来说是一大进步,它取代了传统软件风险评估要求在不确定因素中选择确定性数据定量计量的不足。

一、传统软件开发风险评估的方式

软件开发工作自身是一项智力投入高,具有创新性的研究性活动,而且其研究的也不是具有实物形态的产品,而是各种各样的代码与数据库。软件开发过程中存在着很多的风险,这与软件开发自身所具有的特殊性质有着密切的关系,软件开发的客观性和普通性、不确定性、行为的相关性、多样性以及对称性决定了软件开发过程中风险的不确定性与来源广泛性,如果根据风险的本质来进行分类的话,大概分成三个种类:产品自身风险、项目特殊化风险以及开发环境的风险,对这各种各样的风险有着很多的评估方式。中国对于软件开发过程中的风险评估方式主要是源于西方的研究内容。最早的软件风险评估方法衍生于SEI对软件风险管理的研究中,SEI运用分类法来对软件开发过程的风险进行评估,分类法是一种简单而且实践性很强的风险识别方法。后来SEI又根据分类法设计了调查问卷进一步完善了分类法,而这种问卷的核心是根据分类法设置的属性根。风险评估一般含有评估者的主观性比较大,而且各个项目的特点不同,某些项目上经验丰富的专家很难找到,这就使得项目成本大大提升,因此,有人就将风险评估与成本分析一起作为研究对象,RayMadachy和KariKansala在这方面做出了很大的贡献。Chittister则从功能性角度、时态角度、失效来源角度价格风险评估视为一个“整体”。

二、什么是证据理论

证据理论又称D-S证据理论,是由Dempster和Shafer提出来的,它属于人工智能系统,是一种不精确的推理方法,可以用在处理不明确,模糊的信息上,最早是应用在专家系统之中,因为它能分析不确定因素的特点,现在被广泛地应用在软件开发的风险评估、模式识别、信息融合中。证据理论虽然不需要定性的测量,但是也需要建立一定的理论框架,进而确定在一定风险区间内的决策选择情况。证据理论的框架以人们知道的信息和想要知道的信息为出发点,他们一起被称为证据理论的辨识框架,证据理论通过辨识框架来区别“确定性”和“不确定性”进而得到人们想要的结果。在进行证据理论建模的时候首先要确定BBA(mass)生成问题,来将不确定的信息进行具体的表述,以便应用到模型中去。而BBA生成问题的关键是关于随机变量的分布与建模的难题,这恰恰与具体研究的问题有关,需要根据问题的不同而得到不同的BBA生成。

三、从证据理论的风险评估方式

风险是人人都不想看到的,所以对风险的评估以及管理就显得极为需要。证据理论因为可以将影响风险发生的各种不确定因素作为模型变量而考虑到模型中,所以适用于对于不确定性风险的分析。实际上,现在的很多风险管理都是根据三个部分建立的:风险识别、风险决策、风险反馈,然后再用统计计量的相关方法进行分析,这与其他的风险管理没有什么实质的区分。本文运用证据理论的分析方法来将以前不能考虑到没模型中的因素考虑进去,使得软件开发的风险评估更为可行,更加具有应用性。证据理论在使用中首先要进行赋值,即将不可测量的不完备、不精确或不易获得的数据转化成易衡量易获得的指数而纳入模型中,我们在分析的过程中涵盖了系统分析、设计、实施等不同的阶段以及进度、技术、费用的风险等具体的参数,具体如下图基于分层然后无确定了各个指标的具体赋值的概率情况,我们认为概率赋值较高的指标为关键指标,而概率赋值教的指标则成为非关键指标。在进行具体的赋值与分类之前,我们需要将各项指标进行证据融合,以期望得到信任函数,在这个步骤中可以采用交叉列表法来进行具体的证据融合,之后我们就可以得到具体的指标赋值概率,然后利用信任函数经过具体的计算就可以得到各个指标的风险值情况,然后将各个指标分配一定的权重就可以得到软件开发过程中受各种不确定因素影响的风险范围。

作者:于婕 单位:天津卓朗科技发展有限公司

参考文献:

[1]韩德强,杨艺,韩崇昭.DS证据理论研究进展及相关问题探讨[J].控制与决策,2014,29(1):1-11.

[2]鞠彦兵,冯允成,姚李刚.基于证据理论的软件开发风险评估方法[J].系统管理学报,2003,12(3):218-223.

[3]吴朱军.软件风险管理研究[D].西北师范大学,2013.

[4]韩德强,杨艺,韩崇昭.DS证据理论研究进展及相关问题探讨[J].控制与决策,2014,29(1):1-11.