作為PM,你要知道的UML的那點事

5 評論 8454 瀏覽 56 收藏 14 分鐘

編輯導讀:UML(統(tǒng)一建模語言)是由一系列標準化圖形符號組成的建模語言,用于描述軟件系統(tǒng)分析、設計和實施中的各種模型,是產(chǎn)品經(jīng)理的必備技能。本文作者對常用到的UML圖展開分析,與你分享。

一、用例圖

1.1 UML建模語言的初步認識

想必大家在日常的工作中經(jīng)常會畫業(yè)務流程圖吧,但是不知道大家有沒有這種疑惑,為什么網(wǎng)上的畫法規(guī)范都不一樣吶?當你看到同事的畫法和自己不一樣時,是不是會突然懷疑是不是自己畫的有問題,身為非科班出來的產(chǎn)品經(jīng)理,經(jīng)常會有這樣的疑惑。于是網(wǎng)上搜了好多,發(fā)現(xiàn)網(wǎng)上的更是五花八門!因為之前自己接收到的關于這一塊的知識完全是零散的,所以今天專門找了一份不錯的書籍看了一下,然后系統(tǒng)的整理一下,分享出來給需要的小伙伴們~

簡單來說UML(統(tǒng)一建模語言)就是由一系列的標準化的圖形符號組成的建模語言,用于描述軟件系統(tǒng)分析、設計和實施中的各種模型。當然這些模型是為了工作中更好地表達、交流、最終達到信息同步,提高工作效率的目的。

UML的建模被分為兩大類—結(jié)構(gòu)圖和行為圖,共13種圖形:

1.2 常用到的UML圖詳解之用例圖

1.2.1 用例圖

1.2.1.1 什么是用例圖

用例圖用于描述若干參與者以及這些參與者與系統(tǒng)提供的用例之間的交互關系,主要為了描述系統(tǒng)為參與者提供的功能特性;

用例圖=參與者+用例+關系

1.2.1.2 用例圖的基本元素

參與者:又稱為執(zhí)行者,獨立于目標系統(tǒng)之外的外界系統(tǒng)或者人;一般使用名詞表示,例如售貨員、顧客;

用例:一組動作序列的集合和描述,指的是參與者要在目標系統(tǒng)中做的事情;一般使用動賓短語表示,例如購買物品,付錢;

系統(tǒng)邊界:正在建模的系統(tǒng)邊界,用例放在系統(tǒng)邊界之內(nèi),參與者放在系統(tǒng)邊界之外;一般在系統(tǒng)邊界的左上方或者右上方放置系統(tǒng)的名字;

1.2.1.3 關系

參與者和用例之間的關聯(lián)關系:一個參與者與一個或多個用例存在關聯(lián)關系,用——表示;

用例與用例之間的關系:

擴展:可以為一個用例增加額外的行為(用例),用<—<<extend>>—(此處為帶有箭頭的虛線)表示;

包含:指的是一個用例包含其中一個用例,用—<<include>>—>(此處為帶有箭頭的虛線) 表示;

參與者與參與者之間的關系:

泛化:面向?qū)ο笾械睦^承關系,用——?表示;

2.1.4 案例分析

例如某商店有普通顧客和VIP顧客,顧客去店里購買商品然后付款,付款時可以索要發(fā)票。VIP顧客除了正常的購買商品之外,還會額外收到一份VIP贈品。用例圖如下圖所示:

注:當參與者時非人類角色時,可使用<<系統(tǒng)>>表示參與者。

接下來將會為大家講解另外一個常用的UML行為圖——活動圖。

二、活動圖

2.1 什么是活動圖

活動圖描述了一個連續(xù)的活動流,指的是業(yè)務的活動變化;

活動圖=活動+活動節(jié)點+關系

2.2 活動圖的基本元素

活動:由一個或多個動作組成的行為,使用圓邊矩形表示,使用動賓短語描述;

對象:移動的數(shù)據(jù),使用矩形框表示,框內(nèi)標明數(shù)據(jù)的名稱,名稱文字下需要加下劃線;

泳道:用外觀像泳道的垂直線將活動分組,在每組的上方表明活動的參與者,一般為名詞,為活動圖的主語,例如顧客,售貨員;

注意:我們在平時的工作中經(jīng)常會畫泳道圖,但泳道圖并不是一種UML圖,它只是一種可以表現(xiàn)不同角色不同階段工作流程的工具;

控制節(jié)點:

開始:有且只有一個

結(jié)束:有一個到多個,分為兩種情況:一種表示整個活動的終點,另外一種表示一個路徑的終止(而不是整個活動的終止)

判斷:根據(jù)不同的條件進行接下來不同的操作

