配置管理
配置管理(Configuration Management,CM)是應用技術的和管理的指導和監(jiān)控方法,標識和說明配置項的功能和物理特征,并控制這些特征的變更,記錄和報告變更處理和實現(xiàn)狀態(tài)并驗證與規(guī)定需求的遵循性。
配置管理的目標是記錄軟件產(chǎn)品的演化過程,確保軟件開發(fā)者在軟件生命周期中各個階段都能得到精確的產(chǎn)品配置。
配置管理有關概念:(GB/T 11457-2006《信息技術 軟件工程術語》)
(1)配置項:為配置管理設計的硬件、軟件或二者的集合,在配置管理過程中作為一個單個實體來對待。
每個配置項的屬性有:名稱、標識符文件狀態(tài)、版本、作者、日期等。
配置項主要有兩類:①屬于產(chǎn)品組成部分的工作成果②項目管理和機構支撐過程產(chǎn)生的文檔。它們經(jīng)過評審和檢查通過后進入配置管理。
典型的配置項包括:項目計劃書;需求文檔,設計文檔;源代碼,可執(zhí)行代碼;測試用例,運行軟件所需的各種數(shù)據(jù);外部交付的軟件產(chǎn)品和數(shù)據(jù);指定的內(nèi)部軟件和數(shù)據(jù);指定的用于創(chuàng)建和支持軟件產(chǎn)品的支持工具;供應商、客戶提供的軟件和設備。
基線配置項:所有的設計文檔和源程序;
非基線配置項:項目的各類計劃和報告等。
配置項狀態(tài):草稿(Draft)狀態(tài)的配置項版本號格式為0.YZ,YZ的數(shù)字為01-99;正式(Released)狀態(tài)的配置項版本號為X.Y,X為主版本號,取值范圍為1-9,Y為次版本號,取值范圍為0-9;修改(Changing)狀態(tài)的配置項的版本號為X.YZ。
(2)配置基線:簡稱基線,由一組配置項組成,這些配置項構成一個相對穩(wěn)定的邏輯實體。一組擁有標識號的需求、設計、源代碼文卷以及相應的可執(zhí)行代碼、構造文卷和用戶文檔構成一條基線。
發(fā)行基線(Release):交付給客戶的基線;構造基線(Build):內(nèi)部開發(fā)使用的基線。
基線中的配置項被“凍結”了,不能隨意修改,對基線的變更必須遵循正式的變更程序
(3)配置庫:存放配置項并記錄與配置項相關的所有信息,是配置管理的有力工具。分為:動態(tài)庫(開發(fā)庫)、受控庫(主庫)和靜態(tài)庫(產(chǎn)品庫)。
(4)配置控制委員會(CCB)。負責對配置變更做出評估、審批以及監(jiān)督已批準變更的實施。(小項目的CCB可以只有一個人,甚至是兼職人員)。
(5)配置管理員(CMO)。負責在整個項目生命周期中進行配置管理活動。主要工作包括:編制配置管理計劃;建立、維護配置管理系統(tǒng);建立維護配置庫;識別配置項;建立管理基線;版本管理、配置控制;配置狀態(tài)報告;配置審計;發(fā)布管理、交付。
(6)配置管理系統(tǒng)。是進行配置管理的軟件系統(tǒng)。如:VSS、CVS、SVN(Subversion集中式版本控制)、CC(ClearCase 集中式版本控制)、GIT(分布式版本控制)。
(7)配置管理活動(CMO職責)包括:制定配置管理計劃、配置項標識、配置控制、配置狀態(tài)報告、配置審計、發(fā)布管理和交付。
1.1 制定配置管理計劃
配置管理計劃是對如何開展項目配置管理工作的規(guī)劃,是配置管理過程的基礎,該文件應在整個項目生命周期內(nèi)處于受控狀態(tài)。由配置控制委員會負責審批該計劃。主要內(nèi)容包括:
(1)應當開展的配置管理活動;
(2)實施這些活動的規(guī)范和流程;
(3)實施這些活動的進度安排;
(4)負責實施這些活動的人員或組織,以及他們和其他組織的關系。
1.2 配置標識
配置標識(Configuration Identification)也稱配置識別。包括為系統(tǒng)選項配置項并在技術文檔中記錄配置項的功能和物理特征。
配置標識是配置管理員的職能,包括:識別需要受控的軟件配置項,給每個配置項指定唯一的標識號,定義每個配置項的重要特征,確定每個配置項的其所有者及其責任,確定配置項進入配置管理的時間和條件,建立和控制基線,維護文檔和組件的修訂與產(chǎn)品版本之間的關系。
1.3 配置控制
即配置項和基線的變更控制。包括:
(1)標識和記錄變更申請。
(2)分析和評價變更。
(3)批準或否決變更。
(4)實現(xiàn)、驗證和發(fā)布已修改的配置項
1.4 配置狀態(tài)報告
也稱為配置狀態(tài)統(tǒng)計。其任務是有效地記錄和報告管理配置所需要的信息,目的是及時、準確地給出配置薦的當前狀態(tài)。配置狀態(tài)報告可以包括:
(1)每個受控配置項的狀態(tài)。
(2)每個變更申請的狀態(tài)和已批準變更申請的實施狀態(tài)。
(3)每個基線的當前和過去版本的狀態(tài)及以各版本的比較。
(4)其他配置管理過程活動的記錄。如:發(fā)布信息(發(fā)布版本、計劃發(fā)布時間、實際發(fā)布時間、說明等)、配置管理工具狀態(tài)等。
不包括:備份信息(備份日期、介質(zhì)、備份存放位置)、設備故障信息?!?/p>
1.5 配置審計
配置審計就是驗證配置項與配置標識(需求、標準、流程)的一致性,也就是對配置項的完整性、安全性、介質(zhì)完好性等方面進行檢查,其作用是作為變更控制的補充手段,用來確保某一變更需求已被切實實現(xiàn)并被完整記錄。
(1)功能配置審計。
①配置項的開發(fā)已經(jīng)圓滿完成
②配置項已達到配置標識中規(guī)定的性能和功能特性
③配置項的操作和支持文檔已經(jīng)完成并且是符合要求的
(2)物理配置審計。
①要交付的配置項是否存在。
②配置項中是否包含了所有必需的項目。
1.6 發(fā)布管理和交付
主要任務是有效控制軟件產(chǎn)品和文檔的發(fā)行和交付,在軟件產(chǎn)品的生存期內(nèi)妥善保存代碼和文檔的母拷貝。
包括存儲、復制、打包、交付、重建。