前言
每次評審技術(shù)方案設(shè)計的時候,常常會以為自己畫圖不夠?qū)I(yè)而心虛。我常因為畫圖不夠?qū)I(yè),而感到和你們格格不入。歸根結(jié)底還是我對這些系統(tǒng)建模語言不夠熟悉。寫本篇文章的目的是想幫助大家也是自己快速理解 UML ,找到系統(tǒng)設(shè)計的抓手。本文約2千字左右并插入了大量例圖,通讀大約需要20-30分鐘左右,本文可以收藏便于下次查閱。
個人想法:想快速系統(tǒng)掌握一門知識,雖然從互聯(lián)網(wǎng)上可以搜索到很多相關(guān)內(nèi)容,但都是碎片化 的,有些甚至還會出錯誤導(dǎo)自己的思路,從而浪費時間。總結(jié):求知還是要買一本書或一份資料系統(tǒng)的學習才高效并節(jié)約成本的方式。
正文
UML是什么
統(tǒng)一建模語言(Unified Modeling Language,UML)是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進行說明、可視化和編制文檔的一種標準語言,是非專利的第三代建模和規(guī)約語言。UML是面向?qū)ο笤O(shè)計的建模工具,獨立于任何具體程序設(shè)計語言。
UML的分類
UML 有很多種,但大體分為兩類:結(jié)構(gòu)型的UML 和 行為型的UML
| 類型 | UML | 用途 |
|---|---|---|
結(jié)構(gòu)型的圖(Structure Diagram) |
類圖(Class Diagram) |
分析業(yè)務(wù)概念 |
結(jié)構(gòu)型的圖(Structure Diagram) |
對象圖(Object Diagram) |
基本不用 |
結(jié)構(gòu)型的圖(Structure Diagram) |
包圖(Packet Diagram) |
很少使用 |
結(jié)構(gòu)型的圖(Structure Diagram) |
構(gòu)件圖(Component Diagram) |
分析 IT 基礎(chǔ)架構(gòu)、軟件架構(gòu)等方面的需求 |
結(jié)構(gòu)型的圖(Structure Diagram) |
部署圖(Deployment Diagram) |
分析 IT 基礎(chǔ)架構(gòu)、軟件架構(gòu)等方面的需求 |
行為型的圖(Behavior Diagram) |
用例圖(Use Case Diagram) |
描述系統(tǒng)的行為 |
行為型的圖(Behavior Diagram) |
活動圖(Activity Diagram) |
分析業(yè)務(wù)流程(最常用) |
行為型的圖(Behavior Diagram) |
順序圖(時序圖)(Sequence Diagram) |
分析業(yè)務(wù)流程(最常用) |
行為型的圖(Behavior Diagram) |
狀態(tài)機圖(State Machine Diagram) |
分析業(yè)務(wù)流程(最常用) |
行為型的圖(Behavior Diagram) |
通信圖(Communication Diagram) | 基本不用 |
行為型的圖(Behavior Diagram) |
時間圖(Timing Diagram) | 基本不用 |
從實用的角度和常用的角度出發(fā)一一介紹UML
1 類圖
1.1 什么是類圖?
類圖是業(yè)務(wù)結(jié)構(gòu)建模的重要工具,可以表達類、接口以及類之間的靜態(tài)結(jié)構(gòu)和關(guān)系。
1.2 類之間的關(guān)系
類之間的關(guān)聯(lián)關(guān)系

類之間的包含關(guān)系

類之間的繼承關(guān)系

類之間的依賴關(guān)系

1.3 類之間的遞歸關(guān)系

1.4 類之間的“三角”關(guān)系

2 對象圖
2.1 什么是對象圖?
類(class)的實例(instance)就是對象。
2.2 類和對象的對比

類圖和對象圖的對比

3 活動圖
3.1 什么是活動圖?
活動圖本質(zhì)上也是一種流程圖,可以描述系統(tǒng)的工作流程和并發(fā)行為。
3.2 活動圖的基本語法
| 圖形符號 | 釋義 |
|---|---|
| 開始 | |
| 結(jié)束 | |
| 活動 | |
| 判斷、合并 |
3.3 基本活動圖

3.4 活動圖中關(guān)于判斷的三種處理方法
- 在判斷菱形旁邊寫下判斷的句子。

- 不需要寫判斷的內(nèi)容,直接通過監(jiān)護來表示這個判斷(如3.3)。
- 在判斷菱形之前增加一個活動,表明判斷的動作,而判斷菱形不需要寫判斷的句子。
3.5 活動圖多層分支的表達方式

3.6 活動圖泳道分區(qū)

3.7 并行的活動
- 并行的圖形符號
- 并行活動圖示例

3.8 連接件
有時候活動圖很大,一張紙畫不下,那么就需要另外一張紙繼續(xù)畫下去。
左邊的符號箭頭指向A,表示活動圖到這里要轉(zhuǎn)到另外一張圖,右邊的符號由A開始指出一個箭頭表示繼續(xù)活動圖
4 狀態(tài)機圖
4.1 什么是狀態(tài)機圖?
很多資料中叫“狀態(tài)圖”其實標準語法是“狀態(tài)機圖”。用于描述一個對象的所有狀態(tài)和狀態(tài)之間的轉(zhuǎn)換。
4.2 “活動圖”和“狀態(tài)機圖”圓角框的區(qū)別

4.3 用實例說明流程圖和狀態(tài)機圖的區(qū)別
- 請假流程活動圖

- 請假活動狀態(tài)機圖

4.4 多級審批的狀態(tài)機圖案例

-
建模
+關(guān)注
關(guān)注
1文章
321瀏覽量
63271 -
UML
+關(guān)注
關(guān)注
0文章
123瀏覽量
31588 -
面向?qū)ο?/span>
+關(guān)注
關(guān)注
0文章
64瀏覽量
10251
發(fā)布評論請先 登錄
請問如何使用UML來設(shè)計嵌入式系統(tǒng)?
全面剖析嵌入式Linux開發(fā)
UML教程設(shè)計核心技術(shù)
什么是UML
什么是UML圖?常見的UML圖工具有哪些?
UML統(tǒng)一建模語言
UML相關(guān)基本知識介紹
全面剖析UML(下)
UML時序圖詳解
全面剖析UML(上)
評論