乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      配置管理系統(tǒng)中的概念

       伊蓮 2006-09-26

      1      
      簡(jiǎn)介

      現(xiàn)在,軟件配置管理的環(huán)境及其工具越來(lái)越得到人們的重視,這一點(diǎn)從CM體系中提供的概念中就顯而易見(jiàn)。本文對(duì)這些概念進(jìn)行了闡明。首先,在一典型的CM情形中,我們 對(duì)CMCM體系做了更為廣泛的定義。

      1.1 配置管理的定義

      軟件配置管理是一控制軟件系統(tǒng)演變的學(xué)科。關(guān)于CM的經(jīng)典討論在條文[3]、[4]中進(jìn)行了闡述。IEEE標(biāo)準(zhǔn)729-1983CM以下的內(nèi)容進(jìn)行了規(guī)范的定義。

      IEEE標(biāo)準(zhǔn)729-1983中,軟件配置管理的定義包括:

      標(biāo)識(shí)——識(shí)別產(chǎn)品的結(jié)構(gòu)、產(chǎn)品的構(gòu)件及其類型,為其分配唯一的標(biāo)識(shí)符,并以某種形式提供對(duì)它們的存取。

      控制——通過(guò)建立產(chǎn)品基線,控制軟件產(chǎn)品的發(fā)布和在整個(gè)軟件生命周期中對(duì)軟件產(chǎn)品的修改。例如,它將解決哪些修改會(huì)在該產(chǎn)品的最新版本中實(shí)現(xiàn)的問(wèn)題。

      狀態(tài)統(tǒng)計(jì)——記錄并報(bào)告構(gòu)件和修改請(qǐng)求的狀態(tài),并收集關(guān)于產(chǎn)品構(gòu)件的重要統(tǒng)計(jì)信息。例如,它將解決修改這個(gè)錯(cuò)誤會(huì)影響多少個(gè)文件的問(wèn)題。

      審計(jì)和審查——確認(rèn)產(chǎn)品的完整性并維護(hù)構(gòu)件間的一致性,即確保產(chǎn)品是一個(gè)嚴(yán)格定義的構(gòu)件集合。例如,它將解決目前發(fā)布的產(chǎn)品所用的文件的版本是否正確的問(wèn)題。

      生產(chǎn)——對(duì)產(chǎn)品的生產(chǎn)進(jìn)行優(yōu)化管理。它將解決最新發(fā)布的產(chǎn)品應(yīng)由哪些版本的文件和工具來(lái)生成的問(wèn)題。

      過(guò)程管理——確保軟件組織的規(guī)程、方針和軟件周期得以正確貫徹執(zhí)行。它將解決要交付給用戶的產(chǎn)品是否經(jīng)過(guò)測(cè)試和質(zhì)量檢查的問(wèn)題。

      小組協(xié)作——控制開(kāi)發(fā)統(tǒng)一產(chǎn)品的多個(gè)開(kāi)發(fā)人員之間的協(xié)作。例如,它將解決是否所有本地程序員所做的修改都已被加入到新版本的產(chǎn)品中的問(wèn)題。

      軟件配置管理的解決方案涉及面很廣,將影響軟件開(kāi)發(fā)環(huán)境、軟件過(guò)程模型、配置管理系統(tǒng)的使用者、軟件產(chǎn)品的質(zhì)量和用戶的組織機(jī)構(gòu)。

      配置管理解決方案將影響過(guò)程模型和模型的使用者,是因?yàn)樗鼜?qiáng)行推行組織的方針政策和工作規(guī)程,并對(duì)工作過(guò)程進(jìn)行跟蹤。它從開(kāi)發(fā)和維護(hù)的及時(shí)性方面影響產(chǎn)品的質(zhì)量。例如,配置管理機(jī)制可以保證為每一個(gè)發(fā)布的版本提供內(nèi)容清單,通過(guò)一致性維護(hù)提高產(chǎn)品的質(zhì)量。配置管理解決方案通常在組織范圍內(nèi)推行,實(shí)際上配置管理系統(tǒng)是組織內(nèi)部信息交換的中心,它影響組織內(nèi)的每一個(gè)成員及組織的業(yè)務(wù)流程。

      總之,一個(gè)配置管理解決方案的制定包括配置管理計(jì)劃、過(guò)程的定義、與使用者的交流、自動(dòng)化支持和做出管理決定等活動(dòng)。

      軟件組織應(yīng)該提出不同層次的配置管理視角,這些層次包括:公司級(jí)、項(xiàng)目級(jí)、程序員級(jí)和應(yīng)用級(jí)。公司級(jí)視角提供組織的全貌圖和配置管理過(guò)程的描述;項(xiàng)目級(jí)視角是與項(xiàng)目相關(guān)的各項(xiàng)目組可以使用不同的配置管理方案;程序員級(jí)視角是專門為程序員提供的且具有某些特定的配置管理功能;應(yīng)用級(jí)視角關(guān)心的是配置管理如何應(yīng)用到具體的問(wèn)題中去。

      1.2 CM系統(tǒng)的定義

      至于怎樣才算是構(gòu)成CM系統(tǒng)的,對(duì)此還沒(méi)有普遍接受的定義。例如:假如系統(tǒng)有版本控制功能,它是否就是一個(gè)CM系統(tǒng)呢?理想的CM系統(tǒng)是基于以上定義提供所有功能的系統(tǒng)。但是, 實(shí)際中的系統(tǒng)只能提供某種程度上實(shí)現(xiàn)的版本控制功能、配置識(shí)別功能、系統(tǒng)構(gòu)建功能、系統(tǒng)建模功能,或某種程度上提供CM的意識(shí)就被軟件工程大家族認(rèn)為是CM系統(tǒng)了。應(yīng)注意的是, 現(xiàn)有的CM體系提供只是一種功能的綜和而不是一標(biāo)準(zhǔn)的體系。本報(bào)告提及15個(gè)CM系統(tǒng),目前至少有40個(gè)系統(tǒng)可以為今所用。

      這里,有必要將CM系統(tǒng)和CM工具兩概念區(qū)分一下。CM系統(tǒng)可看作是其支持環(huán)境的一部分且以這種形式被售出。譬如,在RATIONAL[14]環(huán)境下CM功能成為該環(huán)境必不可少的一部分。CM工具可看作是一獨(dú)立的工具。譬如,版本控制系統(tǒng)(RCS)只是一個(gè)工具,因?yàn)樗杀话惭b在一個(gè)現(xiàn)有環(huán)境中。由于這種區(qū)分在本文不是那么重要,術(shù)語(yǔ)CM系統(tǒng)就被用來(lái)表示這兩概念。

      1.3 CM以用戶為導(dǎo)向的典型情形

      在討論CM體系之前,我們描述了一個(gè)簡(jiǎn)單、典型的、以用戶為導(dǎo)向的CM系統(tǒng)來(lái)作參考。在此情形下,包含了具有不同職責(zé)的人員:負(fù)責(zé)軟件小組的項(xiàng)目經(jīng)理、負(fù)責(zé)CM規(guī)程和方針的配置經(jīng)理、負(fù)責(zé)軟件產(chǎn)品開(kāi)發(fā)與維護(hù)的軟件工程人員、負(fù)責(zé)驗(yàn)證產(chǎn)品正確性的測(cè)試人員、負(fù)責(zé)確保產(chǎn)品高質(zhì)量的質(zhì)量保證經(jīng)理、使用產(chǎn)品的用戶。

      每一角色都有他們的目標(biāo)和任務(wù)。對(duì)項(xiàng)目經(jīng)理來(lái)講,其目標(biāo)是確保產(chǎn)品在一定的時(shí)間框架里得以開(kāi)發(fā)。因此,經(jīng)理監(jiān)控開(kāi)發(fā)過(guò)程并發(fā)現(xiàn)問(wèn)題,解決出現(xiàn)的問(wèn)題。這些又必須通過(guò)對(duì)軟件系統(tǒng)的現(xiàn)狀形成報(bào)告并予以分析以及對(duì)系統(tǒng)進(jìn)行審核才能完成。

      配置經(jīng)理的目標(biāo)是確保用來(lái)建立、更改及編碼測(cè)試的規(guī)程和方針得以貫徹執(zhí)行,同時(shí)使有關(guān)項(xiàng)目的信息容易獲得。為了對(duì)編碼更改形成控制,經(jīng)理引入對(duì)正規(guī)請(qǐng)求更改的機(jī)制,評(píng)估更改的機(jī)制[通過(guò)更改控制機(jī)構(gòu)(CCB),由它負(fù)責(zé)批準(zhǔn)對(duì)軟件系統(tǒng)的更改],和批準(zhǔn)更改的機(jī)制。經(jīng)理負(fù)責(zé)為工程人員創(chuàng)建并宣導(dǎo)任務(wù)單,基本上創(chuàng)建項(xiàng)目的框架。同時(shí),經(jīng)理還收集軟件系統(tǒng)中構(gòu)件的相關(guān)數(shù)據(jù),比如說(shuō)用以判斷系統(tǒng)中出現(xiàn)問(wèn)題的構(gòu)件的信息。

      對(duì)于軟件工程人員,他們的目標(biāo)是有效地創(chuàng)造出產(chǎn)品。這就意味著工程人員在創(chuàng)建產(chǎn)品、編碼測(cè)試及支持文檔的產(chǎn)生中不必相互間干涉。與此同時(shí),他們能有效地進(jìn)行溝通與協(xié)作。他們利用工具以幫助創(chuàng)建性能一致的軟件產(chǎn)品,通過(guò)相互通知要求的任務(wù)和完成的任務(wù)來(lái)進(jìn)行溝通與協(xié)調(diào)。做出的更改通過(guò)將它們進(jìn)行融合、分散和沖擊而得知。產(chǎn)品中的所有元素的演變連同其更改的原因及實(shí)際更改的記錄都予以保留。工程人員在創(chuàng)建、變更、測(cè)試及編碼的匯合上有自己的工作范圍。在某一點(diǎn)上,編碼會(huì)形成一個(gè)基線,它使得進(jìn)一步開(kāi)發(fā)得以延續(xù),為其它平行開(kāi)發(fā)得以進(jìn)行。

      測(cè)試的目標(biāo)是確保產(chǎn)品經(jīng)過(guò)測(cè)試達(dá)到要求。這里包括產(chǎn)品某一特定版本的測(cè)試和對(duì)某個(gè)產(chǎn)品的某種測(cè)試其結(jié)果予以記錄。錯(cuò)誤報(bào)告給相關(guān)人員并通過(guò)回歸測(cè)試進(jìn)行修補(bǔ)。

      質(zhì)量保證經(jīng)理的目標(biāo)是確保產(chǎn)品的高質(zhì)量。這意味著特定的規(guī)程和方針應(yīng)當(dāng)完成并得到相關(guān)的批準(zhǔn)。錯(cuò)誤應(yīng)得到糾正并應(yīng)對(duì)變化的部分進(jìn)行充分測(cè)試??蛻敉对V應(yīng)予以跟蹤。

      不同的客戶使用的產(chǎn)品版本也是不同的??蛻艨偸亲裱?span>規(guī)則來(lái)做變更要求、錯(cuò)誤顯示及產(chǎn)品改進(jìn)。

      理想的CM系統(tǒng)在這種情形下應(yīng)能夠支持所有這些目標(biāo)、角色和任務(wù)。這也意味著這些角色、任務(wù)和目標(biāo)決定了一CM系統(tǒng)要求的功能。本文提出的一些概念就是為了解決這些問(wèn)題。

      1.4 本文的結(jié)構(gòu)

      在簡(jiǎn)介中CMCM系統(tǒng)進(jìn)行了定義,列出一典型的CM情形,這樣一來(lái)也就暗示了CM體系的要求。第二節(jié)描述了CM系統(tǒng)中以用戶為導(dǎo)向的一些問(wèn)題。這些問(wèn)題影響用戶對(duì)CM系統(tǒng)的期望。第三節(jié)描述了CM概念譜。第四對(duì)CM體系的未來(lái)做了探討,第五節(jié)是結(jié)論。附錄是本文CM體系索引的概覽。

      2       CM體系用戶的有關(guān)問(wèn)題

      許多與CM有關(guān)的問(wèn)題直接影響到CM系統(tǒng)的用戶?,F(xiàn)有的CM體系從不同的角度解決這些問(wèn)題。盡管本文是為了就現(xiàn)有CM體系的特色進(jìn)行探討,但對(duì)這些問(wèn)題的闡述仍然有必要因?yàn)樗鼈冇绊懙接脩魧?duì)一CM系統(tǒng)的期望。這些問(wèn)題包括:

      用戶的角色問(wèn)題:

      不同CM體系用戶對(duì)CM體系的功能的要求也就不同。

      集成問(wèn)題:

      不同的集成問(wèn)題影響到CM系統(tǒng)的功效。

      啟用CM的時(shí)機(jī)問(wèn)題:

      一項(xiàng)目組何時(shí)啟用CM系統(tǒng)取決于CM系統(tǒng)的能力。

      控制水平問(wèn)題;

      CM系統(tǒng)對(duì)產(chǎn)品及產(chǎn)品的管理的控制水平可以是不同的。

      過(guò)程與產(chǎn)品問(wèn)題:

      一理想的CM系統(tǒng)提供CM的過(guò)程、產(chǎn)品及其附件。

      自動(dòng)化水平問(wèn)題:

      CM功能的實(shí)現(xiàn)總是手工與自動(dòng)程序的統(tǒng)一。

      功能問(wèn)題:

      CM體系具備實(shí)現(xiàn)CM眾多功能的許多特點(diǎn)。

      以下將對(duì)此做進(jìn)一步說(shuō)明。

      2.1 用戶的角色問(wèn)題

      正如1。3節(jié)中的情形表示的一樣,CM體系的用戶是多種多樣的。每一個(gè)用戶都有特定的角色,對(duì)CM也有不同的觀點(diǎn),因此,對(duì)CM系統(tǒng)的要求也就不同。這種要求是很分明的同時(shí)又是互補(bǔ)的。圖1是一功能組描述了項(xiàng)目經(jīng)理、配置經(jīng)理、軟件工程人員、質(zhì)量保證經(jīng)理及客戶對(duì)CM系統(tǒng)的期望。圖1中的每一個(gè)方框代表的是一主要的功能區(qū)域。圖1顯示在方框外(審核、統(tǒng)計(jì)、構(gòu)件、結(jié)構(gòu)與創(chuàng)建)在任何CM系統(tǒng)中都可獨(dú)立存在的功能區(qū)域,但當(dāng)與團(tuán)隊(duì)和過(guò)程功能合并時(shí),就得到一個(gè)完整的(或綜合的)CM系統(tǒng)了。

      創(chuàng) 

      結(jié) 構(gòu)

       

       

      建立

      剪輯

      優(yōu)化     更新

      更改影響分析

       

      獲取控制

      變更請(qǐng)求

      錯(cuò)誤查找

      變更告知

      分割

      統(tǒng)計(jì)

      現(xiàn)狀

      報(bào)告

      歷史紀(jì)錄

      追溯

      日志

      版本        庫(kù)

      配置     元素種類

      配置版本

      基線

      項(xiàng)目環(huán)境

      系統(tǒng)模型

      界面

      關(guān)系

      選擇     一致性

       

      審核

      構(gòu)

      統(tǒng)計(jì)

      控制

      生命周期支持

      事務(wù)管理

      溝通

      文檔

       

      團(tuán)隊(duì)

      工作區(qū)間   家族

      沖突解決

      過(guò)

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       


      1CM功能要求

      功能區(qū)域有:

      l         構(gòu)件:標(biāo)識(shí)、分類、存取構(gòu)成產(chǎn)品的組件。

      l         結(jié)構(gòu):表示產(chǎn)品的架構(gòu)。

      l         創(chuàng)建:支持產(chǎn)品的構(gòu)建及其產(chǎn)品的附件。

      l         審核:對(duì)產(chǎn)品及其過(guò)程的審核予以保留。

      l         統(tǒng)計(jì):采集與產(chǎn)品、過(guò)程相關(guān)的數(shù)據(jù)。

      l         控制:控制產(chǎn)品變更的方式及時(shí)間。

      l         過(guò)程:支持產(chǎn)品演變的管理。

      l         團(tuán)隊(duì)協(xié)作促進(jìn)項(xiàng)目組開(kāi)發(fā)及產(chǎn)品維護(hù)。

       

      以下將對(duì)這些功能區(qū)域的進(jìn)一步探討。

      u        對(duì)于元素的要求,用戶要:記錄元素的版本及其差異,差異的原因;確定構(gòu)成配置及配置版本的組件群;標(biāo)識(shí)出產(chǎn)品的基線及其外延產(chǎn)品,確定表示項(xiàng)目組件群及附件項(xiàng)目環(huán)境。而且,用戶需要數(shù)據(jù)庫(kù)來(lái)存取組件及CM信息,同時(shí)還有資源和對(duì)象編碼、執(zhí)行情況、圖表、文檔和基線。

      u        對(duì)于機(jī)構(gòu)的要求而言,用戶要:通過(guò)表示產(chǎn)品組件庫(kù)的系統(tǒng)模型來(lái)模擬產(chǎn)品的結(jié)構(gòu);標(biāo)明組件、版本、配置的界面使之可以重用;確定及維護(hù)組件間的關(guān)系;選擇兼容的組件使之形成有效的、一致的產(chǎn)品版本。

      u        對(duì)構(gòu)建的要求而言,用戶要:容易創(chuàng)建產(chǎn)品的手段;能隨時(shí)靜態(tài)分析產(chǎn)品的現(xiàn)狀;通過(guò)減少組件的堆積和節(jié)省區(qū)間來(lái)優(yōu)化系統(tǒng)創(chuàng)建的機(jī)制;進(jìn)行更改分析以預(yù)測(cè)因更改而導(dǎo)致的細(xì)小分化的手段;隨時(shí)都能對(duì)產(chǎn)品的任何部分、在任何階段容易得到更新。

      u        對(duì)于審核的要求而言,用戶要:所有更改的歷史記錄;所有與產(chǎn)品相關(guān)的組件與其演變的追溯性;完成任務(wù)的所有細(xì)節(jié)的日志。

      u        對(duì)于統(tǒng)計(jì)的要求而言, 用戶要:統(tǒng)計(jì)記錄的機(jī)制,產(chǎn)品現(xiàn)狀的檢驗(yàn),有關(guān)產(chǎn)品和過(guò)程的所有方面的報(bào)告能較易產(chǎn)生。

      u        對(duì)于控制要求而言,用戶要:為避免不必要的變更或變更沖突對(duì)系統(tǒng)中的組件的獲取應(yīng)予以控制,對(duì)于更改要求的表格及問(wèn)題報(bào)告形成在線支持;錯(cuò)誤查找的手段及何時(shí)對(duì)何人會(huì)產(chǎn)生什么影響;在不同但相關(guān)的產(chǎn)品版本之間以受控的方式進(jìn)行更改告知;將產(chǎn)品進(jìn)行分割的手段以限制更改影響。

      u        對(duì)于過(guò)程要求而言,用戶要:對(duì)生命周期模型及組織方針予以支持;確定要完成的任務(wù)及如何完成、何時(shí)完成的能力;將相干的事務(wù)的訊息在適當(dāng)?shù)娜藛T之間進(jìn)行溝通的能力;將產(chǎn)品的經(jīng)驗(yàn)文檔化的手段。

      u        對(duì)于團(tuán)隊(duì)協(xié)作的要求而言, 用戶要:個(gè)人和小組的工作區(qū)間;在匯合時(shí)產(chǎn)生沖突的解決辦法;對(duì)產(chǎn)品的創(chuàng)建及其維護(hù)予以支持的手段。

       

      注意:圖中過(guò)程方框與團(tuán)隊(duì)方框代表功能區(qū)域極為重要的部分。這是因?yàn)樗鼈冇绊懰衅渌鼌^(qū)域或受到所有其它區(qū)域的影響。對(duì)于用戶來(lái)講,理想的CM系統(tǒng)隨團(tuán)隊(duì)協(xié)作和過(guò)程的完全融合應(yīng)當(dāng)能支持所有的功能區(qū)域。但目前還沒(méi)有此類系統(tǒng)。

      2.2 CM系統(tǒng)的集成

      任何CM系統(tǒng)在某種程度上都能與它的環(huán)境融合。CM系統(tǒng)可與其它工具并存或完全融合。適合與不同環(huán)境方面融合的有:過(guò)程、工具組和數(shù)據(jù)庫(kù)。過(guò)程集成是將CM系統(tǒng)的使用模式(指CM過(guò)程)同環(huán)境的使用模式(指軟件生命周期過(guò)程)的結(jié)合;工具組的集成是將CM系統(tǒng)安裝在環(huán)境中使之至少能環(huán)境中其它所有工具共存。譬如,在編輯過(guò)程中, 每當(dāng)用戶發(fā)出“SAVE”命令時(shí),用戶就會(huì)要求CM功能能建立一新的版本。數(shù)據(jù)集成指的是CM數(shù)據(jù)庫(kù)的邏輯定位——它是否能與現(xiàn)存環(huán)境的數(shù)據(jù)庫(kù)能做某種方式的合并,或它的數(shù)據(jù)庫(kù)是否獨(dú)立存在的,或它能否利用其它數(shù)據(jù)庫(kù)中的信息。所有此類集成都是普通的工具集成和技術(shù)的轉(zhuǎn)換問(wèn)題。但,由于CM將影響到環(huán)境中的絕大部分物件并貫穿每一物件生命周期的所有階段,CM系統(tǒng)的集成勢(shì)必對(duì)環(huán)境中的很多工具有重要影響。大多數(shù)CM系統(tǒng)能與其它工具共存,有些環(huán)境把CM看成其必不可少的一部分。

      2.3 何時(shí)啟用CM系統(tǒng)

      對(duì)于在開(kāi)發(fā)和維護(hù)產(chǎn)品過(guò)程中, 項(xiàng)目組何時(shí)啟用CM系統(tǒng)是不定的。有些項(xiàng)目組選擇在產(chǎn)品經(jīng)歷開(kāi)發(fā)生命周期并準(zhǔn)備發(fā)到用戶地時(shí)開(kāi)始啟用。有的選擇在項(xiàng)目一開(kāi)始就將一切置于CM下。二者都有各自的一般費(fèi)用。譬如,項(xiàng)目組可能基于變更要求的費(fèi)用上來(lái)決定何時(shí)啟用。如果有許多的手工程序(如:將變更申請(qǐng)表歸檔、尋求CCB的批準(zhǔn)與確認(rèn)可),項(xiàng)目組會(huì)選擇在大部分開(kāi)發(fā)完成之后將軟件置于CM的控制之下。但如果變更要求程序能在線很快地得到處理,CM將在軟件生命周期的早期就被用上。理論上講,CM在產(chǎn)品的整個(gè)生命周期都能派上用場(chǎng) —— 從創(chuàng)建、開(kāi)發(fā)、產(chǎn)品發(fā)放、交付、使用到維護(hù)。在理想的情形下,CM能在較少的花費(fèi)下對(duì)此予以支持,由此CM才能在項(xiàng)目中盡可能早地予以應(yīng)用。

      然而,現(xiàn)有的CM系統(tǒng)只關(guān)注生命周期的某一特定的階段,用戶因此受到限制。

      2.4 CM的控制水平

      很多的程序、方針和工具組合一塊來(lái)支持CM的應(yīng)用。它們?cè)趯?duì)用戶的支持和產(chǎn)品的演變予以不同程度控制水平支持。譬如,它們會(huì)要求開(kāi)發(fā)人員遞交正式的書面的更改請(qǐng)求。配置經(jīng)理則會(huì)建立一個(gè)工作區(qū)間給軟件開(kāi)發(fā)人員。配置經(jīng)理可從受控庫(kù)存中抽取所要的文檔并將其置于該開(kāi)發(fā)人員的工作區(qū)間里。當(dāng)然,不同的程序、規(guī)定和工具事實(shí)上允許開(kāi)發(fā)人員也可以通過(guò)電子郵件的方式將更改請(qǐng)求通知配置經(jīng)理及CCB的其他成員。成員之間通過(guò)電子郵件予以迅速回應(yīng)。一經(jīng)批準(zhǔn),更改請(qǐng)求將被指派給開(kāi)發(fā)人員,他可以直接從庫(kù)存中抽取相關(guān)的文件并作出更改。所有這些無(wú)需手工介入。由于CM系統(tǒng)會(huì)自動(dòng)記錄所有的登入,更改過(guò)程的正式記錄就可創(chuàng)建。

      前一種情形可被看成對(duì)行動(dòng)具有積極的控制,后者較為松且被動(dòng)。在前一種情形中由于手工耗費(fèi)的原因,經(jīng)常性的更改不予以主張,而后者恰恰相反。這種不同的控制水平在產(chǎn)品生命周期的特定階段有其適用性。譬如,前者更適合維護(hù)而后者適合開(kāi)發(fā)。不管CM系統(tǒng)這么用,它對(duì)于用戶和產(chǎn)品的演變歷史都有一定程度的控制。它將驅(qū)動(dòng)用戶的過(guò)程并將其加強(qiáng)?,F(xiàn)有的CM系統(tǒng)提供或松或緊的控制水平但很少能靈活地允許用戶選擇控制的種類。

      2.5 過(guò)程與產(chǎn)品的區(qū)分

      CM包括過(guò)程和產(chǎn)品。CM過(guò)程表示執(zhí)行CM是所需的一系列工作任務(wù)。從根本上講,過(guò)程是一個(gè)計(jì)劃,它定義要做什么、誰(shuí)來(lái)做及如何做。支持這過(guò)程是管理的功能。過(guò)程模型將組織的方針、程序和軟件開(kāi)發(fā)生命周期模型通盤考慮。CM的產(chǎn)品是工程管理任務(wù)的結(jié)果。CM系統(tǒng)的功能需要為二者予以支持。現(xiàn)有的CM系統(tǒng)提供一些產(chǎn)品及過(guò)程的支持,但在同一CM系統(tǒng)中一般不能形成對(duì)二者完全支持。

      2.6 CM自動(dòng)化水平

      目前,CM一般是手工和自動(dòng)程序二者兼而有之。無(wú)需任何在線支持來(lái)實(shí)施CM也是可能的。但這樣做的效率很低。我們的目標(biāo)是將CM中非創(chuàng)造性的部分盡量多地自動(dòng)化。譬如,書面更改表格和對(duì)此回應(yīng)的監(jiān)控一般只在組織方針里予以記錄,而不能在線獲取與加強(qiáng)。

      2.7 CM系統(tǒng)功能

      現(xiàn)有的CM系統(tǒng)提供的只是所有不同種類的用戶的部分功能。但隨時(shí)間的推移和用戶的需求和環(huán)境結(jié)構(gòu)的能力得到更好理解后,這種情況將可能得以改進(jìn)。以下部分描述的是現(xiàn)有CM系統(tǒng)概念范圍。

      3       配置管理系統(tǒng)概念光譜圖

      以上部分解釋了有關(guān)配置管理系統(tǒng)需求問(wèn)題的范圍,本部分將細(xì)述配置管理系統(tǒng)的具體功能,并對(duì)于支持前文所述某些功能的概念特別加以考察。這些概念將被組織成一幅光譜圖來(lái)表示配置管理系統(tǒng)的演化過(guò)程。每個(gè)概念都將置于一個(gè)特定的配置管理系統(tǒng)中來(lái)描述。以下是要討論的我們感興趣的配置管理系統(tǒng)概念中的功能,包括:組件,過(guò)程,結(jié)構(gòu)和特色架構(gòu)的組合,團(tuán)隊(duì)概念。圖2展示了整個(gè)概念光譜圖和它們對(duì)應(yīng)的,有代表性的配置管理系統(tǒng)實(shí)例,然后給出每個(gè)概念的一個(gè)簡(jiǎn)單描述并著重突出它的優(yōu)勢(shì)。在本部分的末尾,將對(duì)概念和概念光譜圖的作用和局限性作一個(gè)分析總結(jié)。

       

      演化的方向

      概念

      圖例:

      *系統(tǒng)實(shí)例

       

       


      *表示本節(jié)點(diǎn)所示概念的系統(tǒng)實(shí)例

      系統(tǒng)建模

      對(duì)象池

      庫(kù)

      文本管理

      分布式組件

      生命周期模型

       

      需求變更

      屬性

      工作空間

      透明視圖

      事務(wù)

      一致性維護(hù)

      子系統(tǒng)

      更改集

      約定

      LIFESPAN*

      PowerFrame*

      SherpaDMS*

      NSE*

      SMS*

      Shape*

      DSEE*

      Adele*

      CMA*

      Jasmine*

      Rational*

      ADC*

      ISTAR*

      CCC*

      RCS*


      2:配置管理概念光譜圖

       

      3.1 注意事項(xiàng)

      值得指出的是要討論的概念和系統(tǒng)僅僅是現(xiàn)有系統(tǒng)的表示,而不是現(xiàn)有系統(tǒng)完整的評(píng)估和總結(jié)。對(duì)于每個(gè)概念,都用一個(gè)配置管理系統(tǒng)實(shí)例來(lái)討論。但是需要注意的是,許多配置管理系統(tǒng)實(shí)際上提供了不止一個(gè)光譜圖所示概念。既然談到配置管理系統(tǒng)自然形成的功能時(shí)沒(méi)有通用的術(shù)語(yǔ),而這些概念是直接從特定配置管理系統(tǒng)中提取——所以每一個(gè)配置管理系統(tǒng)有自己的概念和定義。為了注意力集中,概念的描述都盡量簡(jiǎn)化。這樣一來(lái),就無(wú)法對(duì)所有概念的能力(不是它們的系統(tǒng))面面俱到。但是,因?yàn)橐岢龈拍罟庾V圖和精簡(jiǎn)出一個(gè)配置管理系統(tǒng)概念集的緣故,簡(jiǎn)化是必要的。本文參考的每種配置管理系統(tǒng)在附錄中都有一個(gè)簡(jiǎn)評(píng),它提供了每種系統(tǒng)配置管理能力一個(gè)更全面的清單。

      3.2 組件的概念

      組件的概念是與標(biāo)明和訪問(wèn)軟件產(chǎn)品的組件相關(guān)。它們包括下文所描述的庫(kù)和分布式組件。

      3.2.1        庫(kù)

      庫(kù)的概念是配置管理系統(tǒng)的根本。修訂控制系統(tǒng)(Revision Control SystemRCS)[15]提供了ASCII碼文件庫(kù)的概念。從效果上來(lái)說(shuō),庫(kù)是集中控制的文件庫(kù)并提供對(duì)庫(kù)中所存儲(chǔ)文件的版本控制。任何庫(kù)中的文件都被視為在確定的配置管理之下。庫(kù)中的文件是不會(huì)變的——它們不能被更改。任何更改被視為創(chuàng)建了一個(gè)新版本的文件。文件所有的配置管理信息和文件的內(nèi)容都存貯在庫(kù)中。所以,任何配置的管理和控制都與庫(kù)中的文件相關(guān)聯(lián)。當(dāng)工作于一個(gè)文件時(shí),用戶將某個(gè)版本的文件導(dǎo)入工作目錄,然后開(kāi)始工作,處理完了,然后將文件導(dǎo)回庫(kù)中。這樣就生成了這個(gè)文件的新版本。所以用戶不可能導(dǎo)出一個(gè)文件并同時(shí)在庫(kù)中修改源文件。

      從庫(kù)的角度來(lái)看,導(dǎo)出的文件自動(dòng)被鎖定直到文件重新被導(dǎo)入,一個(gè)版本號(hào)自動(dòng)與新版本文件相關(guān)聯(lián)。這樣一來(lái),用戶可以隨時(shí)根據(jù)特定的版本號(hào)來(lái)導(dǎo)出任何文件(缺省的是最新的版本)。對(duì)最新版本的修改的結(jié)果是產(chǎn)生一個(gè)新的,順序遞增的版本;而對(duì)更老版本的修改的結(jié)果是產(chǎn)生一個(gè)分支版本。在版本編號(hào)策略和使用模式共同作用下,產(chǎn)生了文件版本歷史樹(shù),用來(lái)表示祖先和后代版本。庫(kù)中不但存儲(chǔ)了文件的不同版本,更改的理由,而且存儲(chǔ)誰(shuí)在什么時(shí)候替換了某個(gè)版本的文件等文件歷史信息。請(qǐng)注意,對(duì)于每個(gè)不同版本文件,不是所有的代碼都存儲(chǔ)起來(lái),而只是不同版本間實(shí)際的差異才存儲(chǔ)起來(lái):這稱為增量。這種方法有利于節(jié)省空間和節(jié)省對(duì)最新文件版本的訪問(wèn)時(shí)間。另外,可以根據(jù)狀態(tài)給文件加上標(biāo)簽,然后基于狀態(tài)的值進(jìn)行導(dǎo)出。它們同樣也可以根據(jù)修訂版本號(hào),日期和作者進(jìn)行導(dǎo)出操作。庫(kù)總是和文件所在的目錄相關(guān)聯(lián)??偠灾瑤?kù)捕捉配置管理信息并把不同版本的文件存儲(chǔ)為不可修改的對(duì)象。

      3.2.2        分布式組件

      Sherpa設(shè)計(jì)管理系統(tǒng)(The Sherpa Design SystemDMS))[7]提供一個(gè)文件庫(kù),其中的文件分散分布在不同的硬件平臺(tái)上。在邏輯上,庫(kù)是集中控制的,但在物理上,庫(kù)中的數(shù)據(jù)是分布的。Sherpa 設(shè)計(jì)管理系統(tǒng)自己知道數(shù)據(jù)的分散分布,并把這個(gè)因素考慮到配置管理系統(tǒng)中去,例如,在提供必要的文件格式轉(zhuǎn)換時(shí)提供一定的容錯(cuò)能力。這樣,對(duì)于用戶來(lái)說(shuō),數(shù)據(jù)的分布是透明的——用戶對(duì)庫(kù)進(jìn)行的任何工作感覺(jué)上和所有文件放在自己的本地工作站上一樣。一組地理上分散分布的用戶可以針對(duì)同樣配置的文件一起工作。多個(gè)文件的副本可以在不同的工作站上存在。Sherpa設(shè)計(jì)管理系統(tǒng)總是知道最新文件版本的位置。任何對(duì)從庫(kù)中所導(dǎo)出文件的更改會(huì)導(dǎo)致所有分散的本地工作站上的副本更新,因?yàn)橄到y(tǒng)知道所有本地副本放置的位置。更新可以是一步一步交互式樣地發(fā)生,也可以是批處理式地完成。有效的,分散分布的用戶能夠直接訪問(wèn)集中控制的庫(kù)。對(duì)他們來(lái)說(shuō),配置管理能力看起來(lái)遍布整個(gè)異構(gòu)網(wǎng)絡(luò)。

      3.3 過(guò)程的概念

      處理與過(guò)程相關(guān)的功能的概念有以下幾個(gè):上下文管理,約定,變更請(qǐng)求和生命周期模型。以下是詳細(xì)描述。

      3.3.1        環(huán)境管理

      PowerFrame[13]是專為計(jì)算機(jī)輔助工程/設(shè)計(jì)領(lǐng)域而設(shè)計(jì)的系統(tǒng)。對(duì)于用戶,它實(shí)際上是把文件系統(tǒng)和配置管理底層的細(xì)節(jié)屏蔽起來(lái)。用戶只能夠看見(jiàn)和他們特定工作領(lǐng)域相關(guān)的,一個(gè)電路設(shè)計(jì)的世界,而PowerFrame管理工作中的上下文。項(xiàng)目的數(shù)據(jù)不是隱藏在目錄里而是顯式地用圖形表示出來(lái)。貫穿整個(gè)工作過(guò)程的始終,PowerFrame提供工作流管理,來(lái)引導(dǎo)團(tuán)隊(duì)的成員。例如:工具—運(yùn)行可能涉及電路的生成,置電路有效,然后通過(guò)進(jìn)行仿真來(lái)決定他們的性能特點(diǎn)。在這一串的動(dòng)作中,PowerFrame自動(dòng)根據(jù)工具運(yùn)行提取相關(guān)的上下文,諸如數(shù)據(jù)集,命令文件和激活工具的選項(xiàng)等等。 等下一次,用戶僅僅需要選擇電路設(shè)計(jì)和工具功能就能開(kāi)展工作。用戶所看到的是:針對(duì)特定任務(wù)的合適的工具,特定的數(shù)據(jù)表示表格:如邏輯圖和布局設(shè)計(jì);與特定任務(wù)相關(guān)的數(shù)據(jù);和特定工作領(lǐng)域相關(guān)的命令表。用戶可以在不同的尺度上執(zhí)行不同的動(dòng)作:如上下文數(shù)據(jù)中一個(gè)簡(jiǎn)單的數(shù)據(jù)項(xiàng)或者到整個(gè)配置管理。用戶不必去操心象版本控制或文件之間的關(guān)系等這些任務(wù),因?yàn)樵谄聊槐澈?,系統(tǒng)知道如何從不同版本的電路設(shè)計(jì)提取數(shù)據(jù),系統(tǒng)完成了這些任務(wù)。從效果上來(lái)看,配置管理系統(tǒng)針對(duì)特定工作領(lǐng)域捕捉用戶工作的上下文,通過(guò)這樣的方式減少了用戶的工作,如記住如何到達(dá)某個(gè)具體工作狀態(tài),所有的數(shù)據(jù)項(xiàng)和它們的關(guān)系是什么等。

      3.3.2        約定

      ISTAR[9]環(huán)境根據(jù)正式的約定提供對(duì)部分軟件開(kāi)發(fā)過(guò)程的建模。所謂約定是指指定輸入和輸出條件下任務(wù)的執(zhí)行。約定的產(chǎn)物被記錄下來(lái)作為配置項(xiàng)。一個(gè)約定把信息流,包括從任務(wù)的開(kāi)始到完成,任務(wù)之間結(jié)果的傳遞和產(chǎn)品中組件的傳遞,進(jìn)行建模。并且,約定之間也是可交換的。怎樣來(lái)滿足約定呢?約定的滿足是根據(jù)一定的接受標(biāo)準(zhǔn),把輸出傳遞給過(guò)程模型中的特定的元素,如生命周期的不同階段,或人等。約定的產(chǎn)物活動(dòng)被隨后記載下來(lái)。因?yàn)椴煌募s定產(chǎn)物(如通信)會(huì)被記載下來(lái),所以約定中的工作過(guò)程是被監(jiān)視的。從效果來(lái)看,約定表示一個(gè)工作團(tuán)隊(duì)在一個(gè)配置項(xiàng)下的正式計(jì)劃和記錄。

      3.3.3        需求變更

      LIFESPAN,軟件需求變更表現(xiàn)在文檔的需求變更和相關(guān)過(guò)程模型的變更。LIFESPAN通過(guò)一系列的表單來(lái)實(shí)現(xiàn)需求變更的建模,在通過(guò)一系列狀態(tài),任務(wù)和角色來(lái)實(shí)現(xiàn)過(guò)程的變更??蛻艨梢蕴峤挥脕?lái)確認(rèn)錯(cuò)誤或請(qǐng)求為組件版本升級(jí)的在線軟件性能報(bào)告。這就允許此報(bào)告能被反饋給那些可以診斷出此問(wèn)題的原始設(shè)計(jì)和編程人員來(lái)研究。對(duì)于軟件性能報(bào)告和改變沖突分析的反應(yīng),一個(gè)在線的設(shè)計(jì)變更被提交表決。確切的說(shuō)這就詳細(xì)到什么組件被改變和怎樣改變的問(wèn)題。LIFESPAN分析了誰(shuí)將會(huì)被此變化影響。然后那些人就會(huì)被自動(dòng)的選出組成控制變更委員會(huì)。關(guān)于設(shè)計(jì)變更的報(bào)告將會(huì)通過(guò)電子郵件來(lái)通知他們,不管他們是否同意這些變更,都必須在一定的時(shí)間內(nèi)對(duì)此做出表決。一旦設(shè)計(jì)變更被通過(guò),一種可變更的代碼的新開(kāi)發(fā)版本就產(chǎn)生了。則設(shè)計(jì)變更就此開(kāi)始使用而那種代碼的變更就被鎖定。在變更完成后,新的版本形成了,需要被提交給具有QA特權(quán)的人來(lái)檢測(cè)并批準(zhǔn)。經(jīng)過(guò)批準(zhǔn)后代碼變更就需要一種確認(rèn)狀態(tài),設(shè)計(jì)變更的狀態(tài)也變?yōu)榇_認(rèn)的,有關(guān)的用戶就被通過(guò)電子郵件來(lái)通知一種新的版本可以使用了。用戶收到軟件狀態(tài)報(bào)告表,這就取消了原始的軟件性能報(bào)告。因此,軟件性能報(bào)告,設(shè)計(jì)變更和軟件狀態(tài)報(bào)告不僅為用戶和維護(hù)人員提供了一種交流的方式,而且體現(xiàn)了這種特殊變更需求的歷史變更;在過(guò)程中變更的狀態(tài)報(bào)告;變更完成的最終審計(jì)結(jié)果;改變沖突分析的機(jī)制和確保相關(guān)人員按時(shí)完成任務(wù)。結(jié)果需求變更就促成了那種變更的過(guò)程。

      3.3.4        生命周期模型

      變更和配置控制提供了對(duì)一種特殊的生命周期模型的理解,此模型在某種程度上支持一個(gè)生命周期中的各階段及人員之間的轉(zhuǎn)變,而那些任務(wù)和數(shù)據(jù)管理能在那些階段被執(zhí)行。他通過(guò)把這些階段分為對(duì)產(chǎn)品的開(kāi)發(fā),測(cè)試,鑒定和推出來(lái)實(shí)現(xiàn)。這種劃分允許象軟件工程師和測(cè)試員這樣不同種類的使用者能夠在同樣的代碼下同步的實(shí)行他們的工作。階段和獨(dú)立工作的劃分及其間的轉(zhuǎn)變通過(guò)貫穿于代表每一階段的獨(dú)立配置的代碼來(lái)實(shí)現(xiàn)。就是說(shuō),產(chǎn)品作為一系列的基線被開(kāi)發(fā)。每一基線存在四種配置:開(kāi)發(fā),測(cè)試,鑒定和生產(chǎn)。配置是組件的一個(gè)層次。每一基線包括一種特殊的方法。代碼的開(kāi)發(fā)就是開(kāi)發(fā)配置,通過(guò)反復(fù)對(duì)配置進(jìn)行的測(cè)試,然后確認(rèn)配置,最后生產(chǎn)顧客使用的配置產(chǎn)品。為了順利到達(dá)下一階段,交互作用的草案必須要被不同的用戶(例如項(xiàng)目經(jīng)理和測(cè)試經(jīng)理)批準(zhǔn)這一轉(zhuǎn)變。任何時(shí)候,對(duì)于一組件所通過(guò)的標(biāo)準(zhǔn)是由他所屬的配置體現(xiàn)的。結(jié)果,生命周期模型經(jīng)過(guò)不同的配置狀態(tài)被實(shí)現(xiàn)。

      3.4 結(jié)構(gòu)和解釋的概念

      所要了解的概念是:選擇一種結(jié)構(gòu)的組件;獲得一組件和其結(jié)構(gòu)的變更;描述一產(chǎn)品的結(jié)構(gòu);存取這種結(jié)構(gòu);構(gòu)造這種產(chǎn)品以及保持這種結(jié)構(gòu)的各個(gè)部件的一致性稱之為變化集,系統(tǒng)建模,子系統(tǒng),對(duì)象池,屬性和一致性維修。見(jiàn)下述。

      3.4.1        修改集合

      ADC把在數(shù)據(jù)庫(kù)中的一個(gè)基本概念 各部件之間的版本的不同 抽象成一種不同的關(guān)系,這種關(guān)系對(duì)于用戶是可以訪問(wèn)的。這樣不同的關(guān)系伴隨著與之相匹配的文件以及其它變化的細(xì)節(jié)組成了變化集。ADC把變化構(gòu)造成變化集中的配置,變化集可用來(lái)構(gòu)造某種配置的定制外形。這種變化集有一個(gè)名字,這意味著它可用在操作中,用戶制定一個(gè)公式來(lái)創(chuàng)建某個(gè)配置的特殊實(shí)例。這個(gè)公式指定一個(gè)被選中的變化集都適應(yīng)的基本線。一個(gè)變化集可視為與以前的變化集是相聯(lián)系的(即版本的歷史的延續(xù))或是相互獨(dú)立的(即歷史版本的可選部分被應(yīng)用),特別是變化集。 因此,用戶要么從最延版本中工作,要么在一種配置定制版本下工作。由于某些變化以及誰(shuí),何時(shí)引起的這些變化等細(xì)節(jié),這個(gè)變化集可以捕獲對(duì)在某個(gè)配置中所有文件的變化。用戶指定這種變化的范圍,ADC自動(dòng)的紀(jì)錄這些變化的細(xì)節(jié)。例如,由于一個(gè)錯(cuò)誤用戶想使主要變化適合某種配置。用戶指出一個(gè)變化集,對(duì)這些文件做出許多變化。在這個(gè)變化集中被捕獲的:由于對(duì)在配置中所有文件做出的變化所有原代碼都得改變(在這個(gè)配置中對(duì)每個(gè)文件來(lái)說(shuō)是不同的);所有有關(guān)文件的改變;以及誰(shuí),何時(shí)做出的改變。當(dāng)用戶瀏覽每個(gè)文件或變化集時(shí)可以看見(jiàn)很多信息??傊兓硎緦?duì)某種產(chǎn)品和創(chuàng)建一個(gè)配置的各種版本方式的邏輯變化。此配置不必依賴于本配置的最新版本信息。

      3.4.2        系統(tǒng)模型

      系統(tǒng)建模用來(lái)描述軟件產(chǎn)品軟件產(chǎn)品的結(jié)構(gòu)組件和如何組建它。Jasmine系統(tǒng)建模就是用戶能變更的文本描述以及一些工具可以用這些描述來(lái)存取完成他們的任務(wù)。Jasmine系統(tǒng)建模是由體現(xiàn)以下四類信息的集和函數(shù)來(lái)描述的:(1)組件產(chǎn)品的關(guān)系,(2)綁定的信息版本,(3)構(gòu)造規(guī)則,(4)驗(yàn)證規(guī)則。關(guān)系描述為象子組件等級(jí)的產(chǎn)品模塊的分解,產(chǎn)品的獨(dú)立性(比如模塊組建的順序)和基于屬性的組件組(比如各種資源和對(duì)象模塊的分組)。通過(guò)關(guān)系描述的產(chǎn)品稱之為模板且獲得它的結(jié)構(gòu)。通過(guò)這些函數(shù)操作和關(guān)系用戶可以使用簡(jiǎn)單關(guān)系定義復(fù)雜關(guān)系。這就能使Jasmine工具來(lái)解決用戶定義的查詢,比如:通過(guò)改變一個(gè)特定的組件來(lái)影響那個(gè)組件。系統(tǒng)建模包括進(jìn)一步了解該產(chǎn)品系列的歷史。此系列產(chǎn)品描述了該產(chǎn)品的后續(xù)版本。某種產(chǎn)品的用戶指定的版本構(gòu)成了一個(gè)產(chǎn)品系列。和每一版本關(guān)聯(lián)的是創(chuàng)建日期作者等屬性。構(gòu)造規(guī)則記錄了現(xiàn)有的組件是如何生成的和將來(lái)的組件是如何構(gòu)造的。比如記錄編譯器版本和所需的編譯選項(xiàng) 。驗(yàn)證規(guī)則指定合和記錄對(duì)產(chǎn)品的結(jié)構(gòu)和組織的限制比如資源和綁定模塊必須匹配(意思是所有的綁定模塊都是由那些資源模塊編譯而成的)為了選擇一種組件版本,用于系列的選擇方式是避免使用體現(xiàn)查找模塊路徑的內(nèi)容來(lái)評(píng)估的。被選定的結(jié)果模塊易把圖像的數(shù)據(jù)對(duì)象當(dāng)作一種模塊。象瀏覽器模塊查看器調(diào)試器和模塊間的分析器等工具能引用和處理系統(tǒng)建模。最終,系統(tǒng)建模是來(lái)自于實(shí)例產(chǎn)品的抽象,為了全面描述產(chǎn)品,系統(tǒng)建模用工具來(lái)維護(hù)產(chǎn)品的完整性。

      3.4.3        子系統(tǒng)

      Rational環(huán)境提供了把一個(gè)很大的Ada產(chǎn)品分成多個(gè)小模塊以及限制變更影響范圍的功能。這些小模塊被稱為子系統(tǒng),子系統(tǒng)包括接口說(shuō)明書和實(shí)現(xiàn)主體并指出配置項(xiàng)目,因此,他們可被看為一個(gè)整體并通過(guò)他們的名稱被評(píng)價(jià)。在一個(gè)子系統(tǒng)內(nèi)的組件不可被其他子系統(tǒng)內(nèi)的組件所訪問(wèn)除非為了被輸出而通過(guò)接口說(shuō)明書將這些組件指明。Rational環(huán)境檢查實(shí)現(xiàn)主體完全匹配上接口說(shuō)明書所需的運(yùn)行時(shí)間。結(jié)果是,工作可以在實(shí)現(xiàn)主體上展開(kāi)而獨(dú)立于當(dāng)用戶想用時(shí)就可以被改變的接口說(shuō)明書,到接口被改變時(shí)僅針對(duì)那個(gè)子系統(tǒng)中的組件會(huì)發(fā)生二次編譯。這時(shí)使用了這個(gè)接口產(chǎn)品的任何模塊都將進(jìn)行二次編譯。對(duì)一個(gè)接口說(shuō)明書所作的更改可能需要整個(gè)產(chǎn)品進(jìn)行二次編譯。子系統(tǒng)對(duì)其組件進(jìn)行了版本控制,子系統(tǒng)本身可以是一個(gè)特定版本。用戶可以用過(guò)組合匹配系統(tǒng)的版本來(lái)形成該品的一個(gè)特殊產(chǎn)品。概括的說(shuō),子系統(tǒng)為用戶指示了一種方法,它限制了變化和二次編譯所帶來(lái)的影響,并提供了檢查一個(gè)產(chǎn)品的各組成部分的有效性的環(huán)境。

      3.4.4        對(duì)象池

      運(yùn)用系統(tǒng)建模的概念,DSEE已擁有一切必須的信息,此信息能夠確認(rèn)產(chǎn)生一個(gè)生成對(duì)象的特殊版本需要些什么。生成的對(duì)象被放置在用戶們共享的對(duì)象池中。一旦用戶暗示了對(duì)對(duì)象屬性的需求DSEE就能夠共享。被產(chǎn)生的對(duì)象池包括一個(gè)由轉(zhuǎn)換工具生成的二進(jìn)制代碼和其它對(duì)象組成的集合。每一個(gè)被產(chǎn)生的對(duì)象和其所有的信息有聯(lián)系,而這些信息是關(guān)于其包括原始版本的系統(tǒng)建模和與轉(zhuǎn)換項(xiàng)一起使用的轉(zhuǎn)換工具,被包括的用戶注釋的出處﹑日期﹑時(shí)間﹑人員和引出的位置.這個(gè)信息被認(rèn)為是一個(gè)BCT.當(dāng)DSEE構(gòu)建一個(gè)系統(tǒng)時(shí),會(huì)為系統(tǒng)中每一個(gè)組件計(jì)算需要得到的BCT數(shù)。DSEE在對(duì)象池中查找來(lái)看生成的對(duì)象和所需的一個(gè)已存在的對(duì)象是否匹配。如果匹配,它就被用;如果不匹配,它被構(gòu)建。因此,任何時(shí)候一個(gè)用戶需要一個(gè)特殊的生成對(duì)象時(shí)(或是一個(gè)一致的對(duì)象)。DSEE能夠從對(duì)象池中再使用從而消除了生成這個(gè)對(duì)象的需要。用戶不需要知道生成現(xiàn)存對(duì)象要做的;DSEE作了全部的檢測(cè)。一旦池中的對(duì)象成為死亡的(基于一階段無(wú)作用)DSEE能夠刪除他們,從而釋放空間。這就節(jié)省了大量的編譯時(shí)所需的時(shí)間和空間,再使用的工作已經(jīng)在進(jìn)行。DSEE也提供了各種不同的對(duì)象池,例如從源文件中得到的對(duì)象仍是對(duì)提供給特殊用戶的庫(kù)的檢測(cè)。結(jié)果,CM系統(tǒng)使再生成組件的需求最佳化且最大數(shù)量的分享生成對(duì)象。

      3.4.5        屬性

      Adele系統(tǒng)通過(guò)用一個(gè)有數(shù)據(jù)建模能力的關(guān)系數(shù)據(jù)庫(kù)實(shí)體來(lái)普及庫(kù)和系統(tǒng)的建模。產(chǎn)品在一個(gè)數(shù)據(jù)模型方面被描述,Adele基于那個(gè)模型進(jìn)行它的運(yùn)算。產(chǎn)品的組件被描繪為擁有屬性和關(guān)系的數(shù)據(jù)庫(kù)對(duì)象。屬性和每一對(duì)象及那個(gè)對(duì)象的特性相關(guān)。屬性有一個(gè)名字和一個(gè)值。一個(gè)例子是名為delta的用于描繪對(duì)象是否存在于ASCΠ表中從而能夠被理解的屬性;它可以有一個(gè)為真或?yàn)榧俚闹怠S袃煞N屬性被區(qū)別:預(yù)先確定和用戶確定。前者被Adele管理而后者被用戶定義和聲明。一個(gè)預(yù)先確定,特殊的屬性是“類型“。這個(gè)命令屬性是強(qiáng)制的且對(duì)每一對(duì)象都是不可變的。它在Adele中表現(xiàn)為主要的的CM實(shí)體(例如對(duì)象的組成,文獻(xiàn),修改和元素)。關(guān)系在對(duì)象間獨(dú)立定義,例如對(duì)象B源自對(duì)象A。用戶能夠按照對(duì)象的特性而不是按照一系列對(duì)象的特殊版本來(lái)描述一個(gè)配置。Adele例示和構(gòu)建一個(gè)配置用來(lái)選取規(guī)則和強(qiáng)制圍繞屬性和關(guān)系為中心。用戶能夠按照所需特性對(duì)一產(chǎn)品定義任何結(jié)構(gòu)。從而用戶能在一經(jīng)由其特性的抽象的高水平描述一產(chǎn)品,其優(yōu)于按照冗長(zhǎng)的文件列表的組成來(lái)描述。

      3.4.6        一致性維護(hù)

      CMA提供了配置的釋義和確認(rèn),其是基于一個(gè)對(duì)于產(chǎn)品的抽象描述也是基于有關(guān)形成配置的組件的使用用法成功或不成功的信息。數(shù)據(jù)建模便利的包括預(yù)先確定用戶所描述的配置的屬性和關(guān)系?;谀切傩院完P(guān)系的語(yǔ)義,CMA能夠決定一配置(就是一系列組件的實(shí)例)是否是可用的。成為可用的,一配置必須是完全的,無(wú)歧義的,一致的和沒(méi)有歪斜的版本。這意味著一個(gè)配置必須有全部組件所需的實(shí)例組成且不必包括多重的一個(gè)組件的實(shí)例。屬性的等級(jí)描述了象約束,類型和版本這樣的用戶定義的特性。關(guān)系的等級(jí)表現(xiàn)了各種依賴性,例如,合理性,兼容性,構(gòu)成,實(shí)例和可繼承的獨(dú)立性。每次一個(gè)新的配置被組建,CMA就利用經(jīng)由先前對(duì)形成配置的組件的使用在數(shù)據(jù)庫(kù)中積累的信息。這樣,CMA預(yù)見(jiàn)配置是否可用。這種新的配置為了將來(lái)分析可用性而加入數(shù)據(jù)庫(kù)。從而,用戶能夠依靠系統(tǒng)來(lái)識(shí)別任何不一致以及在構(gòu)建和重復(fù)使用用配置時(shí)保護(hù)此不一致。

      3.5 團(tuán)隊(duì)概念

      描述工作在一個(gè)工程項(xiàng)目上的軟件工程團(tuán)隊(duì)間的獨(dú)立、合作、同步的術(shù)語(yǔ)是工作區(qū),透明檢查和協(xié)調(diào)。描述如下:

      3.5.1        工作空間

      工作空間為開(kāi)發(fā)人員提供獨(dú)立的工作空間。

      在“形狀”中的工作空間是被設(shè)計(jì)用來(lái)防止用戶之間的相互干擾。它提供了在配置管理下的能在可調(diào)對(duì)象上持續(xù)的工作空間。工作空間是通過(guò)版本狀態(tài)模型來(lái)獲得的。這就意味著屬性“狀態(tài)”是和構(gòu)件的版本相連系的。依靠那種狀態(tài)(例如狀態(tài)“忙”或“凍結(jié)”),構(gòu)件或者被認(rèn)為是一個(gè)私有的工作區(qū)或者被認(rèn)為是一個(gè)公有的庫(kù)。“忙”構(gòu)件是可調(diào)的并且不能被其他人所使用,象“凍結(jié)”就是一個(gè)對(duì)公共使用來(lái)說(shuō)能獲得的但不可調(diào)的例子。構(gòu)件被提交給公共庫(kù)的同時(shí)使得它們?cè)诒贿m當(dāng)?shù)挠脩糇C明后,對(duì)公共用途來(lái)說(shuō)是可獲得的。在效力上,工作區(qū)提供工作的獨(dú)立性且建立在一個(gè)全局的、長(zhǎng)期的為不可調(diào)對(duì)象的庫(kù)和一個(gè)為可調(diào)對(duì)象且私有的短期的庫(kù)之間的區(qū)別。

      3.5.2        透明視圖

      透明視圖提供從主配置庫(kù)到工作區(qū)的訪問(wèn)機(jī)制,該機(jī)制具有防止非法存取的功能。

      軟件管理系統(tǒng)通過(guò)使工作區(qū)成為一個(gè)透明(清晰)的對(duì)象和提供在那個(gè)工作區(qū)的庫(kù)的透明檢查來(lái)增強(qiáng)了工作區(qū)的術(shù)語(yǔ)。這就意味著僅僅用戶感興趣的文件版本能在工作區(qū)中看到,所有其他的版本都不可見(jiàn)(盡管它們?cè)谖锢砩鲜谴嬖诘模@?,任何?duì)最新公有版本的變化都不需在工作區(qū)里顯示出來(lái),用戶從公有變化中分離出來(lái),并且工作區(qū)提供給用戶一個(gè)特定庫(kù)的外表。相關(guān)工作區(qū)版本計(jì)數(shù)的版本控制提供在工作區(qū)中。新版本是私有的并且在從工作區(qū)中釋放出來(lái)之前是不可能被公共用戶所見(jiàn)的。一個(gè)配置從公有庫(kù)中檢測(cè)出來(lái)提供給工作區(qū)。用戶訪問(wèn)分配給自己的工作區(qū)。工作區(qū)里的組件有效地屬于那個(gè)工作區(qū)而非一個(gè)用戶。僅僅在那個(gè)工作區(qū)已登記的用戶才能改變配置,且僅有那個(gè)工作區(qū)的構(gòu)件能被訪問(wèn)??偟膩?lái)說(shuō)透明檢查通過(guò)防止對(duì)一個(gè)配置的非授權(quán)訪問(wèn)而提供了一個(gè)檢查機(jī)制。

      3.5.3        協(xié)調(diào)控制

      協(xié)調(diào)控制協(xié)調(diào)開(kāi)發(fā)組成員對(duì)同一配置項(xiàng)的修改。

      網(wǎng)絡(luò)軟件環(huán)境(NSE[12]協(xié)調(diào)控制代表了一個(gè)工作協(xié)調(diào)單元。它反應(yīng)了工程的結(jié)構(gòu)并且支持工作的獨(dú)立性、用戶間的相互影響和合并變化。一個(gè)協(xié)調(diào)包含一個(gè)環(huán)境和一系列命令。環(huán)境提供了類似于工作區(qū)和透明檢查的術(shù)語(yǔ)。它顯示了用來(lái)存儲(chǔ)資源和派生對(duì)象的目錄結(jié)構(gòu)。那些命令,例如“獲得”、“退后”、“重新同步”和“解決”,在不同環(huán)境中提供相互活動(dòng)。它們代表了用來(lái)協(xié)調(diào)和同步用戶間活動(dòng)的協(xié)議,也代表了實(shí)際變化的通信。用戶獨(dú)立地工作在他們自己的環(huán)境里,改變相同的或不同的配置。用戶用配置的新版本來(lái)更新庫(kù)。網(wǎng)絡(luò)軟件環(huán)境支持將變化合并到庫(kù)里。但是它檢查什么已存在于庫(kù)里(可能被其他用戶放置在那兒)而且不和正在進(jìn)行的變化產(chǎn)生沖突。假如有沖突,網(wǎng)絡(luò)軟件環(huán)境提示用戶注意合并問(wèn)題,同時(shí)提供減少?zèng)_突的幫助。對(duì)于任何庫(kù)的變化,用戶能請(qǐng)求進(jìn)入他們自己的工作區(qū)??偠灾?,協(xié)調(diào)同步和協(xié)作團(tuán)隊(duì)們改變工程產(chǎn)品的相同或不同部份。

      3.6 光譜摘要和分析

      2代表了一個(gè)不同配置管理系統(tǒng)的配置管理術(shù)語(yǔ)光譜。這些術(shù)語(yǔ)和它們的目標(biāo)是:捕獲不可調(diào)文件歷史的庫(kù);在配置管理下數(shù)據(jù)分布的已分布構(gòu)件;一個(gè)工作單元計(jì)劃的合同;一套捕獲配置變化和允許最新版本獨(dú)立配置選項(xiàng);增強(qiáng)一個(gè)組織軟件進(jìn)化過(guò)程變化的生命周期模型;完整地描述和記錄結(jié)構(gòu)和建立工程的系統(tǒng)建模;使得重使用的派生對(duì)象的對(duì)象池能優(yōu)化產(chǎn)品構(gòu)建;允許基于特性的配置選擇屬性而非一長(zhǎng)串文件列表;支持持續(xù)的自動(dòng)檢查和配置組件之間非持續(xù)的預(yù)測(cè);分離可調(diào)配置的私有變化工作區(qū);一個(gè)查看配置和防止非授權(quán)訪問(wèn)的可調(diào)配置的透明檢查;一個(gè)協(xié)調(diào)配置變化的團(tuán)隊(duì)協(xié)調(diào)。這些術(shù)語(yǔ)代表了配置管理系統(tǒng)功能方面的先進(jìn)性。

      光譜拓樸的目的是顯示一個(gè)術(shù)語(yǔ)的進(jìn)化過(guò)程。例如,圖2從左到右總的來(lái)說(shuō)有不同過(guò)程的建模、捕獲組件、描述產(chǎn)品的構(gòu)件,優(yōu)化產(chǎn)品工程。特定構(gòu)件間相互關(guān)聯(lián)的協(xié)調(diào)團(tuán)隊(duì)工作。光譜的“臂”顯示了相關(guān)過(guò)程。例如,需求變化和生命周期模型(如本書描述的一樣)是相關(guān)聯(lián)的:生命周期模型小計(jì)了一個(gè)特定變化需求模型,同時(shí)變化需求操作了一個(gè)庫(kù)。

      有一些術(shù)語(yǔ)在光譜上沒(méi)有顯示。那些不能顯示的術(shù)語(yǔ)如:構(gòu)件的細(xì)微進(jìn)化(例如從版本標(biāo)識(shí)到配置標(biāo)識(shí)到不同配置的不同版本);系統(tǒng)建模過(guò)程(例如從命令文件的進(jìn)化到創(chuàng)造文件到系統(tǒng)模型如版本對(duì)象);“角色”的識(shí)別和不同類型的變化(例如增強(qiáng)反病毒功能,病毒出現(xiàn)提示);目前的研究工作。

      在本書上簡(jiǎn)化了從配置管理系統(tǒng)是提煉出來(lái)的術(shù)語(yǔ)。相對(duì)于已實(shí)施的系統(tǒng)來(lái)說(shuō)是為了找到一些共同的術(shù)語(yǔ)。沒(méi)有共同的詞匯來(lái)表達(dá)術(shù)語(yǔ)。術(shù)語(yǔ)和它們的實(shí)施之間的區(qū)別并不總是清晰的。例如,工作區(qū)的實(shí)施在不同配置管理系統(tǒng)中變化,同時(shí)為用戶提供不同的功能。此外,工作區(qū)的術(shù)語(yǔ)應(yīng)該是所有實(shí)施的最低共同命名或相反?既然協(xié)調(diào)統(tǒng)計(jì)了工作區(qū)和檢查的術(shù)語(yǔ),那么工作區(qū)、透明檢查、協(xié)調(diào)又真的是同一術(shù)語(yǔ)嗎?或者它們真的如在光譜上顯示的一樣是三個(gè)術(shù)語(yǔ)嗎?

      另外一個(gè)在提煉術(shù)語(yǔ)時(shí)的難點(diǎn)是大多數(shù)配置管理系統(tǒng)都有過(guò)多的術(shù)語(yǔ)。那就是一個(gè)術(shù)語(yǔ)有許多目的(這些目的在配置管理系統(tǒng)中通常是不統(tǒng)一的)。例如,Rational子系統(tǒng)術(shù)語(yǔ)在光譜中被看作為限制變化范圍而提供支持。然而,子系統(tǒng)比那個(gè)術(shù)語(yǔ)提供了更多的功能。它們能:提供一個(gè)名字范圍邊界,支持系統(tǒng)分區(qū),代表一個(gè)基線,一個(gè)工作區(qū),代表一個(gè)意思(為工作在不同的配置或一個(gè)團(tuán)隊(duì)的同一配置)。檢查接口提供的細(xì)微變化或代表一個(gè)不可調(diào)的可執(zhí)行的組件(在Rational術(shù)語(yǔ)中的一個(gè)“裝載檢查”)。因此,為了討論子系統(tǒng),在其一個(gè)特定方面的磨合是必要的。此外,過(guò)多的術(shù)語(yǔ)使得提煉基本的術(shù)語(yǔ)變得困難。同樣,組合不同術(shù)語(yǔ)的不同部份,或一個(gè)特定術(shù)語(yǔ)的實(shí)施副影響都使得術(shù)語(yǔ)的提煉更加困難。例如,當(dāng)考慮一個(gè)變化需求時(shí),角色(象配置經(jīng)理和測(cè)試經(jīng)理)和生命周期術(shù)語(yǔ)(如開(kāi)發(fā)和測(cè)試)對(duì)那個(gè)術(shù)語(yǔ)是至關(guān)重要的,或者它們是獨(dú)立的?

      無(wú)論如何,這些術(shù)語(yǔ)的光譜為開(kāi)發(fā)提供了一個(gè)起始點(diǎn),或者至少?gòu)囊汛嬖诘呐渲霉芾硐到y(tǒng)中提煉出一個(gè)配置管理模型——一組基本的配置管理服務(wù)。此外,需要進(jìn)一步的工作來(lái)決定:光譜的使用價(jià)值,是否還有其它的術(shù)語(yǔ),怎樣定義、命名和表達(dá)這些術(shù)語(yǔ)以及它們的多種語(yǔ)義,并且怎樣將這些術(shù)語(yǔ)組合成一套有用的配置管理系統(tǒng)。

      4       配置管理系統(tǒng)的未來(lái)

      2所示配置管理概念光譜圖表示了商用配置管理系統(tǒng)的典型概念。我們預(yù)計(jì),隨著研究的繼續(xù),和不斷從這些概念的結(jié)合使用中獲取經(jīng)驗(yàn),光譜圖上的許多分支將會(huì)互相連接。這意味著,每個(gè)配置管理系統(tǒng)最終都可能將提供一個(gè)基本的配置管理服務(wù)集,從而更好地適應(yīng)用戶需求。但是,即使不考慮是否每個(gè)配置管理系統(tǒng)設(shè)計(jì)者都試圖實(shí)現(xiàn)這些共同的特征,還有政治和技術(shù)方面的因素都會(huì)影響未來(lái)的軟件配置管理系統(tǒng)。(政治層面的因素是指與市場(chǎng)和標(biāo)準(zhǔn)化相關(guān),技術(shù)因素則是關(guān)乎實(shí)現(xiàn)某一特定機(jī)制的可行性。)

      一個(gè)主要的政治因素是關(guān)于CASE(計(jì)算機(jī)輔助軟件工程)工具的發(fā)展。例如:CASE工具經(jīng)銷商是否應(yīng)該假設(shè)環(huán)境經(jīng)銷商會(huì)在他們的框架內(nèi)提供配置管理支持,所以他們自己可以避免在他們的工具中實(shí)現(xiàn)配置管理?;蛘?,是否應(yīng)該由CASE工具開(kāi)發(fā)商在他們的工具中提供配置管理支持。如果CASE經(jīng)銷商合并他們自己的配置管理支持,那么當(dāng)用戶安裝不同的CASE工具時(shí),用戶將不得不自己解決如何集成不同的CASE工具的問(wèn)題。同樣,從經(jīng)銷商的視角看,他們會(huì)真正重復(fù)去做那些已經(jīng)被整個(gè)環(huán)境框架嘗試過(guò)的工作嗎?

       

      另一方面,如果CASE經(jīng)銷商不把配置管理合并到他們的工具中去,他們能依賴環(huán)境集成商提供合適的環(huán)境框架,去集成CASE工具并同時(shí)提供某種通用的配置管理能力嗎?這些問(wèn)題的答案都是未知的。我們都可以看到,任何一種情況都意味著,對(duì)于環(huán)境來(lái)說(shuō),配置管理系統(tǒng)需要一定的標(biāo)準(zhǔn)化。反之亦然。

      許多技術(shù)、研究方面的問(wèn)題都影響著配置管理系統(tǒng)的能力,冒出來(lái)了如下這些問(wèn)題:

      什么適當(dāng)?shù)募夹g(shù)可作為配置管理系統(tǒng)的基礎(chǔ)?對(duì)象命名約定不變的面向的對(duì)象數(shù)據(jù)庫(kù)技術(shù)是最合適的嗎?在環(huán)境體系結(jié)構(gòu)中軟件配置管理是在哪一層?它是否應(yīng)該作為環(huán)境框架中一部分,放在數(shù)據(jù)庫(kù)的基礎(chǔ)層,還是把配置管理看作一個(gè)過(guò)程,處于體系結(jié)構(gòu)的較高層?配置管理的機(jī)制能否從所有的配置管理功能中分離出來(lái)?也就是說(shuō),是否有一個(gè)標(biāo)準(zhǔn)的配置管理本質(zhì)部分,能夠在任何環(huán)境中使用,并支持所有的配置管理功能。存在一個(gè)統(tǒng)一的配置管理模型嗎?是否可能提供分布式的配置管理支持?在地理上分散的軟件開(kāi)發(fā)組能否與本地配置管理和系統(tǒng)集成使用同樣的配置管理系統(tǒng)。這是工業(yè)界的一個(gè)主要難題,尤其是對(duì)于國(guó)防合同承包商來(lái)說(shuō)。配置管理支持跨軟件開(kāi)發(fā)嗎?工程師是否能夠在主機(jī)上開(kāi)發(fā)產(chǎn)品,然后在保持對(duì)產(chǎn)品的配置管理控制的同時(shí)輕易地將它轉(zhuǎn)移到目標(biāo)機(jī)上去嗎?規(guī)模是配置管理系統(tǒng)的一個(gè)限制性因素嗎?配置管理對(duì)一百萬(wàn)線產(chǎn)品的支持和對(duì)一兆線產(chǎn)品的支持是一樣的嗎?有可能將配置管理過(guò)程中,包括勞力密集型的部分,所有方面都建模,并在配置管理系統(tǒng)中實(shí)現(xiàn)它嗎?

      對(duì)以上這些問(wèn)題的回答都不是顯而易見(jiàn)的。因?yàn)楹芸赡芤芾淼倪^(guò)程有著不同的來(lái)源,從配置管理系統(tǒng)經(jīng)銷商,開(kāi)發(fā)環(huán)境集成商,研究人員,工具繼承商,軟件過(guò)程建模論壇,還有計(jì)算機(jī)輔助設(shè)計(jì),計(jì)算機(jī)輔助工程,計(jì)算機(jī)集成制造等不同的領(lǐng)域。

      5       結(jié)論

      配置管理是對(duì)軟件產(chǎn)品發(fā)展演化進(jìn)行的管理。從配置管理系統(tǒng)的操作層面上看,配置管理是認(rèn)證,控制,狀態(tài)統(tǒng)計(jì),審計(jì),評(píng)估,制造,過(guò)程管理和團(tuán)組合作。它是軟件工程領(lǐng)域的一部分。它的工作對(duì)象是這個(gè)領(lǐng)域中產(chǎn)生的過(guò)程。這從概念光譜圖可以明顯地看出來(lái),同樣也可以從已有的配置管理系統(tǒng)的數(shù)量和它們的能力看出來(lái)。本文的光譜圖表示的是許多不同的配置管理系統(tǒng)經(jīng)已實(shí)現(xiàn)的概念的一個(gè)快照。每個(gè)存在的系統(tǒng)的重點(diǎn)都不同,在用戶問(wèn)題——包括角色,集成,控制,自動(dòng)化層,過(guò)程等等,與產(chǎn)品支持,什么時(shí)候是開(kāi)始使用配置管理的最佳時(shí)機(jī),系統(tǒng)能提供哪些功能等之間進(jìn)行競(jìng)爭(zhēng)和權(quán)衡。希望提供這個(gè)光譜圖能夠有助于對(duì)配置管理系統(tǒng)能力的理解,并且提供一個(gè)討論配置管理支持工具的通用框架。

      6       附錄:CM體系總覽

      這個(gè)附錄給出了此份論文中前面章節(jié)提到的不同CM體系能力的總體印象。既不是整個(gè)體系的評(píng)估也不是完整描述,目的只是讓讀者對(duì)下列CM體系能力范圍有一個(gè)了解,這些是存在于今天的不同種類的CM體系的代表:Adele, ADC, CCC, CMA, DMS, DSEE, ISTAR, Jasmine, LifeSPAN, NSE, PowerFrame, Rational, RCS, “shape”, SMS。這些體系在下面描述。

      6.1 Adele

      Adele是一個(gè)來(lái)自于格勒諾布爾大學(xué)的配置管理體系。它的基本特征是數(shù)據(jù)模型,屆面檢查,展示產(chǎn)品系列,配置建立和工作現(xiàn)場(chǎng)控制。Adele是用來(lái)成為軟件工程環(huán)境的核心。Adele數(shù)據(jù)庫(kù)是一個(gè)實(shí)體關(guān)系,一個(gè)為物件提供定義,如界面和它們的實(shí)現(xiàn)(instances of bodies),配置和家族。物件有特性:描述它們的特點(diǎn),和DEP關(guān)系:描述它們的從屬關(guān)系,Adele用這些功能來(lái)幫助組成配置。使用者可以指定一種基于合意的特性的配置。特性可以用戶定義或體系定義。用戶可以指定規(guī)則基于特征價(jià)值,局限和優(yōu)先。Adele可以探測(cè)到不完整和不連續(xù)的配置描述。

      6.2 Aide-De-Camp (ADC)

      ADC, 來(lái)源于Software Maintenance and Development Systems, Inc.,由基本的ADC體系和一個(gè)看守系統(tǒng)組成?;镜?/span>ADC提供了一個(gè)數(shù)據(jù)庫(kù)以獲取CM信息。用戶在文件內(nèi)定義特征和關(guān)系。數(shù)據(jù)庫(kù)可以貯存資源和二進(jìn)制碼,它貯存易變的(“塑料”)和不變的(“安裝的”)信息。ADC的列表處理語(yǔ)言有效地允許用戶在一個(gè)文件或一組文件上工作。ADC沖突解決方案在登陸(check-in)和標(biāo)記時(shí)執(zhí)行。改變?cè)O(shè)置俘獲改變了配置和允許用戶指定任何版本的通過(guò)一個(gè)改變?cè)O(shè)置清單從而創(chuàng)建它們自己的版本樹(shù)。報(bào)告可基于數(shù)據(jù)內(nèi)容而產(chǎn)生。程序建立得到支持,結(jié)構(gòu)的關(guān)系被自動(dòng)得到。一些非—ADCCM信息可以輸入至ADC數(shù)據(jù)庫(kù)。監(jiān)管系統(tǒng)直接支持配置,集成問(wèn)題報(bào)告,改變需求,和了解用戶,承擔(dān)分派工作指令和建立當(dāng)?shù)氐墓ぷ髡荆?#8220;干凈房間”)的角色。這意味著當(dāng)一個(gè)變化需求被送到CM經(jīng)理并得到認(rèn)可時(shí),經(jīng)理把工作分派給軟件工程師。當(dāng)工程師執(zhí)行那項(xiàng)活動(dòng)時(shí),一個(gè)被復(fù)制的本地的路徑和文件工作站建立了。一旦工程師完成那項(xiàng)工作,工作站自動(dòng)刪除,變化被加入數(shù)據(jù)庫(kù)。

      6.3 Change and Configuration Control (CCC)

      SoftoolCCC(稱為CCC/發(fā)展和維護(hù))被作為一個(gè)監(jiān)管系統(tǒng)或作為一個(gè)本地的產(chǎn)品出售。CCC提供一個(gè)變化控制方法論,配置標(biāo)識(shí)和狀態(tài)會(huì)計(jì),以及起源建筑。所有的這些被用來(lái)假定瀑布生命周期模型。CCC下的部件在適當(dāng)?shù)恼J(rèn)可之后,經(jīng)過(guò)了不同階段的生命周期。CCC支持一些文件化的標(biāo)準(zhǔn)。五個(gè)等級(jí)的客戶構(gòu)成權(quán)限的層次列入數(shù)據(jù)庫(kù)。他們是數(shù)據(jù)庫(kù)管理員,CM經(jīng)理,項(xiàng)目經(jīng)理,開(kāi)發(fā)者,及測(cè)試經(jīng)理。一些層次的通道控制了存在,例如密碼控制,用戶等級(jí),指定數(shù)據(jù)或改變需求分配。CCC數(shù)據(jù)庫(kù)層次,代表產(chǎn)品的結(jié)構(gòu),由多層次數(shù)據(jù)結(jié)構(gòu)組成,包括數(shù)據(jù)庫(kù),體系,配置,模塊和文本。編碼的平行版本可用于通過(guò)實(shí)質(zhì)拷貝實(shí)現(xiàn)同時(shí)發(fā)展。這些可以合并或選擇,變化可跨配置運(yùn)用。在合并中沖突可監(jiān)測(cè)到。CCC的變化需求,如項(xiàng)目,可以處理一個(gè)部件的小變化,或產(chǎn)品的下一次發(fā)布所需的所有變化。電子郵件事件通知與變化需求相關(guān)。緊急變化繞過(guò)大多數(shù)的變化控制是允許的。

      6.4 Configuration Mnanagement Assistant (CMA)

      來(lái)自于TARTAN實(shí)驗(yàn)室的CMA提供mechanism(無(wú)方針)創(chuàng)建CM系統(tǒng)。Mechanism使用的是實(shí)體關(guān)系特性數(shù)據(jù)庫(kù)。特性和關(guān)系的等級(jí)詳細(xì)說(shuō)明了部件的特征,一個(gè)產(chǎn)品的分解和部件之間的相互依賴。特性的等級(jí)是分割,演示,和版本;關(guān)系的等級(jí)是邏輯從屬,一致性,兼容性,部件,立即和可繼承的從屬性。CMA用來(lái)錄制和獲取配置描述,部件的組成,錄制和獲取關(guān)于一個(gè)配置的部件之間已知的(不)一致性和從屬性。它預(yù)告新形成的配置的完整性,不明確,和一致性。任何數(shù)據(jù)庫(kù)的變化是通過(guò)對(duì)簡(jiǎn)單“交易”的承諾產(chǎn)生的。每種配置可以有它自己的通道控制mechanism。配置之間的名字沖突通過(guò)使用間隔來(lái)避免。

      6.5 Design Management System (DMS)

      來(lái)自于SHERPA公司的DMS適用于電腦輔助設(shè)計(jì)/工程師市場(chǎng)和硬件的一部份,設(shè)計(jì)工程師環(huán)境。DMS提供邏輯的集中倉(cāng)庫(kù),內(nèi)含清晰的分布的數(shù)據(jù)。文檔可包含任何種類的信息,如ASCII,圖形,以及設(shè)計(jì)數(shù)據(jù)。文檔的版本通過(guò)當(dāng)?shù)夭僮飨到y(tǒng)的版本控制來(lái)實(shí)現(xiàn)。所有信息(產(chǎn)品結(jié)構(gòu),發(fā)布程序,事件警告,用戶定義特性和關(guān)系)被集中在一個(gè)核心的數(shù)據(jù)庫(kù)。“發(fā)布”的意見(jiàn)通過(guò)促銷水平(代表項(xiàng)目通過(guò)時(shí)的臺(tái)階)獲取。這些代表公司方針用于評(píng)審,確認(rèn)或完畢信號(hào)。用戶可以指定誰(shuí)可以獲得什么樣的數(shù)據(jù),數(shù)據(jù)群,誰(shuí)應(yīng)該被告知狀態(tài)變化,完畢信號(hào)及促銷需要什么樣的確認(rèn)和檢查。DMS通道控制是在用戶等級(jí)和promotion level of file的基礎(chǔ)上實(shí)現(xiàn)的,文檔名可以加密,實(shí)質(zhì)的團(tuán)隊(duì)可以定義(這些是地理上分散但分享同一數(shù)據(jù)庫(kù)的用戶)??梢笞詣?dòng)同步更新或分批更新。變化可以在小組成員間得到交流溝通。不管在網(wǎng)絡(luò)的哪個(gè)地方,文檔的最新版本都可以定位。DMS用這個(gè)結(jié)構(gòu)來(lái)執(zhí)行檢查。并可提供報(bào)告及預(yù)評(píng)審。變化需求(包括相關(guān)文件)確認(rèn)后自動(dòng)隨附。

      6.6 Domain Software Engineering Environment(DSEE)

      DSEE 提供版本控制、系統(tǒng)建模、配置發(fā)放、分散系統(tǒng)建立、物件組、用以查找要做的事務(wù)及已經(jīng)完成任務(wù)的任務(wù)單、將特殊事件通知用戶的控制。版本控制置于一資源文檔庫(kù)中。一DSEE系統(tǒng)模型是對(duì)一產(chǎn)品或產(chǎn)品一部分的描述。它是一針對(duì)靜態(tài)和結(jié)構(gòu)特點(diǎn)的公開(kāi)描述,包括資源文檔、派生物件和從屬工具、組件的階層、創(chuàng)建規(guī)則、創(chuàng)建順序、數(shù)據(jù)庫(kù)及路徑的確定、轉(zhuǎn)換工具的選擇和一些控制過(guò)程規(guī)則。

      6.7 ISTAR

      ISTAR來(lái)自于imperial software technology ltd. 是一個(gè)環(huán)境設(shè)計(jì)的特別用來(lái)支持項(xiàng)目管理的。軟件項(xiàng)目個(gè)體之間的關(guān)系被模仿為合同。一個(gè)合同理論上是對(duì)期望產(chǎn)品的描述,并被構(gòu)造成數(shù)據(jù)庫(kù)。一個(gè)配置是在合同之間移轉(zhuǎn)的單元,移轉(zhuǎn)時(shí)被認(rèn)為是“凍結(jié)的”。合同的移轉(zhuǎn)暗示了一定的任務(wù)或階段已完成。CM為合同數(shù)據(jù)庫(kù)內(nèi)的項(xiàng)目而存在,并在合同之間可交付。為數(shù)據(jù)庫(kù)內(nèi)的部件提供繼承者和不同的控制。用戶可以定義CM部件之間的關(guān)系,可以為問(wèn)題報(bào)告分配部件。這是對(duì)系統(tǒng)建立的支持。

      6.8 JASMINE

      JASMINE是應(yīng)用于室內(nèi)CMXEROX信息系統(tǒng)分配上開(kāi)發(fā)的大型程序設(shè)計(jì)系統(tǒng)。系統(tǒng)模型是其核心。它描述一個(gè)軟件系統(tǒng),這個(gè)軟件系統(tǒng)使用在設(shè)置和功能上構(gòu)建的代數(shù)模式。用戶能用這個(gè)代數(shù)模式來(lái)定義復(fù)雜的詢問(wèn)和簡(jiǎn)單的譯本。軟件結(jié)構(gòu)則被定義在模板中,翻譯捆綁體由圖象支持,后繼的翻譯記錄在一個(gè)族中,這個(gè)族支持并行開(kāi)發(fā)。專業(yè)譯文被分類后組織成特殊歷史記錄(如:一個(gè)項(xiàng)目專業(yè)歷史記錄)正文內(nèi)容和這些族均被提供給譯本,同時(shí)定義它的語(yǔ)法結(jié)構(gòu)和連貫性。

      JASMINE工具利用系統(tǒng)模型信息拷貝文件并存檔,編譯源代碼,瀏覽并釋放空間。

      6.9 LIFESPAN

      生命期來(lái)自YARD軟件系統(tǒng),嚴(yán)格支持變化控制。它適用于項(xiàng)目經(jīng)理監(jiān)控各種變化的情形,只有經(jīng)過(guò)授權(quán)的用戶才能使用它。生命期使用相關(guān)的數(shù)據(jù)庫(kù)和詢問(wèn)語(yǔ)言,存儲(chǔ)文字、二進(jìn)制代碼和圖表,并為這些項(xiàng)目提供版本控制。

      目標(biāo)集BELONG TO。。。負(fù)責(zé)批準(zhǔn)對(duì)包進(jìn)行改動(dòng)的管理人員被指派此包。生命期使用制圖辦公模型,這些模型建立在硬件設(shè)計(jì)方法論的基礎(chǔ)上。它識(shí)別狀態(tài)量,偏移量,偏移觸發(fā)器,命令行和用戶權(quán)限。電子郵件提供自動(dòng)識(shí)別功能。報(bào)告建立在庫(kù)存項(xiàng)目基礎(chǔ)上,并可以進(jìn)行改動(dòng)。在安全方面,配置項(xiàng)目設(shè)有密碼和加密的文件名。它支持各種國(guó)際標(biāo)準(zhǔn)的問(wèn)題的提出,跟蹤和正式改動(dòng)控制。

      一般認(rèn)為測(cè)試信息也是一種配置項(xiàng),它依賴于其它項(xiàng)目。生命期監(jiān)控改動(dòng)的一致性標(biāo)準(zhǔn)過(guò)程。它決定什么系統(tǒng)使用回顧性模塊,標(biāo)識(shí)所有需要被納入回顧系統(tǒng)的開(kāi)發(fā)人員并發(fā)布必要的控制文件。

      改動(dòng)一經(jīng)批準(zhǔn),如何授權(quán)它并分配源代碼是一項(xiàng)管理策略。以上工作完成后,項(xiàng)目被從存儲(chǔ)區(qū)調(diào)出,模擬,以開(kāi)發(fā)項(xiàng)的身份重新提交。此過(guò)程重復(fù)進(jìn)行。

      6.10           Network Software EnvironmentNSE

      SUN軟件系統(tǒng)開(kāi)發(fā)的NSE是管理操作系統(tǒng)目錄結(jié)構(gòu)并從源代碼獲取附加文件的一套應(yīng)用體,附帶一個(gè)數(shù)據(jù)庫(kù)。NSE為開(kāi)發(fā)代碼的項(xiàng)目組提供工作空間。此工作空間通過(guò)一個(gè)合并并升級(jí)處于子空間和父空間之間的文件的協(xié)議來(lái)支持遞歸轉(zhuǎn)換。工作空間里的文件表示為一種結(jié)構(gòu)體,它代表對(duì)這種結(jié)構(gòu)體的多種版本,除了最后一種,其它的結(jié)構(gòu)體都是不可變的。同一個(gè)工作空間的不同用戶在此工作時(shí)都得經(jīng)過(guò)檢查并登記在文件中。合并交叉工作空間的沖突問(wèn)題NSE提供了交互性支持。工作空間能夠高效地獲取目錄結(jié)構(gòu),這種目錄結(jié)構(gòu)用于存儲(chǔ)源代碼并從產(chǎn)品,已建成的結(jié)構(gòu)體和產(chǎn)品的邏輯結(jié)構(gòu)中衍生構(gòu)件。

      6.11           PowerFrame

      Powerframe這個(gè)工具來(lái)自EDA系統(tǒng),對(duì)計(jì)算機(jī)輔助設(shè)計(jì)工作提供配置管理。它用一種統(tǒng)一的圖解接口把用戶屏敝在操作系統(tǒng)和文件系統(tǒng)之外。操作時(shí),用戶拖出一個(gè)合適的工具菜單。POWERFRAME自動(dòng)檢索所有相關(guān)數(shù)據(jù),運(yùn)行這個(gè)工具,在用戶使用完畢時(shí)保存所有的改動(dòng)。POWERFRAME把在產(chǎn)品中數(shù)據(jù)的幾種組織方式合并起來(lái)以便用戶集中精力于那些僅適合于完成特定任務(wù)的數(shù)據(jù),工程,一個(gè)展望,一個(gè)見(jiàn)解和一個(gè)數(shù)據(jù)包。一項(xiàng)工程是一個(gè)數(shù)據(jù)的集合,這些數(shù)據(jù)構(gòu)成協(xié)作體的主題(如,一個(gè)包含了所有電流設(shè)計(jì)線路文件版本的產(chǎn)品)。一項(xiàng)展望是一套工作,專業(yè)工程師任何時(shí)間都可以使用這個(gè)裝置的文件版本。見(jiàn)解使用戶集中精力于設(shè)計(jì)的特定方向(如,那些僅與邏輯顯示和規(guī)劃布局有并的信息將被顯示),一個(gè)數(shù)據(jù)包是一個(gè)邏輯單元(如算術(shù)邏輯單元),這個(gè)邏輯單是正在設(shè)計(jì)的幾個(gè)組件的抽象。它允許諸如由不同工具產(chǎn)生的細(xì)節(jié)數(shù)據(jù)被隱蔽并在需要時(shí)獲得。在效果上,POWERFRAME把此摘要的所有相關(guān)信息分類。一部份對(duì)象由某版本控制,其它的在檢測(cè)中確定其版本。

      6.12           Rational

      RATIONAL的環(huán)境體支持開(kāi)發(fā)大型ADA產(chǎn)品的軟件人員組。RATIONAL的計(jì)算機(jī)管理設(shè)備依賴于其子系統(tǒng)。ADA程序庫(kù)與它們的計(jì)算機(jī)管理系統(tǒng)交互相關(guān),一個(gè)子系統(tǒng)代表ADA產(chǎn)品的一部份。子系統(tǒng)可以獨(dú)立于產(chǎn)品的其它部份僅由一個(gè)軟件工程師開(kāi)發(fā)或者由一個(gè)工作組協(xié)同完成。一個(gè)子系統(tǒng)有一個(gè)版本標(biāo)識(shí)符,可以被釋放回收。不同版本的子系統(tǒng)可以同時(shí)操作,其差異被合并,子系統(tǒng)之間也可以進(jìn)行合并。通過(guò)活動(dòng)桌面可以分辨出哪些子系統(tǒng)的哪些版本要進(jìn)行合并。

      RATIONAL提供對(duì)ADA單元重編譯最小化的機(jī)制。通過(guò)子系統(tǒng)ADA單元被放置在版本控制器中。用戶可以根據(jù)設(shè)計(jì)需要開(kāi)啟,關(guān)閉版本控制器。

      6.13           Revision Control System(RCS)

      修訂控制系統(tǒng)(RCS)是一套由W.Tichy開(kāi)發(fā)的,庫(kù)里的源文件提供版本控制器的工具。庫(kù)對(duì)每個(gè)文件建立一棵版本樹(shù)。樹(shù)上的一個(gè)分支代表文件里的一個(gè)變量。RCS對(duì)版本和分支的操作自帶一套計(jì)數(shù)方案,為了節(jié)省空間并且盡快獲取最近的版本,我們只存儲(chǔ)文件版本之間的差異。獲取文件庫(kù)的通常使用模式包括用戶檢索庫(kù)文件的特定版次(通過(guò)鎖定方式),修改文件。修改完畢后登記回原版本所在的出處。與此同時(shí),RCS會(huì)記錄修改的細(xì)節(jié),如作者,日期,時(shí)間和修改原因。如果需要,RCS可以自動(dòng)將一個(gè)特有的標(biāo)識(shí)放入文件。RCS能對(duì)比文件的不同版本,終止一項(xiàng)配置以及通過(guò)識(shí)別源代碼行的差別合并各個(gè)分支。庫(kù)文件標(biāo)志(如配置標(biāo)志或狀態(tài)標(biāo)志)可以用于標(biāo)識(shí)文件之間的關(guān)連。

      6.14           SHAPE

      SHAPE系統(tǒng)來(lái)自柏林大學(xué),它借助版本狀態(tài),配置標(biāo)識(shí)符為我們提供一個(gè)帶有特定文件系統(tǒng),版本控制器和工作間的庫(kù)。它集成系統(tǒng)模型設(shè)備并從中獲取二進(jìn)制代碼池。我們可以通過(guò)用戶定義/系統(tǒng)定義的屬性模式描述各項(xiàng)配置。串行和并行的配置版本均支持開(kāi)發(fā)組件。工作間由版本的狀態(tài)量激活。此版本還可以確定文件的不穩(wěn)定性。工作間文件的狀態(tài)值“忙”“已保存”“激活”以及公用辦公數(shù)據(jù)庫(kù)使用的狀態(tài)值“已打印”“完成”和“終止”相互轉(zhuǎn)換。

      6.15           Software Management System

      軟件管理系統(tǒng)(SMS),提供版本控制,工作區(qū)管理,系統(tǒng)模擬,。。。改變庫(kù)探測(cè)方式,對(duì)接口說(shuō)明書進(jìn)行加工,以及對(duì)基于屬性的版本區(qū)進(jìn)行加工。工作于與任務(wù)相關(guān)的版本時(shí),工作區(qū)提供保護(hù)措施并支持對(duì)每個(gè)任何基底的認(rèn)證和登陸。

      一旦特殊事件發(fā)生,物件的變動(dòng)就受到監(jiān)控和跟蹤。已獲取的物件有一個(gè)連續(xù)狀態(tài)量,(“合法”“受保護(hù)”“廢止”“非法”)用來(lái)代表與已構(gòu)成系統(tǒng)的關(guān)系;此物件還帶有一個(gè)程度狀態(tài)量(“同意”“警告”“嚴(yán)重錯(cuò)誤”),用來(lái)指明版本的一致性。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多