APP下载

基于模糊层次分析法的软件质量评价模型的研究*

2017-04-24汪海涛

计算机与数字工程 2017年4期
关键词:分析法一致性权重

杨 阳 汪海涛 姜 瑛 陈 星

(昆明理工大学信息工程与自动化学院 昆明 650500)

基于模糊层次分析法的软件质量评价模型的研究*

杨 阳 汪海涛 姜 瑛 陈 星

(昆明理工大学信息工程与自动化学院 昆明 650500)

随着软件技术的迅速发展,由于软件的复杂性和多样性,软件质量评估的指标难以确定。针对这一现状,将基于ISO/IEC 25010软件质量模型,结合层次分析法和模糊综合评价法建立软件质量评价模型,选取ISO/IEC 25010质量标准中的8个质量特性作为研究重点。通过举例说明系统软件,利用数学工具Matlab,更进一步说明该模型的可行性。

软件质量模型; 模糊层次分析法; Matlab

1 引言

1968年,Mcllory提出了“软件组装生产线”的思想。从那以后,软件开发人员梦想着采用构件技术实现软件复用。如今,基于构件的软件开发(CBSD)已成为软件开发的主流范性[1]。该技术在软件开发中越来越受到人们的重视,它的发展使开发人员将重点从软件编码转移到已有构件的组装上,大大地缩短软件开发周期,降低了成本。软件质量问题已成为CBSD技术发展一个重点问题,由于确定软件系统的质量较为复杂,研究人员给出了一些成熟的模型定义。

1977年,McCall等提出了McCall软件质量模型[2],从软件的内外部视角及指标来评判软件质量,以此来弥补开发人员与客户之间的沟壑。Boehm模型[3]是由Boehm等在1978年提出的软件质量模型,他在McCall模型的基础上添加了硬件性能的特征。1993年,提出的ISO/IEC 9126软件质量模型是在以上两个模型的基础上改进,提出了较符合软件特性的6个特征,相比之下更加正确地反映了软件产品的内部和外部质量属性。在2011年3月,国际标准化组织和国际电子技术委员会(International Standard Organized/International Electrotechnical Commission,ISO/IEC)发布了ISO/IEC 25010[4]质量标准,对之前的ISO/IEC 9126软件质量模型进行调整完善,新增的几个软件质量特性和子特征带给人们重新评估软件的标准。本文将对ISO/IEC 25010质量标准的8个质量特征及其32个子特征深入分析,运用模糊层次分析法[5~9],构造评价模型。

2 建立软件质量评价模型

将ISO/IEC 25010质量标准,根据层次分析法将其分为3个层次,总质量层A,质量特性层B及子特征层C,其中质量特性层分为8个特性:功能合适性、可靠性、性能效率、可用性、安全性、兼容性、可维护性、可移植性;子特征层分为32个子特征。将质量ISO/IEC 25010质量标准层次化,由下而上逐层分析,最后得出软件产品质量,如图1所示。

将质量特性层B分为一个层次级{U1,U2,U3,U4,U5,U6,U7,U8},将子特征层C所依赖的质量特性分为8个层次级,{(U11,U12,U13),(U21,U22,U23,U24),…,(U71,U72,U73,U74,U75),(U81,U82,U83)}。

图1 软件质量评价模型

3 运用层次分析法分析软件质量评价模型

3.1 层次级量化并构造判断矩阵

得到层次级后,将一个层次级中的因素之间的重要性进行两两对比,并以1~9标度法将相比的判断值定量化,根据层次结构模型,通过表1中的数值为各指标之间的关系定值,得到判断矩阵,本文将重点为质量特性层B各因素之间的关系构造判断矩阵Dij,其中Dij为n阶矩阵。在表1中,若前者i与后者j的重要性之比为aij,那么后者j与前者i的重要性之比为aji=1/aij。

表1 判断矩阵标度及含义

3.2 确定矩阵权重

根据获得的判断矩阵Dij,设该层级中因素有n个,即n阶矩阵。

首先,获得判断矩阵的每一行元素的乘积Ti:

(1)

对Ti开n次方得到mi,

(2)

得到向量M=(m1,m2,…,mn),对向量M归一化处理,

(3)

即W=[w1,w2,…,wn]T为所求的矩阵权重向量。

3.3 判断矩阵的一致性检验

因为判断矩阵是根据层级中的因素之间两两比较得到的,在得到比较值时,是由于专家自主判断出现的误差及各因素之间比较的模糊性等,当判断出存在不一致的情况,则需要修改判断矩阵。

首先计算判断矩阵D的最大特征值,便于一致性检验指标的计算:

(4)

一致性检验指标CI:

(5)

当CI=0时,可得判断矩阵具有完全一致性,方可进行下一步;CI越大,判断矩阵的一致性越差,则需要修改判断矩阵:

(6)

其中CR称为随机一致性检验,RI称为随机一致性指标,RI如表2所示。CR<0.1,则判断矩阵具有满意一致性,若CR>0.1,则要修改判断矩阵,直到具有满意一致性为止。

表2 随机一致性指标数值表

4 建立基于模糊层次分析法的软件质量综合评价模型

