周艷會 劉海 丁皓

摘 要軟件配置管理是通過技術或行政手段,對軟件產品及其開發過程和生命周期進行控制、規范的一系列措施。配置管理的目標是記錄軟件產品的演化過程,確保軟件開發者在軟件生命周期中各個階段都能得到精確的產品配置。配置管理的主要工作一般包括:建立配置管理機構和軟件三庫、制定配置管理計劃、基線控制、出入庫控制、更改控制、配置狀態記實、配置審核。根據項目的具體情況,配置管理的實際工作內容不同。
【關鍵詞】軟件配置管理 配置管理 軟件三庫 配置管理簡化實施
1 實施軟件配置管理的必要性
隨著科技的不斷發展,軟件項目的復雜性與集成度越來越高,項目的成敗在很大程度上取決于對其開發過程的控制,包括對質量、源代碼、進度、資金、人員等的控制,有效的過程必須有科學的管理方法,“軟件配置管理”是通過技術或行政手段,對軟件產品及其開發過程和生命周期進行控制、規范的一系列措施。實踐證明,軟件配置管理是一套規范、高效的軟件開發管理方法,同時也是提高軟件質量的重要手段。
1.1 實施軟件配置管理,是提高效率和質量的必要手段
軟件研發中出現的每一個問題,必須及時定位、修改、更新和記錄,配置管理過程中的記錄、報告和版本控制,通過問題跟蹤和追溯,能加快問題的定位和修復,并最大限度減少缺陷和錯誤的發生以及再次發生;同時,在軟件編碼過程中,使用配置管理工具,能夠較好的避免因并行開發、多重維護帶來的版本混亂、重復編碼等問題,清晰的配置管理過程,在節約人力的同時,提高了產品質量。
1.2 實施軟件配置管理,有利于單位建立知識庫
軟件代碼是軟件開發人員腦力勞動的結晶,也是軟件開發單位的寶貴財富,長期開發過程中形成的各種代碼對象就像一個個零件坯一樣,是快速生成系統的組成部分。實施配置管理,能夠對各人的有用對象進行管理,把其使用范圍擴大到單位級,進行規范化并加以說明和普及,建立單位級的代碼對象庫;在配置管理中,形成完整的開發日志及問題集合,以文字方式伴隨開發的整個過程,不依某個人的轉移而消失,有利于單位積累業務經驗,無論對版本整改或版本升級,都具有重要的指導作用。
1.3 實施軟件配置管理,能夠降低成本,節約費用
通過軟件配置管理,可以對不同階段軟件代碼版本進行管理和跟蹤,建立代碼知識庫,提高代碼的重用率,同時最大限度地共享代碼,便于進行新版本或類似功能的開發,減少再開發的成本,提高開發效率,縮短開發周期;通過配置管理,建立開發管理計劃和規范,共享最新文件和代碼,當項目成員跨地域分布時,能夠實現協同有序,互不干擾而又不失去控的異地工作,從而節約大量的旅差費用。
1.4 實施軟件配置管理,是規范管理的要求
通過建立科學的配置管理流程,將大量的文檔和代碼等知識財富統一標識,按階段進行規范化管理,避免隨意保存在項目經理和軟件工程師各自的機器里,因硬盤故障或人員離職造成數字財富因缺乏必要的配置管理而白白流失。能夠應對人員離職、版本混亂、加快問題的定位和修復;通過配置管理規范軟件研發各階段的文檔,進行有效的質量記錄和文檔管理,保證每個使用者都能得到正確的版本,在提高項目研發效率的同時,也為企業積累了組織級財富,便于今后的項目共享;軟件項目的研制過程是隨項目的規模以指數上升,只有在項目研制之初,制定項目開發和管理計劃,并在研制過程中,依照計劃實施,才能避免項目研制過程中的盲目性;代碼回溯是軟件編制過程中經常發生的,使用工具進行規范化的配置管理,每天記錄當天代碼修改情況,規范文檔和代碼每天的版本,使工作或代碼回溯成為輕松便捷的事。
2 簡化實施軟件配置管理的策略
軟件配置的主要工作包括:建立配置管理機構和配置庫(即軟件開發庫、受控庫、產品庫,又稱軟件三庫)、制定配置管理計劃、基線控制、出入庫控制、更改控制、配置狀態記實、配置審核。本文重點介紹綜合性科研單位的軟件配置管理工作的簡化實施。
2.1 建立配置管理機構和配置庫
在項目設計開發期間,應建立相應的配置管理組織(配置管理委員會或配置管理小組),專門負責配置管理工作。項目組應指定專人(配置管理員)處理配置管理事務。
配置庫也稱為軟件“三庫”,是軟件配置管理機構的組成部分,包括:開發庫、受控庫、產品庫。開發庫存放各開發階段產生的尚未通過評審的程序、文檔等電子版本或紙制資料,一般由項目組建立并維護;受控庫存放已通過測試或評審且作為階段性產品的軟件配置項集合,包括程序和文檔,一般由研制管理部門(或質量管理部門)建立和維護,受控使用;產品庫存放已定型(鑒定)且供交付、生產、檢驗驗收的軟件配置項集合,包括源代碼、可執行程序、數據和文檔的電子版或紙制資料,一般由組織的技術檔案管理部門建立和管理。
三庫可以借助專門的配置管理軟件建立,也可以以電子或物理形式建立。例如:受控庫可以是一系列電子文件夾,產品庫可以是一組文件柜。如表1所示。
2.2 制定配置管理計劃
配置管理計劃的目的在于對所開發的軟件規定各種必要的配置管理條款,從而保障產品質量。內容包括:說明配置管理角色和職責、計劃納入配置管理的配置項、計劃的基線時間和內容、配置庫的建立方式和授權、配置狀態記錄和統計計劃、更改和版本控制,并確定項目標識、文檔標識、程序和產品標識、版本標識等。
對基線的管理是配置管理的重點內容。基線是軟件文檔或軟件代碼的一個穩定版本。是被正式確認并作為今后研制生產、使用保障活動的基準。已形成基線的關鍵文檔,雖然可以修改,但必須以一個特殊的、正式的過程進行評估,確認每一處修改。軟件開發項目的配置管理基線包括:功能基線、分配基線、設計基線、開發基線和產品基線。在實際應用中,根據項目的規模和實際研發情況,可以只劃分功能基線、分配基線和產品基線。基線對應的標志性文檔如表2,每一種基線以通過一定級別的評審后建立。
2.3 配置控制
開發庫出入庫較頻繁,主要由項目組控制。通常配置控制主要是對受控庫和產品庫的控制。為了簡化實施,只能涉及基線的配置項目進行控制。
2.3.1 基線控制
在確立基線的標志性評審通過后,及時將基線文件入庫,此后,若有對基線文件的使用和修改,應及時記錄并向有關人員發布最新版本。
2.3.2 出入庫控制
一般在基線建立后、變更前后和重要事件前后,要記錄配置項出入庫。配置項出入受控庫或產品庫應當填寫《出庫單》和《入庫單》。
2.3.3 更改控制
被更改的源代碼和相關文檔必須正式取自配置管理的受控庫或產品庫,更改后重新入庫并填寫《配置變更報告單》,版本的變更,也應進行記錄。
2.3.4 配置狀態記實
記錄并報告受控軟件配置管理項的現行狀態和歷史。在實施配置變更處理的過程中,配置項的狀態分為:變更中、有效、無效。配置管理者應在一個重要階段結束時,及時匯總《配置狀態記錄單》。
2.3.5 配置審核
在項目研發完成一個階段或在產品交付前,應進行功能配置審核和物理配置審核,功能配置審核以確定和保證配置項的完整性;物理配置審計以檢查程序與文檔的—致性、文檔與文檔的—致性、交付的產品與任務書要求的—致性以及與標準規范的—致性。完成審核后,應填寫《配置審核單》。
2.3.6 配置總結
根據配置管理情況,一般在項目完成時,編寫配置管理報告,也可以在研制總結中進行配置管理總結,內容包括:配置管理情況綜述、用戶組劃分及權限分配、配置項記錄、基線記錄、入庫記錄、出庫記錄、變更記錄、審核記錄、備份記錄等。
3 結束語
專業軟件開發單位的軟件配置管理工作,一般應達到軟件研制能力成熟度模型(CMM)3級或以上標準,故一般采用專業的配置管理軟件實現;對于實施質量管理體系的綜合性科研單位的配置管理,一般達到軟件研制能力成熟度模型二級標準即可,重點記錄基線形成和變更、大階段的配置管理狀態和審核,以及相應的出入庫,可以采用一些版本管理軟件輔助實施,同時制定一系列規則,以人工輔助部門級配置管理工作。
注:文中提到的配置表單和文檔表單,可參考相關標準中的格式。
參考文獻
[1]陳焱,李勇,韓鐵軍.配置管理在軟件系統開發中的作用[J].自動化指揮與計算機,2012(04).
[2]馮濟舟.軟件配置管理典型問題的研究與思考[J].航天標準化,2013(03).
[3]劉旭奕.基于GJB5235的軟件配置管理方法初探[J].標準介紹,2011(02).
[4]高賢志,戴恒毅.導航裝備軟件配置管理方法研究與實踐[J].裝備質量管理,2012(08).
[5]周智力,原月,薛潔.航天企業中軟件配置管理模式實施與應用[J].數字軍工, 2012(02).
作者簡介
周艷會(1972-),女,河北省人。碩士學位。現供職于中央軍委后勤保障部科學研究所。主要研究方向為計算機及應用。
劉海(1982-),男,湖南省人。博士學位。現供職于中央軍委后勤保障部科學研究所。主要研究方向為計算機及應用。
丁皓(1989-),男,山東省人。碩士學位。現供職于中央軍委后勤保障部科學研究所。主要研究方向為計算機及應用。
作者單位
中央軍委后勤保障部科學研究所 北京市 100166