前言
每次評審技術(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)的學(xué)習(xí)才高效并節(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文章
299瀏覽量
60737 -
UML
+關(guān)注
關(guān)注
0文章
122瀏覽量
30850 -
面向?qū)ο?/span>
+關(guān)注
關(guān)注
0文章
64瀏覽量
9978
發(fā)布評論請先 登錄
相關(guān)推薦
評論