梁琦 王小妮 錢宏文



摘要:本文根據GJB5000A-2008的要求,再結合本單位的軟件開發過程,介紹了一種軟件管理過程,并對每個分過程的工作內容和工作流程進行了詳細介紹。本文可用于指導軟件項目實施GJB5000A管理,實施基本軟件工程過程,規范軟件開發,不斷提高軟件工程化水平。
關鍵詞:GJB5000A-2008;軟件管理過程;軟件開發
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2020)08-0222-07
0 引言
近十年,由于軍用設備集成度和復雜度的快速提高,軟件規模和關鍵等級也隨之快速提高,在此情況下中國人民解放軍總裝備部為保證軍用軟件的質量和研制進度可控,對軍用軟件研制過程管理提出了更高的要求,要求從事軍用軟件研制的單位必須至少通過GJB5000A-2008的二級認證。因此各軍工企業都高度重視GJB5000A的貫徹實施,目前一部分單位已經通過二級、三級,甚至部分單位正在準備通過四級認證。
1 GJB5000A簡介
GJB5000A(軍用軟件研制能力成熟度模型)將組織的軟件研制能力成熟度分為5個等級(如圖1),每一等級構成了前進中過程改進基礎的一個層次,是實現下一個成熟度等級的基礎。5個等級分別為:1級為初始級,2級為已管理級,3級為已定義級,4級為已定量管理級,5級為優化級。
每個成熟度等級由若干過程域組成,這幾個過程域共同形成一種軟件過程能力。GJB5000A二級共有7個過程域,分別為:配置管理過程域、測量與分析過程域、項目監控過程域、項目策劃過程域、質量保證過程域、需求管理過程域、供方協議管理過程域[1]。
2 軟件過程管理
實施軟件過程改進時,將GJB5000A標準的要求與我單位軟件開發過程結合,形成如圖2所示的軟件過程模型,該模型將GJB5000A二級中的項目策劃過程域與項目監控過程域合并為項目管理過程,增加軟件開發過程。
軟件過程模型包括三部分:項目管理過程、工程過程、支持過程。工程過程是整個模型的核心。
項目管理類過程覆蓋與項目策劃、監督和控制有關的項目管理活動,包括制定和維護項目計劃、建立和維護承諾、對照計劃監督進展、采取糾正措施等有關活動。通過比較項目狀態與項目計劃來確定進展情況。當實際狀態顯著偏離項目計劃時,采取適當的糾正措施。
工程類過程包括軟件開發過程與需求管理過程,它描述軟件開發過程中的所有工程活動,包括系統分析和設計、軟件需求分析、軟件設計、軟件實現、軟件測試、軟件驗收與交付等。
支持類過程包含配置管理過程、軟件質量保證過程、測量與分析過程,是用于支持產品開發和維護的活動。
3 軟件管理分過程介紹
3.1 軟件項目管理過程
本過程包括項目策劃、項目監控、風險管理、利益相關方管理等多項內容。項目策劃包括制定軟件開發計劃、軟件配置管理計劃、軟件質量保證計劃以及各分項計劃,如利益相關方計劃、資源管理計劃、培訓計劃、風險管理計劃等并維護計劃[2]。策劃工作以產品和項目需求為出發點,所涉及的工作包括協商各項承諾、估計工作量和擬訂進度。
針對項目計劃進行監督和控制,定期(一般每周)、項目階段(含里程碑)和項目結束時對項目進行監督和控制,當發現與項目計劃的嚴重偏離,采取糾正措施。
具體過程活動見圖3。
3.2 軟件質量保證過程
軟件質量保證過程通過在項目整個生存期,向項目成員和領導提供對過程和工作產品的不符合項反饋,來保障交付高質量的產品和服務。
軟件質量保證過程涉及三個方面:按照項目初期制定的軟件質量保證計劃,對照各種檢查單客觀地審核所實施的過程、工作產品;標識并反饋不符合項問題,確保不符合項得到解決;向項目成員和各級領導提供關于質量保證活動結果的反饋,同時,也要接受所SQA組的審核。
具體過程活動見圖4。
3.3 配置管理過程
配置管理包括對項目過程文檔和工作產品的版本、變更和發布的控制。它側重于對工作產品(包括交付的系統)的管理性的和技術性的內容的嚴格控制。
在軟件項目的初期階段,配置管理員開始策劃配置管理活動,配置管理員和配置管理組建立配置管理系統,并且隨著基線的開發不斷把基線包容在內[3]。通過配置管理的配置控制、變更管理和配置審核等功能,對配置管理系統中的軟件工作產品或軟件產品的發布和基線的變更實施系統性的控制和監督。
具體過程活動見圖5。
3.4 測量與分析過程
測量與分析包括制定測量分析計劃、采集測量數據、分析測量結果等內容。具體工作流程如下:
(1)根據項目的目標和組織的測量要求標識信息需要并設定信息需要的優先級;(2)根據項目信息需要確定測量集,用清晰的定義描述測量的構造;(3)將測量分析方法集成到項目的技術和管理過程中,并形成測量分析計劃;(4)按測量分析計劃收集數據;(5)將收集到的測量數據轉換成指示器的值,根據指示器的值分析當前項目的狀態;(6)測量分析人員利用測量分析報告向所有利益相關方報告測量分析活動的結果。
具體過程活動見圖6。
3.5 需求管理過程
需求管理包括制定并維護軟件研制任務書等用戶需求。該需求是估計、策劃、執行和跟蹤整個軟件生存周期內軟件項目活動的依據。
需求管理過程主要分為需求評審、需求跟蹤和需求變更控制等活動。需求評審是在項目組和相關人員之間獲得對需求的一致理解。需求跟蹤是指利用建立的需求跟蹤矩陣,保證每個需求得到了實現,以及輔助進行變更分析,確保需求與后續工作產品之間的一致性。需求變更管理的目的是合理有效地控制并執行需求變更[4]。
具體過程活動見圖7。
3.6 軟件開發過程
軟件開發過程包含下列階段,每一個階段相對獨立:
(1)系統分析與設計;(2)軟件需求分析;(3)軟件設計;(4)軟件實現與單元測試;(5)軟件集成與測試;(6)軟件合格性測試;(7)軟件驗收與交付。
具體過程活動見圖8。
3.7 軟件外包管理過程
軟件外包管理過程是幫助項目組及本所管理人員合理地制定重大項目任務分配的決策,選擇合格的外部合作伙伴,并對外包過程進行有效的管理和控制。
軟件外包管理過程包括:
(1)確定軟件外包的范圍、工作內容;(2)選擇合格外部組織作為軟件外包承擔單位;(3)簽訂外包合同;(4)對軟件外包進行監督和控制;(5)按照合同要求驗收外包產品等。
具體過程活動見圖9。
4 結論
本文通過詳細介紹軟件管理過程中每個分過程的工作,明確了整個軟件管理的過程需要實施的工作,通過各個過程的相互協調、相互監督的工作模式,使軟件項目管理工作可以按計劃、保質量,促進度的完成軟件項目工作,持續改進了軟件過程能力,提高了軟件工程水平,不斷地提高了產品質量,滿足了軍內外顧客要求,提高生產率并且降低開發成本。
參考文獻
[1] GJB5000A-2008軍用軟件研制能力成熟度模型[Z].
[2] 魏鉅熔.GJB5000A二級軟件過程改進的應用與實踐[J].電子技術與軟件工程,2019(17):50-51.
[3] 周本芳.基于GJB5000A的軟件研發過程管理平臺的研究與應用[D].武漢:武漢輕工大學,2019.
[4] 程蓓蓓,余智勇,何玉敏.基于GJB5000A的軟件過程改進研究[J].質量與可靠性,2017(2):31-35.