摘 要: 針對我軍軟件裝備研制過程質(zhì)量量化管理的需要,對軍用軟件過程質(zhì)量度量與評價(jià)方法進(jìn)行了研究,提供了度量構(gòu)造、度量數(shù)據(jù)采集、度量結(jié)果分析與評價(jià)活動(dòng)準(zhǔn)則,建立了軍用軟件過程質(zhì)量度量與評價(jià)體系,并指導(dǎo)其實(shí)施。
關(guān)鍵詞: 軍用軟件過程;質(zhì)量度量;指示器;質(zhì)量評價(jià)
隨著我國武器裝備信息化的發(fā)展,軍用軟件質(zhì)量成為關(guān)注的焦點(diǎn)。目前軍用軟件質(zhì)量監(jiān)管主要存在以下問題:⑴較多的關(guān)注軟件產(chǎn)品質(zhì)量,忽視開發(fā)過程的質(zhì)量;⑵缺乏軟件過程質(zhì)量度量體系與評價(jià)基準(zhǔn);⑶軟件質(zhì)量評價(jià)較多依賴于第三方測試和定型測評,導(dǎo)致成本大大增加;⑷缺少可供過程持續(xù)改進(jìn)的數(shù)據(jù)積累和經(jīng)驗(yàn)。這些問題均與軟件過程質(zhì)量度量相關(guān)。
軟件過程管理的目標(biāo)是使軟件開發(fā)過程、產(chǎn)品的實(shí)際情況與期望結(jié)果之間的偏差盡可能小,偏差可控,最終控制并改進(jìn)項(xiàng)目過程、提高軟件產(chǎn)品質(zhì)量[1]。軍用軟件過程質(zhì)量度量包括項(xiàng)目、過程和產(chǎn)品質(zhì)量度量。其中項(xiàng)目度量評估項(xiàng)目開發(fā)過程的質(zhì)量,預(yù)測項(xiàng)目進(jìn)度、工作量等。過程度量確保已定義的過程在軟件組織中得到合理應(yīng)用,并通過不斷改進(jìn)來滿足項(xiàng)目目標(biāo)。產(chǎn)品度量使用戶對軟件產(chǎn)品滿意并接受產(chǎn)品[2]。其中產(chǎn)品度量可以采用軟件質(zhì)量模型McCall進(jìn)行度量,本文則主要圍繞軟件項(xiàng)目和過程質(zhì)量開展相應(yīng)的度量研究。
1 建立軍用軟件過程質(zhì)量度量體系
1.1 度量構(gòu)造
度量的構(gòu)造過程為選擇度量實(shí)體和屬性,進(jìn)行基本測量和派生測量,設(shè)置指示器,然后產(chǎn)生度量信息,其層次結(jié)構(gòu)如圖1所示[3]。測量實(shí)體為可測量的事物。測量屬性為可度量實(shí)體某些方面的特征,例如:規(guī)模、工作量和缺陷數(shù)等。測量構(gòu)造設(shè)計(jì)得越合理,測量的軟件屬性和已標(biāo)記的信息結(jié)合得就越好,也就越容易得出可靠、客觀的決策。
軍用軟件過程質(zhì)量度量圍繞著持續(xù)改進(jìn)軟件質(zhì)量、提高生產(chǎn)率和降低成本的目標(biāo)展開,通常包含產(chǎn)品和服務(wù)質(zhì)量、進(jìn)度和進(jìn)展、生產(chǎn)率、資源和成本、產(chǎn)品穩(wěn)定性、過程依從性和技術(shù)有效性這7類信息的度量。
1.2 度量數(shù)據(jù)采集
度量數(shù)據(jù)采集是過程度量的基礎(chǔ),用于收集與所要求的度量值相關(guān)的基礎(chǔ)數(shù)據(jù)。合理選取數(shù)據(jù)來源是實(shí)現(xiàn)數(shù)據(jù)獲取的關(guān)鍵,應(yīng)保證數(shù)據(jù)的有效性、一致性和準(zhǔn)確性[4]。采集活動(dòng)的入口準(zhǔn)則:軟件度量計(jì)劃已經(jīng)發(fā)布;采集測量數(shù)據(jù)的表單或自動(dòng)化工具已經(jīng)就緒。輸入:軟件度量計(jì)劃;度量數(shù)據(jù)源。輸出:所需的測量數(shù)據(jù)記錄。出口準(zhǔn)則:軟件度量計(jì)劃所需的度量數(shù)據(jù)已經(jīng)獲取、驗(yàn)證并被正確的保存。采集活動(dòng)步驟如下。
?、奴@取度量數(shù)據(jù)。按照度量計(jì)劃在開發(fā)活動(dòng)中按度量數(shù)據(jù)采集表或使用自動(dòng)化工具采集度量數(shù)據(jù);軟件負(fù)責(zé)人使用統(tǒng)計(jì)方法或工具計(jì)算導(dǎo)出度量的數(shù)據(jù)值。
?、乞?yàn)證度量數(shù)據(jù)。軟件負(fù)責(zé)人對基本度量數(shù)據(jù)和導(dǎo)出度量數(shù)據(jù)進(jìn)行核查,確保度量數(shù)據(jù)的完備性、完整性、準(zhǔn)確性和及時(shí)性。對數(shù)據(jù)的完整性檢查應(yīng)盡可能靠近數(shù)據(jù)源進(jìn)行,檢查可能包括搜索遺漏數(shù)據(jù)、超出邊界的數(shù)據(jù)值、異常模式和度量之間的相關(guān)性等。應(yīng)注意檢驗(yàn)和糾正由于人為判斷而造成的分類不一致;檢查用于計(jì)算的導(dǎo)出度量與基本度量之間的關(guān)系。
?、谴鎯?chǔ)度量數(shù)據(jù)。軟件負(fù)責(zé)人負(fù)責(zé)按照度量計(jì)劃存儲(chǔ)度量數(shù)據(jù);設(shè)置度量數(shù)據(jù)的訪問權(quán)限,限制非法訪問度量數(shù)據(jù),防止泄露信息。
1.3 度量結(jié)果分析與評價(jià)
分析與評價(jià)活動(dòng)入口準(zhǔn)則:度量數(shù)據(jù)已采集。輸入:度量數(shù)據(jù)。輸出:通報(bào)記錄。出口準(zhǔn)則:提交度量數(shù)據(jù)分析結(jié)果。分析活動(dòng)步驟如下。
⑴計(jì)算指示器值。軟件負(fù)責(zé)人使用輔助分析工具對度量數(shù)據(jù)進(jìn)行統(tǒng)計(jì),制作度量數(shù)據(jù)的統(tǒng)計(jì)表,并按照基本度量→導(dǎo)出度量→指示器的順序,由度量數(shù)據(jù)生成相關(guān)指示器的值;生成指示器圖表。
?、品治龆攘繑?shù)據(jù)。軟件負(fù)責(zé)人首先按照度量數(shù)據(jù)分析規(guī)程對指示器進(jìn)行分析,理解指示器當(dāng)前值表示的含義。比如發(fā)現(xiàn)指示器值超出正常范圍;指示器值雖未超出閾值,但存在超出的趨勢;控制圖存在失控點(diǎn)等現(xiàn)象,這時(shí)軟件負(fù)責(zé)人應(yīng)與相關(guān)人員對分析結(jié)果進(jìn)行評審,查找導(dǎo)致異常狀態(tài)的原因。由軟件負(fù)責(zé)人綜合分析所有指示器值,得出項(xiàng)目進(jìn)展?fàn)顟B(tài)的分析結(jié)論。
?、嵌攘吭u價(jià)。能力度分析、過程改進(jìn)分析與決策,給出評價(jià)報(bào)告。在評價(jià)報(bào)告中應(yīng)標(biāo)識(shí)問題和風(fēng)險(xiǎn),并提出相應(yīng)的解決問題和緩解風(fēng)險(xiǎn)的建議。
2 實(shí)施軍用軟件過程質(zhì)量度量
軟件過程質(zhì)量評價(jià)過程包括確定評價(jià)需求、設(shè)計(jì)、執(zhí)行和度量結(jié)果總結(jié),評價(jià)過程如圖2所示。軍用軟件過程質(zhì)量度量實(shí)施的組織結(jié)構(gòu)、角色和職責(zé)如表1所示,度量指示器如表2所示,評價(jià)基準(zhǔn)如表3所示。
軍用軟件過程質(zhì)量度量采用分層度量,各級單位可選取不同的指示器進(jìn)行重點(diǎn)度量。表2中的項(xiàng)目級指項(xiàng)目開發(fā)團(tuán)隊(duì),組織級包括承研單位的管理部門、總體單位和軍隊(duì)機(jī)關(guān)的管理組織。承研單位的管理部門主要關(guān)注本單位項(xiàng)目的質(zhì)量和進(jìn)展情況,為后續(xù)項(xiàng)目的開展提供參考和促進(jìn)過程改進(jìn),主要關(guān)注的指示器包括:缺陷密度、客戶滿意度、項(xiàng)目里程牌進(jìn)度、項(xiàng)目成本、生產(chǎn)率和重用率等。作為總體單位主要關(guān)注各承包單位的項(xiàng)目完成質(zhì)量的比較和項(xiàng)目總體進(jìn)度的掌握,為提高軟件產(chǎn)品質(zhì)量和后續(xù)項(xiàng)目的發(fā)包提供參考,主要度量指示器包括:缺陷消除率、客戶滿意度、項(xiàng)目進(jìn)度、成本、需求穩(wěn)定性、評審發(fā)現(xiàn)的缺陷數(shù)、測試充分性和有效性等。機(jī)關(guān)單位主要關(guān)注各類軟件裝備的開發(fā)質(zhì)量、效率和成本,為后續(xù)軟件項(xiàng)目設(shè)立和過程改進(jìn)提供參考,例如:嵌入式軟件、非嵌入式軟件及非嵌入式中的指控和數(shù)據(jù)分析軟件其開發(fā)進(jìn)度、成本、質(zhì)量評價(jià)方法均不一樣。機(jī)關(guān)單位的主要度量指示器包括:項(xiàng)目進(jìn)度、成本、生產(chǎn)率、測試效率、代碼重用率等。
以進(jìn)度偏差為例,當(dāng)采集到進(jìn)度后可以使用掙值圖、網(wǎng)絡(luò)圖、S型曲線比較等分析方法,得到進(jìn)度超前、正常或滯后的結(jié)果,然后再做進(jìn)一步的分析與決策。例如進(jìn)度超前的可能原因包括:估計(jì)保守,實(shí)際項(xiàng)目組能力和經(jīng)驗(yàn)比預(yù)想的好;或者迄今為止沒有充分執(zhí)行當(dāng)前的任務(wù)或遺漏某些細(xì)節(jié)。擬采取的措施包括:重新估計(jì)后續(xù)任務(wù)進(jìn)度,盡早釋放資源;或者評審已完成的任務(wù),查漏補(bǔ)缺。出現(xiàn)進(jìn)度滯后的可能原因包括:估計(jì)偏低;項(xiàng)目組成員經(jīng)驗(yàn)不足,領(lǐng)域知識(shí)匱乏;采用新技術(shù)造成開發(fā)難度增大;未獲得充分資源;或者之前產(chǎn)品存在返工。擬采取措施包括:重新估計(jì)進(jìn)度;指派經(jīng)驗(yàn)豐富的人;投入更多的資源;減少任務(wù)范圍或降低活動(dòng)要求;通過改進(jìn)方法或技術(shù)提高生產(chǎn)效率。
軍用軟件根據(jù)其規(guī)模和重要程度也可分為分A、B、C、D四級,其在度量標(biāo)準(zhǔn)上也存在嚴(yán)格程度上的差異。例如:目前軍用軟件中軟件測試充分性度量,參考《航天型號軟件工程化要求》規(guī)定[6],針對A級和B級軟件在進(jìn)行單元測試時(shí),語句、分支和MC/DC覆蓋率均應(yīng)該達(dá)到100% ,而對于C級和D級軟件則不做要求。集成測試時(shí)A級軟件的調(diào)用覆蓋率應(yīng)達(dá)到100%,其他等級不做要求。配置項(xiàng)測試時(shí)A級軟件的目標(biāo)碼覆蓋率應(yīng)達(dá)到100%,其他等級不做要求。
本文研究軍用軟件過程質(zhì)量度量方法,建立度量與評價(jià)體系,提供度量構(gòu)造、度量數(shù)據(jù)采集、度量結(jié)果分析與評價(jià)活動(dòng)準(zhǔn)則,指導(dǎo)度量活動(dòng)實(shí)施。同時(shí)探索軍用軟件開發(fā)承研單位、總體單位和機(jī)關(guān)針對不同的管理目標(biāo)進(jìn)行軟件過程質(zhì)量分層度量,為各級單位提供指示器裁剪,對于提高軍用軟件過程質(zhì)量具有重要的戰(zhàn)略意義。
參考文獻(xiàn)
[1] 李健.軟件過程質(zhì)量度量與控制[J]. 2006.
[2] 李樹文.基于度量的軟件質(zhì)量控制研究[J]. 微計(jì)算機(jī)信息, 2008,24(23):13-15.
[3] 賽柏科技.實(shí)用軟件度量[EB/OL]. [2014-07-01]http://wenku.baidu.com/.
[4] 范曉哲,傅鐵威,陳新世.基于CMMI的軟件過程質(zhì)量度量模型及應(yīng)用[J] ,科學(xué)技術(shù)與工程, 2011,11(9):39-41.
[5] 金光. Q/ARG 2014軟件工程化管理體系規(guī)程文件[S].上海:中國電子科技集團(tuán)公司第三十二研究所,2014.
[6] 楊海成,喬永強(qiáng). Q/QJA 30-2005航天型號軟件工程化要求[S].北京:中國航天科技集團(tuán)公司, 2005.