一、UML是什麼?UML有什麼用?
二、UML的歷史
三、UML的上層結構(Superstructure)
四、UML建模工具
五、UML的圖(重點)
1、用例圖(use case diagram)
2、活動圖(activity diagram)
3、靜態結構圖
4、順序圖(Sequence Diagram)
5、互動縱覽圖(Interaction Overview Diagram)
6、通訊圖(Communication Diagram)
7、時間圖(Timing Diagram)
8、狀態機圖(State Machine Diagram)
9、構件圖(Component Diagram)
10、部署圖(Deployment Diagram)
一、UML是什麼?UML有什麼用?
UML是什麼?
Unified Modeling Language(統一建模語言)是物件管理組織(OMG)制定的一個通用的、視覺化的建模語言標準,可以用來視覺化(visualize)、描述(specify)、構造(construct)和文件化(document)軟體密集型系統的各種工件(artifacts,又譯製品)
UML是一種標準的圖形化建模語言,是物件導向分析與設計的標準表示,它:
不是一種視覺化的程式設計語言,而是一種視覺化的建模語言(用於分析設計)
不是工具或知識庫的規格說明,而是一種建模語言規格說明,是一種表示的標準
不是過程,也不是方法,但允許任何一種過程和方法使用它
UML有什麼用?
軟體開發系統規模比較複雜時,需要用圖形抽象地表達複雜概念,增強設計的靈活性、可讀性和可理解性,以便暴露深層次的設計問題,降低開發風險。有必要採用一套通用的圖形語言和符號體系描述組織的業務流程和軟體需求,促進業務人員、開發人員之間一致、高效地交流。
二、UML的歷史
UML發展背景:
P. Coad和E.Yourdon提出OOA和OOD
G. Booch提出物件導向開發方法
Jacobson提出OOSE
Rumbaugh提出的OMT
……
UML的出現結束了這場方法學戰爭
UML發展歷程:
三、UML的上層結構(Superstructure)
至於UML底層的基礎結構(Infrastructure),軟體開發工程師們沒必要了解,只需要懂得上層結構就行了。
四、UML建模工具
比較流行的有Rational Rose ,Microsoft Visio、Enterprise Architect 、Visual UML等。我現在使用的UML建模工具是Enterprise Architect 8.0,推薦使用這款,比較好用。
五、UML的圖(重點)
1、用例圖(use case diagram)
2、活動圖(activity diagram)
活動圖(Activity Diagram) 通過動作來組織,主要用於描述某一方法、機制或用例的內部行為 核心概念 狀態、活動、組合活動、物件 轉移、分支 併發、同步 泳道 推薦使用場合 業務建模、需求、類設計 |
3、靜態結構圖
4、順序圖(Sequence Diagram)
順序圖(Sequence Diagram) 用於顯示物件間的互動活動 關注物件之間訊息傳送的時間順序 核心概念 物件、生命線、啟用、互動、訊息 互動幀(Interaction Frame) 推薦使用場合 用例分析、用例設計 |
“借書”用例實現的順序圖 |
5、互動縱覽圖(Interaction Overview Diagram)
互動縱覽圖(Interaction Overview Diagram) 活動圖和順序圖的混合物 直觀地表達一組相關順序圖之間的流轉邏輯 核心概念 互動幀 分支、轉移 推薦使用場合 用例分析、用例設計 |
互動縱覽圖組織多個順序圖 |
6、通訊圖(Communication Diagram)
通訊圖(Communication Diagram) UML 1.x中稱為協作圖(Collaboration Diagram) 表示一組物件間關係以及互動活動 核心概念 物件、協作角色 協作、互動、訊息 推薦使用場合 用例分析、用例設計 |
“借書”用例實現的通訊圖 |
7、時間圖(Timing Diagram)
時間圖(Timing Diagram) 一種互動圖,展現訊息跨越不同物件或角色的實際時間資訊; 具體描述單個或多個物件狀態變化的時間點以及維持特定狀態的時間段; 順序圖是表示互動的主要手段,可以在順序圖中增加時間約束來表明物件狀態變化的時間點以及維持特定狀態的時間段。 核心概念 時間約束、持續時間約束、生命線 狀態、條件、事件 |
“打電話”順序圖的時間約束 利用時間圖描述時間約束 |
8、狀態機圖(State Machine Diagram)
狀態機圖(State Machine Diagram) UML1.x為狀態圖(Statechart Diagram) 利用狀態和事件描述物件本身的行為 主要概念 狀態、初態、終態、複合狀態 事件、轉移、動作 併發 推薦使用場合 類設計 |
“圖書”類的狀態機圖 |
9、構件圖(Component Diagram)
構件圖(Component Diagram) 封裝類為構件 描述在系統實現環境中的軟體構件和之間的關係 主要概念 構件、工件、介面(所供介面、所需介面) 依賴、實現 推薦使用場合 系統設計、實現、部署 |
構件圖描述類的實現環境 |
10、部署圖(Deployment Diagram)
部署圖(Deployment Diagram) 描述系統所需的硬體構件的物理部署 主要概念 節點、構件、位置 連線、依賴 推薦使用場合 系統設計、實施、部署 |
部署圖描述系統部署情況 |
分類 |
圖的名字 |
介紹 |
|
結 構 型 圖
|
靜 態 圖 |
類圖(Class Diagram) |
類圖用於定義系統中的類,包括描述類之間的聯絡(如:關聯、依賴、聚合)以及類的內部結構,即類的屬性和操作。因此類圖是描述系統中類的靜態結構,即它所描述的是一種靜態關係,在系統的整個生命週期都是有效的。 |
物件圖(Object Diagram) |
物件圖所使用的表示符號與類圖幾乎完全相同,它們的不同點在於物件圖只是顯示類的物件例項,而不是實際的類。一個物件圖是類圖的一個例項,由於物件存在生命週期,因此物件圖只能在系統某一時間段存在。 物件圖是類圖的一種例項化圖,描述系統在某個時刻可能包含的物件和相互關係。 |
||
包圖(Package Diagram) |
包圖由包或類組成,主要表示包與包、或包與類之間的關係。包圖用於描述系統的分層結構。 |
||
實 現 圖 |
構件圖(Component Diagram) |
描述可以部署的軟體構件(如:程式碼部件、jar檔案、EJB檔案等)的物理結構以及各部件之間的依賴關係。一個部件可能是一個資原始碼部件、一個二進位制部件或一個可執行部件。構件圖有助於分析和理解部件之間的相互影響程度。 |
|
部署圖(Deployment Diagram) |
描述一個系統的拓撲結構,定義系統中軟硬體的物理體系結構。它可以顯示實際的計算機和裝置(用節點表示)以及它們之間的連線關係,也可顯示連線的型別及部件之間的依賴性。在節點內部,放置可執行部件和物件,以顯示節點跟可執行軟體單元之間的對應關係。 |
||
行 為 型 圖 |
|
用例圖(Use Case Diagram) |
它從使用者角度描述系統的功能,並指出各功能的操作者。用例圖描述了一系列的角色和使用案例及它們之間的關係。 |
行 為 圖 |
活動圖(Activity Diagram) |
行為圖描述系統的動態模型和組成物件間的互動關係。 活動圖描述為滿足用例要求所要進行的活動以及活動間的約束關係。活動圖是使用例圖所描述的行為具體化。 |
|
狀態圖(State Diagram) |
描述一類物件的所有可能的狀態以及事件發生時狀態的轉移條件。通常狀態圖是對類圖的補充,實際上並不需要為所有的類繪製狀態圖,而只需要為那些有多個狀態、並且其行為受外界環境的影響而會發生改變的類繪製狀態圖。 |
||
交 互 圖 |
時序圖/序列圖/順序圖(Sequence Diagram) |
互動圖描述物件間的互動關係。 順序圖用於顯示物件之間的動態合作關係。它強調物件之間訊息傳送的順序,同時也顯示物件之間的互動過程,它強調的是時間和順序。 |
|
合作圖/協作圖(Collaboration Diagram) |
合作圖顯示物件間的動態合作關係,除了顯示資訊交換外,合作圖還顯示物件以及它們之間的關係,它強調的是通訊關係。 |
原文:http://blog.csdn.net/chenxiang0207/article/details/8245283
附:
類圖,物件圖,用例圖,部署圖,構件圖,為靜態圖
狀態圖,順序圖,活動圖,協作圖為動態圖