企業(yè)軟件配置管理實(shí)施策略_第1頁
企業(yè)軟件配置管理實(shí)施策略_第2頁
企業(yè)軟件配置管理實(shí)施策略_第3頁
企業(yè)軟件配置管理實(shí)施策略_第4頁
企業(yè)軟件配置管理實(shí)施策略_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余2頁可下載查看

下載本文檔

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

文檔簡介

1、企業(yè)軟件配置管理實(shí)施策略毫無疑問,軟件配置管理是軟件開發(fā)的基石。一個(gè)缺少軟件配置管理的企業(yè),就等于“作坊式”的開發(fā)模式。雖然大多數(shù)企業(yè)在這一點(diǎn)的認(rèn)識上已經(jīng)達(dá)成共識,然而,在實(shí)際的實(shí)施時(shí)仍存在不少誤區(qū)。正確地在企業(yè)實(shí)施軟件配置管理,有賴于全面正確地認(rèn)識軟件配置管理,以及避免一些常見的誤區(qū),并選擇正確的工具。由于配置管理涉及的領(lǐng)域既有廣度,又有深度,因此,本演講不打算面面俱到,而只是抽取其中的一部分,希望能起到拋磚引玉的效果。正確認(rèn)識軟件配置管理要避免在軟件配置管理實(shí)施時(shí)的誤區(qū),首先需要我們對軟件配置管理的含義有一個(gè)正確全面的認(rèn)識,在這一方面,基本上有兩個(gè)權(quán)威的解釋,一個(gè)是SE|一個(gè)CMM方面的。

2、SEI的定義要點(diǎn)包括:配置管理(CM)是軟件過程的一個(gè)關(guān)鍵元素。它是一個(gè)規(guī)程,通過控制產(chǎn)品的進(jìn)化過程,如持續(xù)的、變化的變更,為軟件系統(tǒng)產(chǎn)品提供了穩(wěn)定性。作為一個(gè)管理規(guī)程,CM通過標(biāo)識產(chǎn)品的組成部分和變更;通過控制變更的開始、評估、授權(quán)和控制;通過記錄和報(bào)告產(chǎn)品及其變更的歷史和狀態(tài),最終控制了產(chǎn)品的整個(gè)進(jìn)化過程。作為一項(xiàng)開發(fā)支持功能,CM用來維護(hù)產(chǎn)品的實(shí)際組成部分;記錄產(chǎn)品的組成部分乃至整個(gè)產(chǎn)品的變化歷史;為產(chǎn)品的變更提供了一個(gè)穩(wěn)定的工作平臺;支持從產(chǎn)品的組件組裝'成整個(gè)產(chǎn)品;并自動(dòng)協(xié)調(diào)并發(fā)的修改。CMM/CMMI的定義要點(diǎn)包括:軟件配置管理的目標(biāo)是在軟件的整個(gè)生命周期期間建立和維護(hù)軟件

3、產(chǎn)品的一致性。軟件配置管理包括:標(biāo)識軟件項(xiàng)目的配置項(xiàng);控制配置項(xiàng)的修改;記錄和報(bào)告配置項(xiàng)的狀態(tài)和修改活動(dòng)。配置管理的核心是意圖消除由于不同版本工件的存在而可能帶來的混亂和錯(cuò)誤。項(xiàng)目中工件的變化不可避免,原因可能包括糾正錯(cuò)誤,功能增強(qiáng)以及產(chǎn)品的進(jìn)化。配置管理就是要使得這些不可避免的變更處于控制之下。大家可以看到,無論是SEI的定義,還是CMM/CMMI的定義,二者之間并沒有本質(zhì)上的區(qū)別。歸納起來,從總體上來說,軟件配置管理主要包括五個(gè)主要方面,即配置項(xiàng)的標(biāo)識、對配置項(xiàng)修改的控制、向團(tuán)隊(duì)成員報(bào)告軟件配置管理的狀態(tài)、審計(jì)軟件配置管理活動(dòng)、實(shí)現(xiàn)自動(dòng)化的構(gòu)建與發(fā)布,其中第五點(diǎn)更是與時(shí)下流行的敏捷趨勢伴隨

