<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          干貨!一文解決產(chǎn)品經(jīng)理對(duì)UML的全部疑問(wèn)

          共 4685字,需瀏覽 10分鐘

           ·

          2021-05-14 09:54

          本文由作者 冰冰醬 發(fā)布于社區(qū)


          第一次接觸UMLUnified Modeling Language統(tǒng)一建模語(yǔ)言是在2年前,當(dāng)時(shí)正在學(xué)項(xiàng)目管理。當(dāng)書(shū)中講到系統(tǒng)設(shè)計(jì)階段時(shí),作者引入了UML的相關(guān)內(nèi)容,但是2年過(guò)去了,筆者對(duì)UML的印象也就只停留在概念和樣式上,并沒(méi)有進(jìn)行實(shí)操理解。


          統(tǒng)一建模語(yǔ)言(Unified Modeling Language,UML)是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進(jìn)行說(shuō)明、可視化和編制文檔的一種標(biāo)準(zhǔn)語(yǔ)言,是非專利的第三代建模和規(guī)約語(yǔ)言。UML是面向?qū)ο笤O(shè)計(jì)的建模工具,獨(dú)立于任何具體程序設(shè)計(jì)語(yǔ)言。


          在這2年期間,在筆者PRD中出現(xiàn)頻率最多的就是流程圖(+泳道)以及狀態(tài)機(jī)圖。對(duì)這些圖的使用和理解都是憑直覺(jué)和經(jīng)驗(yàn),并沒(méi)有過(guò)多去深挖他們的區(qū)別和原理,也沒(méi)有想過(guò)是否還有其他能夠更好表述自己思想的圖。


          巧合的是,在最近正在上的產(chǎn)品訓(xùn)練營(yíng)課中,再次聽(tīng)到主講老師講到了他使用UML來(lái)向工程師描述需求的案例,同時(shí)課堂中的一些引導(dǎo)和實(shí)操也讓我對(duì)「系統(tǒng)了解和學(xué)習(xí)UML」產(chǎn)生了好奇心。


          于是,在經(jīng)過(guò)學(xué)習(xí)后筆者整理輸出了下面4個(gè)產(chǎn)品經(jīng)理對(duì)UML最關(guān)注的4個(gè)問(wèn)題:


          • 產(chǎn)品經(jīng)理是否有必要學(xué)習(xí)UML?
          • 如何學(xué)習(xí)UML?
          • 如何選擇哪種圖來(lái)表達(dá)?
          • 如何把控畫(huà)圖的粒度?


          話不多說(shuō),下面將就上述4個(gè)問(wèn)題進(jìn)行一一解答。


          01

          產(chǎn)品經(jīng)理是否有必要學(xué)習(xí)UML?


          答案是肯定的,但是沒(méi)有必要全學(xué)。

          UML,表面上是一種以圖來(lái)展示的語(yǔ)言,但其本質(zhì)是一種看待事物的思想和角度。通過(guò)UML,我們能夠擁有一個(gè)抓手,快速去挖掘到事物背后的屬性、特征和行為。

          舉個(gè)例子,當(dāng)你要向公司請(qǐng)假時(shí),需要先向leader溝通審批;leader同意后,再將請(qǐng)假條拿給HR存檔;財(cái)務(wù)則要在核對(duì)上班和請(qǐng)假天數(shù)后計(jì)算出你的當(dāng)月最終工資。

          這件事涉及到了時(shí)間、請(qǐng)假、4個(gè)崗位部門(mén)的人、請(qǐng)假條、薪資等多個(gè)角度的內(nèi)容,其中有人、有物、有事,怎樣才能有一個(gè)抓手讓我們快速去捋清楚這件事的全貌和特征呢?

          我們最慣用的就是流程圖,而流程圖就正和UML中的活動(dòng)圖不謀而合,通過(guò)時(shí)間的先后順序去捋清楚事件(活動(dòng))的時(shí)間線及邏輯,這是我們最常慣用的一種角度;

          但是,在這種角度下,如果我想快速了解請(qǐng)假這整件事的當(dāng)前狀態(tài)和狀態(tài)之間的變換方式時(shí),就需要依賴UML中的狀態(tài)機(jī)圖,這樣我們就能快速了解做哪些事可以發(fā)起請(qǐng)假、哪些事會(huì)被leader拒絕等。

          由UML中的活動(dòng)圖和狀態(tài)機(jī)圖舉例來(lái)看,UML能夠賦予我們看待事物的不同角度,幫助我們快速找到問(wèn)題和事物的本質(zhì)。看到這里,是不是就和我們進(jìn)行需求分析的目標(biāo)有共同之處了?

          因此,個(gè)人是比較推薦產(chǎn)品經(jīng)理去學(xué)習(xí)一下UML的,我們不僅可以用UML對(duì)事物的本質(zhì)進(jìn)行更多視角的解讀,也可以借用它在我們和工程師之間搭建一座溝通的橋梁,更好地向工程師表達(dá)和闡述我們的產(chǎn)品和思想。


          02

          如何學(xué)習(xí)UML?


          UML總共有十多種圖,包含類(lèi)圖、活動(dòng)圖、狀態(tài)機(jī)圖、順序圖、用例圖、部署圖、構(gòu)建圖、包圖、時(shí)序圖、交互概覽圖、組合結(jié)構(gòu)圖。

          我們是不是要全部掌握呢?

          當(dāng)然不是!作為一般的業(yè)務(wù)型產(chǎn)品經(jīng)理,只需要掌握類(lèi)圖、活動(dòng)圖、狀態(tài)機(jī)圖、順序圖和用例圖即可。這5種圖能夠幫助我們更好地進(jìn)行問(wèn)題解構(gòu)和需求分析,也是沒(méi)有技術(shù)背景的產(chǎn)品經(jīng)理很好掌握的5種圖。

          一般我們會(huì)把UML圖分為結(jié)構(gòu)型圖和行為型圖2種。結(jié)構(gòu)型圖描述的是事物及事物之間的結(jié)構(gòu),這個(gè)結(jié)構(gòu)在某段時(shí)間內(nèi)應(yīng)該是穩(wěn)定的、靜態(tài)的;而行為圖則描述的是事物的行為,是動(dòng)態(tài)的。

          在這5種圖中,類(lèi)圖是其中唯一的一種靜態(tài)結(jié)構(gòu)型圖,其余4種都是行為型圖。下面我們逐一來(lái)和大家講解一下這5種圖:

          2.1  類(lèi)圖 class diagram


          在這5種圖中,類(lèi)圖可謂作是其他圖的基礎(chǔ)。因?yàn)槊總€(gè)系統(tǒng)都涉及到了大量的人、事、物,這些抽象出來(lái)的人事物或者概念就是我們所說(shuō)的類(lèi)。而任何UML圖都需要建立在有概念和類(lèi)的基礎(chǔ)上才能展開(kāi)結(jié)構(gòu)和行為的描述。

          其實(shí)在了解類(lèi)圖時(shí),我不自覺(jué)聯(lián)想到了之前學(xué)習(xí)數(shù)據(jù)庫(kù)時(shí)的E-R圖(Entity-Relationship實(shí)體-關(guān)系圖),這里類(lèi)和實(shí)體的概念其實(shí)是有一些相似之處的。類(lèi)圖也是一種幫助我們快速提煉出業(yè)務(wù)概念并識(shí)別出其屬性和關(guān)系的工具。

          類(lèi)的屬性我們這里不過(guò)多展開(kāi),下面重點(diǎn)來(lái)了解下類(lèi)之間的關(guān)系。常見(jiàn)的類(lèi)與類(lèi)之間的關(guān)系有:包含、繼承、依賴,其中包含又分為聚合aggregation和組合composition。

          包含

          類(lèi)的包含關(guān)系分為聚合aggregation和組合composition2種,從中文上看起來(lái)有些不直觀,我們直接用圖說(shuō)話。
          下圖為聚合關(guān)系,其中A只能屬于B一個(gè)類(lèi),那么我們稱A和B是聚合(強(qiáng)包含)關(guān)系。例如A員工只能屬于某一個(gè)部門(mén)。

          (聚合關(guān)系)

          而這張圖中A既可以屬于B,也可以屬于C,二者不是強(qiáng)包含關(guān)系,則他們?yōu)榻M合(弱包含)關(guān)系。例如A員工既在B部門(mén)工作,又兼任C部門(mén)的部分工作。


          (組合關(guān)系)



          繼承

          繼承關(guān)系指A繼承了B的屬性,但同時(shí)也有自己特有的特點(diǎn)。例如,老師和學(xué)生都是「人」,但是老師和學(xué)生各自有各自的特性,那么他們就和「人」之間是一種繼承關(guān)系。

          繼承關(guān)系有助于我們抽絲剝繭地觀測(cè)到事物之間的本質(zhì),是一種進(jìn)行業(yè)務(wù)提煉的重要手段。

          依賴

          依賴關(guān)系指A需要B協(xié)助才能完成某事,但并不是必須和賴以生存的關(guān)系。就像我們開(kāi)會(huì)依賴于使用投影儀一樣,但沒(méi)有投影儀我們也照樣完成會(huì)議,只是可能沒(méi)那么方便。

          下面,我們用一個(gè)例子來(lái)完整表示一下類(lèi)圖。以大家閱讀這篇文章為例,這次閱讀事件所涉及到的類(lèi)有:讀者、作者、文章、微信公眾平臺(tái)。


          • 作者將文章發(fā)表在微信公眾平臺(tái)
          • 讀者前往微信公眾平臺(tái)閱讀文章
          • 作者可以發(fā)布0到多篇文章,但一篇文章僅屬于1個(gè)作者
          • 讀者也可以閱讀0到多篇文章,1篇文章也可以被0到多個(gè)讀者閱讀


          2.2 活動(dòng)圖 activity diagram


          活動(dòng)圖應(yīng)該是這5種圖中最不需要多廢口舌的,因?yàn)樗臀覀兂R?jiàn)的流程圖很像,就是按照時(shí)間順序?qū)⒒顒?dòng)的邏輯整理出來(lái)。

          下圖就是一個(gè)簡(jiǎn)單的審批活動(dòng)圖,通過(guò)該圖我們能清晰地了解一個(gè)完整的審批流程和邏輯。


          看到這里,自然有人會(huì)問(wèn),這些實(shí)心圓圈、圓角矩形等的具體UML繪圖語(yǔ)法必須要全部掌握嗎?按下圖這樣「原始」的畫(huà)法去畫(huà)有沒(méi)有問(wèn)題?


          其實(shí),在日常的工作中,基本沒(méi)有工程師會(huì)太過(guò)于糾結(jié)你的繪圖語(yǔ)法正確與否。因此,形式和語(yǔ)法不用太過(guò)學(xué)院派,只要能夠向讀者清晰表達(dá)和傳遞意思即可。


          2.3 狀態(tài)機(jī)圖 state machine diagram


          活動(dòng)圖是將流程分解為一個(gè)個(gè)的活動(dòng),通過(guò)活動(dòng)的先后順序來(lái)展示流程;而狀態(tài)機(jī)圖則是圍繞一個(gè)事物的狀態(tài)為中心來(lái)講述流程。
          還是以審批為例,這次我們圍繞審批單為中心來(lái)描述流程。假設(shè)審批單有待審批、已撤銷(xiāo)、審批通過(guò)和審批拒絕這4種狀態(tài),那么我們繪制的狀態(tài)機(jī)圖如下:


          通過(guò)這個(gè)審批單的狀態(tài)機(jī)圖,我們能夠清晰地看出審批單的狀態(tài)以及影響其狀態(tài)的原因和活動(dòng)。在一定程度上,它幫助我們減輕了設(shè)計(jì)審批單的工作量,也幫助工程師對(duì)審批流程有更好的理解。


          2.4 順序圖 sequence diagram


          順序圖,有時(shí)候也會(huì)被混稱為時(shí)序圖,中文名字大家可以不用糾結(jié),重點(diǎn)記住sequence這個(gè)單詞就好。

          在前述的活動(dòng)圖中,雖然流程較為清晰,但我們很難清晰地定義角色的具體職責(zé)邊界和通信交互,而順序圖則幫助我們補(bǔ)充到了這一點(diǎn)。

          下面,我們嘗試一下從順序圖的角度來(lái)描述審批流程:


          從上圖中能夠很明顯的看出銷(xiāo)售負(fù)責(zé)什么、系統(tǒng)負(fù)責(zé)什么、而管理員又負(fù)責(zé)什么;同時(shí)也能清晰看出這3個(gè)角色各自的輸入輸出。由此可見(jiàn),順序圖能夠幫助我們逐層撥開(kāi)一個(gè)復(fù)雜業(yè)務(wù)的內(nèi)部運(yùn)作。


          2.5 用例圖 use case diagram


          對(duì)于產(chǎn)品經(jīng)理而言,用例圖應(yīng)該也是相對(duì)比較容易掌握的一種圖。
          用例圖是以操作者的角度出發(fā),去看這個(gè)產(chǎn)品能夠帶給他哪些價(jià)值、支持他去操作和查看哪些東西。繼續(xù)沿用審批舉例:


          如上圖所示,我們能夠清晰地看出銷(xiāo)售能夠發(fā)起審批、撤銷(xiāo)審批和編輯審批,管理員能夠查看和執(zhí)行審批。換言之,用例圖能夠幫助業(yè)務(wù)方、產(chǎn)品和工程師以最直觀的角度認(rèn)識(shí)到產(chǎn)品能給客戶帶來(lái)什么價(jià)值,產(chǎn)品在幫助客戶做什么事。

          用例圖關(guān)注的是系統(tǒng)的外在表現(xiàn)、系統(tǒng)與人的交互、系統(tǒng)與其他系統(tǒng)的交互。用例圖沒(méi)有太多的技術(shù)用語(yǔ)和實(shí)現(xiàn)細(xì)節(jié),在需求初期對(duì)團(tuán)隊(duì)和客戶都是一種非常好的溝通工具。


          03

          如何選擇哪種圖來(lái)表達(dá)?


          UML有這么多種圖,如何去快速選擇最適合自己當(dāng)前需要的圖呢?
          筆者的建議是按照「類(lèi)圖-用例圖-狀態(tài)機(jī)圖/順序圖/活動(dòng)圖」這樣的順序去使用。

          在需求前期,我們可以先使用類(lèi)圖來(lái)識(shí)別類(lèi)、類(lèi)的屬性和關(guān)系。就像讀一段英語(yǔ)句子時(shí),老師告訴我們要快速抓住句子的主謂賓結(jié)構(gòu),從而更快地理解句子意思。類(lèi)圖也是一樣,在我們兩眼一抹黑的時(shí)候,能夠先讓我們了解到這件事中牽扯到的所有人事物,之后我們才能根據(jù)這些「素材」去展開(kāi)后續(xù)的分析。

          接下來(lái),我們可以通過(guò)用例圖去和客戶、工程師溝通產(chǎn)品的價(jià)值和能做的事,以一個(gè)粗粒度的角度框定產(chǎn)品范圍,看當(dāng)前的范圍是否能夠滿足客戶需求,幫助我們確立能夠開(kāi)發(fā)出有價(jià)值有意義的產(chǎn)品。

          同時(shí)借助用例圖,產(chǎn)品也能夠向研發(fā)積極傳遞當(dāng)前所做產(chǎn)品的價(jià)值,避免工程師因功能價(jià)值理解不足而產(chǎn)生開(kāi)發(fā)受阻的問(wèn)題。

          最后,我們就要在狀態(tài)機(jī)圖、順序圖、活動(dòng)圖中去做抉擇來(lái)描述具體流程了。這3種圖各自有各自的優(yōu)缺點(diǎn),下面給出一些選擇上的參考建議:

          順序圖的特點(diǎn)


          • 強(qiáng)調(diào)角色之間的交互,信息傳遞很明確
          • 強(qiáng)調(diào)按時(shí)間順序分別發(fā)生了什么事情
          • 不太適合表達(dá)復(fù)雜的特殊流程(循環(huán)分支、條件分支、可選分支)

          活動(dòng)圖的特點(diǎn)


          • 強(qiáng)調(diào)每個(gè)角色做了什么事情,這些事情的先后關(guān)系
          • 適合表達(dá)各種特殊流程,如分支、并發(fā)等

          狀態(tài)機(jī)圖的特點(diǎn)


          • 事情圍繞某東西開(kāi)展
          • 該東西有不同的狀態(tài),狀態(tài)會(huì)因?yàn)榘l(fā)生了一些事情而變化(來(lái)自《火球uml》)

          從上述三個(gè)點(diǎn)中,我們能夠看出這3種流程分析圖之間的區(qū)別,在使用時(shí)加以選擇即可;同時(shí)也不要限制自己只能選擇一種,完成可以同時(shí)使用多種圖來(lái)從多個(gè)角度分析問(wèn)題。


          04

          如何把控畫(huà)圖的粒度?


          畫(huà)圖相對(duì)是一個(gè)主觀性比較高的行為,看似掌握了,但實(shí)操中往往會(huì)容易遇到粒度把控的問(wèn)題:要不粒度過(guò)細(xì)了、什么細(xì)節(jié)都想往圖上添;要不就是粒度不一致,這一分支的粒度很粗、而另一粒度的分支則很細(xì),讓讀者看得云里霧里。

          對(duì)于新手而言,粒度把控是一個(gè)需要持續(xù)練習(xí)后才能逐漸掌握的難點(diǎn)。那么,我們應(yīng)該如何掌控畫(huà)圖的粒度呢?

          • 明確該圖背后想表達(dá)的內(nèi)容和重點(diǎn),以目標(biāo)為導(dǎo)向,看看自己的圖能否表達(dá)出對(duì)方想要理解到的內(nèi)容
          • 先用宏觀的繪制一版粗粒度的圖出來(lái),隨后再進(jìn)行粒度的逐層細(xì)化
          • 畫(huà)完后可以多與讀者(工程師)交流,希望對(duì)方從閱讀角度提出改善建議,幫助自己持續(xù)貼近粒度的最佳把控點(diǎn)

          看到這里,是不是覺(jué)得UML也沒(méi)有那么高深和難懂,不過(guò)是一種看待事物的角度和思想罷了。本文沒(méi)有太細(xì)講繪圖語(yǔ)法,如果大家有興趣繼續(xù)深挖和學(xué)習(xí),推薦幾本還不錯(cuò)的書(shū)《火球UML》《大象UML》《UML和模式應(yīng)用》。其中,《火球UML》更適合缺少技術(shù)背景的產(chǎn)品經(jīng)理來(lái)看,基本可以無(wú)障礙學(xué)完。

          u1s1,最好的UML學(xué)習(xí)方式就是邊學(xué)邊畫(huà),如果你躍躍欲試,那就快找一個(gè)案例上手試試吧。

          ↘好文推薦:
          俞軍:產(chǎn)品經(jīng)理必備的2個(gè)模型
          用戶細(xì)分指南:6種模型與5類(lèi)維度
          產(chǎn)品方案:我的PRD撰寫(xiě)規(guī)范

          點(diǎn)個(gè)“在看”吧
          瀏覽 22
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  自拍青青在线视频 | 免费A片视频网站 | 三级久久三级久久三级 | 中文乱伦。 | 成人免费av |