陳奐昊 洪流
摘 要:隨著軟件行業的成熟,對軟件定量評價的必要性增大。作者借鑒功能點分析法[1]結合自身多年系統測試的經驗,提出一套軟件外部質量[2]的評價模型,簡便可行的解決了軟件質量工程評價過程中因缺少實操性而難以量化的難題,為軟件工程質量定量評價提供客觀可行的方案。
關鍵詞:功能點分析法;軟件質量評價;軟件度量
中圖分類號:TP311.5 文獻標識碼:A
1 引言(Introduction)
軟件質量難以量化,尋找客觀、可量化的軟件評價方法是軟件工程研究的方向之一。軟件的定量研究難度大,被認為是“尋找不可能的圣杯”[1]而測量學卻認為“凡是不能測量的,便是不能對其進行控制的”[1],所以軟件測量的標尺只能采用折中、平衡和約定性的。Allan Albrecht提出了功能點分析法(Function Point Analysis,FPA)[1,3]被國際軟件行業逐漸認可。本文提出基于FPA的軟件評價計算模型,該模型可用于軟件的外部質量評價,對軟件質量評價量化提供參考。
2 軟件度量(Software metrics)
2.1 軟件度量分類
在軟件生存周期中對軟件質量的度量方式主要分為三種:內部、外部和使用質量度量[4]。內部質量度量是從設計和開發的角度進行,外部質量基于規格說明,使用度量則是從真實世界的需求角度來考慮。本文僅對外部質量度量進行討論。
2.2 軟件度量過程
軟件度量過程大體可以分為四步:需求分析、設計、執行、分析結果。度量需求分析是有效構造軟件質量客觀評價的前提。度量需求分析的依據通常是需求規格說明。其次確定產品的類型,最后選擇相應的軟件質量模型。
設計包括:選擇度量類型、確定定量定級水平[5]、確定評價規則。軟件的質量特性無法直接度量,因此需定義各質量特性的等級、各質量特性標識,確定定量定級水平。
執行過程是收集和分析測試數據的過程。采集的數據應該基于正確定義的度量和模型,從而保證數據的正確性、準確性和精度;因此,在收集數據之前,應當設定數據采集的目標,并且定義有意義的問題。同時必須詳細規定使用的數據分類計劃,避免脫離度量采集無用信息。
收集到數據后,必須選擇合適的度量指標,采用一種適當的方式對數據進行分析處理,得出度量結果[6]。
3 軟件外部質量評價模型(Software evaluation
model of external quality)
根據ISO/IEC 14598的要求,定量測量的結果需映射到標度上[4],為了便于理解,我們采用百分制的標度,根據計算結果,將評估結果分為不合格、合格、良好、優秀四個等級。
3.1 確定軟件質量特性權重
(1)軟件外部質量特性分類
按照ISO/IEC 9126中對軟件外部質量度量特性的要求,將軟件外部質量特性分為功能性、可靠性、易用性、效率、維護性和可移植性[2]。
(2)軟件外部質量特性權重
軟件外部質量特性的權重是指軟件外部質量特性占軟件整體質量的比重,反映各質量特性對軟件產品質量的影響大小。權重的確定由項目的技術委員會確定,技術委員會成員由項目干系方及行業專家組成,由多方確定的結果保障了模型計算結果的合法、有效性。
一般情況下,功能是軟件的根本,非功能特性本質是功能的延伸,因而功能在軟件質量特性中權重最高,外部質量的度量可將非功能性折算為FPA。權重矩Wi(其中∑Wi=1)[5],Wi=(W1,W2,W3,W4,W5,W6)T=(功能性,可靠性,可靠性,易用性,維護性,可移植性)T。
3.2 軟件問題的量化
(1)軟件問題評分規則的確定
質量評價中,軟件問題是重要的評分依據,通常對軟件問題進行分級,分別是致命、嚴重、一般、微小和其他[7]。
在該評價模型中,問題嚴重性的定義由高到低,1級問題為最嚴重問題,以此類推。為了使問題等級的劃分清晰、便于計算,我們將賦予問題等級相應的計分值,形成問題等級矩陣Ki=(1,2,3,4,5)=(不合格,-3,-2,-1,-1)。
(2)軟件問題計分值的確定
在對軟件進行測試時,對各軟件特性設計測試用例,對相應類型的軟件問題形成問題矩陣Tij(i:問題等級,j:軟件特性),形成如下的矩陣:
在問題等級矩陣Ki和問題矩陣Tij都明確后,我們可以計算得出計分值矩陣Fi=|Ki*Tij|。
3.3 綜合得分的計算
(1)計分比值的確定
在計算得出Fi后,定義用例矩陣Yi=(功能性用例數,效率用例數,可靠性用例數,易用性用例數,維護性用例數,可移植性用例數),為了把非功能質量因素轉化為FPA,這里將效率用例的轉換系數設置為a,可靠性用例的轉換系數設置為b,易用性用例的轉換系數設置為c,維護性用例的轉換系數設置為d,可移植性用例的轉換系數設置為e。
Yi=(Y1,aY2,bY3,cY4,dY5,eY6)
通過矩陣Fi和Yi我們可以得出計分比值的矩陣Bi,矩陣Bi中的值為矩陣Y與矩陣F相減后除以矩陣Y相應位置的值得到。
(2)綜合得分值的確定
獲取Bi后,我們就可以得出最終的綜合得分Z=Bi*Wi*100。
4 實例應用(Example)
4.1 需求分析及采樣
某政府部門的業務系統,系統為本級及下級單位提供服務,這類業務具有極高的相似度,適合于本評價模型進行評價。在該項目實例中,設計的測試用例總數為355(個),其中功能性211,效率11,可靠性102,易用性15,維護性12,可移植性4。此外問題情況是(個):功能性58,效率2,可靠性19,易用性3,維護性0,可移植性1。endprint
4.2 模型計算
(1)軟件外部質量特性權重
按照技術委員會的確定,軟件外部質量特性權重矩陣W=(0.4,0.25,0.15,0.1,0.05,0.05)T=(功能性,效率,可靠性,易用性,維護性,可移植性)T。
(2)軟件問題評分規則
軟件問題評分規則矩陣K=(不合格,-3,-2,-1,-1)。
(3)軟件問題計分值
對軟件問題個數進行確認,則獲取到的軟件問題矩陣:
按照上面給出的計算模型,可以計算出結果并存放到矩陣中,F=|(-89,-4,-5,-2,-1,-1)|=(89,4,5,2,1,1)。
(4)計分比值
為計算方便,將a、b、c、d、e的值均取為1,Yi=(Y1,Y2,Y3,Y4,Y5,Y6),Y=(211,11,102,15,12,4),可計算出計分用例比,計算值存放到矩陣B中,則B=(0.58,
0.64,0.95,0.87,0.92,0.75)。
(5)綜合得分值
最終的綜合得分值Z=B*W*100=70.4,計算過程如下所示,系統的評價結論為合格。
Z=B*W*100=(0.58,0.64,0.95,0.87,0.92,0.75)*(0.4,
0.25,0.15,0.1,0.05,0.05)T*100=0.704*100=70.4
5 結論(Conclusion)
軟件評價結果的直觀性是軟件測試人員和用戶的追求,解決好軟件量化問題以及提供簡便易行的計算方法成為該領域重點研究方向之一,本文所提出的軟件質量評估計算模型簡便易行,同時評估過程嚴謹,為工程實踐提供了高可靠、可行性強的評價解決方法。
參考文獻(References)
[1] Norman E.Fenton(英),Shari Lawrence Pfleeger(美).Software
Metrics A Rigorous and Practical Approach 201-205.
[2] GB/T 16260.1-2006(ISO/IEC 9126-1:2001)軟件工程產品質
量第1部分:質量模型(Software engineering Product
quality):3-5.
[3] 王穎,柳小軍.基于功能點的軟件度量在項目管理中的應用
[J].中國電子科學研究院學報,2013,8(1):82-83.
[4] GB/T18905.1-2002(ISO/IEC 14598-1:1999)軟件工程產品
評價第1部(Information technology-Software product
evaluation-Part 1): 5-15.
[5] Roger S.Pressman(美).Software Engineering A Practitioner's
Approach:333-344;483-492.
[6] 曹濟,溫麗.軟件項目功能點度量方法與應用[M].北京:清華大
學出版社,2012:23-44.
[7] 尹平,許聚常,張慧穎.軟件測試與軟件質量評價[M].北京:國
防工業出版社,2008:23-56.
作者簡介:
陳奐昊(1972-),男,本科,工程師.研究領域:第三方系統評
測,Web性能評測.
洪 流(1988-),男,碩士,助理工程師.研究領域:第三方系
統評測,軟件工程化.endprint
4.2 模型計算
(1)軟件外部質量特性權重
按照技術委員會的確定,軟件外部質量特性權重矩陣W=(0.4,0.25,0.15,0.1,0.05,0.05)T=(功能性,效率,可靠性,易用性,維護性,可移植性)T。
(2)軟件問題評分規則
軟件問題評分規則矩陣K=(不合格,-3,-2,-1,-1)。
(3)軟件問題計分值
對軟件問題個數進行確認,則獲取到的軟件問題矩陣:
按照上面給出的計算模型,可以計算出結果并存放到矩陣中,F=|(-89,-4,-5,-2,-1,-1)|=(89,4,5,2,1,1)。
(4)計分比值
為計算方便,將a、b、c、d、e的值均取為1,Yi=(Y1,Y2,Y3,Y4,Y5,Y6),Y=(211,11,102,15,12,4),可計算出計分用例比,計算值存放到矩陣B中,則B=(0.58,
0.64,0.95,0.87,0.92,0.75)。
(5)綜合得分值
最終的綜合得分值Z=B*W*100=70.4,計算過程如下所示,系統的評價結論為合格。
Z=B*W*100=(0.58,0.64,0.95,0.87,0.92,0.75)*(0.4,
0.25,0.15,0.1,0.05,0.05)T*100=0.704*100=70.4
5 結論(Conclusion)
軟件評價結果的直觀性是軟件測試人員和用戶的追求,解決好軟件量化問題以及提供簡便易行的計算方法成為該領域重點研究方向之一,本文所提出的軟件質量評估計算模型簡便易行,同時評估過程嚴謹,為工程實踐提供了高可靠、可行性強的評價解決方法。
參考文獻(References)
[1] Norman E.Fenton(英),Shari Lawrence Pfleeger(美).Software
Metrics A Rigorous and Practical Approach 201-205.
[2] GB/T 16260.1-2006(ISO/IEC 9126-1:2001)軟件工程產品質
量第1部分:質量模型(Software engineering Product
quality):3-5.
[3] 王穎,柳小軍.基于功能點的軟件度量在項目管理中的應用
[J].中國電子科學研究院學報,2013,8(1):82-83.
[4] GB/T18905.1-2002(ISO/IEC 14598-1:1999)軟件工程產品
評價第1部(Information technology-Software product
evaluation-Part 1): 5-15.
[5] Roger S.Pressman(美).Software Engineering A Practitioner's
Approach:333-344;483-492.
[6] 曹濟,溫麗.軟件項目功能點度量方法與應用[M].北京:清華大
學出版社,2012:23-44.
[7] 尹平,許聚常,張慧穎.軟件測試與軟件質量評價[M].北京:國
防工業出版社,2008:23-56.
作者簡介:
陳奐昊(1972-),男,本科,工程師.研究領域:第三方系統評
測,Web性能評測.
洪 流(1988-),男,碩士,助理工程師.研究領域:第三方系
統評測,軟件工程化.endprint
4.2 模型計算
(1)軟件外部質量特性權重
按照技術委員會的確定,軟件外部質量特性權重矩陣W=(0.4,0.25,0.15,0.1,0.05,0.05)T=(功能性,效率,可靠性,易用性,維護性,可移植性)T。
(2)軟件問題評分規則
軟件問題評分規則矩陣K=(不合格,-3,-2,-1,-1)。
(3)軟件問題計分值
對軟件問題個數進行確認,則獲取到的軟件問題矩陣:
按照上面給出的計算模型,可以計算出結果并存放到矩陣中,F=|(-89,-4,-5,-2,-1,-1)|=(89,4,5,2,1,1)。
(4)計分比值
為計算方便,將a、b、c、d、e的值均取為1,Yi=(Y1,Y2,Y3,Y4,Y5,Y6),Y=(211,11,102,15,12,4),可計算出計分用例比,計算值存放到矩陣B中,則B=(0.58,
0.64,0.95,0.87,0.92,0.75)。
(5)綜合得分值
最終的綜合得分值Z=B*W*100=70.4,計算過程如下所示,系統的評價結論為合格。
Z=B*W*100=(0.58,0.64,0.95,0.87,0.92,0.75)*(0.4,
0.25,0.15,0.1,0.05,0.05)T*100=0.704*100=70.4
5 結論(Conclusion)
軟件評價結果的直觀性是軟件測試人員和用戶的追求,解決好軟件量化問題以及提供簡便易行的計算方法成為該領域重點研究方向之一,本文所提出的軟件質量評估計算模型簡便易行,同時評估過程嚴謹,為工程實踐提供了高可靠、可行性強的評價解決方法。
參考文獻(References)
[1] Norman E.Fenton(英),Shari Lawrence Pfleeger(美).Software
Metrics A Rigorous and Practical Approach 201-205.
[2] GB/T 16260.1-2006(ISO/IEC 9126-1:2001)軟件工程產品質
量第1部分:質量模型(Software engineering Product
quality):3-5.
[3] 王穎,柳小軍.基于功能點的軟件度量在項目管理中的應用
[J].中國電子科學研究院學報,2013,8(1):82-83.
[4] GB/T18905.1-2002(ISO/IEC 14598-1:1999)軟件工程產品
評價第1部(Information technology-Software product
evaluation-Part 1): 5-15.
[5] Roger S.Pressman(美).Software Engineering A Practitioner's
Approach:333-344;483-492.
[6] 曹濟,溫麗.軟件項目功能點度量方法與應用[M].北京:清華大
學出版社,2012:23-44.
[7] 尹平,許聚常,張慧穎.軟件測試與軟件質量評價[M].北京:國
防工業出版社,2008:23-56.
作者簡介:
陳奐昊(1972-),男,本科,工程師.研究領域:第三方系統評
測,Web性能評測.
洪 流(1988-),男,碩士,助理工程師.研究領域:第三方系
統評測,軟件工程化.endprint