4、而流行。全面認(rèn)識軟件配置管理的含義,可以幫助我們認(rèn)知在企業(yè)內(nèi)實(shí)施配置管理時(shí)的先后步驟,以循序漸進(jìn)的方式來實(shí)施。另外,也可以幫助我們?nèi)婀芾砥髽I(yè)實(shí)施時(shí)所涉及的活動(dòng)。在軟件配置管理的五個(gè)主要方面中,很明顯,標(biāo)識是基礎(chǔ),即首要的第一步是要確定哪些對象需要納入到配置管理的控制之下,候選的對象包括:源代碼,設(shè)計(jì)文件,用戶手冊,數(shù)據(jù)庫腳本,構(gòu)建腳本,網(wǎng)站圖形元素等等;接下來需要確定如何控制對這些配置項(xiàng)的修改,包括環(huán)境的搭建,用戶授權(quán),開發(fā)流程等等;隨后,要及時(shí)向團(tuán)隊(duì)成員報(bào)告軟件配置管理的狀態(tài),履行告知的義務(wù),以及進(jìn)行審計(jì),確認(rèn)相關(guān)的軟件配置管理活動(dòng)確實(shí)按照預(yù)定的計(jì)劃高質(zhì)量地完成了。認(rèn)識到這五個(gè)方面的軟件配

5、置管理活動(dòng)的相互關(guān)系非常重要,它們之間互為前提。同時(shí),認(rèn)識到這一點(diǎn)也告訴我們在進(jìn)行軟件配置管理建設(shè)時(shí)不要好高鷲遠(yuǎn),而是要分階段一點(diǎn)一點(diǎn)的穩(wěn)步前進(jìn)。這五個(gè)方面,軟件配置管理工具都要進(jìn)行強(qiáng)有力的支持,使得日常事務(wù)減至最少,這是一個(gè)成熟的軟件配置管理工具應(yīng)具備的基本特征,將在后面講述。如果您到此還對上面的定義感到太學(xué)術(shù)的話,我們不妨換一個(gè)角度來理解軟件配置管理。實(shí)際的軟件開發(fā)活動(dòng)中,常常會有以下的“課題”,請您想想該如何解決呢?如何跟蹤供應(yīng)商(OpenSource)的代碼?如何管理并行開發(fā)?如何進(jìn)行分布式開發(fā)?如何實(shí)現(xiàn)自動(dòng)化的發(fā)布?如何實(shí)現(xiàn)變更管理的流程自動(dòng)化?如果一下子回答不上來的話,也沒關(guān)系。這

6、些問題都是軟件配置管理研究的范疇,掌握軟件管理方面的理論,選擇合適的工具,以及采用合適的實(shí)施策略,將會使這些問題一一得以解決。由此可見,軟件配置管理在軟件開發(fā)(研發(fā))活動(dòng)中具有基礎(chǔ)性的地位,無論是Borland的ALM理念,還是RUP的開發(fā)流程,以及敏捷開發(fā),都對這一觀念進(jìn)行了充分的認(rèn)可。CMM/CMMI對軟件配置管理的活動(dòng)進(jìn)行了進(jìn)一步的細(xì)分,如下圖所示:從圖中可見,CMM/CMMI將軟件配置管理的活動(dòng)分成了六個(gè)方面,每個(gè)方面又再進(jìn)行了細(xì)分。除了上述的五個(gè)方面外,還加上了實(shí)施軟件配置管理所需要的組織架構(gòu)上的支持活動(dòng)。全面認(rèn)識軟件配置管理的活動(dòng),可以防止在實(shí)施的范圍上有所偏差或遺漏。組織架構(gòu)與實(shí)

7、施級別前面提到,為了有效實(shí)施配置管理,還需要組織架構(gòu)上的支持活動(dòng),這就需要具備一定的組織結(jié)構(gòu)。視企業(yè)的規(guī)模以及實(shí)際應(yīng)用開發(fā)時(shí)的情形,軟件配置管理常常在三個(gè)級別上實(shí)施:項(xiàng)目級,應(yīng)用級和組織級,不同級別的軟件配置管理需要履行不同的職責(zé)內(nèi)容,因而也具有相應(yīng)的組織結(jié)構(gòu),如下表所示:項(xiàng)目級將配置管理任務(wù)納入到項(xiàng)目總體計(jì)劃之中對代碼打基線,作為新開發(fā)的穩(wěn)定基礎(chǔ)建立適當(dāng)?shù)姆种Р呗耘c結(jié)構(gòu)編譯代碼創(chuàng)建帶交付物的發(fā)布包參加CCB會議項(xiàng)目中的兼職或?qū)B毰渲霉芾韱T項(xiàng)目經(jīng)理及項(xiàng)目組成員應(yīng)用級(產(chǎn)品級)評估應(yīng)用(產(chǎn)品)級別的配置管理需求選擇最適合該應(yīng)用的配置管理技術(shù)定義應(yīng)用級別的配置管理計(jì)劃(獨(dú)立地),如果在組織級別/、

