第11章 RUP軟件開發(fā)過程_第1頁
第11章 RUP軟件開發(fā)過程_第2頁
第11章 RUP軟件開發(fā)過程_第3頁
第11章 RUP軟件開發(fā)過程_第4頁
第11章 RUP軟件開發(fā)過程_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第11章

RUP軟件開發(fā)過程11.1軟件開發(fā)過程

11.2RUP簡介11.3RUP的二維開發(fā)模型11.4RUP核心工作流11.5RUP特點11.1軟件過程歷史概述11.1.1軟件開發(fā)過程簡介11.1.2當(dāng)前流行的軟件開發(fā)過程11.1.1軟件開發(fā)過程簡介Ivar:軟件開發(fā)過程是將用戶需求轉(zhuǎn)化為軟件系統(tǒng)所需要的活動的集合。Who,When,What,How軟件開發(fā)過程包含:實施于軟件開發(fā)和維護(hù)中的階段、方法、技術(shù)、實踐和相關(guān)產(chǎn)物(計劃、文檔、模型、代碼、測試用例和手冊等)的集合。11.1.1軟件開發(fā)過程簡介軟件開發(fā)過程是開發(fā)高質(zhì)量軟件所需要完成的任務(wù)的框架。軟件開發(fā)過程的層次圖:11.1.1軟件開發(fā)過程簡介軟件工程過程將各種技術(shù)結(jié)合在一起,使得軟件能夠被合理地和及時地開發(fā)出來。軟件工程的方法層在技術(shù)上說明了需要如何去開發(fā)軟件。軟件工程的工具層為軟件過程和方法提供了自動或半自動的支持。軟件過程提供一個框架,在這個框架下可以建立一個軟件開發(fā)的綜合計劃。11.1.2當(dāng)前流行的軟件過程RationalUnifiedProcess(RUP)Object-OrientedSoftwareProcess(OOSP)ExtremeProgramming(XP)CleanroomDynamicSystemDevelopmentMethod(DSDM)瀑布式螺旋式11.2RUP簡介11.2.1RUP過程的背景11.2.2傳統(tǒng)的軟件開發(fā)模型11.2.1RUP過程的背景軟件項目失敗的原因:混亂的需求管理。開發(fā)者之間,以及開發(fā)者和用戶不清晰的交流。沒有發(fā)現(xiàn)需求、設(shè)計和實現(xiàn)中的不一致。架構(gòu)不夠堅固。缺少有效的測試。對項目狀態(tài)的主觀估計。沒有正確地處理項目開發(fā)過程中的風(fēng)險。沒有對項目變更進(jìn)行控制。11.2.1RUP過程的背景RationalUnifiedProcess(RUP,統(tǒng)一開發(fā)過程)是一套面向?qū)ο蟮能浖こ踢^程。RUP說明了如何有效地使用成熟技術(shù)開發(fā)軟件。11.2.2傳統(tǒng)的軟件開發(fā)模型1.瀑布模型(WaterfallModel)2.螺旋模型1.瀑布模型(WaterfallModel)瀑布模型是一種線性模型。瀑布模型將軟件生存周期劃分為6個階段:需求分析設(shè)計實現(xiàn)測試運行維護(hù)瀑布模型最為突出的缺點是缺乏靈活性,不能處理好需求變化1.瀑布模型(WaterfallModel)

需求分析設(shè)計實現(xiàn)測試部署運行維護(hù)2.螺旋模型螺旋模型使用原型作為降低風(fēng)險的機(jī)制。螺旋模型使開發(fā)者在產(chǎn)品演化的任意階段均可使用原型方法。螺旋模型體現(xiàn)了RUP中迭代的思想。一個螺旋的周期一般包括四個階段:確定目標(biāo),選擇方案,選定完成目標(biāo)的策略。風(fēng)險分析。啟動開發(fā)階段。評審前一階段的工作,計劃下一階段工作。2.螺旋模型

