RUP(Rational Unified Process,統一軟體開發過程):是一個物件導向且基於網路的程式開發方法論。
RUP好像一個線上的指導者,它可以為所有方面和層次的程式開發提供指導方針,模版以及案例支援。
一、軟體工程流程定義誰在做什麼、怎麼做以及什麼時候做,RUP用四個主要的建模元素表達:
·角色(Workers)——“誰”
·活動(Activities)——“怎麼做”
·產品(工件)(Artifacts)——“做什麼”
·工作流程(Workflows)——“什麼時候做”
1.角色:它定義的是所執行的一組活動和所擁有的一組文檔與模型。是抽象的職責定義,描述某個人或者一個小組的行為與職責。角色並不代表個人,而是說明個人在業務中應該如何表現以及他們應該承擔的責任。
RUP預先定義了很多角色:
分析員角色集: 分析員角色集用於組織主要從事需求萃取和研究的各種角色
開發角色集: 開發人員角色集用於組織主要從事軟體設計與開發的各種角色。測試員角色集: 測試員角色集用於組織主要從事軟體測試的各種角色。
經理角色集: 經理角色集用於組織主要從事軟體工程流程的管理與配置的各種角色。
2.活動:是一個有明確目的的獨立工作單元。即承擔這一角色的人必須完成的一組工作。
3.產品(工件):產品是一個過程所生產、修改或使用的一段資訊。產品是項目切實的成果,是項目為生產出最終的產品而製造或使用的東西。產品可以具有不同的形式,如
·模型,如用例模型或設計模型。
·模型元素,如類,用例或子系統。
·文檔,如商業用例或軟體體繫結構文檔。
·原始碼。
·可執行程式
4.工作流程:僅僅把所有的角色、活動和產品都列舉出來還不能夠組成過程,另外還需要一種有效方式,把產生有價值結果的活動序列描述出來,並顯示角色之間的互動。工作流程是一個產生具有可觀察的結果活動序列。UML中,可以用一個順序圖表、共同作業圖表或活動圖表來表示工作流程。
二、RUP被劃分為六個核心“工程”工作流程:商業建模工作流程、需求工作流程、分析和設計工作流程、實現工作流程、測試工作流程、展開工作流程
RUP把一個開發週期劃分為四個連續的階段:
1.初始階段(Inception phase):為系統建立商業用例,確定項目的邊界。初啟階段結束時的裡程碑是生命週期目標;
2.精化階段(Elaboration phase):分析問題領域,建立一個健全的體繫結構基礎,編製專案規劃,淘汰項目中風險最高的元素。精化階段結束時的裡程碑是生命週期架構;
3.構造階段(Construction phase):將開發所有剩餘的構件和應用組件,對它們進行測試,並整合到產品中。——初始運行能力裡程碑。構建階段結束時的裡程碑是最初運作能力;
4.移交階段(Transition phase):把軟體產品交付給使用者群。移交階段的裡程碑是產品發布。