8、存在的話為應(yīng)用建立配置管理環(huán)境為應(yīng)用建立配置管理流程(檢出、檢入、構(gòu)建、發(fā)布、變更控制、問題管理等等)執(zhí)行配置管理培訓(xùn)專職配置管理員、配置管理經(jīng)理產(chǎn)品經(jīng)理組織級確定配置管理知識域評估組織級別的配置管理風(fēng)險(xiǎn)配置管理組,包括組長,發(fā)布經(jīng)組織管理層評估配置管理的支持和贊助者定義SCM預(yù)算建立配置管理的針對性架構(gòu)定義組織級別的配置管理計(jì)劃定義通用配置管理術(shù)語理等等認(rèn)識到這一點(diǎn)非常重要,無論是組織還是個(gè)人,在實(shí)施軟件配置管理時(shí)首先要清楚自己實(shí)施軟件配置管理時(shí)的范圍是在項(xiàng)目級,還是應(yīng)用級,或是組織級。不同級別的活動(dòng)重心不一樣,認(rèn)識到這一點(diǎn)可以使得將有限的資源投入到關(guān)鍵的地方,從而確保成功。實(shí)施誤區(qū)及對策盡

9、管國內(nèi)在軟件配置管理的應(yīng)用上已經(jīng)有著多年的歷史,然而,失敗的情況仍然比比皆是,原因很多,這里僅列出其中的一些情形,希望能起到警示的作用。我們在此不談?wù)撚捎谌鄙佘浖渲霉芾矶鴰淼默F(xiàn)象,大多數(shù)企業(yè)已經(jīng)不再在是否實(shí)施軟件配置管理方面猶豫不決。盡管如此,有了主觀上的愿望還遠(yuǎn)遠(yuǎn)不夠,企業(yè)在實(shí)施軟件配置管理時(shí)還需要注意相應(yīng)的策略以及防范可能會走入的誤區(qū)。1 .沒有專職的SCM人員;沒有兼職的SCM人員;沒有SCM人員這是一個(gè)很常見的現(xiàn)象,由于對配置管理的內(nèi)容認(rèn)識不清,組織常常不重視配置管理,項(xiàng)目組除了項(xiàng)目經(jīng)理,常常是清一色的開發(fā)人員。缺乏配置管理人員或“湊合”的配置管理人員常常會造成項(xiàng)目的諸多問題,如版

10、本丟失,問題的重復(fù)出現(xiàn),并行開發(fā)力度不夠等等。2 .SCM人員地位不高;團(tuán)隊(duì)整體SCM意識不夠地位不高的SCM人員缺乏推行SCM制度的力度,團(tuán)隊(duì)的SCM意識不夠更是造成實(shí)施的難度加倍。3 .對SCM缺乏正確全面的認(rèn)識1) .范圍對SCM實(shí)施的范圍缺乏全面的認(rèn)識常常使得實(shí)施時(shí)一葉障目,將焦點(diǎn)集中在有限的幾個(gè)點(diǎn)上,例如版本控制和Bug管理,而其他方面卻成為了盲點(diǎn),例如軟件的構(gòu)建與發(fā)布。2)偏見在主觀上對配置管理存在一些偏見,認(rèn)為它過分強(qiáng)調(diào)過程與文檔,過于繁瑣,并且也解決不了項(xiàng)目中的最終問題。其實(shí),配置管理是一項(xiàng)管理活動(dòng),是管理活動(dòng)就得付出一定的管理成本,只要將配置管理的活動(dòng)和前面所描述的相應(yīng)級別相