11.3RUP的二維開發(fā)模型傳統(tǒng)的瀑布開發(fā)模型是一個一維的模型,開發(fā)過程被劃分為多個連續(xù)的階段。在RUP中,軟件開發(fā)生命周期根據(jù)時間和RUP的核心工作流劃分為二維空間。橫軸表示項目的時間維,縱軸以內(nèi)容來組織的邏輯活動。11.3RUP的二維開發(fā)模型11.3RUP的二維開發(fā)模型11.3.1RUP的核心工作流11.3.2RUP的四個階段11.3.3RUP的迭代開發(fā)模型11.3.1RUP的核心工作流RUP中有9個核心工作流,分為6個核心過程工作流(CoreProcessWorkflows)和3個核心支持工作流(CoreSupportingWorkflows)。9個核心工作流在項目中輪流被使用,在每一次迭代中以不同的重點和強(qiáng)度重復(fù)。11.3.1RUP的核心工作流1.業(yè)務(wù)建模(BusinessModeling)2.需求分析(Requirements)3.分析與設(shè)計(AnalysisandDesign)4.實現(xiàn)(Implementation)5.測試(Test)6.部署(Deployment)7.設(shè)置和變更管理(ConfigurationandChange Management)8.項目管理(ProjectManagement)9.環(huán)境(Environment)1.業(yè)務(wù)建模(BusinessModeling)理解待開發(fā)系統(tǒng)所在機(jī)構(gòu)的組織結(jié)構(gòu)及其業(yè)務(wù)運作,確保所有參與人員對開發(fā)系統(tǒng)有共同的認(rèn)識。2.需求分析(Requirements)定義系統(tǒng)功能及用戶界面,明確客戶需要的系統(tǒng)的功能,開發(fā)人員理解系統(tǒng)的需求,為項目預(yù)算及計劃提供基礎(chǔ)。3.分析與設(shè)計(AnalysisandDesign)把需求分析的結(jié)果轉(zhuǎn)化為分析和設(shè)計模型,確定實現(xiàn)規(guī)格。4.實現(xiàn)(Implementation)定義代碼的組織結(jié)構(gòu)、實現(xiàn)代碼、單元測試、系統(tǒng)集成。5.測試(Test)驗證各自子系統(tǒng)的交互與集成;發(fā)現(xiàn)缺陷并作出修改建議。6.部署(Deployment)打包、分發(fā)、安裝軟件,升級舊系統(tǒng);培訓(xùn)用戶及銷售人員,并提供技術(shù)支持。制定并實施beta測試。7.設(shè)置和變更管理(ConfigurationandChangeManagement)跟蹤并維護(hù)系統(tǒng)所有產(chǎn)品的完整性和一致性。8.項目管理(ProjectManagement)為軟件開發(fā)項目提供計劃、執(zhí)行和監(jiān)控可行性的指導(dǎo);為風(fēng)險管理提供框架。9.環(huán)境(Environment)為軟件開發(fā)機(jī)構(gòu)提供過程管理和工具的支持。11.3.2RUP的四個階段RUP包括以下幾個階段:起始階段細(xì)化階段構(gòu)建階段交付階段每個階段結(jié)束于一個主要的里程碑(MajorMilestones),每個階段本質(zhì)上是兩個里程碑之間的時間跨度。11.3.2RUP的四個階段1.初始階段2.細(xì)化階段3.構(gòu)建階段4.交付階段1.初始階段初始階段所要進(jìn)行如下的活動:明確說明項目規(guī)模,了解環(huán)境以及最重要的需求和約束,以便可以得出最終產(chǎn)品的驗收標(biāo)準(zhǔn)。計劃和準(zhǔn)備業(yè)務(wù)理由。評估風(fēng)險管理、人員配備、項目計劃以及成本/進(jìn)度/收益折衷的備選方案。綜合考慮構(gòu)架,評估構(gòu)架。準(zhǔn)備項目的環(huán)境,評估項目和組織,選擇工具,決定流程中要改進(jìn)的部分。1.初始階段初始階段的評估標(biāo)準(zhǔn)如下:出資人同意系統(tǒng)范圍定義以及費用和進(jìn)度評估。主要用例是否符合需求。費用和進(jìn)度評估、優(yōu)先級、風(fēng)險以及開發(fā)過程的可信性。任何已開發(fā)的原型的深度和廣度。實際開銷與計劃開銷。初始階段的焦點是需求和分析工作流。2.細(xì)化階段細(xì)化階段所要進(jìn)行如下的活動:設(shè)計確定系統(tǒng)的體系結(jié)構(gòu),制定工作計劃和資源要求細(xì)化階段的焦點是需求、分析和設(shè)計工作流。2.細(xì)化階段細(xì)化階段的評估標(biāo)準(zhǔn)如下:標(biāo)明用例模型中的用戶和參與者,并且建立用例的描述文檔。用例模型需完成80%。創(chuàng)建軟件系統(tǒng)開發(fā)過程中的軟件結(jié)構(gòu)的描述文檔。創(chuàng)建可執(zhí)行的系統(tǒng)原型。細(xì)化業(yè)務(wù)案例和風(fēng)險列表。創(chuàng)建整個項目的開發(fā)計劃。3.構(gòu)造階段構(gòu)建階段的主要目標(biāo)如下:優(yōu)化資源、避免不必要的報廢和返工,使開發(fā)成本降到最低。盡快達(dá)到質(zhì)量的要求??焖偻瓿捎杏玫陌姹荆鏏lpha版、Beta版和其他測試發(fā)布版。完成所有功能的分析、開發(fā)和測試。迭代式、遞增地開發(fā)隨時可以發(fā)布的產(chǎn)品。確定準(zhǔn)備好軟件系統(tǒng)的外部環(huán)境。構(gòu)建階段的焦點是實現(xiàn)工作流。4.交付階段交付階段的主要目標(biāo)如下:進(jìn)行Beta版使用測試,按用戶的要求驗證新系統(tǒng)。替換舊的系統(tǒng),順利的升級。對用戶和維護(hù)人員進(jìn)行培訓(xùn)。開始調(diào)整活動,例如調(diào)試、性能或可用性的增強(qiáng)。與用戶達(dá)成共識,配置基線與評估標(biāo)準(zhǔn)一致。交付階段的焦點是實現(xiàn)和測試工作流。11.3.3RUP的迭代開發(fā)模型RUP中的每個階段可以進(jìn)一步分解為迭代。11.3.3RUP的迭代開發(fā)模型與傳統(tǒng)的瀑布模型相比較,迭代過程的優(yōu)點:降低了在一個增量上的開支風(fēng)險。降低了產(chǎn)品無法按照既定進(jìn)度進(jìn)入市場的風(fēng)險。加快了整個開發(fā)工作的進(jìn)度。11.3.3RUP的迭代開發(fā)模型與傳統(tǒng)的瀑布模型相比較,迭代過程的優(yōu)點:項目的開發(fā)不是瀑布式的開發(fā),而多考慮到需求的變更、設(shè)計的優(yōu)化等情況,進(jìn)行多次的迭代開發(fā),每一次迭代完成,都能夠提交一個可運行的產(chǎn)品,并且在原有的基礎(chǔ)上得到提高。里程碑里程碑是開發(fā)過程的檢查和同步點,而不是靜態(tài)的點使用里程碑,使得團(tuán)隊的成員能夠共同協(xié)作和同步工作里程碑包含兩種形式:主要里程碑內(nèi)部里程碑每個里程碑結(jié)束時,都應(yīng)當(dāng)同客戶取得一致里程碑結(jié)束的標(biāo)志是可以提交相應(yīng)的成果項目的整個過程建議分成三個主要里程碑:項目前期(PreProject)項目開發(fā)(Development)項目提交(Deliver)對于每個主要的里程碑,項目可以根據(jù)情況定義次級里程碑里程碑及迭代開發(fā)milestone1milestone4milestone3milestone2里程碑及迭代開發(fā)TimeFunctionmilestone1milestone4milestone3milestone2milestone1milestone4milestone3milestone2milestone1milestone4milestone3milestone2Version1Version2Version3風(fēng)險管理風(fēng)險:將來可能發(fā)生的問題,這個問題是同項目相關(guān)的,會對項目的開展產(chǎn)生負(fù)面影響。風(fēng)險管理的原則風(fēng)險管理的原則事先預(yù)期,事先處理,而不是等到風(fēng)險發(fā)生的時候再處理找到風(fēng)險的根本再處理,而不只是處理表面的問題設(shè)法降低和轉(zhuǎn)化風(fēng)險,而不是回避使用已知和可控的方法處理風(fēng)險風(fēng)險管理示例在項目開始時,項目計劃中必須包含風(fēng)險計劃項目進(jìn)行過程中,必須執(zhí)行持續(xù)的風(fēng)險管理活動在以下情況下,必須提供風(fēng)險報告:項目開始時每個星期必須提交一次風(fēng)險報告當(dāng)一個重要的里程碑結(jié)束時當(dāng)項目發(fā)生變動時其他覺得有必要做風(fēng)險分析的時間風(fēng)險報告的內(nèi)容為了使風(fēng)險管理達(dá)到預(yù)期的要求,風(fēng)險報告應(yīng)該包含以下內(nèi)容:最重要的風(fēng)險的內(nèi)容風(fēng)險發(fā)生的可能性風(fēng)險可能產(chǎn)生的影響處理風(fēng)險的手段和計劃風(fēng)險的負(fù)責(zé)人11.4核心工作流介紹11.4.1需求工作流11.4.2分析工作流11.4.3設(shè)計工作流11.4.4實現(xiàn)工作流11.4.5測試工作流11.4.1需求工作流需求捕獲通過對應(yīng)問題的理解和分析,確立問題涉及的信息、功能和系統(tǒng)行為,將用戶需求精確化、完全化。需求的焦點主要在初始和細(xì)化階段,在細(xì)化階段后期,需求捕獲的工作量大幅下降。11.4.1需求工作流11.4.1需求工作流1.制品2.工作人員3.工作流1.制品在需求工作流,主要的UML制品:用例模型(UseCaseModel)參與者(Actor)用例(UseCase)構(gòu)架描述術(shù)語表(Glossary)用戶界面原型2.工作人員參與需求工作流階段的工作人員:系統(tǒng)分析人員(SystemAnalyst)用例描述人員(UseCaseSpecifier)用戶界面設(shè)計人員(UserInterface Designer)構(gòu)架設(shè)計師(Architect)3.工作流需求捕獲的工作流主要包括五個活動:確定參與者和用例區(qū)分用例的優(yōu)先級詳細(xì)描述一個用例構(gòu)造完整用例模型構(gòu)造用戶界面原型11.4.2分析工作流分析的主要工作開始于初始階段的結(jié)尾,和需求一樣是細(xì)化階段的主要焦點。細(xì)化階段的大部分活動是捕獲需求和分析;分析工作與需求捕獲在很大程度上重疊。11.4.2分析工作流11.4.2分析工作流1.制品2.工作人員3.工作流1.制品在分析工作流期間,主要的UML制品:分析模型用例實現(xiàn)(分析)分析類分析包構(gòu)架模型2.工作人員在分析工作流期間,所參與的工作人員:構(gòu)架設(shè)計師用例工程師構(gòu)件工程師3.工作流分析工作流主要包括四個活動:構(gòu)架分析分析用例分析類分析包11.4.3設(shè)計工作流設(shè)計工作流的主要工作是位于細(xì)化階段的中后期部分和構(gòu)造階段的開始部分的主要建?;顒?。系統(tǒng)建模最初的焦點是需求和分析,在分析活動逐步完善后,建模的焦點開始轉(zhuǎn)向設(shè)計。11.4.3設(shè)計工作流11.4.3設(shè)計工作流1.制品2.工作人員3.工作流1.制品在分析工作流期間,主要的UML制品:設(shè)計模型設(shè)計類用例實現(xiàn)-設(shè)計設(shè)計子系統(tǒng)接口配置圖2.工作人員參與設(shè)計工作流的工作人員包括:構(gòu)架設(shè)計師用例工程師構(gòu)件工程師3.工作流設(shè)計工作流中,主要包括四種活動:構(gòu)架設(shè)計設(shè)計一個用例設(shè)計一個類設(shè)計一個子系統(tǒng)11.4.4實現(xiàn)工作流實現(xiàn)(實施)是關(guān)于把設(shè)計模型轉(zhuǎn)換成可執(zhí)行代碼的過程。從系統(tǒng)分析師或系統(tǒng)設(shè)計師的角度看,實現(xiàn)工作流的重點就是完成軟件系統(tǒng)的可執(zhí)行代碼。實現(xiàn)工作流是構(gòu)建階段的焦點。11.4.4實現(xiàn)工作流11.4.4實現(xiàn)工作流1.制品2.工作人員3.工作流1.制品在實現(xiàn)工作流中,主要有六種制品:實現(xiàn)模型組件實現(xiàn)子系統(tǒng)接口構(gòu)架描述(實現(xiàn)模型)集成構(gòu)造計劃2.工作人員參與實現(xiàn)工作流的工作人員:構(gòu)架設(shè)計師構(gòu)件工程師系統(tǒng)集成人員3.工作流在實現(xiàn)工作流中,包括一系列

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論