4.1 确定评价集

由于软件质量评价受到多个因素的影响,无法对其作出一个总体评价,这里将采用模糊综合评价法[10](Fuzzy Comprehensive Evaluation Method),根据数学模型的模糊隶属度理论[11],可以将定性评价转化为定量评价。

首先确定评价集,设评价集Vi={V1,V2,V3,V4}(i=1,2,3,4)={优秀,良好,中等,差},在确定层次级U和权重集W后,进行一级模糊综合评价。

4.2 模糊综合评价

依据四个评价等级,专家对每一个层级的每个因素进行打分,确定隶属度。假设有t位专家对软件质量评判,其中有k位专家认定Uij的评价等级为Vi,则Uij的隶属度为rij=k/t,计算一个层级的每个因素的隶属度,便可得到模糊隶属度矩阵:

(7)

则一级模糊综合评价模型为

Bi=W1∘Ri

(8)

其中“∘”为合成算子,W1为质量特性层(一级)层次矩阵权重向量。

根据子特征层(二级),得到对应的权重向量W2=(w1,w2,…,wn)T,则二级模糊综合评价模型为

B=W2∘R=(b1,b2,…,bn)

(9)

4.3 计算综合评分

按照最大隶属度原则,对评价结果需要量化分值,采用模糊加权平均法进行处理,这里将评价集Vi={V1,V2,V3,V4}(i=1,2,3,4)对应的等级用[100,90),[90,80),[80,60),[60,0]的四个区间值取中间值表示,则得到评价分值:

(10)

5 一个实例

本节将给出一个软件系统的综合质量的评价实例,评估对象为《研究生管理系统》,由上述软件质量评价模型,经过专家咨询确认质量特性层的判断矩阵D,D为8阶矩阵。

式(1)~(6)可得到结果,由于判断矩阵为8阶矩阵,计算量较大,为了使计算结果更加科学严谨,本文将运用数学工具Matlab,下面给出算法(其中data代表的是所构造的矩阵):

在出图时,只需定义出图区域,通过调用编辑完成的图纸模板,就可以生成相应区域的平面图纸。与传统设计方式相比,设计人员不再需要在CAD软件中手动编辑图纸、标注文字和符号,大幅提高了工作效率。同时,Smart 3D软件支持多种编辑功能,可以根据需要定制图纸,包括仪表符号的替换、标注的形式、报表类型等内容,使用非常灵活。

[n,m]=size(data);

result=zeros(1,n);

%每行求和

for ii=1:n

sum=1;

for jj=1:m

sum=sum*data(ii,jj);

end

result(1,ii)=sum;

End

%计算权重

for ii=1:n

result(1,ii)=result(1,ii)^(1/m);

end

sum=0;

for ii=1:n

sum=sum+result(1,ii);

end

%权重向量归一化,result保存权重向量

for jj=1:n

result(1,jj)= result(1,jj)/sum;

end

result1=data*result'

sum=0;

for ii=1:n

sum=sum+result1(ii,1)/result(1,ii);

end

%求最大特征根值

avg=sum/n;

%一致性检验

CI=(avg-n)/(n-1);

CR=CI/RI;

根据Matlab,计算得权重向量W:

W= (0.2343,0.2324,0.1355,0.1083,0.1181,0.0538,0.0644,0.0530)

最大特征值λmax=8.8663,随机一致性检验CR=0.0878<0.1,具有满意的一致性。同理,可得二级指标权重,如表3所示,经检验二级指标的判断矩阵都具有满意的一致性。

表3 一、二级指标权重

通过10位专家调查对子特性层各个因素进行评价,给出模糊隶属度矩阵R1~R8,由于篇幅有限,这里只给出R1的模糊隶属度矩阵。

调查由式(7)~(9)公式及表3可得一级综合评判:

B1=w1∘R1=(0.6787,0.2376,0.0837,0)

B2=w2∘R2=(0.7278,0.2284,0.0438,0)

B3=w3∘R3=(0.580,0.4,0.02,0)

B4=w4∘R4=(0.8340,0.1196,0.0464,0)

B5=w5∘R5=(0.7701,0.2041,0.028,0)

B6=w6∘R6=(0.9,0.1,0,0)

B7=w7∘R7=(0.7701,0.2041,0.028,0)

B8=w8∘R8=(0.5660,04130,0.0210,0)

进行二级综合评判可得:

B=W∘R=(0.7162,0.2404,0.0434,0)

由式(10)计算出综合评价得分,按照最大隶属度原则,对评价结果需要量化分值,量化分值为91.49,可得《研究生管理系统》为优秀软件系统。该评价结果与预估结果相吻合,该模型取自于ISO/IEC 25010质量标准模型,具有科学性与通用性,采用模糊层次分析法,使得评价结果更加合理科学。

6 结语

为了解决软件质量评估中不定性因素的影响,本文采用模糊层次分析法,通过对ISO/IEC 25010质量标准模型的研究,将其分为两个层次级,构造成递阶层级结构,确定各层次级各个指标因素权重,建立基于模糊层次法的软件质量分析综合评价模型,最后利用模糊数学的综合评价法,给出了对软件进行质量评估的完整过程,最后根据一个实例,利用数学工具Matlab,对软件的质量评估作了进一步的说明。进一步研究,将该软件质量评价模型层次间的指标因素更加细化,取到更加精确的权重值,使得计算结果更加准确。

