武漢市第二中學(xué) 徐晨淇
面向網(wǎng)絡(luò)開(kāi)發(fā)環(huán)境的軟件配置管理應(yīng)用
武漢市第二中學(xué) 徐晨淇
只有具有了優(yōu)秀的軟件配置管理,才能夠?qū)嵤┫嚓P(guān)的數(shù)據(jù)統(tǒng)計(jì),才能夠使代碼與文檔等得到有序控制.軟件配置管理在理論與實(shí)踐中,軟件產(chǎn)業(yè)界已經(jīng)實(shí)施了長(zhǎng)時(shí)間的研究,并建立了理論模型.實(shí)施有效的軟件配置管理,溝通渠道就會(huì)更好的開(kāi)展,能夠有效的控制變更,更容易使工作人員對(duì)變更進(jìn)行處理.軟件質(zhì)量工程師通過(guò)完善的變更控制系統(tǒng),能夠找出變更代碼的位置,將會(huì)提高軟件開(kāi)發(fā)以及維護(hù)過(guò)程的效率.在我國(guó)軟件配置管理這種作用還沒(méi)有引起相關(guān)單位的重視.軟件配置管理能夠有效對(duì)變更進(jìn)行控制,并將其影響降低到最低限度,進(jìn)而提高生產(chǎn)勞動(dòng)效率.
軟件配置;管理;控制系統(tǒng)
在軟件開(kāi)發(fā)中,軟件管理具有的意義:
實(shí)施大型軟件開(kāi)發(fā),一般會(huì)遇到溝通、數(shù)據(jù)共享、軟件可跟蹤、變更控制、軟件質(zhì)量以及軟件維護(hù)等問(wèn)題的阻礙,造成不能夠?qū)ξ臋n實(shí)施整理,對(duì)數(shù)據(jù)不能夠正確處理,對(duì)軟件開(kāi)過(guò)程不能夠有效管理與控制.在此情況下,軟件配置管理應(yīng)運(yùn)而生.因此,軟件配置管理大型軟件在開(kāi)發(fā)過(guò)程中具有非常重要的意義.
1、優(yōu)秀的軟件項(xiàng)目管理必須有優(yōu)秀的軟件配置管理.同時(shí),優(yōu)秀的軟件配置管理也是軟件質(zhì)量的保證.只有具有了優(yōu)秀的軟件配置管理,才能夠?qū)嵤┫嚓P(guān)的數(shù)據(jù)統(tǒng)計(jì),才能夠使代碼與文檔等得到有序控制.
2、縮短軟件開(kāi)發(fā)時(shí)間,減少軟件維護(hù)費(fèi)用
實(shí)施有效的軟件配置管理,溝通渠道就會(huì)更好的開(kāi)展,能夠有效的控制變更,更容易使工作人員對(duì)變更進(jìn)行處理,在一定程度上,時(shí)間與精力就會(huì)得到有效利用.開(kāi)發(fā)生產(chǎn)率也就會(huì)相應(yīng)得到提高.同時(shí),開(kāi)發(fā)工作人員能夠通過(guò)有效的軟件配置管理,就能夠準(zhǔn)確的掌握文檔與程序的變更,就能夠通過(guò)正確的方法對(duì)維護(hù)問(wèn)題進(jìn)行有效處理,也就降低了維護(hù)費(fèi)用.
3、變更跟蹤并能夠持續(xù)改進(jìn)軟件
軟件質(zhì)量工程師能夠根據(jù)完善的變更控制系統(tǒng),分析問(wèn)題產(chǎn)生的原因并及時(shí)進(jìn)行處理,對(duì)變更控制系統(tǒng)進(jìn)行檢查,對(duì)開(kāi)發(fā)過(guò)程中的項(xiàng)目標(biāo)準(zhǔn)與規(guī)則進(jìn)一步完善,從而保證項(xiàng)目能夠順利實(shí)施.軟件質(zhì)量工程師通過(guò)完善的變更控制系統(tǒng),能夠找出變更代碼的位置,將會(huì)提高軟件開(kāi)發(fā)以及維護(hù)過(guò)程的效率.這樣配置管理就能夠有效對(duì)代碼以及所有文檔實(shí)施有效控制,并得到系統(tǒng)本身的嚴(yán)格審查與評(píng)估,從而有效減少了沖突發(fā)生,能夠有效預(yù)測(cè)變更對(duì)軟件的影響.同時(shí),實(shí)施軟件配置管理,系統(tǒng)中曾經(jīng)出現(xiàn)過(guò)的問(wèn)題與缺陷就會(huì)得到記錄并歸類,并采取有效的解決方法,進(jìn)而能夠持續(xù)的改進(jìn)軟件.這樣,系統(tǒng)如果再次出現(xiàn)類似問(wèn)題,就會(huì)得到很快解決.
4、有效減少對(duì)人的依賴
實(shí)施軟件配置管理,能夠清晰的記錄開(kāi)發(fā)過(guò)程中,對(duì)代碼以及文檔的控制與記載.開(kāi)發(fā)項(xiàng)目的結(jié)構(gòu)、變更與需求的對(duì)應(yīng)關(guān)系、變更的原因及內(nèi)容都會(huì)通過(guò)軟件配置管理得到詳細(xì)的記錄.這樣,就會(huì)有效降低對(duì)軟件工作人員的依賴程度,項(xiàng)目公司在開(kāi)發(fā)工作人員離開(kāi)的情況下,仍然能夠進(jìn)行項(xiàng)目的開(kāi)發(fā).同時(shí),軟件開(kāi)發(fā)源于需求.軟件在開(kāi)發(fā)過(guò)程中,配置管理對(duì)其進(jìn)行控制,進(jìn)而保證其質(zhì)量及系統(tǒng)的正確建立,從而滿足客戶的需求.
(一)方案設(shè)計(jì)中基本概念分析
1、配置項(xiàng)(Configuration Item):指軟件配置管理術(shù)語(yǔ)中,把需要通過(guò)計(jì)劃控制與管理一些變化的項(xiàng)目,認(rèn)為是配置項(xiàng)或計(jì)算機(jī)軟件配置項(xiàng).如:項(xiàng)目計(jì)劃與配置管理計(jì)劃、測(cè)試數(shù)據(jù)與項(xiàng)目數(shù)據(jù)、對(duì)象代碼與執(zhí)行文件、單元測(cè)試說(shuō)明與用戶手冊(cè)、應(yīng)定義的文檔以及分析、設(shè)計(jì)、代碼、測(cè)試和審核標(biāo)準(zhǔn).
2、配置管理數(shù)據(jù)庫(kù)(CMD):指被記錄在數(shù)據(jù)庫(kù)中配置項(xiàng)的各種屬性、特性、內(nèi)在關(guān)系以及內(nèi)容等.同時(shí),實(shí)施變更請(qǐng)求的信息、狀態(tài)、審核和復(fù)審的過(guò)程記錄也屬于配置管理數(shù)據(jù)庫(kù)內(nèi)容.
3、基線(Baseline):指通過(guò)正式評(píng)審和批準(zhǔn)的某規(guī)約或產(chǎn)品.它是軟件開(kāi)發(fā)的基礎(chǔ),必須在正式的變更過(guò)程中事實(shí)改變.基線在管理變更中起著承上啟下的作用.
4、增量(Delta):新舊版本之間的差異稱為增量.配置管理庫(kù)中,放置全部版本的拷貝是不可能實(shí)現(xiàn)的,這樣,通過(guò)存儲(chǔ)一個(gè)版本與其增量,就相當(dāng)于存儲(chǔ)所有版本拷貝.軟件配置管理分為正向增量與反向增量?jī)煞N增量存儲(chǔ)方式.使用正向增量與反向增量存儲(chǔ)取決于項(xiàng)目的特點(diǎn).
5、配置控制(Configuration Control):指對(duì)配置項(xiàng)實(shí)施處理的過(guò)程.
6、配置狀態(tài)統(tǒng)計(jì)(Accounting):指對(duì)組件和變更請(qǐng)求的狀態(tài)實(shí)施有效記錄與報(bào)告,對(duì)產(chǎn)品組件的各種信息進(jìn)行收集.它能夠?yàn)楸WC軟件質(zhì)量與項(xiàng)目管理提供準(zhǔn)確的數(shù)據(jù).
7、配置審核(Audit):指對(duì)移交的軟件基線進(jìn)行檢查的過(guò)程.它能夠有效避免后期開(kāi)發(fā)工作發(fā)生差錯(cuò).
(二)大型地域分布式項(xiàng)目配置管理方案設(shè)計(jì)分析
1、分配任務(wù):其目的是便于管理,有效降低信息交流數(shù)量.一般情況下,大型地域分布項(xiàng)目會(huì)在某站點(diǎn)實(shí)施某子系統(tǒng)或組件的開(kāi)發(fā).如果這個(gè)站點(diǎn)具有不同個(gè)子系統(tǒng)或組件,就會(huì)選擇內(nèi)聚的程序或組件.同時(shí),避免同其他站點(diǎn)開(kāi)發(fā)的程序或組件重合.
2、信息交流方式設(shè)計(jì):大型地域分布項(xiàng)目由于開(kāi)發(fā)小組所處地域不同,就會(huì)造成時(shí)間的差別.即使實(shí)施任務(wù)分配時(shí),一定程度上消除了對(duì)各個(gè)站點(diǎn)之間的依賴,然而,信息交流在所難免.因此,應(yīng)對(duì)信息交流方式進(jìn)行設(shè)置:(1)通常情況下,采取電子郵件的基本信息交流方式;(2)會(huì)議以及緊急事件的處理等往往會(huì)實(shí)施及時(shí)反饋的信息交流方式;(3)采用即時(shí)通訊軟件的及時(shí)反饋的信息交流方式;(4)運(yùn)用Windows 特有Netmeeting的交流方式;(5)借助郵件實(shí)施公共信息的發(fā)布.
3、配置管理工具設(shè)計(jì):基于大型地域分布式項(xiàng)目軟件系統(tǒng)具有一定的復(fù)雜性的緣故,配置管理工具一定要功能全且完善.可以通過(guò)項(xiàng)目?jī)?nèi)容與資金進(jìn)行決定.
4、組織結(jié)構(gòu)設(shè)計(jì)
(1)軟件配置管理組:通常情況下,軟件配置管理員與變更控制委員會(huì)是軟件配置管理組的基本內(nèi)容.通常情況下,軟件配置管理組還會(huì)設(shè)置配置管理小組,協(xié)助自己管理和協(xié)調(diào)整個(gè)項(xiàng)目.然而,仍然會(huì)存在問(wèn)題,如:工作量過(guò)于龐大、開(kāi)發(fā)小組之間改動(dòng)發(fā)生不一致、功能相近或類型相似的子系統(tǒng)之間工作重復(fù).因此,需要增設(shè)一個(gè)組件級(jí)配置管理組,對(duì)小組級(jí)的配置管理組進(jìn)行直接管轄.這就形成了項(xiàng)目級(jí)、組件級(jí)以及開(kāi)發(fā)小組級(jí)三種配置管理組,進(jìn)而使上層軟件配置的工作強(qiáng)度與壓力得到了減輕.
項(xiàng)目級(jí)配置管理組負(fù)責(zé)系統(tǒng)正常運(yùn)作、管理維護(hù)與發(fā)布項(xiàng)目代碼和文檔、變更控制以及向項(xiàng)目管理層匯報(bào)等職責(zé).組件配置管理組負(fù)責(zé)本組件的軟件配置管理與審核以及變更控等職責(zé).同時(shí),負(fù)責(zé)向項(xiàng)目配置管理組匯報(bào)工作.開(kāi)發(fā)小組配置管理組負(fù)責(zé)配置狀態(tài)統(tǒng)計(jì)、配置審核以及向上一級(jí)配置管理組匯報(bào)等職責(zé).同時(shí),負(fù)責(zé)本小組的軟件配置管理工作、
(2)變更控制委員會(huì):隸屬于配置管理小組.它對(duì)各項(xiàng)具體活動(dòng)進(jìn)行具體指導(dǎo)并進(jìn)行控制.同時(shí),為項(xiàng)目經(jīng)理實(shí)施決策提供更多建議,建立、更改基線的設(shè)置.
(3)項(xiàng)目經(jīng)理:對(duì)項(xiàng)目配置管理計(jì)劃實(shí)施批準(zhǔn)與發(fā)布,對(duì)配置管理組的報(bào)告實(shí)施審閱,對(duì)重大問(wèn)題進(jìn)行決定,執(zhí)行監(jiān)督項(xiàng)目,是整個(gè)軟件研發(fā)活動(dòng)的負(fù)責(zé)人.
(4)配置管理員:每個(gè)配置管理小組有配置管理員.負(fù)責(zé)提交所在組配置管理計(jì)劃,對(duì)開(kāi)發(fā)人員進(jìn)行相關(guān)的培訓(xùn),不同級(jí)別的配置管理員有不同的管理范圍.
(5)系統(tǒng)集成員:負(fù)責(zé)具體的劃定基線,負(fù)責(zé)日常工作,集成修改與構(gòu)建系統(tǒng),也是配置管理組的成員.
(6)開(kāi)發(fā)人員:依照組織實(shí)施的配置管理計(jì)劃于規(guī)定,進(jìn)行任務(wù)開(kāi)發(fā)工作.
5、配置管理庫(kù)設(shè)計(jì)
配置管理庫(kù)通常情況,對(duì)存儲(chǔ)配置項(xiàng)進(jìn)行管理.在大型地域分布式項(xiàng)目中,版本控制的配置項(xiàng)是共享的.版本控制庫(kù)應(yīng)運(yùn)用項(xiàng)目集中管理的模式,不僅能夠使開(kāi)發(fā)人員共享,而且便于管理與協(xié)調(diào).配置管理庫(kù)有版本管理庫(kù)和存檔管理庫(kù)之分.
6、配置管理流程設(shè)計(jì)
通常情況下,軟件開(kāi)發(fā)項(xiàng)目一般會(huì)經(jīng)過(guò):計(jì)劃、開(kāi)發(fā)以及維護(hù)等三個(gè)階段.軟件開(kāi)發(fā)項(xiàng)目從軟件配置管理的方面可以分為:計(jì)劃階段、項(xiàng)目開(kāi)發(fā)和維護(hù)階段兩個(gè)階段.
7、關(guān)鍵配置管理活動(dòng)的設(shè)計(jì)
配置的標(biāo)識(shí)、控制、狀態(tài)統(tǒng)計(jì)以及審核是配置管理的主要內(nèi)容.
(1)配置標(biāo)識(shí):是軟件配置控制的基礎(chǔ)工作,對(duì)基線建立過(guò)程進(jìn)行有序定義,對(duì)基線軟件配置項(xiàng)以及相關(guān)文檔進(jìn)行充分描述.軟件應(yīng)該被劃分為配置項(xiàng).同時(shí),配置項(xiàng)的功能、性能以及物理特性在文檔中必須有相應(yīng)的描述.
(2)配置控制:項(xiàng)目或系統(tǒng)的配置項(xiàng)被標(biāo)識(shí)后,就會(huì)實(shí)施一定程度的控制.大型地域分布式項(xiàng)目擁有變有效的更管理和控制系統(tǒng),才能夠使變更請(qǐng)求得到有序處理與跟蹤.
(3)配置狀態(tài)統(tǒng)計(jì):是配置管理活動(dòng)中的一個(gè)必要活動(dòng).進(jìn)行配置標(biāo)識(shí)、建議變更配置的狀態(tài)以及批準(zhǔn)的變更所處的狀態(tài)都是配置統(tǒng)計(jì)的主要內(nèi)容.
(4)配置審核:主要對(duì)配置項(xiàng)以及配置標(biāo)識(shí)的一致性進(jìn)行審核.對(duì)配置項(xiàng)的處理進(jìn)行分析、對(duì)配置標(biāo)識(shí)準(zhǔn)則落實(shí)進(jìn)行檢查以及對(duì)配置項(xiàng)符合預(yù)期的物理特性進(jìn)行確定等都是配置審核的內(nèi)容.同時(shí),流程審核對(duì)配置管理的各種流程和過(guò)程是否符合規(guī)定進(jìn)行審核.
軟件開(kāi)發(fā)過(guò)程中,軟件配置管理具有非常重要的作用.然而,在我國(guó)軟件配置管理這種作用還沒(méi)有得到相關(guān)單位的高度重視.軟件配置管理能夠有效對(duì)變更進(jìn)行控制,并將其影響降低到最低限度,進(jìn)而提高生產(chǎn)勞動(dòng)效率.軟件配置管理是軟件開(kāi)發(fā)過(guò)程中非常重要的一個(gè)步驟.
[1]孫潔.支持軟件配置管理的軟件開(kāi)發(fā)過(guò)程研究及應(yīng)用[D].太原理工大學(xué),2005.
[2]韋杰.基于構(gòu)件的軟件配置管理中版本管理關(guān)鍵技術(shù)研究[D].大連海事大學(xué),2006.
[3]孫健.基于配置項(xiàng)的軟件變更管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].東北大學(xué),2006.
[4]崔方園.支持分布式協(xié)同開(kāi)發(fā)的軟件配置管理系統(tǒng)研究[D].大連海事大學(xué),2009.
[5]周靜.基于特征邏輯的軟件配置管理模型及其應(yīng)用研究[D].太原理工大學(xué),2003.
徐晨淇(2000-),男,江西豐城人,高中,研究方向:計(jì)算機(jī).