【轉】UCM專案管理配置學習

tiewei發表於2008-06-17
ucm學習(1)
學習UCM要從基本的概念理解。其中最主要的幾個基本概念是
pVOB庫
component
activity
change set
baseline
stream(分為整合流和開發流等)
project

ucm學習1.1-component
先說一下base模式的開發吧,在base模式下,所有的檔案在匯入到vob庫後,所有的檔案都是一個獨立的物件,打標籤是對每個檔案都打的,在選取檔案版本的時候一般我們透過選取標籤來選取版本的,但是對於UCM就不是這樣的,ucm提出了一個comonent的概念,目的是把一組檔案看成一個物件來管理。所以打基線(相當於base的打標籤)是對comonent打的基線。例如在一個專案中,我們把不同模組的程式碼放在不同的資料夾中,我們可以把每個模組的資料夾劃分成一個component。這樣以後在管理專案模組基線時,只要維護該comonent的基線就行了。整個專案的基線就是由專案模組所有的comonent的基線構成
既然一個comonent是一組檔案,那麼它可以把一個普通的vob庫構成component,也可以把一個VOB庫的某個資料夾看做component,但是必須是vob庫的一級目錄
具體的構建方法我們可以在後續的內容中說明

ucm學習1.2-activity

本次我主要是想對activity做一個說明,UCM的開發模式在開發人員進行一項工作之前,例如checkout ,要和一個活動(activity)繫結,也就是明確你的目的,當然該活動記錄著你這次操作對那些檔案產生產生了新的版本,包含在一個活動的所有版本的變化我們稱之為變更集(change set)。這樣是不是對活動和變更集有了一個認識了?

ucm學習1.3-baseline
base模式下是透過打標籤的方式產生一條基線,然後大家根據打的標籤(也稱基線)繼續新的開發,我們所說的基線實際就是一個標籤,但是在base下CC庫沒有基線的概念。只有在UCM下CC才有基線(baseline)的概念,baseline在UCM下的功能和BASE下的標籤的功能基本上是一致的,基線有雙重的身份(我個人認為),大家可以在下圖我畫的簡略圖中發現一條基線 從compoent的角度看它是屬於某個comopent的基線,如果從流的角度看,基線是在某個流中產生的基線,我們有一點要記住,基線的產生是透過流建立的,但是我們從隸屬的角度上看他是屬於某個component的基線。

基線包含什麼內容呢?基線包含活動activity,活動(activity)包含著變更集change set ,變更集包含著一個個版本變化。baseline透過這樣的方式把一個個的版本變化包含進來。
當開發者在開發流上提交活動到整合流的時候,系統自動會開發者的開發流上打上基線,名字是以deliver開頭的基線。先說這麼多吧。

ucm學習1.4-stream
UCM提出了一個project和stream的概念,我們在上一帖子中提到component的概念,compoent是一組檔案的一個集合,對應到具體的工作環境中就是一個軟體專案的一個模組,一個專案可能有多個模組,專案就是把多個和專案有關的compoent組合在一起,就構成了一個專案,但是他還包含了其他另外的東西,例如stream。那麼stream是一個什麼樣的概念呢?我們在具體的開發環境中,可能有多個小組對一個專案進行並行開發,為了不相互干擾,在一個專案的幹流上(UCM稱之為整合流)可以拉出很多的子流,這些子流根據不同的需要安排不同的人員在上面開發。(如此看來stream和base模式的branch作用一樣的),每個子流開發到一定程度以後可以把子流上的開發成果提交到整合流上去,在整合流上整合管理員根據提交的內容進行編譯,測試以後在整合流上打上基線(baseline),等所有的測試透過以後可以推薦基線,也就是要發出一個新的版本,這是開發人員只要在自己的開發流上更新自己的基線就可以過渡到新的版本上來了,也不用去編寫config spec了。

ucm學習1.5-project


UCM學習1.5
現在大家對理解的怎麼樣了?這次我們打算聊聊pvob和專案project,pvob和一般的VOB是不太一樣的,一般的VOB我們說主要是用來存放原始碼的,但是PVOB一般不用來存放資料,是用來管理UCM中的專案資訊的,他包含著PROJECT COMPONENT,Baseline stream,activity等物件的資訊。project是基於compoent建立出來的,一個專案project建立後就有一個整合流,類似我們的main分支,但是和分支是不同的兩個概念,從整合流上可以產生出子流來,讓某個開發者在子流上工作,開發到一定程度可以把它deliver到整合流上去。從而完成一次開發任務。

ucm中的project 是對comopnent的重新規劃,可以實現程式碼的重用,因為專案中的component許多是公用的,根據專案的需要可以在建立專案的時候,選定我們需要的comopnent,也可以在選定的compoent中規定哪些compoent是可寫的,哪些Component是隻讀的。同時我們還可以對project做一些策略,如deliver 策略 專案之間的dilever策略等等
UCM專案的建立可以是根據comopnent的某條基線建立,也可以是根據已有專案的某條基線建立。
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/91888/viewspace-1005793/,如需轉載,請註明出處,否則將追究法律責任。

相關文章