林曉欲,雷倩茹, 沈 欣
(1.中國空空導彈研究院,河南 洛陽 471009; 2.空裝駐洛陽地區(qū)第一軍事代表室,河南 洛陽 471009)
導彈產(chǎn)品中軟件的作用日益增大,對彈載軟件的質(zhì)量要求也越來越高,因此,如何有效評價軟件質(zhì)量成為利益相關方的關注點。軟件質(zhì)量度量的基本思想是以“質(zhì)量特性-子特性-影響子特性的因素”層級關系,開展以度量元為基礎,定性或定量地進行度量的過程。由于質(zhì)量因素間存在交叉、影響關系,經(jīng)過分級分解后,度量元會急劇增長,度量成本很高。
本文綜合考慮彈載軟件的內(nèi)、外部質(zhì)量特性以及使用特性,以彈載軟件質(zhì)量為目標,結合內(nèi)、外部需求和用戶需求的核心關注點,構建簡潔、實用和高效的度量模型。旨在通過簡化的彈載軟件質(zhì)量模型,在軟件質(zhì)量評價過程中為該類軟件質(zhì)量度量提供一種定量化的方法。
軟件質(zhì)量的概念開始于20世紀70年代,是指在特定條件下使用軟件產(chǎn)品滿足明確或隱含需求的程度。軟件質(zhì)量評價一般以軟件質(zhì)量模型的建立為基礎。1977年,McCall質(zhì)量模型的建立; 1978年,分層結構的Boehm質(zhì)量模型的提出; 1991年,ISO 9126-1991標準《軟件產(chǎn)品-質(zhì)量特性及其使用指南》的發(fā)布,系統(tǒng)性地將十多年來推出的各種質(zhì)量模型進行了統(tǒng)一。1996年,國內(nèi)發(fā)布了軟件產(chǎn)品質(zhì)量評價標準GB/T 16260-1996; 2004年,發(fā)布了GJB 5236-2004《軍用軟件質(zhì)量度量》。
GJB 5236標準4.1中提到,軟件產(chǎn)品質(zhì)量可以通過測量內(nèi)部屬性、測量外部屬性,以及測量使用質(zhì)量的屬性來評價; 與評價方法密切相關地建立了內(nèi)部質(zhì)量、外部質(zhì)量、使用質(zhì)量的質(zhì)量模型; 內(nèi)、外部質(zhì)量模型有6個質(zhì)量屬性(功能性、可靠性、易用性、效率、維護性、可移植性),可再細分為若干子特性; 使用質(zhì)量模型主要通過用戶評價,如有效性、生產(chǎn)率、安全性以及滿意度來體現(xiàn)。
對于軍用軟件產(chǎn)品來說,GJB 5236中質(zhì)量模型度量的內(nèi)容非常完整和全面,但如果直接用于彈載軟件質(zhì)量度量,各種質(zhì)量要素影響關系復雜,且度量元太多太細,很難將全部要素推向最優(yōu)。針對彈載軟件,本文擬根據(jù)其特點作出相應的決策,建立彈載軟件質(zhì)量模型。
軟件的使用質(zhì)量體現(xiàn)了特定的用戶對軟件在特定環(huán)境下有效性、生產(chǎn)率、安全性和滿意度的不同要求,不同類型的軟件對軟件要素的要求是不一樣的,這與軟件在什么背景下使用和實際用途有關?;诖耍Y合彈載軟件的特點和質(zhì)量要求,提出了彈載軟件的質(zhì)量模型。該模型將外部質(zhì)量、內(nèi)部質(zhì)量與使用質(zhì)量結合起來,用測試、度量和評估的手段對彈載軟件特性進行客觀和半客觀的量化。
彈載軟件屬于嵌入式軟件,其算法復雜、處理時間短,實時性要求高; 存儲容量有限,具有很強的物理相關性; 一旦發(fā)生故障或失效,會造成重要任務失敗或影響生命安全,要求具有高可靠性和高安全性。
實時性是指在有限的時間內(nèi),高精度完成各項任務; 物理相關性是指嵌入式軟件與硬件設備密不可分,算法和通訊往往直接與物理設備相關聯(lián); 高可靠性與高安全性要求軟件有防錯、避錯的設計,有措施保證軟件具有提供可靠安全服務的能力。
彈載軟件的特點決定了彈載軟件與軟件6大質(zhì)量屬性的依賴關系是,功能性是所有軟件都必需的質(zhì)量元素; 對于彈載軟件系統(tǒng),可靠性是一個至關重要元素; 彈載軟件大多為實時軟件系統(tǒng),因此,效率也是一個重要的元素; 彈載軟件對可移植性的要求一般不高,因為其多數(shù)是針對特定的應用需求或特定硬件系統(tǒng)定制開發(fā); 彈載軟件的用戶一般是特定行業(yè)的專業(yè)人員,因此在易用性和維護性方面相較而言也沒有過高要求。
彈載軟件的質(zhì)量模型是參考GJB 5236提供的軟件質(zhì)量模型,并結合彈載軟件的質(zhì)量和應用特點提出的。
2.3.1 質(zhì)量特性的評價技術
彈載軟件質(zhì)量模型的評價,以內(nèi)、外部質(zhì)量模型為基礎,以GJB 2434A-2004 《軍用軟件產(chǎn)品評價》為指導,在評價技術和度量元的選取上結合使用質(zhì)量(用戶評價)的要求形成。表1為相關質(zhì)量特性對應的評價技術。
表1 相關質(zhì)量特性對應的評價技術Table 1 Evaluation technologies corresponding to relevant quality characteristics
2.3.2 度量元的選取及權重分配
根據(jù)彈載軟件及軟件測試的特點,基于GJB 5236對度量元進行選取。為了對軟件質(zhì)量進行量化的度量,對每個質(zhì)量特性、子特性及質(zhì)量屬性分配相應的權重。權重分配遵循的原則是,保證分配的權重值能夠反映在集合中的比例關系,同一個集合中權重之和為固定值。
權重分配時考慮彈載軟件的特點,參考表1對應的評價技術,充分結合軟件代碼審查、靜態(tài)分析、規(guī)則檢查、黑盒測試及用戶滿意度評價的結果,對本文2.2節(jié)中重點關注的功能性、可靠性、效率這3個質(zhì)量特性分配權重和為75; 其余易用性、維護性、可移植性3個質(zhì)量特性的要求按照本文2.2節(jié)分析結果,分配的權重和為25。具體子特性和各個質(zhì)量屬性的權重分配采用專家排序法,同時結合作者多年工程經(jīng)驗確定。
質(zhì)量特性權重分配為:={,,,,,}={30,25,10,20,10,5},其中:為功能性權重;為可靠性權重;為易用性權重;為效率權重;為維護性權重;為可移植性權重。
表2為彈載軟件質(zhì)量模型結構,括號中的數(shù)值為各級指標權重值。在對某個彈載軟件度量時,如果不涉及某些度量元則可以去除該度量元,剩余度量元的權重比例關系重新分配權重。
表2 彈載軟件質(zhì)量模型結構及權重分配
某彈載飛行控制軟件集信息采集、計算、控制于一體,完成產(chǎn)品自檢、對準導航、穩(wěn)定控制、制導、濾波、引信控制等工作。
該軟件對實時性要求很高,是以系統(tǒng)算法和邏輯時序為牽引把產(chǎn)品的各分系統(tǒng)有機地結合在一起,保證系統(tǒng)控制流和信息流運行通暢; 對影響時序的關鍵信號嚴格判斷,保證產(chǎn)品的可靠性; 是實時嵌入式控制系統(tǒng)軟件,采用事件觸發(fā)機制,只要產(chǎn)品計算機一加電,軟件即自動運行,處于等待處理外部事件的狀態(tài),無需外部人員介入。
用戶要求以該項目軟件系統(tǒng)的內(nèi)、外部質(zhì)量特性,子特性檢測和度量的結果為參考,確定軟件整體的質(zhì)量特性。為此,檢測人員根據(jù)該軟件的需求規(guī)格說明文檔,共設計446個測試用例,覆蓋了功能性、可靠性、效率、可移植性,共發(fā)現(xiàn)25個問題; 易用性和維護性通過靜態(tài)分析、規(guī)則檢查和用戶評價采集相關信息,共提出7個問題。該項目的測試用例執(zhí)行情況如圖1所示。
圖1 測試用例執(zhí)行分布情況Fig.1 Test case execution distribution
易用性和可移植性數(shù)據(jù)情況如表3所示。軟件缺陷分布情況如圖2所示。
圖2 軟件缺陷分布情況Fig.2 Software defect distribution
表3 易用性和可移植性數(shù)據(jù)情況
根據(jù)GJB 5236標準中的度量表,列出飛控軟件內(nèi)、外部質(zhì)量子特性度量公式分別為
=1-
(1)
式中:為不能滿足用戶要求的需求數(shù);為需要滿足用戶要求的需求總數(shù)。
=
(2)
式中:為在規(guī)格說明或評價中已證實的需求數(shù);為需要實現(xiàn)特定需求數(shù)。
度量結果說明:0≤≤1,越接近1越好。
當度量元中只能獲取不能滿足用戶要求的需求數(shù)和需要滿足用戶要求的需求總數(shù)時,使用式(1); 當度量元中能夠獲取已證實的需求數(shù)和需要實現(xiàn)特定需求數(shù)時,使用式(2); 當度量元中能夠能夠獲取具體度量值時,使用=具體值。
結合測試用例及缺陷情況統(tǒng)計圖,使用式(1)或式(2)計算相應的度量值,將其百分化。把計算出來的數(shù)據(jù),分別記入表4 飛行控制軟件質(zhì)量度量評價結果中的度量值一列,然后從右向左,加權計數(shù),最終得出質(zhì)量的度量結果。
表4 飛行控制軟件質(zhì)量度量評價結果
通常,如果最終的度量值在90 分及以上,該軟件內(nèi)、外部質(zhì)量為“通過”; 70 分(含)~90分,為“基本通過”; 70分以下,為“不通過”。根據(jù)度量結果,確定該彈載飛控軟件整體的質(zhì)量特性評定為“通過”。
本文在對當前國內(nèi)外有代表性的質(zhì)量度量模型進行分析比較基礎上,對彈載軟件質(zhì)量的度量和評價模型進行了探索研究。模型針對彈載軟件的特點、測試需求,結合軟件質(zhì)量度量標準,確定了適合于彈載軟件的質(zhì)量特性、子特性和度量元。以某彈載飛行控制軟件為例,根據(jù)軟件特點分解測試項和測試用例,并將質(zhì)量特性與評價方法對應,尤其是將質(zhì)量子特性和動態(tài)執(zhí)行結果建立聯(lián)系,通過度量公式完成度量評價。結果表明,本文給出的彈載軟件質(zhì)量模型合理有效,可用于彈載軟件質(zhì)量評價和過程控制。