王金星 汪海濤 姜 瑛 陳 星
基于三角模糊數層次分析法的軟件質量評價模型研究?
王金星 汪海濤 姜 瑛 陳 星
(昆明理工大學信息工程與自動化學院 昆明 650500)
軟件質量是軟件工程各個階段中一項指導性原則,但是評價軟件質量的指標又具有復雜性和多樣性。針對這一現狀,在ISO/IEC 25010軟件質量模型的基礎上,基于模糊綜合評價法和三角模糊數層次分析法建立軟件質量綜合評價模型。通過具體的實例說明了該模型對軟件質量進行綜合評價的可行性和有效性。
軟件質量模型;模糊綜合評價;三角模糊數層次分析法
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
軟件質量是多種因素復雜混合體,不同的組織機構從不同的角度對其進行定義。美國國家標準學會在其ANSI/ASQCA3/1987標準中把軟件質量定義為:“軟件質量是軟件產品或服務的特性和特征的整體,它取決于軟件滿足給定需求的能力”。根據Pressman的定義[1],軟件質量是對明確陳述的功能和性能需求、明確記錄的開發標準以及對所有專業化軟件開發應具備的隱含特征的符合度。國內外存在不同的軟件質量標準來評價軟件過程中的產品質量,并具有相應的軟件質量特性和度量模型。
J.A.McCall等設計出業內公認的、經典軟件質量的三層模型:要素-準則-度量模型[2](FCM三層模型)。1976年Boehm等提出了軟件質量特性樹[3],即Boehm軟件質量度量模型。該模型從軟件可移植性、軟件可維護性和軟件可使用性三方面進行軟件質量評價工作。國際標準ISO/IEC 9126是由ISO和IEC共同成立的聯合技術委員會ISO/IEC JTC 1于1991年起草發布,并于2001年進行了修訂。ISO/IEC 9126軟件質量模型共分為三層六個特性,三層包括:低層——軟件質量度量評價準則;中層——軟件質量設計評價準則;高層——軟件質量需求評價準則。特性包括可維護性、易用性、可靠性、效率、功能性、可移植性六個質量特性,每個質量特性又擁有一系列子特性。國際標準組織于2011年3月發布了最新ISO/IEC 25010[4]軟件質量模型,用以彌補ISO/IEC 9126質量模型的不足,它描述了8個質量特性和31個子特性。基于ISO/IEC 25010軟件質量模型,運用模糊物元評價法對構件質量進行綜合評估,度量模型和評估方法可作為構件管理者在對構件質量進行評價時參考[5]。由此可見ISO/IEC 25010軟件質量模型不僅應用于軟件質量還能應用于構件質量模型參考。
本文是基于ISO/IEC 25010軟件質量模型建立軟件質量評價模型,并運用三角模糊數層次分析法進行賦權,并對軟件質量進行綜合評價。有利于軟件質量評價的科學性與有效性。
本文研究以ISO/IEC 25010質量模型中的基本要素為評價標準,運用層次分析法,建立軟件質量的評價模型。軟件質量的質量特性作為一層評價要素集,即 A={B1,B2,B3,B4,B5,B6,B7,B8},質量特性下子特性作為各單要素的子集,即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質量模型為基礎構建的軟件質量評價模型詳見表1。

表1 ISO/IEC 25010軟件質量評價模型及權重

續表1
三角模糊數層次分析法[6~7]是利用三角模糊數定量表示專家比較判斷兩個指標重要性的結果,當給出個模糊判斷后,可得到由三角模糊數組成的模糊判斷矩陣:

式中 aij=(lij,mij,uij)是一個三角模糊數,中值 mij的取值依據AHP的1~9標度法[8]確定,具體如表2所示,lij、uij為該三角模糊數的上下界,表示判斷的模糊程度。uij-lij越大表示判斷越模糊,反之判斷越清楚。三角模糊數上下界具體取值依據如表3所示。當有n位專家進行判斷時,取他們的均值作為綜合三角模糊數。

表2 三角模糊數中值含義

表3 三角模糊數上下界取值依據

專家在評判各個指標之間的重要性時,難免會出現相互矛盾的局面,所以要對構造的三角模糊判斷矩陣進行一致性檢驗。本文的判斷矩陣一致性檢驗,近似采用中值矩陣進行一致性檢驗。具體操作表示:式中λmax是中值矩陣的最大特征值,CI是一致性檢驗指標。CI值越小,判斷矩陣一致性程度越高,當CI=0時,判斷矩陣完全一致,CI值越大,判斷矩陣一致性程度越低。為了衡量判斷矩陣是否滿意,還引入了平均隨機一致性指標RI,不同階矩陣平均隨機一致性指標不同,具體如表4所示。一致性指標和平均隨機一致性指標之比稱為隨機一致性比率,記為CR。CR=CI/RI,當CR<0.1時可以判斷矩陣具有滿意一致性。

表4 RI值
權重計算三角模糊數層次分析法的核心問題。如今最常用的方法是常大勇[9]等提出的基于三角模糊數的模糊層次分析法權重計算法,但是本身的應用范圍受到限制,所以本文運用的是同濟大學隋明剛、魏嶷[10]改進后的計算方法。具體步驟如下:
1)構造模糊判斷因子矩陣E:

其中eij=是標準離差率,它代表專家評價結構模糊程度,eij越大,模糊度越大,可信度越低,反之eij越小,模糊度越小,可信度越高。
2)計算調整判斷矩陣Q:

3)把調整判斷矩陣Q按列轉換為對角線為1的判斷矩陣Q′;
4)計算每行元素的n次方根:

5)對ti進行歸一化處理:

得到的W=[ω1,ω2,…,ωi]T為所求的矩陣權重向量。
通過三角模糊數層次分析法后,確定每層或每組的權重后,可以對軟件質量進行模糊綜合評價。具體步驟如下:
1)確定評價集及隸屬度函數
確 定 評 語 等 級 V={v1,v2,v3,v4}={優,良,中,差},四個等級;然后由評估性專家給出閾值{θ1,θ2,θ3,θ4,θ5} 即每個指標的取值范圍。專家對每層或每組的每個要素進行打分,確定隸屬度[11]。假設n個專家對一個要素進行評判,其中有m個專家認定要素B1的評價等級為v1則B1的隸屬度rij=m/n,計算這層或這組的所有隸屬度,便可獲得模糊隸屬度矩陣R:

2)模糊綜合評價

根據ISO/IEC 25010軟件質量評價模型,由于模糊綜合評價是自底向上、逐層向上的綜合,所以先判斷子特性層的模糊綜合評判,評判向量為其中“?”為合成算子,ωi為第i個質量特性下所有子特性權重向量,Ri為第i個質量特性的隸屬度矩陣。根據求出的結果作為上一級的評判標準進行高層次的綜合評價,并最終求得軟件質量評價結果,按照最大隸屬度原則得出結論。
合成算子為

為了驗證本文所用方法的可行與有效性,在此節給出了一個實例,經過數位專家的討論研究對《物流信息管理系統》給出軟件質量特性層的判斷矩陣 A ,其中 1~8 列分別代表 B1,B2,B5,B4,B3,B6,B7,B8。

求出中值矩陣M:

得到M的最大特征值λmax=8.14913411,再根據式(2)得出一致性檢驗指標CI=0.0213,再求出隨機一次性比率CR=0.015<0.1,故模糊判斷矩陣符合滿意一致性條件。
根據模糊判斷矩陣構造模糊判斷因子矩陣E:

由式(4)得到調整判斷矩陣Q:

通過列變換調整判斷矩陣Q′為

根據式(4~5)得到質量特性歸一化的權重向量W=[2.053,2.053,2.053,1.504,1.057,0.713,0.431,0.253]T,則B1~B8序列歸一化后權重向量W=[0.2029,0.2029,0.1045,0.1487,0.2029,0.0705,0.0426,0.025]T。同理可以求出子特性的權重詳見表1。
再根據10位專家對各個質量特性的子特性因素評價,給出模糊隸屬度矩陣R1~R8,這里我以功能特性的綜合模糊隸屬度矩陣R1為例,其它的與之相似。

根據式(8)求得功能特性綜合評判為

歸一化后B1=(0.6638 0.2539 0.0823 0)同理,可以求出其他質量特性的綜合評判:

最后,將B1~B8數據作為新的隸屬度矩陣,得到軟件《物流信息管理》的綜合評判:B=W?R=(0.7082 0.2115 0.0803 0),由上述計算可知,根據最大隸屬度原則,可評判該軟件的評判等級為優秀這一等級。評判結果與預測結果相吻合,故證明了該方法的可行性與有效性。
軟件質量評價指標的復雜和多樣性導致了評判軟件難度較大,本文首先根據軟件ISO/IEC 25010軟件質量模型建立了軟件質量評價模型,運用了三角模糊數層次分析法對建立的軟件質量評價模型的各層進行賦權,增加了評判的科學性與有效性。又運用模糊綜合評判法建立軟件質量綜合評價模型,并以《物流管理系統》為例給出了模型的評價過程,結果顯示該模型的可行性和有效性。
[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]汪海濤,劉帥,姜瑛,等.一種基于模糊物元評價法的構件質量度量模型研究[J].云南大學學報:自然科學版,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]肖勇,黃友朋,周童,等.基于模糊層次分析法智能電表軟件質量評價[J].自動化與儀表,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]吳成國,王義民,金菊良,等.基于三角模糊數的水庫防洪調度模糊綜合風險分析[J].水力發電學報,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]藎壚.實用模糊數學[M].北京:科學技術文獻出版社,1989:179-226.
JIN Lu.Fuzzy mathematics[M].Practical Science and Technology Literature,1989:179-226.
[9]諸克軍,張新蘭.FuzzyAHP方法及應用[J].系統工程理論與實踐,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中權重確定方法的探討與改進[J].山西大學學報(自然科學版),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].系統工程理論與實踐,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日
國家自然科學基金項目(編號:61462049)資助。
王金星,男,碩士研究生,研究方向:軟件工程。汪海濤,女,副教授,碩士生導師,研究方向:軟件工程。
姜瑛,女,博士,教授,碩士生導師,研究方向:軟件工程。陳星,男,碩士,講師,研究方向:軟件工程。