軟件配置管理(Configuration Management)是指用于控制系統(tǒng)一系列變化的學(xué)科,通
過(guò)一系列技術(shù)、方法和手段來(lái)維護(hù)產(chǎn)品的歷史、鑒別和定位產(chǎn)品獨(dú)有的版本,并在產(chǎn)品的開(kāi)
發(fā)和發(fā)布階段控制變化,通過(guò)有序管理和減少重復(fù)性工作,保證生產(chǎn)的質(zhì)量和效率。
不同于配置管理,軟件配置管理以計(jì)算機(jī)為載體(不論工具和產(chǎn)品),不光維護(hù)產(chǎn)品的
狀態(tài),歷史紀(jì)錄,同樣還支持存儲(chǔ)、恢復(fù)和產(chǎn)品制造。軟件配置管理是軟件工程中涉及概念
較多的一項(xiàng)內(nèi)容,為了便于說(shuō)明,下面給出一些軟件配置管理相關(guān)術(shù)語(yǔ)(主要是軟件配置管
理計(jì)劃規(guī)范GB/T 12505-90)的定義和說(shuō)明。
(1) 項(xiàng)目委托單位(Project Entrust Organization)
項(xiàng)目委托單位指為產(chǎn)品開(kāi)發(fā)提供資金,通常也是(但有時(shí)也未必確定產(chǎn)品需求的單位或
個(gè)人。
(2) 項(xiàng)目承辦單位(Project Undertaking Organization)
項(xiàng)目承辦單位指為項(xiàng)目委托單位開(kāi)發(fā)、購(gòu)置或選用軟件產(chǎn)品的單位或個(gè)人。
(3) 軟件開(kāi)發(fā)單位(Software Development Organization)
軟件開(kāi)發(fā)單位是指直接或間接受項(xiàng)目委托而直接負(fù)責(zé)開(kāi)發(fā)軟件的單位或個(gè)人。
(4) 用戶(User)
用戶指實(shí)際使用軟件來(lái)完成某項(xiàng)計(jì)算、控制或數(shù)據(jù)處理等任務(wù)的單位或個(gè)人。
(5) 軟件(Software)
軟件指計(jì)算機(jī)程序及其有關(guān)的數(shù)據(jù)和文檔,也包括固化了的程序。
IEEE 給出的定義為:計(jì)算機(jī)程序、方法、規(guī)則、相關(guān)的文檔資料以及在計(jì)算機(jī)上運(yùn)行
時(shí)所必須的數(shù)據(jù)。
由此可見(jiàn),軟件已不再只是一個(gè)程序和一本使用手冊(cè),而是包括大量的程序、文檔和
數(shù)據(jù)。
(6) 軟件對(duì)象(Software Object)
軟件對(duì)象是在項(xiàng)目進(jìn)展過(guò)程中產(chǎn)生的、可由軟件配置管理加以控制的任何實(shí)體。每個(gè)
軟件對(duì)象都具有一個(gè)唯一的標(biāo)識(shí)符、一個(gè)包含實(shí)際信息的對(duì)象實(shí)體、一組用于描述其自身特
性的屬性與關(guān)系,以及用于與其他對(duì)象進(jìn)行關(guān)系操作與消息傳遞的機(jī)制。
軟件對(duì)象按其生成方式可分為源對(duì)象(Source Object)與派生對(duì)象(Derived Object),
按其內(nèi)容結(jié)構(gòu)形式可分為原子對(duì)象(Atomic Object)與復(fù)合對(duì)象(Derived Object),按其內(nèi)
部結(jié)構(gòu)形式可分為原子對(duì)象(Atomic Object)與復(fù)合對(duì)象(composite Object),按照軟件開(kāi)
發(fā)的不同時(shí)刻(狀態(tài))可分為可變對(duì)象(Mutable Object)與不可變對(duì)象(Immutable Object).
(7) 配置(Configuration)
配置指在配置管理中,軟件或硬件所具有的(即在技術(shù)文檔中所陳述的或產(chǎn)品所實(shí)現(xiàn)
的)那些功能特性和物理特性。
(8) 重要軟件(Critical Software)
重要軟件指其故障會(huì)影響到人身安全,會(huì)導(dǎo)致重大經(jīng)濟(jì)損失或社會(huì)損失的軟件。
(9) 軟件生存周期(Software Life Cycle)
軟件生存周期指從對(duì)軟件系統(tǒng)提出應(yīng)用需求開(kāi)始,經(jīng)過(guò)開(kāi)發(fā),產(chǎn)生出一個(gè)滿足需求的計(jì)
算機(jī)軟件系統(tǒng),多面手投入運(yùn)行,直至該軟件系統(tǒng)“退役”為止。其間經(jīng)歷系統(tǒng)分析與軟件
定義、軟件開(kāi)發(fā)以及系統(tǒng)的運(yùn)行與維護(hù)等3 個(gè)階段。其中軟件開(kāi)發(fā)階段一般又分成需求分析、
概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼與單元測(cè)試、組裝與集成測(cè)試、系統(tǒng)測(cè)試以及安裝與驗(yàn)收等6
個(gè)階段。
(10) 軟件開(kāi)發(fā)庫(kù)(Software Development Library)
軟件開(kāi)發(fā)庫(kù)指在軟件生存周期的某一個(gè)階段期間,存放與該階段軟件開(kāi)發(fā)工作有關(guān)的
計(jì)算機(jī)可讀信息和人工可讀信息的庫(kù)。
(11) 配置項(xiàng)(Configuration Item)
配置項(xiàng)指一個(gè)配置中的實(shí)體,它滿足一項(xiàng)最終使用功能,并能在給定的參考點(diǎn)上意象
標(biāo)識(shí)。在GB/T 11457-1995《軟件工程術(shù)語(yǔ)》中給出配置項(xiàng)另外一個(gè)定義:為了配置管理目
的而作為一個(gè)單位來(lái)看待的硬件和/或軟件成分,滿足最終應(yīng)用功能并被指明用于配置管理
的硬件/軟件,或它們的集合體。
軟件配置管理的對(duì)象是軟件配置項(xiàng),它們是在軟件工程過(guò)程中產(chǎn)生的信息項(xiàng)。按照
ISO9000-3 的規(guī)定,軟件配置可以是:
-與合同、過(guò)程、計(jì)劃和產(chǎn)品有關(guān)的文檔和數(shù)據(jù);
-源代碼、目標(biāo)代碼、和可執(zhí)行代碼;
-相關(guān)產(chǎn)品,包括軟件工具、庫(kù)內(nèi)的可利用軟件、外購(gòu)軟件及用戶提供的軟件。
組成上述信息的所有項(xiàng)目構(gòu)成了一個(gè)軟件配置,而其中的每一項(xiàng)便于工作稱(chēng)為一個(gè)軟
件配置項(xiàng),這是配置管理的基本單位。在軟件開(kāi)發(fā)過(guò)程中,最早的軟件配置項(xiàng)是系統(tǒng)軟件規(guī)
格說(shuō)明書(shū),隨著軟件開(kāi)發(fā)過(guò)程的不斷深入,軟件配置項(xiàng)也迅速增加。
軟件配置項(xiàng)基本可劃分為兩種類(lèi)別:
-軟件基準(zhǔn)——經(jīng)過(guò)正式評(píng)審和認(rèn)可的一組軟件配置項(xiàng)(文檔和其他軟件產(chǎn)品),它們作
為下一步的軟件開(kāi)發(fā)工作的基礎(chǔ),并且只有通過(guò)正式的變更控制堆積才能被更改。例如:設(shè)
計(jì)報(bào)告是編碼工作的基礎(chǔ),設(shè)計(jì)報(bào)告可作為軟件基準(zhǔn)。
-非基準(zhǔn)配置項(xiàng)——沒(méi)有正式評(píng)審認(rèn)可的一組軟件配置項(xiàng)。
這可以從下面角度劃分軟件配置項(xiàng)。
一個(gè)軟件系統(tǒng)劃分為幾個(gè)配置項(xiàng)要由項(xiàng)目經(jīng)理所確定的開(kāi)發(fā)策略決定。讀者可以參考
NASA 給出的軟件配置項(xiàng)劃分原則( 《NASA Software Configuration Management
Guidebooks》,1995),每個(gè)軟件或某集合符合如下條件之一,可視為一個(gè)軟件配置項(xiàng):
-該軟件集合是獨(dú)立設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試的;
-該軟件集合對(duì)總體性能是關(guān)鍵的,或存在高風(fēng)險(xiǎn)的,或關(guān)系到系統(tǒng)安全性;
-該軟件集合極為復(fù)雜,涉及高新技術(shù),或有嚴(yán)格的性能要求;
-該軟件集合與其他現(xiàn)有軟件項(xiàng)目或由其他機(jī)構(gòu)提供的軟件之間有直接接口;
-預(yù)計(jì)該軟件集合在成為可運(yùn)行軟件之后會(huì)有比常規(guī)更多的修改;
-該軟件集合包括了某個(gè)特定范圍的所有功能,如應(yīng)用軟件、操作系統(tǒng)等;
-該軟件集合安裝在與系統(tǒng)其他部分不同的計(jì)算機(jī)平臺(tái)上;
-該軟件集合被設(shè)計(jì)成可重復(fù)使用的。
下面介紹軟件配置項(xiàng)的命名/編號(hào)。
軟件的每個(gè)組件/部件的標(biāo)識(shí)必須唯一,以便于用該標(biāo)識(shí)符來(lái)跟蹤和報(bào)告軟件配置項(xiàng)的
狀態(tài)。通常,對(duì)每一個(gè)軟件配置項(xiàng)要賦予一個(gè)標(biāo)識(shí)名稱(chēng)或符號(hào),軟件配置項(xiàng)的各部分又在該
標(biāo)識(shí)符下附上描述符。NASA-CM-GDBK 給出的一個(gè)標(biāo)識(shí)例子是:組成航天飛機(jī)飛行軟件的
軟件配置項(xiàng)可標(biāo)識(shí)為FS(Flight Software for a Spacecraft);而該飛行軟件的組成部分,例如
飛行執(zhí)行程序可標(biāo)識(shí)為FS_EX,表示它是FS 軟件配置項(xiàng)的第二層次組件;該執(zhí)行程序的各
元件(子程序)可編號(hào)為FS_EX_001、FS_EX_002 等。
因此,可以根據(jù)“型號(hào)代號(hào)_分系統(tǒng)/設(shè)備配置代號(hào)_所處研制階段代號(hào)_軟件產(chǎn)品分類(lèi)編
號(hào)_配置項(xiàng)編號(hào)”原則來(lái)對(duì)各軟件配置項(xiàng)及其組件、子程序及相關(guān)描述文檔進(jìn)行命名、編號(hào)。
在軟件的事個(gè)生存周期中,一般包括制定計(jì)劃,分析評(píng)估、設(shè)計(jì),測(cè)試,運(yùn)行/維護(hù)等
狀態(tài)。相應(yīng)地可以把軟件配置管理分為設(shè)計(jì)態(tài),測(cè)試態(tài),受控態(tài)和運(yùn)行態(tài)4 種狀態(tài),其中受控態(tài)即指軟件配置管理項(xiàng)處于配置管理狀態(tài)。
(12) 軟件受控庫(kù)(Software controlled Library)
軟件受控庫(kù)指在軟件生存周期的某一個(gè)階段結(jié)束時(shí),存放作為階段產(chǎn)品而釋放的,與軟
件開(kāi)發(fā)工作有關(guān)的計(jì)算機(jī)可讀信息和人工可讀信息的庫(kù)。軟件配置管理就是對(duì)軟件受控庫(kù)中
的各軟件項(xiàng)進(jìn)行管理,因此軟件受控庫(kù)也叫做軟件配置管理庫(kù)。
(13) 軟件產(chǎn)品庫(kù)存(Software Product Library)
軟件產(chǎn)品庫(kù)指在軟件生存周期的系統(tǒng)測(cè)試階段結(jié)束后,存放最終產(chǎn)品、交付給用戶運(yùn)
行或在現(xiàn)場(chǎng)安裝的軟件的庫(kù)。軟件產(chǎn)品庫(kù)可在分系統(tǒng)、系統(tǒng)層上分別設(shè)立并維護(hù)。如果軟件
產(chǎn)品庫(kù)中的產(chǎn)品需要更改則應(yīng)將些產(chǎn)品在產(chǎn)品庫(kù)中加鎖,撮軟件受控庫(kù)中相應(yīng)的軟件配置
項(xiàng),履行受控庫(kù)中的更改控制手續(xù),直至更改完成并確認(rèn)其能完成指定功能和性能后,方可
再次存入軟件產(chǎn)品庫(kù)。
(14) 配置管理(Configuration Management)
配置管理是對(duì)以下各項(xiàng)在運(yùn)用技術(shù)上和行政上的管理和監(jiān)視的一門(mén)學(xué)科。對(duì)一個(gè)配置
項(xiàng)的功能特性和物理特性進(jìn)行標(biāo)識(shí)并寫(xiě)成文檔;對(duì)這些特性的更改進(jìn)行控制;對(duì)更改處理過(guò)
程和實(shí)施狀態(tài)進(jìn)行記錄和報(bào)告;以及對(duì)是否符合規(guī)定需求進(jìn)行驗(yàn)證。
(15) 接口控制(Interface Control)
接口控制指描述由一個(gè)或多個(gè)部門(mén)提供的,兩個(gè)或兩個(gè)以上的配置項(xiàng)接口的所有功能
特性和物理特性的過(guò)程。在這些功能特性和物理特性實(shí)現(xiàn)之前,要確保對(duì)它們所做的修改
已經(jīng)評(píng)審和批準(zhǔn)。
(16) 版本(Version)
版本是某一配置項(xiàng)的已標(biāo)識(shí)了的實(shí)例(Instance)。也可以說(shuō),不可變的源對(duì)象經(jīng)質(zhì)量
檢查合格后所形成的新的相對(duì)穩(wěn)定的格局(配置)稱(chēng)為軟件版本。
每個(gè)軟件對(duì)象可具有一人版本組,它們彼此間具有特定的關(guān)系,這種關(guān)系用以描述其演
變情況,通常軟件對(duì)象的版本組呈樹(shù)形結(jié)構(gòu)。
(17) 版本控制(Version Control)
版本控制就是管理在在軟件生存周期中建立起惡報(bào)某一配置項(xiàng)的不同版本。
在軟件工程過(guò)程中所涉及的軟件對(duì)象都要加以標(biāo)識(shí)。在對(duì)象成為基線以前可能要做多
次變更,在成為基線之后也可能需要頻繁地變更。
(18) 釋放(Release)
釋放指在軟件軟件周期的各個(gè)階段結(jié)束時(shí),由該階段向下階段提交該階段產(chǎn)品的過(guò)程。
它也指將系統(tǒng)測(cè)試階段結(jié)束時(shí)所花籃的最終產(chǎn)品向用戶提交的過(guò)程,這個(gè)過(guò)程也叫做交付
(Delivery)。
(19) 基線(Baseline)
基線指一個(gè)配置項(xiàng)在其生存周期的某一特定時(shí)間,被正式標(biāo)明、固定并經(jīng)正式批準(zhǔn)的
版本。也可以說(shuō),基線是軟件生存周期中各開(kāi)發(fā)階段末尾的特定點(diǎn),又稱(chēng)里程碑。只有由正
式技術(shù)評(píng)審而得到的軟件配置項(xiàng)協(xié)議和軟件配置的正式的技術(shù)評(píng)審而得到的軟件配置協(xié)議
和軟件配置的正式文本才能成為基線。它的作用是使各階段工作的劃分更加明確化,使本來(lái)
連續(xù)的工作在這些點(diǎn)上斷開(kāi),以便于檢驗(yàn)和肯定階段成果。
一個(gè)軟件配置項(xiàng)一旦成為基線,就把它存放到項(xiàng)目數(shù)據(jù)庫(kù)(也稱(chēng)項(xiàng)目信息庫(kù)或軟件倉(cāng)
庫(kù))中。當(dāng)一位軟件組織成員想要對(duì)基線配置項(xiàng)進(jìn)行修改時(shí),就把它從項(xiàng)目數(shù)據(jù)庫(kù)中復(fù)制到
該工程師的專(zhuān)用工作空間(例如ClearCase 的視圖)中。這個(gè)活動(dòng)記錄在一個(gè)記事文件中。
總之,基線是軟件配置管理的一個(gè)很需要概念。從某種意義上講,它是在軟件開(kāi)發(fā)過(guò)
程中為進(jìn)行質(zhì)量控制而引入的,它是開(kāi)發(fā)進(jìn)度表上的一個(gè)參考點(diǎn)與度量點(diǎn),是后續(xù)開(kāi)發(fā)的穩(wěn)
定基礎(chǔ)。基線的形成實(shí)際上就是對(duì)某些配置進(jìn)行凍結(jié)。
(20) 軟件配置(Software Configuration)
軟件配置指一個(gè)軟件產(chǎn)品在軟件生存周期各個(gè)階段所產(chǎn)生的各種形式(機(jī)器可讀或人工
可讀)和各種版本的文檔、程序及其數(shù)據(jù)的集合。該集合中的每一個(gè)元素稱(chēng)為該軟件產(chǎn)品軟
件配置中的一個(gè)配置項(xiàng)。
軟件工程過(guò)程的輸出信息有 3 種:計(jì)算機(jī)程序,描述計(jì)算機(jī)程序的文檔(包括技術(shù)文
檔和用戶文檔),數(shù)據(jù)結(jié)構(gòu)。在軟件工程過(guò)程中產(chǎn)生的所有的信息項(xiàng)(文檔、報(bào)告、程序、
表格、數(shù)據(jù))就構(gòu)成了軟件配置。軟件配置是軟件開(kāi)發(fā)進(jìn)展到某一時(shí)刻時(shí)產(chǎn)生的全部信息所
形成的一種格局,它反映并描述了軟件開(kāi)發(fā)階段的狀況。
軟件配置的具體形態(tài)可分為以下兩種。
-不可直接執(zhí)行的材料。例如書(shū)寫(xiě)的文檔、程序清單、測(cè)試數(shù)據(jù)、測(cè)試結(jié)果等。
-可直接執(zhí)行的材料。例如目標(biāo)代碼、數(shù)據(jù)庫(kù)信息等。它們可由計(jì)算機(jī)處理,存儲(chǔ)于某
種存儲(chǔ)介質(zhì)上。
(21)功能基線(Functional Baseline)
功能基線指在系統(tǒng)分析與軟件定義階段結(jié)束時(shí),在經(jīng)過(guò)正式評(píng)審和批準(zhǔn)的系統(tǒng)設(shè)計(jì)規(guī)格
說(shuō)明書(shū)中對(duì)開(kāi)發(fā)系統(tǒng)的規(guī)格說(shuō)明;或是指在經(jīng)過(guò)項(xiàng)目委托單位和項(xiàng)目承辦單位雙方簽字同意
的協(xié)議書(shū)或合同中,所規(guī)定的對(duì)開(kāi)發(fā)軟件系統(tǒng)的規(guī)格說(shuō)明;或是由下級(jí)申請(qǐng)并經(jīng)上級(jí)同意或
直接由上級(jí)下達(dá)的項(xiàng)目任務(wù)書(shū)中所規(guī)定的對(duì)開(kāi)發(fā)軟件系統(tǒng)的規(guī)格說(shuō)明。功能基線是最初批準(zhǔn)
的功能配置標(biāo)識(shí)。
(22)分配基線(Allocated Baseline)
分配基線指在軟件需求分析階段結(jié)束時(shí),經(jīng)過(guò)正式評(píng)審和批準(zhǔn)的軟件需求規(guī)格說(shuō)明。分
配基線是最初批準(zhǔn)的分配配置標(biāo)識(shí)。
(23)產(chǎn)品基線(Product Baseline)
產(chǎn)品基線指在軟件組裝與系統(tǒng)測(cè)試階段結(jié)束時(shí),經(jīng)過(guò)正式評(píng)審和批準(zhǔn)的有關(guān)軟件產(chǎn)品的
全部配置項(xiàng)的規(guī)格說(shuō)明。產(chǎn)品基線是最初批準(zhǔn)的產(chǎn)品配置標(biāo)識(shí)。
(24)基線配置管理(Baseline Configuration Management)
基線配置管理指建立經(jīng)正式評(píng)審和認(rèn)可,并作為進(jìn)一步開(kāi)發(fā)工作的基礎(chǔ)的基線的過(guò)程。
某些(如軟件設(shè)計(jì)和代碼)軟件工作產(chǎn)品應(yīng)該有在預(yù)先確定點(diǎn)上建立的基線,并且應(yīng)該對(duì)這
些項(xiàng)施加嚴(yán)格的更改控制過(guò)程。當(dāng)與顧客打交道時(shí),這些基線提供控制和穩(wěn)定性。
(25)基線管理(Baseline Management)
基線管理是指在配置管理中,運(yùn)用技術(shù)上和行政上的管理來(lái)指定一些文檔和更改這些文
檔,這些文檔在某些特定時(shí)刻正式標(biāo)識(shí)和建立起基線。
(26)軟件基線審計(jì)(Software Baseline Audit)
軟件基線審計(jì)是指對(duì)于軟件基線庫(kù)的結(jié)構(gòu)、內(nèi)容和設(shè)施的考查,以便查證基線是否符合
描述基線的文檔。
(27)軟件基線庫(kù)(Software Baseline Library)
軟件基線庫(kù)是指存儲(chǔ)配置項(xiàng)及相連記錄的倉(cāng)庫(kù)。
(28)配置管理庫(kù)系統(tǒng)(Configuration Management Library System)
配置管理庫(kù)系統(tǒng)是存取軟件基線庫(kù)內(nèi)容的工具和規(guī)程。
(29)配置單元(Configuration Unit)
配置單元是可放入配置管理庫(kù)系統(tǒng)的、可從庫(kù)中檢索的一個(gè)配置項(xiàng)。
(30)過(guò)程能力基線(Process Capability Baseline)
過(guò)程能力基線是指用文檔記載的,對(duì)在典型環(huán)境下由于遵循某特定過(guò)程通常所能實(shí)現(xiàn)預(yù)
期結(jié)果的范圍的特性描述。
(31)配置控制組/委員會(huì)(Configuration Control Board)
配置控制組/委員會(huì)是指一組負(fù)責(zé)評(píng)估和審批配置項(xiàng)的變更人員,以確保所有的變更都
是經(jīng)過(guò)審核的。
(32)配置標(biāo)識(shí)(Configuration Identification)
配置標(biāo)識(shí)是軟件配置管理的一個(gè)要素,由為系統(tǒng)所選的配置項(xiàng)及記錄它們功能的物理特
性的技術(shù)文檔組成;經(jīng)核準(zhǔn)的配置項(xiàng)的技術(shù)文檔是由說(shuō)明書(shū)、圖、表等組成的。為了方便對(duì)
軟件配置項(xiàng)進(jìn)行控制和管理,不致造成混亂,要給它們命名,這就是配置標(biāo)識(shí)的任務(wù)。
配置標(biāo)識(shí)主要目的是對(duì)變更配置項(xiàng)的軟件行為及變更結(jié)果提供一個(gè)可跟蹤的手段,避免
軟件開(kāi)發(fā)行為在不受控,混亂的情況下進(jìn)行,也有利于軟件開(kāi)發(fā)工作以基線漸進(jìn)的方式完成。
(33)變更管理(Change Management)
變更管理是軟件配置管理的一個(gè)要素,由評(píng)估、協(xié)調(diào)、批準(zhǔn)或不批準(zhǔn)以及對(duì)正式構(gòu)造配
置標(biāo)識(shí)的配置項(xiàng)實(shí)施變更等活動(dòng)組成。
變更管理主要目的是控制和協(xié)調(diào)不同責(zé)任的軟件開(kāi)發(fā)人員進(jìn)行有效的交流,使軟件開(kāi)發(fā)
人員不會(huì)在無(wú)序的環(huán)境下各自為戰(zhàn),導(dǎo)致團(tuán)隊(duì)開(kāi)發(fā)的效率出現(xiàn)不可逾越的瓶頸。軟件生存期
內(nèi)全部的軟件配置是軟件產(chǎn)品的真正代表,必須使其保持精確。軟件工程過(guò)程中某一階段的
變更,均要引起軟件配置的變更,對(duì)這種變更必須嚴(yán)格加以控制和管理,保持修改信息,并
把精確、清晰的信息傳遞到軟件工程過(guò)程下一步驟。
(34)配置狀態(tài)統(tǒng)計(jì)(Configuration Status Accounting)
配置狀態(tài)統(tǒng)計(jì)是軟件配置管理的一個(gè)要素,由有效管理所需的記錄和報(bào)告信息組成。這
些信息包括經(jīng)核準(zhǔn)的配置標(biāo)識(shí)表、需要變更的配置狀態(tài)和實(shí)施經(jīng)審核的變更狀態(tài)。
狀態(tài)統(tǒng)計(jì)主要目的是在版本控制與過(guò)程管理的基礎(chǔ)上,通過(guò)量化的數(shù)據(jù)和報(bào)表展現(xiàn)軟件
開(kāi)發(fā)進(jìn)度的狀態(tài)。
(35)配置審核(Configuration Auditing)
配置審核是軟件配置管理的一個(gè)要素,它根據(jù)需求、標(biāo)準(zhǔn)或合同協(xié)議檢驗(yàn)軟件產(chǎn)品。
配置審核主要目的是以用戶和開(kāi)發(fā)團(tuán)隊(duì)均認(rèn)可的衡量尺度(例如與用戶簽定的軟件合
同),通過(guò)功能審核及物理審核兩種方式,對(duì)軟件實(shí)施過(guò)程和軟件功能的完整性、正確性進(jìn)
行檢驗(yàn)審核。配置審核確保軟件配置管理系統(tǒng)作用正確,保證測(cè)試過(guò)后的配置項(xiàng)功能滿足需
求。
配置審核分為非正式審核和正式審核。
在軟件生存周期的關(guān)鍵階段采取非正式審核。例如,在開(kāi)始系統(tǒng)設(shè)計(jì)前,一般要進(jìn)行配
置審核,檢驗(yàn)需求規(guī)格配置的完整性和正確性。在軟件音樂(lè)會(huì)客戶前采取正式審核。
正式審核包括功能型和物理型兩種類(lèi)型。功能配置審核(FCA)是通過(guò)對(duì)測(cè)試方法、測(cè)
試流程及測(cè)試報(bào)告的評(píng)價(jià),鑒定軟件配置項(xiàng)的實(shí)際性能是否符合設(shè)計(jì)文檔所確定的要求。物
理配置審核(PCA)是對(duì)配置項(xiàng)的音樂(lè)會(huì)版本的正式檢測(cè),鑒定該版本是否與所確定的技術(shù)
和文檔相一致,并保證軟件音樂(lè)會(huì)版本中已完成了所有已批準(zhǔn)的更改,包括了所有要求的軟
件項(xiàng)目、數(shù)據(jù)、工作規(guī)程和文檔。
軟件配置管理的 4 個(gè)關(guān)鍵要素為配置標(biāo)識(shí)、變更管理、配置審核、配置狀態(tài)統(tǒng)計(jì)。
(36)開(kāi)發(fā)配置管理(Developmental Configuration Management)
開(kāi)發(fā)配置管理是指運(yùn)用技術(shù)上和行政上的管理來(lái)指定和控制軟件和其相關(guān)的技術(shù)文檔,
它們定義一個(gè)軟件工作產(chǎn)品在開(kāi)發(fā)期間不斷進(jìn)化的配置。開(kāi)發(fā)配置管理自在開(kāi)發(fā)者的直接控
制之下。置于開(kāi)發(fā)配置管理下的配置項(xiàng)不是基線,雖然在開(kāi)發(fā)的某些點(diǎn)上,它們可能被基線
化并置于基線配置管理之下。
(37)關(guān)鍵過(guò)程域(Key Process Area)
一組相關(guān)的活動(dòng),當(dāng)這些活動(dòng)共同完成時(shí),能實(shí)現(xiàn)對(duì)建立過(guò)程能力至關(guān)重要的一組目標(biāo)。
每個(gè)關(guān)鍵過(guò)程域已經(jīng)定義在單個(gè)成熟度等級(jí)上。CMU—SEI 確定它們是一些主要構(gòu)成單元,
用于幫助確定一個(gè)組織的軟件過(guò)程能力和了解為更高成熟度等級(jí)前進(jìn)所做的改進(jìn)。軟件配置
管理是CMM(軟件能力成熟度模型)中等級(jí)2 的關(guān)鍵過(guò)程域。
常用的軟件配置管理英文縮寫(xiě):
CI Configuration Item 配置項(xiàng)
SCM Software Configuration Management 軟件配置管理
SCMP Software Configuration Management Plan 軟件配置管理計(jì)劃
CR Change Request 變更請(qǐng)求
SCN Specification Change Notice 說(shuō)明變更注意
FCA Functional Configuration Audit 功能配置審核
GUI Graphical User Interface 圖形用戶界面
PCA Physical Configuration Audit 物理配置審核
VDD Version Description Document 版本說(shuō)明文檔
ECP Engineering Change Proposal 工程變更建議書(shū)
CPCI Computer Program Configuration Item 計(jì)算機(jī)程序配置項(xiàng)
CSCI Computer Software Configuration Item 計(jì)算機(jī)軟件配置項(xiàng)
SCCB Software Configuration Control Board 軟件配置控制組/委員會(huì)