基于犹豫模糊集的软件质量评价模型*

2020-06-02 06:10禹建丽陈洪根
计算机工程与科学 2020年5期
关键词:模糊集直觉广义

禹建丽,卢 皎,陈洪根

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

1 引言

随着互联网的日益普及和信息产业的快速发展,软件应用已经渗透到人们生活和工作的各个领域[1],人们对软件产品的质量要求越来越高。软件质量评价是保证软件质量的关键步骤,因此如何客观有效地评价软件质量成为开发商和客户共同关注的问题[2],“质量是软件的生命”这一口号已经深入人心[3,4]。由于软件具有抽象性、复杂性和多变性[5]等特征,软件质量评价成为很多学者研究的热点[6]。

关于软件质量度量模型的研究最早开始于20世纪70年代,国际、国内标准化组织做了大量研究,制定了许多与软件有关的质量标准[7-9],现今最常用的是:McCall模型[7]、Boehm模型[8]、ISO/IEC9126模型[9]等。基于这些评价模型,文献[10,11]将基于回归分析[10]、逻辑推理[11]等统计分析方法应用于软件质量评价,文献[12,13]将层次分析法[12]、模糊综合评价法[13]等决策方法应用于软件质量评价,文献[3,14]将人工神经网络[14]、粒子群算法、投影寻踪[3]等智能算法应用于软件质量评价。岳川[15]提出了一种面向符号信息的软件质量评价模型;闫琼等[16]将质量功能展开QFD(Quality Function Depolyment)应用于软件质量评价中;王晓霞等[17,18]应用神经网络建立软件质量评价模型,在神经网络的参数优化上做出改进,并逐渐与其他智能算法相结合。

采用层次分析法等决策方法评价软件时,专家打分是一个关键环节。然而,由于软件质量属性具有复杂性和多变性的特征,即使是经验丰富的专家,在做出决策时也是犹豫的。为了描述这种不确定性程度,Zadeh[19]于1965年首次提出了模糊集理论,通过引入隶属度函数描述事物满足某种属性的程度,用于处理不确定性问题。模糊集的概念被广泛应用于决策领域[20]。其中,李世群[21],郑鹏[22]将模糊评价应用于软件领域。Atanassov等[23,24]对模糊集合进行了扩展,先后提出了直觉模糊集和区间模糊集的概念,把仅考虑隶属度的传统模糊集推广到同时考虑隶属度、非隶属度和犹豫度3个方面信息的直觉模糊集和区间模糊集。Torra[25]于2010年进一步拓展了模糊集,提出了犹豫模糊集的概念。犹豫模糊集中同一元素存在多个隶属度,能更加细致地描述事物的不确定性,避免决策信息的缺失。犹豫模糊集的提出为多属性决策提供了新思路。朱盛等[26]将犹豫模糊集应用于经济定价模型中,杨美琪[27]在施工评标方法中应用犹豫模糊集,张黎等[28]在专利质量评价的多属性决策问题中运用了犹豫模糊集,Zhao等[29]将直觉模糊集应用于软件质量评价,为软件质量评价模型的研究提供了新的解决方法。由此可见,犹豫模糊集适用于多属性决策问题。因此,本文研究一种基于犹豫模糊集的软件质量评价模型,并引入非隶属度的概念,在专家做出判断时允许弃权的情况发生,即同时给出了软件符合某种属性的隶属度犹豫模糊集和非隶属度犹豫模糊集,得出综合犹豫模糊决策矩阵,充分考虑到了专家打分的犹豫程度,更加符合人们的思维方式,减少决策信息的丢失。本文根据ISO9126模型,结合实际,建立需要评价的属性集合,通过专家评价得出综合犹豫模糊决策矩阵,并利用犹豫模糊集的广义比较表法,计算出软件的得分,从而给出软件质量的优劣排序。

2 犹豫模糊集基本概念

定义1[25,30]设X为一个给定的集合,则集合H*={〈x,hH(x)〉|x∈X}为犹豫模糊集合,其中集合hH(x)是由[0,1]上若干个不同值构成,表示X中元素x属于集合H的若干种可能隶属度。称hH(x)为一个犹豫模糊元,不同的犹豫模糊元中值排列无序且个数可能不同。例如,在软件质量评价中,当专家在给可靠性打分时产生犹豫,他认为软件满足可靠性的程度可能为0.2,0.3,0.4,则h1(x)=(0.2,0.3,0.4) 就是一个犹豫模糊元,软件不同属性的多个犹豫模糊元构成一个犹豫模糊集。

通过用隶属度、非隶属度和犹豫度3个指标来表示元素和集合之间的关系,对模糊集进行推广从而得到直觉模糊集的定义。

