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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

6、任務方法,可以順應各種類型的需求、規(guī)范、政策、組織機構以及相關的管理戰(zhàn)略;3針對特定的基線形狀、變卦控制、測試、發(fā)布版本或審查活動,生成相應的管理信息和產品信息。 因此,從某種意義上講,SCM本質上是變卦的管理。 SCM使軟件產品和過程的變卦變?yōu)槭芸氐暮涂深A見的,它要求并在適當的工具支持下可以做到這樣幾點:1誰做的變卦?2軟件有什么變卦?3什么時間做的變卦?4為何要變卦?軟件工程的配置管理 在軟件開發(fā)過程中,變卦是不可防止的,而變卦加劇了工程中軟件開發(fā)者之間的混亂。SCM活動的目的就是為了標識變卦、控制變卦、確保變卦正確實現并向其他有關人員報告變卦。 因此,從某種角度講,SCM是一種標識、組織

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

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

9、關的記錄。目前比較好的配置管理工具有:Clearcase RationalNotes/DominoLotusPVCS MerantVSS Microsoft配置管理庫基線庫的構造(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配置管理庫的詳細實現工程文件夾工程文件件是工程開發(fā)過程中由工程組創(chuàng)建和維護的制品歸檔庫。軟件配置管理擔任管理和控制工程文件夾,并對文件夾中的內容進展評審;工程經理擔任監(jiān)視工程的軟件配置管理執(zhí)行;軟件質量工程師擔任對工程文件夾的內容進展評審;工程文件夾的內容工程開發(fā)過程中的一切信息,包括文檔、任務制品和各種周報

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論