小項目實施軟件配置管理探析[2]
作者:ITPUB 來源:ITPUB論壇
二、軟件配置管理
軟件配置管理(SCM,Soft Configure Management)的目的是在整個項目的軟件生存周期內,建立和維護軟件項目產品的完整性。
軟件配置管理包括在給定時間點上及時地標識軟件的配置,系統地控制對配置的更改,并在整個軟件生存周期中維護配置的完整性和可跟蹤性。置于軟件配置管理之下的工作產品包括交付給客戶的軟件產品(如軟件需求文檔和代碼),以及與這些軟件產品一同標識的或為產生這些軟件產品所要求的產品項(如編譯程序)。
通過軟件配置管理的更改控制和配置審核職能,項目能系統地控制對基線的更改和由軟件基線庫構造的軟件產品的發布。
關鍵過程域包括實施軟件配置管理職能的有關實踐。標識特定配置項/單元的實踐則包含在描述各配置項/單元開發和維護的關鍵過程域中。
1.SCM的關鍵活動
CMM中的軟件配置管理包括了多項相關活動,包括版本控制、建立軟件配置庫系統、配置項變化的控制、軟件基線記錄報告等等。如果將SCM作為一個配置管理模型,應當強調以下幾點:
(1)任務清晰,責任明確
為了確保軟件開發過程中開發人員之間各種信息交流的順暢和準確,首要問題是確立一個實施架構。通常是以“組”的概念細分一項工程中各類任務的執行單位,明確各組在開發和管理過程中各自的職責、需要完成的工作,管理層面可由此清晰地了解產品的完成情況??傮w設計者利用任務的展開方式進行任務分配,用網絡圖的方式控制各組之間的關系,包括時間進度計劃和各組之間的接口等等。
軟件開發過程中的任務管理是配置管理的基礎,如果任務定義不明確,配置管理的實施也將難以保證。通過對任務的詳細定義,把每一個子任務具體分配給某一個人去完成,這樣就將對集體管理的任務細化到對個人的管理層面上了。
(2)建立軟件配置管理庫系統
建立軟件配置管理庫系統的主要目的是用來存放軟件基線。它可以對軟件配置管理進行多級控制,譬如在產品開發周期中,不同階段有著不同力度的配置管理,隨著產品不斷成熟,控制力度也隨之增強;提供對庫中配置項的存儲和修改的功能,支持在相關組之間和庫中不同控制級間共享和傳輸配置項;支持生成軟件配置管理的報告文檔及軟件基線內容的報告文檔;有助于確保從軟件基線庫中發布的相關文檔和軟件產品的正確性。
(3)版本管理
版本控制是軟件配置管理的基本要求,它可以保證在任何時刻恢復任何一個中間產品的任意版本。版本管理記錄了所有庫中代碼和文檔的開發歷程,可以保證產品的可追溯性,為調試代碼、清除缺陷提供很大的幫助。同時,版本管理支持并行開發和維護,為協同開發打下了基礎。產品開發過程中版本狀態的改變如圖2所示。
(4)變化控制
在有配置管理概念的軟件產品開發過程中,所有的改變都是在有效控制下的,包括軟件基線的改變、配置項的改變。改變管理的一個基本項就是改變請求(CR,Change Request),在一個軟件系統中描述邏輯上改變的實體。改變請求是由開發計劃變化和錯誤報告生成的。在開發過程中,CR主要收集有關系統改變的信息。開發人員將一個新建或修改過的文件寫入庫中時,要指出相關的CR,文件名稱和版本需在CR中登記。CR的最終版本包括邏輯改變的描述和所有修改的文件版本信息。由SCM組和SCCM(軟件配置控制委員會)審核要寫入配置管理庫中的新的軟件基線。
原文轉自:http://www.anti-gravitydesign.com