統一過程RUP是一種以用例驅動、以體系結構為核心、迭代和增量的軟件開發過程,由UML方法和工具支持,廣泛應用于各類面向對象項目。
RUP本身支持可裁剪性,可應付給類領域軟件和不同的項目規模
RUP蘊含了大量優秀的實踐方法,如:迭代式軟件開發、需求管理、基于構件的架構應用、建立可視化的軟件模型、軟件質量驗證、軟件變更控制等。
RUP把整個軟件開發生命周期分為多個循環,每個循環由四個階段組成,每個階段完成確定的任務,結束前有一個里程碑評估本階段的工作。
統一過程模型
工作流程:初始---細化---構件---交付
業務建模:
需求:
分析設計:
實施:
測試:
部署:
配置與變更管理
項目管理
環境:
RUP二維結構
橫軸按時間組織,顯示RUP的動態特征,通過迭代式軟件開發的周期、階段、迭代和里程碑等動態信息表示。
縱軸按內容組織,顯示RUP的靜態特征,通過過程的構件、活動、工作流、產品和角色等靜態概念來描述系統
每個工作流的高度體現隨時間變化工作量的變化,早期的迭代趨向于更多的需求和設計,后期則減少這方面的工作。
RUP靜態結構
6個核心工作流:業務建模、需求、分析設計、實現、測試、部署;
3個核心支持工作流:配置與變更管理、項目管理和環境;
業務建模(Business Modeling):理解待開發系統所在的結構及其商業運作,確保所有參與人員對待開發系統所在的機構有共同的認識,評估待開發系統對所在機構的影響。
需求(Requirements):定義系統功能及用戶界面,使客戶知道系統的功能,使開發人員理解系統的需求,為項目預算及計劃提供基礎。
分析與設計(Analysis & Design):把需求分析的結果轉換為分析與設計模型
實現(Implementation):把設計模型轉換為實現結果,對開發的代碼做單元測試,將不同實現人員開發的模塊即成為可執行系統。
測試(Test):檢查各子系統之間的交互、集成、驗證所有需求是否均被正確實現,對發現的軟件質量上的缺陷進行歸檔,對軟件質量提出改進建議。
部署(Deployment):打包、分發、安裝軟件,升級舊系統,培訓用戶及銷售人員,并提供技術支持。
配置與變更管理(Configuration & Change Management):跟蹤并維護系統開發過程中產生的所有制品的完整性和一致性。
項目管理(Project Management):為軟件開發項目提供計劃、人員分配、執行、監控等方面的指導,為風險管理提供框架。
環境(Environment):為軟件開發機構提供軟件開發環境,即提供過程管理和工具的支持。
RUP的四個階段
初始階段:定義最終產品視圖和業務模型,并確定系統范圍。大體上的構想,業務案例,范圍,和模糊評估。定義系統的業務模型,確定系統的范圍,完成后建立目標里程碑。
細化階段:設計及確定系統的體系結構,指定工作計劃及資源要求。已精化的構想、核心架構的迭代實現、高風險的解決、確定大多數需求和范圍以及進行更為實際的評估。完成系統的體系結構設計,完成系統開發計劃。建立里程碑。
構建階段:構造產品并繼續演進需求、體系結構、計劃直至產品提交。對遺留下來的風險較低和比較簡單的元素進行迭代實現,準備部署。構造產品,并繼續演進需求、體系結構和計劃,直至產品完成。
移交階段:把產品移交給用戶使用。進行系統部署,系統測試,最終移交給用戶。最后建立發布里程碑。
核心概念:
角色(Role):Who的問題。角色描述某個人或一個小組的行為與職責。RUP預先定義了很多角色,如體系結構師(Architect)、設計人員(Designer)、實現人員(Implementer)、測試員(Tester)和配置管理人員(Configuration Manager)
活動(Activity):How的問題:活動是一個有明確目的的獨立工作單元
制品(Artifact):What的問題:制品是活動生成、創建或修改的一段信息
工作流(Workflow):When的問題:工作流描述了一個有意義的連續的活動序列,每個工作流產生一些有價值的產品,并顯示了角色之間的關系。