軟件開發(fā)的策略和過程由于行業(yè)和開發(fā)隊伍的不同而有很大差異,但是有一點是肯定的:即提高軟件質(zhì)量,縮短產(chǎn)品投放市場時間。ClearCase為團隊通信、質(zhì)量保證、變更管理都提供了非常有效的過程控制和策略控制機制。這些過程和策略控制機制充分支持質(zhì)量標準的實施與保證,如:SEI Capability Maturity Model 和ISO 9000。
ClearCase具有以下過程控制的優(yōu)勢
集成了一些靈活、定制的工具
ClearCase提供了過程和策略控制機制以提高軟件質(zhì)量,縮短產(chǎn)品投放市場時間,以及調(diào)控整個軟件開發(fā)過程。ClearCase所具有的監(jiān)測和控制開發(fā)過程的工具無需指定預(yù)定義方法學(xué)、政策、以及過程。它本身的靈活性、強有力性,為管理者實現(xiàn)現(xiàn)有策略的自動化和鞏固以及創(chuàng)建其它新的過程管理系統(tǒng)成為可能。ClearCase中所包含的靈活機動的工具可以讓開發(fā)人員實現(xiàn):
■ 監(jiān)控開發(fā)過程;
■ 組織、交叉查詢開發(fā)中涉及到的所有數(shù)據(jù),如:源代碼、記錄、設(shè)計初衷、技術(shù)手冊等;
■ 在個人和團隊之間實現(xiàn)自動化的通訊;
■ 自動處理冗長、有錯誤傾向的步驟。
這些工具都是基于元數(shù)據(jù)操作的,所以過程管理所涉及到的數(shù)據(jù)結(jié) 構(gòu)和程序都是獨立于元素變量內(nèi)容的。總而言之,主要的過程管理特征就是:以元數(shù)據(jù)抓取狀態(tài)信息,策略增強工具、?quot;通知"特性。
利用元數(shù)據(jù)抓取狀態(tài)信息
ClearCase元數(shù)據(jù)(在VOB中與對象相關(guān)聯(lián)的數(shù)據(jù))抓取特定對象的狀態(tài)信息。在過程控制中共有三種類型的ClearCase元數(shù)據(jù)可用:
■ 屬性。一個屬性是一對值: 名字=取值。開發(fā)者可對大多數(shù)對象賦予屬性。屬性可取多種類型的值,整型、字符串、日期等。取值被限制在特定的范圍內(nèi),或限定于特定的枚舉值。例如,Codequality屬性可有A、B、C、D或F五個值。其強有力的查詢工具允許用戶查找,如一個叫John的用戶在上個月創(chuàng)建的包含Codequality=A的所有版本文件。而增強機制則自動為對象分配了屬性。
■ 超級鏈接。所謂超級鏈接是一個連接著兩個對象的邏輯"箭頭"。例如,一個超級鏈接可以連接設(shè)計文檔和資源代碼模塊。超級鏈接可追溯到所有的元素變量、特定的版本(需求追蹤也同樣需要)、或者對象中的某一部分。它可跨越VOB并重命名、移動一個對象或這個對象所在VOB。利用超級鏈接瀏覽器,用戶還可以顯示、創(chuàng)建、訪問、維護CLEARCASE超級鏈接的網(wǎng)絡(luò)。
■ 歷史事件。ClearCase自動記錄下來重要的狀態(tài)信息,當對象發(fā)生變更的時候,它會收集"誰、何時、為什么"、用戶注釋、以及其它的重要數(shù)據(jù)。系統(tǒng)也會保留創(chuàng)建、釋放項目時的類似信息。
定制的策略增強工具
ClearCase的策略增強工具支持管理者建立并加強一個好的軟件開發(fā)策略。ClearCase的工具包括:
■ 事件預(yù)觸發(fā)。事件預(yù)觸發(fā)機制監(jiān)視每一特定ClearCase操作(如:檢入 check-in)或操作類(如:改變VOB的任一命令)的使用。在操作執(zhí)行之前,觸發(fā)開始,經(jīng)歷以下特定步驟:程序、批處理文件、腳本、其它內(nèi)置動作之一。同時,一個觸發(fā)還可要求在執(zhí)行某個操作命令之前對它進行檢查,并據(jù)此判斷是繼續(xù)執(zhí)行、還是取消操作。
■ 鎖。針對于一個對象,鎖禁止對象發(fā)生變更。鎖可被劃分的很細(例如,只鎖住指定的元素變量),也可以籠統(tǒng)而論(例如,鎖住整個VOB)。一個典型的應(yīng)用就是:在軟件集成階段,鎖住所有主干元素。而且,每個鎖可定義"鎖定例外表",允許特殊用戶修改對象。
■ 訪問控制。對所有元素采用類似UNIX的保護機制。這種保護機制控制讀、寫、以及基于傳統(tǒng)標準上的對象執(zhí)行:單個用戶的、開發(fā)團隊的、或其它。同時,它還對文件系統(tǒng)之下的物理存儲施加保護,有效的制止那些試圖逃避ClearCase或破壞原始操作系統(tǒng)存儲的小動作。
■ 自動創(chuàng)建分支。當所有的變更動作是在分支上以同種模式進行時,最易于維護工作。而ClearCase恰恰增強了這一點,當元素檢出的時候,ClearCase會為它自動創(chuàng)建分支,并指定一個名字。
“通知”特性能自動生成報表、交流信息
■ 事件后觸發(fā)。事件后觸發(fā)機制好象一個監(jiān)視器,它在特定操作完成后運行。實際上,這一觸發(fā)會在某個命令執(zhí)行后、或給某個對象賦予屬性后,把這些動作通知給用戶。為了便于腳本和程序?qū)嵤┯|發(fā)動作,ClearCase自動設(shè)置了一些環(huán)境變量。以一個"檢入"的事件后觸發(fā)為例,它會告之質(zhì)量保證部門有一個用戶已修改過某一特定的文件,并且,還會包括在 "檢入"時那個用戶輸入的注釋。
■ 查詢功能。ClearCase中有一個 find(查詢)命令,使得開發(fā)者迅速的獲知當前項目的狀態(tài)。實際上,find(查詢)命令就是在一個或多個VOB數(shù)據(jù)庫上實施查詢操作。例如,查找不具有 Passed=QA屬性且屬于Release 2.0的所有版本文件。
■ 動態(tài)配置規(guī)格。配置規(guī)格的方法是根據(jù)標簽、屬性、超級鏈接、以及歷史事件選擇版本文件。和find(查詢)命令一樣,這些方法同樣具備查詢功能。如,配置規(guī)格可以選擇“具有Passed=QA屬性的最新版本,或者是由用戶drp創(chuàng)建的最新版本?!?
ClearCase具有以下過程控制的優(yōu)勢
集成了一些靈活、定制的工具
ClearCase提供了過程和策略控制機制以提高軟件質(zhì)量,縮短產(chǎn)品投放市場時間,以及調(diào)控整個軟件開發(fā)過程。ClearCase所具有的監(jiān)測和控制開發(fā)過程的工具無需指定預(yù)定義方法學(xué)、政策、以及過程。它本身的靈活性、強有力性,為管理者實現(xiàn)現(xiàn)有策略的自動化和鞏固以及創(chuàng)建其它新的過程管理系統(tǒng)成為可能。ClearCase中所包含的靈活機動的工具可以讓開發(fā)人員實現(xiàn):
■ 監(jiān)控開發(fā)過程;
■ 組織、交叉查詢開發(fā)中涉及到的所有數(shù)據(jù),如:源代碼、記錄、設(shè)計初衷、技術(shù)手冊等;
■ 在個人和團隊之間實現(xiàn)自動化的通訊;
■ 自動處理冗長、有錯誤傾向的步驟。
這些工具都是基于元數(shù)據(jù)操作的,所以過程管理所涉及到的數(shù)據(jù)結(jié) 構(gòu)和程序都是獨立于元素變量內(nèi)容的。總而言之,主要的過程管理特征就是:以元數(shù)據(jù)抓取狀態(tài)信息,策略增強工具、?quot;通知"特性。
利用元數(shù)據(jù)抓取狀態(tài)信息
ClearCase元數(shù)據(jù)(在VOB中與對象相關(guān)聯(lián)的數(shù)據(jù))抓取特定對象的狀態(tài)信息。在過程控制中共有三種類型的ClearCase元數(shù)據(jù)可用:
■ 屬性。一個屬性是一對值: 名字=取值。開發(fā)者可對大多數(shù)對象賦予屬性。屬性可取多種類型的值,整型、字符串、日期等。取值被限制在特定的范圍內(nèi),或限定于特定的枚舉值。例如,Codequality屬性可有A、B、C、D或F五個值。其強有力的查詢工具允許用戶查找,如一個叫John的用戶在上個月創(chuàng)建的包含Codequality=A的所有版本文件。而增強機制則自動為對象分配了屬性。
■ 超級鏈接。所謂超級鏈接是一個連接著兩個對象的邏輯"箭頭"。例如,一個超級鏈接可以連接設(shè)計文檔和資源代碼模塊。超級鏈接可追溯到所有的元素變量、特定的版本(需求追蹤也同樣需要)、或者對象中的某一部分。它可跨越VOB并重命名、移動一個對象或這個對象所在VOB。利用超級鏈接瀏覽器,用戶還可以顯示、創(chuàng)建、訪問、維護CLEARCASE超級鏈接的網(wǎng)絡(luò)。
■ 歷史事件。ClearCase自動記錄下來重要的狀態(tài)信息,當對象發(fā)生變更的時候,它會收集"誰、何時、為什么"、用戶注釋、以及其它的重要數(shù)據(jù)。系統(tǒng)也會保留創(chuàng)建、釋放項目時的類似信息。
定制的策略增強工具
ClearCase的策略增強工具支持管理者建立并加強一個好的軟件開發(fā)策略。ClearCase的工具包括:
■ 事件預(yù)觸發(fā)。事件預(yù)觸發(fā)機制監(jiān)視每一特定ClearCase操作(如:檢入 check-in)或操作類(如:改變VOB的任一命令)的使用。在操作執(zhí)行之前,觸發(fā)開始,經(jīng)歷以下特定步驟:程序、批處理文件、腳本、其它內(nèi)置動作之一。同時,一個觸發(fā)還可要求在執(zhí)行某個操作命令之前對它進行檢查,并據(jù)此判斷是繼續(xù)執(zhí)行、還是取消操作。
■ 鎖。針對于一個對象,鎖禁止對象發(fā)生變更。鎖可被劃分的很細(例如,只鎖住指定的元素變量),也可以籠統(tǒng)而論(例如,鎖住整個VOB)。一個典型的應(yīng)用就是:在軟件集成階段,鎖住所有主干元素。而且,每個鎖可定義"鎖定例外表",允許特殊用戶修改對象。
■ 訪問控制。對所有元素采用類似UNIX的保護機制。這種保護機制控制讀、寫、以及基于傳統(tǒng)標準上的對象執(zhí)行:單個用戶的、開發(fā)團隊的、或其它。同時,它還對文件系統(tǒng)之下的物理存儲施加保護,有效的制止那些試圖逃避ClearCase或破壞原始操作系統(tǒng)存儲的小動作。
■ 自動創(chuàng)建分支。當所有的變更動作是在分支上以同種模式進行時,最易于維護工作。而ClearCase恰恰增強了這一點,當元素檢出的時候,ClearCase會為它自動創(chuàng)建分支,并指定一個名字。
“通知”特性能自動生成報表、交流信息
■ 事件后觸發(fā)。事件后觸發(fā)機制好象一個監(jiān)視器,它在特定操作完成后運行。實際上,這一觸發(fā)會在某個命令執(zhí)行后、或給某個對象賦予屬性后,把這些動作通知給用戶。為了便于腳本和程序?qū)嵤┯|發(fā)動作,ClearCase自動設(shè)置了一些環(huán)境變量。以一個"檢入"的事件后觸發(fā)為例,它會告之質(zhì)量保證部門有一個用戶已修改過某一特定的文件,并且,還會包括在 "檢入"時那個用戶輸入的注釋。
■ 查詢功能。ClearCase中有一個 find(查詢)命令,使得開發(fā)者迅速的獲知當前項目的狀態(tài)。實際上,find(查詢)命令就是在一個或多個VOB數(shù)據(jù)庫上實施查詢操作。例如,查找不具有 Passed=QA屬性且屬于Release 2.0的所有版本文件。
■ 動態(tài)配置規(guī)格。配置規(guī)格的方法是根據(jù)標簽、屬性、超級鏈接、以及歷史事件選擇版本文件。和find(查詢)命令一樣,這些方法同樣具備查詢功能。如,配置規(guī)格可以選擇“具有Passed=QA屬性的最新版本,或者是由用戶drp創(chuàng)建的最新版本?!?

