軟件工程過程RUP研究.doc_第1頁
軟件工程過程RUP研究.doc_第2頁
軟件工程過程RUP研究.doc_第3頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件工程過程RUP研究專業(yè):信息與計(jì)算科學(xué)班級(jí):0XX1班學(xué)號(hào):0 08060115姓名:孫XX 201X年11月4日 摘要:隨著軟件開發(fā)過程的日趨復(fù)雜,軟件開發(fā)過程難以得到有效的控制,軟件產(chǎn)品的質(zhì)量難以得到保證。而軟件工程過程RUP采用面向?qū)ο蟮姆椒?,在需求管理、分析設(shè)計(jì)、配置及更改管理等方面為開發(fā)人員提供準(zhǔn)則和相應(yīng)的管理工具。在實(shí)際的軟件開發(fā)過程應(yīng)用中 RUP可以提高軟件開發(fā)組織的、生產(chǎn)效率,提高軟件的質(zhì)量,降低軟件開發(fā)成本,減少軟件開發(fā)風(fēng)險(xiǎn)。同時(shí)RUP也吸收了眾多開發(fā)模型的優(yōu)點(diǎn),具有很好的可操作性和實(shí)用性。關(guān)鍵詞:軟件過程RUP迭代 核心工作流引言:RUP(Rational Unified Process,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)是一個(gè)面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開發(fā)方法論。根據(jù)Rational(Rational Rose和統(tǒng)一建模語言的開發(fā)者)的說法,好像一個(gè)在線的指導(dǎo)者,它可以為所有方面和層次的程序開發(fā)提供指導(dǎo)方針,模版以及事例支持。 RUP和類似的產(chǎn)品-例如面向?qū)ο蟮能浖^程(OOSP),以及OPEN Process都是理解性的軟件工程工具-把開發(fā)中面向過程的方面(例如定義的階段,技術(shù)和實(shí)踐)和其他開發(fā)的組件(例如文檔,模型,手冊(cè)以及代碼等等)整合在一個(gè)統(tǒng)一的框架內(nèi)。根據(jù)Rational(Rational Rose和統(tǒng)一建模語言的開發(fā)者)的說法,好像一個(gè)在線的指導(dǎo)者,它可以為所有方面和層次的程序開發(fā)提供指導(dǎo)方針,模版以及事例支持。 RUP和類似的產(chǎn)品-例如面向?qū)ο蟮能浖^程(OOSP),以及OPEN Process都是理解性的軟件工程工具-把開發(fā)中面向過程的方面(例如定義的階段,技術(shù)和實(shí)踐)和其他開發(fā)的組件(例如文檔,模型,手冊(cè)以及代碼等等)整合在一個(gè)統(tǒng)一的框架內(nèi)。 一、統(tǒng)一軟件開發(fā)過程RUP的二維開發(fā)模型RUP軟件開發(fā)生命周期是一個(gè)二維的軟件開發(fā)模型。橫軸通過時(shí)間組織,是過程展開的生命周期特征,體現(xiàn)開發(fā)過程的動(dòng)態(tài)結(jié)構(gòu),用來描述它的術(shù)語主要包括周期(Cycle)、階段(Phase)、迭代(Iteration)和里程碑(Milestone);縱軸以內(nèi)容來組織為自然的邏輯活動(dòng),體現(xiàn)開發(fā)過程的靜態(tài)結(jié)構(gòu),用來描述它的術(shù)語主要包括活動(dòng)(Activity)、產(chǎn)物(Artifact)、工作者(Worker)和工作流(Workflow)。如圖1: 二、統(tǒng)一軟件開發(fā)過程RUP核心概念RUP中定義了一些核心概念,如下圖: RUP核心概念角色:描述某個(gè)人或者一個(gè)小組的行為與職責(zé)。RUP預(yù)先定義了很多角色。 活動(dòng):是一個(gè)有明確目的的獨(dú)立工作單元。 工件:是活動(dòng)生成、創(chuàng)建或修改的一段信息。三、統(tǒng)一軟件開發(fā)過程RUP裁剪RUP是一個(gè)通用的過程模板,包含了很多開發(fā)指南、制品、開發(fā)過程所涉及到的角色說明,由于它非常龐大所以對(duì)具體的開發(fā)機(jī)構(gòu)和項(xiàng)目,用RUP時(shí)還要做裁剪,也就是要對(duì)RUP進(jìn)行配置。RUP就像一個(gè)元過程,通過對(duì)RUP進(jìn)行裁剪可以得到很多不同的開發(fā)過程,這些軟件開發(fā)過程可以看作RUP的具體實(shí)例。RUP裁剪可以分為以下幾步: 1) 確定本項(xiàng)目需要哪些工作流。RUP的9個(gè)核心工作流并不總是需要的,可以取舍。 2) 確定每個(gè)工作流需要哪些制品。 3) 確定4個(gè)階段之間如何演進(jìn)。確定階段間演進(jìn)要以風(fēng)險(xiǎn)控制為原則,決定每個(gè)階段要那些工作流,每個(gè)工作流執(zhí)行到什么程度,制品有那些,每個(gè)制品完成到什么程度。 4) 確定每個(gè)階段內(nèi)的迭代計(jì)劃。規(guī)劃RUP的4個(gè)階段中每次迭代開發(fā)的內(nèi)容。 5) 規(guī)劃工作流內(nèi)部結(jié)構(gòu)。工作流涉及角色、活動(dòng)及制品,他的復(fù)雜程度與項(xiàng)目規(guī)模即角色多少有關(guān)。最后規(guī)劃工作流的內(nèi)部結(jié)構(gòu),通常用活動(dòng)圖的形式給出。四、統(tǒng)一軟件開發(fā)過程RUP的核心工作流RUP中有9個(gè)核心工作流,分為6個(gè)核心過程工作流(Core Process Workflows)和3個(gè)核心支持工作流(Core Supporting Workflows)。盡管6個(gè)核心過程工作流可能使人想起傳統(tǒng)瀑布模型中的幾個(gè)階段,但應(yīng)注意迭代過程中的階段是完全不同的,這些工作流在整個(gè)生命周期中一次又一次被訪問。9個(gè)核心工作流在項(xiàng)目中輪流被使用,在每一次迭代中以不同的重點(diǎn)和強(qiáng)度重復(fù)。 1 商業(yè)建模(Business Modeling)商業(yè)建模工作流描述了如何為新的目標(biāo)組織開發(fā)一個(gè)構(gòu)想,并基于這個(gè)構(gòu)想在商業(yè)用例模型和商業(yè)對(duì)象模型中定義組織的過程,角色和責(zé)任。 2 需求(Requirements)需求工作流的目標(biāo)是描述系統(tǒng)應(yīng)該做什么,并使開發(fā)人員和用戶就這一描述達(dá)成共識(shí)。為了達(dá)到該目標(biāo),要對(duì)需要的功能和約束進(jìn)行提取、組織、文檔化;最重要的是理解系統(tǒng)所解決問題的定義和范圍。 3 分析和設(shè)計(jì)(Analysis & Design)分析和設(shè)計(jì)工作流將需求轉(zhuǎn)化成未來系統(tǒng)的設(shè)計(jì),為系統(tǒng)開發(fā)一個(gè)健壯的結(jié)構(gòu)并調(diào)整設(shè)計(jì)使其與實(shí)現(xiàn)環(huán)境相匹配,優(yōu)化其性能。分析設(shè)計(jì)的結(jié)果是一個(gè)設(shè)計(jì)模型和一個(gè)可選的分析模型。設(shè)計(jì)模型是源代碼的抽象,由設(shè)計(jì)類和一些描述組成。設(shè)計(jì)類被組織成具有良好接口的設(shè)計(jì)包(Package)和設(shè)計(jì)子系統(tǒng)(Subsystem),而描述則體現(xiàn)了類的對(duì)象如何協(xié)同工作實(shí)現(xiàn)用例的功能。 設(shè)計(jì)活動(dòng)以體系結(jié)構(gòu)設(shè)計(jì)為中心,體系結(jié)構(gòu)由若干結(jié)構(gòu)視圖來表達(dá),結(jié)構(gòu)視圖是整個(gè)設(shè)計(jì)的抽象和簡化,該視圖中省略了一些細(xì)節(jié),使重要的特點(diǎn)體現(xiàn)得更加清晰。體系結(jié)構(gòu)不僅僅是良好設(shè)計(jì)模型的承載媒介,而且在系統(tǒng)的開發(fā)中能提高被創(chuàng)建模型的質(zhì)量。 4 實(shí)現(xiàn)(Implementation)實(shí)現(xiàn)工作流的目的包括以層次化的子系統(tǒng)形式定義代碼的組織結(jié)構(gòu);以組件的形式(源文件、二進(jìn)制文件、可執(zhí)行文件)實(shí)現(xiàn)類和對(duì)象;將開發(fā)出的組件作為單元進(jìn)行測(cè)試以及集成由單個(gè)開發(fā)者(或小組)所產(chǎn)生的結(jié)果,使其成為可執(zhí)行的系統(tǒng)。 5測(cè)試(Test)測(cè)試工作流要驗(yàn)證對(duì)象間的交互作用,驗(yàn)證軟件中所有組件的正確集成,檢驗(yàn)所有的需求已被正確的實(shí)現(xiàn), 識(shí)別并確認(rèn)缺陷在軟件部署之前被提出并處理。RUP提出了迭代的方法,意味著在整個(gè)項(xiàng)目中進(jìn)行測(cè)試,從而盡可能早地發(fā)現(xiàn)缺陷,從根本上降低了修改缺陷的成本。測(cè)試類似于三維模型,分別從可靠性、功能性和系統(tǒng)性能來進(jìn)行。 6部署(Deployment)部署工作流的目的是成功的生成版本并將軟件分發(fā)給最終用戶。部署工作流描述了那些與確保軟件產(chǎn)品對(duì)最終用戶具有可用性相關(guān)的活動(dòng),包括:軟件打包、生成軟件本身以外的產(chǎn)品、安裝軟件、為用戶提供幫助。在有些情況下,還可能包括計(jì)劃和進(jìn)行beta測(cè)試版、移植現(xiàn)有的軟件和數(shù)據(jù)以及正式驗(yàn)收。 7配置和變更管理配置和變更管理工作流描繪了如何在多個(gè)成員組成的項(xiàng)目中控制大量的產(chǎn)物。配置和變更管理工作流提供了準(zhǔn)則來管理演化系統(tǒng)中的多個(gè)變體,跟蹤軟件創(chuàng)建過程中的版本。工作流描述了如何管理并行開發(fā)、分布式開發(fā)、如何自動(dòng)化創(chuàng)建工程。同時(shí)也闡述了對(duì)產(chǎn)品修改原因、時(shí)間、人員保持審計(jì)記錄。 8項(xiàng)目管理(Project Management)軟件項(xiàng)目管理平衡各種可能產(chǎn)生沖突的目標(biāo),管理風(fēng)險(xiǎn),克服各種約束并成功交付使用戶滿意的產(chǎn)品。其目標(biāo)包括:為項(xiàng)目的管理提供框架,為計(jì)劃、人員配備、執(zhí)行和監(jiān)控項(xiàng)目提供實(shí)用的準(zhǔn)則,為管理風(fēng)險(xiǎn)提供框架等。 9.環(huán)境(Environment)環(huán)境工作流的目的是向軟件開發(fā)組織提供軟件開發(fā)環(huán)境,包括過程和工具。環(huán)境工作流集中于配置項(xiàng)目過程中所需要的活動(dòng),同樣也支持開發(fā)項(xiàng)目規(guī)范的活動(dòng),提供了逐步的指導(dǎo)手冊(cè)并介紹了如何在組織中實(shí)現(xiàn)過程。 五、RUP的迭代開發(fā)模式RUP中的每個(gè)階段可以進(jìn)一步分解為迭代。一個(gè)迭代是一個(gè)完整的開發(fā)循環(huán),產(chǎn)生一個(gè)可執(zhí)行的產(chǎn)品版本,是最終產(chǎn)品的一個(gè)子集,它增量式地發(fā)展,從一個(gè)迭代過程到另一個(gè)迭代過程到成為最終的系統(tǒng)。 傳統(tǒng)上的項(xiàng)目組織是順序通過每個(gè)工作流,每個(gè)工作流只有一次,也就是我們熟悉的瀑布生命周期(見圖2)。這樣做的結(jié)果是到實(shí)現(xiàn)末期產(chǎn)品完成并開始測(cè)試,在分析、設(shè)計(jì)和實(shí)現(xiàn)階段所遺留的隱藏問題會(huì)大量出現(xiàn),項(xiàng)目可能要停止并開始一個(gè)漫長的錯(cuò)誤修正周期。 一種更靈活,風(fēng)險(xiǎn)更小的方法是多次通過不同的開發(fā)工作流,這樣可以更好的理解需求,構(gòu)造一個(gè)健壯的體系結(jié)構(gòu),并最終交付一系列逐步完成的版本。這叫做一個(gè)迭代生命周期。在工作流中的每一次順序的通過稱為一次迭代。軟件生命周期是迭代的連續(xù),通過它,軟件是增量的開發(fā)。一次迭代包括了生成一個(gè)可執(zhí)行版本的開發(fā)活動(dòng),還有使用這個(gè)版本所必需的其他輔助成分,如版本描述、用戶文檔等。因此一個(gè)開發(fā)迭代在某種意義上是在所有工作流中的一次完整的經(jīng)過,這些工作流至少包括:需求工作流、分析和設(shè)計(jì)工作流、實(shí)現(xiàn)工作流、測(cè)試工作流。其本身就像一個(gè)小型的瀑布項(xiàng)目(見圖3)。RUP的迭代模型圖3 RUP的迭代模型與傳統(tǒng)的瀑布模型相比較,迭代過程具有以下優(yōu)點(diǎn): 降低了在一個(gè)增量上的開支風(fēng)險(xiǎn)。如果開發(fā)人員重復(fù)某個(gè)迭代,那么損失只是這一個(gè)開發(fā)有誤的迭代的花費(fèi)。 降低了產(chǎn)品無法按照既定進(jìn)度進(jìn)入市場的風(fēng)險(xiǎn)。通過在開發(fā)早期就確定風(fēng)險(xiǎn),可以盡早來解決而不至于在開發(fā)后期匆匆忙忙。 加快了整個(gè)開發(fā)工作的進(jìn)度。因?yàn)殚_發(fā)人員清楚問題的焦點(diǎn)所在,他們的工作會(huì)更有效率。 由于用戶的需求并不能在一開始就作出完全的界定,它們通常是在后續(xù)階段中不斷細(xì)化的。因此,迭代過程這種模式使適應(yīng)需求的變化會(huì)更容易些。六、總結(jié)RUP作為以一種完善的軟件工程過程的應(yīng)用:提高了生產(chǎn)力,在迭代的開發(fā)過程、需求管理、基于組件的體系結(jié)構(gòu)、可視化軟件建模、驗(yàn)證軟件質(zhì)量及控制軟件變更等方面,針對(duì)所有關(guān)鍵的開發(fā)活動(dòng)為每個(gè)開發(fā)成員提供了必要的準(zhǔn)則、模板和工具指導(dǎo),并確保全體成員共享相同的知識(shí)基礎(chǔ)。它建立了簡潔和清晰的過程結(jié)構(gòu),為開發(fā)過程提供較大的通用性。但同時(shí)它也存在一些不足: RUP只是一個(gè)開發(fā)過程,并沒有涵蓋軟件過程的全部內(nèi)容,例如它缺少關(guān)于軟件運(yùn)行和支持等方面的內(nèi)容;此外,它沒有支持多項(xiàng)目的開發(fā)結(jié)構(gòu),這在一定程度上降低了在開發(fā)組織內(nèi)大范圍實(shí)現(xiàn)重用的可能性??梢哉fRUP是一個(gè)非常好的開端,但

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論