楊帥 陶冠時 萬柳梅
【摘要】在軍事領(lǐng)域中,軟件在各種系統(tǒng)和裝備中具有重要作用。為了確保軍用軟件的質(zhì)量和可靠性,文章結(jié)合本單位現(xiàn)狀,強(qiáng)調(diào)對軍用軟件研制中全生命周期的監(jiān)督和過程質(zhì)量控制,總結(jié)和積累了確保軍用軟件質(zhì)量和可靠性的軟件流程管理經(jīng)驗,在項目實施過程中應(yīng)用了軟件工程化管理。通過應(yīng)用GJB5000B二級標(biāo)準(zhǔn),能夠提高軟件安全性、保證軟件高質(zhì)量交付,并規(guī)范軟件開發(fā)過程。然而,應(yīng)用該標(biāo)準(zhǔn)也需要考慮成本和時間因素,并在實踐中進(jìn)行適度調(diào)整和定制。
【關(guān)鍵詞】GJB5000B二級|軟件工程化管理|軟件開發(fā)過程
一、GJB5000B標(biāo)準(zhǔn)概述
軍用軟件能力成熟度模型分為五個等級,每一等級是實現(xiàn)下一個等級的基礎(chǔ),實現(xiàn)分級遞進(jìn)。一級為初始級,二級為規(guī)范級,三級為全面級,四級為量化級,五級為卓越級[1]。
二級主要特征為:已建立過程改進(jìn)組織機(jī)構(gòu)和過程規(guī)范,逐步積累組織資產(chǎn);基于估計和項目特點,制定和維護(hù)項目計劃,獲取、開發(fā)和管理項目的需求,并實施驗證與確認(rèn);通過開展配置管理、質(zhì)量保證、測量分析活動,監(jiān)督其計劃的執(zhí)行,確保項目可控。該等級的組織具備在同類項目中復(fù)制成功經(jīng)驗的能力[2]。
但實施過程中往往存在管理效率較低、管理成本過高等問題,如何在研制周期短、需求變化頻繁的情況下保證進(jìn)度和質(zhì)量,是軍用軟件研發(fā)所面臨的重要挑戰(zhàn)[3]。
二、軟件的生命周期模型
軟件生命周期模型的選擇取決于項目的需求、規(guī)模和特點。常見的模型有瀑布模型、簡化瀑布模型、增量模型、敏捷模型。
瀑布模型是較為傳統(tǒng)的一種軟件生命周期模型。它將軟件開發(fā)過程劃分為一系列線性階段,主要包括需求分析階段、系統(tǒng)設(shè)計階段、編碼階段、測試階段和維護(hù)階段。每個階段在上一個階段完成后開始,并且很少會返回前一階段,適用于需求穩(wěn)定、項目規(guī)模和復(fù)雜度較小的項目。
簡化瀑布模型是對瀑布模型的一種變體,它仍然包含需求分析、設(shè)計、編碼、測試和維護(hù)等階段,但允許某些階段的合并和過程的裁剪。適用于對瀑布模型進(jìn)行適度簡化的項目,以提高開發(fā)效率和靈活性。
增量模型將軟件開發(fā)過程劃分為多個小型的版本或增量。每個增量都包含完整的開發(fā)階段,從需求分析到維護(hù)。每個增量都是前一個增量的改進(jìn)和擴(kuò)展。增量模型適用于大型項目,可以提供早期的可用功能,并在后續(xù)增量中逐步完善系統(tǒng)。
敏捷模型是一組基于迭代和自適應(yīng)開發(fā)原則的方法。它強(qiáng)調(diào)團(tuán)隊合作、快速響應(yīng)變化和持續(xù)交付價值。敏捷模型包括多種方法,如Scrum和Kanban,通過短周期的迭代開發(fā)交付可用軟件功能。敏捷模型適用于需要靈活性和快速交付的項目[4]。
三、GJB5000B二級在某型號項目中的應(yīng)用
根據(jù)此軟件實際開發(fā)應(yīng)用情況,選擇簡化瀑布模型,劃分為項目策劃、需求開發(fā)與管理、軟件設(shè)計、軟件實現(xiàn)、軟件單元集成與測試、軟件配置項測試、軟件驗收與交付共7個階段。
項目QA(質(zhì)量保證)負(fù)責(zé)對項目各個質(zhì)量環(huán)節(jié)進(jìn)行全面的監(jiān)督和檢查。包括對所有文件的符合性進(jìn)行檢查,完成相應(yīng)的《過程、工作產(chǎn)品質(zhì)量檢查單》,確保項目文檔和工作產(chǎn)品符合相關(guān)標(biāo)準(zhǔn)和規(guī)范。如發(fā)現(xiàn)不符合項,需編制《不符合項跟蹤表》,并形成《軟件質(zhì)量保證階段報告》。
項目CM(配置管理)主要負(fù)責(zé)項目文檔的物理配置審核工作。包括維護(hù)管理開發(fā)庫、受控庫和存儲庫,登記文件的出入庫記錄,并進(jìn)行基線發(fā)布和基線變更操作。通過配置管理員的工作,可以確保項目文檔的版本管理和變更控制得以有效實施,為項目的順利進(jìn)行提供了良好的基礎(chǔ)。
(一)項目策劃階段
本階段主要為項目實施制定合理的工作計劃,目的為使軟件開發(fā)人員及項目管理人員對軟件項目策劃過程有充分的了解。本階段項目管理人員制定項目計劃書及執(zhí)行相關(guān)策劃活動,增加項目實現(xiàn)目標(biāo)的可能性。項目策劃階段包含需要進(jìn)行的活動、質(zhì)量、資源、能力及其他要求,策劃過程貫穿項目的整個生命周期。本項目策劃階段包含5項內(nèi)容,分別為項目啟動、獲取用戶需求、軟件項目策劃、審核項目策劃過程、項目計劃評審。
在此階段項目負(fù)責(zé)人根據(jù)用戶需求編制《軟件研制任務(wù)書》,項目QA根據(jù)《軟件質(zhì)量保證程序》《軟件不符合項處理規(guī)程》對《軟件研制任務(wù)書》進(jìn)行審核,項目CM將評審?fù)ㄟ^的《軟件研制任務(wù)書》入受控庫、建立功能基線。依據(jù)《軟件研制任務(wù)書》,項目負(fù)責(zé)人編制《軟件開發(fā)計劃》、項目CM編制《軟件配置管理計劃》、項目QA編制《軟件質(zhì)量保證計劃》形成三大計劃。
(二)需求開發(fā)與管理階段
本階段目的為開發(fā)、維護(hù)和管理需求,與相關(guān)方對需求達(dá)成一致,確保顧客的需求和期望得到滿足。
在此階段,項目負(fù)責(zé)人組織項目組成員編寫《軟件需求規(guī)格說明》,項目QA根據(jù)《軟件質(zhì)量保證程序》《軟件不符合項處理規(guī)程》對《軟件需求規(guī)格說明》進(jìn)行審核,項目CM將通過評審的《軟件需求規(guī)格說明》入受控庫、建立分配基線。
(三)軟件設(shè)計階段
在軟件設(shè)計階段,軟件開發(fā)人員完成《軟件設(shè)計說明》編制工作。并完成評審及修改意見閉環(huán),項目CM將評審并修改后的《軟件設(shè)計說明》入受控庫、建立設(shè)計基線。
(四)軟件實現(xiàn)階段
本階段軟件開發(fā)人員依據(jù)受控庫中的《軟件設(shè)計說明》完成軟件代碼編寫工作,實現(xiàn)《軟件設(shè)計說明》文件中的設(shè)計過程。本階段結(jié)束時,項目負(fù)責(zé)人組織階段會議,團(tuán)隊成員共同回顧和評估工作成果,為后續(xù)工作奠定基礎(chǔ)。
(五)軟件單元集成與測試階段
本階段軟件測試人員完成《軟件單元測試計劃和說明》編制,并執(zhí)行軟件單元和集成測試及軟件集成回歸測試。
(六)軟件配置項測試階段
本階段軟件測試人員完成《軟件配置項測試計劃和說明》編制,并執(zhí)行軟件配置項測試。
(七)軟件驗收與交付階段
本階段項目團(tuán)隊需要完成一系列文檔編制和審核工作。由項目CM完成《軟件配置管理報告》,項目QA完成《軟件質(zhì)量保證報告》,項目負(fù)責(zé)人完成《軟件用戶手冊》《軟件研制總結(jié)報告》和《軟件驗收報告》。
項目QA在該階段需要審核《軟件質(zhì)量保證報告》《軟件配置管理報告》《軟件研制總結(jié)報告》和《軟件驗收報告》,確保報告內(nèi)容符合相關(guān)標(biāo)準(zhǔn)和要求。
此外,本階段結(jié)束時,組織召開項目總結(jié)會,對整個階段的工作進(jìn)行總結(jié)和評估,為后續(xù)工作提供經(jīng)驗教訓(xùn)和改進(jìn)建議。這一環(huán)節(jié)對于項目的進(jìn)展和成果具有重要意義,能夠促進(jìn)團(tuán)隊的持續(xù)發(fā)展和提升工作效率。
(八)工作產(chǎn)品輸出
本軟件開發(fā)過程中共輸出文件21份,具體如下:項目策劃階段完成軟件研制任務(wù)書、軟件開發(fā)計劃、軟件配置管理計劃、軟件質(zhì)量保證計劃;需求開發(fā)與管理階段完成軟件需求規(guī)格說明;軟件設(shè)計階段完成軟件設(shè)計說明;軟件實現(xiàn)階段完成源代碼;軟件單元集成與測試階段完成單元集成測試計劃、單元集成測試說明、單元集成測試報告;軟件配置項測試階段完成軟件配置項測試計劃、軟件配置項測試說明、軟件配置項測試報告;軟件驗收與交付階段完成軟件檢驗規(guī)程、源代碼和可執(zhí)行程序、軟件質(zhì)量保證報告。
除技術(shù)文檔外,還需編制以下過程管理文件:(1)《需求跟蹤表》;(2)《軟件測量分析報告》;(3)《項目周或雙周報告》。
四、GJB5000B二級標(biāo)準(zhǔn)特點
通過此項目實踐,對GJB5000B二級標(biāo)準(zhǔn)特點總結(jié)如下:
(一)保證軟件質(zhì)量
GJB5000B二級要求全面的測試和驗證過程,有助于確保軍用軟件的質(zhì)量和可靠性。通過嚴(yán)格的測試,可以發(fā)現(xiàn)和修復(fù)潛在的缺陷和問題,減少軟件在實際使用中出現(xiàn)故障的可能性。
(二)規(guī)范軟件開發(fā)過程
GJB5000B二級對軟件開發(fā)過程進(jìn)行規(guī)范,要求詳細(xì)的文檔記錄和技術(shù)資料,有助于提高軟件開發(fā)的可追溯性和可管理性。這有助于團(tuán)隊合作、項目管理和后續(xù)維護(hù)工作。
(三)增加開發(fā)成本和時間
由于GJB5000B二級要求的嚴(yán)格性和全面性,軟件開發(fā)和評估過程可能需要更多的時間和資源投入。這可能導(dǎo)致開發(fā)成本的增加和項目進(jìn)度的延遲。
五、結(jié)語
綜合而言,GJB5000B二級在軍用軟件研制中的應(yīng)用有助于提高軟件的安全性和可靠性,確保軍用軟件符合軍事需求和標(biāo)準(zhǔn)要求。然而,應(yīng)用該標(biāo)準(zhǔn)也需要權(quán)衡成本和時間因素,并在實際項目中進(jìn)行適度的調(diào)整和定制,以滿足具體項目的需求。中國軍轉(zhuǎn)民
參考文獻(xiàn)
[1]中國人民解放軍總裝備部.軍用軟件能力成熟度模型:GJB5000B-2021[S].
[2]舒婷.軟件過程改進(jìn)之實踐[J].數(shù)字化用戶,2019.
[3]王偉敏.軟件工程化管理方法實踐[J].電子質(zhì)量,2017(10).
[4]李新剛.敏捷開發(fā)模式在軟件質(zhì)量管理中的應(yīng)用研究——以國產(chǎn)化系統(tǒng)某軟件為例[D].北京:北京郵電大學(xué),2020.
(作者簡介:楊帥,中船航海科技有限責(zé)任公司工程師,碩士,研究方向為信息化;陶冠時,海裝北京局副處長,碩士,研究方向為信息化;萬柳梅,中船航??萍加邢挢?zé)任公司工程師,碩士,研究方向為信息化)