Rational統一過程(Rational Unified Process,RUP)是由Rational軟件公司推出的一種完整而且完美的軟件過程。
RUP總結了經過多年商業化驗證的六條最有效軟件開發經驗,這些經驗被稱為“最佳實踐”。
1,最佳實踐
(1)迭代式開發
通常,采用線性順序的開發方法不可能開發出當今客戶的需要的大型復雜軟件系統。事實上,在整個軟件開發過程中客戶的需求會經常發生變化,因此需要一種能夠通過一系列細化,若干個漸進的反復過程而得出有效的解決方案的迭代方法。
迭代式開發允許每次迭代過程中需求都可以有變化,這種開發方法通過一系列細化來加深對問題的理解,因此能更容易地容納需求的變更。
也可以把軟件開發過程看著一個風險管理過程,迭代式開發通過采用可驗證的方法來減少風險。采用迭代式開發方法,每個迭代過程以完成可執行版本結束,這不僅使最終用戶可以不斷地介入和提出反饋意見,而且開發人員有因隨時有一個可交付的版本而提高士氣。
(2)管理需求
在開發軟件過程中,客戶需求將不斷發生變化,因此,確定系統的需求是一個連續的過程。RUP描述了如何提取,組織系統的功能性需求和約束條件并把它們文檔化。
(3)使用基于構件的體系結構
所謂構件就是功能清晰的模塊或子系統。系統可以由已經存在的,由第三方開發商提供的構件組成,因此構件使軟件重用成為可能,RUP提供了使用現有的或新開發的構件定義體系結構的系統化方法,從而有助于降低軟件開發的復雜性,提高軟件的重用率。
(4)可視化建模
為了更好地理解問題,人們常常采用建立問題模型的方法。所謂模型,就是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。由于應用領域不同,模型可以有文字、圖片或數學表達式等多種形式,一般來說,可視化的圖形形式更容易理解。
(5)驗證軟件質量
某些軟件不受歡迎的一個重要原因,是其質量低下。在Rational統一過程中,軟件質量評估不再是事后型的或由單獨小組進行的孤立活動,而是內建在貫穿于整個開發過程的、由全體成員參與的所有活動中。
(6)控制軟件變更
在變更是不可避免的環境中,必須具有管理變更的能力,才能確保每個修改都是可接受的而且能被追蹤的。RUP描述了如何控制、跟蹤和監控修改,以確保迭代開發的成功。
2,RUP軟件開發生命周期
RUP軟件開發生命周期是一個二維的生命周期模型。
(1)核心工作流
·? 業務建模:深入了解使用目標系統的機構及其商業運作,評估目標系統對使用它的機構的影響。
·? 需求:捕獲客戶的需求,并且使開發人員和用戶達成對需求描述的共識。
·? 分析與設計:把需求分析的結果轉化成分析模型與設計模型。
·? 實現:把設計模型轉換成實現結果(形式化地定義代碼結構;用構件實現類和對象;對開發出的構件進行單元測試;把不同實現人員開發出的模塊集成為可執行的系統)。
·? 測試:檢查各個子系統的交互與集成,驗證所有需求是否被正確地實現了,識別,確認缺陷并確保在軟件部署之前消除缺陷。
·? 部署:成功地生成目標系統的可運行版本,并把軟件移交給最終用戶。
·? 配置與變更管理:跟蹤并維護在軟件開發過程中產生的所有制品的完整性和一致性。
·? 項目管理:提供項目管理框架,為軟件開發項目制定計劃、人員配備、執行和監控等方面的實用準則,并為風險管理提供框架。
·? 環境:向軟件開發機構提供軟件開發環境,包括過程管理和工具支持。
(2)工作階段
RUP把軟件生命周期劃分為四個階段:
·? 初始階段:建立業務模型,定義最終產品視圖,并且確定項目的范圍。
·? 精化階段:設計并確定系統的體系結構,制定項目計劃,確定資源需求。
·? 構件階段:開發出所有構件和應用程序,把它們集成為客戶需要的產品,并且詳盡地測試所有功能。
·? 移交階段:把開發出的產品提交給用戶使用。
(3)RUP迭代式開發
迭代計劃的特點:
- 一個迭代是總體項目計劃的一個階段
- 需要明確的交付目標(或可以運行的系統)
- 多個比較明確的角色的參與
- 可以串行也可以并行
- 體現了 RUP 架構驅動、關注風險的特點
- 實現快速交付,縮短大項目的交付周期
- 提高客戶參與度和項目的可視化
迭代計劃的開發考慮的因素:
- 總體項目計劃
- 項目規模大小、周期
- 需求明確程度和技術風險
- 團隊成熟度和規模
- 項目所處的階段,在同一個項目的不同的階段可以采用不同的迭代計劃方法
開發特征
1.在進行大規模的投資之前就解決了關鍵的風險分析。
2.使得早期的用戶反饋在初始迭代中就能出現。
3.對各個目標里程碑提供了短期的焦點(階段性的中心)。
4.對過程的測量是通過對實現的評定(而不僅僅是文檔)來進行的。
5.可以對局部的實現進行部署。
?