楊帥 陶冠時 萬柳梅
軍用軟件能力成熟度模型分為五個等級,每一等級是實現下一個等級的基礎,實現分級遞進。一級為初始級,二級為規(guī)范級,三級為全面級,四級為量化級,五級為卓越級[1]。
二級主要特征為:已建立過程改進組織機構和過程規(guī)范,逐步積累組織資產;基于估計和項目特點,制定和維護項目計劃,獲取、開發(fā)和管理項目的需求,并實施驗證與確認;通過開展配置管理、質量保證、測量分析活動,監(jiān)督其計劃的執(zhí)行,確保項目可控。該等級的組織具備在同類項目中復制成功經驗的能力[2]。
但實施過程中往往存在管理效率較低、管理成本過高等問題,如何在研制周期短、需求變化頻繁的情況下保證進度和質量,是軍用軟件研發(fā)所面臨的重要挑戰(zhàn)[3]。
軟件生命周期模型的選擇取決于項目的需求、規(guī)模和特點。常見的模型有瀑布模型、簡化瀑布模型、增量模型、敏捷模型。
瀑布模型是較為傳統(tǒng)的一種軟件生命周期模型。它將軟件開發(fā)過程劃分為一系列線性階段,主要包括需求分析階段、系統(tǒng)設計階段、編碼階段、測試階段和維護階段。每個階段在上一個階段完成后開始,并且很少會返回前一階段,適用于需求穩(wěn)定、項目規(guī)模和復雜度較小的項目。
簡化瀑布模型是對瀑布模型的一種變體,它仍然包含需求分析、設計、編碼、測試和維護等階段,但允許某些階段的合并和過程的裁剪。適用于對瀑布模型進行適度簡化的項目,以提高開發(fā)效率和靈活性。
增量模型將軟件開發(fā)過程劃分為多個小型的版本或增量。每個增量都包含完整的開發(fā)階段,從需求分析到維護。每個增量都是前一個增量的改進和擴展。增量模型適用于大型項目,可以提供早期的可用功能,并在后續(xù)增量中逐步完善系統(tǒng)。
敏捷模型是一組基于迭代和自適應開發(fā)原則的方法。它強調團隊合作、快速響應變化和持續(xù)交付價值。敏捷模型包括多種方法,如Scrum 和Kanban,通過短周期的迭代開發(fā)交付可用軟件功能。敏捷模型適用于需要靈活性和快速交付的項目[4]。
根據此軟件實際開發(fā)應用情況,選擇簡化瀑布模型,劃分為項目策劃、需求開發(fā)與管理、軟件設計、軟件實現、軟件單元集成與測試、軟件配置項測試、軟件驗收與交付共7 個階段。
項目QA(質量保證)負責對項目各個質量環(huán)節(jié)進行全面的監(jiān)督和檢查。包括對所有文件的符合性進行檢查,完成相應的《過程、工作產品質量檢查單》,確保項目文檔和工作產品符合相關標準和規(guī)范。如發(fā)現不符合項,需編制《不符合項跟蹤表》,并形成《軟件質量保證階段報告》。
項目CM(配置管理)主要負責項目文檔的物理配置審核工作。包括維護管理開發(fā)庫、受控庫和存儲庫,登記文件的出入庫記錄,并進行基線發(fā)布和基線變更操作。通過配置管理員的工作,可以確保項目文檔的版本管理和變更控制得以有效實施,為項目的順利進行提供了良好的基礎。
本階段主要為項目實施制定合理的工作計劃,目的為使軟件開發(fā)人員及項目管理人員對軟件項目策劃過程有充分的了解。本階段項目管理人員制定項目計劃書及執(zhí)行相關策劃活動,增加項目實現目標的可能性。項目策劃階段包含需要進行的活動、質量、資源、能力及其他要求,策劃過程貫穿項目的整個生命周期。本項目策劃階段包含5 項內容,分別為項目啟動、獲取用戶需求、軟件項目策劃、審核項目策劃過程、項目計劃評審。
在此階段項目負責人根據用戶需求編制《軟件研制任務書》,項目QA 根據《軟件質量保證程序》《軟件不符合項處理規(guī)程》對《軟件研制任務書》進行審核,項目CM 將評審通過的《軟件研制任務書》入受控庫、建立功能基線。依據《軟件研制任務書》,項目負責人編制《軟件開發(fā)計劃》、項目CM 編制《軟件配置管理計劃》、項目QA 編制《軟件質量保證計劃》形成三大計劃。
本階段目的為開發(fā)、維護和管理需求,與相關方對需求達成一致,確保顧客的需求和期望得到滿足。
在此階段,項目負責人組織項目組成員編寫《軟件需求規(guī)格說明》,項目QA 根據《軟件質量保證程序》《軟件不符合項處理規(guī)程》對《軟件需求規(guī)格說明》進行審核,項目CM 將通過評審的《軟件需求規(guī)格說明》入受控庫、建立分配基線。
在軟件設計階段,軟件開發(fā)人員完成《軟件設計說明》編制工作。并完成評審及修改意見閉環(huán),項目CM 將評審并修改后的《軟件設計說明》入受控庫、建立設計基線。
本階段軟件開發(fā)人員依據受控庫中的《軟件設計說明》完成軟件代碼編寫工作,實現《軟件設計說明》文件中的設計過程。本階段結束時,項目負責人組織階段會議,團隊成員共同回顧和評估工作成果,為后續(xù)工作奠定基礎。
本階段軟件測試人員完成《軟件單元測試計劃和說明》編制,并執(zhí)行軟件單元和集成測試及軟件集成回歸測試。
本階段軟件測試人員完成《軟件配置項測試計劃和說明》編制,并執(zhí)行軟件配置項測試。
本階段項目團隊需要完成一系列文檔編制和審核工作。由項目CM 完成《軟件配置管理報告》,項目QA 完成《軟件質量保證報告》,項目負責人完成《軟件用戶手冊》《軟件研制總結報告》和《軟件驗收報告》。
項目QA 在該階段需要審核《軟件質量保證報告》《軟件配置管理報告》《軟件研制總結報告》和《軟件驗收報告》,確保報告內容符合相關標準和要求。
此外,本階段結束時,組織召開項目總結會,對整個階段的工作進行總結和評估,為后續(xù)工作提供經驗教訓和改進建議。這一環(huán)節(jié)對于項目的進展和成果具有重要意義,能夠促進團隊的持續(xù)發(fā)展和提升工作效率。
本軟件開發(fā)過程中共輸出文件21 份,具體如下:項目策劃階段完成軟件研制任務書、軟件開發(fā)計劃、軟件配置管理計劃、軟件質量保證計劃;需求開發(fā)與管理階段完成軟件需求規(guī)格說明;軟件設計階段完成軟件設計說明;軟件實現階段完成源代碼;軟件單元集成與測試階段完成單元集成測試計劃、單元集成測試說明、單元集成測試報告;軟件配置項測試階段完成軟件配置項測試計劃、軟件配置項測試說明、軟件配置項測試報告;軟件驗收與交付階段完成軟件檢驗規(guī)程、源代碼和可執(zhí)行程序、軟件質量保證報告。
除技術文檔外,還需編制以下過程管理文件:(1)《需求跟蹤表》;(2)《軟件測量分析報告》;(3)《項目周或雙周報告》。
通過此項目實踐,對GJB5000B 二級標準特點總結如下:
GJB5000B 二級要求全面的測試和驗證過程,有助于確保軍用軟件的質量和可靠性。通過嚴格的測試,可以發(fā)現和修復潛在的缺陷和問題,減少軟件在實際使用中出現故障的可能性。
GJB5000B 二級對軟件開發(fā)過程進行規(guī)范,要求詳細的文檔記錄和技術資料,有助于提高軟件開發(fā)的可追溯性和可管理性。這有助于團隊合作、項目管理和后續(xù)維護工作。
由于GJB5000B 二級要求的嚴格性和全面性,軟件開發(fā)和評估過程可能需要更多的時間和資源投入。這可能導致開發(fā)成本的增加和項目進度的延遲。
綜合而言,GJB5000B 二級在軍用軟件研制中的應用有助于提高軟件的安全性和可靠性,確保軍用軟件符合軍事需求和標準要求。然而,應用該標準也需要權衡成本和時間因素,并在實際項目中進行適度的調整和定制,以滿足具體項目的需求。