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