Brian White的本篇文章闡述了統(tǒng)一變更管理(UCM),一個由Rational結(jié)合我們的用戶開發(fā)的特殊的變更管理過程。
術(shù)語變更管理(CM)涉及到一個組織或項目用來計劃、執(zhí)行和跟蹤一個軟件系統(tǒng)變更的過程和工具。統(tǒng)一變更管理(UCM),是由Rational結(jié)合我們的用戶而開發(fā)的一個特定的變更管理過程。UCM支持軟件項目團(tuán)隊管理文件、目錄、構(gòu)件和系統(tǒng)的產(chǎn)生和修改。從理論上講,變更管理過程由兩個流程組成:
軟件配置管理(SCM)
缺陷和變更追蹤(DCT)
SCM涉及到版本控制、工作空間管理、軟件集成、軟件構(gòu)造、軟件部署和發(fā)布過程。缺陷和變更追蹤處理缺陷、增強請求和新功能被提交、評估、實施,驗證和完成的過程和流程。
Rational提供了兩個工具來分別支持這兩個流程。首先是Rational ClearCase?,自動化軟件配置管理相關(guān)的過程。其次是Rational ClearQuest,自動化缺陷和變更跟蹤相關(guān)的過程。這兩個工具合在一起,你就可以自動化統(tǒng)一變更管理(UCM)了。實際上,你使用ClearCase和ClearQuest幾乎可以自動化任何變更管理過程,但是如果你希望更容易地支持變更管理,UCM是你最佳的選擇。
在Rational,我們已經(jīng)用各種方法回答了這個問題,“什么是UCM過程?”(參見下面的參考)。我們提供產(chǎn)品文檔,一本關(guān)于ClearCase和UCM的書,以及一張多媒體CD,可以從這里free免費預(yù)定。因此,如果你已經(jīng)知道一些有關(guān)UCM的內(nèi)容,你可能會問,“是什么使得UCM比其它的變更管理過程更好?”在這里我將嘗試回答此問題。
讓我們從解釋一個過程開始,它不可能適合所有的軟件項目。然而,實際上如果不放在一個實際的軟件開發(fā)項目環(huán)境中,將UCM描述為優(yōu)于其它變更管理過程是沒有實際意義的。因此,我將描述什么使得UCM不同于傳統(tǒng)的變更管理過程。接下來你就可以自己確定這些區(qū)別如何應(yīng)用到你自己的軟件開發(fā)項目里。
使用UCM進(jìn)行更高級別的抽象
如果你看一下軟件語言的發(fā)展,很明顯,在計算機(jī)科學(xué)和工程十多年來,機(jī)器代碼的抽象級別有了很大的提高。在最低級別上,所有都是1和0,并且我認(rèn)為非常早期的開發(fā)工程師就工作在這個級別上。很快有了匯編語言,它將1和0抽象成基本的機(jī)器指令,例如用值Y加載寄存器X。接下來的語言例如Pascal and C,它們提供了更高次序的結(jié)構(gòu)例如“if-then-else”語句。并且現(xiàn)在,在今天,我們開始認(rèn)識到可視化“編程”的潛力。通過模型化軟件系統(tǒng)的行為,我們可以讓代碼為我們而產(chǎn)生。通過引入這些抽象,開發(fā)者進(jìn)行更復(fù)雜軟件系統(tǒng)的編程會變得更容易和更快速。
類似的事情發(fā)生在配置管理工具的演變上。最初,配置管理工具只是由保存版本的存儲庫組成:一個文件和目錄的內(nèi)容在給定的時間點上存儲和確定,并且在需要時可以重現(xiàn)取回。然后到了允許用戶管理工作空間的工具:一個特殊任務(wù)或活動所選擇的文件和目錄的特定版本集。并且,隨著較作為低級別的抽象,例如存儲庫和工作空間,變得普通和廣泛被接受,較高等級功能可以放在頂端,以簡化變更管理過程。UCM正是做這些。讓我們看看UCM包括的三個關(guān)鍵抽象:項目,構(gòu)件基線,和活動。
項目
通常,軟件開發(fā)團(tuán)隊被組織成項目。這些項目,依次還有子系統(tǒng),等等,因此一個項目可能非常大,或者是非常小。從變更管理的觀點來看,項目的組織有三個目的:
首先,項目定義了團(tuán)隊成員