軟件項目管理與團隊實踐 (2)ppt課件_第1頁
軟件項目管理與團隊實踐 (2)ppt課件_第2頁
軟件項目管理與團隊實踐 (2)ppt課件_第3頁
軟件項目管理與團隊實踐 (2)ppt課件_第4頁
軟件項目管理與團隊實踐 (2)ppt課件_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第八章 軟件工程的配置管理8.1 軟件配置及其管理的概念8.2 配置管理活動和流程8.3 配置管理需求8.4 版本管理8.5 變卦管理8.6 配置形狀監(jiān)測與報告8.7 基于配置管理的軟件工程管理第八章配置的概念配置的概念來自硬件軟件工程師是如何處置接口的?廣而言之:軟件的變化可以發(fā)生在一秒鐘內(nèi)軟件的變化可以發(fā)生在每一秒鐘軟件開發(fā)過程下一秒鐘是不確定的情況將會怎樣?怎樣辦?軟件工程開發(fā)管理的新需求他在一家小公司做軟件工程師,開場的時候,他只需一個人,配了2個助手。他們研討了一種算法例如:圖象緊縮、數(shù)據(jù)加密等,編寫了一個實現(xiàn)模塊。有一天老板看到了他的演示,以為很有市場潛力,可以結(jié)合進公司正在給某行

2、業(yè)用戶正在預(yù)備開發(fā)的系統(tǒng)中,成為該系統(tǒng)的中心技術(shù)或一個他人沒有的賣點。下一周,他的隊伍添加到14他的老板預(yù)備就此豪賭一把了,與他3個人的小組不同的是,公司從其他部門為他配備了系統(tǒng)分析師,還有文檔編制員、測試員。他的中心模塊曾經(jīng)被大量的用戶功能所包裝,成為一個行業(yè)運用系統(tǒng),并開場給用戶試用,這是他的系統(tǒng)的第一版。3個月后,公司決議把系統(tǒng)晉級到第二版,除添加了許多新的功能外,公司決議支持多平臺,同時,為了提高系統(tǒng)的性能和效率,預(yù)備采用第三方廠家的中間件,取代本人做的接口。第一版的缺陷修正,也要反映到第二版中。第2版經(jīng)過2個多月的開發(fā),最終推向了市場。公司的這個產(chǎn)品不但被用戶所歡迎,也被一家大公司所

3、看中就像IBM收買了Lotus和Rational、Informix一樣,他們的產(chǎn)品,正好可以填補這家大公司產(chǎn)品線的空缺,他所在的公司被這家公司買去了。 公司為他的工程組派來了產(chǎn)品經(jīng)理、工程經(jīng)理。公司決議這個產(chǎn)品的測試,由公司總部獨立的測試部門承當(dāng)。同時,公司決議把工程組添加到50人,其中有20多人并不在他所在的城市。在新公司里,產(chǎn)品管理、工程管理、測試、質(zhì)量等等,都與他過去的環(huán)境和做法不同,特別不同的是,公司預(yù)備開發(fā)的第3版系統(tǒng)與公司原有的產(chǎn)品要進展交融,使他們看上去是一家出來的不同的兄弟和姐妹。 與軟件的第1版、第2版相比,他的工程管理有什么不同? 隨著這個產(chǎn)品的演化,工程發(fā)生了四個變化:

4、1系統(tǒng)的復(fù)雜性發(fā)生了很大變化; 2用于開發(fā)該系統(tǒng)的工程環(huán)境發(fā)生了很大變化; 3在不同的工程生命周期內(nèi),工程控制本身的要求和力度發(fā)生了很大變化; 4由于組織的變化,管理流程、人員、方式發(fā)生了很大變化。 前二類變化要求工程的組織和管理順應(yīng)系統(tǒng)擴展的需求,后二種變化那么要求工程管理具有順應(yīng)性和靈敏性。缺乏管理所呵斥的問題軟件開發(fā)人員之間缺乏必要的交流產(chǎn)品晉級和維護所必需的程序和文檔非?;靵y開發(fā)過程中的人員流動經(jīng)常發(fā)生因管理不善致使未經(jīng)測試的軟件參與到產(chǎn)品中工程開發(fā)形狀不清楚軟件消費達(dá)不到規(guī)模化 軟件配置管理SCMSoftware Configuration Management 軟件配置管理SCM是

