統一軟件開發過程
UP的幾個核心概念,也可以說是最佳實踐:用例驅動(所有的分析設計測試都是圍繞用例展開),迭代(因此我們會不斷地編寫用例,繪制用例圖,進行分析,設計,實現,部署和測試活動),基于組件(我們看到最后軟件是由組件構成的),以架構為中心(分層架構,完整的對象模型,核心領域模型)
核心工作流
|
模型
|
過程
|
UML圖
|
需求
|
用例模型
|
1 描述企業的業務流程,編寫業務用例,然后以用例圖來表示各個用例之間的關系(include/extend),及使用(use)該用例的參與者(Actor)
|
用例圖
|
2 使用活動圖來表示業務流程
|
活動圖
|
3 根據業務流程,明確系統功能,編寫系統用例,使用用例圖表示各個用例之間的關系,及使用該用例的參與者。
|
用例圖
|
4 使用系統順序圖描述系統事件與系統操作
|
順序圖
|
分析
|
分析模型
描述用例實現的對象模型,它是工件:設計模型的一個抽象。 分析模型包含用例分析的結果、工件:分析類的實例。
用例實現-分析
|
5 對于用例中的一個或多個場景進行分析,然后抽象出一些分析類(包括邊界類,控制類和實體類),分析類將被映射為設計類(分析類代表角色,一個分析類可以由1或多個設計類實現)。分析類也可以稱之為業務模型,或者是領域模型。分析類通??煽缭蕉鄠€用例,其表示領域中的概念。
|
類圖
|
6 分析類與分析類之間的交互,由協作圖來表示。這樣稱之為用例實現。
|
協作圖
|
以上兩者再輔之以文本,可以用來描述用例實現,每個用例對應于一個用例實現。
|
|
設計
|
設計模型
用例實現-設計
|
7 設計類代表系統中完成功能的類。它受到分析類的啟發或者是為了解決一些軟件問題而被設計出來。
|
類圖
|
8 用例實現。根據分析模型中的用例實現,來完成設計模型中的用例實現。
|
順序圖
|
可以使用包圖來表示系統的分層架構。
|
|
10 某些設計對象是由狀態決定的,也就是說根據其狀態的不同,其會表現出不同的行為。狀態圖可以表示一個對象的狀態轉換關系及順序,可以理解為對象狀態流程圖。
|
狀態圖
|
實現
|
實現模型
|
11 將系統抽象為組件,實現模型即由組件構成。這符合UP包含基于組件的思想。(Jacobson是組件開發之父)
|
組件圖
|
實施
|
實施模型
|
12 實施模型根據相互連接的節點定義實際的系統架構。
|
實施圖
|