陳秀芬 劉飛 許征



摘要:國防和軍隊現代化建設中,軟件在指揮調度、作戰支援、武器控制、仿真模擬和軍事信息管理中發揮重要作用;傳統裝備系統的研制一直圍繞硬件開展,對裝備數字化、信息化、智能化沒有足夠的認識,嚴重影響裝備以及配套軟件的質量和性能的發揮[1];軍用軟件已經成為比硬件更為重要、地位和作用更為顯著、能夠直接產生戰斗力的軍用“產品”。GJB5000A二級可有效規范軟件研制過程,提升軟件產品質量。文章結合本單位現狀,根據軟件研制特點,在項目研發過程中實踐軟件工程化管理,積累軟件過程管理的相關經驗;對軟件研制全生命周期實行有效的監督和過程質量把控,在實施軟件過程的持續改進中發揮指導作用。
關鍵詞:軍用軟件; GJB5000A; 二級
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)21-0108-03
開放科學(資源服務)標識碼(OSID):
1? 引言
在軍工企業內,隨著GJB5000A-2008《軍用軟件研制能力成熟度模型》規范的應用推廣和實施,針對軟件產品研制過程的工程化,要求日趨嚴謹和規范化。
按照GJB5000A-2008的成熟度等級的劃分:共包括5個層次:一級為初始級, 二級為已管理級, 三級為已定義級, 四級為定量管理級, 五級為優化級。隨著成熟度等級的提高,軟件研制能力隨之提高,標志著軟件項目過程改進水平也越高。
通過實施GJB5000A二級,可以達到軟件過程改進的目標[2]:(1)建立統一、標準的軟件研制過程;(2)確保按期交付軟件產品,提高軟件產品質量;(3)建立對軟件研制過程管理、監督和持續改進的機制。
2? GJB5000A 二級概述
GJB5000A二級包含7個過程域:需求管理過程域(ReqM)、項目策劃過程域(PP)、項目監控過程域(PMC)、測量與分析過程域(MA) 、配置管理過程域(CM)、過程和產品質量保證過程域(PPQA)以及供方協議管理過程域(SAM)。
需求管理過程域(ReqM)包括對需求的理解與承諾、跟蹤需求變更、標識研制過程中的需求不一致,并采取相應措施,保證軟件產品能夠滿足用戶需求;項目策劃過程域(PP)負責制定項目計劃,策劃軟件研制全過程,當項目實際進展偏離原定計劃時,需要及時采取糾正措施加以修正;項目監控過程域(PMC):根據項目計劃的監控頻率對項目研制過程中成本、任務數、工作量、進度及其與計劃的偏差等進行監控,掌握項目的進展情況,當實際運行與計劃發生顯著偏離時,及時采取適當措施進行糾偏;測量與分析過程域(MA),包括根據單位/公司的測量目標確定項目的測量項,結合項目的研制過程制定測量分析計劃、進行測量數據的采集、對測量結果進行分析,為項目的軟件過程管理提供數據支撐并積累歷史數據供后續項目策劃提供數據參考;配置管理過程域(CM)主要實現對項目過程文檔和工作產品的版本控制、變更和基線發布等控制。過程和產品質量保證過程域(PPQA),覆蓋項目的整個生命周期,對工作產品和過程進行檢查,反饋過程和工作產品的不符合項,來保障軟件質量。供方協議管理過程域(SAM)主要針對項目中涉及的軟件外協及采購的過程活動,包括外協和采購的管理與監督辦法。對于不涉及外協和軟件外包的,供方協議管理過程可不執行。
3? 軟件的生命周期模型
軟件研制過程如圖1所示,貫穿于項目研制階段,結合本單位軟件應用背景,軟件生命周期模型有三類:瀑布模型、簡化瀑布模型、迭代模型。
瀑布模型針對大規模顯控軟件開發。對軟件研制過程進行了全覆蓋,階段不允許合并,過程不可裁剪。
簡化瀑布模型針對中小規模嵌入式軟件開發。對軟件研制過程進行了全覆蓋,允許階段合并,過程可裁剪。
迭代模型針對既有軟件的更新與迭代過程,重點管理軟件的更新迭代。
體系文件詳細描述各周期模型的活動要求、角色分工、輸入輸出的工作產品等相關內容。
4? 以簡化瀑布模型為例介紹軟件研制過程
結合本單位的軟件開發的實際情況,簡化瀑布模型規定,將軟件研制過程分為4個階段,包括:系統分析與設計階段、軟件需求分析階段、軟件設計實現階段和軟件測試驗收階段。
4.1? 系統分析與設計階段
系統分析與設計階段輸入為項目的技術協議/項目研制任務書/研制總要求。項目負責人組織軟件組成員進行輸入文件的討論會,完成對軟件需求的理解并形成會議紀要,根據討論結果,項目負責人編制《軟件研制任務書》。
項目負責人負責組織召開項目的啟動會,確定相關軟件人員的角色分工,并針對《軟件研制任務書》,對軟件任務進行討論與分析;會議由項目負責人組織,相關軟件項目成員、配置管理人員、質量保證人員及利益相關方參加。會議過程接受質量保證人員的過程監督,并由項目負責人形成會議紀要。
軟件項目組成員進行單/雙周例會(結合軟件研發周期和復雜度等實際情況選擇)推進項目進展,并形成會議紀要;配置管理人員進行三庫管理,負責配置項出入庫、變更與基線的發布;質量保證人員對工作產品和過程進行監督檢查,測試測量人員跟進研制過程進行數據采集與測量。
該階段需要項目負責人組織編制《軟件研制任務書》,軟件負責人組織編制《軟件開發計劃》(以及所體系文件要求,需要包含以下內容:WBS分解、軟件估計結果表、雙向跟蹤矩陣表、需求狀態表、軟件進度表、軟件風險識別與跟蹤表等);配置管理人員負責編制《軟件配置管理計劃》,用于指導軟件的配置管理過程;質量保證人員負責編制《軟件質量保證計劃》,作為開展軟件研制過程中質量保證工作依據。部門內對工作產品(《軟件研制任務書》《軟件開發計劃》《軟件配置管理計劃》《軟件質量保證計劃》)組織進行評審。
4.2? 需求分析階段
需求分析階段,由軟件負責人編制《需求規格說明書》。
部門對《需求規格說明書》評審。
需求分析階段結束時組織召開里程碑會議,形成會議紀要。
4.3? 設計實現階段
軟件設計實現階段,由軟件開發人員編制《軟件設計說明》。軟件負責人組織部門進行《軟件設計說明》評審。
軟件開發人員依據《軟件設計說明》進行編碼,實現文件中的設計過程。
設計實現階段結束時組織階段會議。
4.4 測試驗收階段
測試與驗收階段,由軟件測試人員編制《CSCI合格性測試計劃》《CSCI合格性測試說明》,并對軟件代碼進行測試,形成《CSCI合格性測試報告》。測試中發現的問題,由軟件測試人員反饋給軟件研發人員,研發人員進行代碼修改,并提交軟件測試人員進行回歸測試,直至問題閉環解決。進入軟件驗收階段,軟件負責人編制《軟件研制總結報告》《軟件版本說明》《軟件用戶手冊》(適用于上位機軟件)/《固件保障手冊》(適用于嵌入式軟件);配置管理員編制《軟件配置管理報告》,質量保證人員編制《軟件質量保證報告》。
測試與驗收階段要對工作產品進行評審,該階段結束時組織召開里程碑會議,并形成會議紀要。
評審會要求:形成評審報告并提出評審意見,會后相關人員需要根據建議進行修改閉環落實問題,并將最終版本入受控庫;《軟件研制任務書》作為功能基線進行發布。質量管理人員參會前對工作產品進行審查,參會進行過程監督,填寫《評審問題跟蹤匯總表》《不符合項匯總表》,并跟蹤問題的解決與閉環。
配置管理、質量保證的相關操作流程需要參考本單位的配置管理規程和質量保證管理規程。
5 GJB 5000A 二級在某型號項目中的應用
5.1 生命周期模型選擇
根據某型號項目軟件為嵌入式軟件,代碼規模在2萬行以下,開發周期為2~3個月的特點,選擇使用簡化瀑布模型。
該項目軟件分為3個配置項,運行的主芯片分別為FPGA(1個)、DSP(2個)。
5.2 工作產品輸出
開發的四個階段,共出具17份相關技術文件,如表1所示。
除技術文檔外,還需要以下過程文件的編制。
系統分析與設計階段立項階段需要編制的過程文件,后需在軟件研制階段進行更新維護:1)《軟件進度表》;2)《軟件風險管理表》;3)《需求跟蹤矩陣》;4)《需求狀態表》。
軟件需求分析階段需要編制文件,后需在軟件研制階段進行更新維護:
1)《問題跟蹤匯總表》;2)計劃/需求變更時,填寫《變更申請單》,進行計劃/需求變更。
5.3 過程管理類文檔輸出
該項目軟件研制周期持續了3個月,按雙周例會進行項目推進,項目組共組織召開了6次雙周例會,1次階段會議,2個里程碑會議(需求里程碑、測試與驗收里程碑)。會議需要留存了會議紀要及參會名單簽字,評審會后出具評審報告和評審意見,由評審專家簽字確認。
質量保證人員全程參與軟件研制過程:進行覆蓋全過程(會議、評審會等)的審核與所有文件的符合性檢查,并完成相應《過程、工作產品質量檢查單》;有不符合項的完成《不符合項匯總表》與《軟件不符合項報告》。
配置管理員進行相關文檔的物理配置審核,維護管理三庫,登記出入庫,并在相應時機進行基線發布以及變更。
6 GJB 5000A 項目管理實踐過程總結與改進方向
第一,體系文件的本地化,根據試點項目的試運行,需要不斷完善體系文件,使體系文件與實際開發過程相契合,切實發揮體系文件的指導作用,真正提高軟件研發質量[6]。
第二,軟件項目組成員需要持續加深對GJB 5000A 二級標準的理解并提升認識。通過體系培訓、對角色實行針對性培訓并加強自學等途徑使軟件項目組成員能夠充分正確理解和認識體系,尤其在GJB5000A二級試運行階段,統一軟件項目組成員對標準的理解和認識,并對體系文件進行優化改進。
第三,建立完善的GJB 5000A 組織機構。該組織機構需要覆蓋軟件全生命周期研制過程;且人員技術水平要符合本單位5000A二級體系中對于角色分工的專業要求。
第四,選擇合適的輔助軟件,在軟件研制管理過程中,質量管理的過程檢查與表單填寫工作量很大,合適的輔助軟件可以大大提高工作效率;并不斷豐富相關檢查單和積累工作經驗,確保軟件管理過程的持續改進。
第五,質量管理過程的嚴格控制。質量保證人員需要對軟件研制過程和工作產品進行監督和檢查,貫穿于整個項目的研制過程。質量保證人員在5000A二級實施過程中要結合具體項目實施,持續優化檢查工具和檢查方法,對工作產品和研制過程才能起到真正的監督和檢查作用,最終實現軟件研制能力的提升。
參考文獻:
[1] 黃震宇.軍用軟件工程[M].北京:電子工業出版社,2020.
[2] GJB 5000A二級體系文件.中國電子科技集團公司第十一研究所,2016.
[3] 張紅文,彭興慧.GJB5000A在航天企業中的本地化探索和過程改進實踐[J].中國質量,2014(10):119-120.
[4] 蘇娟,張利娜,康冰,等.基于GJB 5000A的軍用型號軟件需求管理研究[J].中國管理信息化,2015(18):167-168.
[5] 王偉敏.軟件工程化管理方法實踐[J].電子質量,2017(10):58-62.
[6] 孫舟,楊玉飛,錢宏文,等.基于GJB 5000A的軟件管理體系研究[J].信息技術與標準化,2019(4):56-58,63.
【通聯編輯:唐一東】