賈莉英
【摘 要】在中小企業(yè)應(yīng)用配置管理流程中,為了節(jié)約資源,提高企業(yè)工作效率,必須根據(jù)實(shí)際情況變通配置流程中的不切實(shí)際的環(huán)節(jié),針對(duì)各子環(huán)節(jié)有相應(yīng)的變通方法。
【關(guān)鍵詞】中小企業(yè)、配置管理流程
【中圖分類號(hào)】C29【文獻(xiàn)標(biāo)識(shí)碼】A【文章編號(hào)】1672-5158(2013)07-0492-02
一、 引言
軟件配置管理的發(fā)展在國內(nèi)雖然是21世紀(jì)的事,但是發(fā)展比較迅速,得到了軟件公司的普遍認(rèn)可。但是對(duì)于中小公司,由于重視不夠或缺少相關(guān)知識(shí),在實(shí)際使用中存在一些問題。中小公司照搬大公司流程存在也不切合實(shí)際。
二、 配置管理流程
2.1制定配置管理計(jì)劃
在《項(xiàng)目開發(fā)計(jì)劃》完成后,配置管理員(SCME)參考項(xiàng)目經(jīng)理制定的《項(xiàng)目開發(fā)計(jì)劃》完成《配置管理計(jì)劃》,《配置管理計(jì)劃》中需要明確項(xiàng)目的基線配置項(xiàng)計(jì)劃,以及基線計(jì)劃等信息。
不同的項(xiàng)目,配置管理計(jì)劃的內(nèi)容可以不同。主要受以下方面影響:
項(xiàng)目的大小和復(fù)雜性會(huì)影響到配置管理計(jì)劃。特別簡單的項(xiàng)目可能只需要一個(gè)配置管理工具,簡單管理一下源代碼;但是大項(xiàng)目、復(fù)雜的項(xiàng)目則需要詳細(xì)的配置計(jì)劃。
特殊的項(xiàng)目需要更詳細(xì)的計(jì)劃。舉例來說,如果企業(yè)中絕大多數(shù)產(chǎn)品都是完整獨(dú)立開發(fā),而某產(chǎn)品使用了開源代碼。那么在該項(xiàng)目的配置計(jì)劃中,此點(diǎn)就要考慮。
2.2 項(xiàng)目配置庫的建立
項(xiàng)目立項(xiàng)后,項(xiàng)目經(jīng)理通知配置管理員建立項(xiàng)目的配置庫,同時(shí)為項(xiàng)目組人員開放配置庫權(quán)限。
2.3 配置識(shí)別
配置識(shí)別的目的是識(shí)別配置項(xiàng)和基線。
配置項(xiàng)是指處于配置管理之下的軟件或/和硬件的集合體。這個(gè)集合體在配置管理過程中作為一個(gè)實(shí)體出現(xiàn)。
基線是已經(jīng)通過正式復(fù)審和批準(zhǔn)的某規(guī)約或產(chǎn)品,它因此可以作為進(jìn)一步開發(fā)的基礎(chǔ),并且只能通過正式的變更控制過程來改變。
配置識(shí)別活動(dòng)包括以下幾個(gè)內(nèi)容:
* 配置項(xiàng)識(shí)別
配置項(xiàng)可以分為基線配置項(xiàng)和非基線配置項(xiàng)?;€配置項(xiàng)包括所有的技術(shù)類文檔和源程序等;非基線配置項(xiàng)包括項(xiàng)目的各類計(jì)劃和報(bào)告等。
配置管理工作的關(guān)注重點(diǎn)是基線配置項(xiàng)。配置項(xiàng)識(shí)別由SCME參照項(xiàng)目開發(fā)計(jì)劃中的交付物,同項(xiàng)目經(jīng)理共同識(shí)別基線配置項(xiàng),以及配置項(xiàng)間的依賴關(guān)系。配置管理員需要完成《配置管理計(jì)劃》中的配置項(xiàng)計(jì)劃。
* 配置項(xiàng)標(biāo)識(shí)
配置項(xiàng)的標(biāo)識(shí),版本等規(guī)則,參見企業(yè)標(biāo)識(shí)規(guī)范。
* 基線建立
一般在項(xiàng)目的不同階段有對(duì)應(yīng)的基線。
> 基線建立
當(dāng)基線包含的配置項(xiàng)穩(wěn)定后,由項(xiàng)目經(jīng)理通知SCME建立基線?;€建立后一般不允許隨意更改。SCME需要對(duì)基線庫的權(quán)限進(jìn)行設(shè)置。
> 基線變更
當(dāng)基線建立后,如果基線配置項(xiàng)經(jīng)過若干次變更,在配置項(xiàng)穩(wěn)定后,項(xiàng)目經(jīng)理認(rèn)為有必要進(jìn)行變更(再發(fā)布等),或者基線不穩(wěn)定,需要回朔到上一基線,由項(xiàng)目經(jīng)理通知SCME對(duì)基線進(jìn)行變更。
2.4 版本控制
版本控制能夠簡單、明確地重現(xiàn)軟件系統(tǒng)的歷史版本。一般的配置工具都能自動(dòng)保存配置項(xiàng)的版本歷史,但是大多時(shí)候,針對(duì)項(xiàng)目不同階段需要整體化的標(biāo)識(shí)。以下是整體化版本控制的方法:
* 標(biāo)簽
如果項(xiàng)目只有一個(gè)主干,只需要通過打標(biāo)簽的方式,來辨明當(dāng)前的整體版本。這樣將來搜索所有的以這個(gè)整體版本命名的標(biāo)簽,就能找到這個(gè)整體版本對(duì)應(yīng)的所有文件的正確版本,包括源代碼。
* 分支
不同的客戶,基本需求一定,但是有不同的差別,此時(shí)就需要用到分支。使用分支,能夠有效地實(shí)現(xiàn)隔離,也實(shí)現(xiàn)共享。但是分支是有管理成本的。如果標(biāo)準(zhǔn)版的發(fā)布比較頻繁,而客戶又要求變體的發(fā)布跟上標(biāo)準(zhǔn)版發(fā)布的話,那么需要頻繁創(chuàng)建分支。另一方面,如果變體所在的分支上,包含了一些應(yīng)該共享的改動(dòng),那么應(yīng)該合并到主干。這樣,相應(yīng)管理成本也會(huì)提高。
2.5變更控制
在項(xiàng)目開發(fā)過程中,配置項(xiàng)發(fā)生變更幾乎是不可避免的。變更控制的目的就是為了防止配置項(xiàng)被隨意修改而導(dǎo)致混亂。
在瀑布模型的管理中:修改處于“草稿”狀態(tài)的配置項(xiàng)不算是“變更”。當(dāng)配置項(xiàng)的狀態(tài)成為“正式發(fā)布”,或者被“凍結(jié)”后,此時(shí)任何人都不能隨意修改,必須依據(jù)變更的規(guī)則執(zhí)行。
以下為變更規(guī)則:
1) 變更請(qǐng)求
2) 變更審核
3) 配置項(xiàng)出庫
4) 變更實(shí)施
5) 變更驗(yàn)證
6) 配置項(xiàng)入庫
SCME負(fù)責(zé)實(shí)施配置項(xiàng)入庫,確保配置項(xiàng)處于“正式”狀態(tài),并且版本正確。并通知項(xiàng)目經(jīng)理,項(xiàng)目組人員,質(zhì)量保證人員等變更已經(jīng)完成。
但是還有兩種情況,可能不需要嚴(yán)格的變更流程:
1) 功能小變動(dòng):把程序已有的功能,稍微增強(qiáng)或改變一下。特點(diǎn)是:數(shù)量多容易丟,改動(dòng)量不太大。對(duì)這類請(qǐng)求的管理,建議像對(duì)缺陷的管理,進(jìn)行分別跟蹤、處理,直至解決。
2) 迭代模型中管理變更
迭代開發(fā)把一個(gè)大項(xiàng)目在時(shí)間軸上分解成很多小項(xiàng)目,每個(gè)小項(xiàng)目被稱作一個(gè)迭代。幾乎每次迭代,都會(huì)包含需求分析,系統(tǒng)設(shè)計(jì)、代碼實(shí)現(xiàn),以及集成和測(cè)試。這樣就不必刻意走變更流程,只要通過基線或標(biāo)簽的方式就可以對(duì)配置項(xiàng)進(jìn)行識(shí)別。但是在每一個(gè)迭代中,出現(xiàn)的對(duì)正式發(fā)布的配置項(xiàng)進(jìn)行修改,還需要走變更流程。
2.6配置審計(jì)
配置審計(jì)是對(duì)交付的軟件基線進(jìn)行檢驗(yàn),以驗(yàn)證其中包含了所有必需的內(nèi)容,并且這些內(nèi)容本身都是經(jīng)過驗(yàn)證而滿足了需求。配置審計(jì)分為功能審計(jì)和物理審計(jì)兩種:
1) 功能審計(jì)是一種驗(yàn)證審核,它驗(yàn)證配置項(xiàng)的開發(fā)是否完全滿足特定的性能和功能特性,并且所有的操作和支持文檔是齊備的。功能審計(jì)主要方法有評(píng)審、測(cè)試等。一般由研發(fā)人員和測(cè)試人員來做。
2) 物理審計(jì)的目的是為了驗(yàn)證配置項(xiàng)是按照技術(shù)文檔中的規(guī)定構(gòu)建的。
物理審計(jì)工作主要由配置管理人員定期(每月)執(zhí)行。也可因事件驅(qū)動(dòng)進(jìn)行,比如配置項(xiàng)發(fā)布,新版本發(fā)布等。
主要進(jìn)行以下內(nèi)容:
> 審核配置項(xiàng)一致性,具體檢查點(diǎn)如下:
* 參照配置管理計(jì)劃檢查配置項(xiàng)是否按時(shí)提交;
配置項(xiàng)是否滿足配置管理相關(guān)規(guī)定,如配置項(xiàng)標(biāo)識(shí),版本,狀態(tài),版式等;
配置項(xiàng)信息是否正確;
配置項(xiàng)評(píng)審記錄、變更記錄是否完備等。
審核配置項(xiàng)版本一致性:檢查配置管理工作表中配置項(xiàng)版本信息與配置庫中配置項(xiàng)版本信息是否一致,以免工作疏漏造成不一致情況。
審核基線一致性:檢查配置管理工作表中基線內(nèi)容與配置庫中基線信息是否一致。
審核結(jié)構(gòu)權(quán)限一致性:檢查配置庫結(jié)構(gòu)權(quán)限是否合理,是否滿足安全適用需要。
2.7配置狀態(tài)報(bào)告
配置狀態(tài)報(bào)告工作主要由SCME定期執(zhí)行。也可因事件驅(qū)動(dòng)進(jìn)行,比如階段總結(jié),階段評(píng)審等。
常用的配置狀態(tài)報(bào)告分為:
> 周報(bào)告
周報(bào)告每周進(jìn)行,主要內(nèi)容為本周開展的關(guān)于SCM的活動(dòng)總結(jié),以及對(duì)SCM工作發(fā)現(xiàn)的問題的跟蹤。周報(bào)告的審閱人為項(xiàng)目經(jīng)理、質(zhì)量部經(jīng)理。
> 總結(jié)報(bào)告
總結(jié)報(bào)告主要用于項(xiàng)目結(jié)束時(shí),或者因事件驅(qū)動(dòng)而對(duì)SCM工作的當(dāng)前狀態(tài)進(jìn)行概括總結(jié)??偨Y(jié)報(bào)告的審閱人為項(xiàng)目經(jīng)理、質(zhì)量部經(jīng)理。
2.8 配置中止
當(dāng)項(xiàng)目結(jié)束時(shí),由項(xiàng)目經(jīng)理確認(rèn)此項(xiàng)目已不會(huì)再有配置管理方面的變更,由項(xiàng)目經(jīng)理通知配置管理員項(xiàng)目關(guān)閉。
配置管理員關(guān)閉該項(xiàng)目的所有讀寫權(quán)限,并將項(xiàng)目基準(zhǔn)庫內(nèi)容移入產(chǎn)品庫中。該項(xiàng)目配置管理活動(dòng)中止。
三、 結(jié)束語
本文對(duì)配置管理各環(huán)節(jié)都根據(jù)實(shí)際進(jìn)行了簡化變通,或提供了方法,對(duì)中小企業(yè)的配置工作有一定的借鑒意義。
參考文獻(xiàn)
[1] 董越 理解軟件配置管理 電子工業(yè)出版社 2008
[2] [美] Dave Thomas Andy Hunt 版本控制之道——使用CVS 電子工業(yè)出版社 2006