11、適應(yīng),其投資回報(bào)也將最大化,為此所付出的成本是值得的。另一方面,項(xiàng)目的成功有賴于諸多方面的努力,配置管理只是其中一方面。4 .實(shí)施大多以失敗告終1 .缺少中高層支持2 .缺少必要的培訓(xùn)與支持,團(tuán)隊(duì)對實(shí)施的目標(biāo)認(rèn)識不清3 .不夠敏捷4 .沒有把握好流程、人員、工具三者之間的關(guān)系5 .沒有做好配置審計(jì)、報(bào)告環(huán)節(jié)成熟軟件配置管理工具的特征相對于其他CAS"具,配置管理工具應(yīng)該是最必不可少的,它可以幫助你管理軟件開發(fā)時(shí)繁瑣的工作。從早期的基于文件的版本控制工具,如CVS到今天現(xiàn)代的軟件配置管理工具,如CleaseCaseStarTeam等,軟件配置管理工具已經(jīng)有了長足的發(fā)展,并且依然在快速的

12、發(fā)展著。軟件配置管理工具發(fā)展過程中的關(guān)鍵特征如下表所示:第1代:基于文件,以版本控制、支持Checkout/Checkin模型和簡單分支為主要特征第2代:基于項(xiàng)目庫,支持并行開發(fā)團(tuán)隊(duì)協(xié)作以及過程管理第3代:全面Z合CM管理等各個(gè)軟件開發(fā)環(huán)節(jié)的軟件配置管理整體解決方案企業(yè)要實(shí)施軟件配置管理常常面臨的第一步就是要選擇合適的工具,在此將列出一個(gè)成熟的軟件配置管理工具應(yīng)該具備的特征:配置項(xiàng)(對象)管理版本控制配置管理并行開發(fā)支持基線支持構(gòu)建與發(fā)布管理能利用流行的構(gòu)建工具:ANT/MAKE支持多平臺構(gòu)建支持并行構(gòu)建能自動(dòng)處理構(gòu)建依賴關(guān)系能收集和維護(hù)重新產(chǎn)生之前構(gòu)建所需要的信息工作空間管理能自動(dòng)跟蹤工作空

13、間中所有類型的變更能應(yīng)用不同配置填充工作空間工作空間既允許隔離又允許更新流程管理不同類型的對象都應(yīng)具備流程定制能力流程的范圍可定制支持測試與發(fā)布流程分布式開發(fā)的支持負(fù)載均衡與其他工具的集成能力變更請求工具開發(fā)工具其他CASEX具命令彳T,SDK易用性、易管理性報(bào)告能力架構(gòu)的彈性BorlandStarTeam2006演示作為新一代的軟件配置管理工具,盡管歷史不長,StarTeam卻有著眾多的好評。隨著2006版本的發(fā)布,StarTeam在易用性,功能的全面性上仍在進(jìn)行著長足的發(fā)展。StarTeam簡介StarTeam作為一個(gè)配置管理工具,能夠?qū)Ξa(chǎn)品和項(xiàng)目的整個(gè)開發(fā)生命周期進(jìn)行有力的管理,主要包括

14、兩大方面一、提供快速而有效率的:1、版本控制StarTeam能對各種配置項(xiàng)類型進(jìn)行自動(dòng)化的版本管理,并且在版本分支上也能實(shí)現(xiàn)自動(dòng)化。2、過程管理StarTeam對項(xiàng)目開發(fā)過程的支持堪稱完美,通過在項(xiàng)目級強(qiáng)制過程規(guī)則的使用,可以實(shí)現(xiàn)基于需求的開發(fā)、基于變更請求的開發(fā)、以及基于任務(wù)的開發(fā)等開發(fā)模式,并且,通過定制工作流,可以以技術(shù)手段強(qiáng)制過程的采納。3、構(gòu)建(Build)管理通過與ANT,CruiseControl等開源構(gòu)建工具,或諸如BuidForge等商業(yè)工具的集成,可以實(shí)現(xiàn)完美的構(gòu)建管理能力。4、并行開發(fā)StarTeam的并行開發(fā)通過視圖機(jī)制來實(shí)現(xiàn)。二、提供了一序列的支持功能1、項(xiàng)目(Pro

15、ject)和視圖(View)管理視圖是StarTeam的核心內(nèi)容,StarTeam提供了多種類型的視圖,從而對并行開發(fā)、權(quán)限配置、發(fā)布等提供了靈活的支持。2、變更跟蹤StarTeam集成了變更管理功能,這一點(diǎn)是它區(qū)別于其他很多商業(yè)配置管理工具的地方。ChangeRequest組件可以實(shí)現(xiàn)與TestDirector組件的集成,由于TestDirector主要的用戶為測試部門,通過集成可以實(shí)現(xiàn)測試部門與開發(fā)部門間跨部門的協(xié)作。3、主題討論4、任務(wù)管理5、倉庫(Repository)定制,允許你添加新的屬性到文件、變更請求、主題和任務(wù)上6、對工作流進(jìn)行定制以適應(yīng)組織的需要,強(qiáng)制環(huán)境標(biāo)準(zhǔn)基于完整而具有

