APP下载

基于直觉模糊集合的软件质量评价模型

2020-11-09禹建丽陈洪根

科学技术与工程 2020年27期
关键词:权法模糊集直觉

禹建丽, 卢 皎, 陈洪根

(郑州航空工业管理学院管理工程学院, 郑州 450046)

随着计算机应用的日益普及和大数据、人工智能、云计算等信息技术的不断涌现。软件系统在人类生活中发挥着重要的作用[1],成为国民经济、国防和日常工作生活中必不可少的组成部分,软件是产品,保证软件的质量始终是软件市场开拓和发展的关键。“质量是软件的生命”这一口号已深入人心[2]。然而,质量是一个难以量化的模糊概念,顾客的不同需求和软件功能的多样化都会导致对软件质量的要求不同[3]。因此,软件质量评价模型成为许多学者研究的热点问题。

早在20世纪70年代,国内外学者就开始研究如何控制软件的质量。目前,常用的三种软件质量评价模型是Boehm模型[4]、McCall模型[5]、ISO/IEC9126模型[6],基于以上软件评价指标体系,现有的软件质量综合评价模型有回归分析法、层次分析法、主成分分析法[7]等决策方法,以及基于智能算法如人工神经网络、粒子群算法等评价模型[1]。然而,采用层次分析法或智能算法等决策方法,都需要专家或者软件用户对软件属性进行打分后评价。由于软件质量的复杂性和人们认知的局限性,即使是经验丰富的专家,在做出决策时也很难准确给出软件满足某种属性的程度。为更明确地描述这种不确定性关系。Zadeh[8]于1965年首次提出了模糊集合理论,通过用隶属度函数来表示评价值,很好地处理了不确定性问题。文献[9]提出了一种改进Vague集的软件质量评价方法,并对一家软件公司三个性能不同的软件进行评价,证明了模糊集合在软件评价中的可行性。由于,模糊集合考虑的仅仅是隶属度的取值,在实际评价中,它不能同时表示支持、反对和犹豫的信息,如在投票过程中,不仅只存在支持和反对,弃权的情况也会发生。因此,Atanassov对模糊集合进行了扩展,提出了直觉模糊集合的概念,把仅考虑隶属度的传统模糊集推广到同时考虑隶属度、非隶属度和犹豫度三个方面信息的直觉模糊集[10-11]。文献[12]将直觉犹豫模糊集应用到软件质量评价中,通过FNIFHPWA(fuzzy Hamacher power weighted average operator)算子将犹豫模糊数做集成运算,进而用于软件质量评价,但其采用打分的方法确定各个属性的权重,具有主观性。刘满凤等[13]提出了改进的直觉模糊熵权法,可以充分表示打分者的犹豫度。因此,基于以上研究,将基于直觉模糊集合建立合理的软件质量评价模型,充分考虑人们犹豫不决的思维,根据ISO9126模型,建立软件的质量评价体系,采用直觉模糊熵权法确定权重,并通过改进的得分函数来计算最终评价得分,结合实际案例得出评价结果,验证了模型的可行性和有效性。

1 直觉模糊集基本概念

1.1 直觉模糊集

定义1[11]设X是一个非空集合,则称A*={[x,μA(x),vA(x)]|x∈X}为直觉模糊集,其中μA(x)和vA(x)分别表示X中元素x属于X的子集A的隶属度和非隶属度,且满足如下条件0≤μA(x)≤1,0≤vA(x)≤1,0≤μA(x)+vA(x)≤1其中,πA(x)=1-μA(x)-vA(x)表示X中元素x属于A的犹豫度或不确定度。为方便起见,Xu[14]定义α=(μα,vα)为直觉模糊数,且满足0≤μα≤1,0≤vα≤1,0≤μα+vα≤1。

1.2 直觉模糊混合加权集成算子

(1)

1.3 得分函数及其改进