5、指在開發(fā)過程中各階段,管理 計算機程序演化的學(xué)科,它作為軟件工程的關(guān)鍵元素,曾經(jīng)成為軟件開發(fā)和維護的重要組成部分 SCM提供了構(gòu)造化的,有序化的,產(chǎn)品化的管理軟件工程的方法。它涵蓋了軟件生命周期的一切領(lǐng)域并影響一切數(shù)據(jù)和過程。配置管理是指用于控制系一致系列變化的學(xué)科。 經(jīng)過一系列技術(shù),方法和手段來維護產(chǎn)品的歷史,鑒別和定位產(chǎn)品獨有的版本,并在產(chǎn)品的開發(fā)和發(fā)布階段控制變化。 經(jīng)過有序管理和減少反復(fù)性任務(wù),配置管理保證了消費的質(zhì)量和效率。SCM經(jīng)過以下方法,強化軟件的可靠性和質(zhì)量:1提供用于識別和控制文檔、代碼、接口、數(shù)據(jù)庫的構(gòu)造框架,適用于軟件開發(fā)生命周期的一切階段;2全面支撐某一特定開發(fā)及維護

6、任務(wù)方法,可以順應(yīng)各種類型的需求、規(guī)范、政策、組織機構(gòu)以及相關(guān)的管理戰(zhàn)略;3針對特定的基線形狀、變卦控制、測試、發(fā)布版本或?qū)彶榛顒樱上鄳?yīng)的管理信息和產(chǎn)品信息。 因此,從某種意義上講,SCM本質(zhì)上是變卦的管理。 SCM使軟件產(chǎn)品和過程的變卦變?yōu)槭芸氐暮涂深A(yù)見的,它要求并在適當(dāng)?shù)墓ぞ咧С窒驴梢宰龅竭@樣幾點:1誰做的變卦?2軟件有什么變卦?3什么時間做的變卦?4為何要變卦?軟件工程的配置管理 在軟件開發(fā)過程中,變卦是不可防止的,而變卦加劇了工程中軟件開發(fā)者之間的混亂。SCM活動的目的就是為了標(biāo)識變卦、控制變卦、確保變卦正確實現(xiàn)并向其他有關(guān)人員報告變卦。 因此,從某種角度講,SCM是一種標(biāo)識、組織

7、和控制修正的技術(shù),目的是使錯誤降為最小并最有效地提高消費效率。不懂軟件工程的配置管理,就不懂軟件開發(fā)管理不對軟件工程進展配置管理,就沒有進展軟件工程開發(fā)管理軟件配置管理是CMM2中6個關(guān)鍵過程域的第6個關(guān)鍵域。CMM2以為,SCM 的目的是為了建立和維護軟件開發(fā)過程中各種制品的完好性和一致性,包括以下內(nèi)容:對軟件產(chǎn)品配置的標(biāo)志和識別系統(tǒng)地控制對處于配置管理下的各種軟件制品的修正和更新維護軟件開發(fā)過程中的各種制品的一致性和可跟蹤性8.1.1 配置管理概念 SCM 中的專業(yè)術(shù)語配置項(Configuration Item) 在軟件開發(fā)過程中生成各種制品的總和叫做這個工程的軟件配置 Roger S.

