作為PM,你要知道的UML的那點(diǎn)事
編輯導(dǎo)讀:UML(統(tǒng)一建模語言)是由一系列標(biāo)準(zhǔn)化圖形符號(hào)組成的建模語言,用于描述軟件系統(tǒng)分析、設(shè)計(jì)和實(shí)施中的各種模型,是產(chǎn)品經(jīng)理的必備技能。本文作者對(duì)常用到的UML圖展開分析,與你分享。
一、用例圖
1.1 UML建模語言的初步認(rèn)識(shí)
想必大家在日常的工作中經(jīng)常會(huì)畫業(yè)務(wù)流程圖吧,但是不知道大家有沒有這種疑惑,為什么網(wǎng)上的畫法規(guī)范都不一樣吶?當(dāng)你看到同事的畫法和自己不一樣時(shí),是不是會(huì)突然懷疑是不是自己畫的有問題,身為非科班出來的產(chǎn)品經(jīng)理,經(jīng)常會(huì)有這樣的疑惑。于是網(wǎng)上搜了好多,發(fā)現(xiàn)網(wǎng)上的更是五花八門!因?yàn)橹白约航邮盏降年P(guān)于這一塊的知識(shí)完全是零散的,所以今天專門找了一份不錯(cuò)的書籍看了一下,然后系統(tǒng)的整理一下,分享出來給需要的小伙伴們~
簡(jiǎn)單來說UML(統(tǒng)一建模語言)就是由一系列的標(biāo)準(zhǔn)化的圖形符號(hào)組成的建模語言,用于描述軟件系統(tǒng)分析、設(shè)計(jì)和實(shí)施中的各種模型。當(dāng)然這些模型是為了工作中更好地表達(dá)、交流、最終達(dá)到信息同步,提高工作效率的目的。
UML的建模被分為兩大類—結(jié)構(gòu)圖和行為圖,共13種圖形:
1.2 常用到的UML圖詳解之用例圖
1.2.1 用例圖
1.2.1.1 什么是用例圖
用例圖用于描述若干參與者以及這些參與者與系統(tǒng)提供的用例之間的交互關(guān)系,主要為了描述系統(tǒng)為參與者提供的功能特性;
用例圖=參與者+用例+關(guān)系
1.2.1.2 用例圖的基本元素
參與者:又稱為執(zhí)行者,獨(dú)立于目標(biāo)系統(tǒng)之外的外界系統(tǒng)或者人;一般使用名詞表示,例如售貨員、顧客;
用例:一組動(dòng)作序列的集合和描述,指的是參與者要在目標(biāo)系統(tǒng)中做的事情;一般使用動(dòng)賓短語表示,例如購買物品,付錢;
系統(tǒng)邊界:正在建模的系統(tǒng)邊界,用例放在系統(tǒng)邊界之內(nèi),參與者放在系統(tǒng)邊界之外;一般在系統(tǒng)邊界的左上方或者右上方放置系統(tǒng)的名字;
1.2.1.3 關(guān)系
參與者和用例之間的關(guān)聯(lián)關(guān)系:一個(gè)參與者與一個(gè)或多個(gè)用例存在關(guān)聯(lián)關(guān)系,用——表示;
用例與用例之間的關(guān)系:
擴(kuò)展:可以為一個(gè)用例增加額外的行為(用例),用<—<<extend>>—(此處為帶有箭頭的虛線)表示;
包含:指的是一個(gè)用例包含其中一個(gè)用例,用—<<include>>—>(此處為帶有箭頭的虛線) 表示;
參與者與參與者之間的關(guān)系:
泛化:面向?qū)ο笾械睦^承關(guān)系,用——?表示;
2.1.4 案例分析
例如某商店有普通顧客和VIP顧客,顧客去店里購買商品然后付款,付款時(shí)可以索要發(fā)票。VIP顧客除了正常的購買商品之外,還會(huì)額外收到一份VIP贈(zèng)品。用例圖如下圖所示:
注:當(dāng)參與者時(shí)非人類角色時(shí),可使用<<系統(tǒng)>>表示參與者。
接下來將會(huì)為大家講解另外一個(gè)常用的UML行為圖——活動(dòng)圖。
二、活動(dòng)圖
2.1 什么是活動(dòng)圖
活動(dòng)圖描述了一個(gè)連續(xù)的活動(dòng)流,指的是業(yè)務(wù)的活動(dòng)變化;
活動(dòng)圖=活動(dòng)+活動(dòng)節(jié)點(diǎn)+關(guān)系
2.2 活動(dòng)圖的基本元素
活動(dòng):由一個(gè)或多個(gè)動(dòng)作組成的行為,使用圓邊矩形表示,使用動(dòng)賓短語描述;
對(duì)象:移動(dòng)的數(shù)據(jù),使用矩形框表示,框內(nèi)標(biāo)明數(shù)據(jù)的名稱,名稱文字下需要加下劃線;
泳道:用外觀像泳道的垂直線將活動(dòng)分組,在每組的上方表明活動(dòng)的參與者,一般為名詞,為活動(dòng)圖的主語,例如顧客,售貨員;
注意:我們?cè)谄綍r(shí)的工作中經(jīng)常會(huì)畫泳道圖,但泳道圖并不是一種UML圖,它只是一種可以表現(xiàn)不同角色不同階段工作流程的工具;
控制節(jié)點(diǎn):
開始:有且只有一個(gè)
結(jié)束:有一個(gè)到多個(gè),分為兩種情況:一種表示整個(gè)活動(dòng)的終點(diǎn),另外一種表示一個(gè)路徑的終止(而不是整個(gè)活動(dòng)的終止)
判斷:根據(jù)不同的條件進(jìn)行接下來不同的操作
匯合:當(dāng)多條路徑同時(shí)指向一個(gè)活動(dòng)時(shí),使用匯合節(jié)點(diǎn);只要有一條路徑先到達(dá),就可以繼續(xù)接下來的活動(dòng);注意:匯合符號(hào)和判斷符號(hào)的表示圖形是一樣的;
分叉:一個(gè)活動(dòng)在該點(diǎn)同時(shí)并發(fā)產(chǎn)生多個(gè)活動(dòng)分支
結(jié)合:當(dāng)并發(fā)活動(dòng)需要都達(dá)到該點(diǎn)時(shí)才能繼續(xù)接下來的活動(dòng)
注:分叉符號(hào)和結(jié)合的圖形時(shí)一樣的
2.3 關(guān)系
活動(dòng)流:表示活動(dòng)之間的輸入輸出關(guān)系,一個(gè)活動(dòng)的輸出結(jié)果作為另外一個(gè)活動(dòng)的輸入元素,使用
——>表示;
對(duì)象流:表示活動(dòng)中數(shù)據(jù)的輸入輸出,使用—-> (此處為帶有箭頭的虛線)表示;
注:閱讀和作圖的順序從左上到右下,警戒條件及取值卸載方括號(hào)里面;
2.4 案例分析
例如一個(gè)客戶 去商場(chǎng)購買物品,前提條件是商城的商品滿足用戶的購物需求且客戶在需要發(fā)票的前提下整個(gè)活動(dòng)的活動(dòng)圖如下
接下來將會(huì)為大家講解另外一個(gè)常用的UML行為圖——狀態(tài)機(jī)圖
三、狀態(tài)機(jī)圖
3.1 什么是狀態(tài)機(jī)圖
狀態(tài)機(jī)圖的定義:用于描述一個(gè)對(duì)象在某一流轉(zhuǎn)過程中的狀態(tài)變化;
狀態(tài)圖=狀態(tài)+遷移
3.2 狀態(tài)機(jī)圖的基本元素
狀態(tài):表示某一對(duì)象在某一時(shí)刻中的狀態(tài),使用形容詞或者副次來表示,例如”未上架”,”已購買”
控制節(jié)點(diǎn):
匯合狀態(tài):將多個(gè)警戒條件局部化,使用○表示;
3.3 關(guān)系
遷移:某個(gè)對(duì)象從一個(gè)狀態(tài)到另外一個(gè)狀態(tài)的變化過程,用——> 來表示;
警戒條件:只有滿足某個(gè)條件時(shí),狀態(tài)才會(huì)發(fā)生改變,使用[條件觸發(fā)文字說明]來表示,其中條件觸發(fā)文字說明一般為主謂賓結(jié)構(gòu);
3.4 案例分析
例如商場(chǎng)中商品從進(jìn)貨到售出的狀態(tài)變化如下圖所示:
接下來將會(huì)為大家講解另外一個(gè)常用的UML行為圖——順序圖
四、順序圖
4.1 什么是順序圖
順序圖,簡(jiǎn)單來說是為描述完成某一事件,不同的參與者之間進(jìn)行交互的先后順序;
順序圖=生命線+消息
4.2 順序圖的基本元素
生命線:表示系統(tǒng)的參與者以及系統(tǒng)運(yùn)行中的對(duì)象;對(duì)于參與者,使用用例中的參與者為生命線命名;對(duì)于系統(tǒng)中的對(duì)象,使用相應(yīng)設(shè)計(jì)類的匿名對(duì)象為生命線命名;
矩形框內(nèi)以匿名對(duì)象的方式標(biāo)明該生命線的名稱,并加上下劃線;
激活框:表示對(duì)象處于執(zhí)行狀態(tài)交互框和組合片斷:用于循環(huán)和分支結(jié)構(gòu);
交互框:表示圖中的一塊區(qū)域或者片段,用一個(gè)四邊形表示,常見的操作符:loop(循環(huán)) 、alt (alternative,分支條件) 、opt (optional,可選分支);
組合片斷:包含圖中的某個(gè)部分,用四邊形表示,左上角是內(nèi)涵描述性文字的折角方框;
4.3 關(guān)系
消息:是對(duì)象發(fā)出的消息,用以生命線之間的通信;
同步消息:對(duì)象發(fā)出消息之后必須接收到返回的信息才可以繼續(xù)接下來的操作,用——?來表示;消息的書寫格式為?? 消息名(參數(shù):參數(shù)類型):返回值;一般用動(dòng)賓短語表示;
返回消息:表示發(fā)出消息之后消息的返回值,用<—-(此處為帶有箭頭的虛線) 表示;一般用名詞表示;
自我調(diào)節(jié)消息:表示對(duì)象自己給自己發(fā)出的消息,用帶有箭頭的指向自己的實(shí)線表示;一般用動(dòng)賓 短語表示;
4.4 案例分析
例如顧客去商店購買商品的順序圖如下圖所示:
好啦,關(guān)于UML的分享就到此結(jié)束啦,作為一個(gè)PM日常主要用到的四種類型的UML圖——用例圖(用于描述參與者和系統(tǒng)功能關(guān)系的建模語言)、活動(dòng)圖(用以描述參與者完成任務(wù)的完整活動(dòng)流程的建模語言)、狀態(tài)機(jī)圖(用以描述某個(gè)目標(biāo)在完整的流程中狀態(tài)變化的建模語言)、順序圖(用以描述在完成任務(wù)的流程中參與者之間交互順序的建模語言)。此波分享到此結(jié)束,希望能幫助有需要的小伙伴們~
本文由 @呵呵噠 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于 CC0 協(xié)議
本文由 @Grace 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于 CC0 協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
WPS 可以畫,會(huì)員版
這用xmind也可以畫
說錯(cuò),Visio
drawio用完你會(huì)覺得visio就是渣,而且drawio還是免費(fèi)開源的
drawio畫時(shí)序圖太難了 這些軟件我都用過,說不出那些好壞