李軍鋒
(91404部隊,秦皇島 066000)
質(zhì)量工作是裝備工作的生命線,軟件質(zhì)量更是軟件的生命。隨著信息技術的發(fā)展,硬件軟件化趨勢愈加明顯,軟件質(zhì)量已經(jīng)成為影響和制約裝備質(zhì)量的主要因素和瓶頸,由軟件缺陷引起的災難性后果也不少見。自各行業(yè)開始關注軟件質(zhì)量以來至今已五十余年,國內(nèi)外相關專家、學者投入了大量精力,在不斷改進完善過程中,逐步形成了一系列軟件質(zhì)量模型、評價標準[1-10]。我國軍用裝備軟件質(zhì)量的研究,自2000年后逐漸起步并于2004年發(fā)布GJB2434A《軍用軟件產(chǎn)品評價》,十余年來也取得了豐富的成果[5]。但據(jù)了解,往往由于缺乏數(shù)據(jù)采集支撐,沒有相對可行的質(zhì)量量化指標,理論研究與實際應用的緊密結(jié)合尚有一定的差距。如何使軟件質(zhì)量評價模型和標準等切實落地,督導研發(fā)過程,提高裝備軟件質(zhì)量,是迫切需要解決的問題。
ISO/ICE 250101中將軟件質(zhì)量定義為:反映軟件產(chǎn)品滿足規(guī)定需求和潛在需求能力的特征和特性的總和[3]。
MJ.Fisher將軟件質(zhì)量定義為:所有描述計算機優(yōu)秀程度的特性的組合。也就是說為了滿足軟件的各項精確定義的功能、性能要求,符合文檔化的開發(fā)標準,需要相應的給出或設計一些質(zhì)量特性及其組合,要得到高質(zhì)量的軟件產(chǎn)品,就必須使這些質(zhì)量特性滿足[9]。
ANSI/IEEE Std.1061-1992中的標準將軟件質(zhì)量定義為:與軟件產(chǎn)品滿足需求所規(guī)定的和隱含的能力有關的特征或特性的全體,具體包括:
(1)軟件產(chǎn)品中所能滿足用戶給定需求的全部特性的集合;
(2)軟件具有所有的各種屬性組合的程度;
(3)用戶主觀得出的軟件是否滿足其綜合期望的程度;
(4)決定所用軟件在使用中將滿足其綜合期望程度的合成特性。
綜合上述定義理解,軟件質(zhì)量是軟件的生命,它直接影響著軟件的使用和維護。
軟件質(zhì)量評價是一項系統(tǒng)活動,包括最終產(chǎn)品的評價、開發(fā)過程的評價及若干相似功能的軟件比較評價。在本文中軟件工程質(zhì)量評價的定義為:從測試試驗階段,在針對性的質(zhì)量模型基礎上,通過測試數(shù)據(jù)收集、主觀評價,進行量化計算,并最終完成對軟件工程化水平及開發(fā)質(zhì)量評定的過程。
近年來,軍用裝備軟件發(fā)展迅速,各類型新技術新裝備陸續(xù)投入使用的背后,難免存在參與的研制單位眾多,軟件研發(fā)水平參差不齊,質(zhì)量工作深入程度不一的情況。為使各部門掌握裝備軟件質(zhì)量面貌,對關鍵質(zhì)量問題引起重視,同時也為了便于各研制單位分析當前裝備軟件研發(fā)過程中存在的薄弱環(huán)節(jié),以便進行持續(xù)有效地改進。
以客觀公正、科學可行為基本指導思想,結(jié)合軟件測試、裝備試驗及部隊使用過程,從客觀和主觀兩個角度提出裝備軟件質(zhì)量評價模型,具體分為以下幾個方面[4-5]:
客觀部分,主要由第三方測評機構負責,結(jié)合裝備軟件測試過程收集評價數(shù)據(jù):
(1)進入測試成熟度:對測評進入條件進行審查,并將審查結(jié)果作為評價數(shù)據(jù);
(2)測試中的軟件質(zhì)量:采集軟件測試過程數(shù)據(jù),在此基礎上進行評價。如軟件需求是衡量軟件質(zhì)量的基礎,不符合需求的軟件就不具備質(zhì)量,設計的軟件應在功能、性能等方面都符合要求,并能可靠地運行;軟件結(jié)構良好,易讀、易于理解,并易于修改、維護;軟件系統(tǒng)具有友好的用戶界面,便于用戶使用等。部分采用GJB2434A《軍用軟件產(chǎn)品評價》的相關內(nèi)容,并在此基礎上進行補充、裁剪或調(diào)整。
(3)技術狀態(tài)穩(wěn)定性:對軟件版本的管理情況,內(nèi)容代碼的變更,實際進度與計劃安排的相符性等進行評價。
主觀部分,由測評機構、裝備試驗人員、部隊使用人員結(jié)合軟件測試、裝備試驗及日常使用的主觀感受,通過問卷調(diào)查的方式收集評價數(shù)據(jù):
(1)測評機構主觀評價:主要包括軟件的功能、性能、可靠性、界面友好性、安全性、代碼質(zhì)量、文檔質(zhì)量等的主觀感受;
(2)試驗使用主觀評價:主要包括裝備試驗和部隊使用過程中,相關人員對軟件的功能、性能、可靠性、界面友好性等的主觀感受。
根據(jù)國際國內(nèi)慣例以及相關標準[1-3],軟件質(zhì)量由若干個特性組成,其中部分特性又可劃分為若干個子特性,子特性又可進一步劃分為若干度量指標也即度量元。參考相關國家軍用標準中的層次分析方法,結(jié)合實際情況,提出裝備軟件質(zhì)量評價模型[1-3,6],見圖1。
圖1 裝備軟件質(zhì)量評價模型
在裝備軟件質(zhì)量評價模型的基礎上提出裝備軟件質(zhì)量的特性和子特性,制定度量表,并通過提供一系列行之有效的度量元的方式,列出權值分配表,權值比例參考以往研究的基礎上[4-6],征集相關單位及業(yè)內(nèi)專家意見共同確定,具體度量元的選擇及權值比例可在不同的軟件評價活動過程中,結(jié)合實際情況進行適當調(diào)整,示例見表1。
表1 裝備軟件質(zhì)量評價模型-度量元及權值分配表
對于每一個度量元要確定相應的目標測量值作為量化表示,以便對它們進行測量。在實際應用過程中,盡量選擇那些成熟且簡便易行的測量方法和技術,并保證測量結(jié)果易于使用[7-8],示例見表2。
表2 度量元量化方法表
按照度量權值設置,采用歸一化的方式進行計算,定義度量元ijk的分值為mijk,最高分值(滿分值)為Y_MAXijk,Ni為特性i的子特性個數(shù),Nij為子特性ij的度量元個數(shù),子特性、特性及整體評價的計算見公式[9-10]:
(1)度量元分值計算
利用表2采集統(tǒng)計各度量元的分值,其中度量元分值為0表示該度量元不得分,分值為-1表示該度量元對應的子特性不得分(分值為0),分值為-2表示包含該度量元的特性不得分(分值為0)。
(2)子特性、特性分值計算
根據(jù)公式(1)和公式(2)計算子特性和特性的分值。
(3)計算整體評價分值
根據(jù)公式(3),計算可得到軟件質(zhì)量整體評價分值,整體評價滿分為1分,最低0分。
裝備軟件質(zhì)量評價結(jié)果不設優(yōu)、良、差之類等級分別,而是通過分析各項特性度量元得分情況,結(jié)合整體評價,整理形成裝備軟件質(zhì)量評價報告,盡可能從科學角度提出軟件質(zhì)量在各環(huán)節(jié)存在的不足。評價結(jié)果同步通報相關單位,以便各自從狀態(tài)掌握、問題整改及持續(xù)改進等角度促進裝備軟件質(zhì)量不斷提升。
軟件質(zhì)量尤其是軍用裝備軟件的質(zhì)量影響重大,本文提出的基于軟件測試、裝備試驗及部隊使用的裝備軟件質(zhì)量評價模型,結(jié)合某大型裝備系統(tǒng)軟件的研發(fā)、測試、試驗及部隊使用過程研究,廣泛征求相關單位意見建議,度量元易于采集,計算結(jié)果相對科學合理,并已成功試用實施。下一步將對裝備試驗及部隊使用過程中的軟件質(zhì)量問題,從嚴重等級、影響后果等方面進行梳理分析,納入客觀部分特性度量,同時對部隊使用評價內(nèi)容適當調(diào)整,區(qū)別于裝備試驗度量采集,使之更加切合實際應用。進一步研究完善后可做為一種從實踐角度出發(fā)的裝備軟件質(zhì)量評價方法,或可形成標準規(guī)程得以推廣應用。