定义2[24]设X是一个非空集合,则称A*={〈x,μA(x),vA(x)〉|x∈X}为直觉模糊集,其中μA(x)和vA(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的犹豫度或不确定度。即利用直觉模糊集评价软件质量指标允许专家在打分时分别给出软件质量符合某种特性的隶属度、非隶属度和犹豫度,允许弃权情况的发生。

本文将犹豫模糊集和直觉模糊集结合形成直觉犹豫模糊集。例如,在软件质量评价中,一个软件的可靠性的直觉犹豫模糊集由犹豫模糊元h1(x)和犹豫模糊元h2(x)同时构成,其中,h1(x)是元素x的多个隶属度值μA(x)构成的犹豫模糊元,h2(x)是元素x的多个非隶属度值vA(x)构成的犹豫模糊元。假设在专家打分过程中,软件满足可靠性的程度为(0.2,0.3,0.4),不满足可靠性的程度为(0.3,0.4,0.4),则〈(0.2,0.3,0.4),(0.3,0.4,0.4)〉就组成1个直觉犹豫模糊集。

定义3[25,30]设h(x),h1(x),h2(x)为3个犹豫模糊元,则:

此定义规定了犹豫模糊集求并集和交集的规则。

定义4[31]设h1和h2是2个犹豫模糊元,l(h1)和l(h2)分别表示h1和h2中值的数目,lmax=max{l(h1),l(h2)},则h1大于或等于h2的概率为:

(1)

将本文提出的直觉犹豫模糊集综合应用于专家打分环节,可以得到综合犹豫模糊矩阵的定义。

定义6[31]设X={x1,x2,…,xm}是待评价元素集合,U={u1,u2,…,un}是待评价元素的指标集合,则一个犹豫模糊集合广义比较表是一个行数和列数相等的表。表中元素用Cij表示,其计算公式如式(2)所示:

1≤i,j≤n,0≤Cij≤n,Cii=0.5n

(2)

其中n是犹豫模糊集中值的数目。

3 基于犹豫模糊集的软件质量评价

设X={x1,x2,…,xm}为待评价软件集合,U={u1,u2,…,un}为软件质量评价指标集合。为了减少决策信息的丢失,充分考虑专家在打分环节的犹豫思维及打分结果的不确定性,根据本文提出的直觉犹豫模糊集的概念和打分方法,采用的具体评价步骤如下所示:

步骤2根据式(1)计算Cij,首先计算所有隶属度集合的Cij,得到犹豫模糊集合的广义比较表1,利用式(2)所示的特征函数的定义比较Cij的大小,最后计算广义比较表1的行和和列和,以及行和、列和之差。

特征函数定义为[31]:

(3)

其中,x,y≥0,x≥y。

步骤3计算所有非隶属度集合的Cij,得到广义比较表2,同样地计算广义比较表2中的行和、列和之差。

得分函数定义为:

(4)

其中,Si(X1)和Si(X2)分别表示第i个软件的隶属度得分和非隶属度得分。

4 案例

随着信息化的发展,软件产品的应用范围越来越广,因此,在软件开发过程中需要更加严格地进行质量检测和控制,如何控制和改进软件过程和产品质量具有理论和实践意义。本节给出1个评价软件质量的实际案例研究。该案例的目的是对软件质量进行排序,从而评估出质量最佳的软件。

设现有5个可选择的软件X={x1,x2,…,x5},由3位专家构成决策者集合,进行软件属性打分。根据需求选取ISO9126模型中的功能性、可靠性、易用性和可移植性作为软件质量评价的指标U={u1,u2,u3,u4},其中,功能性u1是指软件产品为指定的任务和用户目标提供一组合适功能的能力。可靠性u2指软件在使用过程中较为稳定、防止外部接口错误扩散而导致系统失效的能力以及系统失效后重新恢复原有功能和性能的能力。易用性u3是指软件反馈给用户信息时,要清晰、准确且易懂,使用户能够快速理解软件。可移植性u4是指软件产品无需作相应变动就能适应不同环境的能力,尽可能少地提供选择,方便用户直接安装。

(5)

经过计算,可以得到隶属度犹豫模糊集的广义比较表,如表1所示。

Table 1 Membership generalized comparison table

(2)根据表1,计算广义比较表中xi的行和、列和。行和与列和之差记为得分Si(X1),得到表2,其中,Pi和Qi分别为第i个软件广义比较表的行和、列和。

Table 2 Membership generalized comparative scores

Table 3 Non-membership generalized comparison table

(4)同样地,计算非隶属度的广义比较表中xi的行和、列和,行和与列和之差记为得分函数Si(X2),如表4所示。

Table 4 Non-membership generalized comparison scores

Table 5 Final evaluation scores

根据得分值进行排序得:x4>x1>x5>x2>x3,因此最优的软件是x4。

文献[29]采用模糊加权平均算子集成犹豫模糊信息,通过比较方案的综合属性值来进行优劣分析,其排序结果是x1>x4>x5>x2>x3。将以上2种排序结果进行比较可得,只有软件1和软件4的排序产生了显著变化,排序位置互换,其余结果一致。排序位置的变化一方面是由于本文所用方法综合考虑了隶属度集合和非隶属度集合之间的关系,采用广义犹豫模糊比较表法,有效减少了决策信息的丢失;另一方面是由于文献[29]中得分函数不适用于本文方法,需要选择不同的得分函数,从而导致排序发生变化。因此,本文提出的方法在软件质量评价中是可行的。

文献[29]是从开发者的观点评价软件质量属性,忽略了客观实践和软件用户的主观体验。本文研究的犹豫模糊软件质量评价模型,将犹豫模糊集与直觉模糊集相结合,充分考虑到决策者的主观偏好和决策时的犹豫程度,且本文方法较为简洁,计算方便,便于决策者通过简单计算得出软件质量排序,从而选择所需要的软件。

5 结束语

软件质量评价是保证软件质量的关键环节,是用户和供应商共同关心的焦点问题。软件质量评价问题是一个多属性决策问题,本文的创新之处在于结合了犹豫模糊集和直觉模糊集,得出了综合犹豫模糊矩阵,并提出了集成直觉犹豫模糊集的方法,给出了得分函数的计算步骤,使评价过程更加符合实际,符合人们的主观体验。通过具体的案例分析,说明了该方法的可行性,为软件质量评价提供了一种简洁有效的方法。

猜你喜欢
模糊集直觉广义
Rn中的广义逆Bonnesen型不等式
“好一个装不下”直觉引起的创新解法
拉马努金——天才的直觉
基于四种截集的粗糙模糊集表现定理的新表示
基于上下截集的粗糙模糊集的运算性质
复图片模糊集及其在信号处理中的应用
林文月 “人生是一场直觉”
一个“数学直觉”结论的思考
从广义心肾不交论治慢性心力衰竭
区间直觉模糊集相似度构造