程國
摘要:針對軍事氣象水文軟件的特點,結(jié)合軍事氣象水文軟件開發(fā)中存在的問題,探討軍內(nèi)常用的軟件質(zhì)量控制方法。根據(jù)國際上流行的CMMI軟件質(zhì)量控制方法,建立一種新的適用于軍事氣象水文軟件的質(zhì)量控制模型,對全面提升軍事氣象水文軟件可靠性具有參考價值。
關(guān)鍵詞:軟件質(zhì)量;CMMI;過程域;質(zhì)量控制模型
DOIDOI:10.11907/rjdk.143680
中圖分類號:TP319
文獻標識碼:A 文章編號文章編號:16727800(2015)001009502
0 引言
軍事氣象水文保障工作的日益發(fā)展,對軍事氣象水文保障的實時性、精確性和綜合性的要求越來越高。保障水平的高低很大程度上依賴于氣象水文裝備質(zhì)量的優(yōu)劣,而軟件在氣象水文裝備系統(tǒng)的研發(fā)過程中起著神經(jīng)中樞的作用,軟件質(zhì)量的好壞關(guān)系到氣象水文裝備的效能能否有效發(fā)揮,關(guān)系到軍隊戰(zhàn)時能否充分應(yīng)用氣象水文條件。因此根據(jù)氣象水文軟件的特點研發(fā)高質(zhì)量的軟件是實施正確的作戰(zhàn)指揮,取得作戰(zhàn)勝利的重要前提之一。
1 軍事氣象水文軟件特點
(1)政治性。軍事氣象水文軟件的質(zhì)量關(guān)乎國家軍隊的根本利益,這就要求軟件研發(fā)人員要始終保持高度的政治敏感性和覺悟,并保持高度的事業(yè)心和責任心。
(2)秘密性。軍事氣象水文軟件是整套裝備系統(tǒng)的神經(jīng)樞紐,關(guān)乎到國家的安全,必須具有一定的保密等級。
(3)及時性。普通軟件的研發(fā)往往因為一些意外情況導(dǎo)致項目進程的滯后,但是由于軍事氣象水文軟件的軍事屬性,要求軟件的研發(fā)必須按時交付。
(4)精確性。軍事氣象水文軟件是戰(zhàn)時軍隊了解、運用氣象水文條件的工具,必須能為軍隊提供具有代表性、精確性的氣象水文資料,不能有絲毫的差錯。
軍事氣象水文軟件的特殊性對軟件的研發(fā)提出了更高的要求。目前,氣象水文軟件在研發(fā)過程中存在諸多問題,導(dǎo)致軟件的質(zhì)量不盡人意,特別是與硬件的可靠性相比,軟件的可靠性有待提升。
2 軍事氣象水文軟件開發(fā)中存在的問題
(1)軟件開發(fā)進度難以控制。在軍事氣象水文軟件開發(fā)過程中,經(jīng)常出現(xiàn)資源匱乏、人員流失、資金不到位等情況,導(dǎo)致軟件開發(fā)難以按計劃實施,往往后期為了能按時交付不顧質(zhì)量好壞而加快進度。
(2)軟件研發(fā)成本日益增長。隨著計算機市場化和民用化進程的加速,軟件開發(fā)成本不斷增加。在硬件成本不斷降低的情況下軟件成本在整套裝備系統(tǒng)中所占的比例越來越大,通過犧牲軟件質(zhì)量來縮減成本的情況日趨明顯。
(3)軟件交付后難以維護。軟件交付并不意味著開發(fā)工作結(jié)束,軟件本身隱含的一些錯誤只會在某些特定的情況下才暴露出來。隨著時間的推移,用戶需求及軟件的運行環(huán)境也會發(fā)生變化,從而導(dǎo)致軟件的可靠性大大降低。
上述問題是軍事氣象水文軟件研發(fā)中普遍存在的現(xiàn)象,亟待改進。要解決上述問題,最根本的一條是必須“樹立軟件產(chǎn)品質(zhì)量觀念”和“用軟件工程方法組織軟件開發(fā)”[1],并按照軟件工程方法的基本原則不斷改進軟件開發(fā)過程。目前,國內(nèi)控制軟件質(zhì)量比較常用的方法是采用質(zhì)量管理體系。
3 軍內(nèi)軟件質(zhì)量控制方法及其缺陷
目前,軍用軟件研制質(zhì)量控制模型源于GJB 9001B《質(zhì)量管理體系要求》,該標準明確了軍用軟件立項論證、設(shè)計、研制、生產(chǎn)、試驗、審查、維修的質(zhì)量管理體系,并為實施質(zhì)量管理體系的評定提供了依據(jù),推動了軍工產(chǎn)品質(zhì)量管理體系建設(shè)的迅速發(fā)展,促進了軍用產(chǎn)品質(zhì)量與可靠性水平的提高。對于軟件的設(shè)計和開發(fā),GJB 9001B強調(diào)“按軟件工程方法,設(shè)計和開發(fā)計算機軟件”[2]。通過強調(diào)過程,將組織內(nèi)所有的工作定義為明確的過程進行質(zhì)量保證和評估,使影響軟件產(chǎn)品質(zhì)量的因素在產(chǎn)品形成的全過程中始終處于受控狀態(tài),以此來提高其使用的可靠性、安全性,將持續(xù)改進作為提高質(zhì)量管理水平的重要手段[3]。
僅依據(jù)GJB 9001B《質(zhì)量管理體系要求》模型來控制軍用軟件的質(zhì)量存在一定缺陷:①GJB 9001B主要針對硬件、軟件、流程和服務(wù)類產(chǎn)品,是由制造業(yè)的質(zhì)量理論和實踐總結(jié)發(fā)展而成,不可能針對軟件產(chǎn)品及其制造的特點展開說明,尤其是在型號不斷改進,裝備狀態(tài)的多次更改之后,對軍用軟件的配置管理等更高層次的問題缺乏行之有效的指導(dǎo);②各組織在實施該標準時沒有引起足夠的重視,認為不發(fā)生安全事故就萬事大吉,對質(zhì)量沒有提出更高的要求,忽略了該標準反復(fù)強調(diào)的“必須持續(xù)進行質(zhì)量改進”[2],研制單位缺乏一套適用的質(zhì)量管理體系;③GJB 9001B評估的目的是認證組織是否建立了有效的質(zhì)量管理體系,給出簡明、科學(xué)、原則性的要求,評估結(jié)論只是合格與否,無法找出軟件研制過程中的強項和弱項,不能就軟件開發(fā)過程給出詳細描述,對能力提高不能指出簡明科學(xué)途徑。
軍事氣象水文軟件質(zhì)量控制中應(yīng)用質(zhì)量管理體系,采用過程模式,將軟件質(zhì)量的持續(xù)改進作為控制軟件質(zhì)量的重要手段,具有深遠意義。但僅運用該模式難以使軟件質(zhì)量控制有質(zhì)的提高,提出一種新的軍事氣象水文軟件質(zhì)量控制方法勢在必行。
4 基于CMMI的軍事氣象水文軟件質(zhì)量控制方法
4.1 CMMI軟件質(zhì)量控制思想
CMMI(Capability Maturity Model Integration)即能力成熟度集成模型,由美國卡內(nèi)基·梅隆大學(xué)的軟件工程研究所提出[4]。它采用了質(zhì)量管理體系的過程管理思想,將軟件開發(fā)視為過程,對軟件開發(fā)和維護過程進行監(jiān)控和研究,使其更加科學(xué)化、標準化,使企業(yè)能夠更好地實現(xiàn)商業(yè)目標;從集成產(chǎn)品與過程發(fā)展的角度出發(fā),建立起包含健全系統(tǒng)開發(fā)原則的軟件過程改進模型。
CMMI側(cè)重軟件過程開發(fā)的管理及軟件工程能力改進與評估[5],它的本質(zhì)是通過軟件研制過程中關(guān)鍵過程域的精確定義,使軟件研制從一個不確定的“黑箱”操作過程,變成一個各步驟可視化、偏差可隨時控制的“透明”操作過程[6]。消除不同模型之間的不一致和重復(fù),以系統(tǒng)和一致的框架來指導(dǎo)組織改善軟件開發(fā)過程,降低成本。因此,它被廣泛應(yīng)用于軟件開發(fā)能力評價并幫助組織改善軟件開發(fā)質(zhì)量,是目前國際上最流行、最實用的軟件生產(chǎn)過程標準和軟件企業(yè)成熟度等級認證標準。
4.2 基于CMMI的軍事氣象水文軟件質(zhì)量控制模型
軍事氣象水文軟件開發(fā)程序一般分為問題定義、需求分析、總體設(shè)計、詳細設(shè)計、程序編碼和軟件測試與評估6個步驟。本文將CMMI中關(guān)鍵過程域與軍事氣象水文軟件開發(fā)的一般流程相結(jié)合,提出一種新的質(zhì)量控制模型(見圖1)。
圖1 基于CMMI的軍事氣象水文軟件質(zhì)量控制模型
基于該模型,軍事氣象水文軟件質(zhì)量監(jiān)控過程如下:
(1)問題定義。本階段主要任務(wù)是對軟件需求進行論證,以確定軟件開發(fā)的目標及可行性。
(2)需求分析。本階段通過需求管理和需求開發(fā)兩個關(guān)鍵過程域?qū)浖枰獙崿F(xiàn)的功能進行分析,選定適當?shù)囊?guī)范,通過與客戶交流制定軟件質(zhì)量大綱實施計劃。在軟件開發(fā)全過程中進行需求跟蹤和需求驗證,將跟蹤和驗證的結(jié)果及時反饋給客戶,確保客戶需求得到滿足。
(3)總體設(shè)計。根據(jù)GJB 9001B的總體要求,通過項目策劃對軟件項目進行整體規(guī)劃??傮w設(shè)計是軟件項目管理的基礎(chǔ),沒有切合實際的計劃就不可能有效進行項目管理。質(zhì)量控制的任務(wù)是通過估計軟件產(chǎn)品的規(guī)模及所需要的資源,制定時間表,評估軟件風(fēng)險;根據(jù)客戶需求、GJB 9001B以及CMMI總體要求編寫軟件總體設(shè)計說明。
(4)詳細設(shè)計。通過配置管理、過程與產(chǎn)品質(zhì)量保證、項目監(jiān)督與控制3個關(guān)鍵過程域?qū)椖窟M行全方位設(shè)計。對項目進行全程監(jiān)督和質(zhì)量控制,實現(xiàn)項目進展可視化。更改配置必須遵循軟件更改規(guī)范,更改后必須進行測試和驗證;及時發(fā)現(xiàn)項目計劃偏離,并采取有效措施進行調(diào)整,并最終形成相應(yīng)的文檔;質(zhì)量管理部門通過評審過程文檔,依據(jù)CMMI識別軟件開發(fā)過程中的強項和弱項,針對性地開展工作,保障軟件質(zhì)量。
(5)程序編碼。將軟件設(shè)計的結(jié)果轉(zhuǎn)化為計算機可運行的程序代碼,進行程序靜態(tài)分析和單元測試,并編寫軟件使用說明。嚴格軟件配置管理,確保編碼中所有工程活動在CMMI的框架下進行。根據(jù)程序單元測試規(guī)程進行源程序走查和單元測試,測試完畢后提交測試報告。
(6)軟件測試與評估。通過測量分析與驗證兩個關(guān)鍵過程域檢驗軟件能否滿足客戶需求。通過文檔審閱、代碼走查、數(shù)據(jù)整合和驗證進行階段評審,生成評審結(jié)果草案;通過階段性文檔審閱,數(shù)據(jù)整合和驗證檢查本階段的工作是否滿足質(zhì)量要求和技術(shù)指標,進而作出決策是否可以進入下一階段。軟件研制成功后,通過內(nèi)部測試和第三方測試對軟件進行質(zhì)量驗證,根據(jù)測試結(jié)果查找缺陷;根據(jù)CMMI評判的等級審閱評審結(jié)果草案,采取措施糾正、完善,直到客戶滿意為止。
(7)持續(xù)過程改進。根據(jù)評估報告、客戶需求及軟件交付后運行的實際情況,提出持續(xù)改進建議并制定相應(yīng)計劃。通過加強軟件配置管理,嚴格控制軟件更改,加強更改后的回歸測試和二次評審,使軟件質(zhì)量缺陷得到系統(tǒng)解決。
5 結(jié)語
軍事氣象水文軟件的研制應(yīng)該牢固樹立“質(zhì)量第一”的觀點。在信息化高速發(fā)展的今天,只有加強質(zhì)量管理,才能保證軍事氣象水文軟件質(zhì)量可靠性,提高軍事氣象保障的精確度和效率。本模型將CMMI關(guān)鍵過程域的理念融入到軍事氣象水文軟件開發(fā)常規(guī)流程中,通過軟件開發(fā)過程管理,提升軍事氣象水文軟件的質(zhì)量及服務(wù)能力,進而提高武器裝備的質(zhì)量。