版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第八章軟件項(xiàng)目的配置管理11/1/20221第八章軟件項(xiàng)目的配置管理10/23/202218.1軟件配置及其管理的概念8.2配置管理活動(dòng)和流程8.3配置管理需求8.4版本管理8.5變更管理8.6配置狀態(tài)監(jiān)測(cè)與報(bào)告8.7基于配置管理的軟件項(xiàng)目管理8.8配置管理的技術(shù)手段和工具第八章?目錄11/1/202228.1軟件配置及其管理的概念第八章?目錄10/23/28.1軟件配置及其管理的概念8.2配置管理活動(dòng)和流程8.3配置管理需求8.4版本管理8.5變更管理8.6配置狀態(tài)監(jiān)測(cè)與報(bào)告8.7基于配置管理的軟件項(xiàng)目管理8.8配置管理的技術(shù)手段和工具第八章?目錄11/1/202238.1軟件配置及其管理的概念第八章?目錄10/23/28.1.1CMM2的配置管理概念8.1.2IEEE的配置管理定義8.1.3配置管理概述8.1.4配置管理活動(dòng)的作用8.1軟件配置及其管理的概念11/1/202248.1.1CMM2的配置管理概念8.1軟件配置及其管理的配置的概念配置的概念來(lái)自硬件軟件工程師是如何處理接口的?廣而言之:軟件的變化可以發(fā)生在一秒鐘內(nèi)軟件的變化可以發(fā)生在每一秒鐘軟件開(kāi)發(fā)過(guò)程下一秒鐘是不確定的情況將會(huì)怎樣?怎么辦?11/1/20225配置的概念配置的概念來(lái)自硬件10/23/20225軟件項(xiàng)目開(kāi)發(fā)管理的新需求你在一家小公司做軟件工程師,開(kāi)始的時(shí)候,你只有一個(gè)人,配了2個(gè)助手。你們研究了一種算法(例如:圖象壓縮、數(shù)據(jù)加密等),編寫(xiě)了一個(gè)實(shí)現(xiàn)模塊。有一天老板看到了你的演示,認(rèn)為很有市場(chǎng)潛力,可以結(jié)合進(jìn)公司正在給某行業(yè)用戶正在準(zhǔn)備開(kāi)發(fā)的系統(tǒng)中,成為該系統(tǒng)的核心技術(shù)或一個(gè)別人沒(méi)有的賣點(diǎn)。下一周,你的隊(duì)伍增加到14(你的老板準(zhǔn)備就此豪賭一把了),與你3個(gè)人的小組不同的是,公司從其他部門為你配備了系統(tǒng)分析師,還有文檔編制員、測(cè)試員。你的核心模塊已經(jīng)被大量的用戶功能所包裝,成為一個(gè)行業(yè)應(yīng)用系統(tǒng),并開(kāi)始給用戶試用,這是你的系統(tǒng)的第一版。3個(gè)月后,公司決定把系統(tǒng)升級(jí)到第二版,除增加了許多新的功能外,公司決定支持多平臺(tái),同時(shí),為了提高系統(tǒng)的性能和效率,準(zhǔn)備采用第三方廠家的中間件,取代自己做的接口。第一版的缺陷修改,也要反映到第二版中。第2版經(jīng)過(guò)2個(gè)多月的開(kāi)發(fā),最終推向了市場(chǎng)。公司的這個(gè)產(chǎn)品不但被用戶所歡迎,也被一家大公司所看中(就像IBM收購(gòu)了Lotus和Rational、Informix一樣),你們的產(chǎn)品,正好可以填補(bǔ)這家大公司產(chǎn)品線的空缺,你所在的公司被這家公司買去了。
11/1/20226軟件項(xiàng)目開(kāi)發(fā)管理的新需求你在一家小公司做軟件工程師,開(kāi)始的時(shí)公司為你的項(xiàng)目組派來(lái)了產(chǎn)品經(jīng)理、項(xiàng)目經(jīng)理。公司決定這個(gè)產(chǎn)品的測(cè)試,由公司總部獨(dú)立的測(cè)試部門承擔(dān)。同時(shí),公司決定把項(xiàng)目組增加到50人,其中有20多人并不在你所在的城市。在新公司里,產(chǎn)品管理、項(xiàng)目管理、測(cè)試、質(zhì)量等等,都與你過(guò)去的環(huán)境和做法不同,特別不同的是,公司準(zhǔn)備開(kāi)發(fā)的第3版系統(tǒng)與公司原有的產(chǎn)品要進(jìn)行融合,使他們看上去是一家出來(lái)的不同的兄弟和姐妹。與軟件的第1版、第2版相比,你的項(xiàng)目管理有什么不同?
隨著這個(gè)產(chǎn)品的演變,項(xiàng)目發(fā)生了四個(gè)變化:(1)系統(tǒng)的復(fù)雜性發(fā)生了很大變化;(2)
用于開(kāi)發(fā)該系統(tǒng)的項(xiàng)目環(huán)境發(fā)生了很大變化;(3)在不同的項(xiàng)目生命周期內(nèi),項(xiàng)目控制本身的要求和力度發(fā)生了很大變化;(4)由于組織的變化,管理流程、人員、方式發(fā)生了很大變化。前二類變化要求項(xiàng)目的組織和管理適應(yīng)系統(tǒng)擴(kuò)展的需要,后二種變化則要求項(xiàng)目管理具有適應(yīng)性和靈活性。11/1/20227公司為你的項(xiàng)目組派來(lái)了產(chǎn)品經(jīng)理、項(xiàng)目經(jīng)理。公司決定這個(gè)產(chǎn)品的缺乏管理所造成的問(wèn)題軟件開(kāi)發(fā)人員之間缺乏必要的交流產(chǎn)品升級(jí)和維護(hù)所必需的程序和文檔非?;靵y開(kāi)發(fā)過(guò)程中的人員流動(dòng)經(jīng)常發(fā)生因管理不善致使未經(jīng)測(cè)試的軟件加入到產(chǎn)品中項(xiàng)目開(kāi)發(fā)狀態(tài)不清楚軟件生產(chǎn)達(dá)不到規(guī)?;?/p>
11/1/20228缺乏管理所造成的問(wèn)題軟件開(kāi)發(fā)人員之間缺乏必要的交流10/23軟件配置管理
SCM(SoftwareConfigurationManagement)
軟件配置管理(SCM)是指在開(kāi)發(fā)過(guò)程中各階段,管理計(jì)算機(jī)程序演變的學(xué)科,它作為軟件工程的關(guān)鍵元素,已經(jīng)成為軟件開(kāi)發(fā)和維護(hù)的重要組成部分……SCM提供了結(jié)構(gòu)化的,有序化的,產(chǎn)品化的管理軟件工程的方法。它涵蓋了軟件生命周期的所有領(lǐng)域并影響所有數(shù)據(jù)和過(guò)程。配置管理是指用于控制系統(tǒng)一系列變化的學(xué)科。通過(guò)一系列技術(shù),方法和手段來(lái)維護(hù)產(chǎn)品的歷史,鑒 別和定位產(chǎn)品獨(dú)有的版本,并在產(chǎn)品的開(kāi)發(fā)和發(fā)布階段 控制變化。通過(guò)有序管理和減少重復(fù)性工作,配置管理保證了生 產(chǎn)的質(zhì)量和效率。11/1/20229軟件配置管理
SCM(SoftwareConfigurat我們知道,在軟件建立時(shí),變更是不可避免的,而變更加劇了項(xiàng)目中軟件開(kāi)發(fā)者之間的混亂。SCM活動(dòng)的目標(biāo)就是為了標(biāo)識(shí)變更、控制變更、確保變更正確實(shí)現(xiàn)并向其他有關(guān)人員報(bào)告變更。因此,從某種角度講,SCM是一種標(biāo)識(shí)、組織和控制修改的技術(shù),目的是使錯(cuò)誤降為最小并最有效地提高生產(chǎn)效率。SCM通過(guò)以下方法,強(qiáng)化軟件的可靠性和質(zhì)量:(1)提供用于識(shí)別和控制文檔、代碼、接口、數(shù)據(jù)庫(kù)的結(jié)構(gòu)框架,適用于軟件開(kāi)發(fā)生命周期的所有階段;(2)全面支撐某一特定開(kāi)發(fā)及維護(hù)工作方法,能夠適應(yīng)各種類型的需求、標(biāo)準(zhǔn)、政策、組織機(jī)構(gòu)以及相關(guān)的管理策略;(3)針對(duì)特定的基線狀態(tài)、變更控制、測(cè)試、發(fā)布版本或?qū)彶榛顒?dòng),生成相應(yīng)的管理信息和產(chǎn)品信息。因此,從某種意義上講,SCM本質(zhì)上是變更的管理。SCM使軟件產(chǎn)品和過(guò)程的變更變?yōu)槭芸氐暮涂深A(yù)見(jiàn)的,它要求并在適當(dāng)?shù)墓ぞ咧С窒履軌蜃龅竭@樣幾點(diǎn):(1)誰(shuí)做的變更?(2)軟件有什么變更?(3)什么時(shí)間做的變更?(4)為何要變更?
11/1/202210我們知道,在軟件建立時(shí),變更是不可避免的,而變更加劇了項(xiàng)軟件項(xiàng)目的配置管理隨著計(jì)算機(jī)軟件的發(fā)展,軟件開(kāi)發(fā)已由最初的“程序設(shè)計(jì)階段”經(jīng)歷了“軟件系統(tǒng)階段”進(jìn)而演變?yōu)楹髞?lái)的“軟件工程階段”,軟件的復(fù)雜性日益增大。此時(shí),如果仍然把軟件看成一個(gè)單一的個(gè)體,就無(wú)法解決所面臨的問(wèn)題,于是配置的概念逐漸引入軟件領(lǐng)域,人們?cè)絹?lái)越重視軟件配置的管理工作。
不懂軟件項(xiàng)目的配置管理,就不懂軟件開(kāi)發(fā)管理不對(duì)軟件項(xiàng)目進(jìn)行配置管理,就沒(méi)有進(jìn)行軟件項(xiàng)目開(kāi)發(fā)管理11/1/202211軟件項(xiàng)目的配置管理隨著計(jì)算機(jī)軟件的發(fā)展,軟件開(kāi)發(fā)已由最初的“軟件配置管理是CMM2中6個(gè)關(guān)鍵過(guò)程域的第6個(gè)關(guān)鍵域。CMM2認(rèn)為,SCM的目的是為了建立和維護(hù)軟件開(kāi)發(fā)過(guò)程中各種制品的完整性和一致性,包括以下內(nèi)容:對(duì)軟件產(chǎn)品配置的標(biāo)志和識(shí)別系統(tǒng)地控制對(duì)處于配置管理下的各種軟件制品的修改和更新維護(hù)軟件開(kāi)發(fā)過(guò)程中的各種制品的一致性和可跟蹤性8.1.1CMM2的配置管理概念
11/1/202212軟件配置管理是CMM2中6個(gè)關(guān)鍵過(guò)程域的第6個(gè)關(guān)鍵域。CMMSCM的目標(biāo)目標(biāo)1:軟件配置管理活動(dòng)被定義和計(jì)劃目標(biāo)2:軟件開(kāi)發(fā)過(guò)程中的制品被識(shí)別、控制和管理目標(biāo)3:對(duì)于處于配置管理下的軟件制品的修改被控制目標(biāo)4:與軟件制品相關(guān)的項(xiàng)目組和成員應(yīng)該被通知制品的目前狀態(tài)和被修改的信息
從對(duì)配置目的的定義可以看出,CMM2的配置管理應(yīng)包括這樣一些活動(dòng):標(biāo)識(shí)給定時(shí)間點(diǎn)的軟件配置(即所選擇的工作產(chǎn)品及其描述),系統(tǒng)地控制這些配置的更改,并在軟件生命周期中保持這些配置的完整性和可跟蹤性。CMM2認(rèn)為,受控于配置管理的工作產(chǎn)品,包括交付給用戶的軟件產(chǎn)品(如:代碼等),以及生成軟件產(chǎn)品所需要的有關(guān)項(xiàng)(如:項(xiàng)目管理文件)。CMM2的配置管理活動(dòng)最主要的內(nèi)容是:建立軟件基線庫(kù),該庫(kù)存儲(chǔ)開(kāi)發(fā)的軟件基線。通過(guò)軟件配置管理的更改控制和配置審核功能,系統(tǒng)地控制基線變更和由軟件基線庫(kù)生成的軟件產(chǎn)品版本。11/1/202213SCM的目標(biāo)目標(biāo)1:軟件配置管理活動(dòng)被定義和計(jì)劃從對(duì)配置要達(dá)到CMM規(guī)定的SCM要求所需具備的能力具有對(duì)軟件基線產(chǎn)品有管理權(quán)限的組織已經(jīng)建立,例如:軟件配置管理委員會(huì);協(xié)調(diào)和實(shí)現(xiàn)軟件配置管理的組織已經(jīng)建立;為進(jìn)行軟件配置管理所需要的各項(xiàng)資源已經(jīng)分配;軟件配置管理組織里的成員已經(jīng)接受了軟件配置目標(biāo)、流程、方法方面的培訓(xùn);軟件項(xiàng)目組或是其他的相關(guān)的部門經(jīng)過(guò)培訓(xùn),可以執(zhí)行他們的軟件配置管理活動(dòng);11/1/202214要達(dá)到CMM規(guī)定的SCM要求所需具備的能力10/CMM中對(duì)SCM規(guī)定的活動(dòng)根據(jù)文檔化的流程,項(xiàng)目軟件配置管理計(jì)劃已準(zhǔn)備完畢;文檔化的已獲批準(zhǔn)的軟件配置管理計(jì)劃可用作以后軟件配置管理活動(dòng)的基礎(chǔ);軟件配置管理庫(kù)已經(jīng)創(chuàng)建,并可用作進(jìn)入基線的軟件制品的存貯庫(kù);處于軟件配置管理下的軟件制品被標(biāo)志和識(shí)別;對(duì)于配置項(xiàng)的變更請(qǐng)求和問(wèn)題報(bào)告被初始化、計(jì)劃、評(píng)審、批準(zhǔn)并根據(jù)文化化的流程對(duì)其進(jìn)行跟蹤;11/1/202215CMM中對(duì)SCM規(guī)定的活動(dòng)根據(jù)文檔化的流程,項(xiàng)目軟件配置對(duì)于進(jìn)入基線的制品的修改必須遵循文檔化的流程;發(fā)布的產(chǎn)品必須從軟件配置庫(kù)中取出,并且產(chǎn)品發(fā)布的流程須依照文檔化的流程和規(guī)定;根據(jù)文檔化的流程和規(guī)定,軟件配置項(xiàng)的狀態(tài)被記錄和跟蹤;記錄軟件配置管理活動(dòng)和軟件基線內(nèi)容的報(bào)告被建立,并通知受到影響的項(xiàng)目組和個(gè)人;根據(jù)文檔化的流程進(jìn)行軟件制品基線的評(píng)審;CMM中對(duì)SCM規(guī)定的活動(dòng)11/1/202216對(duì)于進(jìn)入基線的制品的修改必須遵循文檔化的流程;CMM中對(duì)S組織規(guī)定和相關(guān)責(zé)任項(xiàng)目級(jí)配置管理項(xiàng)目配置經(jīng)理(ProjectConfigurationManager)與軟件配置管理計(jì)劃變更控制委員會(huì)(ChangeControlBoard)組織級(jí)配置管理組織配置管理庫(kù)(OrganizationalConfigurationManagementCell)負(fù)責(zé)項(xiàng)目完成后的軟件配置管理活動(dòng)管理組織級(jí)的文檔11/1/202217組織規(guī)定和相關(guān)責(zé)任10/23/202217IEEE標(biāo)準(zhǔn)729-1983就配置管理的內(nèi)容進(jìn)行了規(guī)范的定義:
(1)標(biāo)識(shí):識(shí)別產(chǎn)品的結(jié)構(gòu)、產(chǎn)品的構(gòu)件及其類型,為其分配唯一的標(biāo)識(shí)符,并以某種形式提供對(duì)它們的存取。
(2)控制:通過(guò)建立產(chǎn)品基線,控制軟件產(chǎn)品的發(fā)布和在整個(gè)軟件生命周期中對(duì)軟件產(chǎn)品的修改。例如,它將解決哪些修改會(huì)在該產(chǎn)品的最新版本中實(shí)現(xiàn)的問(wèn)題。
(3)狀態(tài)統(tǒng)計(jì):記錄并報(bào)告構(gòu)件和修改請(qǐng)求的狀態(tài),并收集關(guān)于產(chǎn)品構(gòu)件的重要統(tǒng)計(jì)信息。例如,它將解決修改這個(gè)錯(cuò)誤會(huì)影響多少個(gè)文件的問(wèn)題。
(4)審計(jì)和審查:確認(rèn)產(chǎn)品的完整性并維護(hù)構(gòu)件間的一致性,即確保產(chǎn)品是一個(gè)嚴(yán)格定義的構(gòu)件集合。例如,它將解決目前發(fā)布的產(chǎn)品所用的文件的版本是否正確的問(wèn)題。
(5)生產(chǎn):對(duì)產(chǎn)品的生產(chǎn)進(jìn)行優(yōu)化管理。它將解決最新發(fā)布的產(chǎn)品應(yīng)由哪些版本的文件和工具來(lái)生成的問(wèn)題。
(6)過(guò)程管理:確保軟件組織的規(guī)程、方針和軟件周期得以正確貫徹執(zhí)行。它將解決要交付給用戶的產(chǎn)品是否經(jīng)過(guò)測(cè)試和質(zhì)量檢查的問(wèn)題。
(7)小組協(xié)作:控制開(kāi)發(fā)統(tǒng)一產(chǎn)品的多個(gè)開(kāi)發(fā)人員之間的協(xié)作。例如,它將解決是否所有本地程序員所做的修改都已被加入到新版本的產(chǎn)品中的問(wèn)題。8.1.2IEEE的配置管理定義
11/1/202218IEEE標(biāo)準(zhǔn)729-1983就配置管理的內(nèi)容進(jìn)行了規(guī)范的定義CMM2的定義比較抽象,IEEE的定義就比較具體。結(jié)合各體系的定義和要求,我們下面具體來(lái)討論配置管理的概念。8.1.3配置管理功能概述
11/1/202219CMM2的定義比較抽象,IEEE的定義就比較具體。結(jié)合各體系配置標(biāo)識(shí)或者又稱為配置需求,包括標(biāo)識(shí)軟件系統(tǒng)的結(jié)構(gòu),標(biāo)識(shí)獨(dú)立部件,并使它們是可訪問(wèn)的。配置標(biāo)識(shí)的目的,是在整個(gè)生命周期中標(biāo)識(shí)系統(tǒng)各部件并提供對(duì)軟件過(guò)程及其軟件產(chǎn)品的跟蹤能力。它回答:什么是受控的?
配置變更控制包括在軟件生命周期中控制軟件產(chǎn)品的發(fā)布和變更,目的是建立確保軟件產(chǎn)品質(zhì)量的機(jī)制。它回答:受控產(chǎn)品怎樣變更?誰(shuí)控制變更?何時(shí)接受,恢復(fù),驗(yàn)證變更?配置狀態(tài)統(tǒng)計(jì)包括記錄和報(bào)告變更過(guò)程,目標(biāo)是不間斷記錄所有基線項(xiàng)的狀態(tài)和歷史,并進(jìn)行維護(hù),它解決以下問(wèn)題:系統(tǒng)已經(jīng)做了什么變更?此問(wèn)題將會(huì)對(duì)多少個(gè)文件產(chǎn)生影響?配置變更控制是針對(duì)軟件產(chǎn)品,狀態(tài)統(tǒng)計(jì)針對(duì)軟件過(guò)程。因此,二者的統(tǒng)一就是對(duì)軟件開(kāi)發(fā)(產(chǎn)品、過(guò)程)的變更控制。配置審核將驗(yàn)證軟件產(chǎn)品的構(gòu)造是否符合需求、標(biāo)準(zhǔn)、或合同的要求,目的是根據(jù)SCM的過(guò)程和程序,驗(yàn)證所有的軟件產(chǎn)品已經(jīng)產(chǎn)生并有正確標(biāo)識(shí)和描述,所有的變更需求都已解決。它回答:系統(tǒng)和需求是否吻合?是否所有變更都是在版本控制下?
SCM的四大功能領(lǐng)域11/1/202220配置標(biāo)識(shí)或者又稱為配置需求,包括標(biāo)識(shí)軟件系統(tǒng)的結(jié)構(gòu),標(biāo)識(shí)獨(dú)立SCM從應(yīng)用層次上可以從低到高分為三級(jí):版本控制、以開(kāi)發(fā)者為中心、過(guò)程驅(qū)動(dòng)。版本控制主要應(yīng)用于個(gè)人獨(dú)立開(kāi)發(fā)或小組開(kāi)發(fā),它可以控制任何文件的版本、實(shí)現(xiàn)分支和歸并功能、進(jìn)行文本比較、標(biāo)記注釋和版本報(bào)告信息,主要工具有MS的VisualSourceSafe及IntersolvPVCS。
以開(kāi)發(fā)者為中心主要應(yīng)用于部門級(jí)開(kāi)發(fā),它可用于軟件維護(hù)、不斷增加的開(kāi)發(fā)任務(wù)、并行開(kāi)發(fā)、QA及測(cè)試,它面向大型團(tuán)隊(duì)、利于交流、能最大限度地利用人力資源,主要工具為RationalClearCase及MKSSourceIntegrity。過(guò)程驅(qū)動(dòng)主要使用于企業(yè)級(jí)開(kāi)發(fā),著重解決新的工具引入、IT審核、管理報(bào)告、復(fù)雜的生命周期、應(yīng)用工具包、集成解決方案、資料庫(kù)等問(wèn)題,實(shí)現(xiàn)真正規(guī)范的團(tuán)隊(duì)開(kāi)發(fā),主要工具為PlatinumTechnologyCCC/Harvest。SCM的三個(gè)應(yīng)用層次11/1/202221SCM從應(yīng)用層次上可以從低到高分為三級(jí):版本控制、以開(kāi)發(fā)者為SCM中的專業(yè)術(shù)語(yǔ)配置(Configuration)與配置項(xiàng)(ConfigurationItem)在軟件開(kāi)發(fā)過(guò)程中生成各種制品的總和叫做這個(gè)項(xiàng)目的軟件配置[RogerS.Pressman,1997]計(jì)算機(jī)程序,包括源代碼和可執(zhí)行程序與計(jì)算機(jī)程序相對(duì)應(yīng)的各種文檔計(jì)算機(jī)數(shù)據(jù),包括計(jì)算機(jī)程序中包含的數(shù)據(jù)和系統(tǒng)初始化數(shù)據(jù)11/1/202222SCM中的專業(yè)術(shù)語(yǔ)配置(Configuration)與配SCM中的專業(yè)術(shù)語(yǔ)基線項(xiàng)目開(kāi)發(fā)過(guò)程的制品經(jīng)過(guò)正式評(píng)審并被相關(guān)人員一致同意,可以作為以后項(xiàng)目開(kāi)發(fā)的基礎(chǔ)。對(duì)已經(jīng)確定為基線的制品的修改必須要通過(guò)正式的變更控制流程。在軟件工程環(huán)境中,基線是指在軟件開(kāi)發(fā)過(guò)程中的里程碑,這些里程碑的標(biāo)志是一項(xiàng)或多項(xiàng)經(jīng)過(guò)正式的技術(shù)評(píng)審并一致認(rèn)同的軟件制品的提交。11/1/202223SCM中的專業(yè)術(shù)語(yǔ)基線10/23/202223SCM中的專業(yè)術(shù)語(yǔ)配置數(shù)據(jù)庫(kù)(軟件制品基線庫(kù))項(xiàng)目建立和訪問(wèn)軟件制品庫(kù),這個(gè)制品庫(kù)主要用來(lái)對(duì)保存配置項(xiàng)和一些與軟件配置管理相關(guān)的記錄。目前比較好的配置管理工具:Clearcase(Rational),Notes/Domino(Lotus),PVCS(Merant)andVSS(Microsoft).11/1/202224SCM中的專業(yè)術(shù)語(yǔ)配置數(shù)據(jù)庫(kù)(軟件制品基線庫(kù))10/23/配置管理庫(kù)(1)基線庫(kù)的結(jié)構(gòu)(VOB) ProjectRootDirectoryProjectPlanningPhaseDocumentsRequirementsAnalysisPhaseDocumentsDesignPhaseDocumentsCode,UnitTest&IntegrationPhaseDocumentsSystemTestPhaseDocumentsPhaseDeliverablesPhaseDeliverablesProductSoftwareTestSoftwareProductSoftwareRelatedTestSoftwareRelatedSourceCodeObjectiveCodeExecutiveCodeDOCDATAABBBBCode11/1/202225配置管理庫(kù)(1)基線庫(kù)的結(jié)構(gòu)(VOB) ProjectRo配置管理庫(kù)的具體實(shí)現(xiàn)——項(xiàng)目文件夾項(xiàng)目文件件是項(xiàng)目開(kāi)發(fā)過(guò)程中由項(xiàng)目組創(chuàng)建和維護(hù)的制品歸檔庫(kù)。軟件配置管理負(fù)責(zé)管理和控制項(xiàng)目文件夾,并對(duì)文件夾中的內(nèi)容進(jìn)行評(píng)審;項(xiàng)目經(jīng)理負(fù)責(zé)監(jiān)督項(xiàng)目的軟件配置管理執(zhí)行;軟件質(zhì)量工程師負(fù)責(zé)對(duì)項(xiàng)目文件夾的內(nèi)容進(jìn)行評(píng)審;配置管理庫(kù)11/1/202226配置管理庫(kù)的具體實(shí)現(xiàn)——項(xiàng)目文件夾配置管理庫(kù)10/23/20配置管理庫(kù)項(xiàng)目文件夾的內(nèi)容項(xiàng)目開(kāi)發(fā)過(guò)程中的所有信息,包括文檔、工作制品和各種周報(bào)、月報(bào)、評(píng)審等;與外部的交流信息,例如與客戶、第三方的通訊交流記錄等;其他交流會(huì)議記錄,例如:重要的Email,傳真,信件等;11/1/202227配置管理庫(kù)項(xiàng)目文件夾的內(nèi)容10/23/202227配置管理庫(kù)權(quán)限管理
項(xiàng)目組內(nèi)部的權(quán)限管理與分配對(duì)其他項(xiàng)目組的開(kāi)放權(quán)限管理與分配對(duì)其他用戶或是第三方的權(quán)限管理與分配11/1/202228配置管理庫(kù)權(quán)限管理10/23/2022288.1.4配置管理活動(dòng)的作用配置管理與質(zhì)量管理
在質(zhì)量體系的諸多支持活動(dòng)中,配置管理處在支持活動(dòng)的中心位置。質(zhì)量管理雖然也有過(guò)程的驗(yàn)證,但配置管理只要定義的配置項(xiàng)夠細(xì),則它可以管理軟件開(kāi)發(fā)的全過(guò)程,細(xì)到每一個(gè)模塊、每一個(gè)文檔、每一條工程記錄的變化。因此,配置管理從基礎(chǔ)層開(kāi)始,有機(jī)地把其它支持活動(dòng)結(jié)合起來(lái),形成一個(gè)整體,相互促進(jìn),相互影響,有力地保證了質(zhì)量體系的實(shí)施。
11/1/2022298.1.4配置管理活動(dòng)的作用配置管理與質(zhì)量管理10/23/配置管理給項(xiàng)目組帶來(lái)的好處(1)節(jié)約費(fèi)用
縮短開(kāi)發(fā)周期
減少施工費(fèi)用
(2)有利于知識(shí)庫(kù)的建立
代碼對(duì)象庫(kù)業(yè)務(wù)及經(jīng)驗(yàn)庫(kù)
(3)規(guī)范管理
量化工作量考核
規(guī)范測(cè)試
(4)加強(qiáng)協(xié)調(diào)與溝通
11/1/202230配置管理給項(xiàng)目組帶來(lái)的好處(1)節(jié)約費(fèi)用
縮短開(kāi)發(fā)周期8.1軟件配置及其管理的概念8.2配置管理活動(dòng)和流程8.3配置管理需求8.4版本管理8.5變更管理8.6配置狀態(tài)監(jiān)測(cè)與報(bào)告8.7基于配置管理的軟件項(xiàng)目管理8.8配置管理的技術(shù)手段和工具第八章?目錄11/1/2022318.1軟件配置及其管理的概念第八章?目錄10/23/28.2.1主要配置管理活動(dòng)8.2.2項(xiàng)目經(jīng)理的配置管理流程8.2配置管理活動(dòng)和流程11/1/2022328.2.1主要配置管理活動(dòng)8.2配置管理活動(dòng)和流程10/8.2.1主要配置管理活動(dòng)
標(biāo)志配置項(xiàng)變更控制版本控制評(píng)審統(tǒng)計(jì)軟件編譯、連接和發(fā)放管理11/1/2022338.2.1主要配置管理活動(dòng)標(biāo)志配置項(xiàng)10/23/2022RUP描述的配置管理的主要活動(dòng)如下圖所示:對(duì)于一個(gè)軟件項(xiàng)目組來(lái)說(shuō),開(kāi)展一個(gè)項(xiàng)目組的配置管理,大致可以分為以下步驟:對(duì)于一個(gè)軟件項(xiàng)目組來(lái)說(shuō),開(kāi)展一個(gè)項(xiàng)目組的配置管理,大致可以分為以下步驟:(1)擬訂項(xiàng)目的配置管理計(jì)劃;(2)創(chuàng)建項(xiàng)目的配置管理環(huán)境;(3)進(jìn)行項(xiàng)目的配置管理活動(dòng),包括:標(biāo)識(shí)配置項(xiàng);管理基線和發(fā)布活動(dòng);監(jiān)測(cè)與報(bào)告配置狀態(tài);管理變更請(qǐng)求。(1)和(2)可以看成配置管理的準(zhǔn)備,(3)是配置管理的具體實(shí)施。配置管理的具體實(shí)施,在RUP定義為四個(gè)管理活動(dòng)。
11/1/202234RUP描述的配置管理的主要活動(dòng)如下圖所示:對(duì)于一個(gè)軟件項(xiàng)目組配置項(xiàng)(SoftwareConfigurationItem,SCI)識(shí)別
對(duì)于配置項(xiàng),可以給出一個(gè)比較簡(jiǎn)單的定義,既軟件過(guò)程的輸出信息可以分為三個(gè)主要類別:(1)計(jì)算機(jī)程序(源代碼和可執(zhí)行程序)(2)描述計(jì)算機(jī)程序的文檔(針對(duì)技術(shù)開(kāi)發(fā)者和用戶)(3)數(shù)據(jù)(包含在程序內(nèi)部或外部)。這些項(xiàng)包含了所有在軟件過(guò)程中產(chǎn)生的信息,總稱為軟件配置項(xiàng)?!?/p>
在CMM2中,除上述3個(gè)配置項(xiàng)以外,還包括項(xiàng)目管理的有關(guān)文件、信息記錄等。
由此可見(jiàn),配置項(xiàng)的識(shí)別是配置管理活動(dòng)的基礎(chǔ),也是制定配置管理計(jì)劃的重要內(nèi)容。
11/1/202235配置項(xiàng)(SoftwareConfigurationIte配置項(xiàng)(SoftwareConfigurationItem,SCI)識(shí)別
軟件配置管理認(rèn)為軟件的開(kāi)發(fā)過(guò)程是一個(gè)不斷變化著的過(guò)程,為了在不嚴(yán)重阻礙合理變化的情況下來(lái)控制變化,軟件配置管理引入了“基線(BaseLine)”這一概念。
IEEE對(duì)基線的定義是這樣的:“已經(jīng)正式通過(guò)審核批準(zhǔn)的某規(guī)約或產(chǎn)品,它因此可作為進(jìn)一步開(kāi)發(fā)的基礎(chǔ),并且只能通過(guò)正式的變化控制過(guò)程改變。”
所以,根據(jù)這個(gè)定義,我們?cè)谲浖拈_(kāi)發(fā)流程中,也可以把所有需要加以控制的配置項(xiàng)分為基線配置項(xiàng)和非基線配置項(xiàng)兩類,例如:基線配置項(xiàng)可能包括所有的設(shè)計(jì)文檔和源程序等;非基線配置項(xiàng)可能包括項(xiàng)目的各類計(jì)劃和報(bào)告等。
有關(guān)配置項(xiàng)的內(nèi)容,我們將在后面,專門花一節(jié)的篇幅,進(jìn)行討論。11/1/202236配置項(xiàng)(SoftwareConfigurationIte配置項(xiàng)的標(biāo)識(shí)和控制
所有配置項(xiàng)都應(yīng)按照相關(guān)規(guī)定統(tǒng)一編號(hào),按照相應(yīng)的模板生成,并在文檔中的規(guī)定章節(jié)(部分)記錄對(duì)象的標(biāo)識(shí)信息。在引入軟件配置管理工具進(jìn)行管理后,這些配置項(xiàng)都應(yīng)以一定的目錄結(jié)構(gòu)保存在配置庫(kù)中。
所有配置項(xiàng)的操作權(quán)限應(yīng)由配置管理員嚴(yán)格管理,基本原則是:基線配置項(xiàng)向軟件開(kāi)發(fā)人員開(kāi)放讀取權(quán)限;非基線配置項(xiàng)向項(xiàng)目經(jīng)理、配置控制委員會(huì)及相關(guān)人員開(kāi)放。
11/1/202237配置項(xiàng)的標(biāo)識(shí)和控制所有配置項(xiàng)都應(yīng)按照相關(guān)規(guī)定統(tǒng)一編工作空間管理
在引入了軟件配置管理工具之后,所有開(kāi)發(fā)人員都會(huì)被要求把工作成果存放到由軟件配置管理工具所管理的配置庫(kù)(存儲(chǔ)池)中去,或是直接工作在軟件配置管理工具提供的環(huán)境之下(根據(jù)配置管理構(gòu)架提供的控制方式不同而不同)。每個(gè)開(kāi)發(fā)人員按照任務(wù)的要求,在不同的開(kāi)發(fā)階段,工作在不同的工作空間上。比較理想的情況是把整個(gè)配置庫(kù)視為一個(gè)統(tǒng)一的工作空間,然后再根據(jù)需要把它劃分為個(gè)人(私有)、團(tuán)隊(duì)(集成)和全組(公共)這三類工作空間(分支),從而更好的支持將來(lái)可能出現(xiàn)的并行開(kāi)發(fā)的需求。
11/1/202238工作空間管理在引入了軟件配置管理工具之后,所有開(kāi)發(fā)版本控制版本控制是軟件配置管理的核心功能。所有置于配置庫(kù)中的元素都應(yīng)自動(dòng)予以版本的標(biāo)識(shí),并保證版本命名的唯一性。版本在生成過(guò)程中,自動(dòng)依照設(shè)定的使用模型自動(dòng)分支、演進(jìn)。除了系統(tǒng)自動(dòng)記錄的版本信息以外,為了配合軟件開(kāi)發(fā)流程的各個(gè)階段,我們還需要定義、收集一些元數(shù)據(jù)來(lái)記錄版本的輔助信息和規(guī)范開(kāi)發(fā)流程,并為今后對(duì)軟件過(guò)程的度量做好準(zhǔn)備。當(dāng)然如果選用的工具支持的話,這些輔助數(shù)據(jù)將能直接統(tǒng)計(jì)出過(guò)程數(shù)據(jù),從而方便我們軟件過(guò)程改進(jìn)(SoftwareProcessImprovement,SPI)活動(dòng)的進(jìn)行。對(duì)于配置庫(kù)中的各個(gè)基線控制項(xiàng),應(yīng)該根據(jù)其基線的位置和狀態(tài)來(lái)設(shè)置相應(yīng)的訪問(wèn)權(quán)限。一般來(lái)說(shuō),對(duì)于基線版本之前的各個(gè)版本都應(yīng)處于被鎖定的狀態(tài),如需要對(duì)它們進(jìn)行變更,則應(yīng)按照變更控制的流程來(lái)進(jìn)行操作。
11/1/202239版本控制版本控制是軟件配置管理的核心功能。所有置變更控制變更管理的一般流程是:(1)(獲得)提出變更請(qǐng)求;(2)由CCB審核并決定是否批準(zhǔn);(3)(被接受)分配請(qǐng)求,修改人員提取配置項(xiàng),進(jìn)行修改;(4)復(fù)審變化;(5)提交修改后的配置項(xiàng);(6)建立測(cè)試基線并測(cè)試;(7)重建軟件的適當(dāng)版本;(8)復(fù)審(審計(jì))所有配置項(xiàng)的變化;(9)發(fā)布新版本。
在這樣的流程中,配置管理員通過(guò)軟件配置管理工具來(lái)進(jìn)行訪問(wèn)控制和同步控制,而這兩種控制則是建立在前面所描述的版本控制和分支策略的基礎(chǔ)上的。
11/1/202240變更控制變更管理的一般流程是:10/23/202240狀態(tài)報(bào)告配置狀態(tài)報(bào)告應(yīng)該包括下列主要內(nèi)容:
(1)配置庫(kù)結(jié)構(gòu)和相關(guān)說(shuō)明;(2)開(kāi)發(fā)起始基線的構(gòu)成;(3)當(dāng)前基線位置及狀態(tài);(4)各基線配置項(xiàng)集成分支的情況;(5)各私有開(kāi)發(fā)分支類型的分布情況;(6)關(guān)鍵元素的版本演進(jìn)記錄;(7)其它應(yīng)報(bào)告的事項(xiàng)。
11/1/202241狀態(tài)報(bào)告配置狀態(tài)報(bào)告應(yīng)該包括下列主要內(nèi)容:10/23/20配置審計(jì)
配置審計(jì)的主要作用是作為變更控制的補(bǔ)充手段,來(lái)確保某一變更需求已被切實(shí)實(shí)現(xiàn)。在某些情況下,它被作為正式的技術(shù)復(fù)審的一部分,但當(dāng)軟件配置管理是一個(gè)正式的活動(dòng)時(shí),該活動(dòng)由SQA人員單獨(dú)執(zhí)行。
總之,軟件配置管理的對(duì)象是軟件研發(fā)活動(dòng)中的全部開(kāi)發(fā)資產(chǎn)。所有這一切都應(yīng)作為配置項(xiàng)納入管理計(jì)劃統(tǒng)一進(jìn)行管理,從而能夠保證及時(shí)的對(duì)所有軟件開(kāi)發(fā)資源進(jìn)行維護(hù)和集成。因此,軟件配置管理的主要任務(wù)也就歸結(jié)為以下幾條:(1)制定項(xiàng)目的配置計(jì)劃;(2)對(duì)配置項(xiàng)進(jìn)行標(biāo)識(shí);(3)對(duì)配置項(xiàng)進(jìn)行版本控制;(4)對(duì)配置項(xiàng)進(jìn)行變更控制;(5)定期進(jìn)行配置審計(jì);(6)向相關(guān)人員報(bào)告配置的狀態(tài)。
11/1/202242配置審計(jì)配置審計(jì)的主要作用是作為變更控制的補(bǔ)充手8.2.2項(xiàng)目經(jīng)理的配置管理流程項(xiàng)目經(jīng)理的工作是:(1)確定項(xiàng)目配置管理策略(2)確定用于控制產(chǎn)品變更的策略和流程(3)在配置管理計(jì)劃(是軟件開(kāi)發(fā)計(jì)劃的一部分)中記錄此信息11/1/2022438.2.2項(xiàng)目經(jīng)理的配置管理流程項(xiàng)目經(jīng)理的工作是:10/配置管理策略
軟件配置管理策略是指能夠確定、保護(hù)和報(bào)告已經(jīng)批準(zhǔn)用于項(xiàng)目中的工件的能力。通過(guò)正確的標(biāo)注來(lái)實(shí)現(xiàn)確定操作。對(duì)項(xiàng)目工件的保護(hù)是通過(guò)歸檔、建立基線和報(bào)告等操作而得以實(shí)現(xiàn)的。使用標(biāo)準(zhǔn)的、已記錄下來(lái)的變更控制流程的目的是:確保項(xiàng)目中所做的變更保持一致,并將產(chǎn)品的狀態(tài)、對(duì)其所做的變更以及這些變更所耗費(fèi)的成本及對(duì)時(shí)間表的影響通知給有關(guān)的涉眾。
軟件配置管理計(jì)劃說(shuō)明在產(chǎn)品/項(xiàng)目生命周期中要執(zhí)行的所有與配置管理相關(guān)的活動(dòng)。它記錄如何計(jì)劃、實(shí)施、控制和組織與產(chǎn)品相關(guān)的配置管理活動(dòng)。
11/1/202244配置管理策略軟件配置管理策略是指能夠確定、保護(hù)和報(bào)告已配備人員配置管理人員的選擇和配備,是軟件項(xiàng)目經(jīng)理最主要的工作。在一個(gè)比較理想的軟件開(kāi)發(fā)團(tuán)隊(duì)中,需要哪些角色呢?
負(fù)責(zé)軟件項(xiàng)目組的項(xiàng)目經(jīng)理 負(fù)責(zé)SCM計(jì)劃和策略的配置經(jīng)理 負(fù)責(zé)軟件產(chǎn)品開(kāi)發(fā)與維護(hù)的軟件工程人員 負(fù)責(zé)驗(yàn)證產(chǎn)品正確性的測(cè)試人員 負(fù)責(zé)確保產(chǎn)品高質(zhì)量的質(zhì)量保證經(jīng)理 使用產(chǎn)品的用戶。
11/1/202245配備人員配置管理人員的選擇和配備,是軟件項(xiàng)目配置經(jīng)理
配置經(jīng)理的目標(biāo)是確保用來(lái)建立、變更及編碼測(cè)試的計(jì)劃和策略得以貫徹執(zhí)行,同時(shí)使有關(guān)項(xiàng)目的信息容易獲得。為了對(duì)編碼更改形成控制,配置經(jīng)理引入規(guī)范的請(qǐng)求變更的機(jī)制,評(píng)估更改的機(jī)制(通過(guò)變更控制機(jī)構(gòu)CCB,由它負(fù)責(zé)批準(zhǔn)對(duì)軟件系統(tǒng)的變更),和批準(zhǔn)變更的機(jī)制。
配置經(jīng)理負(fù)責(zé)為工程人員創(chuàng)建任務(wù)單,交由項(xiàng)目經(jīng)理對(duì)任務(wù)進(jìn)行分配,創(chuàng)建項(xiàng)目的框架。同時(shí),配置經(jīng)理還收集軟件系統(tǒng)中構(gòu)件的相關(guān)數(shù)據(jù),比如說(shuō)用以判斷系統(tǒng)中出現(xiàn)問(wèn)題的構(gòu)件的信息。
11/1/202246配置經(jīng)理配置經(jīng)理的目標(biāo)是確保用來(lái)建立、變更及編碼測(cè)試的計(jì)8.1軟件配置及其管理的概念8.2配置管理活動(dòng)和流程8.3配置管理需求8.4版本管理8.5變更管理8.6配置狀態(tài)監(jiān)測(cè)與報(bào)告8.7基于配置管理的軟件項(xiàng)目管理8.8配置管理的技術(shù)手段和工具第八章?目錄11/1/2022478.1軟件配置及其管理的概念第八章?目錄10/23/28.3.1配置管理的對(duì)象8.3.2最基本的配置管理項(xiàng)——文檔8.3.3UCM目錄結(jié)構(gòu)下的配置管理對(duì)象8.3配置管理需求11/1/2022488.3.1配置管理的對(duì)象8.3配置管理需求10/23/28.3.1配置管理對(duì)象配置管理的第一個(gè)基本活動(dòng)是配置標(biāo)識(shí),通俗地講,也就是查詢、識(shí)別和確定配置管理對(duì)象——配置項(xiàng)。在生產(chǎn)的軟件產(chǎn)品和軟件的生產(chǎn)過(guò)程中,那些是配置管理的對(duì)象呢?配置管理對(duì)象呈現(xiàn)為一種層次結(jié)構(gòu),因此,為了標(biāo)識(shí)配置管理的對(duì)象,我們需要對(duì)軟件系統(tǒng)進(jìn)行分解:目前,用于分解軟件系統(tǒng)的術(shù)語(yǔ)有多種多樣,沒(méi)有被標(biāo)準(zhǔn)化。1989年Humphery定義了5個(gè)層次:系統(tǒng)、子系統(tǒng)、產(chǎn)品、構(gòu)件和模塊。1991年Whitgift定義了3個(gè)層次:系統(tǒng)、子系統(tǒng)和元素。IEEE定義了3個(gè)層次:計(jì)算機(jī)配置項(xiàng)、計(jì)算機(jī)軟件構(gòu)件和計(jì)算機(jī)軟件單元。RUP定義了4個(gè)層次:系統(tǒng)、實(shí)施(或構(gòu)件)子系統(tǒng)、構(gòu)件和文件(RUP5.51999)。
11/1/2022498.3.1配置管理對(duì)象配置管理的第一個(gè)基本活動(dòng)是配置標(biāo)識(shí),配置管理對(duì)象
在RUP的概念里,最底層的元素是處于版本控制下的文件和目錄,構(gòu)件的層次要高于元素(文件和目錄),構(gòu)件把元素組織起來(lái)。一個(gè)版本控制的構(gòu)件是一個(gè)具體的物理的對(duì)象,就是一個(gè)根目錄。這個(gè)根目錄,以及從根目錄下所屬的所有目錄和文件,是系統(tǒng)的一個(gè)子系統(tǒng)。大的系統(tǒng)有多個(gè)根目錄(子系統(tǒng)),小系統(tǒng)則可能只有一個(gè)根目錄。產(chǎn)品目錄結(jié)構(gòu)為所有可具有版本號(hào)的、與產(chǎn)品相關(guān)的工件提供邏輯嵌套的占位符。工件是開(kāi)發(fā)流程生命周期的結(jié)果,用于開(kāi)發(fā)整個(gè)系統(tǒng)的各組成部分(構(gòu)件)。11/1/202250配置管理對(duì)象在RUP的概念里,最底層的元素是處于版本控制下配置管理對(duì)象
首先我們從根目錄開(kāi)始(假設(shè)是只有一個(gè)根目錄的?。┫到y(tǒng),討論軟件系統(tǒng)架構(gòu):軟件項(xiàng)目通過(guò)一系列的生命階段,將建立或者已經(jīng)建立起一個(gè)體系構(gòu)架。軟件的體系構(gòu)架在軟件工程時(shí)代被稱為系統(tǒng)結(jié)構(gòu)。在UML中,被稱為構(gòu)架。
UML對(duì)構(gòu)架的定義是:(1)一組有關(guān)軟件系統(tǒng)組織結(jié)構(gòu)的重要決定;(2)結(jié)構(gòu)要素和接口的選取,確保它們的行為能滿足這些要素之間的協(xié)作關(guān)系;(3)結(jié)構(gòu)要素和行為要素以一種漸進(jìn)的方式被組裝成子系統(tǒng),能夠指導(dǎo)這種組織結(jié)構(gòu)的結(jié)構(gòu)風(fēng)格,要素的內(nèi)容,它們的接口、它們的協(xié)作和它們的組合。系統(tǒng)或系統(tǒng)構(gòu)架是由子系統(tǒng)(構(gòu)件)組成的。11/1/202251配置管理對(duì)象首先我們從根目錄開(kāi)始(假設(shè)是只有一個(gè)根目錄的小UML進(jìn)一步把構(gòu)件劃分成三種構(gòu)件:部署型構(gòu)件、工作產(chǎn)品型構(gòu)件和執(zhí)行構(gòu)件。
(1)部署型構(gòu)件:是指那些被部署到目標(biāo)機(jī)中的元素,例如:可執(zhí)行程序、庫(kù)以及其他支持系統(tǒng)運(yùn)行的文件。(2)工作型構(gòu)件:是構(gòu)成開(kāi)發(fā)環(huán)境的元素,例如:源文件、頭文件以及其他用于導(dǎo)出或構(gòu)建部署型構(gòu)件的文件。(3)可執(zhí)行型構(gòu)件:是指由運(yùn)行于目標(biāo)機(jī)的系統(tǒng)生成的內(nèi)容,例如:數(shù)據(jù)等。從SCM的角度看系統(tǒng)架構(gòu),我們主要關(guān)注的是在開(kāi)發(fā)環(huán)境中以及將來(lái)部署到目標(biāo)系統(tǒng)中的系統(tǒng)的物理層面的文件和目錄結(jié)構(gòu)、分組和版本化。這種關(guān)注決定了配置管理的對(duì)象以及對(duì)象的“粒度”?,F(xiàn)在,有些項(xiàng)目使用高層次的設(shè)計(jì)文檔來(lái)描述架構(gòu),例如:模型、視圖等。在高層架構(gòu)描述中,邏輯上的“類”,可影射對(duì)應(yīng)為物理層面的文件和目錄。作為軟件產(chǎn)品和軟件過(guò)程,這些文件和目錄是SCM控制的對(duì)象,即他們是配置項(xiàng)。在我們現(xiàn)在的討論中,有時(shí),我們說(shuō)明這些文件是用于管理和設(shè)計(jì)系統(tǒng)的內(nèi)容(包括:項(xiàng)目計(jì)劃、設(shè)計(jì)模型、測(cè)試報(bào)告)等,有些是實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)的文件(包括:源代碼、庫(kù)、執(zhí)行文件等),有時(shí),把它們不加區(qū)別地看成為構(gòu)件。11/1/202252UML進(jìn)一步把構(gòu)件劃分成三種構(gòu)件:部署型構(gòu)件、工作產(chǎn)品型構(gòu)件CMM2的配置管理對(duì)象
CMM2把配置管理對(duì)象,稱之為軟件工作產(chǎn)品,在CMM2配置管理定義中,對(duì)應(yīng)置于配置管理下的軟件工作產(chǎn)品,是這樣定義的:可作為配置項(xiàng)/單元標(biāo)識(shí)的軟件工作產(chǎn)品實(shí)例有:與過(guò)程相關(guān)的文檔(例如:計(jì)劃、標(biāo)準(zhǔn)或規(guī)程) 軟件需求 軟件設(shè)計(jì) 軟件代碼單元 軟件測(cè)試規(guī)程 為軟件測(cè)試活動(dòng)建立的軟件系統(tǒng) 交付給客戶或最終用戶的軟件系統(tǒng) 編譯程序 其他支持工具 不論各體系是如何定義的,我們基本可以認(rèn)為,配置管理的對(duì)象,主要地可以分為二類:軟件產(chǎn)品和文檔。軟件產(chǎn)品比較容易標(biāo)識(shí),而文檔相對(duì)比較復(fù)雜。我們將重點(diǎn)進(jìn)行討論。
11/1/202253CMM2的配置管理對(duì)象CMM2把配置管理對(duì)象,稱之為軟件工8.3.2最基本的配置管理項(xiàng)——文檔文檔在軟件開(kāi)發(fā)人員、軟件管理人員、維護(hù)人員、用戶以及計(jì)算機(jī)之間,起到了多種的橋梁作用。軟件開(kāi)發(fā)人員在軟件生命的各個(gè)階段中,以文檔作為前階段工作成果的體現(xiàn)和后階段工作的依據(jù),這個(gè)作用是顯而易見(jiàn)的。這部分文檔通常稱為開(kāi)發(fā)文檔。軟件開(kāi)發(fā)過(guò)程中軟件開(kāi)發(fā)人員需制定一些工作計(jì)劃或工作報(bào)告,這些計(jì)劃和報(bào)告都要提供給管理人員,并得到必要的支持。管理人員則可通過(guò)這些文檔了解軟件開(kāi)發(fā)項(xiàng)目安排、進(jìn)度、資源使用和成果等。這部分文檔通常稱為管理文檔,或稱為項(xiàng)目文檔。軟件開(kāi)發(fā)人員需為用戶了解軟件的使用、操作和維護(hù)提供詳細(xì)的資料。這部分文檔通常稱為用戶文檔。11/1/2022548.3.2最基本的配置管理項(xiàng)——文檔文檔在軟件開(kāi)發(fā)人員、軟我們把這三種文檔所包括的內(nèi)容列在下圖中。其中列舉了十三個(gè)文檔,這里對(duì)它們做一些簡(jiǎn)要說(shuō)明:
文檔用戶文檔用戶手冊(cè)操作手冊(cè)維護(hù)修改建議軟件需求(規(guī)格)說(shuō)明書(shū)開(kāi)發(fā)文檔軟件需求(規(guī)格)說(shuō)明書(shū)數(shù)據(jù)要求說(shuō)明書(shū)概要設(shè)計(jì)說(shuō)明書(shū)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)可行性研究報(bào)告項(xiàng)目開(kāi)發(fā)計(jì)劃管理文檔項(xiàng)目開(kāi)發(fā)計(jì)劃測(cè)試計(jì)劃測(cè)試報(bào)告開(kāi)發(fā)進(jìn)度月報(bào)開(kāi)發(fā)總結(jié)報(bào)告11/1/202255我們把這三種文檔所包括的內(nèi)容列在下圖中。其中列舉了十三個(gè)文檔文檔的生成階段
階段文檔
可行性研究與計(jì)劃需求分析設(shè)計(jì)代碼編寫(xiě)測(cè)試運(yùn)行與維護(hù)可行性研究報(bào)告
項(xiàng)目開(kāi)發(fā)計(jì)劃
軟件需求說(shuō)明
數(shù)據(jù)要求說(shuō)明
概要設(shè)計(jì)說(shuō)明
詳細(xì)設(shè)計(jì)說(shuō)明
測(cè)試計(jì)劃
用戶手冊(cè)
操作手冊(cè)
測(cè)試分析報(bào)告
開(kāi)發(fā)進(jìn)度月報(bào)
項(xiàng)目開(kāi)發(fā)總結(jié)
維護(hù)修改建議
11/1/202256文檔的生成階段可行性研究與計(jì)劃需求分析設(shè)計(jì)代碼編寫(xiě)測(cè)試運(yùn)行文檔的作用
所提問(wèn)題文檔
什么何處何時(shí)誰(shuí)如何為何可行性研究報(bào)告√
√項(xiàng)目開(kāi)發(fā)計(jì)劃√
√√
軟件需求說(shuō)明√√
數(shù)據(jù)要求說(shuō)明√√
概要設(shè)計(jì)說(shuō)明
√
詳細(xì)設(shè)計(jì)說(shuō)明
√
測(cè)試計(jì)劃
√√√
用戶手冊(cè)
√
操作手冊(cè)
√
測(cè)試分析報(bào)告√
開(kāi)發(fā)進(jìn)度月報(bào)√
√
項(xiàng)目開(kāi)發(fā)總結(jié)√
維護(hù)修改建議√
√
√11/1/202257文檔的作用什么何處何時(shí)誰(shuí)如何為何可行性研究報(bào)告√
8.3.3UCM目錄結(jié)構(gòu)下的配置管理UCM(統(tǒng)一變更管理)的發(fā)展沿革
第一代UCM:第二代UCM:第三代UCM:
第三代UCM引進(jìn)了一些新的概念:(1)活動(dòng)(Activity):(2)構(gòu)件(Component):(3)工作流(Stream):(4)項(xiàng)目(Project):
11/1/2022588.3.3UCM目錄結(jié)構(gòu)下的配置管理UCM(統(tǒng)一變更管理8.1軟件配置及其管理的概念8.2配置管理活動(dòng)和流程8.3配置管理需求8.4版本管理8.5變更管理8.6配置狀態(tài)監(jiān)測(cè)與報(bào)告8.7基于配置管理的軟件項(xiàng)目管理8.8配置管理的技術(shù)手段和工具第八章?目錄11/1/2022598.1軟件配置及其管理的概念第八章?目錄10/23/28.4.1版本管理的必要性8.4.2此前的版本管理8.4.3元素、分支與版本8.4.4構(gòu)件、基線與存儲(chǔ)池8.4.5現(xiàn)代版本管理活動(dòng)8.4版本管理11/1/2022608.4.1版本管理的必要性8.4版本管理10/23/208.4.1版本管理的必要性在軟件開(kāi)發(fā)過(guò)程中,由于軟件開(kāi)發(fā)所固有的特征,可能會(huì)形成眾多的軟件版本,而且我們并不能保證不出現(xiàn)錯(cuò)誤的修改,而這樣的一個(gè)困難局面卻又非?,F(xiàn)實(shí)地?cái)[在項(xiàng)目開(kāi)發(fā)管理者的面前,他/她該如何有效地解決這些問(wèn)題,具體地說(shuō)就是如下一些問(wèn)題:(1)怎樣對(duì)研發(fā)項(xiàng)目進(jìn)行整體管理;(2)項(xiàng)目開(kāi)發(fā)小組的成員之間如何以一種有效的機(jī)制進(jìn)行協(xié)調(diào);(3)如何進(jìn)行對(duì)小組成員各自承擔(dān)的子項(xiàng)目的統(tǒng)一管理;(4)如何對(duì)研發(fā)小組各成員所作的修改進(jìn)行統(tǒng)一匯總;(5)如何保留修改的軌跡,以便撤銷錯(cuò)誤的改動(dòng);(6)對(duì)在研發(fā)過(guò)程中形成的軟件的各個(gè)版本如何進(jìn)行標(biāo)識(shí),管理及差異識(shí)辨等等。一個(gè)非常直接的反應(yīng)是,我們必須要引進(jìn)一種管理機(jī)制,一個(gè)版本管理機(jī)制,而且是廣義上的版本管理,它不僅需要對(duì)源代碼的版本進(jìn)行管理,而且還要對(duì)整個(gè)項(xiàng)目進(jìn)行管理。11/1/2022618.4.1版本管理的必要性在軟件開(kāi)發(fā)過(guò)程中,由于軟件開(kāi)發(fā)8.4.2早前的版本管理
在軟件工程時(shí)代,面對(duì)這樣的問(wèn)題,我們通過(guò)以往的那種被譽(yù)建立具有良好的編程風(fēng)格的做法,諸如在編程或?qū)λ说脑闯绦蜻M(jìn)行修改時(shí),注釋修改原因,修改人和日期。如果是多個(gè)成員同時(shí)進(jìn)行了修改,那么可能出現(xiàn)一個(gè)庫(kù)管理員,由他來(lái)控制什么人在訪問(wèn)哪個(gè)源代碼,修改的人向他報(bào)告做了什么改動(dòng)。如果有幾個(gè)人同時(shí)改動(dòng),庫(kù)管理員或者限定同時(shí)只能有一個(gè)人做修改,他記住這人是誰(shuí),或者他自己來(lái)做同時(shí)修改的人工的差異比較和綜合,以便形成一個(gè)統(tǒng)一的新版本。在3-5人小組,這個(gè)庫(kù)管理員還能勝任,但這種做法在當(dāng)前的大型軟件的開(kāi)發(fā)中已經(jīng)越來(lái)越困難了,因?yàn)榭咳斯さ牟僮?、靠個(gè)人的自覺(jué)、靠庫(kù)管理員的維護(hù),充其量是一種以小作坊的形式來(lái)面對(duì)軟件的社會(huì)化大生產(chǎn),再也不可能行得通了?;诠蚕砦募夸浀陌姹竟芾?/p>
在版本控制工具出現(xiàn)之前,或者,現(xiàn)在國(guó)內(nèi)很多的軟件企業(yè),并不用什么版本控制工具。他們也做一些簡(jiǎn)單的版本控制工作。他們是怎么做的?最簡(jiǎn)單的辦法是使用文件拷貝支持不同的版本。具體地講,就是項(xiàng)目組在項(xiàng)目組的文件共享服務(wù)器上,建立一個(gè)項(xiàng)目組文件系統(tǒng),在文件系統(tǒng)下,對(duì)涉及到的文件,建立不同的版本目錄,從個(gè)人工作區(qū)到系統(tǒng)發(fā)布版,包括中間結(jié)果,甚至可能是所有文件。庫(kù)管理員不斷地增加目錄的標(biāo)簽,以標(biāo)識(shí)歷史前進(jìn)的步伐。11/1/2022628.4.2早前的版本管理在軟件工程時(shí)代,面對(duì)這樣的問(wèn)題,我8.4.2早前的版本管理
早期的版本管理工具
(1)通過(guò)存儲(chǔ)池機(jī)制來(lái)維護(hù)文件庫(kù); (2)創(chuàng)建和存放文件的多個(gè)版本; (3)提供一種或幾種鎖定裝置,強(qiáng)制對(duì)文件的修改順序; (4)標(biāo)識(shí)文件的版本; (5)從歷史目錄中找回舊版本。這些工具基本上能幫助庫(kù)管理員從手工的管理中解脫出來(lái),開(kāi)發(fā)人員不需要庫(kù)管理員的介入,可以自己從庫(kù)中檢入和檢出文件,當(dāng)文件被檢出后,其他人暫時(shí)不能再檢出此文件。同時(shí),在必要的時(shí)候,文件的一個(gè)新版本被創(chuàng)立。11/1/2022638.4.2早前的版本管理早期的版本管理工具10/23/28.4.2早前的版本管理
例如:MS的VSS版本控制是通過(guò)以下方式實(shí)現(xiàn)的:VSS提供版本控制和歷史服務(wù),以保證一個(gè)文件的每個(gè)版本都是可恢復(fù)的。VSS用日期/時(shí)間戳來(lái)記錄文件是何時(shí)被Check-out或是何時(shí)被修改的,它主要有三種方法來(lái)跟蹤文件和項(xiàng)目的版本:(1)版本號(hào):這是由VSS維護(hù)的內(nèi)部數(shù)碼,用戶對(duì)它沒(méi)有控制權(quán)。每個(gè)文件和項(xiàng)目的每個(gè)版本都有一個(gè)版本號(hào),這些版本號(hào)總是一個(gè)整數(shù)且是遞增的。(2)標(biāo)簽:這些是用戶賦給某個(gè)項(xiàng)目或文件的某個(gè)版本的一個(gè)字符串,可以是任何格式的長(zhǎng)度不超過(guò)31字符的字符串。(3)日期/時(shí)間戳:它給出了一個(gè)文件何時(shí)最后被修改的信息,或者是一個(gè)文件何時(shí)被Check-in。VSS同時(shí)支持12小時(shí)和24小時(shí)的時(shí)間格式。11/1/2022648.4.2早前的版本管理例如:MS的VSS版本控制是通過(guò)以8.4.3元素、分支與版本
原子對(duì)象
在ClearCase的概念中,置于版本控制下的原子對(duì)象被稱為“元素”(element),元素是文件系統(tǒng)對(duì)象:文件和目錄。每個(gè)元素記錄了它所代表的文件和目錄的版本。所以,當(dāng)用戶檢入文件時(shí),就創(chuàng)建了那個(gè)元素的新版本。元素被組織成不同的分支。分支是線形的版本序列,版本序列構(gòu)成的是并行開(kāi)發(fā)的項(xiàng)目或基于統(tǒng)一基線開(kāi)始的不同的系統(tǒng)。元素都被保存在存儲(chǔ)池(VOB)中。下圖是存儲(chǔ)池、元素、分支、版本之間的關(guān)系:在ClearCase中,每一個(gè)元素都以一個(gè)主分支(mainbranch)和一個(gè)不包含任何內(nèi)容的零版本序列開(kāi)始,稱為“/main/0”。每一次新版本檢入,在主分支上創(chuàng)建版本111/1/2022658.4.3元素、分支與版本原子對(duì)象10/23/20226SCM的版本樹(shù)左圖的版本樹(shù)中,長(zhǎng)方形表示一個(gè)分支,圓形表示檢入的時(shí)間排序的版本號(hào),箭頭表示從一個(gè)分支到另一個(gè)分支的變更回歸(歸并)。“發(fā)布版本1.0/1.1”是這個(gè)版本上的標(biāo)簽。目錄是元素,也是版本對(duì)象。ClearCase對(duì)目錄與文件一樣,也進(jìn)行版本管理。為了能在前一個(gè)版本中修復(fù)BUG,或者從新版本退回到就版本,就有必要恢復(fù)一個(gè)舊的版本。目錄被修改,在檢入的時(shí)候,也要進(jìn)行記錄。對(duì)目錄進(jìn)行版本管理的目的,還可以借助目錄機(jī)制,重建或構(gòu)造軟件系統(tǒng)的前一個(gè)版本。343210Release1.0\main2103\rel1_bugfix2\rel210Release1.111/1/202266SCM的版本樹(shù)左圖的版本樹(shù)中,長(zhǎng)方形表示一個(gè)分支,圓形表示元素類型
在ClearCase中,存放在存儲(chǔ)池中的元素都被賦予特定的類型,使之可以用于多種目的。類型可以幫助系統(tǒng)決定對(duì)該元素的操作。包括: l
確定元素可以使用的存儲(chǔ)/增量機(jī)制 l
決定版本選擇的范圍,例如:設(shè)計(jì)文檔版本、項(xiàng)目管理文檔版本等 l
適用于不同的配置管理策略 l
決定比較、歸并等的機(jī)制
ClearCase已經(jīng)預(yù)先定義了的元素類型,它們主要和存儲(chǔ)機(jī)制有關(guān)。 文件(完全備份) 文本文件(同軸增量備份) 壓縮文本文件(與文本文件相同,但進(jìn)行壓縮) 壓縮文件(完全備份,僅進(jìn)行壓縮) 二進(jìn)制文件(差異增量保存) 目錄(直接保存)11/1/202267元素類型在ClearCase中,存放在存儲(chǔ)池中的元素8.4.4構(gòu)件、基線與存儲(chǔ)池構(gòu)件將把被一起開(kāi)發(fā)、集成和發(fā)布的文件和目錄聚集在一起。聚集成ClearCase構(gòu)件的文件和元素通??梢詫?shí)現(xiàn)系統(tǒng)構(gòu)架中的一個(gè)可重用的部分。構(gòu)件通過(guò)標(biāo)識(shí)一個(gè)根目錄來(lái)定義,這個(gè)目錄與所有的文件和子目錄都被看作是這個(gè)構(gòu)件的一個(gè)部分。構(gòu)件的一個(gè)版本就是一個(gè)基線。構(gòu)件基線標(biāo)識(shí)了構(gòu)件中包含的每一個(gè)元素或一個(gè)版本,構(gòu)件的基線用來(lái)配置工作流,為各種視圖提供信息,以便決定文件和目錄的什么版本被顯示。就像元素有版本一樣,構(gòu)件有基線。當(dāng)修改一個(gè)元素時(shí),你創(chuàng)建了這個(gè)元素的一個(gè)版本,當(dāng)你修改構(gòu)件中的一個(gè)元素時(shí),你也創(chuàng)建了這個(gè)構(gòu)件的一個(gè)新基線。工作流把一組構(gòu)件基線聚集在一起。然而,這不是項(xiàng)目范圍的基線概念,更恰當(dāng)?shù)闹v,當(dāng)你在項(xiàng)目的集成流上完成一個(gè)基線操作時(shí),你創(chuàng)建了一組被修改構(gòu)件的基線。11/1/2022688.4.4構(gòu)件、基線與存儲(chǔ)池構(gòu)件將把被一起開(kāi)發(fā)、集成和發(fā)根據(jù)一個(gè)產(chǎn)品的質(zhì)量標(biāo)準(zhǔn)要求和需求的不同,可以定義一個(gè)項(xiàng)目的不同基線。也就是說(shuō),一個(gè)公司可以定義不同的測(cè)試、功能、版本基線。另一個(gè)項(xiàng)目組可以根據(jù)自己的需要,選擇某特定構(gòu)件,確定自己的基線。
下圖表明構(gòu)件和基線之間的關(guān)系:任何UCM的核心最后將歸結(jié)到存儲(chǔ)池,存儲(chǔ)池也被稱為“VersionedObjectBase”,或簡(jiǎn)稱為VOB。VOB是用于存儲(chǔ)文件、目錄和元數(shù)據(jù)的永久數(shù)據(jù)存儲(chǔ)池。VOB必須能夠支持可擴(kuò)展的、容錯(cuò)的、分布式的可復(fù)制的性能。
項(xiàng)目的VOB包含與項(xiàng)目環(huán)境有關(guān)的對(duì)象,如:項(xiàng)目、構(gòu)件、活動(dòng)以及基線,這些構(gòu)成了一個(gè)正在開(kāi)發(fā)的項(xiàng)目的所有信息,包括項(xiàng)目的組織和管理信息。11/1/202269根據(jù)一個(gè)產(chǎn)品的質(zhì)量標(biāo)準(zhǔn)要求和需求的不同,可以定義一個(gè)項(xiàng)目的不8.4.5現(xiàn)代版本管理活動(dòng)
現(xiàn)代版本管理活動(dòng)圍繞以下展開(kāi): l
支持多人同時(shí)修改同一文件;
l
支持多個(gè)小組在同一時(shí)間修改同一個(gè)軟件系統(tǒng);
l
現(xiàn)代的工作空間管理;
l
現(xiàn)代的構(gòu)建和發(fā)布管理。11/1/2022708.4.5現(xiàn)代版本管理活動(dòng)現(xiàn)代版本管理活動(dòng)圍繞以下展開(kāi):并行開(kāi)發(fā)的版本控制并行開(kāi)發(fā)3210\main2103\Bugfix4210\main3432\Telecom10Release1.0Telecom1.011/1/202271并行開(kāi)發(fā)的版本控制并行開(kāi)發(fā)3210\main2103\Bug
版本控制的好處使混亂的開(kāi)發(fā)狀態(tài)變得有序!SCM的主要技術(shù)——版本控制11/1/202272版本控制的好處使混亂的開(kāi)發(fā)狀態(tài)變得有序!SCM的主8.1軟件配置及其管理的概念8.2配置管理活動(dòng)和流程8.3配置管理需求8.4版本管理8.5變更管理8.6配置狀態(tài)監(jiān)測(cè)與報(bào)告8.7基于配置管理的軟件項(xiàng)目管理8.8配置管理的技術(shù)手段和工具第八章?目錄11/1/2022738.1軟件配置及其管理的概念第八章?目錄10/23/28.5.1基于基線的變更管理8.5.2變更請(qǐng)求管理過(guò)程8.5.3變更請(qǐng)求管理活動(dòng)8.5.4變更請(qǐng)求的狀態(tài)轉(zhuǎn)移8.5變更管理11/1/2022748.5.1基于基線的變更管理8.5變更管理10/23/2可以了解誰(shuí)改了什么、為什么正確及時(shí)的項(xiàng)目狀態(tài)報(bào)告最大限度的利用你的工程師資源利于團(tuán)隊(duì)交流是團(tuán)隊(duì)開(kāi)發(fā)過(guò)程中的通訊基礎(chǔ)11/1/202275可以了解誰(shuí)改了什么、為什么是團(tuán)隊(duì)開(kāi)發(fā)過(guò)程中的通訊基礎(chǔ)10/28.5.1基于基線的變更管理
l
變更管理下的基線概念 l
建立基線的意義 l
建立基線的時(shí)機(jī)
11/1/2022768.5.1基于基線的變更管理10/23/2022768.5.2變更管理流程變更管理流程:變更管理流程包括提出請(qǐng)求、對(duì)請(qǐng)求進(jìn)行評(píng)估、同意請(qǐng)求和實(shí)現(xiàn)對(duì)已經(jīng)進(jìn)入基線庫(kù)的配置項(xiàng)進(jìn)行修改。CCB(ChangeControlBoard),由項(xiàng)目經(jīng)理、系統(tǒng)分析員、項(xiàng)目配置經(jīng)理和軟件質(zhì)量工程師組成,負(fù)責(zé)評(píng)估變更請(qǐng)求,提出同意或不同意對(duì)已進(jìn)入基線庫(kù)的配置項(xiàng)的變更;TAF:test,analyzeandfix;11/1/2022778.5.2變更管理流程變更管理流程:變更管理流程包括提出請(qǐng)變更管理流程(1)與變更管理流程相關(guān)的表格軟件問(wèn)題報(bào)告表SoftwareProblemReportForm(SPRF)軟件變更請(qǐng)求表SoftwareChangeRequestForm(SCRF)軟件問(wèn)題解決細(xì)節(jié)SoftwareProblemResolutionDetails(SPRD)11/1/202278變更管理流程(1)與變更管理流程相關(guān)的表格10/23/202變更管理流程(2)由用戶提出的變更請(qǐng)求由項(xiàng)目主提出的變更請(qǐng)求問(wèn)題評(píng)估PAT由用戶在產(chǎn)品發(fā)布前發(fā)現(xiàn)的問(wèn)題由項(xiàng)目組自身發(fā)現(xiàn)的問(wèn)題系統(tǒng)分析員軟件問(wèn)題報(bào)告表問(wèn)題處理NOYES軟件變更請(qǐng)求表軟件變更請(qǐng)求表系統(tǒng)分析員由于升級(jí)而進(jìn)行的變更對(duì)問(wèn)題不予接受告知問(wèn)題提出者問(wèn)題被拒絕11/1/202279變更管理流程(2)由用戶提出的變更請(qǐng)求由項(xiàng)目主提出的變更請(qǐng)求變更管理流程(3)11/1/202280變更管理流程(3)10/23/2022808.5.3變更請(qǐng)求管理活動(dòng)
11/1/2022818.5.3變更請(qǐng)求管理活動(dòng)10/23/2022818.5.4變更請(qǐng)求的狀態(tài)轉(zhuǎn)移
11/1/2022828.5.4變更請(qǐng)求的狀態(tài)轉(zhuǎn)移10/23/2022828.1軟件配置及其管理的概念8.2配置管理活動(dòng)和流程8.3配置管理需求8.4版本管理8.5變更管理8.6配置狀態(tài)監(jiān)測(cè)、報(bào)告與評(píng)審8.7基于配置管理的軟件項(xiàng)目管理8.8配置管理的技術(shù)手段和工具第八章?目錄11/1/2022838.1軟件配置及其管理的概念第八章?目錄10/23/28.6.1配置狀態(tài)監(jiān)測(cè)與報(bào)告8.6.2配置評(píng)審8.6配置狀態(tài)監(jiān)測(cè)、報(bào)告與評(píng)審11/1/2022848.6.1配置狀態(tài)監(jiān)測(cè)與報(bào)告8.6配置狀態(tài)監(jiān)測(cè)、報(bào)告與評(píng)8.6.1配置項(xiàng)狀態(tài)統(tǒng)計(jì)配置項(xiàng)狀態(tài)統(tǒng)計(jì),由項(xiàng)目配置經(jīng)理定期地對(duì)項(xiàng)目配置項(xiàng)的狀態(tài)進(jìn)行收集和統(tǒng)計(jì),主要包括以下統(tǒng)計(jì)信息:項(xiàng)目制品進(jìn)入基線庫(kù)的創(chuàng)建時(shí)間變更請(qǐng)求的詳細(xì)描述所有問(wèn)題(ProblemReport)報(bào)告的描述變更請(qǐng)求的狀態(tài)BaselineStatusAccountingForm(BSAF)ArchiveStatusAccountingForm(ASAF)Change/ProblemStatusAccountingForm(C/PSAF)11/1/2022858.6.1配置項(xiàng)狀態(tài)統(tǒng)計(jì)配置項(xiàng)狀態(tài)統(tǒng)計(jì),由項(xiàng)目配置經(jīng)理定期提供圖形化的項(xiàng)目狀況11/1/202286提供圖形化的項(xiàng)目狀況10/23/202286SCM的度量和度量準(zhǔn)則SCM提供軟件產(chǎn)品的狀態(tài)統(tǒng)計(jì)。統(tǒng)計(jì)包括尋找軟件開(kāi)發(fā)的瓶頸和解決辦法,并據(jù)此衡量軟件產(chǎn)品的成熟度。度量準(zhǔn)則:平均嚴(yán)重程度,嚴(yán)重程度級(jí)的分布,平均關(guān)閉時(shí)間,嚴(yán)重程度的圖示,各配置項(xiàng)或子系統(tǒng)的圖示11/1/202287SCM的度量和度量準(zhǔn)則SCM提供軟件產(chǎn)
SCM的度量和度量準(zhǔn)則軟件產(chǎn)品成熟度數(shù)據(jù)要求:軟件變更(問(wèn)題)數(shù)量描述計(jì)算機(jī)軟件配置項(xiàng)標(biāo)識(shí)(CSCI)嚴(yán)重程度級(jí)打開(kāi)變更的日期(或發(fā)現(xiàn)問(wèn)題)關(guān)閉變更(問(wèn)題)和實(shí)施日期11/1/202288SCM的度量和度量準(zhǔn)則軟件產(chǎn)品成熟度數(shù)據(jù)要求:10/23/軟件變更統(tǒng)計(jì)
SCM的度量和度量準(zhǔn)則圖表分析軟件剩余問(wèn)題剩余變更和錯(cuò)誤密度11/1/202289軟件變更統(tǒng)計(jì)SCM的度量和度量準(zhǔn)則圖表分析軟件剩余問(wèn)題剩余8.6.2配置評(píng)審配置評(píng)審:配置評(píng)審?fù)ㄟ^(guò)對(duì)配置管理流程的各種制品進(jìn)行審核,來(lái)判斷軟件配置管理流程被正確的執(zhí)行。配置評(píng)審包括功能評(píng)審和物理評(píng)審。功能配置評(píng)審(FunctionalConfigurationAudit,FCA),功能配置評(píng)審是通過(guò)對(duì)軟件產(chǎn)品的功能和性能的審核,以及與需求說(shuō)明的一致性來(lái)對(duì)軟件制品的評(píng)估。
由項(xiàng)目經(jīng)理提出請(qǐng)求由軟件質(zhì)量工程師計(jì)劃并實(shí)施對(duì)評(píng)審過(guò)程和標(biāo)準(zhǔn)有專門的文檔規(guī)定11/1/2022908.6.2配置評(píng)審配置評(píng)審:配置評(píng)審?fù)ㄟ^(guò)對(duì)配置管理流程的各功能評(píng)審功能審核的目標(biāo)是核實(shí)軟件配置項(xiàng)的實(shí)際性能是否符合它的需求。以下各項(xiàng)說(shuō)明從配置管理角度來(lái)看支持功能審核所需要做的工作。(1)準(zhǔn)備一個(gè)驗(yàn)證表,列出所有功能方面的需求,而且對(duì)每個(gè)需求都引用測(cè)試過(guò)程、測(cè)試行為的實(shí)例(時(shí)間戳或其他測(cè)試實(shí)例標(biāo)識(shí)符)、相應(yīng)的測(cè)試結(jié)果和/或完整記錄需求驗(yàn)證情況的分析和/或演示報(bào)告。(2)核實(shí)是否已正確實(shí)施了所有變更請(qǐng)求。(3)核實(shí)是否已對(duì)軟件正確應(yīng)用了所有更改。(4)文檔差異、建立糾正操作和完成日期。11/1/202291功能評(píng)審功能審核的目標(biāo)是核實(shí)軟件配置項(xiàng)的實(shí)際性能是否符合它的物理評(píng)審物理配置評(píng)審PhysicalConfigurationAudit(PCA):物理配置評(píng)審主要驗(yàn)證軟件的功能是否與其設(shè)計(jì)一致,是否可以發(fā)布。物理配置評(píng)審跟隨在功能配置評(píng)審之后;由項(xiàng)目經(jīng)理提出請(qǐng)求;由軟件質(zhì)量工程師和項(xiàng)目配置經(jīng)理計(jì)劃和實(shí)施;對(duì)于物理配置評(píng)審過(guò)程和標(biāo)準(zhǔn),有專門的文檔規(guī)定;
物理評(píng)審的主要工作是:(1)創(chuàng)建應(yīng)該出現(xiàn)在配置管理中的項(xiàng)目列表。(2)檢查在配置管理中維護(hù)的項(xiàng)目。(3)創(chuàng)建一個(gè)“差異列表”,表示已在配置管理中維護(hù)的項(xiàng)目以及應(yīng)該在配置管理中維護(hù)的項(xiàng)目之間的差異。11/1/202292物理評(píng)審物理配置評(píng)審PhysicalConfigurati8.1軟件配置及其管理的概念8.2配置管理活動(dòng)和流程8.3配置管理需求8.4版本管理8.5變更管理8.6配置狀態(tài)監(jiān)測(cè)與報(bào)告8.7基于配置管理的軟件項(xiàng)目管理8.8配置管理的技術(shù)手段和工具第八章?目錄11/1/2022938.1軟件配置及其管理的概念第八章?目錄10/23/28.7.1角色職責(zé)8.7.2配置管理計(jì)劃8.7.3項(xiàng)目經(jīng)理的階段工作要點(diǎn)8.7.4配置管理實(shí)施的若干問(wèn)題8.7基于配置管理的軟件項(xiàng)目管理11/1/2022948.7.1角色職責(zé)8.7基于配置管理的軟件項(xiàng)目管理10/8.7.1角色職責(zé)
項(xiàng)目經(jīng)理(ProjectManager,PM)
配置控制委員會(huì)(ConfigurationControlBoard,CCB)
配置管理員(ConfigurationManagementOfficer,CMO)
系統(tǒng)集成員(SystemIntegrationOfficer,SIO)
開(kāi)發(fā)人員(Developer,DEV)
11/1/2022958.7.1角色職責(zé)項(xiàng)目經(jīng)理(ProjectManage8.7.2配置管理計(jì)劃肩負(fù)對(duì)項(xiàng)目成功負(fù)責(zé)的重要職責(zé)
評(píng)估開(kāi)發(fā)團(tuán)隊(duì)當(dāng)前配置管理現(xiàn)狀定義實(shí)施的范圍計(jì)劃資源要素
11/1/2022968.7.2配置管理計(jì)劃肩負(fù)對(duì)項(xiàng)目成功負(fù)責(zé)的重要職責(zé)10/8.7.3項(xiàng)目經(jīng)理的階段工作要點(diǎn)
11/1/2022978.7.3項(xiàng)目經(jīng)理的階段工作要點(diǎn)10/23/2022978.7.4配置管理實(shí)施的若干問(wèn)題
SCM的啟動(dòng)時(shí)機(jī)
SCM的控制水平
過(guò)程與產(chǎn)品的區(qū)分
SCM自動(dòng)化水平
11/1/2022988.7.4配置管理實(shí)施的若干問(wèn)題SCM的啟動(dòng)時(shí)機(jī)10/
可以不必去熟悉過(guò)程,也不必知道團(tuán)隊(duì)開(kāi)發(fā)的模式可以延續(xù)你一貫的工作程序和處理辦法將變更流程化自動(dòng)處理業(yè)務(wù)SCM的過(guò)程驅(qū)動(dòng)PRODUCTIONCODINGTESTINGREPORTINGPROJECTUPROJECTVPROJECTYPROJECTXPROJECTZPROJECTWAPPROVENOTIFYNOTIFY11/1/202299可以不必去熟悉過(guò)程,也不必知道團(tuán)隊(duì)開(kāi)發(fā)的模式SCM的過(guò)程SCM的過(guò)程改進(jìn)SCM為變更和過(guò)程改進(jìn)提供基本結(jié)構(gòu)第一步,了解產(chǎn)品是怎樣生產(chǎn)的第二步,培養(yǎng)一個(gè)好的變更環(huán)境改進(jìn)要構(gòu)造的也就是改進(jìn)怎樣構(gòu)造--SEI1998年主題SCM的過(guò)程驅(qū)動(dòng)11/1/2022100SCM的過(guò)程改進(jìn)SCM為變更和過(guò)程改進(jìn)提供基本結(jié)構(gòu)改進(jìn)要構(gòu)造過(guò)程驅(qū)動(dòng)的好處真正規(guī)范團(tuán)隊(duì)開(kāi)發(fā)!SCM的過(guò)程驅(qū)動(dòng)11/1/2022101過(guò)程驅(qū)動(dòng)的好處真正規(guī)范團(tuán)隊(duì)開(kāi)發(fā)!SCM的過(guò)程驅(qū)動(dòng)10/238.1軟件配置及其管理的概念8.2配置管理活動(dòng)和流程8.3配置管理需求8.4版本管理8.5變更管理8.6配置狀態(tài)監(jiān)測(cè)與報(bào)告8.7基于配置管理的軟件項(xiàng)目管理8.8配置管理的技術(shù)手段和工具第八章?目錄11/1/20221028.1軟件配置及其管理的概念第八章?目錄10/23/2VSS的簡(jiǎn)單工作原理VSS中的幾個(gè)重要概念VSS6.0的一些新增的特征和功能VSS6.0解決方案
MicrosoftVSS6.0介紹
11/1/2022103VSS的簡(jiǎn)單工作原理MicrosoftVSS6.0介紹特點(diǎn):功能:
PVCS介紹
11/1/2022104特點(diǎn):PVCS介紹10/23/2022104特點(diǎn):推進(jìn)并行開(kāi)發(fā)強(qiáng)有力的版本控制透明的工作區(qū)管理有效的build管理有彈性的流程管理
功能:1.版本控制2.工作空間管理3.建立管理
4.過(guò)程控制
RationalClearCase介紹
11/1/2022105特點(diǎn):RationalClearCase介紹10/23/新代碼源存儲(chǔ)庫(kù)簡(jiǎn)單的版本控制評(píng)估Client/Server環(huán)境的配置管理工具新開(kāi)發(fā)11/1/2022106新代碼評(píng)估Client/Server環(huán)境的配置管理工具新開(kāi)新代碼源存儲(chǔ)庫(kù)簡(jiǎn)單的版本控制新開(kāi)發(fā)PVCS系列VSS評(píng)估Client/Server環(huán)境的配置管理工具11/1/2022107新代碼新開(kāi)發(fā)PVCS系列評(píng)估Client/Server環(huán)境維護(hù)模式增加的開(kāi)發(fā)人員當(dāng)前的開(kāi)發(fā)QA&測(cè)試新代碼源存儲(chǔ)庫(kù)簡(jiǎn)單的版本控制新開(kāi)發(fā)PVCS系列VSS部門級(jí)開(kāi)發(fā)評(píng)估Client/Server環(huán)境的配置管理工具11/1/2022108維護(hù)模式新代碼新開(kāi)發(fā)PVCS系列部門級(jí)開(kāi)發(fā)評(píng)估Cl維護(hù)模式增加的開(kāi)發(fā)人員當(dāng)前的開(kāi)發(fā)QA&測(cè)試ClearCaseContinuusSourceIntegrityPVCS新代碼源存儲(chǔ)庫(kù)簡(jiǎn)單的版本控制新開(kāi)發(fā)PVCS系列VSS部門級(jí)開(kāi)發(fā)評(píng)估Client/Server環(huán)境的配置管理工具11/1/2022109維護(hù)模式ClearCaseContinuus新新代碼源存儲(chǔ)庫(kù)簡(jiǎn)單的版本控制維護(hù)模式增加的開(kāi)發(fā)人員當(dāng)前的開(kāi)發(fā)QA&測(cè)試新開(kāi)發(fā)工具IT審核管理報(bào)告復(fù)雜的生命周期企業(yè)級(jí)開(kāi)發(fā)ClearCaseContinuusSourceIntegrityPVCS新開(kāi)發(fā)PVCS系列VSS部門級(jí)開(kāi)發(fā)評(píng)估Client/Server環(huán)境的配置管理工具11/1/2022110新代碼維護(hù)模式新開(kāi)發(fā)工具企業(yè)級(jí)開(kāi)發(fā)ClearCaseCCC/Harvest新代碼源存儲(chǔ)庫(kù)簡(jiǎn)單的版本控制維護(hù)模式增加的開(kāi)發(fā)人員當(dāng)前的開(kāi)發(fā)QA&測(cè)試新開(kāi)發(fā)工具IT審核管理報(bào)告復(fù)雜的生命周期企業(yè)級(jí)開(kāi)發(fā)ClearCaseContinuusSourceIntegrityPVCS新開(kāi)發(fā)PVCS系列VSS部門級(jí)開(kāi)發(fā)評(píng)估Client/Server環(huán)境的配置管理工具11/1/2022111CCC/Harvest新代碼維護(hù)模式新開(kāi)發(fā)工具企業(yè)級(jí)
維護(hù)模式增加的開(kāi)發(fā)人員當(dāng)前的開(kāi)發(fā)QA&測(cè)試
新開(kāi)發(fā)工具IT審核管理報(bào)告復(fù)雜的生命周期CCC/Harvest應(yīng)用工具包集成解決方案數(shù)據(jù)倉(cāng)庫(kù)開(kāi)放的企業(yè)級(jí)開(kāi)發(fā)CCC/Harvest
新代碼源存儲(chǔ)庫(kù)簡(jiǎn)單的版本控制企業(yè)級(jí)開(kāi)發(fā)ClearCaseContinuusSourceIntegrityPVCS
新開(kāi)發(fā)PVCS系列VSS部門級(jí)開(kāi)發(fā)評(píng)估Client/Server環(huán)境的配置管理工具11/1/2022112維護(hù)模式新開(kāi)發(fā)工具CCC/Harvest應(yīng)用工具包開(kāi)放問(wèn)題?11/1/2022113問(wèn)題?10/23/2022113謝謝!
KeepConnectingInTheFuture
11/1/2022114謝謝!KeepConnectingInTheFut第八章軟件項(xiàng)目的配置管理11/1/2022115第八章軟件項(xiàng)目的配置管理10/23/202218.1軟件配置及其管理的概念8.2配置管理活動(dòng)和流程8.3配置管理需求8.4版本管理8.5變更管理8.6配置狀態(tài)監(jiān)測(cè)與報(bào)告8.7基于配置管理的軟件項(xiàng)目管理8.8配置管理的技術(shù)手段和工具第八章?目錄11/1/20221168.1軟件配置及其管理的概念第八章?目錄10/23/28.1軟件配置及其管理的概念8.2配置管理活動(dòng)和流程8.3配置管理需求8.4版本管理8.5變更管理8.6配置狀態(tài)監(jiān)測(cè)與報(bào)告8.7基于配置管理的軟件項(xiàng)目管理8.8配置管理的技術(shù)手段和工具第八章?目錄11/1/20221178.1軟件配置及其管理的概念第八章?目錄10/23/28.1.1CMM2的配置管理概念8.1.2IEEE的配置管理定義8.1.3配置管理概述8.1.4配置管理活動(dòng)的作用8.1軟件配置及其管理的概念11/1/20221188.1.1CMM2的配置管理概念8.1軟件配置及其管理的配置的概念配置的概念來(lái)自硬件軟件工程師是如何處理接口的?廣而言之:軟件的變化可以發(fā)生在一秒鐘內(nèi)軟件的變化可以發(fā)生在每一秒鐘軟件開(kāi)發(fā)過(guò)程下一秒鐘是不確定的情況將會(huì)怎樣?怎么辦?11/1/2022119配置的概念配置的概念來(lái)自硬件10/23/20225軟件項(xiàng)目開(kāi)發(fā)管理的新需求你在一家小公司做軟件工程師,開(kāi)始的時(shí)候,你只有一個(gè)人,配了2個(gè)助手。你們研究了一種算法(例如:圖象壓縮、數(shù)據(jù)加密等),編寫(xiě)了一個(gè)實(shí)現(xiàn)模塊。有一天老板看到了你的演示,認(rèn)為很有市場(chǎng)潛力,可以結(jié)合進(jìn)公司正在給某行業(yè)用戶正在準(zhǔn)備開(kāi)發(fā)的系統(tǒng)中,成為該系統(tǒng)的核心技術(shù)或
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)大全人事管理篇十篇
- 《行政職業(yè)能力測(cè)驗(yàn)》2024年公務(wù)員考試尤溪縣臨考沖刺試卷含解析
- 八下期末考拔高測(cè)試卷(5)(解析版)
- 寒假自習(xí)課 25春初中道德與法治八年級(jí)下冊(cè)教學(xué)課件 第三單元 第五課 第2課時(shí) 基本政治制度
- 《皮外骨傷科病證》課件
- 鐵路線路設(shè)計(jì)合同三篇
- 服裝店衛(wèi)生消毒指南
- 幼兒園工作總結(jié)攜手陪伴成長(zhǎng)無(wú)憂
- 餐飲行業(yè)助理工作總結(jié)
- 感恩父母演講稿錦集八篇
- DB32T 3292-2017 大跨徑橋梁鋼橋面環(huán)氧瀝青混凝土鋪裝養(yǎng)護(hù)技術(shù)規(guī)程
- 2023-2024學(xué)年新疆吐魯番市高二上學(xué)期期末生物試題(解析版)
- GB/T 44819-2024煤層自然發(fā)火標(biāo)志氣體及臨界值確定方法
- 《MATLAB編程及應(yīng)用》全套教學(xué)課件
- 《銷售技巧培訓(xùn)》課件
- 人教版八年級(jí)上冊(cè)數(shù)學(xué)期末考試試卷及答案
- 配電箱巡檢表
- 網(wǎng)頁(yè)設(shè)計(jì)與制作案例實(shí)戰(zhàn)教程課件 第13章 綜合實(shí)戰(zhàn)案例
- 子長(zhǎng)市長(zhǎng)征文化運(yùn)動(dòng)公園項(xiàng)目社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估報(bào)告
- 形容詞副詞(專項(xiàng)訓(xùn)練)-2023年中考英語(yǔ)二輪復(fù)習(xí)
- 浙教版七年級(jí)科學(xué)上冊(cè)期末綜合素質(zhì)檢測(cè)含答案
評(píng)論
0/150
提交評(píng)論