8、 Pressman, 1997配置項包括:計算機程序,包括源代碼和可執(zhí)行程序與計算機程序相對應(yīng)的各種文檔計算機數(shù)據(jù),包括計算機程序中包含的數(shù)據(jù)和系統(tǒng)初始化數(shù)據(jù)軟件開發(fā)過程數(shù)據(jù)與文件SCM 中的專業(yè)術(shù)語基線工程開發(fā)過程的制品經(jīng)過正式評審并被相關(guān)人員一致贊同,可以作為以后工程開發(fā)的根底時,稱為基線。對曾經(jīng)確定為基線的制品的修正必需求經(jīng)過正式的變卦控制流程。在軟件工程環(huán)境中,基線成為軟件開發(fā)過程中的里程碑,這些里程碑的標(biāo)志是一項或多項經(jīng)過正式的技術(shù)評審并一致認(rèn)同的軟件制品的提交。SCM 中的專業(yè)術(shù)語配置數(shù)據(jù)庫軟件制品基線庫工程建立和訪問軟件制品庫,這個制品庫主要用來對保管配置項和一些與軟件配置管理相

9、關(guān)的記錄。目前比較好的配置管理工具有:Clearcase RationalNotes/DominoLotusPVCS MerantVSS Microsoft配置管理庫基線庫的構(gòu)造(VOB)Project Root DirectoryProject Planning Phase DocumentsRequirements Analysis Phase DocumentsDesign Phase DocumentsCode, Unit Test & Integration Phase DocumentsSystem Test Phase DocumentsPhase DeliverablesPha

10、se DeliverablesProduct SoftwareTest Software Product Software RelatedTest Software RelatedSource CodeObjective CodeExecutive CodeDOCDATAABBBBCode配置管理庫的詳細(xì)實現(xiàn)工程文件夾工程文件件是工程開發(fā)過程中由工程組創(chuàng)建和維護的制品歸檔庫。軟件配置管理擔(dān)任管理和控制工程文件夾,并對文件夾中的內(nèi)容進展評審;工程經(jīng)理擔(dān)任監(jiān)視工程的軟件配置管理執(zhí)行;軟件質(zhì)量工程師擔(dān)任對工程文件夾的內(nèi)容進展評審;工程文件夾的內(nèi)容工程開發(fā)過程中的一切信息,包括文檔、任務(wù)制品和各種周報

11、、月報、評審等; 與外部的交流信息,例如與客戶、第三方的通訊交流記錄等;其他交流會議記錄,例如:重要的Email, 信件等;配置管理庫IEEE規(guī)范就配置管理的內(nèi)容進展了規(guī)范的定義:1標(biāo)識:識別產(chǎn)品的構(gòu)造、產(chǎn)品的構(gòu)件及其類型,為其分配獨一的標(biāo)識符,并以某種方式提供對它們的存取。2控制:經(jīng)過建立產(chǎn)品基線,控制軟件產(chǎn)品的發(fā)布和在整個軟件生命周期中對軟件產(chǎn)品的修正。例如,它將處理哪些修正會在該產(chǎn)品的最新版本中實現(xiàn)的問題。3形狀統(tǒng)計:記錄并報告構(gòu)件和修正懇求的形狀,并搜集關(guān)于產(chǎn)品構(gòu)件的重要統(tǒng)計信息。例如,它將處理修正這個錯誤解影響多少個文件的問題。4審計和審查:確認(rèn)產(chǎn)品的完好性并維護構(gòu)件間的一致性,即確

12、保產(chǎn)品是一個嚴(yán)厲定義的構(gòu)件集合。例如,它將處理目前發(fā)布的產(chǎn)品所用的文件的版天性否正確的問題。8.1.2 配置管理5消費:對產(chǎn)品的消費進展優(yōu)化管理。它將處理最新發(fā)布的產(chǎn)品應(yīng)由哪些版本的文件和工具來生成的問題。6過程管理:確保軟件組織的規(guī)程、方針和軟件周期得以正確貫徹執(zhí)行。它將處理要交付給用戶的產(chǎn)品能否經(jīng)過測試和質(zhì)量檢查的問題。7小組協(xié)作:控制開發(fā)一致產(chǎn)品的多個開發(fā)人員之間的協(xié)作。例如,它將處理能否一切本地程序員所做的修正都已被參與到新版本的產(chǎn)品中的問題。8.1.2 配置管理配置標(biāo)識或者又稱為配置需求,包括標(biāo)識軟件系統(tǒng)的構(gòu)造,標(biāo)識獨立部件,并使它們是可訪問的。配置標(biāo)識的目的,是在整個生命周期中標(biāo)識

