1. 程式人生 > >對RUP和XP的簡要認識

對RUP和XP的簡要認識

重要 工作 流程 都沒有 醫療 工程 通過 業務邏輯 核心

因現代軟件工程對軟件開發團隊時間、質量等的高要求,產生了一些新的軟件開發方法和開發思想。其中RUPXP在如今眾多軟件過程中比較流行,且使用越來越廣泛。

一、對RUP的認識

1.RUP

即統一軟件開發過程(Rational Unified Process),是一個面向對象軟件工程且基於絡的通用業務流程。因它與當前流行的JAVA, J2EE技術和面向對象的設計思想(OOAD)緊密的結合在一起,所以在大型的信息技術項目中得到了廣泛的應用。最大的特點就是提供了一套完整的軟件開發過程框架,任何組織或個人都可以根據需要來對該過程進行裁剪,並根據自身需要進行調整後使其成為個性化的過程。

2.RUP的開發生命周期

由四個順序的階段和九個核心的工作流組成,如下圖。圖片體現了RUP的整個體系架構,橫軸通過時間組織,體現開發過程的動態結構。生命周期經歷了4個階段:先啟階段、精華階段、構建階段、產品化階段。一次典型的叠代都需要經過九個核心工作流程:業務建模、需求、分析設計、實施、測試、部署、配置與變更管理、項目管理、環境。這些流程間相互影響和制約,但是根據實際的項目不同,對應的流程也會相應的刪減或擴充。

技術分享

RUP 生命周期的階段是:

·先啟(Inception): 在項目進行之前必須確定重要業務和需求風險

·精化(Elaboration):為系統體系架構設定基礎。該體系架構進化了對最重要的需求(哪些需求對系統的體系架構有很大的影響)的考慮和對風險的評估。

·構建(Construction):澄清剩余的需求並完成基於基本體系架構的系統的開發。在此階段要強調對資源的管理和對操作的控制,用來優化成本、進度和質量。

·產品化(Transition): 重點確保軟件對最終用戶是可用的。產品化階段可以跨越若幹次叠代,該階段包括為發布而進行的產品測試,以及根據用戶反饋做出較小調整。在生命周期的這個階段,用戶的反饋應主要用於對產品進行微調、配置、安裝和解決可用性問題,在項目生命周期的更早期就應該解決所有的主要結構問題。

3.RUP的三大特點:

(1) 用例(Use Case)驅動的

Use Case RUP方法論中一個非常重要的概念。簡單地說,一個

Use Case就是系統的一個功能。例如在一個基於電子商務的醫療系統中,病人可以坐在家裏通過網上瀏覽器與醫生約定看病的時間(Make appointment),這樣,“Make appointment”就是系統的一個Use Case。在系統分析和系統設計中,Use Case被用來將一個復雜的龐大系統分割、定義成一個個小的單元,這個小的單元就是Use Case,然後以每個小的單元為對象進行開發。在商務需求分析,系統分布和系統設計過程,開發實現過程和測試過程等中,都以Use Case進行操作。

(2) 以架構為中心

(3) 叠代和增量開發

增量叠代是RUP統一過程常采用的軟件開發生命周期模型增量和叠代有區別但兩者又經常一起使用所以這裏要先解釋下增量和叠代的概念假設要開發ABCD四個大的業務功能每個功能都需要開發兩周的時間則對於增量方法而言可以將四個功能分為兩次增量來完成,第一個增量完成AB功能第二次增量完成CD功能而對於叠代開發來將則是分兩次叠代來開發第一次叠代完成ABCD四個基本業務功能但不含復雜的業務邏輯而第二個功能再逐漸細化補充完整相關的業務邏輯在第一個月過去後采用增量開始時候AB全部開發完成而CD還一點都沒有動而采用叠代開發的時候ABCD四個的基礎功能都已經完成。

由於軟件開發中人員和環境的復雜性,軟件開發整個生命周 期中每一個階段都有可能留下隱患和錯誤,如果在軟件開發完畢後測試階段發現重大問題,返工將造成巨大損失。所以為了及早發現隱患和錯誤,采取叠代模型。每次叠代都包含了需求設計和開發測試等各個過程而且每次叠代完成後都是一個可以交付的原型叠代不是並行在每次叠代過程中仍然要遵循需求->設計->開發的瀑布過程

對RUP和XP的簡要認識