摘 要:為了對(duì)軟件質(zhì)量進(jìn)行科學(xué)、定量的度量和評(píng)價(jià),根據(jù)TOPSIS的價(jià)值函數(shù)模型,針對(duì)軟件的特點(diǎn),提取了8個(gè)反映軟件質(zhì)量的指標(biāo)因素,使用均值法確定指標(biāo)的權(quán)重,建立了一種基于TOPSIS的軟件系統(tǒng)質(zhì)量綜合評(píng)價(jià)模型。實(shí)例分析證明,該方法克服了傳統(tǒng)評(píng)價(jià)指標(biāo)的單一性缺陷,有利于確定影響軟件質(zhì)量的因素及其影響程度,是一種綜合、有效評(píng)價(jià)軟件的質(zhì)量的方法。
關(guān)鍵詞:TOPSIS; 軟件質(zhì)量; 評(píng)價(jià)指標(biāo); 評(píng)價(jià)體系
中圖分類號(hào):TN91134; TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1004373X(2012)22008704
0 引 言
隨著軟件規(guī)模的日益復(fù)雜和龐大,軟件的開發(fā)與管理也日益復(fù)雜。軟件質(zhì)量是軟件的生命,它直接影響著軟件的使用和維護(hù)。軟件質(zhì)量評(píng)價(jià)的目的是為了直接支持開發(fā)并獲得能滿足用戶要求的軟件。其最終目標(biāo)是保證產(chǎn)品能提供所要求的質(zhì)量,即滿足用戶明確的和隱含的要求。如何評(píng)價(jià)一個(gè)軟件的質(zhì)量,尤其是對(duì)軟件質(zhì)量的量化度量,已成為軟件工程研究的主要內(nèi)容之一[1]。選擇合適的指標(biāo)體系并使其量化是做好軟件質(zhì)量評(píng)估的關(guān)鍵。當(dāng)然,由于軟件的評(píng)估具有其特有的規(guī)范和要求,其評(píng)估指標(biāo)涉及面廣、不確定性因素較多、量化困難,至今還沒有統(tǒng)一的標(biāo)準(zhǔn)[2]。
逼近于理想值的排序方法(Technique for Order Preference bv Similarity to Ideal Solution,TOPSIS)是Hwang和Yoon于1981年提出的一種適用于根據(jù)多項(xiàng)指標(biāo)、對(duì)多個(gè)方案進(jìn)行比較選擇的分析方法。 TOPSIS法較之單項(xiàng)指標(biāo)相互分析法,能集中反映總體情況、能綜合分析評(píng)價(jià),具有普遍適用性[3]。在醫(yī)療質(zhì)量評(píng)價(jià)、課程設(shè)置評(píng)價(jià)、顧客滿意程度評(píng)價(jià)、企業(yè)經(jīng)濟(jì)效益評(píng)價(jià)、地區(qū)科技競(jìng)爭(zhēng)力等方面都已得到廣泛而系統(tǒng)的應(yīng)用。
本文針對(duì)軟件的特點(diǎn),提取了8個(gè)反映軟件質(zhì)量的因素,建立了軟件質(zhì)量評(píng)價(jià)指標(biāo)體系,在此基礎(chǔ)上建立了基于TOPSIS方法的軟件質(zhì)量綜合評(píng)價(jià)模型。
1 軟件質(zhì)量評(píng)價(jià)體系
如何評(píng)價(jià)一個(gè)軟件的質(zhì)量,是決定最終獲得高質(zhì)量軟件的重要問題。對(duì)小型程序,人們一般比較強(qiáng)調(diào)程序的正確性和效率。后來隨著軟件規(guī)模的增大和復(fù)雜度的提高,人們對(duì)軟件質(zhì)量的看法發(fā)生了很大的變化?,F(xiàn)在通常認(rèn)為應(yīng)該從以下幾個(gè)方面來評(píng)價(jià)軟件質(zhì)量:
(1) 軟件需求是衡量軟件質(zhì)量的基礎(chǔ),不符合需求的軟件就不具備質(zhì)量。設(shè)計(jì)的軟件應(yīng)在功能、性能等方面都符合要求,并能可靠地運(yùn)行。
(2) 軟件結(jié)構(gòu)良好,易讀、易于理解,并易于修改、維護(hù)。
(3) 軟件系統(tǒng)具有友好的用戶界面,便于用戶使用。
(4) 軟件生存周期中各階段文檔齊全、規(guī)范,便于配置、管理。
ISO9126質(zhì)量模型是一個(gè)著名的軟件質(zhì)量模型,它描述了一個(gè)由兩部分組成的軟件產(chǎn)品質(zhì)量模型[4]。一部分指定了內(nèi)在質(zhì)量和外在質(zhì)量的6個(gè)特征,它們還可以再繼續(xù)分成更多的子特征。這些子特征在軟件作為計(jì)算機(jī)系統(tǒng)的一部分時(shí)會(huì)明顯地表現(xiàn)出來,并且會(huì)成為內(nèi)在的軟件屬性的結(jié)果。而另一部分則指定了使用中的質(zhì)量屬性,它們是與針對(duì)軟件產(chǎn)品質(zhì)量6個(gè)屬性的用戶效果聯(lián)合在一起的。下面是ISO9126給出的軟件的6個(gè)質(zhì)量特征[5]:
(1) 功能性(Functionality)。當(dāng)軟件在指定條件下使用時(shí),軟件產(chǎn)品滿足明確和隱含要求功能的能力。
(2) 可靠性(Reliability。軟件產(chǎn)品維持規(guī)定的性能級(jí)別的能力。
(3) 可使用性(Usability)。軟件產(chǎn)品在指定條件下使用時(shí),軟件產(chǎn)品被理解、學(xué)習(xí)、使用和吸引用戶的能力。
(4) 效率(Efficiency)。在規(guī)定條件下,相對(duì)于所用資源的數(shù)量,軟件產(chǎn)品提供適當(dāng)?shù)男阅艿哪芰Α?/p>
(5) 可維護(hù)性(Maintainability)。軟件產(chǎn)品可被修改的能力。修改可能包括修正、改進(jìn)或軟件適應(yīng)環(huán)境、需求和功能規(guī)格說明中的變化。
(6) 可移植性(Portability)。軟件產(chǎn)品從一種環(huán)境遷移到另外一種環(huán)境的能力。
這6個(gè)質(zhì)量因素之間相互的關(guān)系中,有的是互利關(guān)系,有的則存在著競(jìng)爭(zhēng)關(guān)系[6],見表1。
在進(jìn)行大型的軟件項(xiàng)目開發(fā)中,往往需要采用許多新的、復(fù)雜的技術(shù),投入巨額的資金,組織龐大的研制隊(duì)伍,以及持續(xù)相當(dāng)長(zhǎng)的研制時(shí)間。這些都會(huì)帶來種種難以預(yù)見的不確定性因素,造成失敗的風(fēng)險(xiǎn)。軟件的風(fēng)險(xiǎn)正日益受到人們的重視,成為評(píng)價(jià)軟件質(zhì)量必不可少的關(guān)鍵因素之一[7]。此外,軟件的成本也是人們?cè)谠u(píng)價(jià)軟件性價(jià)比的一個(gè)主要因素[8]。
因此,本文在建立基于TOPSIS方法的軟件系統(tǒng)質(zhì)量綜合評(píng)價(jià)模型時(shí),還增加了軟件開發(fā)成本和軟件使用時(shí)的風(fēng)險(xiǎn)這2個(gè)指標(biāo)。最終確定以下8個(gè)質(zhì)量特性為本軟件質(zhì)量評(píng)價(jià)體系的指標(biāo):功能性、可靠性、可使用性、效率、可維護(hù)性、可移植性、成本和風(fēng)險(xiǎn)。
2 TOPSIS分析方法
TOPSIS是一種逼近理想解的排序方法。它的基本思想是:對(duì)歸一化后的原始數(shù)據(jù)矩陣,確定出一個(gè)理想方案和一個(gè)負(fù)理想方案,然后通過求出各方案與理想方案和負(fù)理想方案的距離,與理想方案最近且與負(fù)理想方案最遠(yuǎn)的方案為最優(yōu)方案[9]。TOPSIS法引進(jìn)相對(duì)接近度的概念來考慮兩種距離。其中距離是指(加權(quán)以后的)歐幾里德距離。
TOPSIS分析方法的一般步驟是:
(1) 構(gòu)造初始判斷矩陣R。設(shè)有m個(gè)目標(biāo)(有限個(gè)目標(biāo)),n個(gè)屬性,專家對(duì)其中第i個(gè)目標(biāo)的第j個(gè)屬性的評(píng)估值為xij,則初始判斷矩陣R為:R=[rij] (2) 構(gòu)造規(guī)范化決策矩陣V。由于各個(gè)指標(biāo)的量綱可能不同,需要對(duì)決策矩陣進(jìn)行歸一化處理:V=[xij]式中xij=rij/∑mi=1r2ij, i=1,2,…,m;j=1,2,…,n
(3) 構(gòu)造加權(quán)規(guī)范化矩陣Z。獲取對(duì)屬性的信息權(quán)重矩陣,形成加權(quán)判斷矩陣: Z=x11x12…x1n
x21x22…x2n
………
xm1xm2…xmnw1
w2
wn
=f11f12…f1n
f21f22…f2n
………
fm1fm2…fmn (4) 確定理想方案和負(fù)理想方案。根據(jù)加權(quán)判斷矩陣獲取評(píng)估目標(biāo)的正負(fù)理想解。當(dāng)屬性值為效益型時(shí),理想方案為每列中的最大值,負(fù)理想方案為每列中的最小值;當(dāng)屬性值為成本型時(shí),理想方案為每列中的最小值,負(fù)理想方案為每列中的最大值。具體表示如下:
正理想解:f*j=max(fij),j∈J*
min(fij),j∈J′,j=1,2,…,n 負(fù)理想解:fj′=min(fij),j∈J*
max(fij),j∈J′,j=1,2,…,n式中:J*為效益型指標(biāo);J′為成本型指標(biāo)。
(5) 計(jì)算距離。分別計(jì)算與理想方案的距離Si*和與負(fù)理想方案的歐氏距離Si-,其中:S*i=∑mj=1(fij-f*j)2, j=1,2,…,n,
Si′=∑mj=1(fij-f′j)2, j=1,2,…,n (6) 計(jì)算各個(gè)目標(biāo)的相對(duì)貼近度:C*i=Si′/(S*i+Si′), i=1,2,…,m (7) 依照相對(duì)貼近度的大小對(duì)目標(biāo)進(jìn)行排序,對(duì)軟件質(zhì)量驚醒評(píng)價(jià),形成決策依據(jù)。
3 基于TOPSIS的軟件質(zhì)量評(píng)價(jià)方法及實(shí)證分析
3.1 原始數(shù)據(jù)的收集及整理
假設(shè)有n個(gè)軟件參加評(píng)價(jià),這樣可得到一個(gè)n ×8的原始據(jù)矩陣,見表2。在綜合評(píng)價(jià)過程中,有些評(píng)價(jià)指標(biāo)是效益型指標(biāo)(即該指標(biāo)值越高越好),有些指標(biāo)值是成本型指標(biāo)(即該指標(biāo)值越低越好)。
3.2 確定具體指標(biāo)權(quán)重
為確定軟件質(zhì)量評(píng)價(jià)指標(biāo)體系的指標(biāo)權(quán)重,如前所述設(shè)計(jì)了8個(gè)指標(biāo)要素,并設(shè)計(jì)了8張專家打分表。邀請(qǐng)5位專家依據(jù)打分標(biāo)準(zhǔn)對(duì)其打分.對(duì)指標(biāo)體系的8個(gè)指標(biāo)要素進(jìn)行權(quán)重確定。
由專家打分最終確定基金績(jī)效評(píng)價(jià)指標(biāo)體系8個(gè)要素的最優(yōu)權(quán)重(5位專家的權(quán)重向量)為:
(0.20,0.19,0.14,0.11,0.16,0.06,0.09,0.05)
(0.19,0.18,0.13,0.10,0.18,0.09,0.08,0.05)
(0.18,0.17,0.15,0.10,0.18,0.08,0.08,0.06)
(0.21,0.18,0.15,0.11,0.16,0.07,0.07,0.05)
(0.19,0.19,0.13,0.12,0.15,0.09,0.06,0.07)
對(duì)5位專家所給的指標(biāo)權(quán)重應(yīng)用均值法,確定最優(yōu)的指標(biāo)要素權(quán)重.具體結(jié)果見表3。在確定指標(biāo)權(quán)重時(shí),假設(shè)8個(gè)要素的決策人給定的權(quán)向量是等權(quán)的。
從表2的指標(biāo)體系中,可以看出,功能性、可靠性、可使用性和效率這4個(gè)評(píng)價(jià)指標(biāo)占有權(quán)重達(dá)67.76%,說明軟件運(yùn)行時(shí)的質(zhì)量是評(píng)價(jià)軟件質(zhì)量的重要因素。
3.3 建立原始數(shù)據(jù)矩陣R=57720 0005375
73518 0005535
35723 0007559
57321 00053373.4 對(duì)原始數(shù)據(jù)矩陣進(jìn)行歸一化處理
3.7 計(jì)算各軟件的相對(duì)貼近度
計(jì)算出C1=0.625 5,C2=0.463 8,C3 =0.390 1,C4=0.573 9,可得:C1> C4> C2> C3。
結(jié)果說明,參與評(píng)價(jià)的4個(gè)軟件中,A1的質(zhì)量最好,其次分別是A4,A2,A3的質(zhì)量最差。
4 結(jié) 語
本文提出了一種基于TOPSIS方法的軟件質(zhì)量的綜合評(píng)價(jià)指標(biāo)體系。該方法為傳統(tǒng)軟件質(zhì)量的評(píng)價(jià)方法做了進(jìn)一步發(fā)展。在軟件質(zhì)量效評(píng)價(jià)中應(yīng)用專家打分法和TOPSIS方法?;赥OPSIS方法的軟件質(zhì)量評(píng)價(jià)方法克服了傳統(tǒng)評(píng)價(jià)指標(biāo)的單一性缺陷,有利于確定影響軟件質(zhì)量的因素及其影響程度,從而為客觀、定量的的度量軟件質(zhì)量提供了依據(jù),是一種綜合、有效評(píng)價(jià)軟件的質(zhì)量的方法。進(jìn)一步確定這8個(gè)指標(biāo)因素的二級(jí)指標(biāo)及其權(quán)重,是該方法需要繼續(xù)深入研究的問題。
參 考 文 獻(xiàn)
[1] SOMMERVILLE Ian.軟件工程[M].6版.北京:機(jī)械工業(yè)出版社,2005.
[2] 張海藩.軟件工程導(dǎo)論[M].5版.北京:清華大學(xué)出版社,2003.
[3] 胡群,劉文云.基于層次分析法的SWOT方法改進(jìn)與實(shí)例分析[J].情報(bào)理論與實(shí)踐,2009(3):6871.
[4] GILLIES A. Software quality: theory and management \[M\]. 2nd ed. \[S.l.\]: International Thomson Computer Press,1997.
[5] International Organisation for Standardization. ISO 9126 information technology software product evaluation quality characteristics and guidelines for their use \[S\]. \[S.l.\]: International Organisation for Standardization, 1992.
[6] PRESSMAN R S. Software engineering: a practitioner's approach \[M\]. 5th ed.北京:清華大學(xué)出版社,2008.
[7] 趙薔.軟件項(xiàng)目風(fēng)險(xiǎn)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(14):33123315.
[8] GILLIES A. Modelling software quality in the commercial environment \[J\]. Software Quality Journal, 1992, 1: 175191.
[9] 盧方元.一種改進(jìn)的TOPSIS法[J].統(tǒng)計(jì)與決策,2003(3):7980.
作者簡(jiǎn)介:趙 薔 女,1971年出生,陜西咸陽人,碩士,副教授。主要研究方向?yàn)檐浖こ?、圖像處理。
李小林 男,1976年出生,內(nèi)蒙古五原人,碩士,講師。主要研究方向?yàn)檐浖碚摗D像處理。
趙 娟 女,1975年出生,四川成都人,碩士,講師。主要研究方向?yàn)檐浖碚摗?/p>