[1] 汪海涛,刘帅,姜瑛,等.一种基于模糊物元评价法的构件质量度量模型研究[J].云南大学学报(自然科学版),2015,37(1):31-33. WANG Haitao, LIU Shuai, JIANG Yin, et al. Study on a component quality metrics model based on the fuzzy matter-element evaluation method[J]. Journal of YunNan University(Natural sciences),2015,37(1):31-33.

[2] J.A. McCall, P.K. Richards, G.F. Walters. Factors in Software Quality.Vol 1[R]. New York: Rome Air Development Centre,1977.

[3] B W Boehm, J Brown, H Kaspar, et al. Characteristics of Software Quality[C]//TRW Serious of Software Technology Vol 1. New York: North-Holland,1978.

[4] ISO/IEC 25010. Systems and software engineering—Systems and software quality requirements and evaluation (SQuaRE)—System and software quality models[S]. International Standard Organization,2011.

[5] 张吉军.模糊层次分析法(FAHP)[J].模糊系统与数学,2000,14(2):80-88. ZHANG Jijun. Fuzzy Analytical Hierarchy Process(FAHP)[J]. Fuzzy Systems and Mathematics,2000,14(2):80-88.

[6] 吕跃进.基于模糊一致矩阵的模糊层次分析法的排序[J].模糊系统与数学,2002,16(2):79-85. LV Yuejin. Weight Calculation Method of Fuzzy Analytical Hierarchy Process[J]. Fuzzy Systems and Mathematics,2002,16(2):79-85.

[7] 兰继斌,徐扬,霍良安,等.模糊层次分析法权重研究[J].系统工程理论与实践,2006,26(9):107-112. LAN Jibin, XU Yang, HUO Liang-an, et al. Research on the Priorities of Fuzzy Analytical Hierarchy Process[J]. System Engineering-Theory & Practice,2006,26(9):107-112.

[8] 王家顺,王田苗,胡耀光,等.一种基于模糊层次分析法的供应商评价模型的研究[J].微电子学与计算机,2001,18(2):59-64. WANG Jiashun, WANG Tianmiao, HU Yaoguang, et al. Study of a Supplier Evaluation Model with Fuzzy Analytic Hierarchy Process[J]. Microelectronics & Computer,2001,18(2):59-64.

[9] 林勇.基于FAHP的大学生综合素质评价系统设计[J].计算机与数字工程,2013,41(7):1108-1110. LIN Yong. Comprehensive Evaluation System of University Students Based on FAHP[J]. Computer and Digital Engineering,2013,41(7):1108-1110.

[10] 韩利,梅强,陆玉梅,等.AHP-模糊综合评价方法的分析与研究[J].中国安全科学学报,2004,14(7):86-89. HAN Li, MEI Qiang, LU Yumei, et al. Analysis and Study on AHP-Fuzzy Comprehensive Evaluation[J]. China Safety Science Journal,2004,14(7):86-89.

[11] 刘开第,庞彦军,吴和琴,等.模糊隶属度定义中隐含的问题[J].系统工程理论与实践,2000,20(1):110-112. LIU Kaidi, PANG Yanjun, WU Heqin, et al. The Problems in the Definition of Fuzzy Subordinative Degree[J]. System Engineering-Theory & Practice,2000,20(1):110-112.

Software Quality Evaluation Model Based on Fuzzy Analytic Hierarchy Process

YANG Yang WANG Haitao JIANG Ying CHEN Xing

(Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650500)

With the rapid development of software technology, due to the diversity and complexity of index in software quality evaluation is difficult to determine, in view of the situation. a software quality evaluation model is established based on the ISO/IEC 25010 software quality mode, combined with analytic hierarchy process and fuzzy comprehensive evaluation method. Eight quality characteristics of ISO/IEC 25010 quality standards are selected as research emphases. By using mathematical tools Matlab, the feasibility of the model is further explained.

software quality model, fuzzy analytic hierarchy process, Matlab Class Number TP391

2016年10月17日,

2016年11月21日

国家自然科学基金(编号:61462049)资助。

杨阳,男,硕士研究生,研究方向:软件工程。汪海涛,女,副教授,硕士生导师,研究方向:软件工程。姜瑛,女,博士,教授,硕士生导师,研究方向:软件工程。陈星,男,硕士,讲师,研究方向:软件工程。

TP391

10.3969/j.issn.1672-9722.2017.04.005

猜你喜欢

分析法一致性权重
异步机传统分析法之困难及其克服
商用车CCC认证一致性控制计划应用
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
基于DEA分析法的全国公路运输效率分析
注重教、学、评一致性 提高一轮复习效率
对历史课堂教、学、评一体化(一致性)的几点探讨
权重常思“浮名轻”
基于层次分析法的智慧城市得分比较
基于层次分析法的智慧城市得分比较
为党督政勤履职 代民行权重担当