李 偉 龍 飛 孫續(xù)文
(海軍大連艦艇學(xué)院 大連 116018)
在水面艦艇作戰(zhàn)領(lǐng)域,指控(C3I)系統(tǒng)被稱為軍艦整體戰(zhàn)斗力的“倍增器”,艦艇指揮員靠它把信息處理和武器控制連接到一起,必將成為未來信息化海戰(zhàn)場上的“指揮神器”[1]。從組成上講,對任何一種指控系統(tǒng)而言,除了探測與信息處理過程中的硬件設(shè)備以外,以分布式操作系統(tǒng)為主體的各類軟件承載著指揮與控制的主要功能,其軟件質(zhì)量是指控系統(tǒng)性能優(yōu)劣的重要指標(biāo)。
隨著科技的進步和人們對系統(tǒng)評價要求的提高,在軟件工程理論和方法日漸成熟的背景下,對于指控系統(tǒng)的評價逐漸形成評測結(jié)合、以測為主的格局,系統(tǒng)軟件的量化評估成為一項亟待解決的重要課題。
艦艇指控系統(tǒng)結(jié)構(gòu)復(fù)雜,內(nèi)容繁多,對軟件質(zhì)量層面的評價首先需要理清評價的范疇,挖掘出最能代表軟件系統(tǒng)質(zhì)量的關(guān)鍵要素。在評價方向上,對指控系統(tǒng)軟件質(zhì)量的評估,不是對具體作戰(zhàn)指揮效果的評判,而是在既定戰(zhàn)術(shù)下考究軟件實現(xiàn)的效率;不是僅僅評價單個的軟件系統(tǒng)的運行,還要考察系統(tǒng)的外延特性。在評價內(nèi)容上,一個公認(rèn)的結(jié)論就是,世界上沒有一個能夠適用于所有軟件系統(tǒng)質(zhì)量進行評估的標(biāo)準(zhǔn),對于指控系統(tǒng)的軟件質(zhì)量,必須根據(jù)實際情況進行深入挖掘。根據(jù)GJB5236的界定,軟件系統(tǒng)的質(zhì)量要素可概括為為功能性(正確性)、解算效率、可靠性和外延屬性等四大方面[2]。
軟件的功能性指標(biāo)是軟件質(zhì)量的首要因素,即為軟件是否滿足了最初的設(shè)計目標(biāo),就指控系統(tǒng)而言,功能性指標(biāo)主要包括程序代碼的正確性、可理解性和堪用性[3]。
軟件的正確性是指軟件運行或函數(shù)的調(diào)用是否正確體現(xiàn)了海軍戰(zhàn)術(shù)的基本原則和相關(guān)公式要求,可理解性為程序語言使用是否標(biāo)準(zhǔn)規(guī)范、可讀性如何[4];堪用性是指軟件模塊是否可用于實際的作戰(zhàn)指揮。上述三者互為條件,相互依存,是軟件系統(tǒng)價值存在的基礎(chǔ)。在小型艦艇或系統(tǒng)組成較為簡單時,軟件功能性指標(biāo)有時也集中體現(xiàn)為有限元素解算的精度[5]。
軟件系統(tǒng)的解算效率一般包括時間效率和空間效率兩方面,對指控系統(tǒng)來講主要指時間效率。軟件系統(tǒng)解算的速度越快,系統(tǒng)反應(yīng)的時間就越短,通道組織就越有時間保證,這對于防空反導(dǎo)意義尤為重大,解算效率是指控系統(tǒng)高效運轉(zhuǎn)的重要前提。
在量化評估上,解算效率主要表現(xiàn)為完成指定科目解算所用的時間[6]。
穩(wěn)定性是軍用軟件的首要要求,主要內(nèi)容包括軟件的可靠性、可維性和可用性。
軟件的可靠性是指軟件在復(fù)雜情況下維持正常運行的能力,一般用平均無故障時間來衡量;可維性是指軟件出現(xiàn)故障后成功修復(fù)的能力,一般用平均修復(fù)時間來衡量;可用性又稱有效度,是指系統(tǒng)在需要時能夠執(zhí)行其預(yù)定功能的概率,是可靠性和可維性的二元函數(shù)[7]。
考慮到戰(zhàn)場環(huán)境的破壞性,為對抗外力打擊可能造成的系統(tǒng)癱瘓,系統(tǒng)一般具有硬件冗余和軟件冗余,保證在任何情況下都能進行有效的作戰(zhàn)指揮,這也是軟件穩(wěn)定性評估的重要內(nèi)容。穩(wěn)定性指標(biāo)的量化評估可以通過軟件測試的方法快速獲取,也可以在系統(tǒng)使用中根據(jù)裝設(shè)備使用記錄間接獲得。
軟件系統(tǒng)的外延屬性是指軟件系統(tǒng)作為一個客體在操作使用中所表現(xiàn)出的人機交互的能力,主要包括可移植性、可修改升級性、可測試性和界面友好靈活性等[8]。
軟件的可移植性是指軟件模塊在不同操作環(huán)境下仍能順暢運行的能力;可修改性是指程序能夠被正確修改或升級改造的難易程度;軟件的可測試性是指檢驗軟件系統(tǒng)是否能夠滿足用戶需求的難易程度;軟件的界面友好靈活性是指用戶使用軟件的難易程度,最高標(biāo)準(zhǔn)即為“免培訓(xùn)”即可交付使用。軟件的外延屬性是最難以進行量化評估的指標(biāo)。
目前來看,軟件系統(tǒng)的量化評估還處于起步階段,既沒有權(quán)威的標(biāo)準(zhǔn),也沒有統(tǒng)一的步驟和模型,只能實行一事一議,根據(jù)具體問題進行具體分析。軟件性質(zhì)、功能和使用環(huán)境決定著質(zhì)量要素的選取,質(zhì)量要素的重要性也隨時間地點的變化而有所不同。在國際上,ISO9000系列和CMM系列也只是對開發(fā)過程是否規(guī)范和開發(fā)能力的認(rèn)證,并無統(tǒng)一的評估標(biāo)準(zhǔn)。
在質(zhì)量要素量化評估的過程中,并不是所有指標(biāo)都簡單易行。有的指標(biāo)概念簡單,可以通過公式的形式進行量化,而有的指標(biāo)卻與用戶的主觀感受緊密相關(guān),無法用數(shù)學(xué)的形式進行表示。除此之外,質(zhì)量要素之間還有可能出現(xiàn)內(nèi)容上的交叉,無法簡單進行區(qū)分隔離。
我國著名科學(xué)家錢學(xué)森認(rèn)為“系統(tǒng)是由相互作用和相互依賴的若干組成部分結(jié)合成的具有特定功能的有機整體”,相互作用、相互依賴是系統(tǒng)的重要特點,指控系統(tǒng)軟件質(zhì)量的量化評估,可以借鑒系統(tǒng)理論的相關(guān)原理和結(jié)論來進行[9]。
根據(jù)指控系統(tǒng)特點對軟件系統(tǒng)進行分析,挖掘出系統(tǒng)質(zhì)量要素。首先,將軟件系統(tǒng)S分解為P1,P2,???Pn等 n 個質(zhì)量要素,列出判斷矩陣 Sn×n,其中,sij即為第i個要素相對于第 j個要素的重要程度,可見,矩陣 Sn×n是一個對稱矩陣[10]。
在滿足矩陣一致性的前提下,可用Matlab求得矩陣Sn×n最大特征值對應(yīng)的特征向量:

根據(jù)系統(tǒng)理論,n個質(zhì)量要素相對于軟件系統(tǒng)的相對權(quán)重分別為e1:e2:…en。
式(1)為經(jīng)過處理后的標(biāo)準(zhǔn)化向量,滿足:

對于軟件系統(tǒng)組成的每一部分,可按照相關(guān)評估準(zhǔn)則,根據(jù)軟件測試的結(jié)果進行量化評估。若某項質(zhì)量要素包含子要素較多,可進一步增設(shè)二級指標(biāo)。在這種情況下,設(shè)某一要素Pi被分解為m個子要素,則判斷矩陣Pm×m中元素 pij即為模糊對比值,矩陣Pm×m也是一個對稱矩陣,對應(yīng)的標(biāo)準(zhǔn)化向量記為k。設(shè)m個子要素(二級指標(biāo))的量化評估值分別為 q1,q2,…qm,則質(zhì)量要素 Pi的量化評估值為

根據(jù)式(1)和式(3),不能直接量化的系統(tǒng)組成部分(質(zhì)量要素)可以間接獲得。
這樣,軟件系統(tǒng)的最終量化評估結(jié)果為

下面按照第1部分分析與第3部分模型具體說明量化評估的實施過程。
1)由合到分,科學(xué)界定軟件質(zhì)量要素,并根據(jù)系統(tǒng)功能列出判斷矩陣。如專家給出的軟件質(zhì)量要素四方面的判斷矩陣為

功能性 效率 穩(wěn)定性 外延屬性功能性 1 3/2 4/3 6/5效 率 2/3 1 3/4 5/3穩(wěn)定性 3/4 4/3 1 5/3外延屬性 5/6 3/4 3/5 1
在滿足矩陣一致性的前提下可得權(quán)重向量為

2)對于可量化評估的質(zhì)量要素,可按照相關(guān)準(zhǔn)則和軟件測試結(jié)果進行量化評估;對于不能直接量化的指標(biāo),可根據(jù)可量化指標(biāo)評估值和質(zhì)量要素之間的權(quán)重關(guān)系間接獲取。
此步驟完成之后,假設(shè)得到軟件質(zhì)量要素四部分的量化評估向量為(采用百分制)

3)由分到合,最終評估
則軟件系統(tǒng)的量化評估結(jié)果為

本模型的主要優(yōu)點就是能夠根據(jù)系統(tǒng)功能的特點進行具體分析,通過系統(tǒng)理論科學(xué)確定各質(zhì)量要素間的相互關(guān)系,進而間接獲取難以直接量化的要素的量化評估值,是一種具有普適意義的評估辦法。從世界主要軍事強國指控系統(tǒng)發(fā)展的情況來看,智能化、分布式開發(fā)成為軟件設(shè)計的主流方向[11],面向?qū)ο蟮拈_發(fā)技術(shù)成為主要的技術(shù)手段[12],軟件工程正在向更深層次發(fā)展,而軟件質(zhì)量的評估與管理也逐漸成為一個重要的研究方向。