16、彈性的功能,StarTeam簡化了軟件開發(fā)過程的管理,從而幫助完成配置管理任務(wù),它所帶來的收益主要體現(xiàn)在如下方面:一、改善了開發(fā)流程1、增強(qiáng)了團(tuán)隊(duì)成員間的溝通質(zhì)量2、提高了估計(jì)過程的準(zhǔn)確度3、改善了在開發(fā)、測試、開發(fā)循環(huán)中項(xiàng)目管理信息流轉(zhuǎn)的質(zhì)量二、加速了開發(fā)過程1、減少任務(wù)間的流逝時(shí)間2、減少了不必要的會議與備忘錄3、自動(dòng)化軟件打包處理三、強(qiáng)制標(biāo)準(zhǔn)的執(zhí)行1、清晰、自然的版本控制過程2、輕松定制工作流和窗體StarTeam核心功能文件管理自動(dòng)化版本控制需求發(fā)布義更管理團(tuán)隊(duì)討論任務(wù)分配&追蹤可定制的工作流可定制的表單開放的可定制的平臺以Web為中心的構(gòu)架亞分布式配置庫自動(dòng)鏈接(可追溯性)S

17、tarTeam架構(gòu)一以Web為中心的架構(gòu)上圖展示了StarTeam的基本架構(gòu),但并不代表StarTeam的全貌,例如MPX在上圖中并沒有體現(xiàn)出來,它將在隨后講述。圖中的StarTeamServer控制了所有對數(shù)據(jù)的訪問,以防止數(shù)據(jù)被病毒感染。它使用當(dāng)前流行的數(shù)據(jù)庫,如Oracle,SQLServer,因而沒有為了掌握一個(gè)專有的數(shù)據(jù)庫產(chǎn)品而產(chǎn)生的陡峭的學(xué)習(xí)曲線和昂貴的管理成本。StarTeam有多個(gè)不同類型的客戶端接口,用來支持不同的平臺和不同的用戶,你可以遠(yuǎn)程使用任意客戶端接口,因?yàn)樗鼈兣c服務(wù)器之間的通信都是通過TCP/IP協(xié)議進(jìn)行的。很多配置管理產(chǎn)品不具有這一能力,它們可能只允許你遠(yuǎn)程使用W

18、eb瀏覽器的方式進(jìn)行訪問,這意味著你將不能在你自己的IDE環(huán)境中使用該產(chǎn)品。StarTeam可以與VSS和PVCS庫進(jìn)行集成,這對于遺留系統(tǒng)來說是非常有用處的,這些遺留系統(tǒng)仍然可以與當(dāng)前的CM系統(tǒng)一起協(xié)同運(yùn)行,這樣,你將仍然可以使用已有的構(gòu)建過程,而這些文件來自何處(到底是StarTeam,還是VSS或PVCS對用戶來說是透明的。這樣,系統(tǒng)就可以被逐步地按照需要被移植過來,從而使得由于使用新技術(shù)所帶來的影響最小化了。StarTeam可以與許多其他產(chǎn)品進(jìn)行集成,一個(gè)新的集成可以很容易地使用SDK創(chuàng)建出來??蛻舳伺c服務(wù)器之間的通訊采用開放標(biāo)準(zhǔn)的TCP/IP協(xié)議,并且傳輸過程可以壓縮和加密。StarTeamMPX組件將StarTeam帶入了支持分布式開發(fā)的領(lǐng)域。StarTeamMPX是EnterpriseAdvantage版的組成部分。它為StarTeam服務(wù)器提供了一個(gè)發(fā)布/訂閱方式的消息架構(gòu)。通過對客戶機(jī)/服務(wù)器框架進(jìn)行擴(kuò)展,StarTeamMPX加速了信息在客戶端和服務(wù)器之間的傳輸速率。通過使用高級客戶端緩存,事件被實(shí)時(shí)地發(fā)布到客戶端。通過

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論