2017年1月第38卷 第1期计算机工程与设计COMPUTER ENGINEERING AND DESIGNJan.2017Vol.38 No.1层次分析法在软件过程度量中的应用王 志,刘艳辉,杨 欢(华北计算技术研究所,北京100083)摘 要:为综合直观地度量软件过程,将层次分析法(analytic hierarchy process,AHP)与软件过程度量相结合,建立软件过程度量模型。
在软件过程度量模型指标体系的研究基础上,采用因素成对比较法等手段,选择适合的权重值算法与一致性检验算法,辅以五分法和归一化算法,实现软件过程的定性和定量分析相结合、多目标综合度量的效果。
将该方法应用于某软件集成方案的决策过程中,描述实际工作过程中该模型的使用方法,验证了该模型的适用性与有效性。
关键词:层次分析法;软件过程度量;度量模型;度量指标体系;成对比较中图法分类号:TP311.5 文献标识号:A 文章编号:1000-7024(2017)01-0144-05doi:10.16208/j.issn1000-7024.2017.01.027收稿日期:2015-11-09;修订日期:2016-01-25作者简介:王志(1980-),男,辽宁营口人,硕士研究生,研究方向为软件测试;刘艳辉(1972-),女,河北秦皇岛人,硕士研究生,研究方向为软件工程;杨欢(1977-),女,湖南益阳人,硕士研究生,研究方向为质量管理和标准化。
E-mail:wangzhi_nci@163.comApplication of AHP in software process measurementWANG Zhi,LIU Yan-hui,YANG Huan(North China Computing Technology Institute,Beijing 100083,China)Abstract:To synthesize and accurately measure the software process,the software process measurement model was establishedby integrating the analytic hierarchy process with the software process measurement.Based on the research of software processmeasurement index system,the method of factor analysis,the weight value and the consistency algorithm,five point method andnormalization algorithm were used,the combination of the qualitative analysis and quantitative analysis of the software processand the effect of multi objective synthesis measure were realized.The method was applied to the decision making process of asoftware integration scheme.Results of application show the applicability and effectiveness of the model.Key words:AHP;software process measure;measurement model;measurement index system;paired comparison0 引 言现阶段,国内外对软件过程度量[1]的研究仍存在着一些不足,体现在以下几个方面:(1)多目标度量的支持。
软件过程度量需要全面综合考虑项目质量、成本、进度等目标,但如何在软件度量过程中,处理交织多变且相互关联的几个目标,目前缺少科学方法指导。
(2)定量度量支持。
软件是人类智力过程成果,所以对软件过程的度量不可避免有定性因素,但如何将软件过程的定性评价与定量评价相结合,获得一定程度准确的量化评价结果,目前缺少科学方法指导。
(3)团体评价支持。
软件向规模化、协同化发展同时,软件项目干系人也日益复杂,使得软件过程度量也需要向团队化方向转变,但如何科学的整理、分析、归纳、综合团队评价的结果,并支持做出最后的综合评价,目前缺少科学方法指导。
本文建立了软件过程度量指标体系,并引入AHP的成对比较、权重值计算、一致性修正方法,实现因素权重值的计算;然后,辅以五分法和归一化算法,实现对软件过程方案的量化评价。
在实例应用部分,描述该模型的应用过程与效果,验证了其适用性与有效性。
1 软件过程度量模型软件过程度量模型包括5个核心过程,如图1所示。
(1)指标体系建立过程。
对软件过程度量目标进行分解,描述影响软件过程度量的因素,形成软件过程度量指标体系。
(2)因素成对比较过程。
按照两两比较的原则,对影响评价的因素进行重要度比较,构造判断矩阵,描述各因素的比较结果。
(3)权重值计算过程。
采用数学算法,将因素成对比第38卷 第1期 王志,刘艳辉,杨欢:层次分析法在软件过程度量中的应用图1 软件过程度量模型核心过程较的判断矩阵值,转换为因素对软件过程度量目标的权重值。
(4)一致性检验过程。
对各因素的比对结果、权重值进行检验,并对不合理项进行修正与重新计算。
(5)软件过程方案评价过程。
度量不同软件过程方案在各因素方面的情况,结合各因素的权重值,计算不同软件过程方案量化度量值。
1.1 指标体系建立过程指标体系是解决软件过程度量问题的基础。
软件过程改进目的是改善软件质量,减低成本和提高生产率,使软件项目满足质量、成本、进度目标要求。
同时,软件项目是由软件团队承担的,软件过程是否为组织级的战略、过程资产做出贡献,也是非常重要内容。
因此,本文设计如图2所示的指标体系,选择质量、成本、进度、资产作为第二层的因素,并根据第二层因素的内容分解为第三层的8个因素。
图2 软件过程度量指标体系(1)产品生产效率因素。
代表软件过程对产品特性和功能实现效率的影响,该因素是对单位时间内生产的产品规模的评价。
(2)产品质量因素。
代表软件过程对产品满足明确和隐含需要能力特性的影响,该因素是对用户期望与产品实现之间偏差的评价。
(3)资金成本因素。
代表软件过程对项目投入资金金额、时间段等内容的影响,该因素是对所耗现金规模的评价。
(4)人力成本因素。
代表软件过程对项目投入的人员类型、水平、时间段的影响,该因素是对项目组成规模的评价。
对项目所需人力成本在某些情况下可以用资金成本代替计算,但某些情况下,则不成立,例如:在组织机构固定的情况下,资金成本很难转换成人力成本。
(5)设备与场地成本因素。
代表软件过程对固定资产投入情况的影响,该因素是对组织已有资产占用情况的评价。
设备成本是以折旧费进行计算的,而不是以采购费用计算,若场地为组织拥有的固定资产,则可以采用本地区平均租金价格计算。
(6)时间进度因素。
代表软件过程对项目所用时长的印象,该因素是对实际过程与计划过程的进度偏差情况的评价。
在项目时间计划一定的情况下,采用是否满足项目时间进度作为评价结果;否则,使用各解决方案相对比较值作为评价结果。
(7)组织战略因素。
代表软件过程对组织战略目标的影响,该因素是对组织战略发展契合程度情况的评价。
在组织管理过程中,存在项目成功,但组织失败的情况,所以过程改进应与组织的总体性谋划保持一致。
(8)过程资产因素。
代表软件过程对组织级知识数据库的影响,该因素是对未来指导其它项目的规程和规章情况的评价。
组织过程资产是组织在不同领域、不同类型工作的知识与经验教训,对组织后续类似项目与产品成功具有较强的支持作用。
在软件过程度量模型的应用中,可对软件过程度量指标体系的阶数、因素进行调整,以适合实际情况。
1.2 因素成对比较过程因素成对比较是实现软件过程度量的定性与定量分析关键。
按照两两比较的原则,在每一层的所有因素的进行成对比较,最终采用专家判断矩阵形式表达。
1.2.1 评价尺度定义因素间的成对比较需要依据一个统一的比较基准,软件过程度量模型采用见表1的9级比例尺作为比较基准。
表1 评价尺度[2,3]标准定义1甲与乙同等重要3甲比乙稍微重要5甲比乙明显重要7甲比乙显著重要9甲比乙绝对重要2、4、6、8用于上述标准之间的折中值上述值的倒数乙比甲的重要程度1.2.2 成对比较成对比较表是基于9级比例标尺,以各层因素两两成对比较[4-6],由专家给出偏好的数量化判断。
例如,在软件·541· 计算机工程与设计2017年过程度量模型应用过程中,若采纳产品生产效率、产品质量、资金成本等8个因素为第三层因素,则可将这8个因素分别表示为变量A1至A8,然后将在8个因素之间分别进行成对比较,最终建立判断矩阵A,其中数值aij表示因素Ai与Aj比较的结果A=1 a12…a18a211…a28……1…a81a82…烅烄烆烍烌烎1(1)(1)aij>0;(2)aij=1/aji;(3)矩阵对角线为因素自身比较,aii=1;(4)aij值越大,表示因素Ai相对于Aj的重要性越大。
1.3 权重值计算过程权重值计算过程是通过对判断矩阵的数学计算,确定各因素重要度。
在软件过程度量模型中,采用方根法[7,8]计算各因子权重值,其步骤如下:步骤1 计算判断矩阵每一行元素的乘积mi=∏nj=1aij i=1,2,…n(2)步骤2 计算mi的n次方根,求几何平均wi=nm槡i(3)步骤3 将向量珡w=(珡w1,珡w2,…,珡wn)T,进行归一化处理,获得w=(w1,w2,…,wn),即为因素A1…An因素对于目标的重要度wi=wi/∑nk=1wk i=1,2,…,n(4)1.4 一致性检验过程1.4.1 一致性检验判断矩阵A=(aij)n×n,满足如下特性aij=aik×akj i,j,k=1,2,…,n(5)但是,由于判断对象的复杂性以及人的思维判断差异,判断矩阵会发生不一致现象,即存在违反上述公式的情况,所以需要对判断矩阵进行一致性检验。
软件过程度量模型是采用随机一致性指标(random consistency index,RI)与一致性指标(consistence index,CI)的比值,即一致性比例(consistence ratio,CR)对判断矩阵进行检验[9,10]。