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