13、系統(tǒng)各部件并提供對軟件過程及其軟件產(chǎn)品的跟蹤才干。它回答:什么是受控的? 配置變卦控制包括在軟件生命周期中控制軟件產(chǎn)品的發(fā)布和變卦,目的是建立確保軟件產(chǎn)質(zhì)量量的機制。它回答:受控產(chǎn)品怎樣變卦?誰控制變卦?何時接受,恢復(fù),驗證變卦?配置形狀統(tǒng)計包括記錄和報告變卦過程,目的是不延續(xù)記錄一切基線項的形狀和歷史,并進展維護,它處理以下問題:系統(tǒng)曾經(jīng)做了什么變卦?此問題將會對多少個文件產(chǎn)生影響?配置變卦控制是針對軟件產(chǎn)品,形狀統(tǒng)計針對軟件過程。因此,二者的一致就是對軟件開發(fā)產(chǎn)品、過程的變卦控制。配置審核將驗證軟件產(chǎn)品的構(gòu)造能否符合需求、規(guī)范、或合同的要求,目的是根據(jù)SCM的過程和程序,驗證一切的軟件產(chǎn)品

14、曾經(jīng)產(chǎn)生并有正確標(biāo)識和描畫,一切的變卦需求都已處理。它回答:系統(tǒng)和需求能否吻合?能否一切變卦都是在版本控制下? 8.1.3 SCM的四大功能領(lǐng)域SCM從運用層次上可以從低到高分為三級:版本控制、以開發(fā)者為中心、過程驅(qū)動。版本控制主要運用于個人獨立開發(fā)或小組開發(fā),它可以控制任何文件的版本、實現(xiàn)分支和歸并功能、進展文本比較、標(biāo)志注釋和版本報告信息,主要工具有MS的Visual SourceSafe及Intersolv PVCS。 以開發(fā)者為中心主要運用于部門級開發(fā),它可用于軟件維護、不斷添加的開發(fā)義務(wù)、并行開發(fā)、QA及測試,它面向大型團隊、利于交流、能最大限制地利用人力資源,主要工具為Ration

15、al ClearCase及MKS Source Integrity。過程驅(qū)動主要運用于企業(yè)級開發(fā),著重處理新的工具引入、IT審核、管理報告、復(fù)雜的生命周期、運用工具包、集成處理方案、資料庫等問題,實現(xiàn)真正規(guī)范的團隊開發(fā),主要工具為Platinum Technology CCC/Harvest。SCM的三個運用層次 8.1.4 配置管理活動的作用配置管理與質(zhì)量管理在質(zhì)量體系的諸多支持活動中,配置管理處在支持活動的中心位置。質(zhì)量管理雖然也有過程的驗證,但配置管理只需定義的配置項夠細(xì),那么它可以管理軟件開發(fā)的全過程,細(xì)到每一個模塊、每一個文檔、每一條工程記錄的變化。因此,配置管理從根底層開場,有機地

16、把其它支持活動結(jié)合起來,構(gòu)成一個整體,相互促進,相互影響,有力地保證了質(zhì)量體系的實施。 配置管理給工程組帶來的益處 1節(jié)約費用 縮短開發(fā)周期 減少施工費用 2有利于知識庫的建立 代碼對象庫 業(yè)務(wù)及閱歷庫3規(guī)范管理 量化任務(wù)量考核 規(guī)范測試 4加強協(xié)調(diào)與溝通 8.2.1 主要配置管理活動8.2.2 工程經(jīng)理的配置管理流程8.2 配置管理活動和流程8.2 主要配置管理活動 標(biāo)志配置項變卦控制版本控制評審統(tǒng)計軟件編譯、銜接和發(fā)放管理RUP描畫的配置管理的主要活動如以下圖所示:對于一個軟件工程組來說,開展一個工程組的配置管理,大致可以分為以下步驟: 1擬訂工程的配置管理方案;2創(chuàng)建工程的配置管理環(huán)境;

