版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件項目管理Software Project Management(SPM),郭建東,CH01 選擇恰當(dāng)?shù)拈_發(fā)過程-典型軟件工程過程模型,01.1 軟件工程過程 01.2 典型軟件工程過程模型 01.3 過程模型的選擇,2,軟件項目管理 CH01 選擇過程 郭建東,01.1 軟件工程過程,軟件過程是近十年來人們關(guān)注的焦點。軟件過程是為開發(fā)高質(zhì)量軟件所需要完成的任務(wù)的框架。軟件工程是有創(chuàng)造力、有知識的人在定義好的、成熟的軟件過程框架中進(jìn)行的。,3,軟件項目管理 CH01 選擇過程 郭建東,軟件過程,軟件過程層次圖,質(zhì)量焦點,過程,方法,工具,4,軟件項目管理 CH01 選擇過程 郭建東,軟件過程
2、,軟件過程提供了一個框架,在該框架下可以建立一個軟件開發(fā)的綜合計劃: 若干框架活動適用于所有軟件項目,而不在乎其規(guī)模和復(fù)雜性。 若干不同任務(wù)的集合-每一個集合都由任務(wù)、里程碑、交付物以及質(zhì)量保證點組成-使得框架活動適應(yīng)于不同軟件項目的特征和項目組的需求。 若干保護(hù)性活動-如軟件質(zhì)量保證、軟件配置管理、測試與度量-它們貫穿于整個過程模型之中。保護(hù)性活動獨立于任何一個框架活動,且貫穿于整個過程之中。,5,軟件項目管理 CH01 選擇過程 郭建東,軟件過程,里程碑、交付物,SQA點,公共過程框架,框架活動,保護(hù)性活動,任務(wù)集合,工作任務(wù),6,軟件項目管理 CH01 選擇過程 郭建東,軟件過程,軟件過
3、程可分為三大類: 基本過程類:是構(gòu)成軟件生存周期主要部分的那些過程,包括獲取、供應(yīng)、開發(fā)、操作、維護(hù)等過程。 支持過程類:可穿插到基本過程中提供支持的一系列過程,包括文檔開發(fā)、配置管理、質(zhì)量保證、驗證、確認(rèn)、聯(lián)合評審、審計、問題解決等過程。 組織過程類:一個組織用來建立、實施一種基礎(chǔ)結(jié)構(gòu)、并不斷改進(jìn)該基礎(chǔ)結(jié)構(gòu)的過程,包括管理、基礎(chǔ)、改進(jìn)、培訓(xùn)等過程。,7,軟件項目管理 CH01 選擇過程 郭建東,軟件過程模型,軟件過程模型是軟件開發(fā)的指導(dǎo)思想和全局性框架,軟件過程模型的提出和發(fā)展反映了人們對軟件過程的某種認(rèn)識觀,體現(xiàn)了人們對軟件過程認(rèn)識的提高和飛躍。,8,軟件項目管理 CH01 選擇過程 郭建
4、東,什么是過程?,軟件工程中的目標(biāo)就是開發(fā)和維護(hù)軟件及相關(guān)產(chǎn)品,9,軟件項目管理 CH01 選擇過程 郭建東,當(dāng)前主流的軟件過程,CMM RUP MSF XP,10,軟件項目管理 CH01 選擇過程 郭建東,過程鐵三角,過程:把各部分集成在一起 CMM,11,軟件項目管理 CH01 選擇過程 郭建東,過 程,過程就是針對某一給定目標(biāo)的一系列運作步驟,IEEE-STD-610 是在過程環(huán)境下的一系列有序活動。所謂活動(Activity)就是過程對象一次狀態(tài)改變,也叫過程步(Step)。 活動起始態(tài)和活動結(jié)果態(tài)表征了活動的進(jìn)行??梢哉f一切事物的發(fā)生、發(fā)展、消亡都離不開過程,都寓于過程之中。,12,
5、軟件項目管理 CH01 選擇過程 郭建東,過程的一般定義,13,軟件項目管理 CH01 選擇過程 郭建東,煮蛋的啟示,14,軟件項目管理 CH01 選擇過程 郭建東,軟件過程,軟件過程是將用戶的需求轉(zhuǎn)化成有效的軟件解決方案的一系列活動。 許多軟件組織無法正確定義和控制這一過程,但這恰恰是組織改進(jìn)的關(guān)鍵。,15,軟件項目管理 CH01 選擇過程 郭建東,軟件過程(Cont.),過程的好壞由結(jié)果狀態(tài)與預(yù)期狀態(tài)的差異決定,也就是目標(biāo)成果質(zhì)量的好壞。 規(guī)程(Procedure)是人們對客觀事物運動規(guī)律 的理解和掌握,使規(guī)范了的過程。 軟件過程是為了獲得高質(zhì)量軟件產(chǎn)品所需要完 成的一系列任務(wù)的框架,它規(guī)
6、定了完成各項任務(wù)的工作步驟。 軟件過程必須科學(xué)、合理,才能開發(fā)出高質(zhì)量 的軟件產(chǎn)品。,16,軟件項目管理 CH01 選擇過程 郭建東,軟件過程(Cont.),軟件過程又稱軟件生存周期過程,是軟件生存周期內(nèi)為達(dá)到一定目標(biāo)而必須實施的一系列相關(guān)過程的集合。 早期: 立項、需求分析、設(shè)計、編碼、 測試、交付、維護(hù)、退役,17,軟件項目管理 CH01 選擇過程 郭建東,軟件過程(Cont.),項目計劃就是安排實際的過程,制作項目計劃首先要定義過程。項目計劃是某個軟件過程模型的實例。 軟件過程是人類制作產(chǎn)物的一系列活動,而過去的軟件工程師把產(chǎn)物和人分離,只研究產(chǎn)品過程及其質(zhì)量,假定人力、物力資源是無限大
7、、無限好?,F(xiàn)在認(rèn)識到面對實際資源實施軟件過程學(xué),求相對最佳質(zhì)量才是有效的。,18,軟件項目管理 CH01 選擇過程 郭建東,軟件過程(Cont.),現(xiàn)在的軟件生命周期過程包括: 早期: 立項、需求分析、設(shè)計、編碼、 測試、交付、維護(hù)、退役 又加入了: 管理各種活動、質(zhì)量保證 環(huán)境基礎(chǔ)設(shè)施配置、文檔管理等。,19,軟件項目管理 CH01 選擇過程 郭建東,軟件開發(fā)問題的循環(huán)解決過程,狀態(tài)描述 問題定義 技術(shù)開發(fā) 方案綜述,20,軟件項目管理 CH01 選擇過程 郭建東,軟件開發(fā)過程,為開發(fā)小組的活動順序提供向?qū)?詳細(xì)說明那些制品將被開發(fā),以及什么時候開發(fā) 指導(dǎo)每一個開發(fā)人員和整個開發(fā)組的工作 為
8、監(jiān)控和度量項目的產(chǎn)品和活動提供準(zhǔn)則,21,軟件項目管理 CH01 選擇過程 郭建東,軟件工程 方法學(xué),傳統(tǒng)方法學(xué) 面向?qū)ο蟮姆椒▽W(xué),22,軟件項目管理 CH01 選擇過程 郭建東,傳統(tǒng)方法學(xué)(生命周期方法學(xué)),仍然是使用十分廣泛的軟件工程方法學(xué)。 采用結(jié)構(gòu)化技術(shù)來完成軟件開發(fā)的各項任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結(jié)構(gòu)化技術(shù)的運用。 從上而下,順序地完成軟件開發(fā)的各階段任務(wù)。,23,軟件項目管理 CH01 選擇過程 郭建東,01.2 典型軟件工程過程模型,24,軟件項目管理 CH01 選擇過程 郭建東,瀑布模型(Waterfall) 原型模型(Prototype) 增量模型(Inc
9、remental) 螺旋模型(Spiral) 迭代模型(Iterative),01.2 典型軟件工程過程模型,25,軟件項目管理 CH01 選擇過程 郭建東,瀑布模型(線性順序模型),瀑布式模型包含以下活動: 系統(tǒng)/信息工程和建模 軟件需求分析 設(shè)計 代碼生成 測試 維護(hù),26,軟件項目管理 CH01 選擇過程 郭建東,基本概念,軟件生存期(過程)模型: 軟件生存期是軟件產(chǎn)品或系統(tǒng)一系列相關(guān)活動的全周期。從形成概念開始,經(jīng)過研制,交付使用,在使用中不斷增補修訂,直到最后被淘汰,讓位于新的軟件產(chǎn)品的過程。對軟件生存期的不同劃分,形成了不同的軟件生存期模型。,27,軟件項目管理 CH01 選擇過程
10、 郭建東,軟件工程的傳統(tǒng)途徑生命周期方法學(xué),生命周期方法學(xué)的基本內(nèi)容 從時間角度對軟件開發(fā)和維護(hù)的復(fù)雜問題進(jìn)行分解,把軟件生命的漫長周 期依次劃分為若干個階段,每個階段有相對獨立的任務(wù),然后逐步完成每個階 段的任務(wù)。 生命周期方法學(xué)的應(yīng)用方法 從對任務(wù)的抽象邏輯分析開始,一個階段一個階段地進(jìn)行開發(fā);前一個階段任 務(wù)的完成是后一個階段工作的前提和基礎(chǔ),而后一個階段任務(wù)通常是使前一階 段提出的解法更進(jìn)一步的具體化,加進(jìn)了更多的實現(xiàn)細(xì)節(jié)。 階段過渡方法 每一個階段的開始和結(jié)束都有嚴(yán)格標(biāo)準(zhǔn),前一階段結(jié)束的標(biāo)準(zhǔn)是后一階段工作 開始的標(biāo)準(zhǔn)。 技術(shù)審查和管理復(fù)審。 基本概念 文檔及其作用。 生命周期各階段的
11、基本任務(wù) 問題定義可行性研究 需求分析 總體設(shè)計(概要設(shè)計) 詳細(xì)設(shè)計 編碼和單元測試 綜合測試 軟件維護(hù)。,28,軟件項目管理 CH01 選擇過程 郭建東,軟件工程(生命周期各階段的基本任務(wù)),問題定義,可行性研究,需求分析,總體設(shè)計,詳細(xì)設(shè)計,編碼與單元測試,綜合測試,軟件維護(hù),要解決的問題是什么?,問題性質(zhì)、工程目標(biāo)和規(guī)模的報告,分析員:實際用戶+負(fù)責(zé)人,是否有解決辦法?,分析員,高層邏輯模型,準(zhǔn)確和具體的工程規(guī)模和目標(biāo),成本/效益分析等可行性報告,為了解決的問題,目標(biāo)系統(tǒng)必須做什么?準(zhǔn)確確定系統(tǒng)的功能,系統(tǒng)的邏輯模型 (數(shù)據(jù)流圖+數(shù)據(jù)字典+簡要算法),如何解決這些問題,模塊劃分軟件結(jié)構(gòu)
12、,如何具體地實現(xiàn)系統(tǒng):每個模塊的流程圖 (程序的詳細(xì)規(guī)格說明),通過各種類型的測試,使軟件達(dá)到預(yù)定的要求,寫出正確的容易理解和容易維護(hù)的程序模塊,通過各種必要的維護(hù)活動使系統(tǒng)持久地滿足用戶的需要,29,軟件項目管理 CH01 選擇過程 郭建東,生命周期法各階段的工作小結(jié),生命周期法各階段的工作小結(jié),“生命周期法”的特點,階段具有順序性和依賴性 推遲實現(xiàn)的觀點 質(zhì)量保證的觀點 每個階段都必須完成規(guī)定的文檔 每個階段結(jié)束前都要對所完成的文檔進(jìn)行評審,以便盡早發(fā)現(xiàn)問題,改正錯誤。,32,軟件項目管理 CH01 選擇過程 郭建東,軟件工程瀑布模型,瀑布模型,問題定義,特點:1) 階段間具有順序性和依賴
13、性 2) 推遲實現(xiàn)的觀點 3) 質(zhì)量保證的觀點。,可行性研究,需求分析,總體設(shè)計,詳細(xì)設(shè)計,編碼與單元測試,綜合測試,軟件維護(hù),軟件定義時期,軟件開發(fā)時期,軟件維護(hù)時期,33,軟件項目管理 CH01 選擇過程 郭建東,軟件開發(fā)過程模型,瀑布模型的特征 從上一項活動中接受該項活動的工作對象,作為輸入。 利用這一輸入實施該項活動應(yīng)完成的內(nèi)容 給出該項活動的工作成果,作為輸出傳給下一項活動 對該項活動實施的工作進(jìn)行評審。若其工作得到確認(rèn),則繼續(xù)下一項活動。,34,軟件項目管理 CH01 選擇過程 郭建東,瀑布模型 特點,文檔驅(qū)動的模型 階段間具有順序性和依賴性 推遲實現(xiàn)的觀點 質(zhì)量保證的觀點,35,
14、軟件項目管理 CH01 選擇過程 郭建東,思考?,傳統(tǒng)瀑布模型存在什么問題?,36,軟件項目管理 CH01 選擇過程 郭建東,傳統(tǒng)的瀑布模型 存在什么問題?,傳統(tǒng)的瀑布模型過于理想化了,事實上,人在工作過程中不可能不犯錯誤。 在設(shè)計階段可能發(fā)生規(guī)格說明文檔中的錯誤。 而設(shè)計上的缺陷或錯誤可能在實現(xiàn)過程中顯現(xiàn)出 來。 在綜合測試階段將發(fā)現(xiàn)需求分析、設(shè)計或編碼階段 的許多錯誤。,37,軟件項目管理 CH01 選擇過程 郭建東,Tom Gilb: “假如你不積極地解決你項目中存在的風(fēng)險,它們就會積極地解決掉你” 瀑布方法會掩飾項目中真正的風(fēng)險,當(dāng)你太晚發(fā)現(xiàn)它們時已無濟(jì)于事。,38,軟件項目管理 CH
15、01 選擇過程 郭建東,瀑布模型 問題,實際項目很少按照該模型給出的順序進(jìn)行 用戶常常難以清楚地給出所有需求 用戶必須有耐心 開發(fā)者常常被不必要地耽擱,39,軟件項目管理 CH01 選擇過程 郭建東,軟件開發(fā)過程模型,瀑布模型的缺點: 從認(rèn)識論角度看,人的認(rèn)識是一個多次反復(fù)循環(huán)的過程,不可能一次完成。但瀑布模型中劃分的幾個階段,沒有反映出這種認(rèn)識過程的反復(fù)性。 軟件開發(fā)是一個知識密集型的開發(fā)活動,需要相互合作完成,但瀑布模型沒有體現(xiàn)這一點。,40,軟件項目管理 CH01 選擇過程 郭建東,瀑布模型 實際的瀑布模型,需求分析,驗證,規(guī)格說明,驗證,設(shè)計,驗證,編碼,測試,綜合測試,維護(hù),變化的需
16、求,驗證,41,軟件項目管理 CH01 選擇過程 郭建東,軟件開發(fā)過程模型,具有維護(hù)循環(huán)的軟件生存期的瀑布模型,42,軟件項目管理 CH01 選擇過程 郭建東,軟件開發(fā)過程模型原型模型,基本思想 在獲取一組基本的需求定義后,利用高級軟件工具的可開發(fā)環(huán)境,快速地建立一個目標(biāo)系統(tǒng)的最初版本,并把它交給用戶試用、補充和修改,再進(jìn)行新的版本開發(fā)。反復(fù)進(jìn)行這個過程,直到得出系統(tǒng)的“精確解”,即用戶滿意為止。經(jīng)過這樣一個反復(fù)補充和修改的過程,應(yīng)用系統(tǒng)的“最初版本”就逐步演變?yōu)橄到y(tǒng)的“最終版本”。,43,軟件項目管理 CH01 選擇過程 郭建東,原型模型,快速建立起來的可以在計算機上運行的程序,他所能完成的
17、功能往往是最終產(chǎn)品能完成的功能的一個子集。,44,軟件項目管理 CH01 選擇過程 郭建東,原型模型 適用情況,用戶定義了一組一般性目標(biāo),但不能標(biāo)識出詳細(xì)的輸入、處理及輸出需求; 開發(fā)者可能不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機交互的形式; 原型模型可能是最好的選擇,45,軟件項目管理 CH01 選擇過程 郭建東,原型模型(Cont.),原型模型從需求收集開始。 開發(fā)者和用戶在一起定義軟件的總體目標(biāo),標(biāo)識出已知的需求,并規(guī)劃出進(jìn)一步定義的區(qū)域。 然后是“快速設(shè)計”,快速設(shè)計集中于軟件那些對用戶可見部分的表示?!翱焖僭O(shè)計”導(dǎo)致原型的建造。 原型由用戶評估,并進(jìn)一步精化待開發(fā)軟件的需求,逐步
18、調(diào)整原型使其滿足客戶的要求。同時開發(fā)者對將要做的事情有更好的理解, 這個過程是迭代的。,46,軟件項目管理 CH01 選擇過程 郭建東,原型模型(Cont.),快速原型,驗證,規(guī)格說明,驗證,設(shè)計,驗證,編碼,測試,綜合測試,維護(hù),變化的需求,驗證,維護(hù)過程,開發(fā)過程,47,軟件項目管理 CH01 選擇過程 郭建東,原型模型存在的問題,用戶似乎看到的是軟件的工作版本,其實 開發(fā)者常常需要實現(xiàn)上的折衷,以使原型能夠盡快工作,48,軟件項目管理 CH01 選擇過程 郭建東,原型模型,在“需求分析”、“原型設(shè)計”兩個階段中,開發(fā)者和用戶一起為想象中的系統(tǒng)的某些主要部分定義需求和規(guī)格說明,并由開發(fā)者在
19、規(guī)格說明級用原型描述語言構(gòu)造一個系統(tǒng)原型,它代表了部分系統(tǒng),包括那些為滿足用戶需求的必要屬性。該原型可用來幫助分析和設(shè)計工作,而不是一個軟件產(chǎn)品。,49,軟件項目管理 CH01 選擇過程 郭建東,原型模型,在演示原型期間,用戶可以根據(jù)他所期望的系統(tǒng)行為來評價原型的實際行為。如果原型不能滿意地運行,用戶能立刻找出問題和不可接受的地方,并與開發(fā)者重新定義需求。該過程一直持續(xù)到用戶認(rèn)為該原型能成功地體現(xiàn)想象中的系統(tǒng)的主要部分功能為止。在這期間,用戶和開發(fā)者都不要為程序算法或設(shè)計技巧等枝節(jié)問題分心,而是要確定開發(fā)者是否理解了用戶的意思,同時試驗實現(xiàn)它們的若干方法。,50,軟件項目管理 CH01 選擇過
20、程 郭建東,原型模型特征,原型特征 軟件原型是軟件的最初版本,以最少的費用、最短的時間開發(fā)出的、以反映最后軟件的主要特征的系統(tǒng)。它具有以下特征: (1)它是一個可實際運行的系統(tǒng)。,51,軟件項目管理 CH01 選擇過程 郭建東,原型模型特征,(2)它沒有固定的生存期。一種極端是扔掉原型(以最簡便方式大量借用已有軟件,做出最后產(chǎn)品的模型,證實產(chǎn)品設(shè)想是成功的,但產(chǎn)品中并不使用);另一種極端是最終產(chǎn)品的一部分即增量原型(先做出最終產(chǎn)品的核心部分,逐步增加補充模塊),演進(jìn)原型居于其中(每一版本扔掉一點,增加一點,逐步完善至最終產(chǎn)品)。,52,軟件項目管理 CH01 選擇過程 郭建東,原型模型特征,(
21、3)從需求分析到最終產(chǎn)品都可作原型,即可為不同目標(biāo)作原型。 (4)它必須快速、廉價。 (5)它是迭代過程的集成部分,即每次經(jīng)用戶評價后修改、運行,不斷重復(fù)雙方認(rèn)可。,53,軟件項目管理 CH01 選擇過程 郭建東,原型模型評價,原型法的評價 優(yōu)點 1.原型法在得到良好的需求定義上比傳統(tǒng)生存周期法好得多,可處理模糊需求,開發(fā)者和用戶可充分通信。 2.原型系統(tǒng)可作為培訓(xùn)環(huán)境,有利于用戶培訓(xùn)和開發(fā)同步,開發(fā)過程也是學(xué)習(xí)過程。 3.原型給用戶以機會更改心中原先設(shè)想的、不盡合理的最終系統(tǒng)。 4.原型可低風(fēng)險開發(fā)柔性較大的計算機系統(tǒng)。 5.原型增加使系統(tǒng)更易維護(hù)、對用戶更友好的機會。 6.原型使總的開發(fā)費
22、用降低,時間縮短。,54,軟件項目管理 CH01 選擇過程 郭建東,缺點 1.“模型效應(yīng)”或“管中窺豹”。對于開發(fā)者不熟悉的領(lǐng)域把次要部分當(dāng)作主要框架,做出不切題的原型。 2.原型迭代不收斂于開發(fā)者預(yù)先的目標(biāo)。即每次更改,為了消除錯誤,次要部分越來越大,“淹沒”了主要部分。 3.原型過快收斂于需求集合,而忽略了一些基本點。 4.資源規(guī)劃和管理較為困難,隨時更新文檔也帶來麻煩。 5.長期在原型環(huán)境上開發(fā),只注意得到滿意的原型,容易“遺忘”用戶環(huán)境和原型環(huán)境的差異。,原型模型評價,55,軟件項目管理 CH01 選擇過程 郭建東,適用范圍:原型開發(fā)可以應(yīng)用于軟件生存周期的不同階段,也可以替代生存期的
23、部分或全部階段,具體可以用于以下領(lǐng)域: 1.輔助分析和確定用戶需求的任務(wù)。 2.作為軟件設(shè)計的一種工具。例如:研究系統(tǒng)設(shè)計的可行性和適應(yīng)性。 3.作為一種解決不確定性的工具。例如:研究一種新技術(shù)的效果,逐步使其適應(yīng)預(yù)定的環(huán)境。 4.作為一種實驗工具。 5.充作同步培訓(xùn)工具。 6.“一次性”的應(yīng)用。例如寫一個能運行的程序,一旦得到答案,該程序?qū)⒉辉偈褂谩?7.作為軟件維護(hù)的輔助工具。特別是在用戶需求不穩(wěn)定,維護(hù)工作量很大的情況下,要求大量的重新設(shè)計工作。,原型模型評價,56,軟件項目管理 CH01 選擇過程 郭建東,增量模型,融合了瀑布模型的基本成分和原型的迭代特征。采用隨著日程時間的進(jìn)展而交錯
24、的線性序列。,57,軟件項目管理 CH01 選擇過程 郭建東,增量模型(Cont.),需求分析,驗證,規(guī)格說明,驗證,設(shè)計,驗證,維護(hù),針對每個構(gòu)件完成詳細(xì)設(shè)計、編碼和集成,經(jīng)測試后交付給用戶,58,軟件項目管理 CH01 選擇過程 郭建東,增量模型 (Cont.),分析,分析,分析,分析,設(shè)計,設(shè)計,設(shè)計,設(shè)計,編碼,編碼,編碼,編碼,測試,測試,測試,測試,增量1,增量2,增量3,增量4,59,軟件項目管理 CH01 選擇過程 郭建東,增量模型 (Cont.),增量模型融合了瀑布模型的基本成分和原型 的迭代特性。 例如,使用增量模型開發(fā)字處理軟件 基本的文件管理、編輯和文檔生成功能。 更完
25、善的編輯和文檔生成能力。 實現(xiàn)拼寫和文法檢查功能。 完成高級的頁面布局功能。,60,軟件項目管理 CH01 選擇過程 郭建東,增量模型 (Cont.),第一個增量往往是核心產(chǎn)品 每一個增量均發(fā)布一個可操作產(chǎn)品 早期的增量是最終產(chǎn)品的“可拆卸”版本,61,軟件項目管理 CH01 選擇過程 郭建東,軟件開發(fā)過程模型,噴泉模型 噴泉模型認(rèn)為軟件生命周期的各個階段是相互重疊和多次反復(fù)的。 主要用于面向?qū)ο蠓椒ㄖ?62,軟件項目管理 CH01 選擇過程 郭建東,軟件開發(fā)過程模型螺旋模型,在原型基礎(chǔ)上,進(jìn)行多次原型反復(fù)并增加風(fēng)險評估,形成螺旋模型。,63,軟件項目管理 CH01 選擇過程 郭建東,軟件開發(fā)
26、過程模型螺旋模型,64,軟件項目管理 CH01 選擇過程 郭建東,軟件開發(fā)過程模型螺旋模型,65,軟件項目管理 CH01 選擇過程 郭建東,螺旋模型分析 在螺旋模型結(jié)構(gòu)中,維護(hù)只是螺旋模型的另一個周期,在維護(hù)和開發(fā)之間本質(zhì)上并沒有區(qū)別,從而解決了做太多測試或未作足夠測試所帶來的風(fēng)險。 適用條件 內(nèi)部的大規(guī)模軟件的開發(fā),不太適合合同軟件。 一般只適用于大規(guī)模軟件的開發(fā),軟件開發(fā)過程模型螺旋模型,66,軟件項目管理 CH01 選擇過程 郭建東,迭代模型,建立在Barry Boehm 的螺旋模型基礎(chǔ)上的。,67,軟件項目管理 CH01 選擇過程 郭建東,迭代模型(Cont.),68,軟件項目管理 C
27、H01 選擇過程 郭建東,迭代模型(Cont.),Each iteration results in an executable release.,69,軟件項目管理 CH01 選擇過程 郭建東,70,軟件項目管理 CH01 選擇過程 郭建東,Time,Risk,Waterfall Risk,Risk Profiles,71,軟件項目管理 CH01 選擇過程 郭建東,特點,這種方法可以在生命周期早期強制性的確定項目中存在的風(fēng)險。 這種方法是一個連續(xù)地發(fā)現(xiàn)、創(chuàng)造和實現(xiàn)的過程。 在每個迭代過程中,促使開發(fā)小組以一種循環(huán)的、可預(yù)測的方式驅(qū)動項目制品的生產(chǎn)和制作。,72,軟件項目管理 CH01 選擇過
28、程 郭建東,提供解決方案:,在生命周期的早期,這種方法可以及時地發(fā)現(xiàn)一些嚴(yán)重的需求理解錯誤,此時還可能修正這些錯誤。 允許并鼓勵用戶反饋信息,以明確系統(tǒng)的真實需求。 這種方法使開發(fā)小組重視項目中最關(guān)鍵的問題,而屏蔽掉那些使他們遠(yuǎn)離項目真實風(fēng)險的問題。 不斷地迭代測試能夠給出項目狀況的客觀評價。,73,軟件項目管理 CH01 選擇過程 郭建東,提供解決方案: (Cont.),盡早地發(fā)現(xiàn)需求、設(shè)計和實現(xiàn)中的不一致。 在整個項目生命周期中更加平均地分配開發(fā)組的工作量,特別是測試小組的工作量。 開發(fā)組可以不斷打在開發(fā)中進(jìn)行學(xué)習(xí)從而改進(jìn)過程。 在整個生命周期中,項目相關(guān)人員可以通過具體證據(jù)了解項目狀況。
29、,74,軟件項目管理 CH01 選擇過程 郭建東,Review: 軟件過程模型,瀑布模型 原型模型 增量模型 螺旋模型 迭代模型,75,軟件項目管理 CH01 選擇過程 郭建東,軟件開發(fā)問題的癥狀,對于最終用戶的需要理解得不夠精確 對需求的改變束手無策 程序塊不兼容 軟件不易維護(hù)或不易擴展 對項目嚴(yán)重缺陷的發(fā)現(xiàn)較晚 軟件質(zhì)量低劣 軟件性能令人無法接受 開發(fā)組的人員按各自的方式進(jìn)行開發(fā),如果有人改變可部分軟件,將很難進(jìn)行重組 一個不可靠的構(gòu)造和發(fā)布過程,76,軟件項目管理 CH01 選擇過程 郭建東,失敗原因,特別的需求管理 模糊和不精確的交流 脆弱的構(gòu)架 過度復(fù)雜 未檢測出需求、設(shè)計和實現(xiàn)之間
30、的不一致 測試的不足 對于項目狀況的評估過于主觀 未解決存在的風(fēng)險 無法控制變化的產(chǎn)生和傳播 自動控制不足,77,軟件項目管理 CH01 選擇過程 郭建東,RUP,RUPRational Unified Process,78,軟件項目管理 CH01 選擇過程 郭建東,RUP,現(xiàn)在軟件產(chǎn)業(yè)界普遍認(rèn)為,開發(fā)復(fù)雜軟件項目必須采用基于UML的、以構(gòu)架為中心、用例驅(qū)動與風(fēng)險驅(qū)動相結(jié)合的迭代式增量開發(fā)過程,他是世界公認(rèn)的開發(fā)復(fù)雜軟件項目的最好過程,已經(jīng)成為軟件界的“圣經(jīng)”。這一開發(fā)過程目前已經(jīng)穩(wěn)定、成熟。 這就是:,79,軟件項目管理 CH01 選擇過程 郭建東,Rational Unified Proc
31、essRUP,Rational 統(tǒng)一過程是由Rational 軟件公司開發(fā)和營銷的一種軟件工程過程,是開發(fā)組織用以分配與管理任務(wù)和職責(zé)的一種規(guī)范化方法。這個過程的目的是在預(yù)定的進(jìn)度和預(yù)算范圍內(nèi),開發(fā)出滿足最終用戶需要的高質(zhì)量軟件。,80,軟件項目管理 CH01 選擇過程 郭建東,RUP捕獲的6項最佳商業(yè)實踐,被證明是解決軟件開發(fā)過程中根本問題的方法,81,軟件項目管理 CH01 選擇過程 郭建東,最佳軟件開發(fā)實踐 Best Practices,迭代地開發(fā)軟件 Develop Iteratively 管理需求 Manage Requirements 應(yīng)用基于構(gòu)件的構(gòu)架 Use Component
32、 Architectures 為軟件建立可視化的模型 Model Visually (UML) 不斷地驗證軟件質(zhì)量 Continuously Verify Quality 控制軟件的變更 Manage Change,82,軟件項目管理 CH01 選擇過程 郭建東,RUP的目標(biāo),按照預(yù)先制定的時間計劃和經(jīng)費預(yù)算,開發(fā)出高質(zhì)量的軟件產(chǎn)品以滿足最終用戶的需求,83,軟件項目管理 CH01 選擇過程 郭建東,RUP是什么?,是一種軟件工程過程 是一個過程產(chǎn)品 有自己的過程框架 捕獲了現(xiàn)代軟件開發(fā)中的最佳實踐,84,軟件項目管理 CH01 選擇過程 郭建東,RUP的三大特點,用例驅(qū)動 以架構(gòu)為中心 迭代
33、和增量開發(fā),85,軟件項目管理 CH01 選擇過程 郭建東,用例驅(qū)動,用Use Case作為劃分問題的組織單元,分析和設(shè)計活動的局部粒度都遵循這一劃分原則。Use Case的定義反映可系統(tǒng)外部要素根據(jù)特定目標(biāo)使用擬建系統(tǒng)的狀況,能確保問題的局部劃分粒度適當(dāng),保持了全局與局部的平衡。,86,軟件項目管理 CH01 選擇過程 郭建東,87,軟件項目管理 CH01 選擇過程 郭建東,RUP的整體架構(gòu),88,軟件項目管理 CH01 選擇過程 郭建東,RUP的迭代模型,89,軟件項目管理 CH01 選擇過程 郭建東,RUP的關(guān)鍵概念,90,軟件項目管理 CH01 選擇過程 郭建東,RUP,RUP將這些最
34、佳實踐活動以一種適當(dāng)?shù)男问浇Y(jié)合起來,從而適應(yīng)了廣泛的項目和開發(fā)組織。,RUP 是一個過程產(chǎn)品(process product)。Rational (IBM) 軟件公司開發(fā)并維護(hù)著這個產(chǎn)品,并將其與Rational 軟件公司自己的一系列軟件開發(fā)工具集成。,91,軟件項目管理 CH01 選擇過程 郭建東,RUP,RUP 有自己的過程框架 (process framework), 這個框架可以被改造和擴展以適應(yīng)采納此方法的組織。,軟件過程也是軟件 設(shè)計、開發(fā)、交付和維護(hù),92,軟件項目管理 CH01 選擇過程 郭建東,RUP 簡要歷史,RUP 2000,RUP 5.5,RUP 5.0,ROP 4.1
35、,ROP 4.0,Rational 方法,Objective 過程3.8,2000 1999 1998 1997 1996 1995,實時,ROOM,業(yè)務(wù)工程,配置和,變更管理,需求學(xué)院,Booch 方法,OMT,UML 0.8,SQA 過程,UML 1.1,數(shù)據(jù)工程,UI 設(shè)計,UML 1.2,基于WEB的開發(fā),UML1.3,93,軟件項目管理 CH01 選擇過程 郭建東,誰在使用RUP?,電信業(yè) Ericsson、Alcatel、MCI 交通、航空、國防 Lockheed-Martin、British Aerospace 制造業(yè) Xerox、Volvo、Intel 金融業(yè) Visa、Mer
36、rill Lynch、Schwab 系統(tǒng)集成業(yè) Ernst & Young、Oracle、Deloitte & Touche,94,軟件項目管理 CH01 選擇過程 郭建東,RUP,RUP核心是解決可操作性問題,幫助開發(fā)人員盡可能少地依賴那些“不可描述的經(jīng)驗”。他詳細(xì)給出了每個階段參與該過程的各種焦色,然后表示在過程中,該角色創(chuàng)建的制品。,95,軟件項目管理 CH01 選擇過程 郭建東,Rational Unified Process 的主要工件,及這些工件間的信息流,96,軟件項目管理 CH01 選擇過程 郭建東,97,軟件項目管理 CH01 選擇過程 郭建東,98,軟件項目管理 CH01
37、選擇過程 郭建東,99,軟件項目管理 CH01 選擇過程 郭建東,100,軟件項目管理 CH01 選擇過程 郭建東,101,軟件項目管理 CH01 選擇過程 郭建東,102,軟件項目管理 CH01 選擇過程 郭建東,增量和迭代開發(fā),基于風(fēng)險前驅(qū)的原則,漸進(jìn)地展開分析、設(shè)計及其相關(guān)活動,每個迭代都會提供一次驗證和調(diào)整模型機會,推動軟件質(zhì)量的提升。,103,軟件項目管理 CH01 選擇過程 郭建東,RUP 二維過程結(jié)構(gòu),沿時間軸的組織結(jié)構(gòu),沿內(nèi)容軸的組織結(jié)構(gòu),104,軟件項目管理 CH01 選擇過程 郭建東,RUP的生命開發(fā)周期,105,軟件項目管理 CH01 選擇過程 郭建東,RUP的生命開發(fā)周
38、期,106,軟件項目管理 CH01 選擇過程 郭建東,RUP的生命開發(fā)周期,107,軟件項目管理 CH01 選擇過程 郭建東,RUP的生命開發(fā)周期,108,軟件項目管理 CH01 選擇過程 郭建東,主要困難,多層次持續(xù)的規(guī)劃與評估 判斷架構(gòu)中關(guān)鍵風(fēng)險的經(jīng)驗 高效率的驗證和評價手段 多工種之間的頻繁溝通 多版本工作產(chǎn)品的管理,109,軟件項目管理 CH01 選擇過程 郭建東,基礎(chǔ)保障,核心人員必要的管理與技術(shù)經(jīng)驗 自動化的驗證和評價工具 團(tuán)隊成員之間有高效的溝通工具 軟件配置與變更管理工具,110,軟件項目管理 CH01 選擇過程 郭建東,RUP 的裁減,RUP 僅僅是一個通用的過程框架,需要根
39、據(jù)實際情況裁減。,111,軟件項目管理 CH01 選擇過程 郭建東,A Process is not Enough to Build a System,112,軟件項目管理 CH01 選擇過程 郭建東,XP,XP(Extreme Programming),它是由Kent Beck大師提出的。大師在經(jīng)歷傳統(tǒng)軟件開發(fā)的痛苦之后,希望能夠找到一種優(yōu)秀的軟件開發(fā)方法。大師總結(jié)了大量的軟件的成功和失敗的因素之后,提出了改進(jìn)軟件開發(fā)方法的四個要素:溝通(communication)、簡單化(simplicity)、反饋(feedback)、勇氣(courage)。這形成了XP的核心價值觀。在經(jīng)歷了數(shù)年的發(fā)展,XP在軟件開發(fā)的各方面都發(fā)展出了眾多的方法來支持軟件開發(fā)。,113,軟件項目管理 CH01 選擇過程 郭建東,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外貿(mào)商務(wù)信函合同范例
- 天府新區(qū)航空旅游職業(yè)學(xué)院《數(shù)值分析初步》2023-2024學(xué)年第一學(xué)期期末試卷
- 七年級英語下冊 Unit 1 Dream homes Grammar教學(xué)實錄 (新版)牛津版
- 游艇生產(chǎn)采購合同范例
- 外墻翻修安全合同范例
- 政府賣楊樹合同范例
- 唐山學(xué)院《商務(wù)智能應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 武侯區(qū)保安合同范例
- 商業(yè)大廈租賃合同范例
- 七年級語文上冊 第三單元 10 再塑生命的人教學(xué)實錄1 新人教版
- GB/T 26150-2019免洗紅棗
- GB/T 21933.1-2008鎳鐵鎳含量的測定丁二酮肟重量法
- GB/T 19867.2-2008氣焊焊接工藝規(guī)程
- GB/T 11606-2007分析儀器環(huán)境試驗方法
- 三年級-復(fù)習(xí)查字典
- 拘留所教育課件02
- 消防設(shè)施設(shè)備檢查表
- 膝關(guān)節(jié)核磁共振診斷-嚴(yán)林
- 康復(fù)評定學(xué)試題和答案
- 大學(xué)生寒假安全教育主題班會
- 針灸康復(fù)科中醫(yī)優(yōu)勢病種肩周炎診療方案-
評論
0/150
提交評論