-
软件项目绩效评估是对软件开发准备、开发过程实施以及开发成果科学的、合理的测度分析,对于制定合理的软件开发规划,控制和规避软件开发风险,提高软件开发质量,提升软件竞争力有着十分重要的意义[1].目前,国内外很多学者对此开展了研究,如关于分布式创新、知识共享与开源软件项目绩效关系的研究[2],软件项目绩效管理方面的研究[3],软件项目绩效评价指标体系的研究[4],软件外包项目绩效的分析[5-6]以及软件项目绩效评估模型[7-9]等.这些研究成果从不同侧面对软件项目的实施提供了支持和指导,具有很好的借鉴作用.但在软件项目绩效过程中涉及到多种不确定性信息和数据的处理与分析,目前采用数据包络分析方法(Data Envelopment Analysis,DEA)、层次分析法(Analytic Hierarchy Process,AHP)、神经网络方法等进行软件项目绩效评估都有一定的局限性. DEA方法是一种基于数据的统计方法,适合于多投入、多产出的决策分析,但由于它衡量的决策函数边界需要是确定性的,因而不可避免地受到随机干扰因素和极值的影响. AHP方法虽然具有计算简单的优点,但其方法应用中定量数据较少,定性成分多,主观性较强,同时在问题处理过程中,评价指标过多时会导致评估数据统计量大,判断矩阵特征值和特征向量的精确求法比较复杂,使得评估结果客观性不足.神经网络方法虽然具有较好的预测能力、控制能力、非线性映射能力以及高度并行性,但是当数据不充分的时候,神经网络就无法进行工作,并且其评估过程是基于数值计算分析,评估过程信息容易丢失.灰色系统理论[10-11]在处理模糊不确定性信息方面有着广泛的应用,并取得了不错的应用效果.本文在借鉴已有研究成果的基础上,通过对灰色聚类白化权函数进行改进,给出一种基于灰色聚类分析[12-14]的软件项目绩效模糊评价模型.
全文HTML
-
为了能够更加有效地进行软件项目绩效评估,其评估指标的选取需要遵循一些关键的选取原则.
(1) 目标性原则
由于软件项目绩效评估是一个系统决策过程,在此过程中涉及到多种复杂的因素分析,要做到面面俱到非常困难,因此需要抓住主要问题特征,有目标性和针对性地选取评估指标.
(2) 科学性原则
该项原则要求软件项目绩效评估指标的选取要能够反映出评估问题的本质,要具有科学合理性.
(3) 客观性原则
该项原则要求软件项目绩效评估指标的选取要依据评估问题的客观实际情况,切实反映出评估对象的客观问题,避免主观因素的影响.
(4) 系统性原则
该项原则要求软件项目绩效评估指标的选取具有较强的系统逻辑关系,要能够成体系,具有较好的完备性.
(5) 可操作性原则
该项原则要求软件项目绩效评估指标的选取要能够对定性评估指标和定量评估指标进行有效的量化分析,从而使评估结果具有更高的可靠性.
-
在上述选取原则的指导下,本文将软件项目绩效评估分为3个方面,即软件项目结构组织与管理绩效评估、软件项目技术特征绩效评估和软件项目产出绩效评估3个准则层.通过对每一个准则层细致地分析和细化,获得该准则层的具体评估指标,进而形成软件项目绩效评估指标体系,具体内容见图 1.
-
本文采用熵权法获取软件项目绩效评估指标的权重.假设有M位评估专家对N个评估指标进行权重打分a,打分的标准为0~1标度,0表示评估指标权重极低,1表示评估指标权重极高,形成初始评判数据矩阵A
其中,aij表示评估专家i对评估指标j的权重打分.
计算第j项评估指标的熵值Ej
引入差异系数Dj
根据差异系数的计算式可知,差异系数Dj越大,其提供的信息量越大,所占比例就越大.据此,其权重计算式为
-
无论是定性评估指标还是定量评估指标,都可能存在量纲不同或者打分标度不同的问题,为了保证评估结果的有效性,需要对软件项目绩效评估指标进行规范化处理.对于第j个评估指标,假设其量值的区间为Vj=[vj(a),vj(b)],若第j个评估指标为越大越优型指标,其规范化量值rj为
若第j个评估指标为越小越优型指标,其规范化量值rj为
1.1. 指标选取原则
1.2. 指标体系建立
1.3. 评估指标权重处理
1.4. 指标规范化处理
-
为了能够既保证软件项目绩效评估具有良好的细分性和层次性,同时又使得软件项目绩效评估过程不过于复杂与繁琐,本文采用经典的5级层级划分模式,即将软件项目绩效评估层次分为优秀、良好、中等、一般、较差5个等级.对每个等级采用标准标度方法赋予相应的量值,具体结果见表 1.
-
典型的白化权函数φ(x)包括上测度白化权函数、下测度白化权函数以及适中白化权函数等基本形式.如图 2所示,不同的灰色聚类分析需要选择合适的白化权函数.
典型的白化权函数φ(x)多采用3种形式,第1种形式为下测度白化权函数,其条件为x1=x2=0,结构图见图 3.
第2种形式为上测度白化权函数,其条件为x3=x4,结构图见图 4.
第3种形式为适中测度白化权函数,其条件为x2=x3,结构图见图 5.
典型的白化权函数φ(x)在构造过程中一般会存在相邻边界条件难于保持一致的问题,特别是在处理复杂问题的过程中,由于多个因素和指标存在下测度白化权函数、上测度白化权函数和适中测度白化权函数的构造,往往会使得相邻的白化权函数存在相交现象,并且难于保证白化权函数的连续性,为此需要对软件项目绩效评估白化权函数进行改进,结果如图 6.
该模型的构造主要是考虑到在实际工程应用中保证灰色聚类分析的可靠性,使得评估问题模糊隶属度与白化权值具有一致性.上述构造的白化权函数满足如下条件:①不相邻的白化权函数不能相交;②白化权函数为针对于自变量的连续函数;③白化权函数有函数值为1的自变量,并且在其两侧均为单调函数.其对应的具体白化权函数计算模型为
特别地
-
根据表 1中所给出的软件项目绩效评估层次数据,结合公式(8)、公式(9)和公式(10),建立各个软件项目绩效评估层次的灰色聚类分析计算模型.
-
通过建立软件项目绩效评估指标体系,并对评估指标进行规范化处理,在采用熵权法的基础上获取不同评估指标的权重.同时,对软件项目绩效评估指标体系和评估指标进行层次划分,并在灰色系统理论的基础上建立不同软件项目绩效评估层次的灰色聚类分析计算模型,进而获得评估对象关于不同评估指标j与不同评估层次i的聚类系数φsij(x),由此获得评估对象与不同评估层次i的综合加权聚类系数φsiW(x).
φsiW(x)越大说明评估对象越归属于层次i,由此基于φsiW(x)可确定其所属层次.其具体实现过程如图 7.
2.1. 软件项目绩效评估层级
2.2. 改进的灰色聚类分析白化权函数
2.3. 软件项目绩效评估灰色聚类分析模型建立
2.4. 软件项目绩效评估算法实现
-
以某软件开发公司推出的新一代面向工业4.0的集成化软件项目开发为例.在评估指标体系的基础上设计调查问卷以及专家评审表,获得规范化后的初始评估数据,同时根据文中给出的权重计算模型可以获得不同层次评估指标的权重,结果见表 2.
应用改进的白化权函数计算模型,获得不同评估指标的灰色聚类分析系数,见表 3.
进而获得评估对象的综合加权灰色聚类分析系数,见表 4.
根据表 4的结果可以看出,该软件开发公司推出的新一代面向工业4.0的集成化软件项目绩效评估属于良好的层次,可以作为后续培育项目进行重点开发,并为企业项目的开发提供指导.从上述计算过程可以看出,本文给出的软件项目绩效模糊评估模型分析过程清晰,计算过程简单,并且具有明确的物理意义,因此有较好的适应性.
-
本文通过对软件项目绩效评估研究内容进行分析,指出了已有软件项目绩效评估存在的不足和待改进之处,给出了一种在多指标选取原则指导下建立的软件项目绩效评估指标体系.同时,结合熵权法对软件项目绩效评估指标权重生成进行了探讨,并给出了计算模型.在此基础上,研究了软件项目绩效评估白化权函数的生成问题,建立了一种改进的软件项目绩效评估白化权函数计算模型,通过进行加权处理,获得综合加权聚类系数,进而获得评估对象的层次.