王金星 汪海濤 姜 瑛 陳 星
基于三角模糊數(shù)層次分析法的軟件質(zhì)量評(píng)價(jià)模型研究?
王金星 汪海濤 姜 瑛 陳 星
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院 昆明 650500)
軟件質(zhì)量是軟件工程各個(gè)階段中一項(xiàng)指導(dǎo)性原則,但是評(píng)價(jià)軟件質(zhì)量的指標(biāo)又具有復(fù)雜性和多樣性。針對(duì)這一現(xiàn)狀,在ISO/IEC 25010軟件質(zhì)量模型的基礎(chǔ)上,基于模糊綜合評(píng)價(jià)法和三角模糊數(shù)層次分析法建立軟件質(zhì)量綜合評(píng)價(jià)模型。通過具體的實(shí)例說明了該模型對(duì)軟件質(zhì)量進(jìn)行綜合評(píng)價(jià)的可行性和有效性。
軟件質(zhì)量模型;模糊綜合評(píng)價(jià);三角模糊數(shù)層次分析法
AbstractSoftware quality is a guiding principle in all phases of software engineering,but the index of evaluating software quality is complex and variety.In view of the situation,based on ISO/IEC 25010 software quality model,fuzzy comprehensive evalu?ation method and triangular fuzzy number analytic hierarchy process are used to establish a comprehensive evaluation model of soft?ware quality.The feasibility and validity of the comprehensive evaluation of software quality based on the ISO/IEC 25010 software quality model are proved by the concrete examples.
Key Wordssoftware quality model,fuzzy comprehensive evaluation,triangular fuzzy number analytic hierarchy process
Class NumberTP391
軟件質(zhì)量是多種因素復(fù)雜混合體,不同的組織機(jī)構(gòu)從不同的角度對(duì)其進(jìn)行定義。美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì)在其ANSI/ASQCA3/1987標(biāo)準(zhǔn)中把軟件質(zhì)量定義為:“軟件質(zhì)量是軟件產(chǎn)品或服務(wù)的特性和特征的整體,它取決于軟件滿足給定需求的能力”。根據(jù)Pressman的定義[1],軟件質(zhì)量是對(duì)明確陳述的功能和性能需求、明確記錄的開發(fā)標(biāo)準(zhǔn)以及對(duì)所有專業(yè)化軟件開發(fā)應(yīng)具備的隱含特征的符合度。國(guó)內(nèi)外存在不同的軟件質(zhì)量標(biāo)準(zhǔn)來評(píng)價(jià)軟件過程中的產(chǎn)品質(zhì)量,并具有相應(yīng)的軟件質(zhì)量特性和度量模型。
J.A.McCall等設(shè)計(jì)出業(yè)內(nèi)公認(rèn)的、經(jīng)典軟件質(zhì)量的三層模型:要素-準(zhǔn)則-度量模型[2](FCM三層模型)。1976年Boehm等提出了軟件質(zhì)量特性樹[3],即Boehm軟件質(zhì)量度量模型。該模型從軟件可移植性、軟件可維護(hù)性和軟件可使用性三方面進(jìn)行軟件質(zhì)量評(píng)價(jià)工作。國(guó)際標(biāo)準(zhǔn)ISO/IEC 9126是由ISO和IEC共同成立的聯(lián)合技術(shù)委員會(huì)ISO/IEC JTC 1于1991年起草發(fā)布,并于2001年進(jìn)行了修訂。ISO/IEC 9126軟件質(zhì)量模型共分為三層六個(gè)特性,三層包括:低層——軟件質(zhì)量度量評(píng)價(jià)準(zhǔn)則;中層——軟件質(zhì)量設(shè)計(jì)評(píng)價(jià)準(zhǔn)則;高層——軟件質(zhì)量需求評(píng)價(jià)準(zhǔn)則。特性包括可維護(hù)性、易用性、可靠性、效率、功能性、可移植性六個(gè)質(zhì)量特性,每個(gè)質(zhì)量特性又擁有一系列子特性。國(guó)際標(biāo)準(zhǔn)組織于2011年3月發(fā)布了最新ISO/IEC 25010[4]軟件質(zhì)量模型,用以彌補(bǔ)ISO/IEC 9126質(zhì)量模型的不足,它描述了8個(gè)質(zhì)量特性和31個(gè)子特性?;贗SO/IEC 25010軟件質(zhì)量模型,運(yùn)用模糊物元評(píng)價(jià)法對(duì)構(gòu)件質(zhì)量進(jìn)行綜合評(píng)估,度量模型和評(píng)估方法可作為構(gòu)件管理者在對(duì)構(gòu)件質(zhì)量進(jìn)行評(píng)價(jià)時(shí)參考[5]。由此可見ISO/IEC 25010軟件質(zhì)量模型不僅應(yīng)用于軟件質(zhì)量還能應(yīng)用于構(gòu)件質(zhì)量模型參考。
本文是基于ISO/IEC 25010軟件質(zhì)量模型建立軟件質(zhì)量評(píng)價(jià)模型,并運(yùn)用三角模糊數(shù)層次分析法進(jìn)行賦權(quán),并對(duì)軟件質(zhì)量進(jìn)行綜合評(píng)價(jià)。有利于軟件質(zhì)量評(píng)價(jià)的科學(xué)性與有效性。
本文研究以ISO/IEC 25010質(zhì)量模型中的基本要素為評(píng)價(jià)標(biāo)準(zhǔn),運(yùn)用層次分析法,建立軟件質(zhì)量的評(píng)價(jià)模型。軟件質(zhì)量的質(zhì)量特性作為一層評(píng)價(jià)要素集,即 A={B1,B2,B3,B4,B5,B6,B7,B8},質(zhì)量特性下子特性作為各單要素的子集,即B1={C11,C12,C13},B2={C21,C22,C23},B3={C31,C32},B4={C41,C42,C43,C44,C45,C46},B5={C51,C52,C53,C54},B6={C61,C62,C63,C64,C65},B7={C71,C72,C73,C74,C75},B8={C81,C82,C83}。以ISO/IEC 25010質(zhì)量模型為基礎(chǔ)構(gòu)建的軟件質(zhì)量評(píng)價(jià)模型詳見表1。
表1 ISO/IEC 25010軟件質(zhì)量評(píng)價(jià)模型及權(quán)重
續(xù)表1
三角模糊數(shù)層次分析法[6~7]是利用三角模糊數(shù)定量表示專家比較判斷兩個(gè)指標(biāo)重要性的結(jié)果,當(dāng)給出個(gè)模糊判斷后,可得到由三角模糊數(shù)組成的模糊判斷矩陣:
式中 aij=(lij,mij,uij)是一個(gè)三角模糊數(shù),中值 mij的取值依據(jù)AHP的1~9標(biāo)度法[8]確定,具體如表2所示,lij、uij為該三角模糊數(shù)的上下界,表示判斷的模糊程度。uij-lij越大表示判斷越模糊,反之判斷越清楚。三角模糊數(shù)上下界具體取值依據(jù)如表3所示。當(dāng)有n位專家進(jìn)行判斷時(shí),取他們的均值作為綜合三角模糊數(shù)。
表2 三角模糊數(shù)中值含義
表3 三角模糊數(shù)上下界取值依據(jù)
專家在評(píng)判各個(gè)指標(biāo)之間的重要性時(shí),難免會(huì)出現(xiàn)相互矛盾的局面,所以要對(duì)構(gòu)造的三角模糊判斷矩陣進(jìn)行一致性檢驗(yàn)。本文的判斷矩陣一致性檢驗(yàn),近似采用中值矩陣進(jìn)行一致性檢驗(yàn)。具體操作表示:式中λmax是中值矩陣的最大特征值,CI是一致性檢驗(yàn)指標(biāo)。CI值越小,判斷矩陣一致性程度越高,當(dāng)CI=0時(shí),判斷矩陣完全一致,CI值越大,判斷矩陣一致性程度越低。為了衡量判斷矩陣是否滿意,還引入了平均隨機(jī)一致性指標(biāo)RI,不同階矩陣平均隨機(jī)一致性指標(biāo)不同,具體如表4所示。一致性指標(biāo)和平均隨機(jī)一致性指標(biāo)之比稱為隨機(jī)一致性比率,記為CR。CR=CI/RI,當(dāng)CR<0.1時(shí)可以判斷矩陣具有滿意一致性。
表4 RI值
權(quán)重計(jì)算三角模糊數(shù)層次分析法的核心問題。如今最常用的方法是常大勇[9]等提出的基于三角模糊數(shù)的模糊層次分析法權(quán)重計(jì)算法,但是本身的應(yīng)用范圍受到限制,所以本文運(yùn)用的是同濟(jì)大學(xué)隋明剛、魏嶷[10]改進(jìn)后的計(jì)算方法。具體步驟如下:
1)構(gòu)造模糊判斷因子矩陣E:
其中eij=是標(biāo)準(zhǔn)離差率,它代表專家評(píng)價(jià)結(jié)構(gòu)模糊程度,eij越大,模糊度越大,可信度越低,反之eij越小,模糊度越小,可信度越高。
2)計(jì)算調(diào)整判斷矩陣Q:
3)把調(diào)整判斷矩陣Q按列轉(zhuǎn)換為對(duì)角線為1的判斷矩陣Q′;
4)計(jì)算每行元素的n次方根:
5)對(duì)ti進(jìn)行歸一化處理:
得到的W=[ω1,ω2,…,ωi]T為所求的矩陣權(quán)重向量。
通過三角模糊數(shù)層次分析法后,確定每層或每組的權(quán)重后,可以對(duì)軟件質(zhì)量進(jìn)行模糊綜合評(píng)價(jià)。具體步驟如下:
1)確定評(píng)價(jià)集及隸屬度函數(shù)
確 定 評(píng) 語 等 級(jí) V={v1,v2,v3,v4}={優(yōu),良,中,差},四個(gè)等級(jí);然后由評(píng)估性專家給出閾值{θ1,θ2,θ3,θ4,θ5} 即每個(gè)指標(biāo)的取值范圍。專家對(duì)每層或每組的每個(gè)要素進(jìn)行打分,確定隸屬度[11]。假設(shè)n個(gè)專家對(duì)一個(gè)要素進(jìn)行評(píng)判,其中有m個(gè)專家認(rèn)定要素B1的評(píng)價(jià)等級(jí)為v1則B1的隸屬度rij=m/n,計(jì)算這層或這組的所有隸屬度,便可獲得模糊隸屬度矩陣R:
2)模糊綜合評(píng)價(jià)
根據(jù)ISO/IEC 25010軟件質(zhì)量評(píng)價(jià)模型,由于模糊綜合評(píng)價(jià)是自底向上、逐層向上的綜合,所以先判斷子特性層的模糊綜合評(píng)判,評(píng)判向量為其中“?”為合成算子,ωi為第i個(gè)質(zhì)量特性下所有子特性權(quán)重向量,Ri為第i個(gè)質(zhì)量特性的隸屬度矩陣。根據(jù)求出的結(jié)果作為上一級(jí)的評(píng)判標(biāo)準(zhǔn)進(jìn)行高層次的綜合評(píng)價(jià),并最終求得軟件質(zhì)量評(píng)價(jià)結(jié)果,按照最大隸屬度原則得出結(jié)論。
合成算子為
為了驗(yàn)證本文所用方法的可行與有效性,在此節(jié)給出了一個(gè)實(shí)例,經(jīng)過數(shù)位專家的討論研究對(duì)《物流信息管理系統(tǒng)》給出軟件質(zhì)量特性層的判斷矩陣 A ,其中 1~8 列分別代表 B1,B2,B5,B4,B3,B6,B7,B8。
求出中值矩陣M:
得到M的最大特征值λmax=8.14913411,再根據(jù)式(2)得出一致性檢驗(yàn)指標(biāo)CI=0.0213,再求出隨機(jī)一次性比率CR=0.015<0.1,故模糊判斷矩陣符合滿意一致性條件。
根據(jù)模糊判斷矩陣構(gòu)造模糊判斷因子矩陣E:
由式(4)得到調(diào)整判斷矩陣Q:
通過列變換調(diào)整判斷矩陣Q′為
根據(jù)式(4~5)得到質(zhì)量特性歸一化的權(quán)重向量W=[2.053,2.053,2.053,1.504,1.057,0.713,0.431,0.253]T,則B1~B8序列歸一化后權(quán)重向量W=[0.2029,0.2029,0.1045,0.1487,0.2029,0.0705,0.0426,0.025]T。同理可以求出子特性的權(quán)重詳見表1。
再根據(jù)10位專家對(duì)各個(gè)質(zhì)量特性的子特性因素評(píng)價(jià),給出模糊隸屬度矩陣R1~R8,這里我以功能特性的綜合模糊隸屬度矩陣R1為例,其它的與之相似。
根據(jù)式(8)求得功能特性綜合評(píng)判為
歸一化后B1=(0.6638 0.2539 0.0823 0)同理,可以求出其他質(zhì)量特性的綜合評(píng)判:
最后,將B1~B8數(shù)據(jù)作為新的隸屬度矩陣,得到軟件《物流信息管理》的綜合評(píng)判:B=W?R=(0.7082 0.2115 0.0803 0),由上述計(jì)算可知,根據(jù)最大隸屬度原則,可評(píng)判該軟件的評(píng)判等級(jí)為優(yōu)秀這一等級(jí)。評(píng)判結(jié)果與預(yù)測(cè)結(jié)果相吻合,故證明了該方法的可行性與有效性。
軟件質(zhì)量評(píng)價(jià)指標(biāo)的復(fù)雜和多樣性導(dǎo)致了評(píng)判軟件難度較大,本文首先根據(jù)軟件ISO/IEC 25010軟件質(zhì)量模型建立了軟件質(zhì)量評(píng)價(jià)模型,運(yùn)用了三角模糊數(shù)層次分析法對(duì)建立的軟件質(zhì)量評(píng)價(jià)模型的各層進(jìn)行賦權(quán),增加了評(píng)判的科學(xué)性與有效性。又運(yùn)用模糊綜合評(píng)判法建立軟件質(zhì)量綜合評(píng)價(jià)模型,并以《物流管理系統(tǒng)》為例給出了模型的評(píng)價(jià)過程,結(jié)果顯示該模型的可行性和有效性。
[1]Pressman R.Software engineering:a practitioner’s ap?proach[M].Software Engineering:A Practitioner’s Ap?proach.McGraw-Hill Higher Education,2001:45-55.
[2]Mccall J A,Richards P K,Walters G F.Factors in Soft?ware Quality[J].Proceedings of the Ninth International Software Metrics Symposium(METRICS’03)1530-1435/03$17.00 ? 2003 IEEE,1977,43(1).
[3]Boehm B W,Brown JR,Lipow M.Quantitative evaluation of software quality[C]//International Conference on Soft?ware Engineering,1976:592-605.
[4]ISO/IEC 25010.Systems and software engineering—Sys?tems and software quality requirements and evaluation(SQuaRE)—System and software quality models[S].In?ternational Standard Organization,2011.
[5]汪海濤,劉帥,姜瑛,等.一種基于模糊物元評(píng)價(jià)法的構(gòu)件質(zhì)量度量模型研究[J].云南大學(xué)學(xué)報(bào):自然科學(xué)版,2015,37(1):31-42.
WANG Haitao,LIU Shuai,JIANG Ying,et al.A compo?nent quality measurement model based on fuzzy matter ele?ment evaluation method[J].Journal of Yunnan University:Natural Science Edition,2015,37(1):31-42.
[6]肖勇,黃友朋,周童,等.基于模糊層次分析法智能電表軟件質(zhì)量評(píng)價(jià)[J].自動(dòng)化與儀表,2016,31(7):20-24.
XIAOYong,HUANG Youpeng,ZHOU Tong,et al.Intelli?gent electric meter software quality evaluation based on fuzzy analytic hierarchy process[J].Automation and In?strumentation,2016,31(7):20-24.
[7]吳成國(guó),王義民,金菊良,等.基于三角模糊數(shù)的水庫(kù)防洪調(diào)度模糊綜合風(fēng)險(xiǎn)分析[J].水力發(fā)電學(xué)報(bào),2011,30(4):30-35.
WU Chengguo,WANG Yimin,JIN Juliang,et al.Fuzzy comprehensive risk analysis of reservoir flood control oper?ation based on triangular fuzzy number[J].Journal of Hy?droelectric Power,2011,30(4):30-35.
[8]藎壚.實(shí)用模糊數(shù)學(xué)[M].北京:科學(xué)技術(shù)文獻(xiàn)出版社,1989:179-226.
JIN Lu.Fuzzy mathematics[M].Practical Science and Technology Literature,1989:179-226.
[9]諸克軍,張新蘭.FuzzyAHP方法及應(yīng)用[J].系統(tǒng)工程理論與實(shí)踐,1997,17(12):64-69.
ZHU Kejun,ZHANG Xinlan.Method and application of FuzzyAHP system engineering theory and practice,1997,17(12):64-69.
[10]隋明剛,魏嶷.Fuzzy AHP中權(quán)重確定方法的探討與改進(jìn)[J].山西大學(xué)學(xué)報(bào)(自然科學(xué)版),2000,23(3):218-220.
SUI Minggang,WEI Yi.Study and improvement of the methods of determining weight Fuzzy[J].Journal of Shanxi University AHP(Natural Science Edition),2000,23(3):218-220.
[11]劉開第,龐彥軍,吳和琴,等.模糊隸屬度定義中隱含的問題[J].系統(tǒng)工程理論與實(shí)踐,2000,20(1):110-112.
LIU Kaidi,PANG Yanjun,WU Heqin,et al.The Prob?lems in the Definition of Fuzzy Subordinative Degree[J].System Engineering-Theory&Practice,2000,20(1):110-112.
Research on Software Quality Evaluation M odel Based on Triangular Fuzzy Number Analytic Hierarchy Process
WANG Jinxing WANG Haitao JIANG Ying CHEN Xing
(Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650500)
TP391
10.3969/j.issn.1672-9722.2017.09.002
2017年4月11日,
2017年5月27日
國(guó)家自然科學(xué)基金項(xiàng)目(編號(hào):61462049)資助。
王金星,男,碩士研究生,研究方向:軟件工程。汪海濤,女,副教授,碩士生導(dǎo)師,研究方向:軟件工程。
姜瑛,女,博士,教授,碩士生導(dǎo)師,研究方向:軟件工程。陳星,男,碩士,講師,研究方向:軟件工程。