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