任意给定一个直觉模糊数,可以通过评分函数进行评估,其公式如下[17]:s(α)=μα-να,其中s(α)为α的得分值,s(α)∈[-1,1]。可以得出,直觉模糊数随得分函数值的增大而增大,方案就越能满足决策者的要求,但是这种的分函数在一些情况下无法比较直觉模糊数的大小[17]。因此,Liu[18]对得分函数进行了改进,表达式为L(α)=μα+μαπα,函数将弃权的那部分进行细化加权后重新考虑到最终得分函数中,但是该函数只考虑了弃权的人群中倾向于赞成的意见,而没有考虑反对意见,因此决策结果并不全面。

基于此,吴冲等[19]对得分函数进行了进一步改进,得出改进后的得分函数:

(2)

1.4 直觉模糊熵权法

在多属性决策问题中,指标权重的确定是一个关键步骤,如何克服专家的主观性至关重要,其决定了决策结果是否有效,较为常用的确定权重的方法有客观赋权法、主观赋权法等。研究旨在建立一个指标体系来评价软件的质量,然而指标体系中每个因素的权重是未知的,熵权法能够把评价中各个属性的客观信息和主观判断的信息进行量化和综合以后,给出综合的权重值。因此,采用直觉熵权法来确定软件属性的权重,克服了专家打分的主观性,并综合了各方面的信息,使评价结果更加全面客观。

在信息论中,熵用来度量不确定程度,也被称为平均信息量。拥有的信息量越大,对目标的了解越全面,不确定程度越小,相应的目标的熵越小;反之,同样成立。为了精确地度量这个不确定程度的大小,借用信息论的定义,一个信息通道所能传输的第i个信号的信息量Ii=-lnpi,其中pi为该信号出现的概率。因此,如果一个信息通道中存在n个信号,每个信号出现的概率p1,p2,…,pn,则这n个信号所携带的平均信息量,即熵为

(3)

Feng等[20]根据熵权法的原理,提出了应用于直觉模糊数中计算权重的方法:设X={x1,x2,…,xn},A*={[x,μA(x),vA(x)]|x∈X}为直觉模糊集,则直觉模糊集的熵E(A)为

(4)

进一步可计算第j个属性的权重值ωj:

(5)

式(5)中:C为属性;j和k表示第i和k个属性。

2 基于直觉模糊集合的软件质量评价

2.1 问题描述

2.2 评价指标体系

根据国际上常用的软件质量评价体系ISO9126,基于可操作性和便于操作的原则,建立了软件质量评价体系共有6个一级指标和21个二级指标[6](其中,E表示一级指标的属性,e表示二级指标的属性),如图1所示。

图1 软件质量评价体系Fig.1 Software quality evaluation system

2.3 评价方法及步骤

(1)建立二级指标中各个质量特性的直觉模糊评价的决策矩阵。

(2)根据直觉模糊熵权法中式(4)、式(5)计算各个指标的权重值。

(3)利用GIFHWA算子对二级指标的评价值进行集成,对某个质量特性,如易用性,按照式(1)计算,求得易用性指标的综合属性直觉模糊值diE 3=(μi E3,νiE 3)。

(4)根据一级指标的权重,按式(1)求得软件Ai的综合直觉模糊值di。

(5)根据改进得分函数式(2)求得每个软件的最终得分,并排序。

评价流程如图2所示。

图2 软件质量评价流程图Fig.2 Software quality evaluation flow chart

3 案例

某软件公司新开发了三款试用软件A1、A2、A3,采用直觉模糊综合评价法给出软件的排序,为客户的选择提供参考。由经验丰富的10名专家和使用过这些试用软件的客户对软件质量做出评价,采用ISO9126中的评价指标,首先对二级指标ejl进行评价,每人分别给出认为软件达到该指标要求的隶属度、非隶属度及犹豫度。再由这些二级评价指标的直觉模糊值,汇总为一级指标Ej。通过统计得出直觉模糊决策矩阵[21]DEj为

