基于外部质量特性的软件质量模糊综合评价方法的研究
2015-09-18黄海波贾春晖工业和信息化部电子第五研究所软件质量工程研究中心广州5060中国移动深圳分公司深圳58048
洪 流,黄海波,贾春晖,肖 静(.工业和信息化部电子第五研究所软件质量工程研究中心,广州5060;.中国移动(深圳)分公司,深圳58048)
基于外部质量特性的软件质量模糊综合评价方法的研究
洪流1,黄海波1,贾春晖2,肖静1
(1.工业和信息化部电子第五研究所软件质量工程研究中心,广州510610;2.中国移动(深圳)分公司,深圳518048)
随着计算机行业的不断成熟和进步,软件系统测试发挥着越来越重要的作用,如何对软件进行合理有效地评价成为新的话题。借鉴模糊综合评价方法,并结合多年的系统测试经验,提出一套基于软件外部质量的评价模型,解决软件质量评价过程中因缺少度量因素而难以量化的难题,对软件质量评价提供较为客观且可行的评价方案。
模糊综合评价;外部质量
0 引言
在信息产业领域不断发展、成熟的过程中,软件的应用也日益广泛,软件的作用的地位日渐突出。随着软件需求的不断提高,软件规模不断扩大,复杂度也越来越高,从而导致软件出错的可能性也大大提高,因此高效、合理、客观的软件质量评价方法一直是软件评估领域探索的目标。
软件质量是一个较为模糊、广泛的概念,我们经常听到“某某软件好用,使用时反应快”、“某某软件功能很全”。这些描述不能算作软件质量评价的标准,更不能算作软件质量定量评价的标准。
本文采用模糊数学中的模糊综合评判模型,结合《GB-T 16260.2-2006软件工程产品质量第2部分:外部度量》[2]中对外部质量的层次分类,对软件质量进行总体评估。
1 软件质量度量
1.1软件质量度量类别
在ISO/IEC 9126中,将软件质量的度量方式分为三类:内部质量度量、外部质量度量和使用质量度量。
内部质量度量主要运用在开发阶段,对开发过程中的过程产物进行评价,包括需求说明等;外部质量度量主要基于需求和设计来使用,一般用于系统级的测试,通过对比实际系统的实现情况与系统设计说明来对软件进行评价;而使用度量顾名思义,是从使用的角度(包括软件产品的功能实现情况、工作效率等)来对软件进行评价,以生产环境中现实需求来说明的[3]。
本文主要对外部质量度量进行描述,其他方式不做展开描述。
1.2软件质量度量步骤
软件度量过程大体可以分为4步:明确评价要求、设计评价方式、执行计算模型、求取评价结果。
明确评价要求是指从软件本身的需求和设计出发,确定软件设计的侧重点,从开发目的等角度明确六大外部质量特性的重要级别,并作为确定一级评价因素权重的参考。
评价方式的过程包含:设定度量评价因素、明确定量评价集、获取定量评价权重。由于软件的质量特性是不能够直接度量的,需对评价时用到的质量特性进行标识度量,从而确定定量水平。
执行计算模型是按照已经确定的评价因素、评价集以及权重,按照既定的模型进行计算,从而获取执行结果。当然,在执行过程中,为了执行结果更客观、更准确,既定的模型以及权重等值也需尽可能客观,从而保证结果的有效性[4]。
在执行度量后,本文按照模糊综合评价方法中的最大隶属原则得到最终的评价结果。
2 基于软件外部质量的模糊综合评价模型
2.1确定软件质量度量评价因素
根据《GB-T 16260.2-2006软件工程产品质量第2部分:外部度量》中对软件外部质量特性的描述,将软件外部质量特性分为功能性、可靠性、易用性、维护性、可移植性和效率[1~2],那么可以确定评价一级指标因素集U={功能性,可靠性,易用性,维护性,移植性,效率}= {U1,U2,U3,U4,U5,U6}。另外,对各一级指标的细分,设定二级指标。在标准中,对六个一级质量特性指标的细分情况如下图1。
图1 质量特性指标细分图
从上图可以得出二级评价指标划分情况如下U1={适合性,准确性,互操作性,安全保密性}={u11,u12,u13,u14};U2={成熟性,容错性,易恢复性}={u21,u22,u23};U3={易理解性,易学性,易操作性,吸引性}={u31,u32,u33,u34};U4={易分析性,易改变性,稳定性,易测试性}={u41,u42,u43,u44};U5={适应性,易安装性,共存性,易替换性}= {u51,u52,u53,u54};U6={时间特性,资源利用性}={u61,u62}。
2.2确定软件质量度量评价集
在进行软件的黑盒测试时,我们会发现一些软件的缺陷,这些缺陷可能来自不同的功能项,而且缺陷的种类也各不相同,在对软件质量进行评价时,软件测试所发现的缺陷是重要的评估依据,此时缺陷的个数和影响程度决定着被测软件的质量[5]。
根据ISO/IEC 14598的要求,定量测量的结果需映射到标度上[1~2],根据计算结果,将评估结果分为很好、较好、中等、较差、很差共五个等级,则设定评价集A= {a1,a2,a3,a4,a5}。
2.3确定软件质量度量权重
在对软件质量进行模糊综合评价时,由于作为度量的外部质量特性分为两级,需对一级评价指标和二级评价指标分别进行权重的划分。权重的确定可参照专家打分法,由项目的技术委员会确定,技术委员会成员由项目干系方及行业专家组成,从而保障了模型计算结果的合法、有效性以及客观性[6~7]。
(1)一级评价因素权重的确定
上文提到一级指标因素集U={功能性,可靠性,易用性,维护性,移植性,效率}={U1,U2,U3,U4,U5,U6},则设定一级评价因素的权重M={M1,M2,M3,M4,M5,M6},其中∑Mi=1。在进行权重确定时可按照系统真实情况对外部质量的六大特性进行权重分配[8]。
(2)二级评价因素权重的确定
本文提到的二级评价因素分别为U1,U2,U3,U4,U5,U6,则设定二级评价因素的权重为W1={w11,w12,w13,w14}(其中∑w1j=1,j=1,2,3,4);W2={w21,w22,w23}(其中∑w2j=1,j=1,2,3);W3={w31,w32,w33,w34}(其中∑w3j=1,j=1,2,3,4);W4={w41,w42,w43,w44}(其中∑w4j=1,j=1,2,3,4);W5={w51,w52,w53,w54}(其中∑w5j=1,j=1,2,3,4);W6={w61,w62}(其中∑w6j=1,j=1,2)。
(3)二级评价因素评判矩阵的确定
二级指标评判矩阵R中的任意元素rij表示评价指标uij属于评价集ai的隶属度,以功能性的评判矩阵为例,表示如下:
其中r11表示功能的“适合性”属于“很好”的隶属度。
同理可求得可靠性、易用性、维护性、移植性、效率的评判矩阵R2、R3、R4、R5、R6。
2.4执行软件评价度量
(1)一级评价因素的评判矩阵
按照模糊综合评价法,在通过“专家打分法”获得二级评价因素权重Wi以及二级评价因素的评判矩阵Ri后,可求得相应二级特性的隶属度Bi,那么一级评价因素的评判矩阵B={B1,B2,B3,B4,B5,B6}T。
其中,
B2,B3,B4,B5,B6同理可求得。
(2)一级评价因素的隶属度
在获取一级评价因素的评判矩阵B以及一级评价因素权重矩阵M后,可通过矩阵运算求取一级评价因素隶属度C,公式如下:
2.5评价结果
在求得一级评价因素隶属度C后,可知矩阵C为1行5列的矩阵,按照最大隶属原则获取评价结果。
3 实例应用
3.1确定一级评价因素权重
按照“专家打分法”获取一级评价因素权重M= {M1,M2,M3,M4,M5,M6}={0.4,0.15,0.1,0.05,0.05,0.25}。
3.2确定二级评价因素权重
按照“专家打分法”获取二级评价因素权重如下:
3.3确定二级评价因素评判矩阵
按照“专家打分法”获取二级评价因素的评判矩阵如下:
3.4求取一级评价因素评判矩阵
按照公式(2),求取二级评价因素的隶属度,如下所示:
同理可得:
B2={0.15,0.07,0.20,0.37,0.21};
B3={0.055,0.255,0.435,0.175,0.08};
B4={0.415,0.345,0.145,0.065,0.03};
B5={0.275,0.26,0.22,0.15,0.095};
B6={0.2,0.335,0.265,0.135,0.065}。
则一级评价因素的评判矩阵:
3.5求取一级评价因素隶属度
按照公式(3),求取一级评价因素的隶属度,如下所示:
按照最大隶属原则[9],由于矩阵C中0.29最大,故该软件的模糊综合评价结果为“较好”。
4 结语
本文提出的基于外部质量特性的软件质量模糊综合评价方法简单且易使用,评价方法合理,评估过程严谨,且评估结果直观,为软件质量评估领域提供了可行性强的评估方法[10]。
[1]GB/T18905.1-2002(ISO/IEC 14598-1:1999)软件工程产品评价第1部(Information Technology-Software Product Evaluation-Part 1) 5-15
[2]GB/T 16260.2-2006(ISO/IEC 9126-2:2003)软件工程产品质量第2部分:外部度量(Software Engineering Product Quality)3~5
[3]吴祈宗.系统工程[M].北京:北京理工出版社出版社,2006
[4]彭霞,朱萍,任永昌.软件详细设计工具对比分析严谨[J].计算机技术与发展,2013,23(3):77~80
[5]Norman E.Fenton(英),Shari Lawrence Pfleeger(美).Software Metrics A Rigorous and Practical Approach.
[6]陈奂昊,洪流.系统测试的外部质量评价方法研究[J].软件工程师,2014,17(11)3~4
[7]季超英,宋晓秋.软件文档质量的度量方法研究[J].计算机工程与设计.2007,28(17):4068~4071
[8]王颖,柳小军.基于功能点的软件度量在项目管理中的应用.中国电子科学研究院学报,2013,8(1)82~83
[9]曹济,温丽.软件项目功能点度量方法与应用[M].北京:清华大学出版社,2012:23~44
[10]尹平,许聚常,张慧颖.软件测试与软件质量评价[M].北京:国防工业出版社,2008:23~56
肖静(1982-),湖北襄阳人,硕士,工程师,研究方向为信息安全等级保护测评、软件工程化等
Fuzzy Comprehensive Evaluation;External Quality
Research on the Software Quality Fuzz Com prehensive Evaluation Method Based on the ExternalQuality Features
HONG Liu1,HUANG Hai-bo1,JIA Chun-hui2,XIAO Jing1
(1.Software Quality Engineering Research Center,China Electronic Products Reliability and Environmental Testing Research Institute,Guangzhou 510610;2.China Mobile(Shenzhen)Limited,Guangzhou 518048)
With thematurity and progress of the computer industry,software system test is playing an increasingly important role,how to evaluate reasonably and effectively becomes the new topic.Uses fuzzy comprehensive evaluation method,and combines the experience in system testing for years,proposes an evaluation model based on the software external quality,so that themodel solves the problem due to the lack ofmeasurement factorswhich is difficult to quantify,and themodel provides relatively objective and feasible evaluation scheme for the software quality evaluation.
1007-1423(2015)15-0006-05
10.3969/j.issn.1007-1423.2015.15.002
洪流(1988-),男,江苏南通人,硕士,助理工程师,研究方向为第三方系统评测、软件工程化等
黄海波(1988-),男,江苏徐州人,硕士,助理工程师,研究方向为第三方系统评测、软件工程化等
贾春晖(1987-),女,浙江嘉欣人,硕士,工程师,研究方向为App、网站页面监控测试等
2015-05-13
2015-05-18