摘 要: 針對我軍軟件裝備研制過程質(zhì)量量化管理的需要,,對軍用軟件過程質(zhì)量度量與評價方法進(jìn)行了研究,提供了度量構(gòu)造,、度量數(shù)據(jù)采集,、度量結(jié)果分析與評價活動準(zhǔn)則,建立了軍用軟件過程質(zhì)量度量與評價體系,,并指導(dǎo)其實(shí)施,。
關(guān)鍵詞: 軍用軟件過程;質(zhì)量度量,;指示器,;質(zhì)量評價
隨著我國武器裝備信息化的發(fā)展,軍用軟件質(zhì)量成為關(guān)注的焦點(diǎn),。目前軍用軟件質(zhì)量監(jiān)管主要存在以下問題:⑴較多的關(guān)注軟件產(chǎn)品質(zhì)量,,忽視開發(fā)過程的質(zhì)量;⑵缺乏軟件過程質(zhì)量度量體系與評價基準(zhǔn),;⑶軟件質(zhì)量評價較多依賴于第三方測試和定型測評,,導(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è)計得越合理,測量的軟件屬性和已標(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],。采集活動的入口準(zhǔn)則:軟件度量計劃已經(jīng)發(fā)布,;采集測量數(shù)據(jù)的表單或自動化工具已經(jīng)就緒。輸入:軟件度量計劃,;度量數(shù)據(jù)源,。輸出:所需的測量數(shù)據(jù)記錄。出口準(zhǔn)則:軟件度量計劃所需的度量數(shù)據(jù)已經(jīng)獲取,、驗(yàn)證并被正確的保存,。采集活動步驟如下。
?、奴@取度量數(shù)據(jù),。按照度量計劃在開發(fā)活動中按度量數(shù)據(jù)采集表或使用自動化工具采集度量數(shù)據(jù);軟件負(fù)責(zé)人使用統(tǒng)計方法或工具計算導(dǎo)出度量的數(shù)據(jù)值,。
?、乞?yàn)證度量數(shù)據(jù),。軟件負(fù)責(zé)人對基本度量數(shù)據(jù)和導(dǎo)出度量數(shù)據(jù)進(jìn)行核查,確保度量數(shù)據(jù)的完備性,、完整性,、準(zhǔn)確性和及時性。對數(shù)據(jù)的完整性檢查應(yīng)盡可能靠近數(shù)據(jù)源進(jìn)行,,檢查可能包括搜索遺漏數(shù)據(jù),、超出邊界的數(shù)據(jù)值、異常模式和度量之間的相關(guān)性等,。應(yīng)注意檢驗(yàn)和糾正由于人為判斷而造成的分類不一致,;檢查用于計算的導(dǎo)出度量與基本度量之間的關(guān)系。
?、谴鎯Χ攘繑?shù)據(jù),。軟件負(fù)責(zé)人負(fù)責(zé)按照度量計劃存儲度量數(shù)據(jù);設(shè)置度量數(shù)據(jù)的訪問權(quán)限,,限制非法訪問度量數(shù)據(jù),,防止泄露信息。
1.3 度量結(jié)果分析與評價
分析與評價活動入口準(zhǔn)則:度量數(shù)據(jù)已采集,。輸入:度量數(shù)據(jù),。輸出:通報記錄。出口準(zhǔn)則:提交度量數(shù)據(jù)分析結(jié)果,。分析活動步驟如下,。
⑴計算指示器值,。軟件負(fù)責(zé)人使用輔助分析工具對度量數(shù)據(jù)進(jìn)行統(tǒng)計,,制作度量數(shù)據(jù)的統(tǒng)計表,并按照基本度量→導(dǎo)出度量→指示器的順序,,由度量數(shù)據(jù)生成相關(guān)指示器的值,;生成指示器圖表。
?、品治龆攘繑?shù)據(jù),。軟件負(fù)責(zé)人首先按照度量數(shù)據(jù)分析規(guī)程對指示器進(jìn)行分析,,理解指示器當(dāng)前值表示的含義,。比如發(fā)現(xiàn)指示器值超出正常范圍;指示器值雖未超出閾值,,但存在超出的趨勢,;控制圖存在失控點(diǎn)等現(xiàn)象,這時軟件負(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價,。能力度分析、過程改進(jìn)分析與決策,,給出評價報告,。在評價報告中應(yīng)標(biāo)識問題和風(fēng)險,并提出相應(yīng)的解決問題和緩解風(fēng)險的建議,。
2 實(shí)施軍用軟件過程質(zhì)量度量
軟件過程質(zhì)量評價過程包括確定評價需求,、設(shè)計、執(zhí)行和度量結(jié)果總結(jié),,評價過程如圖2所示,。軍用軟件過程質(zhì)量度量實(shí)施的組織結(jié)構(gòu)、角色和職責(zé)如表1所示,,度量指示器如表2所示,,評價基準(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ì)量評價方法均不一樣。機(jī)關(guān)單位的主要度量指示器包括:項(xiàng)目進(jìn)度,、成本,、生產(chǎn)率、測試效率,、代碼重用率等,。
以進(jìn)度偏差為例,當(dāng)采集到進(jìn)度后可以使用掙值圖,、網(wǎng)絡(luò)圖,、S型曲線比較等分析方法,得到進(jìn)度超前,、正?;驕蟮慕Y(jié)果,然后再做進(jìn)一步的分析與決策,。例如進(jìn)度超前的可能原因包括:估計保守,,實(shí)際項(xiàng)目組能力和經(jīng)驗(yàn)比預(yù)想的好;或者迄今為止沒有充分執(zhí)行當(dāng)前的任務(wù)或遺漏某些細(xì)節(jié),。擬采取的措施包括:重新估計后續(xù)任務(wù)進(jìn)度,,盡早釋放資源;或者評審已完成的任務(wù),,查漏補(bǔ)缺,。出現(xiàn)進(jìn)度滯后的可能原因包括:估計偏低;項(xiàng)目組成員經(jīng)驗(yàn)不足,,領(lǐng)域知識匱乏,;采用新技術(shù)造成開發(fā)難度增大;未獲得充分資源,;或者之前產(chǎn)品存在返工,。擬采取措施包括:重新估計進(jìn)度;指派經(jīng)驗(yàn)豐富的人,;投入更多的資源,;減少任務(wù)范圍或降低活動要求;通過改進(jìn)方法或技術(shù)提高生產(chǎn)效率,。
軍用軟件根據(jù)其規(guī)模和重要程度也可分為分A,、B,、C,、D四級,,其在度量標(biāo)準(zhǔn)上也存在嚴(yán)格程度上的差異。例如:目前軍用軟件中軟件測試充分性度量,,參考《航天型號軟件工程化要求》規(guī)定[6],,針對A級和B級軟件在進(jìn)行單元測試時,語句,、分支和MC/DC覆蓋率均應(yīng)該達(dá)到100% ,,而對于C級和D級軟件則不做要求。集成測試時A級軟件的調(diào)用覆蓋率應(yīng)達(dá)到100%,,其他等級不做要求,。配置項(xiàng)測試時A級軟件的目標(biāo)碼覆蓋率應(yīng)達(dá)到100%,其他等級不做要求,。
本文研究軍用軟件過程質(zhì)量度量方法,,建立度量與評價體系,提供度量構(gòu)造,、度量數(shù)據(jù)采集,、度量結(jié)果分析與評價活動準(zhǔn)則,指導(dǎo)度量活動實(shí)施,。同時探索軍用軟件開發(fā)承研單位,、總體單位和機(jī)關(guān)針對不同的管理目標(biāo)進(jìn)行軟件過程質(zhì)量分層度量,為各級單位提供指示器裁剪,,對于提高軍用軟件過程質(zhì)量具有重要的戰(zhàn)略意義,。
參考文獻(xiàn)
[1] 李健.軟件過程質(zhì)量度量與控制[J]. 2006.
[2] 李樹文.基于度量的軟件質(zhì)量控制研究[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.