洪 流,黃海波,賈春暉,肖 靜(.工業和信息化部電子第五研究所軟件質量工程研究中心,廣州5060;.中國移動(深圳)分公司,深圳58048)
基于外部質量特性的軟件質量模糊綜合評價方法的研究
洪流1,黃海波1,賈春暉2,肖靜1
(1.工業和信息化部電子第五研究所軟件質量工程研究中心,廣州510610;2.中國移動(深圳)分公司,深圳518048)
隨著計算機行業的不斷成熟和進步,軟件系統測試發揮著越來越重要的作用,如何對軟件進行合理有效地評價成為新的話題。借鑒模糊綜合評價方法,并結合多年的系統測試經驗,提出一套基于軟件外部質量的評價模型,解決軟件質量評價過程中因缺少度量因素而難以量化的難題,對軟件質量評價提供較為客觀且可行的評價方案。
模糊綜合評價;外部質量
在信息產業領域不斷發展、成熟的過程中,軟件的應用也日益廣泛,軟件的作用的地位日漸突出。隨著軟件需求的不斷提高,軟件規模不斷擴大,復雜度也越來越高,從而導致軟件出錯的可能性也大大提高,因此高效、合理、客觀的軟件質量評價方法一直是軟件評估領域探索的目標。
軟件質量是一個較為模糊、廣泛的概念,我們經常聽到“某某軟件好用,使用時反應快”、“某某軟件功能很全”。這些描述不能算作軟件質量評價的標準,更不能算作軟件質量定量評價的標準。
本文采用模糊數學中的模糊綜合評判模型,結合《GB-T 16260.2-2006軟件工程產品質量第2部分:外部度量》[2]中對外部質量的層次分類,對軟件質量進行總體評估。
1.1軟件質量度量類別
在ISO/IEC 9126中,將軟件質量的度量方式分為三類:內部質量度量、外部質量度量和使用質量度量。
內部質量度量主要運用在開發階段,對開發過程中的過程產物進行評價,包括需求說明等;外部質量度量主要基于需求和設計來使用,一般用于系統級的測試,通過對比實際系統的實現情況與系統設計說明來對軟件進行評價;而使用度量顧名思義,是從使用的角度(包括軟件產品的功能實現情況、工作效率等)來對軟件進行評價,以生產環境中現實需求來說明的[3]。
本文主要對外部質量度量進行描述,其他方式不做展開描述。
1.2軟件質量度量步驟
軟件度量過程大體可以分為4步:明確評價要求、設計評價方式、執行計算模型、求取評價結果。
明確評價要求是指從軟件本身的需求和設計出發,確定軟件設計的側重點,從開發目的等角度明確六大外部質量特性的重要級別,并作為確定一級評價因素權重的參考。
評價方式的過程包含:設定度量評價因素、明確定量評價集、獲取定量評價權重。由于軟件的質量特性是不能夠直接度量的,需對評價時用到的質量特性進行標識度量,從而確定定量水平。
執行計算模型是按照已經確定的評價因素、評價集以及權重,按照既定的模型進行計算,從而獲取執行結果。當然,在執行過程中,為了執行結果更客觀、更準確,既定的模型以及權重等值也需盡可能客觀,從而保證結果的有效性[4]。
在執行度量后,本文按照模糊綜合評價方法中的最大隸屬原則得到最終的評價結果。
2.1確定軟件質量度量評價因素
根據《GB-T 16260.2-2006軟件工程產品質量第2部分:外部度量》中對軟件外部質量特性的描述,將軟件外部質量特性分為功能性、可靠性、易用性、維護性、可移植性和效率[1~2],那么可以確定評價一級指標因素集U={功能性,可靠性,易用性,維護性,移植性,效率}= {U1,U2,U3,U4,U5,U6}。另外,對各一級指標的細分,設定二級指標。在標準中,對六個一級質量特性指標的細分情況如下圖1。

