禹建麗,盧 皎,陳洪根
(鄭州航空工業(yè)管理學(xué)院管理工程學(xué)院,河南 鄭州 450046)
隨著互聯(lián)網(wǎng)的日益普及和信息產(chǎn)業(yè)的快速發(fā)展,軟件應(yīng)用已經(jīng)滲透到人們生活和工作的各個(gè)領(lǐng)域[1],人們對(duì)軟件產(chǎn)品的質(zhì)量要求越來越高。軟件質(zhì)量評(píng)價(jià)是保證軟件質(zhì)量的關(guān)鍵步驟,因此如何客觀有效地評(píng)價(jià)軟件質(zhì)量成為開發(fā)商和客戶共同關(guān)注的問題[2],“質(zhì)量是軟件的生命”這一口號(hào)已經(jīng)深入人心[3,4]。由于軟件具有抽象性、復(fù)雜性和多變性[5]等特征,軟件質(zhì)量評(píng)價(jià)成為很多學(xué)者研究的熱點(diǎn)[6]。
關(guān)于軟件質(zhì)量度量模型的研究最早開始于20世紀(jì)70年代,國際、國內(nèi)標(biāo)準(zhǔn)化組織做了大量研究,制定了許多與軟件有關(guān)的質(zhì)量標(biāo)準(zhǔn)[7-9],現(xiàn)今最常用的是:McCall模型[7]、Boehm模型[8]、ISO/IEC9126模型[9]等。基于這些評(píng)價(jià)模型,文獻(xiàn)[10,11]將基于回歸分析[10]、邏輯推理[11]等統(tǒng)計(jì)分析方法應(yīng)用于軟件質(zhì)量評(píng)價(jià),文獻(xiàn)[12,13]將層次分析法[12]、模糊綜合評(píng)價(jià)法[13]等決策方法應(yīng)用于軟件質(zhì)量評(píng)價(jià),文獻(xiàn)[3,14]將人工神經(jīng)網(wǎng)絡(luò)[14]、粒子群算法、投影尋蹤[3]等智能算法應(yīng)用于軟件質(zhì)量評(píng)價(jià)。岳川[15]提出了一種面向符號(hào)信息的軟件質(zhì)量評(píng)價(jià)模型;閆瓊等[16]將質(zhì)量功能展開QFD(Quality Function Depolyment)應(yīng)用于軟件質(zhì)量評(píng)價(jià)中;王曉霞等[17,18]應(yīng)用神經(jīng)網(wǎng)絡(luò)建立軟件質(zhì)量評(píng)價(jià)模型,在神經(jīng)網(wǎng)絡(luò)的參數(shù)優(yōu)化上做出改進(jìn),并逐漸與其他智能算法相結(jié)合。
采用層次分析法等決策方法評(píng)價(jià)軟件時(shí),專家打分是一個(gè)關(guān)鍵環(huán)節(jié)。然而,由于軟件質(zhì)量屬性具有復(fù)雜性和多變性的特征,即使是經(jīng)驗(yàn)豐富的專家,在做出決策時(shí)也是猶豫的。為了描述這種不確定性程度,Zadeh[19]于1965年首次提出了模糊集理論,通過引入隸屬度函數(shù)描述事物滿足某種屬性的程度,用于處理不確定性問題。模糊集的概念被廣泛應(yīng)用于決策領(lǐng)域[20]。其中,李世群[21],鄭鵬[22]將模糊評(píng)價(jià)應(yīng)用于軟件領(lǐng)域。Atanassov等[23,24]對(duì)模糊集合進(jìn)行了擴(kuò)展,先后提出了直覺模糊集和區(qū)間模糊集的概念,把僅考慮隸屬度的傳統(tǒng)模糊集推廣到同時(shí)考慮隸屬度、非隸屬度和猶豫度3個(gè)方面信息的直覺模糊集和區(qū)間模糊集。Torra[25]于2010年進(jìn)一步拓展了模糊集,提出了猶豫模糊集的概念。猶豫模糊集中同一元素存在多個(gè)隸屬度,能更加細(xì)致地描述事物的不確定性,避免決策信息的缺失。猶豫模糊集的提出為多屬性決策提供了新思路。朱盛等[26]將猶豫模糊集應(yīng)用于經(jīng)濟(jì)定價(jià)模型中,楊美琪[27]在施工評(píng)標(biāo)方法中應(yīng)用猶豫模糊集,張黎等[28]在專利質(zhì)量評(píng)價(jià)的多屬性決策問題中運(yùn)用了猶豫模糊集,Zhao等[29]將直覺模糊集應(yīng)用于軟件質(zhì)量評(píng)價(jià),為軟件質(zhì)量評(píng)價(jià)模型的研究提供了新的解決方法。由此可見,猶豫模糊集適用于多屬性決策問題。因此,本文研究一種基于猶豫模糊集的軟件質(zhì)量評(píng)價(jià)模型,并引入非隸屬度的概念,在專家做出判斷時(shí)允許棄權(quán)的情況發(fā)生,即同時(shí)給出了軟件符合某種屬性的隸屬度猶豫模糊集和非隸屬度猶豫模糊集,得出綜合猶豫模糊決策矩陣,充分考慮到了專家打分的猶豫程度,更加符合人們的思維方式,減少?zèng)Q策信息的丟失。本文根據(jù)ISO9126模型,結(jié)合實(shí)際,建立需要評(píng)價(jià)的屬性集合,通過專家評(píng)價(jià)得出綜合猶豫模糊決策矩陣,并利用猶豫模糊集的廣義比較表法,計(jì)算出軟件的得分,從而給出軟件質(zhì)量的優(yōu)劣排序。
定義1[25,30]設(shè)X為一個(gè)給定的集合,則集合H*={〈x,hH(x)〉|x∈X}為猶豫模糊集合,其中集合hH(x)是由[0,1]上若干個(gè)不同值構(gòu)成,表示X中元素x屬于集合H的若干種可能隸屬度。稱hH(x)為一個(gè)猶豫模糊元,不同的猶豫模糊元中值排列無序且個(gè)數(shù)可能不同。例如,在軟件質(zhì)量評(píng)價(jià)中,當(dāng)專家在給可靠性打分時(shí)產(chǎn)生猶豫,他認(rèn)為軟件滿足可靠性的程度可能為0.2,0.3,0.4,則h1(x)=(0.2,0.3,0.4) 就是一個(gè)猶豫模糊元,軟件不同屬性的多個(gè)猶豫模糊元構(gòu)成一個(gè)猶豫模糊集。
通過用隸屬度、非隸屬度和猶豫度3個(gè)指標(biāo)來表示元素和集合之間的關(guān)系,對(duì)模糊集進(jìn)行推廣從而得到直覺模糊集的定義。
定義2[24]設(shè)X是一個(gè)非空集合,則稱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的猶豫度或不確定度。即利用直覺模糊集評(píng)價(jià)軟件質(zhì)量指標(biāo)允許專家在打分時(shí)分別給出軟件質(zhì)量符合某種特性的隸屬度、非隸屬度和猶豫度,允許棄權(quán)情況的發(fā)生。
本文將猶豫模糊集和直覺模糊集結(jié)合形成直覺猶豫模糊集。例如,在軟件質(zhì)量評(píng)價(jià)中,一個(gè)軟件的可靠性的直覺猶豫模糊集由猶豫模糊元h1(x)和猶豫模糊元h2(x)同時(shí)構(gòu)成,其中,h1(x)是元素x的多個(gè)隸屬度值μA(x)構(gòu)成的猶豫模糊元,h2(x)是元素x的多個(gè)非隸屬度值vA(x)構(gòu)成的猶豫模糊元。假設(shè)在專家打分過程中,軟件滿足可靠性的程度為(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個(gè)直覺猶豫模糊集。
定義3[25,30]設(shè)h(x),h1(x),h2(x)為3個(gè)猶豫模糊元,則:
此定義規(guī)定了猶豫模糊集求并集和交集的規(guī)則。
定義4[31]設(shè)h1和h2是2個(gè)猶豫模糊元,l(h1)和l(h2)分別表示h1和h2中值的數(shù)目,lmax=max{l(h1),l(h2)},則h1大于或等于h2的概率為:
(1)
將本文提出的直覺猶豫模糊集綜合應(yīng)用于專家打分環(huán)節(jié),可以得到綜合猶豫模糊矩陣的定義。
定義6[31]設(shè)X={x1,x2,…,xm}是待評(píng)價(jià)元素集合,U={u1,u2,…,un}是待評(píng)價(jià)元素的指標(biāo)集合,則一個(gè)猶豫模糊集合廣義比較表是一個(gè)行數(shù)和列數(shù)相等的表。表中元素用Cij表示,其計(jì)算公式如式(2)所示:
1≤i,j≤n,0≤Cij≤n,Cii=0.5n
(2)
其中n是猶豫模糊集中值的數(shù)目。
設(shè)X={x1,x2,…,xm}為待評(píng)價(jià)軟件集合,U={u1,u2,…,un}為軟件質(zhì)量評(píng)價(jià)指標(biāo)集合。為了減少?zèng)Q策信息的丟失,充分考慮專家在打分環(huán)節(jié)的猶豫思維及打分結(jié)果的不確定性,根據(jù)本文提出的直覺猶豫模糊集的概念和打分方法,采用的具體評(píng)價(jià)步驟如下所示:
步驟2根據(jù)式(1)計(jì)算Cij,首先計(jì)算所有隸屬度集合的Cij,得到猶豫模糊集合的廣義比較表1,利用式(2)所示的特征函數(shù)的定義比較Cij的大小,最后計(jì)算廣義比較表1的行和和列和,以及行和、列和之差。
特征函數(shù)定義為[31]:
(3)
其中,x,y≥0,x≥y。
步驟3計(jì)算所有非隸屬度集合的Cij,得到廣義比較表2,同樣地計(jì)算廣義比較表2中的行和、列和之差。
得分函數(shù)定義為:
(4)
其中,Si(X1)和Si(X2)分別表示第i個(gè)軟件的隸屬度得分和非隸屬度得分。
隨著信息化的發(fā)展,軟件產(chǎn)品的應(yīng)用范圍越來越廣,因此,在軟件開發(fā)過程中需要更加嚴(yán)格地進(jìn)行質(zhì)量檢測和控制,如何控制和改進(jìn)軟件過程和產(chǎn)品質(zhì)量具有理論和實(shí)踐意義。本節(jié)給出1個(gè)評(píng)價(jià)軟件質(zhì)量的實(shí)際案例研究。該案例的目的是對(duì)軟件質(zhì)量進(jìn)行排序,從而評(píng)估出質(zhì)量最佳的軟件。
設(shè)現(xiàn)有5個(gè)可選擇的軟件X={x1,x2,…,x5},由3位專家構(gòu)成決策者集合,進(jìn)行軟件屬性打分。根據(jù)需求選取ISO9126模型中的功能性、可靠性、易用性和可移植性作為軟件質(zhì)量評(píng)價(jià)的指標(biāo)U={u1,u2,u3,u4},其中,功能性u(píng)1是指軟件產(chǎn)品為指定的任務(wù)和用戶目標(biāo)提供一組合適功能的能力。可靠性u(píng)2指軟件在使用過程中較為穩(wěn)定、防止外部接口錯(cuò)誤擴(kuò)散而導(dǎo)致系統(tǒng)失效的能力以及系統(tǒng)失效后重新恢復(fù)原有功能和性能的能力。易用性u(píng)3是指軟件反饋給用戶信息時(shí),要清晰、準(zhǔn)確且易懂,使用戶能夠快速理解軟件??梢浦残評(píng)4是指軟件產(chǎn)品無需作相應(yīng)變動(dòng)就能適應(yīng)不同環(huán)境的能力,盡可能少地提供選擇,方便用戶直接安裝。
(5)
經(jīng)過計(jì)算,可以得到隸屬度猶豫模糊集的廣義比較表,如表1所示。
Table 1 Membership generalized comparison table
(2)根據(jù)表1,計(jì)算廣義比較表中xi的行和、列和。行和與列和之差記為得分Si(X1),得到表2,其中,Pi和Qi分別為第i個(gè)軟件廣義比較表的行和、列和。
Table 2 Membership generalized comparative scores
Table 3 Non-membership generalized comparison table
(4)同樣地,計(jì)算非隸屬度的廣義比較表中xi的行和、列和,行和與列和之差記為得分函數(shù)Si(X2),如表4所示。
Table 4 Non-membership generalized comparison scores
Table 5 Final evaluation scores
根據(jù)得分值進(jìn)行排序得:x4>x1>x5>x2>x3,因此最優(yōu)的軟件是x4。
文獻(xiàn)[29]采用模糊加權(quán)平均算子集成猶豫模糊信息,通過比較方案的綜合屬性值來進(jìn)行優(yōu)劣分析,其排序結(jié)果是x1>x4>x5>x2>x3。將以上2種排序結(jié)果進(jìn)行比較可得,只有軟件1和軟件4的排序產(chǎn)生了顯著變化,排序位置互換,其余結(jié)果一致。排序位置的變化一方面是由于本文所用方法綜合考慮了隸屬度集合和非隸屬度集合之間的關(guān)系,采用廣義猶豫模糊比較表法,有效減少了決策信息的丟失;另一方面是由于文獻(xiàn)[29]中得分函數(shù)不適用于本文方法,需要選擇不同的得分函數(shù),從而導(dǎo)致排序發(fā)生變化。因此,本文提出的方法在軟件質(zhì)量評(píng)價(jià)中是可行的。
文獻(xiàn)[29]是從開發(fā)者的觀點(diǎn)評(píng)價(jià)軟件質(zhì)量屬性,忽略了客觀實(shí)踐和軟件用戶的主觀體驗(yàn)。本文研究的猶豫模糊軟件質(zhì)量評(píng)價(jià)模型,將猶豫模糊集與直覺模糊集相結(jié)合,充分考慮到?jīng)Q策者的主觀偏好和決策時(shí)的猶豫程度,且本文方法較為簡潔,計(jì)算方便,便于決策者通過簡單計(jì)算得出軟件質(zhì)量排序,從而選擇所需要的軟件。
軟件質(zhì)量評(píng)價(jià)是保證軟件質(zhì)量的關(guān)鍵環(huán)節(jié),是用戶和供應(yīng)商共同關(guān)心的焦點(diǎn)問題。軟件質(zhì)量評(píng)價(jià)問題是一個(gè)多屬性決策問題,本文的創(chuàng)新之處在于結(jié)合了猶豫模糊集和直覺模糊集,得出了綜合猶豫模糊矩陣,并提出了集成直覺猶豫模糊集的方法,給出了得分函數(shù)的計(jì)算步驟,使評(píng)價(jià)過程更加符合實(shí)際,符合人們的主觀體驗(yàn)。通過具體的案例分析,說明了該方法的可行性,為軟件質(zhì)量評(píng)價(jià)提供了一種簡潔有效的方法。