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