基于熵权TOPSIS的软件项目风险评估
2022-03-08王蔚
王蔚
(北京太极信息系统技术有限公司,北京 100102)
0 引言
软件项目开发过程十分复杂,从项目启动到完成受多种不确定性因素的影响,面临诸多风险。在软件项目管理过程中,为了实施有效的风险管理活动,需要对可能出现的风险进行识别和评估。这就需要研究有效的软件项目风险评估方法,为项目管理人员制订风险控制计划、实施项目管理活动提供支撑。
目前,常用的风险评估方法很多,且各有特色。其中,专家打分法应用广泛,是一种行之有效的评估方法,但也存在一定的局限性:一是受主观因素的影响;二是需要解决多指标的综合决策问题。
本研究在建立风险评估指标体系的基础上,针对专家打分法中的主观影响问题和多指标综合决策问题,将熵权TOPSIS方法应用于软件项目风险评估,基本思路是:引入熵权法EWM确定指标权重,减少指标权重的主观因素影响;采用优劣解距离法TOPSIS对软件项目多种风险指标进行综合评价,解决多属性决策问题。
1 风险评估方法概述
1.1 风险评估方法
常用的风险评估方法可以分为三大类:定性评估方法、定量评估方法、定性与定量相结合的评估方法,如图1所示。
定性评估方法主要是依据研究者的知识及经验等非量化信息对系统的风险状况做出判断,包括风险矩阵法、故障树分析法、历史比较法、德尔菲法等。定量评估方法运用数量指标对风险进行评估,包括聚类分析法、模糊综合评价法。定性与定量相结合的评估方法结合定性评估、定量评估两种方法的特征,包括专家评分法、灰色系统理论法、层次分析法。各种风险评估方法的特点与适用范围均有所不同,其中专家打分法在风险评估中应用广泛。
1.2 软件项目风险评估方法
很多学者对软件项目风险评估指标体系建立和评估方法进行了研究,并将其他领域一些经典、成熟的风险评估方法应用于软件项目风险评估,取得了一系列成果。例如,杨国有[1]提出了一种软件项目风险评估指标体系的建立方法;蔡玲[2]将Kano模型应用于软件项目风险管理;唐爱国等[3]将贝叶斯网络应用于软件项目风险评估;邱继栋[4]提出了处理基于AHP的军工信息系统软件科研项目风险评估方法;赵川、贺永会等[5-6]将BP神经网络应用于软件项目风险评估;潘梅森等[7]提出了基于LVQ的软件项目风险评估模型的建立方法;兰芳、李伟涛等[8-9]将灰色系统理论应用于软件项目风险评估。此外,还有众多文献[10-15]将模糊理论应用于软件项目风险评估。
2 软件项目风险评估
2.1 软件项目风险管理过程
开展软件项目风险管理,其目的是在风险发生之前识别出潜在的问题,以便在项目的整个生命周期中规划风险管理活动,并在必要时启动这些活动,以缓解和消除风险的不利影响。
风险管理的通用框架如图2所示,过程主要包括风险规划、风险评估、风险应对和风险监控。风险评估又包括风险识别、风险分析和风险评价。
风险识别是指发现、确认和描述风险的过程。风险识别的常用方法包括头脑风暴法和风险检查单法。软件项目典型的风险源包括:需求不确定或变化频繁;设计过于简单或复杂;使用的技术方法不熟悉;由于无先例而不能有效地估计工作量;项目人员新人多、缺乏经验;开发环境或测试环境未及时到位;供方没有按期交付组件或质量不过关;需方沟通欠缺;运行的连续性被破坏等。
风险分析是对风险发生的概率、后果和敏感性等进行分析,以便为风险评价和应对提供必要信息。
风险评价确定风险等级,对诸项风险进行排序,以便制定风险应对优先序策略。
2.2 软件项目风险评价指标体系
软件项目面临多种风险,分类管理是一种有效的管理手段。采用分类的风险管理方式,有助于整合风险缓冲计划的各项活动。
风险可按多种方式进行分类,如图3所示。项目可根据自身特点选择合适的风险分类方法,也可根据需要建立自己的风险分类方法。
本文从便于整合各项风险缓解计划活动的角度出发,参考行业风险清单,按项目风险源类别建立软件项目风险评价指标体系,如图4所示。
3 基于熵权TOPSIS的软件项目风险评估方法
本文提出的基于熵权TOPSIS的软件项目风险评估方法,是一种改进的专家评分法。该方法以专家评分法为基础,引入熵权法EWM设置评价指标的权重,以减少指标权重的主观因素影响,并采用优劣解距离法TOPSIS对软件项目风险进行综合评价。
3.1 熵权法
本方法引入熵权法EWM设置评价指标的权重。熵权法是一种客观赋权法,用以减少指标权重的主观因素影响。
熵权法是基于信息熵原理提出的一种客观确定评价指标权重的方法。信息熵是信息论中描述不确定性的量,是系统无序程度的度量,由信息论创始人C.E.Shannon提出。信息熵越小,不确定性越小,相应信息的效用越大;反之,信息熵越大,不确定性越大,相应信息的效用越小。将该原理应用到系统评价中确定权重,就是熵权法。运用熵权法确定权重时,某评价指标的信息熵越小,评价作用越大,因而所赋予的权重应该越大。与人为设置指标权重不同,熵权法根据评价数据来相对客观地设置权重。
熵权法的处理步骤如下。
3.1.1 数据标准化处理
根据原始风险值对数据进行标准化处理。设确定的风险评价指标有n个、被评项目有m个,初始评价值矩阵为
V=(vij)m×n(i=1,2,…,m;j=1,2,…,n)
式中,vij表示原始的风险值,取值1~10。风险值越大,表示风险越大。
标准化处理的方式为:采用最大最小归一化方法,将原始数据转换到[0,1]的范围。风险值为反向指标,归一化公式为
V*=(vij*)m×n
其中
3.1.2 各指标的信息熵计算
根据信息论中信息熵的定义计算各指标的信息熵,计算公式如下
其中
当pij=0时,令pijln(pij)=0。
3.1.3 各指标熵权确定
确定各指标的熵权如下
计算所有指标的熵权,得出评价指标的权重列向量。计算公式如下
W=(w1,w2,…,wn)T
获得的熵权可以用于计算TOPSIS中的加权优劣解距离,也可以直接计算加权风险值。
直接计算加权风险值的方式是:根据原始评风险值表,乘以指标熵权,得到调整权重后的风险值,即加权风险值,如下
Y=(yij)m×n=(vijwj)m×n
根据加权风险值可以对各项目的不同风险进行排序,为制订风险缓解计划提供依据。
在本方法中,熵权将用于TOPSIS方法中各评价对象与正、负理想解距离的计算。
3.2 TOPSIS模型
本方法采用熵权TOPSIS法进行软件项目风险的综合评估。TOPSIS是逼近理想解排序法,又称为优劣解距离法,是一种多属性决策法。TOPSIS法根据评价对象与理想解的接近程度判断优劣,其具体步骤是:①构造正、负理想解;②计算各评价对象与正、负理想解之间的欧氏距离,得出评价对象与正理想解的接近程度,并以此作为评价依据。
TOPSIS主要用于解决多属性决策问题,其基本思路是将多属性综合为单一属性进行排序,进而得到最优方案。将TOPSIS和熵权相结合即得到一个既有客观的指标权重又有多属性决策的评估方法——熵权TOPSIS法。熵权TOPSIS法的处理步骤如下。
3.2.1 原始数据正向化
正向化是指将极小型指标、中间型指标、区间型指标对应的数据全部转化成极大型指标,便于统一计算和处理。极大型指标也称为效益型指标,指标越大越好;极小型指标也称为成本型指标,指标越小越好。在软件项目风险评估中,风险值是极小型指标。极小型指标转换为极大型指标的公式如下
x*=max-x
将原始风险值矩阵V进行正向化处理,得到正向风险值矩阵如下
X=(xij)m×n;xij=max(v1j,v2j,…,vmj)-vij;(i=1,2,…,m;j=1,2,…,n)
3.2.2 正向风险值矩阵标准化
标准化是指通过标准化消除量纲的影响。在本软件项目风险评估方法中,风险值量纲统一,可以省略标准化步骤。但出于通用性考虑,本方法仍保留标准化步骤。
将正向风险值矩阵X进行标准化处理,得到标准化的正向风险值矩阵Z如下
3.2.3 加权距离计算
计算各被评项目与正理想解和负理想解的加权距离,步骤如下:
(1)确定正负理想解。
正理想解是由Z矩阵中每列元素中的最大值组成的向量,如下
负理想解是由Z矩阵中每列元素中的最小值组成的向量
(2)计算加权距离。加权距离反映方案之间的接近程度。各被评项目与正理想解的加权距离为
各被评项目与负理想解的加权距离为
式中,i表示第i个被评项目;j表示第j个指标;wj是第j个指标的权重,由上节所述熵权法获得。
3.2.4 计算各被评项目的综合评分
至此完成被评项目的综合评分,得分越大,越接近正理想解。
4 实例分析
下面以对某企业对8个软件研发项目的风险评估为例对本文方法进行分析。
实例中软件项目原始风险值见表1,其中R1~R10分别对应软件项目风险评价指标体系的10项指标。根据原始数据计算得到的风险评估指标的信息熵和熵权见表2。经过正向化和标准化处理的风险见表3。软件项目与正、负理想解的距离和风险综合评分见表4。
表1 软件项目原始风险值
表2 指标信息熵和熵权表
表3 标准化的正向风险表
表4 软件项目与正负理想解的距离和风险综合评分表
通过实例结果可以看出,项目4综合评分最高,风险最小;项目7综合评分最低,风险最大。在算法方面,从表2中指标的信息熵和熵权可以看出,指标权重根据指标的信息熵而得到,其中信息熵值最小、不确定性最低的指标R8得到的权重最高。
需要说明的是,为便于展示与分析,本实例选用风险值作为原始数据。在实际应用时,指标根据需要设置成不同类型,通过相应的正向化和标准化处理形成评价矩阵。
5 结语
本文提出的基于熵权TOPSIS的软件项目风险评估方法,从便于整合各项风险缓解计划活动的角度出发,建立了软件项目风险评价指标体系。在评估方法方面,将熵权TOPSIS法应用于软件项目风险评估。从整体来看,熵权TOPSIS法将TOPSIS和熵权相结合,是一种既有客观指标权重又有多属性决策的评估方法。
实例分析表明,熵权法根据指标的熵权确定权重,在一定程度上减少了主观因素的影响。TOPSIS法较有效地将多种风险指标综合成单一评分属性,便于软件项目风险的择优与排序。但有两点值得注意:一是通过多种比较试验可以看出,虽然不同的数据标准化处理方式对熵权和综合评分具有不同的影响,但是整体评估结果基本相符;二是由于指标权重完全由数据决定,特殊情况下通过信息熵得到的权重可能与平时的直观认识有所不同。