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

根據系統理論,n個質量要素相對于軟件系統的相對權重分別為e1:e2:…en。
式(1)為經過處理后的標準化向量,滿足:

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

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

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

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

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

3)由分到合,最終評估
則軟件系統的量化評估結果為

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