第一次接觸UML(Unified Modeling Language統(tǒng)一建模語言)是在2年前,當(dāng)時正在學(xué)項目管理。當(dāng)書中講到系統(tǒng)設(shè)計階段時,作者引入了UML的相關(guān)內(nèi)容,但是2年過去了,筆者對UML的印象也就只停留在概念和樣式上,并沒有進(jìn)行實操理解。統(tǒng)一建模語言(Unified Modeling Language,UML)是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進(jìn)行說明、可視化和編制文檔的一種標(biāo)準(zhǔn)語言,是非專利的第三代建模和規(guī)約語言。UML是面向?qū)ο笤O(shè)計的建模工具,獨立于任何具體程序設(shè)計語言。
在這2年期間,在筆者PRD**現(xiàn)頻率最多的就是流程圖(+泳道)以及狀態(tài)機(jī)圖。對這些圖的使用和理解都是憑直覺和經(jīng)驗,并沒有過多去深挖他們的區(qū)別和原理,也沒有想過是否還有其他能夠更好表述自己思想的圖。巧合的是,在最近正在上的產(chǎn)品訓(xùn)練營課中,再次聽到主講老師講到了他使用UML來向工程師描述需求的案例,同時課堂中的一些引導(dǎo)和實操也讓我對「系統(tǒng)了解和學(xué)習(xí)UML」產(chǎn)生了好奇心。于是,在經(jīng)過學(xué)習(xí)后筆者整理輸出了下面4個產(chǎn)品經(jīng)理對UML最關(guān)注的4個問題:- 產(chǎn)品經(jīng)理是否有必要學(xué)習(xí)UML?
話不多說,下面將就上述4個問題進(jìn)行一一解答。一、產(chǎn)品經(jīng)理是否有必要學(xué)習(xí)UML?
UML,表面上是一種以圖來展示的語言,但其本質(zhì)是一種看待事物的思想和角度。通過UML,我們能夠擁有一個抓手,快速去挖掘到事物背后的屬性、特征和行為。舉個例子,當(dāng)你要向公司請假時,需要先向leader溝通審批;leader同意后,再將請假條拿給HR存檔;財務(wù)則要在核對上班和請假天數(shù)后計算出你的當(dāng)月最終工資。這件事涉及到了時間、請假、4個崗位部門的人、請假條、薪資等多個角度的內(nèi)容,其中有人、有物、有事,怎樣才能有一個抓手讓我們快速去捋清楚這件事的全貌和特征呢?我們最慣用的就是流程圖,而流程圖就正和UML中的活動圖不謀而合,通過時間的先后順序去捋清楚事件(活動)的時間線及邏輯,這是我們最常慣用的一種角度;但是,在這種角度下,如果我想快速了解請假這整件事的當(dāng)前狀態(tài)和狀態(tài)之間的變換方式時,就需要依賴UML中的狀態(tài)機(jī)圖,這樣我們就能快速了解做哪些事可以發(fā)起請假、哪些事會被leader拒絕等。由UML中的活動圖和狀態(tài)機(jī)圖舉例來看,UML能夠賦予我們看待事物的不同角度,幫助我們快速找到問題和事物的本質(zhì)??吹竭@里,是不是就和我們進(jìn)行需求分析的目標(biāo)有共同之處了?因此,個人是比較推薦產(chǎn)品經(jīng)理去學(xué)習(xí)一下UML的,我們不僅可以用UML對事物的本質(zhì)進(jìn)行更多視角的解讀,也可以借用它在我們和工程師之間搭建一座溝通的橋梁,更好地向工程師表達(dá)和闡述我們的產(chǎn)品和思想。二、如何學(xué)習(xí)UML?
UML總共有十多種圖,包含類圖、活動圖、狀態(tài)機(jī)圖、順序圖、用例圖、部署圖、構(gòu)建圖、包圖、時序圖、交互概覽圖、組合結(jié)構(gòu)圖。當(dāng)然不是!作為一般的業(yè)務(wù)型產(chǎn)品經(jīng)理,只需要掌握類圖、活動圖、狀態(tài)機(jī)圖、順序圖和用例圖即可。這5種圖能夠幫助我們更好地進(jìn)行問題解構(gòu)和需求分析,也是沒有技術(shù)背景的產(chǎn)品經(jīng)理很好掌握的5種圖。一般我們會把UML圖分為結(jié)構(gòu)型圖和行為型圖2種。結(jié)構(gòu)型圖描述的是事物及事物之間的結(jié)構(gòu),這個結(jié)構(gòu)在某段時間內(nèi)應(yīng)該是穩(wěn)定的、靜態(tài)的;而行為圖則描述的是事物的行為,是動態(tài)的。在這5種圖中,類圖是其中唯一的一種靜態(tài)結(jié)構(gòu)型圖,其余4種都是行為型圖。下面我們逐一來和大家講解一下這5種圖:2.1 類圖 class diagram
在這5種圖中,類圖可謂作是其他圖的基礎(chǔ)。因為每個系統(tǒng)都涉及到了大量的人、事、物,這些抽象出來的人事物或者概念就是我們所說的類。而任何UML圖都需要建立在有概念和類的基礎(chǔ)上才能展開結(jié)構(gòu)和行為的描述。其實在了解類圖時,我不自覺聯(lián)想到了之前學(xué)習(xí)數(shù)據(jù)庫時的E-R圖(Entity-Relationship實體-關(guān)系圖),這里類和實體的概念其實是有一些相似之處的。類圖也是一種幫助我們快速提煉出業(yè)務(wù)概念并識別出其屬性和關(guān)系的工具。類的屬性我們這里不過多展開,下面重點來了解下類之間的關(guān)系。常見的類與類之間的關(guān)系有:包含、繼承、依賴,其中包含又分為聚合aggregation和組合composition。包含
類的包含關(guān)系分為聚合aggregation和組合composition2種,從中文上看起來有些不直觀,我們直接用圖說話。下圖為聚合關(guān)系,其中A只能屬于B一個類,那么我們稱A和B是聚合(強(qiáng)包含)關(guān)系。例如A員工只能屬于某一個部門。
而這張圖中A既可以屬于B,也可以屬于C,二者不是強(qiáng)包含關(guān)系,則他們?yōu)榻M合(弱包含)關(guān)系。例如A員工既在B部門工作,又兼任C部門的部分工作。
繼承
繼承關(guān)系指A繼承了B的屬性,但同時也有自己特有的特點。例如,老師和學(xué)生都是「人」,但是老師和學(xué)生各自有各自的特性,那么他們就和「人」之間是一種繼承關(guān)系。繼承關(guān)系有助于我們抽絲剝繭地觀測到事物之間的本質(zhì),是一種進(jìn)行業(yè)務(wù)提煉的重要手段。依賴
依賴關(guān)系指A需要B協(xié)助才能完成某事,但并不是必須和賴以生存的關(guān)系。就像我們開會依賴于使用投影儀一樣,但沒有投影儀我們也照樣完成會議,只是可能沒那么方便。下面,我們用一個例子來完整表示一下類圖。以大家閱讀這篇文章為例,這次閱讀事件所涉及到的類有:讀者、作者、文章、微信公眾平臺。- 作者可以發(fā)布0到多篇文章,但一篇文章僅屬于1個作者
- 讀者也可以閱讀0到多篇文章,1篇文章也可以被0到多個讀者閱讀
2.2 活動圖 activity diagram
活動圖應(yīng)該是這5種圖中最不需要多廢口舌的,因為它和我們常見的流程圖很像,就是按照時間順序?qū)⒒顒拥倪壿嬚沓鰜怼?/span>下圖就是一個簡單的審批活動圖,通過該圖我們能清晰地了解一個完整的審批流程和邏輯。看到這里,自然有人會問,這些實心圓圈、圓角矩形等的具體UML繪圖語法必須要全部掌握嗎?按下圖這樣「原始」的畫法去畫有沒有問題?其實,在日常的工作中,基本沒有工程師會太過于糾結(jié)你的繪圖語法正確與否。因此,形式和語法不用太過學(xué)院派,只要能夠向讀者清晰表達(dá)和傳遞意思即可。2.3 狀態(tài)機(jī)圖 state machine diagram
活動圖是將流程分解為一個個的活動,通過活動的先后順序來展示流程;而狀態(tài)機(jī)圖則是圍繞一個事物的狀態(tài)為中心來講述流程。還是以審批為例,這次我們圍繞審批單為中心來描述流程。假設(shè)審批單有待審批、已撤銷、審批通過和審批拒絕這4種狀態(tài),那么我們繪制的狀態(tài)機(jī)圖如下:通過這個審批單的狀態(tài)機(jī)圖,我們能夠清晰地看出審批單的狀態(tài)以及影響其狀態(tài)的原因和活動。在一定程度上,它幫助我們減輕了設(shè)計審批單的工作量,也幫助工程師對審批流程有更好的理解。2.4 順序圖 sequence diagram
順序圖,有時候也會被混稱為時序圖,中文名字大家可以不用糾結(jié),重點記住sequence這個單詞就好。在前述的活動圖中,雖然流程較為清晰,但我們很難清晰地定義角色的具體職責(zé)邊界和通信交互,而順序圖則幫助我們補(bǔ)充到了這一點。從上圖中能夠很明顯的看出銷售負(fù)責(zé)什么、系統(tǒng)負(fù)責(zé)什么、而管理員又負(fù)責(zé)什么;同時也能清晰看出這3個角色各自的輸入輸出。由此可見,順序圖能夠幫助我們逐層撥開一個復(fù)雜業(yè)務(wù)的內(nèi)部運(yùn)作。2.5 用例圖 use case diagram
對于產(chǎn)品經(jīng)理而言,用例圖應(yīng)該也是相對比較容易掌握的一種圖。用例圖是以操作者的角度出發(fā),去看這個產(chǎn)品能夠帶給他哪些價值、支持他去操作和查看哪些東西。繼續(xù)沿用審批舉例:如上圖所示,我們能夠清晰地看出銷售能夠發(fā)起審批、撤銷審批和編輯審批,管理員能夠查看和執(zhí)行審批。換言之,用例圖能夠幫助業(yè)務(wù)方、產(chǎn)品和工程師以最直觀的角度認(rèn)識到產(chǎn)品能給客戶帶來什么價值,產(chǎn)品在幫助客戶做什么事。用例圖關(guān)注的是系統(tǒng)的外在表現(xiàn)、系統(tǒng)與人的交互、系統(tǒng)與其他系統(tǒng)的交互。用例圖沒有太多的技術(shù)用語和實現(xiàn)細(xì)節(jié),在需求初期對團(tuán)隊和客戶都是一種非常好的溝通工具。三、如何選擇哪種圖來表達(dá)?
UML有這么多種圖,如何去快速選擇最適合自己當(dāng)前需要的圖呢?筆者的建議是按照「類圖-用例圖-狀態(tài)機(jī)圖/順序圖/活動圖」這樣的順序去使用。
在需求前期,我們可以先使用類圖來識別類、類的屬性和關(guān)系。就像讀一段英語句子時,老師告訴我們要快速抓住句子的主謂賓結(jié)構(gòu),從而更快地理解句子意思。類圖也是一樣,在我們兩眼一抹黑的時候,能夠先讓我們了解到這件事中牽扯到的所有人事物,之后我們才能根據(jù)這些「素材」去展開后續(xù)的分析。接下來,我們可以通過用例圖去和客戶、工程師溝通產(chǎn)品的價值和能做的事,以一個粗粒度的角度框定產(chǎn)品范圍,看當(dāng)前的范圍是否能夠滿足客戶需求,幫助我們確立能夠開發(fā)出有價值有意義的產(chǎn)品。同時借助用例圖,產(chǎn)品也能夠向研發(fā)積極傳遞當(dāng)前所做產(chǎn)品的價值,避免工程師因功能價值理解不足而產(chǎn)生開發(fā)受阻的問題。最后,我們就要在狀態(tài)機(jī)圖、順序圖、活動圖中去做抉擇來描述具體流程了。這3種圖各自有各自的優(yōu)缺點,下面給出一些選擇上的參考建議:順序圖的特點
- 強(qiáng)調(diào)角色之間的交互,信息傳遞很明確
- 強(qiáng)調(diào)按時間順序分別發(fā)生了什么事情
- 不太適合表達(dá)復(fù)雜的特殊流程(循環(huán)分支、條件分支、可選分支)
活動圖的特點
- 強(qiáng)調(diào)每個角色做了什么事情,這些事情的先后關(guān)系
- 適合表達(dá)各種特殊流程,如分支、并發(fā)等
狀態(tài)機(jī)圖的特點
- 該東西有不同的狀態(tài),狀態(tài)會因為發(fā)生了一些事情而變化(來自《火球uml》)
從上述三個點中,我們能夠看出這3種流程分析圖之間的區(qū)別,在使用時加以選擇即可;同時也不要限制自己只能選擇一種,完成可以同時使用多種圖來從多個角度分析問題。四、如何把控畫圖的粒度?
畫圖相對是一個主觀性比較高的行為,看似掌握了,但實操中往往會容易遇到粒度把控的問題:要不粒度過細(xì)了、什么細(xì)節(jié)都想往圖上添;要不就是粒度不一致,這一分支的粒度很粗、而另一粒度的分支則很細(xì),讓讀者看得云里霧里。對于新手而言,粒度把控是一個需要持續(xù)練習(xí)后才能逐漸掌握的難點。那么,我們應(yīng)該如何掌控畫圖的粒度呢?- 明確該圖背后想表達(dá)的內(nèi)容和重點,以目標(biāo)為導(dǎo)向,看看自己的圖能否表達(dá)出對方想要理解到的內(nèi)容
- 先用宏觀的繪制一版粗粒度的圖出來,隨后再進(jìn)行粒度的逐層細(xì)化
- 畫完后可以多與讀者(工程師)交流,希望對方從閱讀角度提出改善建議,幫助自己持續(xù)貼近粒度的最佳把控點
看到這里,是不是覺得UML也沒有那么地高深和難懂,不過是一種看待事物的角度和思想罷了。本文沒有太細(xì)講繪圖語法,如果大家有興趣繼續(xù)深挖和學(xué)習(xí),推薦幾本還不錯的書《火球UML》《大象UML》《UML和模式應(yīng)用》。其中,《火球UML》更適合缺少技術(shù)背景的產(chǎn)品經(jīng)理來看,基本可以無障礙學(xué)完。u1s1,最好的UML學(xué)習(xí)方式就是邊學(xué)邊畫,如果你躍躍欲試,那就快找一個案例上手試試吧。
本文系作者:
冰冰醬
授權(quán)發(fā)表,鳥哥筆記平臺僅提供信息存儲空間服務(wù)。
本文為作者獨立觀點,不代表鳥哥筆記立場,未經(jīng)允許不得轉(zhuǎn)載。
《鳥哥筆記版權(quán)及免責(zé)申明》
如對文章、圖片、字體等版權(quán)有疑問,請點擊
反饋舉報
我們致力于提供一個高質(zhì)量內(nèi)容的交流平臺。為落實國家互聯(lián)網(wǎng)信息辦公室“依法管網(wǎng)、依法辦網(wǎng)、依法上網(wǎng)”的要求,為完善跟帖評論自律管理,為了保護(hù)用戶創(chuàng)造的內(nèi)容、維護(hù)開放、真實、專業(yè)的平臺氛圍,我們團(tuán)隊將依據(jù)本公約中的條款對注冊用戶和發(fā)布在本平臺的內(nèi)容進(jìn)行管理。平臺鼓勵用戶創(chuàng)作、發(fā)布優(yōu)質(zhì)內(nèi)容,同時也將采取必要措施管理違法、侵權(quán)或有其他不良影響的網(wǎng)絡(luò)信息。
一、根據(jù)《網(wǎng)絡(luò)信息內(nèi)容生態(tài)治理規(guī)定》《中華人民共和國未成年人保護(hù)法》等法律法規(guī),對以下違法、不良信息或存在危害的行為進(jìn)行處理。
1. 違反法律法規(guī)的信息,主要表現(xiàn)為:
1)反對憲法所確定的基本原則;
2)危害國家安全,泄露國家秘密,顛覆國家政權(quán),破壞國家統(tǒng)一,損害國家榮譽(yù)和利益;
3)侮辱、濫用英烈形象,歪曲、丑化、褻瀆、否定英雄烈士事跡和精神,以侮辱、誹謗或者其他方式侵害英雄烈士的姓名、肖像、名譽(yù)、榮譽(yù);
4)宣揚(yáng)恐怖主義、極端主義或者煽動實施恐怖活動、極端主義活動;
5)煽動民族仇恨、民族歧視,破壞民族團(tuán)結(jié);
6)破壞國家宗教政策,宣揚(yáng)邪教和封建迷信;
7)散布謠言,擾亂社會秩序,破壞社會穩(wěn)定;
8)宣揚(yáng)淫穢、色情、賭博、暴力、兇殺、恐怖或者教唆犯罪;
9)煽動非法集會、結(jié)社、游行、示威、聚眾擾亂社會秩序;
10)侮辱或者誹謗他人,侵害他人名譽(yù)、隱私和其他合法權(quán)益;
11)通過網(wǎng)絡(luò)以文字、圖片、音視頻等形式,對未成年人實施侮辱、誹謗、威脅或者惡意損害未成年人形象進(jìn)行網(wǎng)絡(luò)欺凌的;
12)危害未成年人身心健康的;
13)含有法律、行政法規(guī)禁止的其他內(nèi)容;
2. 不友善:不尊重用戶及其所貢獻(xiàn)內(nèi)容的信息或行為。主要表現(xiàn)為:
1)輕蔑:貶低、輕視他人及其勞動成果;
2)誹謗:捏造、散布虛假事實,損害他人名譽(yù);
3)嘲諷:以比喻、夸張、侮辱性的手法對他人或其行為進(jìn)行揭露或描述,以此來激怒他人;
4)挑釁:以不友好的方式激怒他人,意圖使對方對自己的言論作出回應(yīng),蓄意制造事端;
5)羞辱:貶低他人的能力、行為、生理或身份特征,讓對方難堪;
6)謾罵:以不文明的語言對他人進(jìn)行負(fù)面評價;
7)歧視:煽動人群歧視、地域歧視等,針對他人的民族、種族、宗教、性取向、性別、年齡、地域、生理特征等身份或者歸類的攻擊;
8)威脅:許諾以不良的后果來迫使他人服從自己的意志;
3. 發(fā)布垃圾廣告信息:以推廣曝光為目的,發(fā)布影響用戶體驗、擾亂本網(wǎng)站秩序的內(nèi)容,或進(jìn)行相關(guān)行為。主要表現(xiàn)為:
1)多次發(fā)布包含售賣產(chǎn)品、提供服務(wù)、宣傳推廣內(nèi)容的垃圾廣告。包括但不限于以下幾種形式:
2)單個帳號多次發(fā)布包含垃圾廣告的內(nèi)容;
3)多個廣告帳號互相配合發(fā)布、傳播包含垃圾廣告的內(nèi)容;
4)多次發(fā)布包含欺騙性外鏈的內(nèi)容,如未注明的淘寶客鏈接、跳轉(zhuǎn)網(wǎng)站等,誘騙用戶點擊鏈接
5)發(fā)布大量包含推廣鏈接、產(chǎn)品、品牌等內(nèi)容獲取搜索引擎中的不正當(dāng)曝光;
6)購買或出售帳號之間虛假地互動,發(fā)布干擾網(wǎng)站秩序的推廣內(nèi)容及相關(guān)交易。
7)發(fā)布包含欺騙性的惡意營銷內(nèi)容,如通過偽造經(jīng)歷、冒充他人等方式進(jìn)行惡意營銷;
8)使用特殊符號、圖片等方式規(guī)避垃圾廣告內(nèi)容審核的廣告內(nèi)容。
4. 色情低俗信息,主要表現(xiàn)為:
1)包含自己或他人性經(jīng)驗的細(xì)節(jié)描述或露骨的感受描述;
2)涉及色情段子、兩性笑話的低俗內(nèi)容;
3)配圖、頭圖中包含庸俗或挑逗性圖片的內(nèi)容;
4)帶有性暗示、性挑逗等易使人產(chǎn)生性聯(lián)想;
5)展現(xiàn)血腥、驚悚、殘忍等致人身心不適;
6)炒作緋聞、丑聞、劣跡等;
7)宣揚(yáng)低俗、庸俗、媚俗內(nèi)容。
5. 不實信息,主要表現(xiàn)為:
1)可能存在事實性錯誤或者造謠等內(nèi)容;
2)存在事實夸大、偽造虛假經(jīng)歷等誤導(dǎo)他人的內(nèi)容;
3)偽造身份、冒充他人,通過頭像、用戶名等個人信息暗示自己具有特定身份,或與特定機(jī)構(gòu)或個人存在關(guān)聯(lián)。
6. 傳播封建迷信,主要表現(xiàn)為:
1)找人算命、測字、占卜、解夢、化解厄運(yùn)、使用迷信方式治?。?br /> 2)求推薦算命看相大師;
3)針對具體風(fēng)水等問題進(jìn)行求助或咨詢;
4)問自己或他人的八字、六爻、星盤、手相、面相、五行缺失,包括通過占卜方法問婚姻、前程、運(yùn)勢,東西寵物丟了能不能找回、取名改名等;
7. 文章標(biāo)題黨,主要表現(xiàn)為:
1)以各種夸張、獵奇、不合常理的表現(xiàn)手法等行為來誘導(dǎo)用戶;
2)內(nèi)容與標(biāo)題之間存在嚴(yán)重不實或者原意扭曲;
3)使用夸張標(biāo)題,內(nèi)容與標(biāo)題嚴(yán)重不符的。
8.「飯圈」亂象行為,主要表現(xiàn)為:
1)誘導(dǎo)未成年人應(yīng)援集資、高額消費(fèi)、投票打榜
2)粉絲互撕謾罵、拉踩引戰(zhàn)、造謠攻擊、人肉搜索、侵犯隱私
3)鼓動「飯圈」粉絲攀比炫富、奢靡享樂等行為
4)以號召粉絲、雇用網(wǎng)絡(luò)水軍、「養(yǎng)號」形式刷量控評等行為
5)通過「蹭熱點」、制造話題等形式干擾輿論,影響傳播秩序
9. 其他危害行為或內(nèi)容,主要表現(xiàn)為:
1)可能引發(fā)未成年人模仿不安全行為和違反社會公德行為、誘導(dǎo)未成年人不良嗜好影響未成年人身心健康的;
2)不當(dāng)評述自然災(zāi)害、重大事故等災(zāi)難的;
3)美化、粉飾侵略戰(zhàn)爭行為的;
4)法律、行政法規(guī)禁止,或可能對網(wǎng)絡(luò)生態(tài)造成不良影響的其他內(nèi)容。
二、違規(guī)處罰
本網(wǎng)站通過主動發(fā)現(xiàn)和接受用戶舉報兩種方式收集違規(guī)行為信息。所有有意的降低內(nèi)容質(zhì)量、傷害平臺氛圍及欺凌未成年人或危害未成年人身心健康的行為都是不能容忍的。
當(dāng)一個用戶發(fā)布違規(guī)內(nèi)容時,本網(wǎng)站將依據(jù)相關(guān)用戶違規(guī)情節(jié)嚴(yán)重程度,對帳號進(jìn)行禁言 1 天、7 天、15 天直至永久禁言或封停賬號的處罰。當(dāng)涉及欺凌未成年人、危害未成年人身心健康、通過作弊手段注冊、使用帳號,或者濫用多個帳號發(fā)布違規(guī)內(nèi)容時,本網(wǎng)站將加重處罰。
三、申訴
隨著平臺管理經(jīng)驗的不斷豐富,本網(wǎng)站出于維護(hù)本網(wǎng)站氛圍和秩序的目的,將不斷完善本公約。
如果本網(wǎng)站用戶對本網(wǎng)站基于本公約規(guī)定做出的處理有異議,可以通過「建議反饋」功能向本網(wǎng)站進(jìn)行反饋。
(規(guī)則的最終解釋權(quán)歸屬本網(wǎng)站所有)