摘 要: 針對(duì)我軍軟件裝備研制過程質(zhì)量量化管理的需要,,對(duì)軍用軟件過程質(zhì)量度量與評(píng)價(jià)方法進(jìn)行了研究,提供了度量構(gòu)造,、度量數(shù)據(jù)采集,、度量結(jié)果分析與評(píng)價(jià)活動(dòng)準(zhǔn)則,建立了軍用軟件過程質(zhì)量度量與評(píng)價(jià)體系,,并指導(dǎo)其實(shí)施,。
關(guān)鍵詞: 軍用軟件過程;質(zhì)量度量,;指示器,;質(zhì)量評(píng)價(jià)
隨著我國(guó)武器裝備信息化的發(fā)展,軍用軟件質(zhì)量成為關(guān)注的焦點(diǎn),。目前軍用軟件質(zhì)量監(jiān)管主要存在以下問題:⑴較多的關(guān)注軟件產(chǎn)品質(zhì)量,,忽視開發(fā)過程的質(zhì)量;⑵缺乏軟件過程質(zhì)量度量體系與評(píng)價(jià)基準(zhǔn),;⑶軟件質(zhì)量評(píng)價(jià)較多依賴于第三方測(cè)試和定型測(cè)評(píng),,導(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)目度量評(píng)估項(xiàng)目開發(fā)過程的質(zhì)量,預(yù)測(cè)項(xiàng)目進(jìn)度,、工作量等,。過程度量確保已定義的過程在軟件組織中得到合理應(yīng)用,并通過不斷改進(jìn)來滿足項(xiàng)目目標(biāo),。產(chǎn)品度量使用戶對(duì)軟件產(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)行基本測(cè)量和派生測(cè)量,設(shè)置指示器,,然后產(chǎn)生度量信息,,其層次結(jié)構(gòu)如圖1所示[3]。測(cè)量實(shí)體為可測(cè)量的事物,。測(cè)量屬性為可度量實(shí)體某些方面的特征,,例如:規(guī)模、工作量和缺陷數(shù)等,。測(cè)量構(gòu)造設(shè)計(jì)得越合理,測(cè)量的軟件屬性和已標(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ā)布,;采集測(cè)量數(shù)據(jù)的表單或自動(dòng)化工具已經(jīng)就緒,。輸入:軟件度量計(jì)劃;度量數(shù)據(jù)源,。輸出:所需的測(cè)量數(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é)人對(duì)基本度量數(shù)據(jù)和導(dǎo)出度量數(shù)據(jù)進(jìn)行核查,確保度量數(shù)據(jù)的完備性,、完整性,、準(zhǔn)確性和及時(shí)性。對(duì)數(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é)果分析與評(píng)價(jià)
分析與評(píng)價(jià)活動(dòng)入口準(zhǔn)則:度量數(shù)據(jù)已采集,。輸入:度量數(shù)據(jù),。輸出:通報(bào)記錄。出口準(zhǔn)則:提交度量數(shù)據(jù)分析結(jié)果,。分析活動(dòng)步驟如下,。
?、庞?jì)算指示器值。軟件負(fù)責(zé)人使用輔助分析工具對(duì)度量數(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ī)程對(duì)指示器進(jìn)行分析,,理解指示器當(dāng)前值表示的含義。比如發(fā)現(xiàn)指示器值超出正常范圍,;指示器值雖未超出閾值,,但存在超出的趨勢(shì);控制圖存在失控點(diǎn)等現(xiàn)象,,這時(shí)軟件負(fù)責(zé)人應(yīng)與相關(guān)人員對(duì)分析結(jié)果進(jìn)行評(píng)審,,查找導(dǎo)致異常狀態(tài)的原因。由軟件負(fù)責(zé)人綜合分析所有指示器值,,得出項(xiàng)目進(jìn)展?fàn)顟B(tài)的分析結(jié)論,。
⑶度量評(píng)價(jià),。能力度分析,、過程改進(jìn)分析與決策,給出評(píng)價(jià)報(bào)告,。在評(píng)價(jià)報(bào)告中應(yīng)標(biāo)識(shí)問題和風(fēng)險(xiǎn),,并提出相應(yīng)的解決問題和緩解風(fēng)險(xiǎn)的建議。
2 實(shí)施軍用軟件過程質(zhì)量度量
軟件過程質(zhì)量評(píng)價(jià)過程包括確定評(píng)價(jià)需求,、設(shè)計(jì),、執(zhí)行和度量結(jié)果總結(jié),評(píng)價(jià)過程如圖2所示,。軍用軟件過程質(zhì)量度量實(shí)施的組織結(jié)構(gòu),、角色和職責(zé)如表1所示,度量指示器如表2所示,,評(píng)價(jià)基準(zhǔn)如表3所示。
軍用軟件過程質(zhì)量度量采用分層度量,,各級(jí)單位可選取不同的指示器進(jìn)行重點(diǎn)度量,。表2中的項(xiàng)目級(jí)指項(xiàng)目開發(fā)團(tuán)隊(duì),組織級(jí)包括承研單位的管理部門,、總體單位和軍隊(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)定性、評(píng)審發(fā)現(xiàn)的缺陷數(shù),、測(cè)試充分性和有效性等,。機(jī)關(guān)單位主要關(guān)注各類軟件裝備的開發(fā)質(zhì)量、效率和成本,,為后續(xù)軟件項(xiàng)目設(shè)立和過程改進(jìn)提供參考,,例如:嵌入式軟件、非嵌入式軟件及非嵌入式中的指控和數(shù)據(jù)分析軟件其開發(fā)進(jìn)度,、成本,、質(zhì)量評(píng)價(jià)方法均不一樣。機(jī)關(guān)單位的主要度量指示器包括:項(xiàng)目進(jìn)度,、成本,、生產(chǎn)率、測(cè)試效率,、代碼重用率等,。
以進(jìn)度偏差為例,當(dāng)采集到進(jìn)度后可以使用掙值圖,、網(wǎng)絡(luò)圖,、S型曲線比較等分析方法,得到進(jìn)度超前,、正?;驕蟮慕Y(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)度,,盡早釋放資源,;或者評(píng)審已完成的任務(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四級(jí),,其在度量標(biāo)準(zhǔn)上也存在嚴(yán)格程度上的差異,。例如:目前軍用軟件中軟件測(cè)試充分性度量,參考《航天型號(hào)軟件工程化要求》規(guī)定[6],,針對(duì)A級(jí)和B級(jí)軟件在進(jìn)行單元測(cè)試時(shí),,語句、分支和MC/DC覆蓋率均應(yīng)該達(dá)到100% ,,而對(duì)于C級(jí)和D級(jí)軟件則不做要求,。集成測(cè)試時(shí)A級(jí)軟件的調(diào)用覆蓋率應(yīng)達(dá)到100%,其他等級(jí)不做要求,。配置項(xiàng)測(cè)試時(shí)A級(jí)軟件的目標(biāo)碼覆蓋率應(yīng)達(dá)到100%,,其他等級(jí)不做要求。
本文研究軍用軟件過程質(zhì)量度量方法,,建立度量與評(píng)價(jià)體系,,提供度量構(gòu)造、度量數(shù)據(jù)采集,、度量結(jié)果分析與評(píng)價(jià)活動(dòng)準(zhǔn)則,,指導(dǎo)度量活動(dòng)實(shí)施。同時(shí)探索軍用軟件開發(fā)承研單位,、總體單位和機(jī)關(guān)針對(duì)不同的管理目標(biāo)進(jìn)行軟件過程質(zhì)量分層度量,,為各級(jí)單位提供指示器裁剪,對(duì)于提高軍用軟件過程質(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].上海:中國(guó)電子科技集團(tuán)公司第三十二研究所,,2014.
[6] 楊海成,,喬永強(qiáng). Q/QJA 30-2005航天型號(hào)軟件工程化要求[S].北京:中國(guó)航天科技集團(tuán)公司, 2005.