SCM工具的普遍特性
2012-6-27 10:35:00 來(lái)源:網(wǎng)絡(luò) 編輯:56885 關(guān)注度:摘要:... ...
現(xiàn)在有很多的SCM工具,而它們的功能特性也有很大的不同。每一個(gè)工具都有它的長(zhǎng)處和短處。例如,有些工具在變更控制方面很好,有些則在構(gòu)建管理和版本能力方面很出色。
版本控制
版本控制的主要目的是管理在軟件工程過(guò)程中產(chǎn)生的不同版本的配置對(duì)象。
一個(gè)開發(fā)人員可以對(duì)一個(gè)沒(méi)有納入SCM控制的配置項(xiàng)進(jìn)行任意的更改,一般來(lái)說(shuō),這時(shí)候的更改只會(huì)影響配置項(xiàng)本身。但是一旦配置項(xiàng)放到了SCM控制下,對(duì)配置項(xiàng)的更改就產(chǎn)生新的修訂版本。它們可能由于不同的原因而產(chǎn)生,例如功能的擴(kuò)展或者修正缺陷等。
多條并行開發(fā)線組織的版本叫分支。需要注意的是,分支不是實(shí)現(xiàn)不同產(chǎn)品變量的唯一方式,因?yàn)樗可以用條件編譯、安裝描述或者運(yùn)行時(shí)檢查來(lái)實(shí)現(xiàn)。
分支主要有兩種,暫時(shí)的和永久的。
工作空間管理
SCM還可以提供私有工作空間給開發(fā)人員。目的是防止干擾其他人的工作。這個(gè)過(guò)程是通過(guò)簽出簽入操作來(lái)實(shí)現(xiàn)的。
同步控制
同步控制根據(jù)SCM工具的不同而做法上也有不一樣,例如,有些工具對(duì)文件簽出不加鎖,而有些則加鎖。VSS對(duì)兩種方式都支持。
系統(tǒng)構(gòu)建
系統(tǒng)構(gòu)建管理的目的是組合需要的文件版本然后編譯產(chǎn)生應(yīng)用程序。構(gòu)建大概分兩種方式:全部構(gòu)建和增量構(gòu)建。對(duì)于龐大的系統(tǒng)而言,增量構(gòu)建能節(jié)省很多時(shí)間和機(jī)器資源。
SCM工具通過(guò)獲取需要的信息進(jìn)行構(gòu)建工作,并讓構(gòu)建過(guò)程可重復(fù)進(jìn)行。一個(gè)SCM工具通常包括Make工具來(lái)產(chǎn)生可執(zhí)行軟件。
流程控制和支持
流程支持意味著正式的過(guò)程模型的定義和用于幫助實(shí)現(xiàn)模型的機(jī)制。有些工具提供狀態(tài)轉(zhuǎn)移圖和以活動(dòng)為中心的建模的解決方案。變更控制是SCM工具的傳統(tǒng)組成部分之一。
需要注意的是,SCM工具的根本目的是支持和自動(dòng)化SCM活動(dòng),并為開發(fā)人員提供幫助。正如Weatherall說(shuō)的:“SCM首先是一種態(tài)度;其次,一個(gè)流程;最后才是一套工具”。