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