對RUP和XP的簡要認識
因現代軟件工程對軟件開發團隊時間、質量等的高要求,產生了一些新的軟件開發方法和開發思想。其中RUP和XP在如今眾多軟件過程中比較流行,且使用越來越廣泛。
一、對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方法論中一個非常重要的概念。簡單地說,一個
(2) 以架構為中心
(3) 叠代和增量開發
增量、叠代是RUP統一過程常采用的軟件開發生命周期模型。增量和叠代有區別但兩者又經常一起使用,所以這裏要先解釋下增量和叠代的概念。假設要開發A,B,C,D四個大的業務功能,每個功能都需要開發兩周的時間,則對於增量方法而言可以將四個功能分為兩次增量來完成,第一個增量完成A,B功能,第二次增量完成C,D功能;而對於叠代開發來將則是分兩次叠代來開發,第一次叠代完成A,B,C,D四個基本業務功能但不含復雜的業務邏輯,而第二個功能再逐漸細化補充完整相關的業務邏輯,在第一個月過去後采用增量開始時候A,B全部開發完成而C,D還一點都沒有動,而采用叠代開發的時候A,B,C,D四個的基礎功能都已經完成。
由於軟件開發中人員和環境的復雜性,軟件開發整個生命周 期中每一個階段都有可能留下隱患和錯誤,如果在軟件開發完畢後測試階段發現重大問題,返工將造成巨大損失。所以為了及早發現隱患和錯誤,采取叠代模型。每次叠代都包含了需求,設計和開發,測試等各個過程,而且每次叠代完成後都是一個可以交付的原型,叠代不是並行,在每次叠代過程中仍然要遵循需求->設計->開發的瀑布過程。
對RUP和XP的簡要認識