ClearCase及配置管理 隨著(zhù)軟件團隊人員的增加,軟件版本不斷變化,時(shí)間的緊缺,多種平臺的復雜環(huán)境,使得 ClearCase所擁有的特殊組件已成為當今軟件開(kāi)發(fā)人員(工程人員和管理者)所必須的工具。分布式操作使得基于Client/Server的運算結構跨越于網(wǎng)上客戶(hù)機和服務(wù)器,ClearCase的先進(jìn)功能直接解決了原來(lái)開(kāi)發(fā)團隊所面臨的難以處理的問(wèn)題。 軟件開(kāi)發(fā)所面臨的問(wèn)題包括:對當前多種產(chǎn)品的開(kāi)發(fā)和維護,保證產(chǎn)品版本的精確,重建先前發(fā)布的產(chǎn)品,加強開(kāi)發(fā)政策的統一和對特殊版本需求的處理。通過(guò)解決這些問(wèn)題,ClearCase用資源重用的方法幫助開(kāi)發(fā)團隊使他們所有的軟件建立得更加可靠。 Rational公司的ClearCase是軟件配置領(lǐng)域的先導,它主要基于Windows和UNIX的開(kāi)發(fā)環(huán)境。它提供了全面的配置管理──包括版本控制、工作空間管理、建立管理和過(guò)程控制,而且無(wú)須軟件開(kāi)發(fā)者改變他們現有的環(huán)境、工具和工作方式?!?br>ClearCase的四種功能 ClearCase主要應用于復雜的產(chǎn)品發(fā)放、分布式團隊合作、并行的開(kāi)發(fā)和維護任務(wù),包括支持當今流行軟件開(kāi)發(fā)環(huán)境Client/Server網(wǎng)絡(luò )結構。在激烈的市場(chǎng)競爭中,ClearCase的特點(diǎn)直接響應了軟件團隊的需求,如:軟件生產(chǎn)、發(fā)布、維護等。 ClearCase在某些方式上和其它的軟件配置管理系統有所不同,從本質(zhì)上,ClearCase是無(wú)可比擬的,因為它包含了一套完整的軟件配置管理工具而且結構透明、界面可親。雖然ClearCase是一個(gè)可集成使用的環(huán)境,但實(shí)際上我們仍可以把ClearCase的所有特性劃分為四個(gè)具體功能范疇。 Version Control ClearCase自動(dòng)追蹤每一個(gè)文件和目錄的變更情況,通過(guò)分支和歸并功能支持并行開(kāi)發(fā)。在軟件開(kāi)發(fā)環(huán)境中,ClearCase可以對每一種對象類(lèi)型(包括源代碼、二進(jìn)制文件、目錄內容、可執行文件、文檔、測試包、編譯器、庫文件等)實(shí)現版本控制。因而,ClearCase提供的能力遠遠超出資源控制,并且可以幫助團隊,在開(kāi)發(fā)軟件時(shí)為他們所處理的每一種信息類(lèi)型建立一個(gè)安全可靠的版本歷史記錄。 Workspace Management ClearCase給每一位開(kāi)發(fā)者提供了一致性、靈活性和工作空間域(有時(shí)也稱(chēng)為"Sandboxes")可重用的功能。ClearCase采用一種稱(chēng)為View的創(chuàng )新技術(shù),它可以選擇所指定任務(wù)的每一個(gè)文件或目錄的適當版本,并呈現它們。View可以讓開(kāi)發(fā)者在資源代碼共享和私有代碼獨立的不斷變更中達到平衡,從而使他們工作更有效。 Build Management ClearCase自動(dòng)產(chǎn)生軟件系統構造文檔信息清單,而且可以完全、可靠的重建任何構造環(huán)境。ClearCase也可以通過(guò)共享二進(jìn)制文件和并發(fā)執行多個(gè)建立腳本的方式支持有效的軟件構造。 Process Control ClearCase有一個(gè)靈活、強大的功能,可以明確項目設計的流程。自動(dòng)的常規日志可以監控軟件被誰(shuí)修改、修改了什么內容以及執行政策,如:可以通過(guò)對全體人員的不同授權來(lái)阻止某些修改的發(fā)生,無(wú)論任何時(shí)刻某一事件發(fā)生應立刻通知團隊成員,對開(kāi)發(fā)的進(jìn)程建立一個(gè)永久記錄并不斷維護它。 優(yōu)勢 ClearCase幫助所有規模的開(kāi)發(fā)組織進(jìn)行更加有效的開(kāi)發(fā)和維護、加強競爭力、增加收益、降低成本。獨特的ClearCase帶來(lái)的特殊利益: 增加團隊效率――通過(guò)對并行開(kāi)發(fā)的支持來(lái)實(shí)現,包括圖形比較和歸并、標簽、版本目錄 結構。 增加個(gè)人效率 ――通過(guò)自動(dòng)的工作空間管理來(lái)實(shí)現,如:直接的版本訪(fǎng)問(wèn)、消除了在拷貝文件上的時(shí)間的浪費。 簡(jiǎn)單的維護和提高對客戶(hù)的支持――通過(guò)快速準確的重建先前的版本來(lái)實(shí)現。 快速準確的產(chǎn)品發(fā)布 ――通過(guò)保證構造的準確性和對軟件的每一個(gè)元件進(jìn)行版本控制來(lái)實(shí)現。 減少錯誤發(fā)生 ――通過(guò)事件發(fā)生以后對每一個(gè)元件的變更進(jìn)行追蹤來(lái)實(shí)現。 硬件資源的優(yōu)化 ――通過(guò)分布式構造、減少文件拷貝、可用對象的共享等功能來(lái)實(shí)現。 提高項目協(xié)調和編制 ――通過(guò)文件注釋和開(kāi)發(fā)周期階段變更的自動(dòng)關(guān)聯(lián)來(lái)實(shí)現。 提高產(chǎn)品質(zhì)量 ――通過(guò)靈活的進(jìn)程控制,和圖形接口定制,使得軟件開(kāi)發(fā)在實(shí)際中保持 一致。 更加有效的團隊擴展――通過(guò)減少系統管理和維護的負擔來(lái)實(shí)現。 支持分布式結構使得團隊成長(cháng)――通過(guò)Client/Server結構進(jìn)行多點(diǎn)復制和及時(shí)的對象版本的更新來(lái)實(shí)現。 使用配置管理工具而降低風(fēng)險――由于它不干擾軟件程序員的工作,所以可以使用常用的工具和文件系統接口。 增加了軟件的安全性和保護性 ――通過(guò)使用分布式的存儲結構,所有的軟件資源會(huì )隨時(shí)更新、在硬盤(pán)或網(wǎng)絡(luò )出現錯誤時(shí)那些被ClearCase存儲的版本信息會(huì )立刻恢復。 減少培訓和實(shí)現成本 ――ClearCase通過(guò)采用透明結構以及和標準開(kāi)發(fā)工具進(jìn)行集成來(lái)實(shí)現。 強有力的開(kāi)發(fā)和維護 ――通過(guò)和其它工具(如:缺陷追蹤)、系統、結構進(jìn)行集成。 支持不同種類(lèi)的開(kāi)發(fā) ――通過(guò)兼容不同平臺的軟件配置管理系統,如:Windows NT、UNIX、和一些Client端的軟件,如:Windows 95、Windows NT、Windows 3.1和Windows for Workgroups。 連接UNIX 和Windows的橋梁 ClearCase全面支持軟件配置管理,給那些經(jīng)??缭綇碗s環(huán)境(如:UNIX、Windows系統)進(jìn)行復雜項目開(kāi)發(fā)的團隊帶來(lái)巨大的效益。當UNIX和Windows的軟件工程人員提出了平臺的特性后,ClearCase for UNIX和ClearCase for Windows有高度互用性。 對于它所支持的平臺,ClearCase通過(guò)TCP/IP來(lái)連接客戶(hù)端和服務(wù)器。另外,ClearCase擁有的浮動(dòng)License可以跨越UNIX和Windows NT平臺被共享。ClearCase for Windows NT對ClearCase UNIX VOBs的訪(fǎng)問(wèn)與瀏覽可以通過(guò)一個(gè)NFS for Windows NT的產(chǎn)品來(lái)實(shí)現。
ClearCase四大功能詳述(版本控制) ClearCase的核心功能是版本控制,它是對在軟件開(kāi)發(fā)進(jìn)程中一個(gè)文件或一個(gè)目錄發(fā)展過(guò)程進(jìn)行追蹤的手段。ClearCase對所有文件系統對象(包括文件、目錄和鏈接)增強了版本控制系統功能??啥ò姹镜奈募ㄔ创a、可執行文件、位圖文件、需求文檔、設計說(shuō)明、測試計劃、和一些ASCII和非ASCII文件。目錄的版本記錄了整個(gè)組織基礎資源的發(fā)展狀況,包括源文件的建立、重新命名、重新構造和刪除操作等。 這種版本控制系統提供了先進(jìn)的版本分支和歸并功能用于支持并行開(kāi)發(fā)。 控制任何文件的版本 ClearCase可以對每一個(gè)軟件組件或元件的版本進(jìn)行維護和控制。ClearCase也可以維護一個(gè)非文本文件、目錄和工具的版本。正如:它可以管理庫文件、編譯器、需求文檔、 測試包和數據庫而不僅僅是源代碼。 ClearCase的元件類(lèi)型可以管理版本內容。用戶(hù)可以定義自己的元件類(lèi)型,也可以使用ClearCase中的預定義類(lèi)型:文本文件、壓縮文本文件、文件、壓縮文件和二進(jìn)制增量文件。 ClearCase可以利用增量算法將文本文件存儲在一個(gè)特殊結構的文件容器中。ClearCase采用標準的壓縮技術(shù)和增量算法存儲一個(gè)壓縮文本文件。(這比以往的存儲形式節省了50%―70%的存儲空間。) 這種元件類(lèi)型文件和壓縮文件可以被用于控制任何操作系統文件──比如,可執行程序、程序資源庫、結構數據庫和結構文檔文件。二進(jìn)制增量文件類(lèi)型可以隨時(shí)被用于二進(jìn)制文件格式。 在版本樹(shù)中組織元件發(fā)展的過(guò)程 在ClearCase中,元件版本的組織體現在版本樹(shù)結構中。一個(gè)版本書(shū)的結構可以按目錄結構定制, 還可以包含多層分支和子分支。 在一個(gè)典型的開(kāi)發(fā)環(huán)境中,很多元件的版本樹(shù)結構最初僅包含一個(gè)分支,即, 元件的版本排列在同一條線(xiàn)型隊列中。隨著(zhù)時(shí)間的發(fā)展,當用戶(hù)做一些錯誤修復、代碼的組織、一些實(shí)驗性修改或指定平臺的開(kāi)發(fā)時(shí),它們可以給一些相關(guān)元件定義子分支,從而脫離主干進(jìn)行開(kāi)發(fā)。ClearCase可以支持多級的分支操作,還可以給版本或分支命名。 對目錄和子目錄進(jìn)行版本控制 ClearCase可以對目錄和子目錄進(jìn)行版本控制,允許開(kāi)發(fā)者對他們數據的組織發(fā)展過(guò)程進(jìn)行追蹤。目錄版本對一些改變進(jìn)行控制,如:建立一個(gè)新文件、修改文件名、 建立新的子目錄或在目錄間移動(dòng)文件等。 ClearCase也支持對目錄自動(dòng)進(jìn)行比較和歸并的操作。 存儲數據在一個(gè)可訪(fǎng)問(wèn)的版本對象類(lèi)中(VOBS) ClearCase把所有版本控制的數據存放在一個(gè)永久、安全的存儲區中,這個(gè)存儲區被稱(chēng)為版本對象類(lèi)(Version Object Bases),項目團隊(或管理者)可以決定它們所需要的VOBs的數量,可以決定什么樣的目錄或文件需要被維護。VOBs不僅是一個(gè)可連接的文件系統而且也是網(wǎng)上的資源──主機可以連接任何數量的VOBs. ClearCase VOBs的組成模式跟UNIX、Windows NT的文件系統和分布式的數據庫系統非常類(lèi)似。ClearCase采用Raima數據管理機制區維護VOB數據庫。當在ClearCase中連接和訪(fǎng)問(wèn)時(shí),VOB象一個(gè)標準的軟件作為目錄樹(shù)的形式出現在客戶(hù)面前,包含標準的文件對象:目錄、文件、符號鏈接和硬鏈接。但事實(shí)上,文件系統已經(jīng)有廣泛的版本控制組件:它包含目錄元素、目錄元素版本、文件元素、文件元素版本、VOB動(dòng)態(tài)鏈接和VOB硬鏈接。開(kāi)發(fā)者也可以查看和這些文件系統對象相關(guān)的數據。這些數據包括事件記錄,建立審核以及用戶(hù)定義的項如:版本標簽和屬性。 使用常見(jiàn)的檢出/編輯/檢入范例 ClearCase的命令可以控制元素的變化,確保存儲區有序的繁衍并使數據損壞的程度達到最小。ClearCase采用一種檢出/編輯后檢入的范例,類(lèi)似于傳統的版本控制工具如:RCS和SCCS。ClearCase除了可以進(jìn)行檢出、檢入以及非檢出操作外,它還可以通過(guò)命令設置另外的操作,如:刪除版本、建立/刪除分枝、可按時(shí)間順序排列或結構排列順序列出版本歷史、比較版本間的差異,并且可以歸并并行開(kāi)發(fā)的版本。 當開(kāi)始對于一個(gè)指定的文件進(jìn)行工作時(shí),該文件具有只讀屬性──這意味著(zhù)它不能被編輯或刪除。而檢出操作可以對該文件的最近版本形成一個(gè)可編輯的拷貝。它無(wú)須將文件拷貝到另一區域工作。檢出的注釋可以被提供。當編輯完成后,該文件被檢入,于是在版本樹(shù)中形成一個(gè)新的版本并且將可編輯的拷貝刪除。為了檢驗文件的變化,在檢入過(guò)程中可以填入注釋信息。文件一旦被檢入,即刻回復到只讀狀態(tài)成為共享數據,可被所有成員使用。 ClearCase支持兩種檢出,保留以及非保留。保留檢出可以保證版本歷史形成的正確范圍,并且同時(shí)只允許一個(gè)人做保留檢出的操作。非保留檢出無(wú)須保證建立一個(gè)成功的版本,如果多個(gè)用戶(hù)同時(shí)對同一元素執行非保留檢出,也企圖進(jìn)行檢入操作,那么第一個(gè)檢入操作被允許,而其他用戶(hù)必須通過(guò)歸并操作合并它們的結果。 豐富的注釋信息和版本數據的報表 ClearCase存儲了和文件系統對象相關(guān)又截然不同的信息類(lèi)。這些信息實(shí)際上并不包含在對象中,它是一些額外數據。這些數據可以由ClearCase產(chǎn)生,也可以由用戶(hù)自己定義。在VOB數據庫中存儲了所有的數據。 ClearCase產(chǎn)生的這種數據信息提供了可靠的、面向文件系統的版本注釋信息。比如:這些數據可以驗證在某一時(shí)刻,元素A建立了一個(gè)新的版本。用戶(hù)定義的數據可以用來(lái)表達額外的功能──比如:該文件的版本曾被用于構造應用系統的4.31版。 ClearCase的操作(如:檢出、檢入、和版本歸并)可以建立時(shí)間記錄,記錄數據包含這些操作信息。這些記錄被存儲在VOB數據庫中,主要描述了該操作的屬性"誰(shuí)做的、做什么、什么時(shí)候、在哪個(gè)地方及為什么",比如:敲入命令的人員的ID號,操作的種類(lèi),操作的時(shí)間,主機名稱(chēng)及用戶(hù)填入的描述??梢酝ㄟ^(guò)"lshistory"的命令顯示存儲在VOB中的事件記錄,并且可以通過(guò)歷史信息瀏覽器提供的圖形接口觀(guān)察VOB中的事件記錄。 用戶(hù)可以針對多種目的定義數據,包含分支的名稱(chēng)、版本標簽、元素任一版本的注釋信息。 ClearCase數據的另一種應用是形成注釋的文本文件。注釋命令可以通過(guò)行顯示的形式列出任何一個(gè)版本文本文件的內容,這使得我們可以更容易的看到什么時(shí)候在不同的地方做了添加或刪除的操作。 ClearCase也可以針對文件系統對象建立客戶(hù)報表。而報表的種類(lèi)可以由用戶(hù)自己定制輸出格式。 通過(guò)分支功能支持并行開(kāi)發(fā) ClearCase支持并行(同時(shí))開(kāi)發(fā),每一個(gè)元素都可以沿著(zhù)不同的分枝同時(shí)發(fā)展,即新的版本加到獨立的分支上。ClearCase可以很容易的產(chǎn)生分支,也可以很容易的將不同分支進(jìn)行合并。這樣一來(lái),即便某一部分的工作被凍結或加鎖,開(kāi)發(fā)者仍然可以繼續自己的工作(如:在軟件集成期)。在這種情況,開(kāi)發(fā)者可以在分支上工作,我們知道, ClearCase的自動(dòng)化操作和圖形歸并工具可以讓我們很容易的重新集成新的工作。 并行開(kāi)發(fā)是非常重要的,因為: ?。?)它允許不同的項目在同一時(shí)間使用同一資源樹(shù)。 ?。?)它將目前不可和其他人員共享的修改成果進(jìn)行隔離。 ?。?)它將絕對不可和其他人員共享的修改成果進(jìn)行隔離(如:已發(fā)布版本中的錯誤修復)。 ?。?)它使得在軟件集成期間開(kāi)發(fā)工作無(wú)需停止,程序員可以先在分枝上開(kāi)發(fā),以后再集成。 為了支持并行開(kāi)發(fā),ClearCase允許進(jìn)行分支建立,追蹤分支的使用,文件比較,自動(dòng)歸并功能。 自動(dòng)的比較和版本間的歸并 并行開(kāi)發(fā)的特點(diǎn)是對同一元素的不同版本進(jìn)行定期比較,也需要對版本間內容進(jìn)行歸并。在ClearCase中,對于元素或文本文件進(jìn)行比較和歸并的操作有兩種:基于字符型和圖形界面型。其中,diff命令執行多文件比較,不執行歸并。而歸并命令可以處理32個(gè)"成員",并把它們生成一個(gè)獨立的文件。 ClearCase可以自動(dòng)辨認歸并選項并實(shí)現歸并。ClearCase也可以對需要歸并的項目元素進(jìn)行定位。如果所有的"成員"(歸并元素)是同一元素的版本,系統會(huì )自動(dòng)確定基礎"成員",通常是最低版本。此外,ClearCase會(huì )記錄基礎版本和某一歸并元素版本間的差異。如果,所有的"成員"間差異互不相同,ClearCase會(huì )自動(dòng)建立歸并版本。如果兩個(gè)或多個(gè)歸并"成員"文件內容部分不同,歸并功能會(huì )提示開(kāi)發(fā)者選擇歸并內容。ClearCase也可以實(shí)現反向歸并――從主分支向子分支歸并。 ClearCase的加歸并功能可以在歸并其它分支時(shí)選擇指定的版本(那些在分支上自始至終進(jìn)行變化的版本)。負歸并操作可以刪除部分版本差異,從而形成一個(gè)新的版本,該版本除了那些被刪除的變更外包含所有的改變。 ClearCase四大功能詳述(工作空間管理) 快速、有效的工作空間建立對于提高個(gè)人和團隊的效益是非常重要的。通過(guò)視圖(VIEW)的使用,ClearCase提供了一套獨立的工作空間管理設施,可以實(shí)現動(dòng)態(tài)評估、選擇指定用戶(hù)版本和透明的訪(fǎng)問(wèn)多種配置的功能。 版本間的透明訪(fǎng)問(wèn) ClearCase提供了對版本進(jìn)行透明訪(fǎng)問(wèn)的功能。通過(guò)VOB機制(包含文件或目錄的多個(gè)版本),ClearCase可以讓開(kāi)發(fā)者和應用者以一種標準文件目錄樹(shù)的形式訪(fǎng)問(wèn)VOB。這個(gè)特性被成為透明――ClearCase的版本控制系統因而變得可視化。 透明是一個(gè)非常重要的特性,它允許ClearCase在使用系統軟件、商業(yè)應用和內部工具時(shí)進(jìn)行平滑的工作。比如:象grep,more,ls,cc這種標準UNIX程序,在操作ClearCase版本控制數據時(shí)與操作一般的文件系統對象的方式一樣。 通過(guò)ClearCase的多版本文件系統可以(MVFS)在虛擬文件系統上實(shí)現透明操作。MVFS可中斷標準的I/O調用,并且ClearCase的版本選擇結構可以細化到從一個(gè)元素到另一個(gè)元素版本的目標調用。 對于Windows NT,ClearCase的MVFS一般缺省作為"M:"驅動(dòng)盤(pán)出現,活動(dòng)視圖作為"M:"盤(pán)的根目錄出現。正常情況下,ClearCase可以為每一個(gè)活動(dòng)視圖分配更多的虛擬盤(pán)(從"Z:"以后工作―)。把VOB設置成每一個(gè)虛擬盤(pán)的子目錄。這樣就可以讓開(kāi)發(fā)者使用自己的工具透明的訪(fǎng)問(wèn)被ClearCase控制的數據,甚至是UNIX VOBs和視圖。 通過(guò)規則視圖選擇并顯示版本 ClearCase的視圖提供了強大的、獨立的工作空間管理(也稱(chēng)作"環(huán)境管理"或"沙盒管理")。通過(guò)使用動(dòng)態(tài)評估、用戶(hù)指定版本選擇規則,視圖可以讓開(kāi)發(fā)者對任何元素的任何版本進(jìn)行透明的、文件級的訪(fǎng)問(wèn)。ClearCase的視圖具有靈活性、可調性、有效性并可隨時(shí)自動(dòng)更新。 通過(guò)開(kāi)發(fā)者對ClearCase控制的數據和程序的版本進(jìn)行選擇,視圖可以對完整的文件系統配置進(jìn)行動(dòng)態(tài)管理。它也可以訪(fǎng)問(wèn)主機上的其它數據和程序。 ClearCase支持規范的開(kāi)發(fā)環(huán)境,它可以維護公有和私人兩種數據存儲類(lèi)型。所有的ClearCase用戶(hù)可以共享或公開(kāi)在VOB中存儲的數據,它們包括一些常規訪(fǎng)問(wèn)的計劃信息。存儲在視圖中的私有數據一般包含屬于開(kāi)發(fā)者個(gè)人的文件,如:通過(guò)標準工具被檢出的文件元素版本,在視圖中由ClearCase建立的原始對象,和由視圖用戶(hù)在VOB目錄中建立的文件和目錄。視圖在"虛擬工作空間"存儲了這兩種數據,開(kāi)發(fā)者每天對其執行檢入、檢出、編輯原文件操作、建立軟件和修復系統等操作。 在視圖中選擇的版本可以稱(chēng)為視圖配置。視圖配置是動(dòng)態(tài)的并可以在任何時(shí)候被開(kāi)發(fā)者修改。視圖配置在配置規格說(shuō)明的一系列規章被定義。一般的,視圖的配置在通配符和助記符的術(shù)語(yǔ)表中被定義,而不是通過(guò)指定具體的版本名稱(chēng)。 每個(gè)開(kāi)發(fā)者都可以擁有多個(gè)視圖,并且可以在任何視圖中設置過(guò)程。此外,不同視圖可以看同一路徑名下的同一元素的不同版本。比如:一個(gè)視圖可以瀏覽某一元素最近的版本;另一視圖也可瀏覽該元素的某一版本,它可能曾經(jīng)用于構造某一具體的發(fā)放版本;可能還有其它視圖瀏覽該元素用于修復錯誤的版本。 此外,那些不受ClearCase版本控制的所有的文件和目錄(標準文件、本地的腳本和程序,等。),也都可以通過(guò)視圖進(jìn)行瀏覽。從而使得ClearCase成為開(kāi)發(fā)者的好友,當他們使用視圖瀏覽數據文件、修改框架腳本、編譯程序時(shí),通過(guò)使用擴展視圖的路徑名或擴展版本的路徑名,開(kāi)發(fā)者可以提高透明度。擴展視圖路徑名可以覆蓋當前視圖并且可以訪(fǎng)問(wèn)當前出現在其它視圖中的元素的版本擴展版本路徑名是一種獨立的視圖,它可以通過(guò)版本樹(shù)的位置或版本標簽定制一個(gè)特殊的版本,而不管該版本究竟出現在哪個(gè)視圖中。 從沒(méi)有安裝ClearCase的主機平臺進(jìn)行視圖訪(fǎng)問(wèn) 在局域網(wǎng)中ClearCase所控制的數據對于未安裝ClearCase的機器也可使用。比如:一個(gè)ClearCaseUNIX主機可以通過(guò)一種特殊的視圖輸出VOB;而網(wǎng)上的其他主機可以通過(guò)NFS機制連接它。這樣它就讓開(kāi)發(fā)者在未安裝ClearCase的主機平臺上使用自己的工具對視圖進(jìn)行讀寫(xiě)訪(fǎng)問(wèn),編譯并建立自己的應用。未安裝ClearCase的主機必須重新注冊或使用安裝ClearCase的UNIX主機上的X-Windows系統做檢入、檢出操作。 ClearCase四大功能詳述(建立管理) 使用ClearCase,構造軟件的處理過(guò)程可以和傳統的方法兼容。對于ClearCase控制的數據可以使用自制腳本或本機的make程序,但ClearCase的向上兼容建立工具clearmake和omake為構造提供了重要的特性:自動(dòng)完成任務(wù)、保證重建的可靠性、存儲時(shí)間和支持并行的分布式結構的建立。 支持UNIX和Windows型的makefile的建立 ClearCase包括兩種獨立的建立程序,clearmake和omake。這兩種程序合并了ClearCase的主要建立特點(diǎn),包括配置lookup,二進(jìn)制文件共享,和配置記錄。Clearmake程序主要適用于使用UNIX型的makefile包含(gnumake)的用戶(hù)。Omake主要適用于那些需要和Windows上的建立程序(包括:Borland Make、Microsoft NAMAKE、Intersolv Configuration Builder、和OpusMake)兼容的用戶(hù)。 自動(dòng)檢測所關(guān)聯(lián)的原文件,包括所關(guān)聯(lián)的頭文件 clearmake和omake通過(guò)使用當前原文件(向一些被檢入、檢出文件)的配置,可以在視圖中靈活的建立整個(gè)或部分軟件系統。Clearmake和omake在makefile時(shí)無(wú)須描述所關(guān)聯(lián)的頭文件(或任何所關(guān)聯(lián)的原文件)。 在ClearCase開(kāi)發(fā)環(huán)境中,原始對象扮演著(zhù)決定性的角色。源對象是由clearmake和omake 建立的文件對象或目錄對象。典型的源對象應該包括由文檔系統產(chǎn)生的對象模塊,可執行程序,庫文檔,規格文檔,內容表。源對象組件包括:作為目標被建立的文件名;獨立的源對象ID;數據容器指針(存儲建立腳本所產(chǎn)生的數據的文件);配置記錄指針(信息清單);和參考計算(指示源對象當前出現的視圖號)。 自動(dòng)的追蹤建立,產(chǎn)生永久性的資料清單 在執行建立腳本期間,clearmake和omake在ClearCase的多版本文件系統下執行一個(gè)建立追蹤。這MVFS記錄了在連接的VOB中每一個(gè)被讀或執行的文件的版本;它也可以注釋哪些文件被建立(或被覆蓋)。在執行建立腳本之后,clearmake和omake將追蹤的數據寫(xiě)入配置記錄中,存儲到VOB數據庫中。VOB數據庫指針將配置記錄分配到每一個(gè)建立過(guò)程的源對象中。 配置記錄就是源對象信息清單,包含它的內容和建立時(shí)的有用信息: ■ 存儲在VOB中,在重建時(shí)使用的文件元素的版本――包含ClearCase控制下的源文件和工具(比如:編譯器)。 ■ 在建立過(guò)程中使用的每一個(gè)私人視圖文件。 ■ 在makefile過(guò)程中使用的非ClearCase文件。 ■ 建立腳本的文本及所有的可擴展宏。 ■ 操作系統版本和CPU類(lèi)型。 ■ 執行建立過(guò)程的用戶(hù);執行建立腳本的主機;由clearmake設置的視圖和建立過(guò)程開(kāi)始的日期和時(shí)間。 ClearCase的配置文件可以讓源對象進(jìn)行比較――不依靠對象數據,而依靠它們的建立配置信息。Diffcr(compare config rec)命令可以輸出不同配置文件間的差異,包括: ■ 源文件的差異,非源文件修改的時(shí)間戳。 ■ 建立過(guò)程中執行腳本的差異,包含makefile中不同的宏值。 ■ 那些不影響clearmake或omake建立的非必要差異,包括建立時(shí)間/日期,主機名,視圖名。 開(kāi)發(fā)者間共享二進(jìn)制代碼,時(shí)間和存儲空間的存儲 基于makefile一個(gè)很重要的方面,避免不必要的建立過(guò)程。Clearmake和omake的建立策略是非常優(yōu)秀的,專(zhuān)為并行開(kāi)發(fā)方案做的特殊設計。 Clearmake和omake可以通過(guò)配置文件檢測現場(chǎng)情況,檢測哪些源對象可以在多個(gè)視圖中被共享。這個(gè)工具還可以進(jìn)行磁盤(pán)存儲和建立時(shí)間存儲。Clearmake和omake提供了三種可供選擇的建立方式: ■ 重用視圖中現存的目標――clearmake和omake使用一種技術(shù),它比比較時(shí)間戳更熟練。配置信息可進(jìn)行源版本對照,建立腳本對照,建立選項對照。 ■ 執行傳送建立腳本――make、clearmake和omake以同樣的方式執行目標建立。但是clearmake和omake可以對建立過(guò)程進(jìn)行追蹤,并將追蹤信息分配到每一個(gè)重建過(guò)程相關(guān)的文件中。文件和它的配置信息組成了源對象。 ■ 從某一視圖中wink-in源對象――clearmake和omake可以了解到早先在其它視圖建立的同一目標的多種實(shí)例。在驗證后,正確的源版本,建立選項和建立腳本被用于建立其它的實(shí)例,clearmake和omake將對視圖執行一個(gè)wink-in操作。一個(gè)源對象現在可以被其它視圖所共享。 跨越不同機型進(jìn)行并行分布式建立 Clearmake支持分布式建立(使用其它主機上的執行腳本)和并行建立(執行一致的建立腳本)。比如:clearmake可以進(jìn)行三方建立,所有的進(jìn)程都在一個(gè)多處理器的計算機服務(wù)器上執行。在局域網(wǎng)中,它可以跨越所有工作站進(jìn)行分布建立。 Clearmake也支持跨多種開(kāi)發(fā)環(huán)境的建立。 自動(dòng)的跨多種主機(UNIX)的平衡加載,分布建立 clearmake有一個(gè)尖端平衡加載技術(shù),可以?xún)?yōu)化分布式建立的執行。用戶(hù)指定功能等于分布式建立服務(wù)器的主機,并且設置變量,包括:時(shí)間、機器裝載和控制每一臺機器建立的用戶(hù)id 。clearmake可以跨越這些主機自動(dòng)平衡裝載進(jìn)行分布建立。
ClearCase四大功能詳述(過(guò)程控制) 軟件開(kāi)發(fā)的策略和過(guò)程由于行業(yè)和開(kāi)發(fā)隊伍的不同而有很大差異,但是有一點(diǎn)是肯定的:即提高軟件質(zhì)量,縮短產(chǎn)品投放市場(chǎng)時(shí)間。ClearCase為團隊通信、質(zhì)量保證、變更管理都提供了非常有效的過(guò)程控制和策略控制機制。這些過(guò)程和策略控制機制充分支持質(zhì)量標準的實(shí)施與保證,如:SEI Capability Maturity Model 和ISO 9000。 ClearCase具有以下過(guò)程控制的優(yōu)勢 集成了一些靈活、定制的工具 ClearCase提供了過(guò)程和策略控制機制以提高軟件質(zhì)量,縮短產(chǎn)品投放市場(chǎng)時(shí)間,以及調控整個(gè)軟件開(kāi)發(fā)過(guò)程。ClearCase所具有的監測和控制開(kāi)發(fā)過(guò)程的工具無(wú)需指定預定義方法學(xué)、政策、以及過(guò)程。它本身的靈活性、強有力性,為管理者實(shí)現現有策略的自動(dòng)化和鞏固以及創(chuàng )建其它新的過(guò)程管理系統成為可能。ClearCase中所包含的靈活機動(dòng)的工具可以讓開(kāi)發(fā)人員實(shí)現: ■ 監控開(kāi)發(fā)過(guò)程; ■ 組織、交叉查詢(xún)開(kāi)發(fā)中涉及到的所有數據,如:源代碼、記錄、設計初衷、技術(shù)手冊等; ■ 在個(gè)人和團隊之間實(shí)現自動(dòng)化的通訊; ■ 自動(dòng)處理冗長(cháng)、有錯誤傾向的步驟。 這些工具都是基于元數據操作的,所以過(guò)程管理所涉及到的數據結 構和程序都是獨立于元素變量?jì)热莸???偠灾?,主要的過(guò)程管理特征就是:以元數據抓取狀態(tài)信息,策略增強工具、?quot;通知"特性。 利用元數據抓取狀態(tài)信息 ClearCase元數據(在VOB中與對象相關(guān)聯(lián)的數據)抓取特定對象的狀態(tài)信息。在過(guò)程控制中共有三種類(lèi)型的ClearCase元數據可用: ■ 屬性。一個(gè)屬性是一對值: 名字=取值。開(kāi)發(fā)者可對大多數對象賦予屬性。屬性可取多種類(lèi)型的值,整型、字符串、日期等。取值被限制在特定的范圍內,或限定于特定的枚舉值。例如,Codequality屬性可有A、B、C、D或F五個(gè)值。其強有力的查詢(xún)工具允許用戶(hù)查找,如一個(gè)叫John的用戶(hù)在上個(gè)月創(chuàng )建的包含Codequality=A的所有版本文件。而增強機制則自動(dòng)為對象分配了屬性。 ■ 超級鏈接。所謂超級鏈接是一個(gè)連接著(zhù)兩個(gè)對象的邏輯"箭頭"。例如,一個(gè)超級鏈接可以連接設計文檔和資源代碼模塊。超級鏈接可追溯到所有的元素變量、特定的版本(需求追蹤也同樣需要)、或者對象中的某一部分。它可跨越VOB并重命名、移動(dòng)一個(gè)對象或這個(gè)對象所在VOB。利用超級鏈接瀏覽器,用戶(hù)還可以顯示、創(chuàng )建、訪(fǎng)問(wèn)、維護CLEARCASE超級鏈接的網(wǎng)絡(luò )。 ■ 歷史事件。ClearCase自動(dòng)記錄下來(lái)重要的狀態(tài)信息,當對象發(fā)生變更的時(shí)候,它會(huì )收集"誰(shuí)、何時(shí)、為什么"、用戶(hù)注釋、以及其它的重要數據。系統也會(huì )保留創(chuàng )建、釋放項目時(shí)的類(lèi)似信息。 定制的策略增強工具 ClearCase的策略增強工具支持管理者建立并加強一個(gè)好的軟件開(kāi)發(fā)策略。ClearCase的工具包括: ■ 事件預觸發(fā)。事件預觸發(fā)機制監視每一特定ClearCase操作(如:檢入 check-in)或操作類(lèi)(如:改變VOB的任一命令)的使用。在操作執行之前,觸發(fā)開(kāi)始,經(jīng)歷以下特定步驟:程序、批處理文件、腳本、其它內置動(dòng)作之一。同時(shí),一個(gè)觸發(fā)還可要求在執行某個(gè)操作命令之前對它進(jìn)行檢查,并據此判斷是繼續執行、還是取消操作。 ■ 鎖。針對于一個(gè)對象,鎖禁止對象發(fā)生變更。鎖可被劃分的很細(例如,只鎖住指定的元素變量),也可以籠統而論(例如,鎖住整個(gè)VOB)。一個(gè)典型的應用就是:在軟件集成階段,鎖住所有主干元素。而且,每個(gè)鎖可定義"鎖定例外表",允許特殊用戶(hù)修改對象。 ■ 訪(fǎng)問(wèn)控制。對所有元素采用類(lèi)似UNIX的保護機制。這種保護機制控制讀、寫(xiě)、以及基于傳統標準上的對象執行:?jiǎn)蝹€(gè)用戶(hù)的、開(kāi)發(fā)團隊的、或其它。同時(shí),它還對文件系統之下的物理存儲施加保護,有效的制止那些試圖逃避ClearCase或破壞原始操作系統存儲的小動(dòng)作。 ■ 自動(dòng)創(chuàng )建分支。當所有的變更動(dòng)作是在分支上以同種模式進(jìn)行時(shí),最易于維護工作。而ClearCase恰恰增強了這一點(diǎn),當元素檢出的時(shí)候,ClearCase會(huì )為它自動(dòng)創(chuàng )建分支,并指定一個(gè)名字。 “通知”特性能自動(dòng)生成報表、交流信息 ■ 事件后觸發(fā)。事件后觸發(fā)機制好象一個(gè)監視器,它在特定操作完成后運行。實(shí)際上,這一觸發(fā)會(huì )在某個(gè)命令執行后、或給某個(gè)對象賦予屬性后,把這些動(dòng)作通知給用戶(hù)。為了便于腳本和程序實(shí)施觸發(fā)動(dòng)作,ClearCase自動(dòng)設置了一些環(huán)境變量。以一個(gè)"檢入"的事件后觸發(fā)為例,它會(huì )告之質(zhì)量保證部門(mén)有一個(gè)用戶(hù)已修改過(guò)某一特定的文件,并且,還會(huì )包括在 "檢入"時(shí)那個(gè)用戶(hù)輸入的注釋。 ■ 查詢(xún)功能。ClearCase中有一個(gè) find(查詢(xún))命令,使得開(kāi)發(fā)者迅速的獲知當前項目的狀態(tài)。實(shí)際上,find(查詢(xún))命令就是在一個(gè)或多個(gè)VOB數據庫上實(shí)施查詢(xún)操作。例如,查找不具有 Passed=QA屬性且屬于Release 2.0的所有版本文件。 ■ 動(dòng)態(tài)配置規格。配置規格的方法是根據標簽、屬性、超級鏈接、以及歷史事件選擇版本文件。和find(查詢(xún))命令一樣,這些方法同樣具備查詢(xún)功能。如,配置規格可以選擇“具有Passed=QA屬性的最新版本,或者是由用戶(hù)drp創(chuàng )建的最新版本。”
|