本站小編為你精心準備了軟件開發管理思路參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
摘要:介紹GJB5000A三級的基本概念,并在此基礎上闡述軟件開發實施的重要過程,最后結合項目實踐提出項目實施過程中普遍存在的問題及建議.
關鍵詞:GJB5000A;過程域;軍用軟件開發;軟件項目管理
0引言
隨著國防現代化的發展,武器裝備中的計算機應用越來越廣泛而且深入,而軟件系統正在成為提升武器裝備戰斗力的新的驅動力.當前,軍用軟件的質量同硬件以及裝備質量相比,還有一定差距,軟件質量問題已成為制約武器裝備質量發展的瓶頸.為規范軍用軟件開發過程,總裝備部下發了«GJB5000A軍用軟件研制能力成熟度模型»,明確了軟件研制和維護活動中的主要軟件管理過程和工程過程的實踐,不僅適用于對組織的軟件研制能力進行評價,也適用于組織本身對軟件過程進行評估和改進.
1GJB5000A三級簡介
軍用軟件研制能力成熟度模型采用分級表示的方法,主要分為5個等級[2]:1級(或M1)為初始級,2級(或M2)為已管理級,3級(或ML3)為已定義級,4級(或ML4)為已定量管理級,5級(或ML5)為優化級.從軟件開發過程看,成熟度1級的過程通常是隨意、無序的;成熟度2級的項目已確保其過程按照方針進行策劃并執行;在成熟度等級3,過程已經得到了很好的定義和理解,并采用標準、規程、工具和方法進行了描述.標準包含22個過程域,按不同成熟度等級進行了分類,每個能力成熟度等級包含若干過程域.組織在提升成熟度等級的過程中,應使用相應成熟度等級中的過程域以及較低成熟度等級中的全部過程域,增量地實現幾個過程域相關的專用目標和共用目標.其中成熟度等級2包括配置管理、測量與分析、項目監控、項目策劃、過程和產品質量保證、需求管理、供方協議管理7個過程域,成熟度等級3則是在成熟度等級2的基礎上增加了決策分析與決定、集成項目管理、組織過程定義、組織過程焦點、組織培訓、產品集成、需求開發、風險管理、技術解決方案、確認、驗證11個過程域.
2GJB5000A三級實施中的關鍵過程
2.1需求開發與管理
需求開發的目的是挖掘并分析顧客、產品和產品部件的需求.需求管理的目的是管理項目需求,并標識這些需求與項目的計劃和工作產品之間的不一致性.具體實施步驟如下:①將用戶需求轉換為軟件系統需求,制定軟件系統規范,并通過仿真或編碼實現的方式確定軟件的關鍵技術;②將軟件系統需求分解給各個配置項,開展軟件需求分析工作,并確定最終解決方案;③對軟件需求實現方案進行詳細設計;④依據軟件設計進行代碼的編寫;⑤每個開發階段都形成相應的文檔,文檔之間采用正逆向追溯表進行需求之間的追溯.
2.2軟件項目管理
軟件項目管理的目的是在項目的全生命周期內制定和維護項目活動計劃并監控計劃的執行,確保項目的有效運作.具體實施步驟如下:①建立項目已定義過程,完成項目的工作量和進度估計,完成軟件項目計劃,并保證各個計劃之間的一致性;②依據階段計劃,在定期監控、月分析和里程碑階段進行任務分配和監控,針對出現的問題和偏差采取糾正措施;③軟件開發工作完成后,對軟件開發的各項工作進行總結分析,并編寫軟件開發總結報告。
2.3軟件分包管理
軟件分包管理的目的是保證項目按計劃讓分包方提交滿足要求的產品.具體實施步驟如下:①擬制軟件技術協議并簽訂合同,并明確與分包軟件研制工作有關的實施要求;②按照分包合同及技術協議、分包管理計劃的要求參與并管控分包合同及技術協議,以及分包管理計劃的執行;③對分包方提交的產品進行驗收,證明該產品能夠滿足軟件技術協議的要求.2.4軟件質量保證軟件質量保證的目的是使員工和管理者對過程和相關的工作產品能有客觀深入的了解.具體步驟如下:①開展軟件質量保證策劃工作,如制定«軟件質量保證計劃»;②在規定的過程評價時間點到達時,或相關事件發生時對過程活動進行評價,記錄與計劃、標準、過程、規程不符合之處;③在規定的工作產品評價時間點到達時對軟件工作產品進行評價;④記錄過程評價和工作產品評價中發現的問題,跟蹤不符合項的關閉;⑤在項目規定的報告期內總結軟件質量保證工作的開展情況.
2.5軟件配置管理
軟件配置管理的目的是利用配置標識、配置控制、配置狀態紀實和配置審核,建立和維護工作產品的完整性.具體實施步驟如下:①開展配置管理策劃工作,如建立配置管理系統和制定«軟件配置管理計劃»;②控制工作產品的入庫、出庫和變更活動,變更應采取分級管理;③在各個階段結束點開展基線審核,并建立基線;④在項目規定的報告期內總結軟件配置管理工作的開展情況.
2.6軟件過程改進
軟件過程改進主要是站在組織層面,提高整個組織的軟件過程改進能力.主要內容包括:①制定并維護年度軟件過程改進工作計劃;②制定并維護軟件過程體系文件;③定期召開例會和按計劃定期跟蹤相關過程和產品,監督過程改進工作及項目組部署的過程資產的實施,并在出現偏差時采取適當的糾正措施;④定期在組織內開展內部評估,為下一輪過程改進工作作準備;⑤更新組織級測量數據與軟件工作環境標準,對軟件過程資產進行系統維護,對全年的軟件過程改進工作進行分析和總結;⑥根據軟件過程改進工作的活動、狀態和結果組織管理評審,以便評價和掌握過程改進工作績效,并形成相關決策事項,作為下輪過程改進工作的基礎.
2.7重大決策過程
重大決策過程的目的是采用正式的評價過程分析重大問題或事項可能的決策,依據定義的評價準則和評價方法,選擇一個盡可能滿足多個利益相關方要求的解法,從而規避決策結果可能帶來的重大風險.其中,主要要素包括評價準則、評價方法、參與評價人員和評價時間.組織人員確定重大決策問題的備選方案,或在需要時進一步明確重大決策事項;對評價結果做出決定,在必要時進行風險分析;對活動的結果作記錄,記錄形式可采用會議紀要、評審報告或獨立的文檔.
3GIB5000A三級實施過程中的常見問題與建議
(1)同行評審流于形式.同行評審被定義為“由軟件工作產品生產者的同行遵循已定義的規程對產品進行的技術評審”,在目前的軟件開發過程中,存在“重代碼、輕文檔”的現象,從而導致軟件開發文檔的質量普遍不高,因此需要相關領域的專家對文檔質量進行把關.然而,目前大多數評審只是流于形式,而未能發現實質性問題,評審有效性不足.建議文檔評審之前先交由同行專家進行文檔審查;管理層需要給予同行評審提供支持,如資源、時間、培訓和激勵等;評審結果生成評審缺陷分析表,用于檢測評審的有效性.
(2)對軟件測試過程不夠重視.目前軟件開發過程中由于時間緊、前期項目計劃未得到有效策劃和跟蹤,導致后續測試時間嚴重不足.軟件測試是為了盡快、盡早地不斷發現各種軟件缺陷而開展的對軟件及過程產品的驗證和確認活動.建議在項目初期安排好項目計劃,項目除進行配置項測試和系統測試外,針對關鍵重要模塊要開展單元和集成測試,測試文檔要與開發文檔形成追溯關系,保證功能與性能的一致性.
(3)變更控制不到位.與硬件相比,軟件的變更更為頻繁和難以控制.在軟件開發過程中變更主要來自計劃和需求,分為文檔變更和代碼變更.在目前的項目運行過程中,變更影響域分析很薄弱,過程中比較常見的現象是項目分派和計劃、設計文檔和代碼之間對應不上.建議除了對變更進行分級控制外,應細化軟件文檔模板(增加正逆向追溯表),并加強對變更后文檔的同行評審和聯合評審.
4結語
GJB5000A作為軟件開發的一個通用標準,其中的過程域既獨立又相互融會貫通,而在推廣實施過程中,要將標準中的要求轉化成自身的體系要求,并結合實際情況不斷進行改進與提升,最后達到規范開發過程、提高軟件開發能力和保證軟件產品質量的目標.
參考文獻:
[1]GJB5000AG2008軍用軟件研制能力成熟度模型[S].2008.
[2]馮聽雷.GJB5000A從二級到三級的升級策略[J].價值工程,2012(5):74G75.
[3]張萬軍,儲善忠.基于CMMI的軟件工程教程[M].北京:清華大學出版社,2008.
[4]倪亭.在軟件研發與測試中推廣GJB5000A[J].軟件,2013(2):31G35.
[5]董越.未雨綢繆:理解軟件配置管理[M].北京:電子工業出版社,2012.
[6]于波,姜艷.軟件質量管理實踐:軟件缺陷預防、清楚、管理實用辦法[M].北京:電子工業出版社,2008.
作者:周甄珍;王浩宇 單位:中國電子科技集團第三十八研究所