3.1 警告
必須注意到我們討論的概念和系統都是現實存在的,而不是一個完全的總結或者現存的演化。對于每一個概念,會討論一個CM系統。也必須注意,有一些CM系統確實提供了圖譜中顯示的很多功能。概念是從特定CM系統直接獲取的,每一種CM系統都有各自的概念和語義,因此對于自動化功能沒有通用的術語。為了重點突出,對概念的描述將會簡化,因此有可能沒有將概念(和它們的系統)的能力完全描述出來。但是,為了更好的展示一個圖譜和專著于CM的基本概念,簡化是有必要的。本文引用的CM系統的在附錄中有匯總,這個匯總提供了一個每一種CM能力更全面的列表。
組件概念用來標識和訪問軟件產品的組件,就是下面描述的是版本庫和分布式的組件。
3.2 組件概念
3.2.1 版本庫
版本庫概念是一個CM系統的基礎,Revision Control System (RCS) [15]提供了針對ASCII文件的版本庫,實際上,版本庫是一個文件的中央倉庫,并且提供了版本庫中文件的版本控制。版本庫中的任何文件,可以看作在 CM控制下。版本庫中的文件是不可變的,不可以更改。作出修改意味著創建文件的一個版本,所有關于文件和其內容的CM信息都保存在版本庫中,因此,CM控制適應于版本庫中的任何文件。為了修改一個文件,用戶需要檢出(check out)特定版本的文件到它們的工作目錄(working directory),然后根據自己的判斷開始修改,最后檢入(check in)回版本庫,這樣就創建了文件的一個新版本。這樣用戶就不能同時檢出同一個文件并修改,在這個用戶將其檢入回去之前,檢出的文件會被鎖定(以版本庫的視角)。一個版本號碼會自動與新版本關聯;此后,用戶可以在任何時候檢出特定版本的文件,當然缺省檢出的是最新的版本。對最新版本的更改會產生新的版本,然而對老版本的修改會導致一個不同的版本?傊,版本號方案和使用模式產生了文件的版本歷史樹,指出了版本的前任和后繼。版本庫保存了文件的歷史信息,包括文件的不同版本和修改的原因、作者和時間。需要注意的是并沒有保存所有版本的完整代碼,而只是保存了版本的區別,也就是所說的增量,這樣就節省了存儲空間和對最新版本的訪問時間。文件可以使用某個狀態標記,并可以根據這個狀態值檢出。文件也可以根據修訂版本號、時間和作者檢出。版本庫通常與其保存文件的目錄關聯,總之,一個版本庫捕獲CM信息并以不可變對象的形式保存文件的版本。
3.2.2 分布式組件
Sherpa Design Management System (DMS) [7]提供了一種文件分布在不同硬件平臺上的版本庫,這個版本庫邏輯上是集中式的,但版本庫中的數據可以是物理上分離的。Sherpa DMS可以識別分布式并在執行CM時考慮分布式這一點,例如,通過對文件格式的必要轉換提供容錯靈活性。所以,對用戶來說,分布式是透明的--用戶可以像處理自己工作站的文件一樣處理版本庫的文件。一組地域上分離的用戶可以工作在同樣的文件配置下,文件的多份拷貝可以存在于不同的工作站,Sherpa DMS知道文件最新版本的位置,版本庫中文件的任何修改都會更新到工作站中的所有本地拷貝中去,因為系統清楚所有本地拷貝的位置。更新可以是交互模式或者批量模式,實際上,分布式用戶已經訪問了中央版本庫,對他們來說,這個CM工具使異種工作站跨越了網絡。
相關閱讀:
軟件配置管理系列——什么是配置管理?
軟件配置管理系列——1、介紹
軟件配置管理系列——2、用戶角色
軟件配置管理系列——3、CM系統的概念
文章來源于領測軟件測試網 http://www.kjueaiud.com/