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

下載本文檔

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

文檔簡(jiǎn)介

第11章

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論