17、3進展工程的配置管理活動,包括:標(biāo)識配置項;管理基線和發(fā)布活動;監(jiān)測與報告配置形狀;管理變卦懇求。1和2可以看成配置管理的預(yù)備,3是配置管理的詳細(xì)實施。配置管理的詳細(xì)實施,在RUP定義為四個管理活動。配置項Software Configuration Item,SCI識別 對于配置項,可以給出一個比較簡單的定義,既軟件過程的輸出信息可以分為三個主要類別: 1計算機程序源代碼和可執(zhí)行程序 2描畫計算機程序的文檔針對技術(shù)開發(fā)者和用戶 3數(shù)據(jù)包含在程序內(nèi)部或外部。 這些項包含了一切在軟件過程中產(chǎn)生的信息,總稱為軟件配置項。在CMM2中,除上述3個配置項以外,還包括工程管理的有關(guān)文件、信息記錄等。 由

18、此可見,配置項的識別是配置管理活動的根底,也是制定配置管理方案的重要內(nèi)容。配置項Software Configuration Item,SCI識別 軟件配置管理以為軟件的開發(fā)過程是一個不斷變化著的過程,為了在不嚴(yán)重妨礙合理變化的情況下來控制變化,軟件配置管理引入了“基線Base Line這一概念。 IEEE對基線的定義是這樣的:“曾經(jīng)正式經(jīng)過審核同意的某規(guī)約或產(chǎn)品,它因此可作為進一步開發(fā)的根底,并且只能經(jīng)過正式的變化控制過程改動。所以,根據(jù)這個定義,我們在軟件的開發(fā)流程中,也可以把一切需求加以控制的配置項分為基線配置項和非基線配置項兩類,例如:基線配置項能夠包括一切的設(shè)計文檔和源程序等;非基線

19、配置項能夠包括工程的各類方案和報告等。 配置項的標(biāo)識和控制 一切配置項都應(yīng)按照相關(guān)規(guī)定一致編號,按照相應(yīng)的模板生成,并在文檔中的規(guī)定章節(jié)部分記錄對象的標(biāo)識信息。在引入軟件配置管理工具進展管理后,這些配置項都應(yīng)以一定的目錄構(gòu)造保管在配置庫中。一切配置項的操作權(quán)限應(yīng)由配置管理員嚴(yán)厲管理,根本原那么是:基線配置項向軟件開發(fā)人員開放讀取權(quán)限;非基線配置項向工程經(jīng)理、配置控制委員會及相關(guān)人員開放。任務(wù)空間管理 在引入了軟件配置管理工具之后,一切開發(fā)人員都會被要求把任務(wù)成果存放到由軟件配置管理工具所管理的配置庫存儲池中去,或是直接任務(wù)在軟件配置管理工具提供的環(huán)境之下根據(jù)配置管理構(gòu)架提供的控制方式不同而不同

20、。 每個開發(fā)人員按照義務(wù)的要求,在不同的開發(fā)階段,任務(wù)在不同的任務(wù)空間上。 比較理想的情況是把整個配置庫視為一個一致的任務(wù)空間,然后再根據(jù)需求把它劃分為個人私有、團隊集成和全組公共這三類任務(wù)空間分支,從而更好的支持未來能夠出現(xiàn)的并行開發(fā)的需求。 版本控制 版本控制是軟件配置管理的中心功能。一切置于配置庫中的元素都應(yīng)自動予以版本的標(biāo)識,并保證版本命名的獨一性。版本在生成過程中,自動按照設(shè)定的運用模型自動分支、演進。除了系統(tǒng)自動記錄的版本信息以外,為了配合軟件開發(fā)流程的各個階段,我們還需求定義、搜集一些元數(shù)據(jù)來記錄版本的輔助信息和規(guī)范開發(fā)流程,并為今后對軟件過程的度量做好預(yù)備。當(dāng)然假設(shè)選用的工具支

