一、UCM簡介
Unified Change Management (UCM)是Rational管理軟件開發中變更的一種方法。它適用于從最初需求到最終發布的整個軟件開發周期,可管理需求,設計模型,文檔,組件,測試案例,及源代碼中的所有變更。
UCM是使用ClearCase來進行版本控制和配置管理的一種模式。它基于Base ClearCase,在Base ClearCase之上提供了高層抽象,可在不了解Base ClearCase細節的情況下有效使用,簡單易用。UCM的核心是基于活動(Activity)的變更和配置管理。它需要變更管理工具ClearQuest和配置管理工具ClearCase兩者結合起來使用。
二、為何要用UCM
當今有多種軟件配置管理工具可供軟件開發團隊選擇,那為什么我公司要采用基于ClearCase和ClearQuest的UCM呢?主要是了解到UCM會帶來以下益處:
1. 簡單,易用
UCM建立在Base ClearCase之上,它定義了一種基于活動的變更管理方法,為項目開發提供了統一和簡單易用的處理流程。任何需求和設計變更,以及缺陷修正,都以活動的方式展現在開發者面前,開發人員針對這些明確而實際的任務展開變動。通過直觀的圖形用戶界面,無論是項目管理員還是開發人員,都可以在無需掌握Base ClearCase中相對復雜的操作情況下,完成日常的變更管理工作。諸如項目的建立,開發人員工作空間的創建,針對活動的工作,項目的整合,變更的追溯等等,都可以在簡便的圖形用戶界面上進行。
2. 獨立的工作空間
項目中每個開發者擁有一個或多個開發流(Stream),在每次項目整合之前,開發者均工作在自己的開發流上,通過關聯到開發流上的視圖(View),進行活動的選擇,文件的檢出,檢入等工作,開發者相互不干擾。
3. 任務清楚,明了
對于需求和設計的變更以及缺陷的修正,項目管理者首先在ClearQuest中提交相應活動并分配給相關開發人員。相關開發者在ClearCase Explorer中,在自己的開發視圖之My Activivities下,可清楚地看到當前分配給自己的任務。另外,如果在ClearQuest中設置相應Email Rule,相關開發者還可及時收到由ClearQuest自動發送的關于被分配任務的通知郵件,使得任何變更都可及時知會相關責任人。
4. 易于項目整合
每個項目除擁有多個開發流之外,還擁有一個集成流。集成流收集來自所有開發者所交付的成果。每個版本或Build需要整合與建立之前,項目經理決定需要包含哪些變更,然后通知各開發者提交相關活動,接下來開發者 從自己的開發流上把已實施的活動提交到項目的集成流上,與活動對應的所有文件變更從而被交付到集成流。項目的整合與建立在對應到集成流上的視圖上進行。通過在ClearCase及ClearQuest中的查詢,測試人員可準確地知道所要測試的版本有哪些功能變更。
5. 變更的追溯簡便且直接
軟件開發中經常需要查詢針對某個功能的變動和缺陷的修正,有哪些文件被改過,以及文件的具體變動內容。使用UCM,在ClearCase和ClearQuest中,都可以通過方便的圖形界面,查看到這些Change Set。對于每個vob不同基線之間的變化,也可以方便地查到。
6. 強大的與其它工具的集成功能
Ratioanl不僅將UCM集成到Rational的其它工具中(如建模工具Rose和Rose RealTime),更把它集成到許多流行開發工具中,如Microsoft Visual Studio, Sybase PowerBuilder, Adobe FrameMakeer等,還可以在Windows Explorer中直接使用。
三、UCM的工作流程
如圖1,2,3所示,在UCM中,軟件的循環開發過程可分為項目管理循環和開發循環。
圖2 項目管理循環
圖3 開發循環
具體為:
項目管理員創建項目及項目中的各組件,定義各組件的初始基線 開發者加入項目,創建自己的開發流和視圖,建立私有工作區 項目經理和開發者創建和分配活動,開發者找到分配給自己的活動 開發者工作在活動上,在自己的私有工作區上進行文件的檢出,檢入和測試
開發者完成活動后,通過交付活動到項目集成流使其工作在項目共享工作區中體現項目管理員在項目共享工作區中集成由開發者交付的工作項目管理員根據需要在項目共享工作區中周期性地創建新的基線 開發者從新基線更新其私有工作區,以包含此基線對應的目錄和文件之版本 開發者繼續下一循環的工作,即查找活動,在活動上工作,交付活動,從新基線更新其私有工作區 項目管理員根據需要在項目共享工作區中周期性地調整基線的提升級以反映該基線的狀況。