產(chǎn)品經(jīng)理必看:常用的UML建模詳解
關(guān)于UML,我相信在做B端的產(chǎn)品經(jīng)理一定知道它的重要性。那么UML常用的圖都包含哪些呢?它們都在什么場(chǎng)景什么階段使用?如何使用?這篇文章主要幫助小伙伴們解答這些問(wèn)題。
一、UML的分類及用途
首先簡(jiǎn)單給大家介紹一下什么是UML,UML的全稱是Unified Modeling Language。翻譯過(guò)來(lái)就是統(tǒng)一建模語(yǔ)言。它對(duì)產(chǎn)品經(jīng)理最主要的作用是用于需求分析中更好的梳理邏輯,同時(shí)能夠提升溝通效率。
UML主要包括圖表中的十一種,那在本次的介紹中,只講解類圖、構(gòu)件圖、部署圖、活動(dòng)圖、狀態(tài)機(jī)圖、順序圖、用例圖。
通常對(duì)業(yè)務(wù)概念等靜態(tài)結(jié)構(gòu)進(jìn)行系統(tǒng)化的梳理和提煉,我們叫它結(jié)構(gòu)建模。而于對(duì)業(yè)務(wù)流程等動(dòng)態(tài)內(nèi)容進(jìn)行系統(tǒng)化的梳理和提煉,我們叫它行為建模。
而需求分析的核心目的是解決軟件有沒有用的問(wèn)題,軟件設(shè)計(jì)是解決軟件用多大的成本做出來(lái)的問(wèn)題,所以需求分析首要任務(wù)是保證軟件的價(jià)值。
那么如何學(xué)好UML呢?其實(shí)UML的語(yǔ)法很簡(jiǎn)單,但是想要學(xué)好UML關(guān)鍵在于要改變思維習(xí)慣。要在平時(shí)多培養(yǎng)自己的書面表達(dá)能力、歸納總結(jié)能力、思維能力和抽象能力。
二、類圖
裝逼的講,類圖(Class diagram)是顯示了模型的靜態(tài)結(jié)構(gòu),特別是模型中存在的類、類的內(nèi)部結(jié)構(gòu)以及它們與其他類的關(guān)系等。那它其實(shí)就是用來(lái)幫助我們識(shí)別出人、事、物和業(yè)務(wù)的概念,并理清它們的關(guān)系的一種方法。
2.1 類圖的基礎(chǔ)知識(shí)
在聊類圖之前先讓我們理清幾個(gè)概念。
首先,什么是類?將某類東西歸納在一起就可以成為一個(gè)類。
例如,本文的讀者,我們就可以分為初級(jí)產(chǎn)品經(jīng)理,高級(jí)產(chǎn)品經(jīng)理;或者分為產(chǎn)品經(jīng)理和非產(chǎn)品經(jīng)理;這些都可以叫做類。
然后,什么是類圖?類圖就是一個(gè)矩形的方框,上面是類的名字,中間是屬性,下面是操作。
比如這篇文章的讀者是產(chǎn)品經(jīng)理,那產(chǎn)品經(jīng)理的屬性就有性別,年齡,級(jí)別等;如果要列舉當(dāng)然會(huì)有很多屬性,但是我們只找出相關(guān)且對(duì)我們有用的屬性。
那一般如何用類圖獲取需求呢?首先要識(shí)別出類。其次識(shí)別出類的主要屬性。然后描述出類之間的關(guān)系,最后在對(duì)各類進(jìn)行分析、抽象、整理。
2.2 類之間的關(guān)系
(1)直線關(guān)系
直線關(guān)系其實(shí)就是我們常說(shuō)的關(guān)聯(lián)關(guān)系,A關(guān)聯(lián)B,如下圖:
那如果在直線兩端加上數(shù)字1,那就是1對(duì)1的關(guān)系,如下圖:
同樣,如果將B旁邊的1改成*,那就是1對(duì)多的關(guān)系,如下圖:
那如果將*改成0..3,那就是0到3的意思。如果是1..4那就是1到4的意思。下入就是1對(duì)0..3的意思:
如果把數(shù)字換成了上司和下屬,那么他們就是角色關(guān)系了,就代表a是b的上級(jí),b是a的下屬。如下圖:
如果把數(shù)字換成箭頭,那就變成了導(dǎo)航關(guān)系,即由A可找到B,如下圖:
(2)包含關(guān)系
包含關(guān)系有兩種表示方法,一種是空心菱形,一種是實(shí)心菱形;空心菱形可以表示為弱包含的關(guān)系,實(shí)心菱形可以表示為強(qiáng)包含的關(guān)系。
弱包含關(guān)系即部門沒有了,員工可以繼續(xù)存在。強(qiáng)包含關(guān)系是部門沒有了,員工也就不存在了。
以下圖中表示的為,一個(gè)部門可以包含多個(gè)員工:
(3)繼承關(guān)系
繼承關(guān)系是誰(shuí)繼承了誰(shuí)的屬性。例如香蕉,蘋果,葡萄他們繼承了水果的屬性,同時(shí)又擁有自己的屬性。
我們用一個(gè)三角來(lái)表示,如下圖:
(4)依賴關(guān)系
所謂的依賴關(guān)系,依賴程度是相對(duì)而言的,不一定是A沒有B就不能生存了。
在實(shí)際的業(yè)務(wù)邏輯當(dāng)中,對(duì)于某個(gè)事情,A需要B來(lái)協(xié)助完成,也是一種依賴關(guān)系,依賴關(guān)系使用虛線箭頭表示。
2.3 類圖的進(jìn)階
(1)遞歸關(guān)系
我們常用的電腦系統(tǒng)中,如果用類圖表示出文件夾與文件的關(guān)系,那么該如何表達(dá)呢?是文件夾包含文件嗎?那文件夾和文件夾的關(guān)系呢?
使用遞歸關(guān)系,我們就可以更好的表達(dá)出來(lái)。
遞歸關(guān)系分為自包含和自關(guān)聯(lián),和字面的解釋一樣,就是自己包含自己,自己關(guān)聯(lián)自己。
下圖分別是自包含和自關(guān)聯(lián):
(2)三角關(guān)系
當(dāng)某些屬性值并不是由該類本身就可以確定的時(shí)候,我們可以使用三角關(guān)系;
例如員工的薪資,職位等,并不是由公司可以確定的,而是由勞動(dòng)合同來(lái)確定的,那么我們的表達(dá)方式如下:
三、活動(dòng)圖
活動(dòng)圖是用來(lái)表達(dá)流程最常用的一種UML圖,它和流程圖很類似。
3.1 基本語(yǔ)法
(1)基礎(chǔ)流程圖
流程中一般只有一個(gè)開始,會(huì)有一個(gè)或多個(gè)結(jié)束。箭頭表示流程的走向,一個(gè)圓角矩形表示一個(gè)活動(dòng),活動(dòng)可以理解為流程中的一個(gè)步驟,需要用主動(dòng)賓的形式來(lái)表達(dá)。
例如員工填寫工時(shí),項(xiàng)目經(jīng)理審批工時(shí)。菱形代表判斷,會(huì)有兩個(gè)或兩個(gè)以上的分支。
判斷一般有三種表達(dá)方式:在判斷菱形旁寫下判斷的句子;直接通過(guò)監(jiān)護(hù)來(lái)表示這個(gè)判斷;在菱形判斷之前加一個(gè)活動(dòng)來(lái)表明判斷動(dòng)作。
分支流程匯合時(shí),也會(huì)使用菱形,然后會(huì)合并成一條路線。如下圖:
(2)泳道圖
上面的流程圖當(dāng)中,如果流程簡(jiǎn)單,那么就可以很好的表達(dá),如果流程很長(zhǎng),涉及到的角色很多,且很復(fù)雜時(shí),看到就會(huì)非常亂,不止畫的人覺著亂,看的人也會(huì)感覺很亂。
那么,這個(gè)時(shí)候我們就可以用泳道圖。
泳道圖一般是會(huì)按照角色進(jìn)行分區(qū),那么在畫和瀏覽時(shí)都非常清晰。如下圖:
3.2 活動(dòng)圖的進(jìn)階
(1)并行的活動(dòng)
當(dāng)遇到需要并行的活動(dòng)或分支時(shí),我們可以使用粗短棒。
短粗棒會(huì)有兩個(gè)同時(shí)出現(xiàn):第一個(gè)是有一個(gè)箭頭指入,多條箭頭指出,這個(gè)叫做分叉;第二個(gè)是多條箭頭指入,一條箭頭指出,這個(gè)叫匯合。如下圖:
(2)對(duì)象流
當(dāng)我們用矩形框來(lái)表示某個(gè)節(jié)點(diǎn),并將矩形框的文字標(biāo)注下劃線,那它就代表對(duì)象。
每個(gè)活動(dòng)都有可能有一個(gè)或多個(gè)輸入或輸出,與輸入輸出直接相連的箭頭叫對(duì)象流,而活動(dòng)和活動(dòng)之間相連的叫控制流。
如圖:
(3)連接件
有的時(shí)候活動(dòng)圖很大,一張紙畫不下,我們可以使用另一張紙繼續(xù)畫,這個(gè)時(shí)候,我們可以使用連接件(其實(shí)現(xiàn)在的畫圖軟件大多都不會(huì)出現(xiàn)這種情況)。
如下圖,左邊的圖是箭頭指向A,則是活動(dòng)圖到這里轉(zhuǎn)向另一張圖;右邊的圖是A指出一個(gè)箭頭,表示從A開始繼續(xù)這個(gè)活動(dòng)圖:
3.3 關(guān)于活動(dòng)圖的其他問(wèn)題
對(duì)于活動(dòng)圖的粒度是如何控制的呢?其實(shí)這個(gè)是沒有標(biāo)準(zhǔn)答案的,下面只是一些實(shí)踐建議。
- 首先要清楚活動(dòng)圖要表達(dá)什么內(nèi)容,表達(dá)的重點(diǎn)是什么,以此來(lái)確定合適的粒度;
- 其次,可以先用粒度比較大的活動(dòng)圖,大致搞清楚流程的總體情況;
- 最后在逐步細(xì)化,需要重點(diǎn)說(shuō)明的部分,活動(dòng)的粒度應(yīng)該足夠細(xì),足夠說(shuō)明問(wèn)題。
那如何畫好活動(dòng)圖呢?
- 建議你一個(gè)活動(dòng)圖只表達(dá)一個(gè)事情,同時(shí)在畫之前要明確該流程要達(dá)到怎樣的業(yè)務(wù)目的、有什么角色參與、哪些是主要角色;
- 先畫出主流程,明確主流程中涉及到的角色,然后在逐步增加分支流程,這里主要表達(dá)出關(guān)鍵的分支即可;
- 同時(shí)異常流程也不用全部表達(dá)出來(lái),必要的時(shí)候,可以用文字來(lái)說(shuō)明;控制好粒度,然后分別畫出當(dāng)前的流程和優(yōu)化后的流程。
- 對(duì)照差異,整理出需要調(diào)整的地方。
四、狀態(tài)機(jī)圖
狀態(tài)機(jī)圖其實(shí)和大家常說(shuō)的狀態(tài)圖是一個(gè)東西,只是它的專業(yè)名稱叫做狀態(tài)機(jī)圖。
4.1 基本語(yǔ)法
狀態(tài)機(jī)圖的開始狀態(tài)和結(jié)束狀態(tài)與活動(dòng)圖的一致,活動(dòng)機(jī)圖用一個(gè)圓角矩形來(lái)代表一個(gè)狀態(tài)。
與活動(dòng)圖不同,活動(dòng)圖是用圓角矩形代表一個(gè)活動(dòng),而且狀態(tài)機(jī)圖一般使用名詞或形容詞來(lái)表示某種狀態(tài)。
如下圖:
4.2 其他問(wèn)題
關(guān)于狀態(tài)數(shù)量的問(wèn)題:在使用狀態(tài)機(jī)圖時(shí),若流程不合理,可以考慮通過(guò)增加、減少、修改狀態(tài)來(lái)完善。
增加一個(gè)新的狀態(tài)會(huì)解決很多問(wèn)題,但是也會(huì)增加流程的復(fù)雜度,可能會(huì)出現(xiàn)其他問(wèn)題。
關(guān)于狀態(tài)圖的實(shí)踐會(huì)有一些建議可供大家參考:
- 流程圍繞某一事物開展時(shí),可以考慮使用狀態(tài)機(jī)圖來(lái)分析;同樣也需要弄清楚它的目的,參與的角色,以及這些角色是如何推動(dòng)流程的發(fā)展;并且列出流程中存在的問(wèn)題;
- 同時(shí)要考慮事物在流程不同階段有什么變化,然后列出當(dāng)前的流程,再根據(jù)流程的目的和存在的問(wèn)題進(jìn)行調(diào)整。
五、順序圖
當(dāng)流程設(shè)計(jì)到多種角色,并且通過(guò)多個(gè)角色交互展開時(shí),順序圖是不二選擇。
5.1 基本語(yǔ)法
角色可以用一個(gè)小人的圖標(biāo)來(lái)表示,下面寫明角色。也可以用一個(gè)矩形來(lái)表示,但是需要在矩形里面說(shuō)明角色。
生命線是角色下面的那條虛線,激活框也叫會(huì)話,是生命線中細(xì)長(zhǎng)的矩形。
消息用箭頭表示,并在上面說(shuō)明做了什么事情;箭頭可以從A指向B,也可以指向自己。
返回值用虛線箭頭表示,并在上面說(shuō)明返回的內(nèi)容,一般是反饋某個(gè)東西給相應(yīng)的對(duì)象。
如下圖:
5.2 順序圖的進(jìn)階
循環(huán)分支屬于業(yè)務(wù)流程中比較常見的特殊結(jié)構(gòu)。
- loop,也叫循環(huán),是滿足循環(huán)條件的前提下,不斷地重復(fù)做某些事情;
- alt,條件分支,是根據(jù)不同的條件選擇不同的分支;
- opt,可選分支,是滿足一定條件則執(zhí)行該分支,否則就跳過(guò)。
如下圖:
上圖的流程中,loop,中括號(hào)內(nèi)是循環(huán)條件的內(nèi)容,表示如果滿足循環(huán)條件,則重復(fù)執(zhí)行本框的內(nèi)容;alt,如果滿足條件1則執(zhí)行上半部分,如果滿足條件2則執(zhí)行下半部分;opt,如果滿足條件,則執(zhí)行框中的內(nèi)容,否則跳過(guò)。
5.3 其他問(wèn)題
關(guān)于順序圖使用的一些建議:
- 先從復(fù)雜的業(yè)務(wù)中整理出一條一條的流程,然后分析參與的角色,角色擔(dān)任的職責(zé)和專業(yè)特色。
- 然后在將流程分解成角色與角色的交互,想清楚各個(gè)角色之間是如何交互的,用順序圖把它組織起來(lái),在這個(gè)過(guò)程中要不斷的進(jìn)行優(yōu)化。
活動(dòng)圖,狀態(tài)機(jī)圖和順序圖,被稱為流程分析的三大利器,那么每種圖都有不同的特點(diǎn)和應(yīng)用場(chǎng)景。
- 順序圖,強(qiáng)調(diào)角色之間的交互,強(qiáng)調(diào)按時(shí)間順序分別發(fā)生了什么事情,不太適合表達(dá)復(fù)雜的特殊流程;
- 活動(dòng)圖,強(qiáng)調(diào)每個(gè)角色做了什么事情,這些事情的先后關(guān)系,適合表達(dá)各種特殊流程,如分支,并發(fā)等;
- 狀態(tài)圖,主要是事情圍繞某東西開展,并且有不同的狀態(tài)。
那么在實(shí)際工作中如何選擇呢?
通過(guò)上面說(shuō)明的特點(diǎn)我們可以很清楚的知道。如果事情圍繞某個(gè)東西開展,就可以考慮使用狀態(tài)機(jī)圖。
如果不是,則可以考慮順序圖或活動(dòng)圖;如果沒有復(fù)雜的特殊流程,可以考慮順序圖。如果有負(fù)責(zé)的特殊流程,則可以考慮活動(dòng)圖。
當(dāng)然,在實(shí)際工作中,不要被上面的條條框框所限制,有的時(shí)候可以有兩種甚至三種圖來(lái)表示,可以從多個(gè)角度來(lái)分析問(wèn)題,再做適當(dāng)取舍。
六、用例圖
用例圖對(duì)于很多人來(lái)說(shuō)只是給一些角色配置一些權(quán)限。其實(shí)用例圖是可以幫我們搞清楚這個(gè)產(chǎn)品是誰(shuí)在用,通過(guò)這個(gè)系統(tǒng)能做什么事情。
6.1 基本語(yǔ)法
小人(actor,執(zhí)行者),執(zhí)行者可能是人也可能是系統(tǒng)。如果是人的話,可稱之為角色。如果是系統(tǒng)的話,可以將另外一個(gè)系統(tǒng)畫成執(zhí)行者就可以了。
圈圈(用例,use case)圈圈里面的文字是動(dòng)詞加名詞,這個(gè)就代表了系統(tǒng)能做什么事情。
大框框(系統(tǒng)邊界,system boundary)這個(gè)框只框住了用例,沒有框住執(zhí)行者,這個(gè)就叫系統(tǒng)邊界。
線條(關(guān)聯(lián),association)線條指用例和角色之間的線條,一般有三種,無(wú)箭頭的,指向用例的箭頭,指向執(zhí)行者的箭頭。同時(shí),一般情況下也會(huì)有兩種解釋,一種是數(shù)據(jù)流向,還有一種是誰(shuí)啟動(dòng)誰(shuí)。
如下圖:
6.2 進(jìn)階語(yǔ)法
用例的進(jìn)階語(yǔ)法主要包括繼承、include(包含)、extend(擴(kuò)展)
(1)include(包含)
包含一般有兩種用法,一種是以樹的方式組織各種用例,用包含來(lái)組織好父子用例,子用例可以再次包含自己的子用例,這樣層次分明。
還有一種是某些用例的一部分可以抽離出來(lái)成為子用例,該子用例同時(shí)也被其他用例包含。
如下圖:
(2)extend(擴(kuò)展)
擴(kuò)展的意思就是在某用例的基礎(chǔ)上,還能做什么事情。例如用戶在查看報(bào)表的時(shí)候,還可以導(dǎo)出報(bào)表,打印報(bào)表。如下圖:
(3)繼承
繼承與類圖中的繼承性質(zhì)是一樣的,但是一般在畫用例圖的時(shí)候很少用,都會(huì)用其他的方式替代,因?yàn)椴惶美斫?,而且還會(huì)降低溝通效率。如下圖:
6.3 用例圖的其他問(wèn)題
那么我們?nèi)粘9ぷ髦?,如何畫好用例圖呢?
下面是一些在實(shí)踐中的建議:
- 首先,在客戶能全面理解的基礎(chǔ)上,越精簡(jiǎn)越好;
- 同時(shí)用例應(yīng)該使用客戶的語(yǔ)言,讓客戶能夠看得懂,要全面的表達(dá)用例,對(duì)于重點(diǎn)的地方要詳細(xì)描述,非重點(diǎn)的地方不要過(guò)多描述;
- 通過(guò)使用擴(kuò)展和包含來(lái)細(xì)化用例圖,但要靈活把握,用例圖只是一種表達(dá)方式,必要時(shí)可以結(jié)合其他方式來(lái)表達(dá)。
七、部署圖、構(gòu)件圖
部署圖和構(gòu)件圖一般用來(lái)獲取和描述非功能需求。非功能性需求,一般包括兩個(gè)方面,一方面的軟件技術(shù)的架構(gòu)要求。另一方面是安全性、易用性、性能等方面的要求。
7.1 部署圖
在實(shí)際環(huán)境中的電腦、服務(wù)器或硬件設(shè)備,在部署圖中用節(jié)點(diǎn)(Node)來(lái)表示,就是圖中一個(gè)個(gè)立體矩形。
每個(gè)節(jié)點(diǎn)都有一個(gè)名字,如圖中的財(cái)務(wù)的pc等。
門店的pc中有標(biāo)記,標(biāo)記(Tags)用來(lái)詳細(xì)說(shuō)明節(jié)點(diǎn)的配置情況,如Number=50-70,說(shuō)明有50到70臺(tái)門店的pc。
節(jié)點(diǎn)與節(jié)點(diǎn)直接有物理聯(lián)系,則直接拉條直線,在直線上寫上連接的方式。
如下圖所示。
7.2 構(gòu)件圖
構(gòu)件圖也叫組件圖,構(gòu)件指的是物理上獨(dú)立的一個(gè)東西,它可以單獨(dú)維護(hù)、升級(jí)、替換。
下圖展示了構(gòu)件和構(gòu)件的接口:
下圖中的A和B表示依賴關(guān)系,表示A依賴于B,A需要調(diào)用B提供的一些服務(wù)。而C和D則是接口對(duì)接,D提供的服務(wù)是C所需要的,也可以畫成C依賴D。
如圖:
7.3 部署圖和構(gòu)件圖結(jié)合使用
通常部署圖和構(gòu)件圖需要綜合使用,才能表達(dá)清楚在架構(gòu)設(shè)計(jì)上的要求。
如下圖:
7.4 關(guān)于部署圖和構(gòu)件圖的實(shí)踐建議
- 首先不要寫放在任何地方都可用的東西,要根據(jù)項(xiàng)目的業(yè)務(wù)需求,IT架構(gòu)環(huán)境寫出針對(duì)性的要求;
- 其次,抓住主要問(wèn)題,列出具體要求。主要考慮正常使用情況下系統(tǒng)應(yīng)達(dá)到的要求,出現(xiàn)幾率低的情況可不考慮;
- 最后,要文字表達(dá)準(zhǔn)確,內(nèi)容應(yīng)該是可被驗(yàn)證的。
八、一些實(shí)踐
本章主要為前面所講的內(nèi)容,通過(guò)一個(gè)案例,將部分串聯(lián)起來(lái)。
我們的需求是做一個(gè)考勤系統(tǒng)。主要目標(biāo)是規(guī)范員工的上下班、請(qǐng)假、外出工作等行為,同時(shí)方便計(jì)算員工薪資,方便管理各種帶薪假期。
在整個(gè)過(guò)程中,需要遵循戰(zhàn)略分析、相關(guān)方與目標(biāo)分析、業(yè)務(wù)分析、需求細(xì)化這樣的流程。那在業(yè)務(wù)分析階段可以通過(guò)使用類圖來(lái)分析業(yè)務(wù)概念,使用活動(dòng)圖、順序圖、狀態(tài)機(jī)圖來(lái)分析業(yè)務(wù)流程。
在需求細(xì)化階段可以使用用例圖來(lái)整理用例。同時(shí)也可以使用部署圖和構(gòu)件圖來(lái)分析整理非功能性需求。
那在這里直接省略戰(zhàn)略分析、相關(guān)方與目標(biāo)分析階段,直接進(jìn)入到業(yè)務(wù)概念分析。假設(shè)已經(jīng)目標(biāo)清晰,且明確了相關(guān)方。那么下一步進(jìn)入到業(yè)務(wù)概念分析。
8.1 業(yè)務(wù)概念圖
這個(gè)考勤系統(tǒng)主要涉及到考勤,請(qǐng)假,外出??记诤驼?qǐng)假很好理解,外出是指外出工作,性質(zhì)仍然是工作。
這三類事情全都涉及到流程,流程的問(wèn)題咱們后面在分析,通常我們管理一個(gè)事情,除了管理流程,還要對(duì)一條或多條記錄進(jìn)行管理。
打卡不是會(huì)留下打卡記錄嗎?請(qǐng)假不是會(huì)有請(qǐng)假申請(qǐng)嗎?外出不是會(huì)有外出申請(qǐng)嗎?管理這些記錄,就是管理這些事情了。
如下圖,列出了關(guān)鍵的業(yè)務(wù)概念、業(yè)務(wù)概念的重要屬性、業(yè)務(wù)概念之間的關(guān)系、相關(guān)業(yè)務(wù)信息通過(guò)注解來(lái)補(bǔ)充。
每個(gè)人所在的公司情況不一樣,理解的角度不一樣,業(yè)務(wù)概念圖自然就會(huì)不一樣。
8.2 外出申請(qǐng)審批流程分析
這里只對(duì)外出申請(qǐng)做舉例,分別畫出它的活動(dòng)圖和狀態(tài)機(jī)圖。
當(dāng)然,也可以用順序圖來(lái)表達(dá),但是此處用活動(dòng)圖和狀態(tài)機(jī)圖更合適,所有省略了順序圖。
活動(dòng)圖
狀態(tài)機(jī)圖
8.3 普通員工的用例分析
這里只對(duì)普通員工做舉例,進(jìn)行了用例分析。這里考慮到用戶需要擁有管理自己外出的權(quán)限,管理自己請(qǐng)假,包含可休年假的權(quán)限。
同時(shí)為了方便安排工作,所以增加了可以查看所有員工請(qǐng)假的權(quán)限,以及查看自己打卡記錄的權(quán)限。
如下圖:
8.4 其他
關(guān)于部署圖和構(gòu)件圖,一般情況下是由架構(gòu)師來(lái)完成。所以在這里就不進(jìn)行舉例了。
九、總結(jié)
關(guān)于UML,是我們?nèi)粘9ぷ髦?,最常見的一種手段。它很簡(jiǎn)單,也很復(fù)雜。
簡(jiǎn)單的原因在于一學(xué)就會(huì),容易上手,便于理解;復(fù)雜的原因是要畫好uml建模需要不斷的思考,反復(fù)驗(yàn)證,重復(fù)修改,才能達(dá)到最終的目的。
所以以上只是基于前者,來(lái)簡(jiǎn)單的說(shuō)明常用的UML。若要提高建模能力,需要在日常的工作,生活中,不斷的練習(xí)思考,終有所成。
本文由 @侯學(xué)峰 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于CC0協(xié)議。
學(xué)習(xí)了
除了流程圖和狀態(tài)機(jī)圖,其他的感覺沒啥用
文件夾和文件為啥不是 強(qiáng)包含呢?
文中有提到強(qiáng)包含和若包含的含義。同理,如果文件夾不存在了,那么這個(gè)文件夾里面的文件夾和文件依然存在,所以說(shuō)弱包含。
文件夾和文件只有包含關(guān)系嗎,怎么識(shí)別到有關(guān)聯(lián)關(guān)系的
第一個(gè)狀態(tài)機(jī)圖,大于三天的審批的時(shí)候沒有拒絕呢?
別人端盤好菜給你吃,你問(wèn)盤子上花紋啥意思,干這行的不需要每件事都做成這樣規(guī)范,但是每個(gè)環(huán)節(jié)都要像作者寫的這樣思考
有拒絕呀~從部門經(jīng)理到拒絕的那條線就是高層經(jīng)理的拒絕。
可以這樣理解,在狀態(tài)為部門經(jīng)理批準(zhǔn),且大于三天時(shí),高層經(jīng)理進(jìn)行了拒絕操作,所以狀態(tài)變?yōu)榫芙^。
我說(shuō)的是 4.1章節(jié)的那個(gè)圖,我還是覺得 大于三天時(shí)還是少了一根到 拒絕的線呀
這是狀態(tài)機(jī)圖,框內(nèi)的【部門經(jīng)理批準(zhǔn)】和【拒絕】都指的是狀態(tài),其中【部門經(jīng)理批準(zhǔn)】->【拒絕】這條線表達(dá)的就是大于3天時(shí),高層拒絕的情況