1、UML是什麼?UML有什麼用?數據庫
2、UML的歷史併發
3、UML的上層結構(Superstructure) 框架
4、UML建模工具工具
5、UML的圖(重點)ui
一、用例圖(use case diagram)spa
二、活動圖(activity diagram).net
三、靜態結構圖設計
四、順序圖(Sequence Diagram)3d
五、交互縱覽圖(Interaction Overview Diagram)對象
六、通訊圖(Communication Diagram)
七、時間圖(Timing Diagram)
八、狀態機圖(State Machine Diagram)
九、構件圖(Component Diagram)
十、部署圖(Deployment Diagram)
1、UML是什麼?UML有什麼用?
UML是什麼?
Unified Modeling Language(統一建模語言)是對象管理組織(OMG)制定的一個通用的、可視化的建模語言標準,能夠用來可視化(visualize)、描述(specify)、構造(construct)和文檔化(document)軟件密集型系統的各類工件(artifacts,又譯製品)
UML是一種標準的圖形化建模語言,是面向對象分析與設計的標準表示,它:
不是一種可視化的程序設計語言,而是一種可視化的建模語言(用於分析設計)
不是工具或知識庫的規格說明,而是一種建模語言規格說明,是一種表示的標準
不是過程,也不是方法,但容許任何一種過程和方法使用它
UML有什麼用?
軟件開發系統規模比較複雜時,須要用圖形抽象地表達複雜概念,加強設計的靈活性、可讀性和可理解性,以便暴露深層次的設計問題,下降開發風險。有必要採用一套通用的圖形語言和符號體系描述組織的業務流程和軟件需求,促進業務人員、開發人員之間一致、高效地交流。
2、UML的歷史
UML發展背景:
P. Coad和E.Yourdon提出OOA和OOD
G. Booch提出面向對象開發方法
Jacobson提出OOSE
Rumbaugh提出的OMT
……
UML的出現結束了這場方法學戰爭
UML發展歷程:
3、UML的上層結構(Superstructure)
至於UML底層的基礎結構(Infrastructure),軟件開發工程師們不必瞭解,只須要懂得上層結構就好了。
4、UML建模工具
比較流行的有Rational Rose ,Microsoft Visio、Enterprise Architect 、Visual UML等。我如今使用的UML建模工具是Enterprise Architect 8.0,推薦使用這款,比較好用。
5、UML的圖(重點)
一、用例圖(use case diagram)
二、活動圖(activity diagram)
活動圖(Activity Diagram) 經過動做來組織,主要用於描述某一方法、機制或用例的內部行爲 核心概念 狀態、活動、組合活動、對象 轉移、分支 併發、同步 泳道 推薦使用場合 業務建模、需求、類設計 |
三、靜態結構圖
四、順序圖(Sequence Diagram)
順序圖(Sequence Diagram) 用於顯示對象間的交互活動 關注對象之間消息傳送的時間順序 核心概念 對象、生命線、激活、交互、消息 交互幀(Interaction Frame) 推薦使用場合 用例分析、用例設計 |
「借書」用例實現的順序圖 |
五、交互縱覽圖(Interaction Overview Diagram)
交互縱覽圖(Interaction Overview Diagram) 活動圖和順序圖的混合物 直觀地表達一組相關順序圖之間的流轉邏輯 核心概念 交互幀 分支、轉移 推薦使用場合 用例分析、用例設計 |
交互縱覽圖組織多個順序圖 |
六、通訊圖(Communication Diagram)
通訊圖(Communication Diagram) UML 1.x中稱爲協做圖(Collaboration Diagram) 表示一組對象間關係以及交互活動 核心概念 對象、協做角色 協做、交互、消息 推薦使用場合 用例分析、用例設計 |
「借書」用例實現的通訊圖 |
七、時間圖(Timing Diagram)
時間圖(Timing Diagram) 一種交互圖,展示消息跨越不一樣對象或角色的實際時間信息; 具體描述單個或多個對象狀態變化的時間點以及維持特定狀態的時間段; 順序圖是表示交互的主要手段,能夠在順序圖中增長時間約束來代表對象狀態變化的時間點以及維持特定狀態的時間段。 核心概念 時間約束、持續時間約束、生命線 狀態、條件、事件 |
「打電話」順序圖的時間約束 利用時間圖描述時間約束 |
八、狀態機圖(State Machine Diagram)
狀態機圖(State Machine Diagram) UML1.x爲狀態圖(Statechart Diagram) 利用狀態和事件描述對象自己的行爲 主要概念 狀態、初態、終態、複合狀態 事件、轉移、動做 併發 推薦使用場合 類設計 |
「圖書」類的狀態機圖 |
九、構件圖(Component Diagram)
構件圖(Component Diagram) 封裝類爲構件 描述在系統實現環境中的軟件構件和之間的關係 主要概念 構件、工件、接口(所供接口、所需接口) 依賴、實現 推薦使用場合 系統設計、實現、部署 |
構件圖描述類的實現環境 |
十、部署圖(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
附:
類圖,對象圖,用例圖,部署圖,構件圖,爲靜態圖 狀態圖,順序圖,活動圖,協做圖爲動態圖