• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    UCM狂熱者:從Base方式轉移到UCM ClearCase

    發布: 2008-2-03 15:25 | 作者: Christian Buckley | 來源: IBM | 查看: 278次 | 進入軟件測試論壇討論

    領測軟件測試網 Christian Buckley (buckley@redhillpartners.com) , 部門負責人, Red Hill Partners
    Darren Pulsipher (darrenp@cadence.com) , 配置管理架構師, Cadence Design Systems

    你想過將ClearCase由base方式轉移到UCM方式嗎?你的base配置支持你的組織當前的使用模型嗎?你可能想考慮何時決定轉移到UCM方式,這里有來自Christian Buckley和Darren Pulsipher的一些想法。
    什么是統一變更管理(UCM),以及它如何應用于IBM? Rational ClearCase?

    UCM被發展出來,使得人們從一個有效的使用模型開始使用ClearCase變得更容易了。這是由于"base" ClearCase配置非常靈活,以至于很多組織發現使用這個軟件比較困難。為了讓ClearCase對于他們的特殊需求更加有用,他們編寫了自己的腳本和過程。UCM在確定ClearCase使用模型的大多數公共元素上進行了努力,并創建了使應用軟件更加有效的對象和方法。

    如果你現在正在運行base ClearCase方式,你可能在某些點上考慮升級至UCM。但是從什么地方開始呢?涉及哪些內容呢?區別在什么地方?在考慮從你當前的ClearCase系統遷移到UCM系統之前,你應該首先理解你當前的使用模型--以及你的組織自從安裝以來如何使用Basic ClearCase對象。這個變化的過程非常類似于第一次遷移到ClearCase系統的過程。對于任何新的項目,你需要弄明白在你可以向前走時你處于什么位置。

    首先,你應該回顧一下當前使用的基本ClearCase對象。通過回顧當前的對象,你將能夠了解你的基礎裝置和UCM方式之間的區別,更好地理解新的UCM對象帶給你的ClearCase系統的新功能。進行此變更的大多數組織發現,他們已經編寫了許多自己的腳本來執行由一些UCM對象包含的功能。象這樣的一些情況,采用UCM對象就會很好。這會使你受益,因為此時ClerCase與你的定制開發有相同的功能,在系統里你會有更少的必須支持的腳本,使得你可以花更多的時間關注實際的工作。

    基本的ClearCase對象
    如果你已經完成了一個配置管理(CM)計劃,同樣可以做。如果你還沒有一個計劃,請參見IBM Rational Unified Process 方法論選擇一個合適的模板。一個好的配置管理 (CM)計劃應該包括非常概括的工作流程條款,和特定的ClearCase規劃。如果你已經有了自己系統詳細的規劃,將會發現UCM的變化將會相當直接。至少你將會容易地能夠看到無論是否是UCM對于你的實施都是一個很好的適合。那就是你希望有一個對于已有對象和你當前的對象的清除的理解--僅僅因為UCM是可用的,不必要地意義你將會使用它。

    UCM主要是對你已經一直在使用的base ClearCase 對象增加了額外的對象和工作流。因此,在你著手這些變更前,首先看一下關于當前使用的ClearCase對象的一些問題:

    VOB(版本對象庫)
    版本對象庫(VOB)在UCM中如同在base ClearCase使用模型中一樣重要。你有可能在你當前的系統里繼續使用相同的VOB結構。當你可能改變少量東西使其在UCM中更有效時,你可能最希望什么也不做。當然,你將會需要回答一些有關你的VOB結構的基本問題,這些問題的大多數可能已經在你的配置管理計劃里進行了回答:

    你的VOBs是如何計劃的?
    你有admin VOBs嗎?
    VOBs之間的關系是怎樣的?
    在VOBs里包含哪些種類信息,以及它們的目錄是如何組織的?
    視圖(View)
    UCM使用視圖做一些有趣的事情。他們通常較之于基礎ClearCase方式執行有更長的持續時間;卮痍P于視圖如何創建和刪除是很重要的。另外,配置規格(config specs)自動地在UCM里產生,并且它們可能不是你所希望的。重要的是你也可以描述配置規格,因而理解從原有舊系統到新系統的映射。問問你自己:

    誰能創建視圖?
    視圖創建的頻率是如何的?
    視圖創建是自動地還是手動地?
    視圖保留多長時間?
    什么時候刪除視圖?
    配置規格是自動創建的嗎?
    配置規格是共享的嗎?
    標簽(Label)
    標簽有太多種不同的使用方法,可以使你變得頭暈。列出關于標簽的所有可能問題是不可能的,但是如果你是負責任地并構建了一個表,這個表包含了在你的系統里的每種標簽類型的信息,那你就是處于正確的道路上。在UCM里使用標簽會有助于UCM使用模型。理解下面的問題總會是好的:

    標簽如何使用?
    什么時候使用標簽?(構造,合并,工作流控制)
    你的標簽命名方案是什么?
    當標簽不再被需要時,如何廢棄和刪除?
    分支(Branch)
    如果你正在使用base ClearCase而沒有使用分支,那么你可能還是忽略下面的問題比較好,因為實質上你還沒有一個base ClearCase的使用模型。如果是這種情況,你可以直接轉換到UCM模型,而不用從你的當前模型進行映射。實際上,無論你當前有什么都必須拋棄掉。

    如果在你的模型里有分支,那么你有許多工作要做。UCM分支模型使用流的概念,我們稍后會討論。有可能,你的分支模型將會徹底被拋棄。然而,另一方面,你的使用模型可能仍然是可用的。確保你花時間來理解下面的問題:

    什么時候創建一個分支類型?
    你的命名約定是什么?
    什么時候元素移動到分支?
    你的分支策略是什么?
    有多少人在同一個分支上工作?
    你有一個集成分支嗎?
    你在“main”分支上做什么?
    你要讓你的分支過時效嗎?
    什么時候分支被棄用和刪除?
    合并(Merging)
    與你的分支一樣,你需要花一些時間在本節里理解關于合并的問題。UCM有集成點和新的命令來處理從一個分支到另一個分支的代碼合并,這需要通過稱為提交和變基的兩個概念來完成。理解為什么合并以及何時進行合并是非常重要的。問問你自己:

    什么時候進行代碼合并?是由一個事件引起觸發?還是由時間引起觸發?
    代碼是自動合并還是手動合并?
    誰對代碼合并負責?
    允許從集成分支合并到開發分支嗎?
    從一個開發分支合并到一個集成分支的頻率是怎樣的?
    觸發器(Trigger)
    在大多數的base ClearCase系統中,觸發器是非常重要的,因為他們有助于工作流程和過程控制。UCM有一些方針,包括了ClearCase觸發器的使用。確保你的配置管理計劃描述了你的觸發器和使用它們的VOB。理解這些問題是重要的:

    你使用的觸發器是什么,為什么要使用它們?
    哪些VOB使用的哪些觸發器?
     

    UCM中的基本對象
    Base ClearCase提出了一些很抽象的概念,例如分支,標簽,超鏈接,元素,視圖和版本對象庫,UCM作出了更高級別的抽象,我們每天用于進行開發,集成和提交產品。這些更高層的概念是:

    項目(Project)
    流(Stream)
    活動(Activitie)
    基線(Baseline)
    構件(Component)
    如果你已經使用base ClearCase 有一段時間了,你會很快發現這些概念已經存在你的系統里了,要么是在文檔中,要么在腳本中?梢园阉J為是你的才華的一個證實,軟件現在提供了你曾經創建腳本去做的所有事情--現在你可以繼續輕松下來,使用這些可利用的東西。

    項目(Project)
    項目用于為一組人在一個單一的項目上提供工作。它可以是一個產品的發布,一個完整項目的子系統,或者是集成一些產品形成一個套間。項目包含了一個集成流和零個和多個開發流。這是項目必須的開始計劃。當開始創建項目前,盡管你需要和市場人員、軟件開發團隊、質量保證人員坐下來討論,同時技術方面的作者開始確定你希望如何一起工作。

    有關項目的ClearCase 命令包括:mkproject, lsproject, chproject, 和rmproject。

    流(Stream)
    流可以比喻成開發的分支。流基本上是由元素的特定版本組成。普通分支和流主要的區別是在流里保存了附件的信息。比如,流里包含了基線,和一組活動。它也可以包含和其它流的關系,比如父流;,加上活動集,決定流里包括元素的哪些版本。


    圖1:流的例子

    在圖1里,有兩個活動--活動1和活動2--已經添加到了流里;由那些在圖里顯示為粗體線條的元素版本表示。兩個活動包含表示為不同的模式的元素版本。

    流有兩種基本的類型:集成流和開發流。對項目有一個且只有一個集成流 。在非常簡單的項目里,開發者可以在集成流里做變更,工作在流里的每個項目成員只要一有檢入,就會看到所有其它的變更。更復雜的項目可能有一個和更多級別的開發流,它們始于集成流的不同基線配置。在此情況下,開發者在其唯一的開發流上進行“個人”工作,并且項目成員不會立即看到彼此的工作。一旦開發者完成了他們自己在開發流上的工作,并準備共享給其余的項目成員時,開發流的內容被“提交”到集成流上。想像集成流是把來自開發流的所有變更集合在一起。


    圖2:集成流的例子

    有關流的ClearCase命令包括: mkstream, lsstream, chstream, 和rmstream。

    基線(Baseline)
    基線代表了用于開始一個流和變基一個流的元素版本。一種查看基線的簡單方法是把它們和標簽進行比較,困難在于附加信息(包括關系)保存在基線里;是很多活動的起點,比如創建流,變基流,等等。

    有關基線的ClearCase命令包括:mkbl, lsbl, chbl, rmbl, diffbl, setplevel, 和cleardiffbl。

    活動(Activitie)
    在ClearCase UCM項目里對任何元素的所有的變更必須關聯到一個活動。一個活動是你的團隊成員工作的基本單元。它有以下這些構件:

    一個標題(ID)
    一個創建者
    一個變更集(變更元素的集合)
    一個相應的流
    如果你正在使用IBM Rational ClearQuest,一個活動通常聯系到一個缺陷或一條增強請求。

    有關活動的ClearCase命令包括:mkactivity, lsactivity, chactivity, 和rmactivity。

    構件(Component)
    構件允許你組建一組相關的目錄和文件元素在一起,并且把它們和UCM項目進行綁定。一個構件被開發、集成,并且其所有的部分是一起發布的。所有的項目必須有一個和多個構件,并且在項目間可以共享構件。然而,一個構件不能跨越多個版本對象庫(VOB),最大的構件大小就是它的版本對象庫(VOB)。關于構件的其它內容包括:

    元素不能從一個構件移動到另一個構件。
    一個元素只能存在一個構件里。
    一旦創建了一個構件,你不能重新組織它到子構件里。
    預先計劃構件是非常重要的。一個策略是:將要共享給其它項目的所有元素置于同一個構件中,或放到構件組中。

    有關構件的ClearCase命令包括:mkcomp, lscomp, 和rmcomp。

    文件夾(Folder)
    一個文件夾是一個項目或多個項目包含信息的容器。文件夾可以包含其他的文件夾,以及任意數量的項目。你可能在你的VOB中一直在使用目錄作為base ClearCase中的某些對象種類的一個文件夾,F在文件夾是第一個類對象,作為替代,你可以使用它們。

    有關文件夾的ClearCase命令包括:mkfolder, lsfolder, rmfolder 和chfolder。

    有用的UCM命令
    理解UCM對象是將你的當前過程映射到UCM的第一步,但是為了有助于你的規劃,還有一些你應當很好了解的常用命令。這些是基本的命令,可能是開發者經常使用的,理解什么時候使用這些命令是非常重要的。

    工作在活動上
    在檢入或檢出文件前,開發者需要設置一個活動到當前的視圖;顒訉⒏櫾谝晥D里發生的變化。所有的變更保存在一個變更集里。當提交活動時,變更集關聯到這些提交到集成流里的活動,因此團隊里的每個人能看到這些變更。

    提交變更
    一旦在一個活動上結束工作,你可以提交你的變更到默認的集成流(父流),或者提交到任何其它的你選擇的流。流可以接受或拒絕變更,這取決于在團隊里建立的方針。提交活動的命令是:

    cleartool deliver -- 將元素的變更從一個源流提交到目標流。提交的狀態也可以從此命令得到。

    當提交開始時,它創建一個特殊的活動提交變更到集成流;顒拥膭摻ㄓ兄诠芾砣魏慰赡艿暮喜_突和解決措施。提交可以分兩步完成,或者是在一個單獨步驟中完成。第一步是執行變更元素的合并。第二步確定變更并標識活動的完成。你可以通過使用complete標記來強制一步提交完成。

    變基工作空間
    你可能會階段性地從集成流變基你的流。記。愕拈_發流通常會等待很長時間。你會階段性地需要從你的團隊成員的活動上得到更新;旧,在ClearCase變基命令只做如下工作:提供(并然后變更)其它團隊成員已經提交到一個集成流上的活動。

    cleartool rebase -- 變更流的配置

    變基流時是一個多步驟的過程,很象提交活動。你可以從集成流集成代碼到開發流,這包括移動標簽并解決合并沖突。如同提交命令一樣,-complete可以用于將自動創建的活動標記為已完成(換句話說,強制進行一步變基)。

    作為一個配置經理,你最好提供推薦基線,來讓開發者能變基他們的開發流。例如,一個穩定的構造可以放到推薦的基線列表上,使開發者能夠看到他們正在從一個在給定時間上的代碼開始工作。

    將兩個世界連在一起
    由于使用 base ClearCase,很多UCM模型的概念對于你已經做的可能不是很困難,F在主要規劃的是什么是UCM要做的。接下來你能可以檢查一下從整個UCM中得到的不同可用模型間的區別。這不是你能在兩個小時內做到的--正如我們所概述的,你會需要花時間來構建一個完整的配置管理計劃。你也需要徹底地詳細說明你目前在使用什么,以及你想使用UCM做什么。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: clearcase ClearCase 配置管理


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>