軟件項目的配置管理全_第1頁
軟件項目的配置管理全_第2頁
軟件項目的配置管理全_第3頁
軟件項目的配置管理全_第4頁
軟件項目的配置管理全_第5頁
已閱讀5頁,還剩108頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

,第八章軟件項目的配置管理

第八章?目錄

8.1軟件配置及其管理的概念

8.2配置管理活動和流程

8.3配置管理需求

8.4版本管理

8.5變更管理

8.6配置狀態(tài)監(jiān)測與報告

8.7基于配置管理的軟件項目管理

8.8配置管理的技術(shù)手段和工具

第八章?目錄

|口[=>

8.2配置管理活動和流程

8.3配置管理需求

8.4版本管理

8.5變更管理

8.6配置狀態(tài)監(jiān)測與報告

8.7基于配置管理的軟件項目管理

8.8配置管理的技術(shù)手段和工具

8.1軟件配置及其管理的概念

8.1.1CMM2的配置管理概念

8.1.2IEEE的配置管理定義

8.1.3配置管理概述

8.1.4配置管理活動的作用

2010-4-64

-e—,--=J』

四巳y上

J配置的才白硬件

星師是如何處理接口的?

J軌件工,

J

匡i軟件的變化可以發(fā)生在一秒鐘內(nèi)

1?軟件的變化可以發(fā)生在每一秒鐘

一?軟件開發(fā)過程下一秒鐘是不確定的

?情況將會怎樣?怎么辦?

2010-4-65

/傷

寫快史。/閂一八名伙石土你的演示,認(rèn)為很有市場潛

,合迸公司正在給某行業(yè)用戶正在準(zhǔn)備開發(fā)的系統(tǒng)中,成為

該像心技術(shù)或一個別人沒有的賣點(diǎn)。

下-(你的老板準(zhǔn)備就此豪賭一把了),與你

"國

不同的是,公司從其他部門為你配備了系統(tǒng)分析師,還

_希.編制員、測試員。你的核心模塊已經(jīng)被大量的用戶功能所包

空成為一個行業(yè)應(yīng)用系統(tǒng),并開始給用戶試用,這是你的系統(tǒng)的第

個月后,公司決定把系統(tǒng)升級到第二版,除增加了許多新的功能

三二二科,公司決定支持多平臺,同時,為了提高系統(tǒng)的性能和效率,準(zhǔn)備

一采用第三方廠家的中間件,取代自己做的接口。第一版的缺陷修改,

=:-也要反映到第二版中。

/第2版經(jīng)過2個多月的開發(fā),最終推向了市場。公司的這個產(chǎn)品不但被

用戶所歡迎,也被一家大公司所看中(就像IBM收購了Lotus和

RationaleInformix一樣),你們的產(chǎn)品,正好可以填補(bǔ)這家大公司

產(chǎn)品線的空缺,你所在的公司被這家公司買去了。

2010-4-66

一,一’—產(chǎn)品經(jīng)理、項目經(jīng)理。-——?'''',f.z、-

測試期團(tuán)總部獨(dú)立的測R部?門承V擔(dān)。-T定把項目組增

加到殛在你所在的城市。在新公司里,產(chǎn)品管

理靖項wii的/防法

jZirczz^rr心

利不同的吟是—『THJ子住行開發(fā)目勺

乙瘴上去是一家出來的不同的兄弟和姐妹。

a%

與軟件■版、第2版相比,你的項目管理有什么不同?

覺個產(chǎn)品的演變,項目發(fā)生了四個變化:

素統(tǒng)的復(fù)雜性發(fā)生了很大變化;

A.直芯用于開發(fā)該系統(tǒng)的項目環(huán)境發(fā)生了很大變化;

(④-在不同的項目生命周期內(nèi),項目控制本身的要求和力度發(fā)生了很

一大變化;

(4)由于組織的變化,管理流程、人員、方式發(fā)生了很大變化。

前二類變化要求項目的組織和管理適應(yīng)系統(tǒng)擴(kuò)展的需要,后二種變

化則要求項目管理具有適應(yīng)性和靈活性。

2010-4-67

,發(fā)人員之間缺乏必要的交流

產(chǎn)■和維護(hù)所必需的程序和文檔非?;靵y

裝過程中的人員流動經(jīng)常發(fā)生

二管理不善致使未經(jīng)測試的軟件加入到產(chǎn)品中

?-項目開發(fā)狀態(tài)不清楚

?軟件生產(chǎn)達(dá)不到規(guī)?;?/p>

2010-4-68

匚UA/匕丐國觴跖

IB

序演變的學(xué)科,它作為軟件工程的關(guān)鍵元素,

窺件開發(fā)和維護(hù)的重要組成部分……

賄結(jié)構(gòu)化的,有序化的,產(chǎn)品化的管理軟件工

.寢。它涵蓋了軟件生命周期的所有領(lǐng)域并影響所

據(jù)和過程。

-?配置管理是指用于控制系統(tǒng)一系列變化的學(xué)科。

-?通過一系列技術(shù),方法和手段來維護(hù)產(chǎn)品的歷史,鑒

別和定位產(chǎn)品獨(dú)有的版本,并在產(chǎn)品的開發(fā)和發(fā)布階段

控制變化。

?通過有序管理和減少重復(fù)性工作,配置管理保證了生

產(chǎn)的質(zhì)量和效率。

2010-4-69

I變更是不可避免的,而變更加劇了工]

件開發(fā)者之間I標(biāo)就是

群向其他有關(guān)人麻告變更。

嬴識「組織和控制修改的技術(shù),目的是

因此■崢康講,SCM1

使錯誤降為生產(chǎn)

1下方法,強(qiáng)化軟件的可靠性和質(zhì)量:

于識別和控制文檔、代碼、接口、數(shù)據(jù)庫的結(jié)構(gòu)框架,適用于

軟件開蒙懶期的所有階段;

電攀某一特定開發(fā)及維護(hù)工作方法,能夠適應(yīng)各種類型的需求、

藻、組織機(jī)構(gòu)以及相關(guān)的管理策略;

新特定的基線狀態(tài)、變更控制、測試、發(fā)布版本或?qū)彶榛顒?,生?/p>

息和產(chǎn)品信息。

,穹昉從某種意義上講,SCM本質(zhì)上是變更的管理。

一二S皿使軟件產(chǎn)品和過程的變更變?yōu)槭芸氐暮涂深A(yù)見的,它要求并在適當(dāng)?shù)?/p>

二工具支持下能夠做到這樣幾點(diǎn):

(1)誰做的變更?

(2)軟件有什么變更?

(3)什么時間做的變更?

(4)為何要變更?

2010-4-610

隨著計;L軟件的發(fā)展,軟件開發(fā)已由最初的“程序設(shè)計階段”

經(jīng)歷喜軟件系統(tǒng)階段”進(jìn)而演變?yōu)楹髞淼摹败浖こ屉A段",軟

件的復(fù)雪性日益增大。此時,如果仍然把軟件看成一個單一的

撫法解決所面臨的問題,于是配置的概念逐漸引入軟

人們越來越重視軟件配置的管理工作。

JJ不懂軟件項目的IE置管理,就不懂軟件開發(fā)管理

J不對軟件項目進(jìn)亍配置管理,就沒有進(jìn)行軟件項目開

發(fā)管蟠

2010-4-611

霎■對軟件產(chǎn)品配置的標(biāo)志和識別

’■系統(tǒng)地控制對處于配置管理下的各種軟

件制品的修改和更新

三二■維護(hù)軟件開發(fā)過程中的各種制品的一致

性和可跟蹤性

2010-4-6

//目標(biāo)1:

口二打).再線兩松昌國事(用5,

??Q/brc/,匕二一卜卜/vy

/1—1qzj'G.好/—l川一松JI

“目標(biāo)3:對于處于配置管理下的軟件制品的修改被控制

,7目標(biāo)4:與城軌件制品相關(guān)的項目組和成員應(yīng)該被通知制品的目前

N和被修改的信息

朝目的的定義可以看出,CMM2的配置管理應(yīng)包括這樣一些

手定時間點(diǎn)的軟件配置(即所選擇的工作產(chǎn)品及其描

滿)系統(tǒng)地控制這些配置的更改,并在軟件生命周期中保持這

的完整性和可跟蹤性。

-CMM2認(rèn)為,受控于配置管理的工作產(chǎn)品,包括交付給用戶的軟

件產(chǎn)品(如:代碼等),以及生成軟件產(chǎn)品所需要的有關(guān)項

「(如:項目管理文件)。

CMM2的配置管理活動最主要的內(nèi)容是:建立軟件基線庫,該庫

存儲開發(fā)的軟件基線。通過軟件配置管理的更改控制和配置審核

功能,系統(tǒng)地控制基線變更和由軟件基線庫生成的軟件產(chǎn)品版

0莪。13

201

SCM要求月

軟件配置管理委員會;

21Mj和實現(xiàn)軟件配置管理的組織已經(jīng)建立;

簞軟件配置管理所需要的各項資源已經(jīng)分配;

配置管理組織里的成員已經(jīng)接受了軟件配置目

尿、流程、方法方面的培訓(xùn);

51軟件項目組或是其他的相關(guān)的部門經(jīng)過培訓(xùn),可以

執(zhí)行他們的軟件配置管理活動;

2010-4-614

檔化的流程,項目軟件配置管理計劃已準(zhǔn)備

暑假的已獲批準(zhǔn)的軟件配置管理計劃可用作以后

靠己置管理活動的基礎(chǔ);

裝軟件配置管理庫已經(jīng)創(chuàng)建,并可用作進(jìn)入基線的軟

軍學(xué)件制品的存貯庫;

-4.處于軟件配置管理下的軟件制品被標(biāo)志和識別;

5.對于配置項的變更請求和問題報告被初始化、計

戈k評審、批準(zhǔn)并根據(jù)文化化的流程對其進(jìn)行跟

際□e?;

2010-4-615

發(fā)布的產(chǎn)品必須從軟件配置庫中取出,并且產(chǎn)品發(fā)

布的流程須依照文檔化的流程和規(guī)定;

^^8.根據(jù)文檔化的流程和規(guī)定,軟件配置項的狀態(tài)被記

曲宗;

1^二==9:記錄軟件配置管理活動和軟件基線內(nèi)容的報告被建

三立;并通知受到影響的項目組和個人;

10.根據(jù)文檔化的流程進(jìn)行軟件制品基線的評審;

2010-4-616

MM.目配置經(jīng)理(ProjectConfiguration

Manager)與軟件百己置管理計劃

,變更控制委員會(ChangeControlBoard)

_組織級配置管理

■組織配置管理庫(Organizational-

二二二ConfigurationManagementCell)

-1.負(fù)責(zé)項目完成后的軟件配置管理活動

■二一2.管理組織級的文檔

2010-4-617

的配置管理定義

工EEE標(biāo)準(zhǔn)%29T983就配置管理的內(nèi):容進(jìn)行了規(guī)范的定義:

運(yùn)加盧晶的結(jié)松性及其類型,為其分配唯言的一

標(biāo)明符,并鑿窗/形藥提供三陰ra薦必廣

r2;控制:,鼬■磔二靠前替蹄蜃線窿「■控縮南制]版軟修件通產(chǎn)喻晶旗的發(fā)布和在整個軟件生

命周期中對翦件產(chǎn)品的修改。例如,它將解決哪些修改會在該產(chǎn)品的

最新版本中巍A;現(xiàn)的問題。

C3J狀態(tài)紀(jì)記錄并報告構(gòu)件和修改請求的狀態(tài),并收集關(guān)于產(chǎn)品

構(gòu)件的重勇。計信息。例如,它將解決修改這個錯誤會影響多少個文

件.....

(4)審計利審查:確認(rèn)產(chǎn)品的完整性并維護(hù)構(gòu)件間的一致性,即確保

零個嚴(yán)格定義的構(gòu)件集合。例如,它將解決目前發(fā)布的產(chǎn)品所

闡I建:件的版本是否正確的問題。

器對產(chǎn)品的生產(chǎn)進(jìn)行優(yōu)化管理。它將解決最新發(fā)布的產(chǎn)品應(yīng)

一由嘛些版本的文件和工具來生成的問題。

(6)確保軟件組織的規(guī)程、方針和軟件周期得以正確貫徹

執(zhí)行。它將解決要交付給用戶的產(chǎn)品是否經(jīng)過測試和質(zhì)量檢查的問

題。

(7)絹協(xié)作:控制開發(fā)統(tǒng)一產(chǎn)品的多個開發(fā)人員之間的協(xié)作。例

如,它將解決是否所有本地程序員所做的修改都已被加入到新版本的

26t晶-史的問題。18

,識

獨(dú)立部件一韭嗔a勿廂網(wǎng)Mj整ililLJSagi遇勵⑦EaEwiFH叼佇工曾牟

命周期匚摩1蒙客瑞罪提供對軟件過程及其軟件產(chǎn)品的跟蹤

能力。它回冬什么是受控的?

配置變更控制3括在軟件生命周期中控制軟件產(chǎn)品的發(fā)布和變

一薪確保軟件產(chǎn)品質(zhì)量的機(jī)制。它回答:受控產(chǎn)品怎

箍控制變更?何時接受,恢復(fù),驗證變更?

上一卜括記錄和報告變更過程,目標(biāo)是不間斷記錄所有

的狀態(tài)和歷史,并進(jìn)行維護(hù),它解決以下問題:系統(tǒng)已經(jīng)

三二很子什么變更?此問題將會對多少個文件產(chǎn)生影響?配置變更控

一—帝誕針對軟件產(chǎn)品,狀態(tài)統(tǒng)計針對軟件過程。因此,二者的統(tǒng)一

一二就是對軟件開發(fā)(產(chǎn)品、過程)的變更控制。

修將驗證軟件產(chǎn)品的構(gòu)造是否符合需求、標(biāo)準(zhǔn)、或合同的

要求,目的是根據(jù)SCM的過程和程序,驗證所有的軟件產(chǎn)品已

經(jīng)產(chǎn)生并有正確標(biāo)識和描述,所有的變更需求都已解決。它回

答:系統(tǒng)和需求是否吻合?是否所有變更都是在版本控制下?

2010-4-620

由W不研層次

SCM從應(yīng)用正司史"

為中心

版本控制空纓應(yīng)用于個人獨(dú)立開發(fā)或小組開發(fā),它可以控制任何

文件的姓百一實現(xiàn)分支和歸并功能、進(jìn)行文本比較、標(biāo)記注釋和

版本報告彳主要工具有MS的VisualSourceSafe及Intersolv

PVCX

以開發(fā)者為中心主要應(yīng)用于部門級開發(fā),它可用于軟件維護(hù)、不

四彳:加工廠

M尸時ff的開發(fā)任務(wù)、并行開發(fā)、QA及測試,它面向大型團(tuán)隊、利

考至交流、能最大限度地利用人力資源,主要工具為Rational

忑演rCase及MKSSourceIntegrity。

程驅(qū)N主要使用于企業(yè)級開發(fā),著重解決新的工具引入、IT審

核、管理報告、復(fù)雜的生命周期、應(yīng)用工具包、集成解決方案、

資料庫等問題,實現(xiàn)真正規(guī)范的團(tuán)隊開發(fā),主要工具為Platinum

TechnologyCCC/Harvesto

2010-4-621

商ifigu6而^寫配置項(Configuration

件開發(fā)過程中生成各種制品的總和叫做這個

杭州的軟件配置[RogerS.Pressman,1997]

二一三.■計算機(jī)程序,包括源代碼和可執(zhí)行程序

~一一-一_

R三三■與計算機(jī)程序相對應(yīng)的各種文檔

■計算機(jī)數(shù)據(jù),包括計算機(jī)程序中包含的數(shù)據(jù)和

系統(tǒng)初始化數(shù)據(jù)

2010-4-622

。基線

」項目殂道過程的制品經(jīng)過正式評審并被相關(guān)人員

i同意,可以作為以后項目開發(fā)的基礎(chǔ)。對已

定為基線的制品的修改必須要通過正式的變

二_一一-1

一■在軟件工程環(huán)境中,基線是指在軟件開發(fā)過程中

「的里程碑,這些里程碑的標(biāo)志是一項或多項經(jīng)過

正式的技術(shù)評審并一致認(rèn)同的軟件制品的提交。

2010-4-623

建立和訪問軟件制品庫,這個制品庫主

饕用來對保存配置項和一些與軟件配置管理

■1關(guān)的記錄。

£■目前比較好的配置管理工具:Clearcase

一二(Rational),Notes/Domino(Lotus),PVCS

(Merant)andVSS(Microsoft).

2010-4-624

配置管理庫⑴

ProjectRoot

Directory

Code

DOC

ProjectRequirementsDesignCode,UnitSystemTestDATA

PlanningAnalysisPhaseTest&Phase

PhasePhaseDocumentsIntegrationDocuments

DccurpentsDocumentsPhase

Documents

B回

PhasePhaseProductTest

DeliverablesDeliverablesSoftwareSoftware

ProductTest

SourceObjectiveExecutive

SoftwareSoftware

CodeCodeCode

2010-4-6Related-Related25

配置管理庫

-n-----r

配目

?口文件件是項目開發(fā)過程中由項目組創(chuàng)

,■J-

-151-?一r日維護(hù)的制品歸檔庫?!?/p>

「軟件配置管理負(fù)責(zé)管理和控制項目文件

-—.一一,夾,并對文件夾中的內(nèi)容進(jìn)行評審;

二二一,項目經(jīng)理負(fù)責(zé)監(jiān)督項目的軟件配置管理

一」執(zhí)行;

?軟件質(zhì)量工程師負(fù)責(zé)對項目文件夾的內(nèi)

容進(jìn)行評審;

2010-4-626

[日文個

F項目開發(fā)過程中的所有信息,包括文

料、工作制品和各種周報、月報、評

■審等;

些與外部的交流信息,例如與客戶、第

三三_三方的通訊交流記錄等;

三?其他交流會議記錄,例如:重要的

Email,傳真,信件等;

2010-4-627

權(quán)限管理

■項目組內(nèi)部的權(quán)限管理與分配

■對其他項目組的開放權(quán)限管理與分配

■對其他用戶或是第三方的權(quán)限管理與

分配

2010-4-628

I-■-!!j

■U~~?!

LL?—?>_;、

P=!_1—J

:薛系的諸多支持活動中,配置管理處在支持

宿lib位置。質(zhì)量管理雖然也有過程的驗證,

配置管理只要定義的配置項夠細(xì),則它可以管理

t件開發(fā)的全過程,細(xì)到每一個模塊、每一個文|

檔、每一條工程記錄的變化。

等二畝此,配置管理從基礎(chǔ)層開始,有機(jī)地把其它支持

活動結(jié)合起來,形成一個整體,相互促進(jìn),相互影

響,有力地保證了質(zhì)量體系的實施。

2010-4-629

縮出速二周期

減工-1-*費(fèi)7^,用nil

(2)有不H于知識庫的建立

對象庫

圖務(wù)及經(jīng)驗庫

尊)規(guī)范管理

「量化工作量考核

,趣范測試

(4)加強(qiáng)協(xié)調(diào)與溝通

2010-4-630

第八章?目錄

8.1軟件配置及其管理的概念

8.3配置管理需求

8.4版本管理

8.5變更管理

8.6配置狀態(tài)監(jiān)測與報告

8.7基于配置管理的軟件項目管理

8.8配置管理的技術(shù)手段和工具

8.2配置管理活動和流程

8.2.1主要配置管理活動

8.2.2項目經(jīng)理的配置管理流程

變更控制

■,?版本控制

):?評審

?:?統(tǒng)計

■二--。軟件編譯、連接和發(fā)放管理

2010-4-633

g-'一一-一'■一

工女,口%加心中3k

I對

工匚帚—幣[=[

囪置管理,大致可以分為以

計劃頊目配置下步驟:

與變更控制

(1)擬訂項目的配置

管理計劃;(2)創(chuàng)建項

目的配置管理環(huán)境;

由(3)進(jìn)行項目的配置管

用法以目CM小境理活動,包括:標(biāo)識配置

項;管理基線和發(fā)布活

動;監(jiān)測與報告配置狀

囪態(tài);管理變更請求。

ffi(1)和(2)可以看成配

變更與交付配置JJl管理變更請求置管理的準(zhǔn)備,(3)是

配置管理的具體實施。配

_____V____置管理的具體實施,在

RUP定義為四個管理活

動。

2010-4-634

^SoftwareConfj,口

對于配置頊

信息可售-r-r-

計算二機(jī)程序(源代碼和可執(zhí)行程序)

豺算機(jī)程序的文檔(針對技術(shù)開發(fā)者和用戶)

髏薜建存在程序內(nèi)部或外部)。

懣包含了所有在軟件過程中產(chǎn)生的信息,總稱為軟件配置

.二

宇孝唯CMM2中,除上述3個配置項以外,還包括項目管理的有關(guān)文件、

^^<息記錄等。

由此可見,配置項的識別是配置管理活動的基礎(chǔ),也是制定配置

管理計劃的重要內(nèi)容。

2010-4-635

配置

軟件配置管理認(rèn)為外AC\的拜發(fā)過貍是?個7

在不嚴(yán)重踽蹺-"prrr

”基線JI5Line)”這一■概念。

,線的定義是這樣的:“已經(jīng)正式通過審核批準(zhǔn)的某規(guī)約或產(chǎn)

眥可作為進(jìn)一步開發(fā)的基礎(chǔ),并且只能通過正式的變化控

:改變。”

松;根據(jù)這個定義,我們在軟件的開發(fā)流程中,也可以把所有需

要加以控制的配置項分為基線配置項和非基線配置項兩類,例如:

一基線配置項可能包括所有的設(shè)計文檔和源程序等;非基線配置項可

能包括項目的各類計劃和報告等。

有關(guān)配置項的內(nèi)容,我們將在后面,專門花一節(jié)的篇幅,進(jìn)行討

論。

2010-4-6

為標(biāo)識和控制

所:呻~pj,7,-?丁”~vvvI?二-*/—應(yīng)」I的T模I,、■

i中的規(guī)定章節(jié)(部分)記錄對象的標(biāo)

q在引入軟件配置管理工具進(jìn)行管理后,這些配

加以摩定的目錄結(jié)構(gòu)保存在配置庫中。

霸置項的操作權(quán)限應(yīng)由配置管理員嚴(yán)格管理,基本

期謔寸基線配置項向軟件開發(fā)人員開放讀取權(quán)限;非

髏配置項向項目經(jīng)理、配置控制委員會及相關(guān)人員開

三詼--

2010-4-637

在引,

要求二

置庫;混芋儲池)中去,或是直接工作在軟件配置管理工

具提供豳I環(huán)境之下(根據(jù)配置管理構(gòu)架提供的控制方式

同)o

蹌開發(fā)人員按照任務(wù)的要求,在不同的開發(fā)階段,工

聿平自在不同的工作空間上。

比較理想的情況是把整個配置庫視為一個統(tǒng)一的工作空

間,然后再根據(jù)需要把它劃分為個人(私有)、團(tuán)隊

(集成)和全組(公共)這三類工作空間(分支),從

而更好的支持將來可能出現(xiàn)的并行開發(fā)的需求。

2010-4-638

以際需道笄源證版本命名的

版本在生成過程中,自動依照設(shè)定的使用模型

西、演進(jìn)。除了系統(tǒng)自動記錄的版本信息以外,

鼎件開發(fā)流程的各個階段,我們還需要定義、

些元數(shù)據(jù)來記錄版本的輔助信息和規(guī)范開發(fā)流

■r為今后對軟件過程的度量做好準(zhǔn)備。當(dāng)然如果選

1■的工具支持的話,這些輔助數(shù)據(jù)將能直接統(tǒng)計出過程

=啜據(jù),從而方便我們軟件過程改進(jìn)(SoftwareProcess

m$BEovement,SPI)活動的進(jìn)行。

對于配置庫中的各個基線控制項,應(yīng)該根據(jù)其基線的位

置和狀態(tài)來設(shè)置相應(yīng)的訪問權(quán)限。一般來說,對于基線

版本之前的各個版本都應(yīng)處于被鎖定的狀態(tài),如需要對

它們進(jìn)行變更,則應(yīng)按照變更控制的流程來進(jìn)行操作。

2010-4-639

變更管理的一般流程基

(1)<0次變更請求;

(2、莊蝎CB審核并決定是否批準(zhǔn);

)分配請求,修改人員提取配置項,進(jìn)行修改;

(4)

(5)提家修改后的配置項;

于建立測試基線并測試;

I幻灌建軟件的適當(dāng)版本;

?

餐二-(8)復(fù)審(審計)所有配置項的變化;

的發(fā)布新版本。

在這樣的流程中,配置管理員通過軟件配置管理工具來進(jìn)行

訪問控制和同步控制,而這兩種控制則是建立在前面所描述的版

本控制和分支策略的基礎(chǔ)上的。

2010-4-640

口管置庫結(jié)構(gòu)和相關(guān)說明;

開發(fā)起始基線的構(gòu)成;

(3)當(dāng)前基線位置及狀態(tài);

B一翎各基線配置項集成分支的情況;

工學(xué)一⑸各私有開發(fā)分支類型的分布情況;

⑹關(guān)鍵元素的版本演進(jìn)記錄;

(7)其它應(yīng)報告的事項。

2010-4-641

配置審計的年

買買:做

部分“但當(dāng)軟件配置管理是一個正式的活動時該活動由SQA人員單

獨(dú)執(zhí)行“

總件配置管理的對象是軟件研發(fā)活動中的全部開發(fā)資產(chǎn)。所

有出冬切都應(yīng)作為配置項納入管理計劃統(tǒng)一進(jìn)行管理,從而能夠保

感時的對所有軟件開發(fā)資源進(jìn)行維護(hù)和集成。因此,軟件配置管

囹主要任務(wù)也就歸結(jié)為以下幾條:

’139輛定項目的配置計劃;

-_(2)?寸配置項進(jìn)行標(biāo)識;

(3)對配置項進(jìn)行版本控制;

(4)對配置項進(jìn)行變更控制;

(5)定期進(jìn)行配置審計;

(6)向相關(guān)人員報告配置的狀態(tài)。

2010-4-642

是;

制定CL1第略場寫CN1計劃

配置經(jīng)理(1)確定項目配置

管理策略

(2)確定用于控制

產(chǎn)品變更的策略

理立變更和流程

變更控制經(jīng)理控制流程

(3)在配置管理計

劃(是軟件開發(fā)

O:計劃的一部分)

D中記錄此信息

吭目經(jīng)理制定軟件開發(fā)

計劃(從項目

管理工作流程)

.7崎顰策略-

*?r/\I—[FI|i乒[l/|JH「I/一I*"J…r—(pl…匕啊展?好和報與已經(jīng)批準(zhǔn)用.

_L■r\-C7i—■t々建

季的TTOfg力嘴藐前莪贏定操

于期目尊B(yǎng)fefei熊繃能叫.

作題目工件的保護(hù)是通過歸檔、建立基線和報告等

操作位i實現(xiàn)的:。-

/-k-rrr

但用隔蹩的,已記錄下來的墓■FiI的目的是:確保

做的變更保持一致,并將產(chǎn)品的狀態(tài)、對其所

變更以及這些變更所耗費(fèi)的成本及對時間表的影響

關(guān)的涉眾。

軟件配置管理計一:5劃說明在產(chǎn)品/項目生命周期中要執(zhí)行的所

k二L:——?有―—與―配-置---管?-理yf7V相關(guān)的活動。它記錄如何計劃、實施、控

二一一制和組織與產(chǎn)品相關(guān)的配置管理活動。

2010-4-644

■-,----…:………—…?一一一-■---■,ijr-r:---

:較理想的軟件開發(fā)團(tuán)隊中,需要哪些角

目組的項目經(jīng)理

■fit計劃和策略的配置經(jīng)理

軟件產(chǎn)品開發(fā)與維護(hù)的軟件工程人員

臂邀責(zé)驗證產(chǎn)品正確性的測試人員

一一一貪責(zé)確保產(chǎn)品高質(zhì)量的質(zhì)量保證經(jīng)理

使用產(chǎn)品的用戶。

2010-4-645

■■

執(zhí)行L1同時使有關(guān)項目的信息容易獲

手更改形成控制,配置經(jīng)理引入規(guī)范的請求變更

那評估更改的機(jī)制(通過變更控制機(jī)構(gòu)CCB,由

藜責(zé)批準(zhǔn)對軟件系統(tǒng)的變更),和批準(zhǔn)變更的機(jī)制。

置經(jīng)理負(fù)責(zé)為工程人員創(chuàng)建任務(wù)單,交由項目經(jīng)理對任

工務(wù)進(jìn)行分配,創(chuàng)建項目的框架。同時,配置經(jīng)理還收集

「軟件系統(tǒng)中構(gòu)件的相關(guān)數(shù)據(jù),比如說用以判斷系統(tǒng)中出

.現(xiàn)問題的構(gòu)件的信息。

2010-4-646

第八章?目錄

8.1軟件配置及其管理的概念

8.2配置管理活動和流程

8.4版本管理

8.5變更管理

8.6配置狀態(tài)監(jiān)測與報告

8.7基于配置管理的軟件項目管理

8.8配置管理的技術(shù)手段和工具

8.3配置管理需求

8.3.1配置管理的對象

8.3.2最基本的配置管理項——文檔

8.3.3UCM目錄結(jié)構(gòu)下的配置管理對象

8.3.1配置管理對象

/配置管理!的第一個基本活動是配置標(biāo)識,通俗地講,也就是查詢、識

別和確定配置管理

過程中置管理的對

/配置管理〔對象呈現(xiàn)為一種層次結(jié)構(gòu),因此,為了標(biāo)識配置管理的對

■需要對軟件系統(tǒng)進(jìn)行分解:

目前于分解軟件系統(tǒng)的術(shù)語有多種多樣,沒有被標(biāo)準(zhǔn)化。

謠lumphery定義了5個層次:系統(tǒng)、子系統(tǒng)、產(chǎn)品、構(gòu)件和模

一L尊Whitgift定義了3個層次:系統(tǒng)、子系統(tǒng)和元素。

IEEE定義了3個層次:計算機(jī)配置項、計算機(jī)軟件構(gòu)件和計算機(jī)軟件

-■-W-

一?-RUP定義了4個層次:系統(tǒng)、實施(或構(gòu)件)子系統(tǒng)、構(gòu)件和文件

(RUP5.51999)o

2010-4-649

/在RUP?!

是處于版軍控ygrrai

錄,構(gòu)I層次要高于元素

(文件矛目錄),構(gòu)件把元素

組織起來片一個版本控制的構(gòu)

2體的物理的對象,

個根目錄。這個根目

以及從根目錄下所屬的所

知文件,是系統(tǒng)的一個

,統(tǒng)。大的系統(tǒng)有多個根目

二二二鎏1(子系統(tǒng)),小系統(tǒng)則可能

一只有一個根目錄。

?產(chǎn)品目錄結(jié)構(gòu)為所有可具有版本號的、與產(chǎn)品相關(guān)的工件提供邏輯

嵌套的占位符。工件是開發(fā)流程生命周期的結(jié)果,用于開發(fā)整個系統(tǒng)

的各組成部分(構(gòu)件)。

2010-4-650

配置管理對象

/首先找I1從根目錄開始(I有一個根目錄的?。┫到y(tǒng),討論軟

件系統(tǒng)架^目;里方冽的生

起一喂i架。軟件的體系構(gòu)架在軟件工程時代被稱為系統(tǒng)結(jié)構(gòu)。

在皿L囂,被稱為構(gòu)架。

UML對構(gòu)3I勺定義是:

軟件系統(tǒng)組織結(jié)構(gòu)的重要決定;

(2)結(jié);■素和接口的選取,確保它們的行為能滿足這些要素之間的

系;

開勵瑜構(gòu)要素和行為要素以一種漸進(jìn)的方式被組裝成子系統(tǒng),能夠指

一二二導(dǎo)這種組織結(jié)構(gòu)的結(jié)構(gòu)風(fēng)格,要素的內(nèi)容,它們的接口、它們的協(xié)作

一艇犯的組.合。

一?-系凄或系統(tǒng)構(gòu)架是由子系統(tǒng)(構(gòu)件)組成的。

2010-4-651

腌努成三種構(gòu)件7郵置型構(gòu)件、工作產(chǎn)

舉是擷署到囑標(biāo)枇詢的畫

勤皮其他支持O

工作翱例期a源文件、卷文件迎

一抬

型構(gòu)件:是指由運(yùn)行于目標(biāo)機(jī)的系統(tǒng)生成的內(nèi)容,例如:

再度看系統(tǒng)架構(gòu),我們主要關(guān)注的是在開發(fā)環(huán)境中以及將來

示系統(tǒng)中的系統(tǒng)的物理層面的文件和目錄結(jié)構(gòu)、分組和版本

91關(guān)注決定了配置管理的對象以及對象的“粒度”。

淆些項目使用高層次的設(shè)計文檔來描述架構(gòu),例如:模型、視

星用霹布高層架構(gòu)描述中,邏輯上的“類”,可影射對應(yīng)為物理層面的

一?彳乍為軟件產(chǎn)品和軟件過程,這些文件和目錄是SCM控制的對象,即他

一們是配置項。在我們現(xiàn)在的討論中,有時,我們說明這些文件是用于

管理和設(shè)計系統(tǒng)的內(nèi)容(包括:項目計劃、設(shè)計模型、測試報告)

等,有些是實現(xiàn)系統(tǒng)設(shè)計的文件(包括:源代碼、庫、執(zhí)行文件

等),有時,把它們不加區(qū)別地看成為構(gòu)件。

2010-4-652

」可作之項/單元標(biāo)識的軟件工作產(chǎn)品實例有:

與過程相1關(guān)的文檔(例如:計劃、標(biāo)準(zhǔn)或規(guī)程)

交件需求

F設(shè)計

軟件代碼單元

三軟件測試規(guī)程

一為軟件測試活動建立的軟件系統(tǒng)

一交付給客戶或最終用戶的軟件系統(tǒng)

七一編譯程序

二一其他支持工具

不論各體系是如何定義的,我們基本可以認(rèn)為,配置管理的對象,主

要地可以分為二類:軟件產(chǎn)品和文檔。軟件產(chǎn)品比較容易標(biāo)識,而文

檔相對比較復(fù)雜。我們將重點(diǎn)進(jìn)行討論。

2010-4-653

8.3.2最基本的配置管理項——文檔

*—■“

/文檔在i飲件開發(fā)人員、軟件管理人員、維護(hù)人員、用戶以及計算機(jī)之

____________用.開發(fā)人一彳在軟件「牛命

覆麻確需每個作

T作為前階段工作成果的體現(xiàn)和方

用是顯而(易見的。這部分文檔通常稱為開發(fā)文檔。

/軟件開還匕程中軟件開發(fā)人員需制定一些工作計劃或工作報告,這些

聒都要提供給管理人員,并得到必要的支持。管理人員則

■這些文檔了解軟件開發(fā)項目安排、進(jìn)度、資源使用和成果等。

靠險文檔通常稱為管理文檔,或稱為項目文檔。

發(fā)人員需為用戶了解軟件的使用、操作和維護(hù)提供詳細(xì)的資

三就整部分文檔通常稱為用戶文檔。

2010-4-654

我們把這三種文檔所包括的內(nèi)容列在下圖中。其中列舉了十三

個文檔,這里對它們做一些簡要說明:

H用戶手冊

II操作手冊

川廣乂檔||維護(hù)修改建議

||軟件需求(規(guī)格)說明書

軟件需求(規(guī)格)說明書

數(shù)據(jù)要求說明書

概要設(shè)計說明書,

詳細(xì)設(shè)計說明書

可行性研究報告

項目開發(fā)計劃

項目開發(fā)計劃

測試計劃

管理文檔n測試報告

一II開發(fā)進(jìn)度月報J

開發(fā)總結(jié)報告

2010-4-6u55

的作用

所提問題

為何

文檔

可行性研究托

項目開發(fā)計為/

軟件需求說明-7

數(shù)據(jù)要求說明■/?/

概要設(shè)計-;-

-——

用戶手冊

操作手冊

I■"

測試分析報更

開發(fā)進(jìn)度月報

I項目開發(fā)總結(jié)

建議

-

二—=g)工作流(Stream):

-(?)項目(Project):

2010-4-658

第八章?目錄

8.1軟件配置及其管理的概念

8.2配置管理活動和流程

8.3配置管理需求

8.5變更管理

8.6配置狀態(tài)監(jiān)測與報告

8.7基于配置管理的軟件項目管理

8.8配置管理的技術(shù)手段和工具

8.4版本管理

8.4.1版本管理的必要性

8.4.2此前的版本管理

8.4.3元素、分支與版本

8.4.4構(gòu)件、基線與存儲池

8.4.5現(xiàn)代版本管理活動

2010-4-660

一名目I-4

考些問題,具體地說就是如下一些問題:

嬲醫(yī)頊目進(jìn)行整體管理;

發(fā)小組的成員之間如何以一種有效的機(jī)制進(jìn)行協(xié)調(diào);

M喇府小組成員各自承擔(dān)的子項目的統(tǒng)一管理;

對研發(fā)小組各成員所作的修改進(jìn)行統(tǒng)一匯總;

舒輛7保貿(mào)修改的軌跡,以便撤銷錯誤的改動;

大雷日對在研發(fā)過程中形成的軟件的各個版本如何進(jìn)行標(biāo)識,管理及差異

二個非常直接的反應(yīng)是,我們必須要引進(jìn)一種管理機(jī)制,一個版本管理

機(jī)制,而且是廣義上的版本管理,它不僅需要對源代碼的版本進(jìn)行管

理,而且還要對整個項目進(jìn)行管理。

2010-4-661

8.4.2早前的版本管理

>在鬻節(jié)I程時代,面可這佞的而L我、們通過以往、的那種被譽(yù)建立具有

-W山L編,程風(fēng)格的做法以諸,如能編—或.對..他..人..的.源2程序講行修曲?時.洋

釋口為,修改日期/如果是多個成貝同任

£能卜抵現(xiàn)二個庫管理員,由他來控制什么人在訪問哪個源代碼,修改的人

向他報:告做了什么改動。如果有幾個人同時改動,庫管理員或者限定同

期一個人做修改,他記住這人是誰,或者他自己來做同時修改的

翻差鼻第較和綜合,以便形成一個統(tǒng)一的新版本。在3-5人小組.,這

理員還能勝任,但這種做法在當(dāng)前的大型軟件的開發(fā)中已經(jīng)越來

簸圖雉了,因為靠人工的操作、靠個人的自覺、靠庫管理員的維護(hù),充

■是一種以小作坊的形式來面對軟件的社會化大生產(chǎn),再也不可能行

底意通子箕

關(guān)等旗交件目錄的版本管理

―三宏版本控制工具出現(xiàn)之前,或者,現(xiàn)在國內(nèi)很多的軟件企業(yè),并不用什么

?一版本控制工具。他們也做一些簡單的版本控制工作。他們是怎么做的?

-最簡單的辦法是使用文件拷貝支持不同的版本。具體地講,就是項目組在項

目組的文件共享服務(wù)器上,建立一個項目組文件系統(tǒng),在文件系統(tǒng)下,對涉

及到的文件,建立不同的版本目錄,從個人工作區(qū)到系統(tǒng)發(fā)布版,包括中間

結(jié)果,甚至可能是所有文件。庫管理員不斷地增加目錄的標(biāo)簽,以標(biāo)識歷史

前進(jìn)的步伐。

2010-4-662

8.4.2早前的版本管理

工『

一創(chuàng)建和存放文件的多個版本;

處t種或幾種鎖定裝置,強(qiáng)制對文件的修改順序;

啕睡文件的版本;

&)從歷史目錄中找回舊版本。

工具基本上能幫助庫管理員從手工的管理中解脫出

乘,開發(fā)人員不需要庫管理員的介入,可以自己從庫中檢

r人和檢出文件,當(dāng)文件被檢出后,其他人暫時不能再檢出

.此文彳牛。同時,在必要的時候,文侔的一個新版未被創(chuàng)

2010-4-663

8.4.2早前的版本管理

例如;M蝴NSS版本控制是通過以下方式實現(xiàn)的:

>VSS提供版莖筌制歷

復(fù)的

>儂用讖明/時間戳來記錄文件是何時被Check-out或是何時被修改

蓼有亶中方法來跟蹤文件和項目的版本:

><is毒;這是由VSS維護(hù)的內(nèi)部數(shù)碼,用戶對它沒有控制權(quán)。每

,下文件和項目的每個版本都有一個版本號,這些版本號總是一個整數(shù)

眩-

標(biāo)簽:這些是用戶賦給某個項目或文件的某個版本的一個字符

可以是任何格式的長度不超過31字符的字符串。

—A/3)-日期/時間戳:它給出了一個文件何時最后被修改的信息,或者

一是一個文件何時被Check-in。VSS同時支持12小時和24小時的時間格

.式。

2010-4-664

原子對象

在c1—血就豳戰(zhàn)廢?甲尸給盧般明圈臚型解為JJ7G5T?,

整一①為

),兀系TH乂TT不凱:對外;腳b鑿嗦;啥兜素記錄了它所代表

的文件福目錄的版本「所以,當(dāng)用戶檢入文件時,就創(chuàng)建了那個元素的新版

本。元素也前織成不同的分支。分支是線形的版本序列,版本序列構(gòu)成的是

并行開喊?頊目或基于統(tǒng)一基線開始的不同的系統(tǒng)。元素都被保存在存儲池

M/0B;中一存下圖是存儲池、元素、分支、版本之間的關(guān)系:

存儲池元素分支版本

.在ClearCase中,每一個元素都以一個主分支(mainbranch)和一個不包含任

何內(nèi)容的零版本序列開始,稱為“/main/0”。每一次新版本檢入,在主分支上

創(chuàng)建版本1

2010-4-665

\main的

加0左圖的版本樹中,長方形表示

一個分支,圓形表示檢入的時

間排諄的版本號;箭頭表示從

1

\rel2\rell_bugfix一個分支到另一個分支的變更

回歸(歸并)?!鞍l(fā)布版本

0201.0/1.1”是這個版本上的標(biāo)

簽。目錄是元素,也是版本對

131象。ClearCase對目錄與文件一

樣,也進(jìn)行版本管理。為了能

在前一個版本中修復(fù)BUG,或者

242

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論