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