潛艇戰(zhàn)術(shù)應(yīng)用軟件主要是指那些用于完成潛艇指控系統(tǒng)輔助指揮決策功能的應(yīng)用軟件[1],它為艇長在極短的時間內(nèi)作出正確的決策判斷發(fā)揮重要的輔助決策作用,其質(zhì)量的優(yōu)劣直接關(guān)系到戰(zhàn)斗的勝敗、人員的生命安全。因而對潛艇戰(zhàn)術(shù)應(yīng)用軟件質(zhì)量的評價,一方面是對人員、裝備負(fù)責(zé),提高艇長對軟件的信任度,從而真正加大戰(zhàn)爭的信息化程度;另一方面也是對軟件質(zhì)量負(fù)責(zé),促進(jìn)軟件質(zhì)量的提高,并加強(qiáng)軟件自身的適用性。
軟件質(zhì)量評價是軟件工程中的一個重要內(nèi)容[2]。如同軟件的功能一樣,在軟件經(jīng)設(shè)計與開發(fā)之后具備功能的同時,軟件的質(zhì)量高低也就構(gòu)造在軟件之中了。
目前,研究軟件質(zhì)量評價的方法多采用模糊綜合評判法[3-7],該方法可有效地進(jìn)行復(fù)雜系統(tǒng)評價,但各個指標(biāo)的模糊隸屬度函數(shù)構(gòu)造無統(tǒng)一標(biāo)準(zhǔn),且權(quán)重分配是根據(jù)經(jīng)驗直接得到,主觀因素在評價過程中影響很大,會使最終評價結(jié)果受隸屬度函數(shù)和權(quán)重選擇的影響而出現(xiàn)不同的結(jié)果,最終影響質(zhì)量評價結(jié)果的準(zhǔn)確性。本文旨在運用專家知識確定軟件質(zhì)量指標(biāo)對最終軟件質(zhì)量評價影響的重要度,運用軟件質(zhì)量指標(biāo)進(jìn)行修正,并作為模型的初始輸入,以提高最終評價結(jié)果的準(zhǔn)確性。然后通過神經(jīng)網(wǎng)絡(luò)[8]建立軟件質(zhì)量屬性與質(zhì)量評價結(jié)果之間的關(guān)系,使最終的評價模型更加準(zhǔn)確客觀。
影響軟件質(zhì)量的因素很多,在評價一個軟件的質(zhì)量時,首先應(yīng)遵循一定的原則建立一套合理、有效的評價指標(biāo)體系,而指標(biāo)體系應(yīng)盡可能充分反映軟件產(chǎn)品質(zhì)量的基本因素。通過分析潛艇戰(zhàn)術(shù)應(yīng)用軟件的特點,本文依據(jù)ISO/IEC9126[9]標(biāo)準(zhǔn)用于度量軟件質(zhì)量的評價指標(biāo)。ISO/IEC9126標(biāo)準(zhǔn)是當(dāng)前國際上流行的軟件質(zhì)量評價標(biāo)準(zhǔn),在已經(jīng)正式出版的ISO/IEC9126-PartI(軟件質(zhì)量模型)中,將軟件質(zhì)量用6個外部屬性表示,即功能性、可靠性、可維性、效率、可移植性、可用性。
對軟件進(jìn)行評價是一個多屬性決策問題,其評價過程是建立質(zhì)量子屬性集合到質(zhì)量評價結(jié)果之間的映射關(guān)系,即f:dij→q,其中dij為軟件第i個質(zhì)量屬性對應(yīng)的第j個子屬性,q為質(zhì)量評價結(jié)果。對于潛艇戰(zhàn)術(shù)應(yīng)用軟件,可以采用分層分析的方法進(jìn)行質(zhì)量評價,而各子層因素對上層的評價可以采用相同的分析方法。本文通過建立基于專家知識與神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量評價模型來對其進(jìn)行研究。
在獲得潛艇戰(zhàn)術(shù)應(yīng)用軟件的質(zhì)量屬性指標(biāo)體系后,通過利用專家知識對軟件質(zhì)量屬性的重要性進(jìn)行初始權(quán)重分配,以確定軟件質(zhì)量屬性對軟件質(zhì)量評價影響的重要度,在此采用基于專家知識的相鄰比較法確定初始權(quán)重。
本文采用3層BP神經(jīng)網(wǎng)絡(luò),設(shè)BP網(wǎng)絡(luò)輸入層節(jié)點數(shù)為m,隱層節(jié)點數(shù)為p,輸出層節(jié)點為n,學(xué)習(xí)算法如下:
1) 初始化。對所有權(quán)值賦以隨機(jī)任意小值,并對閾值設(shè)定初始值。
2) 給定訓(xùn)練樣本。即提供輸入向量X和期望的目標(biāo)輸出向量D。
3) 計算實際輸出。隱層節(jié)點和輸出層節(jié)點的輸出可分別由下式計算。
隱層節(jié)點輸出:
(1)
輸出層節(jié)點輸出:
(2)
式(1)、式(2)中,ωij、vjk分別為輸入層、隱層與輸出層之間的連接權(quán)值;φj、θk分別為隱層和輸出層的節(jié)點閾值;f( )為神經(jīng)元的激勵函數(shù),一般取Sigmoid函數(shù)模型,即
4) 計算期望值與實際輸出值之間的誤差,即
(3)
式中,dk為網(wǎng)絡(luò)期望輸出值;yk為網(wǎng)絡(luò)實際輸出。
5) 調(diào)整權(quán)值。輸出層神經(jīng)元權(quán)系數(shù)的修正。
Δωjk=ηyk(1-yk)(dk-yk)uj
(4)
隱層神經(jīng)元權(quán)系數(shù)修正。
(5)
式(4)、式(5)中,0<η<1為學(xué)習(xí)效率。
6) 返回第二步重復(fù),直至誤差E滿足系統(tǒng)精度要求為止。
模糊綜合評判是目前進(jìn)行復(fù)雜系統(tǒng)評價的主要方法,該方法能夠綜合考慮影響軟件質(zhì)量屬性的多方面定量和定性的指標(biāo)因素,但由于指標(biāo)隸屬度函數(shù)的選擇以及指標(biāo)權(quán)重的選取都帶有主觀性,往往使最終評價結(jié)果出現(xiàn)偏差。本文采用基于專家知識與神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量評價模型,利用模糊綜合評判方法獲取該模型的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)來訓(xùn)練神經(jīng)網(wǎng)絡(luò),既能發(fā)揮模糊綜合評判的優(yōu)勢,又能克服其中的不足。
軟件質(zhì)量評價方法的具體步驟如下:
1) 建立軟件質(zhì)量評價體系,模糊化各質(zhì)量屬性。
2) 基于專家知識確定質(zhì)量屬性之間的相對權(quán)重系數(shù),并歸一化處理。
3) 利用權(quán)重系數(shù)修正質(zhì)量屬性,并將修正后的質(zhì)量屬性作為軟件質(zhì)量評價模型的輸入。
4) 將用模糊綜合評價法得到的數(shù)據(jù)作為訓(xùn)練樣本訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
5) 用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)對潛艇戰(zhàn)術(shù)應(yīng)用軟件進(jìn)行質(zhì)量評價。
首先,建立潛艇戰(zhàn)術(shù)應(yīng)用軟件的質(zhì)量評價體系。該軟件具有可靠性、效率、可用性、功能性、可維性、可移植性等6個外部屬性,從而建立軟件質(zhì)量屬性集F={f1,f2, …,f6},表1為軟件質(zhì)量評價論域集V。采用高斯函數(shù)建立隸屬度函數(shù)對質(zhì)量屬性fi進(jìn)行模糊化處理。
表1 軟件質(zhì)量評價論域集V
表2 潛艇戰(zhàn)術(shù)應(yīng)用軟件質(zhì)量屬性權(quán)重確定
最后,利用模糊綜合評判法得到的數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò),并對訓(xùn)練好的模型評價結(jié)果進(jìn)行驗證。本文利用模糊綜合評判法獲得100組數(shù)據(jù),其中80組用來訓(xùn)練神經(jīng)網(wǎng)絡(luò),20組作為模型的測試數(shù)據(jù)。圖1為潛艇戰(zhàn)術(shù)應(yīng)用軟件質(zhì)量評價模型的測試圖。由圖1可見,在對潛艇戰(zhàn)術(shù)應(yīng)用軟件進(jìn)行的20次質(zhì)量評價中,本文提出的基于專家知識與神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量評價方法與應(yīng)用模糊綜合評判法獲得的結(jié)果基本一致。但是由于本文利用專家知識對屬性進(jìn)行修正處理后再作為模型的輸入,充分體現(xiàn)了不同屬性對最終質(zhì)量評價結(jié)果影響的重要度,又利用神經(jīng)網(wǎng)絡(luò)強(qiáng)大的并行計算與自學(xué)習(xí)能力,使評價模型更加符合潛艇戰(zhàn)術(shù)應(yīng)用軟件高時效性的特點,評價結(jié)果更趨客觀、合理。
圖1 潛艇戰(zhàn)術(shù)應(yīng)用軟件質(zhì)量評價模型測試
本文提出的基于專家知識與神經(jīng)網(wǎng)絡(luò)的潛艇戰(zhàn)術(shù)應(yīng)用軟件質(zhì)量評價方法,是在對模糊綜合評判法研究的基礎(chǔ)上,將專家知識和神經(jīng)網(wǎng)絡(luò)相結(jié)合建立的一種評價模型。對潛艇戰(zhàn)術(shù)應(yīng)用軟件的質(zhì)量評價進(jìn)行分析,驗證了該方法的可行性和有效性,從而為軟件質(zhì)量評價提供了一種有效的途徑。
參考文獻(xiàn):
[1] 黃文斌,薛昌友.潛艇作戰(zhàn)軟件[M].北京:兵器出版社,2002.
[2] PRESMAN R S.軟件工程實踐者的研究方法[M].梅宏,譯.北京:機(jī)械工業(yè)出版社,2002.
[3] 周津慧,王宗,楊宗奎,等.基于模糊評價方法的軟件質(zhì)量評價研究[J].系統(tǒng)工程與電子技術(shù),2004,26(7):988-991.
[4] 陳建明,王海峰.軟件質(zhì)量模型及其評價[J].微電子學(xué)與計算機(jī),2003,20(5):64-67.
[5] 王成才,湯偉,肖麗雯,等.軟件質(zhì)量評價的定量評價方法[J].計算機(jī)工程,2003,29(14):95-97.
[6] 楊楊.計算機(jī)軟件質(zhì)量模糊綜合評價方法[J].小型微型計算機(jī)系統(tǒng),2000,21(3):313-315.
[7] 馬思群,王紅珍,孫彥彬.基于模糊理論的軟件質(zhì)量評價方法應(yīng)用研究[J].大連交通大學(xué)學(xué)報,2007,28(4):18-21,36.
[8] 楊根興,高大啟,宋國新.基于神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量綜合評價方法[J].華東理工大學(xué)學(xué)報:自然科學(xué)版,2004,30(3):292-295.
[9] ISO/IEC FCD 9126-1.Information technology-software product quality.Part 1:Quality model (draft)[S].International Organization of Standardization,2001.