1、介紹
通過調查現存的配置管理(CM)系統可以發現支持CM的環境和工具已經大大改進,這可以通過CM系統提供的概念范圍來證明,本文就是要強調這個范圍,首先介紹一下廣義的CM定義和一個典型的CM場景。
1.1 配置管理的定義
軟件配置管理是控制軟件系統演進的學科,經典的CM討論如[3]和[4],IEEE標準729-1983[16]中的定義列出了CM操作的幾個方面:
標識:一種標識模式反映了產品的結構,標識了組件及其類型,使之唯一并且可以通過某種方式訪問。
控制:控制產品的發布,并通過創建基線產品來保持軟件的連續性以達到整個生命周期的變更控制。
狀態記錄:記錄和報告組件的狀態和修改請求,并且收集產品中組件的重要統計。
評審和復查:驗證產品的完整性,通過確保產品是定義良好組件的組合來維護組件的連續性。
定義也包擴配置項、基線、發布和版本等術語,大多數CM系統通過組合不同程度上的功能來支持這些方面,一些CM系統提供的功能超越了以上的定義,這歸因于(拋去其他原因)多個方面的認識,如不同的用戶角色(在1.3和2.1部分有進一步討論)、異種平臺的不同操作環境、建立軟件工程師在其中以和諧方式工作的大項目的支持。為了捕獲這些額外的功能,有必要拓寬CM的定義:
制造:以一種透明的方式管理產品的構建。
過程管理:確保執行組織的過程、政策和生命周期模型。
團隊協作:控制同一產品多個用戶的工作和交互。
1.2 CM系統的定義
對于CM系統的組成,沒有一種普遍接受的定義。舉個例子,版本控制系統是CM系統嗎?理想情況下,一個CM系統應該能夠提供上面定義的所有功能,但是實踐中,任何提供某種形式的版本控制、配置標識、系統構建、系統建模和企圖提供CM(某種程度)功能的系統都會被軟件工程(和銷售)社區當作CM系統。必須注意到存在的CM系統都提供了它們獨有的功能組合,而不是標準的。這個報告只包括了15個CM系統,目前至少有40種可以獲取并使用的CM系統。
本文有必要闡明一個概念,CM系統和CM工具。一個CM系統可以看作是環境的一部分,CM支持的是集成環境的一部分,并且CM是以包的形式銷售,一個CM工具可以被認為一個獨立的工具。舉個例子,Revision Control System(RCS) [15]是一種CM工具,因為它企圖安裝到現有的環境,但是因為這一點區別對本文并不重要,我們會用CM系統這一術語來表示這兩種概念。
文章來源于領測軟件測試網 http://www.kjueaiud.com/