前言
每次評審技術方案設計的時候,常常會以為自己畫圖不夠專業而心虛。我常因為畫圖不夠專業,而感到和你們格格不入。歸根結底還是我對這些系統建模語言不夠熟悉。寫本篇文章的目的是想幫助大家也是自己快速理解 UML ,找到系統設計的抓手。本文約2千字左右并插入了大量例圖,通讀大約需要20-30分鐘左右,本文可以收藏便于下次查閱。
個人想法:想快速系統掌握一門知識,雖然從互聯網上可以搜索到很多相關內容,但都是碎片化 的,有些甚至還會出錯誤導自己的思路,從而浪費時間。總結:求知還是要買一本書或一份資料系統的學習才高效并節約成本的方式。
正文
UML是什么
統一建模語言(Unified Modeling Language
,UML
)是一種為面向對象系統的產品進行說明、可視化和編制文檔的一種標準語言,是非專利的第三代建模和規約語言。UML
是面向對象設計的建模工具,獨立于任何具體程序設計語言。
UML的分類
UML
有很多種,但大體分為兩類:結構型的UML
和 行為型的UML
類型 | UML | 用途 |
---|---|---|
結構型的圖(Structure Diagram ) |
類圖(Class Diagram ) |
分析業務概念 |
結構型的圖(Structure Diagram ) |
對象圖(Object Diagram ) |
基本不用 |
結構型的圖(Structure Diagram ) |
包圖(Packet Diagram ) |
很少使用 |
結構型的圖(Structure Diagram ) |
構件圖(Component Diagram ) |
分析 IT 基礎架構、軟件架構等方面的需求 |
結構型的圖(Structure Diagram ) |
部署圖(Deployment Diagram ) |
分析 IT 基礎架構、軟件架構等方面的需求 |
行為型的圖(Behavior Diagram ) |
用例圖(Use Case Diagram ) |
描述系統的行為 |
行為型的圖(Behavior Diagram ) |
活動圖(Activity Diagram ) |
分析業務流程(最常用) |
行為型的圖(Behavior Diagram ) |
順序圖(時序圖)(Sequence Diagram ) |
分析業務流程(最常用) |
行為型的圖(Behavior Diagram ) |
狀態機圖(State Machine Diagram ) |
分析業務流程(最常用) |
行為型的圖(Behavior Diagram ) |
通信圖(Communication Diagram) | 基本不用 |
行為型的圖(Behavior Diagram ) |
時間圖(Timing Diagram) | 基本不用 |
從實用的角度和常用的角度出發一一介紹UML
1 類圖
1.1 什么是類圖?
類圖是業務結構建模的重要工具,可以表達類、接口以及類之間的靜態結構和關系。
1.2 類之間的關系
類之間的關聯關系
類之間的包含關系
類之間的繼承關系
類之間的依賴關系
1.3 類之間的遞歸關系
1.4 類之間的“三角”關系
2 對象圖
2.1 什么是對象圖?
類(class)的實例(instance)就是對象。
2.2 類和對象的對比
類圖和對象圖的對比
3 活動圖
3.1 什么是活動圖?
活動圖本質上也是一種流程圖,可以描述系統的工作流程和并發行為。
3.2 活動圖的基本語法
圖形符號 | 釋義 |
---|---|
開始 | |
結束 | |
活動 | |
判斷、合并 |
3.3 基本活動圖
3.4 活動圖中關于判斷的三種處理方法
- 在判斷菱形旁邊寫下判斷的句子。
- 不需要寫判斷的內容,直接通過監護來表示這個判斷(如3.3)。
- 在判斷菱形之前增加一個活動,表明判斷的動作,而判斷菱形不需要寫判斷的句子。
3.5 活動圖多層分支的表達方式
3.6 活動圖泳道分區
3.7 并行的活動
- 并行的圖形符號
- 并行活動圖示例
3.8 連接件
有時候活動圖很大,一張紙畫不下,那么就需要另外一張紙繼續畫下去。
左邊的符號箭頭指向A,表示活動圖到這里要轉到另外一張圖,右邊的符號由A開始指出一個箭頭表示繼續活動圖
4 狀態機圖
4.1 什么是狀態機圖?
很多資料中叫“狀態圖”其實標準語法是“狀態機圖”。用于描述一個對象的所有狀態和狀態之間的轉換。
4.2 “活動圖”和“狀態機圖”圓角框的區別
4.3 用實例說明流程圖和狀態機圖的區別
- 請假流程活動圖
- 請假活動狀態機圖
4.4 多級審批的狀態機圖案例
-
建模
+關注
關注
1文章
313瀏覽量
60857 -
UML
+關注
關注
0文章
122瀏覽量
30903 -
面向對象
+關注
關注
0文章
64瀏覽量
10003
發布評論請先 登錄
相關推薦
![](https://file1.elecfans.com/web2/M00/87/AF/wKgaomRmlIWAOms7AADSk-T8MIU069.png)
全面剖析嵌入式Linux開發
UML教程設計核心技術
全面剖析LED燈具技術
![<b class='flag-5'>全面</b><b class='flag-5'>剖析</b>LED燈具技術](https://file1.elecfans.com//web2/M00/A5/65/wKgZomUMODuAA2HeAAB8axytBoc616.jpg)
什么是UML圖?常見的UML圖工具有哪些?
![什么是<b class='flag-5'>UML</b>圖?常見的<b class='flag-5'>UML</b>圖工具有哪些?](https://file.elecfans.com/web1/M00/BF/A2/pIYBAF7xUoOAGIsBAAAVjelUpRc014.png)
UML統一建模語言
![<b class='flag-5'>UML</b>統一建模語言](https://file1.elecfans.com/web2/M00/82/76/wKgaomRUZiCAee1IAAKHuoEsulY428.jpg)
全面剖析UML(下)
![<b class='flag-5'>全面</b><b class='flag-5'>剖析</b><b class='flag-5'>UML</b>(下)](https://file1.elecfans.com/web2/M00/82/77/wKgZomRUaeKAbF0WAAEihola4Vo803.jpg)
評論