DE5=

DE6=

(6)

用直觉模糊熵权法的式(4)、式(5)计算出每个二级指标属性的权重值:

ωj1=(0.21,0.26,0.19,0.17,0.16)T,ωj2=(0.33,0.32,0.35)T,ωj3=(0.37,0.33,0.3)T,ωj4=(0.5,0.5)T,ωj5=(0.23,0.23,0.28,0.27)T,ωj6=(0.19,0.28,0.24,0.28)T。

根据GIFHWA算子的计算步骤如表1所示,其中GIFHWA算子的位置权重向量通过正态分布法来确定:n=2,λ=(0.5,0.5)T;n=3,λ=(0.242 9,0.514 2,0.242 9)T;n=4,λ=(0.155 0,0.345 0,0.345 0,0.155 0)T;n=5,λ=(0.111 7,0.236 5,0.303 6,0.236 5,0.111 7)T;n=6,λ=(0.086 5,0.171 6,0.241 9,0.241 9,0.171 7,0.086 5)T。

它通过正态分布函数的形状来赋予过高或过低的数据以较小的权重,赋予中间值以较高点的权重,从而消除数据之间的差异性[22]。

以DE1功能性为例。计算第一个软件的功能性的集成过程如表1所示。

表1 直觉模糊算子的集成过程

根据式(1)得:GIFHWA(e11,e12,e13,e14,e15)=(0.65,0.23)。

根据以上步骤,经计算,集成得到一级指标直觉模糊集合:

(7)

二级直觉模糊综合评价。继续利用以上步骤集成模糊数,其中利用熵权法得到的一级指标的权重为:η=(0.17,0.24,0.09,0.08,0.16,0.24)T,计算得到3个软件的综合直觉模糊值:d1=(0.72,0.14),d2=(0.78,0.1),d3=(0.74,0.12)。

最后,根据改进得分函数式(2)得到3个软件的得分:S(A1)=0.830 6,S(A2)=0.880 8,S(A3)=0.853 4。

因此3个软件的质量评价结果为S(A2)>S(A3)>S(A1),通过以上评价可以得出,三个软件的质量排序为A2>A3>A1。与文献[21]通过传统的直觉模糊加权平均(intuitionistic fuzzy weighted arithmetic, IFWA)算子集成直觉模糊信息得到的结果相比,排序结果一致。说明所提出的软件评价模型是合理的。

与传统的方法相比,在直觉模糊集合的基础上结合了直觉模糊熵权法确定各评价指标的权重,使权重的确定更加具有客观性,最后通过改进得分函数得出排序,使评价步骤更加完整,符合人们的客观思维。

4 结论

计算机领域发展迅速,评价软件的质量问题日益重要。软件质量评价问题是一个多属性决策问题。提出了一种改进的基于直觉模糊集合的计算机软件质量评价模型,在比较了直觉模糊集成算子之后,选取既能考虑到各个属性的重要程度,又能结合直觉模糊数自身信息重要性的位置权重的集成算子,并采用直觉模糊熵权法确定权重,可使专家打分更加客观。同时,采用改进的得分函数来计算得分,特别考虑直觉模糊数的整体性,避免决策信息的丢失。通过案例研究,验证了本文方法的可行性,在软件质量评价方面具有应用价值,从而为计算机软件领域的质量评价提供了一条有效的途径。

猜你喜欢

权法模糊集直觉
基于熵权法的BDS钟差组合预测模型的建立
基于熵权法改进的TOPSIS法和灰色关联度分析的压榨脱水过程优化研究
基于熵权法的城市轨道交通系统运营效率
拉马努金——天才的直觉
直觉为舵 意象为帆——儿童直觉线描的“意象”表现教学实践
基于上下截集的粗糙模糊集的运算性质
复图片模糊集及其在信号处理中的应用
林文月 “人生是一场直觉”
一个“数学直觉”结论的思考
模糊过程熵的一些新结论