UML建模在產(chǎn)品經(jīng)理工作中的應(yīng)用
編輯導語:UML圖是產(chǎn)品經(jīng)理的一個有效工具,利用UML圖,產(chǎn)品經(jīng)理可以更好地挖掘業(yè)務(wù)需求,使需求文檔更加清晰明了,進而推動團隊業(yè)務(wù)的整體進行。本篇文章里,作者對UML圖進行了整體總結(jié),并介紹了各類UML圖的相關(guān)語法,一起來看一下。
UML為什么能在產(chǎn)品工作中應(yīng)用?能解決產(chǎn)品經(jīng)理工作上的哪些痛點?
一、先看圖例
是否在工作中見過這些圖呢?
是否在偏技術(shù)型的文檔中見過這些圖?
1)這是一張“用戶——角色——權(quán)限”關(guān)聯(lián)關(guān)系圖,表達了“表”與“表”之間的關(guān)系;屬于類圖。
2)這是一張拼團產(chǎn)品中“用戶——團——權(quán)益”的對應(yīng)關(guān)系圖,以及每個業(yè)務(wù)概念的屬性字段與操作;同樣屬于類圖。
3)這是一張表達相對獨立的功能間的關(guān)系圖,表達了一個功能模塊的輸入與輸出,及與另一個功能模塊間的供需關(guān)系;屬于構(gòu)件圖。
4)這是一張表達服務(wù)器、數(shù)據(jù)庫、使用網(wǎng)絡(luò)地域范圍的部署圖。
5)這是一張以“員工申請立項,三個領(lǐng)導審批”事件為主的流程圖。
6)這是上圖中“審批單”的狀態(tài)變化圖,學名:狀態(tài)機圖。表達了審批單在不同用戶的操作下的觸發(fā)的狀態(tài)變化。
7)這是一張用戶在注冊賬戶過程中“用戶——前端界面——后端系統(tǒng)——數(shù)據(jù)庫”之間的交互及信息傳遞圖,學名順序圖,主要用來表達復雜的交互、系統(tǒng)與系統(tǒng)之間的交互。
8)這是一張表達了某系統(tǒng)范圍內(nèi)三種角色各自可操作的用例,以及角色與角色之間的繼承關(guān)系,屬于用例圖。
看完上面7種圖,感覺流程圖最熟悉了,其他的幾種圖似曾相識。那么,其他的圖有什么作用呢?先看看我們工作中的痛點。
二、產(chǎn)品經(jīng)理工作中的痛點
- 業(yè)務(wù)分析時,范圍不清晰、邏輯不嚴謹,或自己的方案超出技術(shù)邊界。
- 剛接手一個產(chǎn)品時,弄不清一個概念與另一個概念的對應(yīng)關(guān)系、關(guān)聯(lián)關(guān)系,同事也不能系統(tǒng)地給你講述全面。
- 需求文檔中,文字描述很清楚,但程序員搞不清楚也不愛看文字。
- 經(jīng)常聽到程序員說:我們沒有這張表、沒有這個字段,這個表不能再加字段了。
- 和程序員討論最多的也是:如果用戶這樣操作了該顯示什么狀態(tài)?該怎么提示?
怎么才能在避免這些問題呢—— 利用UML作為溝通語言、利用UML圖作為思考工具。
三、UML是什么
1. What:是什么?
- UML,Unified Modeling Language,統(tǒng)一建模語言。
- 建模的輸出主要是圖的形式,分為兩類,一種是結(jié)構(gòu)型圖、一種是行為型圖。
- 我們常畫的流程圖就是一種行為型的UML。
2. Who:誰來用?
- 產(chǎn)品經(jīng)理(需求分析時可畫出簡易版的UML圖);
- 程序員(學技術(shù)的都能看懂ULM,甚至可以和程序員一起完善UML)。
3. When:產(chǎn)品經(jīng)理什么時候用到UML?
- 業(yè)務(wù)分析提煉需求、挖掘需求時;
- 與技術(shù)人員交流時。
4. Where:用在什么地方?
需求文檔。
5. Why:為什么要用?
- 作為一種工具可以幫助產(chǎn)品經(jīng)理完整無遺漏地梳理需求。
- 作為一種語言,可以清晰易懂,與技術(shù)人員順暢溝通。
- 作為以圖形為主的語言,更形象易懂。
四、產(chǎn)品工作中常用的UML有哪些?
最常用的是:流程圖、狀態(tài)機圖、順序圖、用例圖、類圖。
五、各類UML圖的語法
學習網(wǎng)站:http://www.uml.org.cn/oobject/OObject.asp
學習書籍:《UML大戰(zhàn)需求分析》,作者:火球
1. 類圖
1)什么是類
類是面向?qū)ο蟮?,里面有屬性、有操作。通俗講一個類就是一個業(yè)務(wù)概念、就是一張表。
在表達類與類之間關(guān)系時,一般隱藏屬性和操作,只用類名代表一個類。
2)語法
在類圖的表達中,一定要注意箭頭的區(qū)別。
① 關(guān)聯(lián)關(guān)系
a)用直線相連接,代表兩個類之間有關(guān)聯(lián)關(guān)系,當不確定具體關(guān)系時,均先用直線鏈接;直線兩端的數(shù)字代表對應(yīng)的數(shù)量關(guān)系,如下:
代表1個G可以0~3個M,如一個拼團除了團長可以有0~3個團員。
b)導航關(guān)系
代表由A可以導航到B,通俗講是由A可以找到B,如:在拼團名單中可以找到參與用戶。
② 聚合關(guān)系,即弱包含關(guān)系
代表一個部門可以由多個員工組成,如果部門沒了,員工可繼續(xù)存在。
③ 組合關(guān)系,即強包含關(guān)系
代表一個部門可以由多個員工組成,如果部門沒了,員工也就沒了。
④ 泛化關(guān)系
代表A泛化為B,A具備B的特點,也有自己的特有特點,如香蕉泛化為水果。
⑤ 依賴關(guān)系
代表A依賴于B,對于某件事,A需要B的協(xié)助才能完成。
3)類圖建模的步驟
- 識別類,先記下類的名稱;
- 識別出類的主要屬性、操作;
- 描繪出類之間的關(guān)系;
- 對各類進行分析、抽象、整理。
這個圖是網(wǎng)上找的,箭頭使用不是很規(guī)范。切記要使用類圖語法中的箭頭。
2. 構(gòu)件圖
1)什么是構(gòu)件?
2)語法
① 一個構(gòu)件符號如下。服務(wù)接口像一個手一個拳頭,可聯(lián)系記憶為:伸手要服務(wù),出拳打人服務(wù)。
② 兩個構(gòu)件之間的對接如下:
③ 示例如下:
3. 部署圖
產(chǎn)品經(jīng)理一般需要搞清楚:
- 服務(wù)器部署在哪里?數(shù)據(jù)庫放在哪里?
- 是互聯(lián)網(wǎng)還是局域網(wǎng)?
4. 活動圖(流程圖)
活動圖比較常用,不做太多講述,但在畫圖時一定要規(guī)范,如每個活動用“主動賓”的表達方式,當采用泳道圖,有角色泳道時,可以省略“主語”。
1)語法
2)繪制步驟
- 明確該流程要表達怎么樣的業(yè)務(wù)目的?
- 該流程有什么角色?
- 畫出正常情況下的流程,是流程的主干,一般是線性的流程。
- 明確主干流程中的角色與活動。
- 逐步增加分支流程,將關(guān)鍵的流程分支畫出,部分異常流程可簡單畫出并用文字說明。
- 適當控制活動粒度。
- 優(yōu)化流程。
5. 狀態(tài)機圖
狀態(tài)機圖是從某個事物的狀態(tài)是如何變化的角度來展示流程。在觸發(fā)行為描述時也要嚴格采用“主動賓”的表達方式。
1)語法
- 開始狀態(tài)。
- 結(jié)束狀態(tài)。
- 狀態(tài)框:一個圓角矩形框代表一個狀態(tài),框內(nèi)文字為狀態(tài)名稱。
- 轉(zhuǎn)換:狀態(tài)與狀態(tài)之間的箭頭叫做轉(zhuǎn)換,箭頭上的文字說明發(fā)生了什么事情導致狀態(tài)發(fā)生了變化。
2)步驟
- 狀態(tài)機圖與流程圖的目的相似,只不過是以某一事物為主,所以開始時先畫流程圖,根據(jù)流程圖畫狀態(tài)機圖;
- 明確參與的角色;
- 明確該事物有什么狀態(tài);
- 明確狀態(tài)在什么角色的什么動作下觸發(fā)變化。
6. 順序圖
1)基本語法
順序圖的讀法是:從上到下,從左到右。如下案列:
此圖為我們在ATM取款機取款時的人機交互。
2)復雜語法
- loop:為循環(huán)語法,如果滿足循環(huán)條件,則重復執(zhí)行本框里的內(nèi)容。
- alt:條件語法,相當于if……else……語法,即滿足哪個條件就執(zhí)行這個條件下的動作。
- opt:可選語法,如果滿足可選條件,就執(zhí)行框中的內(nèi)容,否則跳過不執(zhí)行。
如下案例:還是我們在ATM取款機取款時的人機交互,只是更為復雜些。表述了只要輸入密碼就檢查密碼合法性,當輸錯超過三次時吞卡。密碼正確時直接給與顧客菜單。
3)步驟
- 針對某一條流程中分析各角色的交互方式時;
- 先分析有哪些角色參與這個流程;
- 分析各角色在這個流程中的職責,各角色的專業(yè)特色;
- 將流程分解為角色與角色之間的交互,想清楚各角色之間的“接口”是怎樣的;
- 用順序圖按照時間順序?qū)ⅰ敖换ァ眲幼鹘M織起來;
- 適當控制好粒度,不斷優(yōu)化和重組。有太復雜分支機構(gòu)的流程不適用。
4)備注
一般產(chǎn)品經(jīng)理可以不用畫復雜語法的內(nèi)容,只需要畫出關(guān)鍵重點交互即可,如下:
7. 用例圖
用例圖主要用來回答兩個問題——這個系統(tǒng)的用戶角色有哪些?每個角色能干什么?
1)基本語法
角色、用例、系統(tǒng)范圍、關(guān)聯(lián)關(guān)系。
2)復雜語法
角色的繼承、用例的繼承、用例的include、用例的extend。
3)步驟
- 明確系統(tǒng)范圍;
- 有什么角色,角色與角色之間關(guān)系;
- 有什么用例,角色與用例之間關(guān)系,用例的子用例及擴展。
本文由 @七牛 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
不錯 很實用