原文:http://www.cnblogs.com/way-peng/archive/2012/06/11/2544932.html
一、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)
|
通過動作來組織,主要用於描述某一方法、機制或用例的內部行為
狀態、活動、組合活動、對象 轉移、分支 並發、同步 泳道
業務建模、需求、類設計 |
![]() |
3、靜態結構圖
4、順序圖(Sequence Diagram)
|
用於顯示對象間的交互活動 關注對象之間消息傳送的時間順序
對象、生命線、激活、交互、消息 交互幀(Interaction Frame)
用例分析、用例設計 |
“借書”用例實現的順序圖![]() |
5、交互縱覽圖(Interaction Overview Diagram)
|
活動圖和順序圖的混合物 直觀地表達一組相關順序圖之間的流轉邏輯
交互幀 分支、轉移
用例分析、用例設計 |
交互縱覽圖組織多個順序圖![]() |
6、通信圖(Communication Diagram)
|
UML 1.x中稱為協作圖(Collaboration Diagram) 表示一組對象間關系以及交互活動
對象、協作角色 協作、交互、消息
用例分析、用例設計 |
“借書”用例實現的通信圖 ![]() |
7、時間圖(Timing Diagram)
|
一種交互圖,展現消息跨越不同對象或角色的實際時間信息; 具體描述單個或多個對象狀態變化的時間點以及維持特定狀態的時間段; 順序圖是表示交互的主要手段,可以在順序圖中增加時間約束來表明對象狀態變化的時間點以及維持特定狀態的時間段。
時間約束、持續時間約束、生命線 狀態、條件、事件 |
“打電話”順序圖的時間約束 ![]() 利用時間圖描述時間約束 ![]() |
8、狀態機圖(State Machine Diagram)
|
UML1.x為狀態圖(Statechart Diagram) 利用狀態和事件描述對象本身的行為
狀態、初態、終態、復合狀態 事件、轉移、動作 並發
類設計 |
“圖書”類的狀態機圖 ![]() |
9、構件圖(Component Diagram)
|
封裝類為構件 描述在系統實現環境中的軟件構件和之間的關系
構件、工件、接口(所供接口、所需接口) 依賴、實現
系統設計、實現、部署 |
構件圖描述類的實現環境 ![]() |
10、部署圖(Deployment Diagram)
|
描述系統所需的硬件構件的物理部署
節點、構件、位置 連接、依賴
系統設計、實施、部署 |
部署圖描述系統部署情況 ![]() |


