21、持的話,這些輔助數(shù)據(jù)將能直接統(tǒng)計出過程數(shù)據(jù),從而方便我們軟件過程改良Software Process Improvement,SPI活動的進展。 對于配置庫中的各個基線控制項,應(yīng)該根據(jù)其基線的位置和形狀來設(shè)置相應(yīng)的訪問權(quán)限。普通來說,對于基線版本之前的各個版本都應(yīng)處于被鎖定的形狀,如需求對它們進展變卦,那么應(yīng)按照變卦控制的流程來進展操作。 變卦控制 變卦管理的普通流程是:1獲得提出變卦懇求;2由CCB審核并決議能否同意;3被接受分配懇求,修正人員提取配置項,進展修正;4復(fù)審變化;5提交修正后的配置項;6建立測試基線并測試;7重建軟件的適當(dāng)版本;8復(fù)審審計一切配置項的變化;9發(fā)布新版本。 在這樣

22、的流程中,配置管理員經(jīng)過軟件配置管理工具來進展訪問控制和同步控制,而這兩種控制那么是建立在前面所描畫的版本控制和分支戰(zhàn)略的根底上的。 形狀報告 配置形狀報告應(yīng)該包括以下主要內(nèi)容: (1)配置庫構(gòu)造和相關(guān)闡明; (2)開發(fā)起始基線的構(gòu)成; (3)當(dāng)前基線位置及形狀; (4)各基線配置項集成分支的情況; (5)各私有開發(fā)分支類型的分布情況; (6)關(guān)鍵元素的版本演進記錄; (7)其它應(yīng)報告的事項。 配置審計 配置審計的主要作用是作為變卦控制的補充手段,來確保某一變卦需求已被真實實現(xiàn)。在某些情況下,它被作為正式的技術(shù)復(fù)審的一部分,但當(dāng)軟件配置管理是一個正式的活動時,該活動由SQA人員單獨執(zhí)行。總之,

23、軟件配置管理的對象是軟件研發(fā)活動中的全部開發(fā)資產(chǎn)。一切這一切都應(yīng)作為配置項納入管理方案一致進展管理,從而可以保證及時的對一切軟件開發(fā)資源進展維護和集成。因此,軟件配置管理的主要義務(wù)也就歸結(jié)為以下幾條: 1制定工程的配置方案; 2對配置項進展標(biāo)識; 3對配置項進展版本控制; 4對配置項進展變卦控制; 5定期進展配置審計; 6向相關(guān)人員報告配置的形狀。 變卦懇求管理活動 變卦懇求的形狀轉(zhuǎn)移 配置項形狀統(tǒng)計配置項形狀統(tǒng)計,由工程配置經(jīng)理定期地對工程配置項的形狀進展搜集和統(tǒng)計,主要包括以下統(tǒng)計信息:工程制品進入基線庫的創(chuàng)建時間變卦懇求的詳細(xì)描畫一切問題Problem Report報告的描畫變卦懇求的形狀Baseline Status Accounting Form (BSAF)Archive Status Accounting Form (ASAF)Change/Problem Status Accounting Form (C/PSAF)提供圖形化的工程情況SCM的度量和度量準(zhǔn)那么 SCM 提供軟件產(chǎn)品的形狀統(tǒng)計。統(tǒng)計包括尋覓軟件開發(fā)的瓶頸和處理方法,并據(jù)此衡量軟件產(chǎn)品的成熟度。 度量準(zhǔn)那么:平均嚴(yán)重程度,嚴(yán)重程度級的分布,平均封鎖時間,嚴(yán)重程度的圖示,各配置項或子系統(tǒng)的圖示 SCM的度量和度量準(zhǔn)那么軟件產(chǎn)品成熟度數(shù)據(jù)要求: 軟件

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論