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

類圖和對(duì)象圖的對(duì)比

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

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

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

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

3.7 并行的活動(dòng)
- 并行的圖形符號(hào)
- 并行活動(dòng)圖示例

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

4.3 用實(shí)例說(shuō)明流程圖和狀態(tài)機(jī)圖的區(qū)別
- 請(qǐng)假流程活動(dòng)圖

- 請(qǐng)假活動(dòng)狀態(tài)機(jī)圖

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

-
建模
+關(guān)注
關(guān)注
1文章
319瀏覽量
62456 -
UML
+關(guān)注
關(guān)注
0文章
123瀏覽量
31459 -
面向?qū)ο?/span>
+關(guān)注
關(guān)注
0文章
64瀏覽量
10210
發(fā)布評(píng)論請(qǐng)先 登錄
請(qǐng)問(wèn)如何使用UML來(lái)設(shè)計(jì)嵌入式系統(tǒng)?
全面剖析嵌入式Linux開(kāi)發(fā)
UML教程設(shè)計(jì)核心技術(shù)
全面剖析LED燈具技術(shù)
什么是UML
什么是UML圖?常見(jiàn)的UML圖工具有哪些?
UML統(tǒng)一建模語(yǔ)言
UML相關(guān)基本知識(shí)介紹
全面剖析UML(下)
UML狀態(tài)圖詳解
UML時(shí)序圖詳解

全面剖析UML(上)
評(píng)論