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