匯合:當多條路徑同時指向一個活動時,使用匯合節(jié)點;只要有一條路徑先到達,就可以繼續(xù)接下來的活動;注意:匯合符號和判斷符號的表示圖形是一樣的;

分叉:一個活動在該點同時并發(fā)產(chǎn)生多個活動分支

結(jié)合:當并發(fā)活動需要都達到該點時才能繼續(xù)接下來的活動

注:分叉符號和結(jié)合的圖形時一樣的

2.3 關系

活動流:表示活動之間的輸入輸出關系,一個活動的輸出結(jié)果作為另外一個活動的輸入元素,使用

——>表示;

對象流:表示活動中數(shù)據(jù)的輸入輸出,使用—-> (此處為帶有箭頭的虛線)表示;

注:閱讀和作圖的順序從左上到右下,警戒條件及取值卸載方括號里面;

2.4 案例分析

例如一個客戶 去商場購買物品,前提條件是商城的商品滿足用戶的購物需求且客戶在需要發(fā)票的前提下整個活動的活動圖如下

接下來將會為大家講解另外一個常用的UML行為圖——狀態(tài)機圖

三、狀態(tài)機圖

3.1 什么是狀態(tài)機圖

狀態(tài)機圖的定義:用于描述一個對象在某一流轉(zhuǎn)過程中的狀態(tài)變化;

狀態(tài)圖=狀態(tài)+遷移

3.2 狀態(tài)機圖的基本元素

狀態(tài):表示某一對象在某一時刻中的狀態(tài),使用形容詞或者副次來表示,例如”未上架”,”已購買”

控制節(jié)點:

匯合狀態(tài):將多個警戒條件局部化,使用○表示;

3.3 關系

遷移:某個對象從一個狀態(tài)到另外一個狀態(tài)的變化過程,用——> 來表示;

警戒條件:只有滿足某個條件時,狀態(tài)才會發(fā)生改變,使用[條件觸發(fā)文字說明]來表示,其中條件觸發(fā)文字說明一般為主謂賓結(jié)構(gòu);

3.4 案例分析

例如商場中商品從進貨到售出的狀態(tài)變化如下圖所示:

接下來將會為大家講解另外一個常用的UML行為圖——順序圖

四、順序圖

4.1 什么是順序圖

順序圖,簡單來說是為描述完成某一事件,不同的參與者之間進行交互的先后順序;

順序圖=生命線+消息

4.2 順序圖的基本元素

生命線:表示系統(tǒng)的參與者以及系統(tǒng)運行中的對象;對于參與者,使用用例中的參與者為生命線命名;對于系統(tǒng)中的對象,使用相應設計類的匿名對象為生命線命名;

矩形框內(nèi)以匿名對象的方式標明該生命線的名稱,并加上下劃線;

激活框:表示對象處于執(zhí)行狀態(tài)交互框和組合片斷:用于循環(huán)和分支結(jié)構(gòu);

交互框:表示圖中的一塊區(qū)域或者片段,用一個四邊形表示,常見的操作符:loop(循環(huán)) 、alt (alternative,分支條件) 、opt (optional,可選分支);

組合片斷:包含圖中的某個部分,用四邊形表示,左上角是內(nèi)涵描述性文字的折角方框;

4.3 關系

消息:是對象發(fā)出的消息,用以生命線之間的通信;

同步消息:對象發(fā)出消息之后必須接收到返回的信息才可以繼續(xù)接下來的操作,用——?來表示;消息的書寫格式為?? 消息名(參數(shù):參數(shù)類型):返回值;一般用動賓短語表示;

返回消息:表示發(fā)出消息之后消息的返回值,用<—-(此處為帶有箭頭的虛線) 表示;一般用名詞表示;

自我調(diào)節(jié)消息:表示對象自己給自己發(fā)出的消息,用帶有箭頭的指向自己的實線表示;一般用動賓 短語表示;

4.4 案例分析

例如顧客去商店購買商品的順序圖如下圖所示:

好啦,關于UML的分享就到此結(jié)束啦,作為一個PM日常主要用到的四種類型的UML圖——用例圖(用于描述參與者和系統(tǒng)功能關系的建模語言)、活動圖(用以描述參與者完成任務的完整活動流程的建模語言)、狀態(tài)機圖(用以描述某個目標在完整的流程中狀態(tài)變化的建模語言)、順序圖(用以描述在完成任務的流程中參與者之間交互順序的建模語言)。此波分享到此結(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é)議。

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務。

更多精彩內(nèi)容,請關注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. WPS 可以畫,會員版

    回復
  2. 這用xmind也可以畫

    回復
    1. 說錯,Visio

      回復
    2. drawio用完你會覺得visio就是渣,而且drawio還是免費開源的

      來自北京 回復
    3. drawio畫時序圖太難了 這些軟件我都用過,說不出那些好壞

      來自廣西 回復