圖1 質量特性指標細分圖
從上圖可以得出二級評價指標劃分情況如下U1={適合性,準確性,互操作性,安全保密性}={u11,u12,u13,u14};U2={成熟性,容錯性,易恢復性}={u21,u22,u23};U3={易理解性,易學性,易操作性,吸引性}={u31,u32,u33,u34};U4={易分析性,易改變性,穩定性,易測試性}={u41,u42,u43,u44};U5={適應性,易安裝性,共存性,易替換性}= {u51,u52,u53,u54};U6={時間特性,資源利用性}={u61,u62}。
2.2確定軟件質量度量評價集
在進行軟件的黑盒測試時,我們會發現一些軟件的缺陷,這些缺陷可能來自不同的功能項,而且缺陷的種類也各不相同,在對軟件質量進行評價時,軟件測試所發現的缺陷是重要的評估依據,此時缺陷的個數和影響程度決定著被測軟件的質量[5]。
根據ISO/IEC 14598的要求,定量測量的結果需映射到標度上[1~2],根據計算結果,將評估結果分為很好、較好、中等、較差、很差共五個等級,則設定評價集A= {a1,a2,a3,a4,a5}。
2.3確定軟件質量度量權重
在對軟件質量進行模糊綜合評價時,由于作為度量的外部質量特性分為兩級,需對一級評價指標和二級評價指標分別進行權重的劃分。權重的確定可參照專家打分法,由項目的技術委員會確定,技術委員會成員由項目干系方及行業專家組成,從而保障了模型計算結果的合法、有效性以及客觀性[6~7]。
(1)一級評價因素權重的確定
上文提到一級指標因素集U={功能性,可靠性,易用性,維護性,移植性,效率}={U1,U2,U3,U4,U5,U6},則設定一級評價因素的權重M={M1,M2,M3,M4,M5,M6},其中∑Mi=1。在進行權重確定時可按照系統真實情況對外部質量的六大特性進行權重分配[8]。
(2)二級評價因素權重的確定
本文提到的二級評價因素分別為U1,U2,U3,U4,U5,U6,則設定二級評價因素的權重為W1={w11,w12,w13,w14}(其中∑w1j=1,j=1,2,3,4);W2={w21,w22,w23}(其中∑w2j=1,j=1,2,3);W3={w31,w32,w33,w34}(其中∑w3j=1,j=1,2,3,4);W4={w41,w42,w43,w44}(其中∑w4j=1,j=1,2,3,4);W5={w51,w52,w53,w54}(其中∑w5j=1,j=1,2,3,4);W6={w61,w62}(其中∑w6j=1,j=1,2)。
(3)二級評價因素評判矩陣的確定
二級指標評判矩陣R中的任意元素rij表示評價指標uij屬于評價集ai的隸屬度,以功能性的評判矩陣為例,表示如下:

其中r11表示功能的“適合性”屬于“很好”的隸屬度。
同理可求得可靠性、易用性、維護性、移植性、效率的評判矩陣R2、R3、R4、R5、R6。
2.4執行軟件評價度量
(1)一級評價因素的評判矩陣
按照模糊綜合評價法,在通過“專家打分法”獲得二級評價因素權重Wi以及二級評價因素的評判矩陣Ri后,可求得相應二級特性的隸屬度Bi,那么一級評價因素的評判矩陣B={B1,B2,B3,B4,B5,B6}T。
其中,

B2,B3,B4,B5,B6同理可求得。
(2)一級評價因素的隸屬度
在獲取一級評價因素的評判矩陣B以及一級評價因素權重矩陣M后,可通過矩陣運算求取一級評價因素隸屬度C,公式如下:

2.5評價結果
在求得一級評價因素隸屬度C后,可知矩陣C為1行5列的矩陣,按照最大隸屬原則獲取評價結果。
3.1確定一級評價因素權重
按照“專家打分法”獲取一級評價因素權重M= {M1,M2,M3,M4,M5,M6}={0.4,0.15,0.1,0.05,0.05,0.25}。
3.2確定二級評價因素權重
按照“專家打分法”獲取二級評價因素權重如下:

3.3確定二級評價因素評判矩陣
按照“專家打分法”獲取二級評價因素的評判矩陣如下:

3.4求取一級評價因素評判矩陣
按照公式(2),求取二級評價因素的隸屬度,如下所示:

同理可得:
B2={0.15,0.07,0.20,0.37,0.21};
B3={0.055,0.255,0.435,0.175,0.08};
B4={0.415,0.345,0.145,0.065,0.03};
B5={0.275,0.26,0.22,0.15,0.095};
B6={0.2,0.335,0.265,0.135,0.065}。
則一級評價因素的評判矩陣:

3.5求取一級評價因素隸屬度
按照公式(3),求取一級評價因素的隸屬度,如下所示:


按照最大隸屬原則[9],由于矩陣C中0.29最大,故該軟件的模糊綜合評價結果為“較好”。
本文提出的基于外部質量特性的軟件質量模糊綜合評價方法簡單且易使用,評價方法合理,評估過程嚴謹,且評估結果直觀,為軟件質量評估領域提供了可行性強的評估方法[10]。
[1]GB/T18905.1-2002(ISO/IEC 14598-1:1999)軟件工程產品評價第1部(Information Technology-Software Product Evaluation-Part 1) 5-15
[2]GB/T 16260.2-2006(ISO/IEC 9126-2:2003)軟件工程產品質量第2部分:外部度量(Software Engineering Product Quality)3~5
[3]吳祈宗.系統工程[M].北京:北京理工出版社出版社,2006
[4]彭霞,朱萍,任永昌.軟件詳細設計工具對比分析嚴謹[J].計算機技術與發展,2013,23(3):77~80
[5]Norman E.Fenton(英),Shari Lawrence Pfleeger(美).Software Metrics A Rigorous and Practical Approach.
[6]陳奐昊,洪流.系統測試的外部質量評價方法研究[J].軟件工程師,2014,17(11)3~4
[7]季超英,宋曉秋.軟件文檔質量的度量方法研究[J].計算機工程與設計.2007,28(17):4068~4071
[8]王穎,柳小軍.基于功能點的軟件度量在項目管理中的應用.中國電子科學研究院學報,2013,8(1)82~83
[9]曹濟,溫麗.軟件項目功能點度量方法與應用[M].北京:清華大學出版社,2012:23~44
[10]尹平,許聚常,張慧穎.軟件測試與軟件質量評價[M].北京:國防工業出版社,2008:23~56
肖靜(1982-),湖北襄陽人,碩士,工程師,研究方向為信息安全等級保護測評、軟件工程化等
Fuzzy Comprehensive Evaluation;External Quality
Research on the Software Quality Fuzz Com prehensive Evaluation Method Based on the ExternalQuality Features
HONG Liu1,HUANG Hai-bo1,JIA Chun-hui2,XIAO Jing1
(1.Software Quality Engineering Research Center,China Electronic Products Reliability and Environmental Testing Research Institute,Guangzhou 510610;2.China Mobile(Shenzhen)Limited,Guangzhou 518048)
With thematurity and progress of the computer industry,software system test is playing an increasingly important role,how to evaluate reasonably and effectively becomes the new topic.Uses fuzzy comprehensive evaluation method,and combines the experience in system testing for years,proposes an evaluation model based on the software external quality,so that themodel solves the problem due to the lack ofmeasurement factorswhich is difficult to quantify,and themodel provides relatively objective and feasible evaluation scheme for the software quality evaluation.
1007-1423(2015)15-0006-05
10.3969/j.issn.1007-1423.2015.15.002
洪流(1988-),男,江蘇南通人,碩士,助理工程師,研究方向為第三方系統評測、軟件工程化等
黃海波(1988-),男,江蘇徐州人,碩士,助理工程師,研究方向為第三方系統評測、軟件工程化等
賈春暉(1987-),女,浙江嘉欣人,碩士,工程師,研究方向為App、網站頁面監控測試等
2015-05-13
2015-05-18