簡介
RUP 是由 IBM Rational 公司提出的一種 面向對象的軟件工程過程模型,以 UML 為建模語言,是一種 以用例為驅動、以架構為中心、迭代式、增量開發的過程模型。
三大特征
特征 | 說明 |
---|---|
以用例為驅動(Use Case Driven) | 需求分析和測試等以用例為核心展開。 |
以架構為中心(Architecture-Centric) | 強調早期構建穩定的軟件架構,指導后續開發。 |
迭代增量開發(Iterative and Incremental) | 通過多次迭代逐步完善系統,每次迭代產生可運行子系統。 |
四個階段(生命周期階段)
RUP 將軟件生命周期分為以下 四個階段(Phases):
階段 | 目標 | 主要成果 |
---|---|---|
初始階段(Inception) | 明確項目范圍、商業可行性,初步確定系統需求。 | 業務模型、初始用例模型、初始風險列表、項目計劃、商業案例(Business Case) |
細化階段(Elaboration) | 明確系統需求,建立基礎架構,降低風險。 | 需求模型、架構基線、風險緩解方案、可執行架構原型 |
構建階段(Construction) | 系統功能構建與實現,集成測試。 | 可運行的系統版本、開發說明文檔、測試報告 |
移交階段(Transition) | 系統部署到用戶環境,用戶培訓和支持。 | 最終軟件、用戶文 |
六個核心工作流(工程流程)
RUP 的工作流(workflow)是開發活動的邏輯分組:
工程工作流 | 說明 |
---|---|
業務建模(Business Modeling) | 建立組織業務模型,識別業務流程與用例。 |
需求(Requirements) | 收集與分析用戶需求,生成用例模型。 |
分析與設計(Analysis & Design) | 建立系統的邏輯視圖和體系結構。 |
實現(Implementation) | 編碼和構建組件,集成到系統中。 |
測試(Test) | 驗證系統的功能和質量。 |
部署(Deployment) | 安裝、配置系統,進行用戶培訓和技術支持。 |
支持性工作流
除了工程工作流,RUP 還定義了 三種支持性工作流:
支持性工作流 | 說明 |
---|---|
項目管理(Project Management) | 計劃、監督和控制項目進度與風險。 |
配置與變更管理(Configuration & Change Management) | 控制版本、管理變更。 |
環境(Environment) | 提供工具、過程定制、培訓支持。 |
迭代特征
每個階段可包含一個或多個迭代,每次迭代都交付一個 可運行的子系統或原型,迭代包含:
- 需求分析
- 設計建模
- 實現編碼
- 測試驗證
迭代的好處:
- 降低風險
- 提前發現問題
- 提高靈活性
- 提升客戶滿意度
與其他模型的對比
比較項 | RUP | 瀑布模型 | 螺旋模型 |
---|---|---|---|
開發方式 | 迭代增量 | 順序線性 | 迭代風險驅動 |
風險管理 | 強 | 弱 | 強 |
架構關注 | 強 | 一般 | 一般 |
適用項目 | 中大型、復雜 | 小型、需求穩定 | 高風險項目 |
考點總結
考點 | 說明 |
---|---|
RUP 的 4 個階段及目標 | 初始、精化、構建、移交 |
RUP 的 9 大核心工作流 | 業務建模、需求、設計、實現、測試、部署、管理、配置、環境 |
RUP 的特性 | 用例驅動、架構中心、迭代增量 |
工件與角色的概念 | 工件是產出物,角色執行任務 |
RUP 與其他過程模型對比 | 特別是與螺旋模型和瀑布模型的比較 |