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