RUP與UML的關係架構
1.UML的構成框架
UML做爲一種半形式化的規約語言,提供了:工具
(1)支持建模的術語(表)單元測試
①該術語表中的術語跨越了問題空間到目前「運行平臺」之間;測試
②該術語表支持不一樣抽象層的創建;spa
③該術語表支持以面向對象的觀點,創建系統模型。設計
(2)支持建模的表達格式對象
爲了表達概念模型和軟件模型,UML提供了14種圖形化工具,即:blog
用於概念模型和軟件模型的靜態結構方面:類圖、對象圖、構件圖、包圖、部署圖、組合結構圖。生命週期
用於概念模型和軟件模型的動態結構方面:use case圖、活動圖、狀態圖、順序圖、通訊圖、交互概觀圖、定時圖。
總之,UML是一種可視化的建模語言,給出了一些可用於定義軟件開發各抽象層的術語(符號),給出了各層表達模型的工具。
2.UML與RUP的關係
做爲一種軟件開發方法學,爲了支持軟件活動開發,至少應涉及三方面的內容:
(1)支持定義各抽象層,即給出各層的一些術語;
(2)給出各層的模型表達;
(3)給出如何把一個抽象層的模型映射爲另外一個抽象層的模型,即過程指導。
RUP和UML是「統一」的方法學。
RUP的本質和突出特色
1.RUP的本質
RUP(Rational Unified Process)是IBM Rational software提出的軟件工程實施過程,是當前最爲成功的軟件工程方法論之一。它是一種以迭代的、以架構爲中心的、用例驅動的軟件開發方法。RUP是一種具備明肯定義和結構的軟件工程過程,它明確規定了人員的職責、如何完成各項工做以及什麼時候完成各項工做,以及軟件開發生命週期的結構,定義了主要里程碑和決策的關係。RUP比較完整地定義了將用戶需求轉換成產品所須要的活動集,並提供了活動指南以及對產生相關文檔的要求。
2.RUP的突出特色
是一種以用況(Use Case)爲驅動的、以體系結構爲中心的、迭代、增量式開發。
(1)以用況爲驅動
意指在系統的生存週期中,以用況做爲基礎,驅動有關人員對所要創建系統之功能需求進行交流,驅動系統分析、設計、實現和測試等活動,包括制定計劃、分配任務、監控執行和進行測試等,並將它們有機地組合爲一體,使各階段中均可以回溯到用戶的實際需求。
(2)以體系結構爲中心
意指在系統的生存週期中,開發的任何階段(RUP規定了四個階段,即初始階段、細化階段、構造階段和移交階段)都要給出相關模型視角下的有關體系結構的描述,做爲構思、構造、管理和改善系統的主要製品。
起始階段——構建最終產品的設想和業務案例,肯定項目範圍
細化階段——計劃必要的活動資源,詳細肯定功能並設計架構
構造階段——構建產品,直到一個可交付用戶的產品完成
移交階段——產品交付用戶,包括製造、交付、培訓、支持、維護等
(3)迭代、增量式開發
意指經過開發活動的迭代,不斷產生相應的增量。在RUP中,規定了四個開發階段:初始階段、細化階段、構造階段和移交階段。每次迭代都要按照專門的計劃和評估標準,經過一組明確的活動,產生一個內部的或外部的發佈版本。兩次相鄰迭代所獲得的發佈版本之差,稱爲一個增量,所以增量是系統中一個較小的、可管理的部分(一個或幾個構造塊)。
綜上可知,RUP的迭代增量式開發,是演化模型的一個變體,但它規定了「大」的迭代數目——四階段和每次迭代的目標:
RUP的8個核心工做流
1.商業建模:理解待開發系統的組織結構及其商業運做,確保全部參與人員對待開發系統有共同的認識。
2.需求分析:定義系統功能及用戶界面,是客戶瞭解系統的功能、開發人員瞭解系統的需求,爲項目預算及計劃提供基礎。
3.分析與設計:把需求分析的結構轉化爲實現規格。
4.實現:定義代碼的組織結構、實現代碼、單元測試和系統集成。
5.測試:校驗各子系統的交互與集成,確保全部的需求被正確實現並在系統發佈前發現錯誤。
6.發佈:打包、分發、安裝軟件、升級舊系統;培訓用戶及銷售人員,並提供技術支持,制定並實施beta測試。
7.配置管理:跟蹤並維護系統全部Artifacts的完整性和一致性。
8.項目管理:爲計劃、執行和監控軟件開發項目提供可行性指導;爲風險管理提供框架和環境;爲組織提供過程管理和工具支持。