用概念破解思路問題,三步教你繪制大廠標(biāo)準(zhǔn)狀態(tài)圖(第二篇)
編輯導(dǎo)語:狀態(tài)圖表述了一個對象所處的狀態(tài),以及導(dǎo)致該對象狀態(tài)轉(zhuǎn)變的操作鏈條,是產(chǎn)品經(jīng)理工作中常接觸到的事物。那么,狀態(tài)圖應(yīng)該如何繪制?狀態(tài)圖和流程圖又有什么區(qū)別?本篇文章里,作者就狀態(tài)圖的繪制策略等方面做了總結(jié),不妨來看一下。
本文是萬字長文《三步教你繪制大廠標(biāo)準(zhǔn)狀態(tài)圖》系列文章的第二篇——狀態(tài)圖的誤區(qū)。
第一篇文章是說狀態(tài)圖的繪制標(biāo)準(zhǔn),其中提到高級產(chǎn)品經(jīng)理畫的「產(chǎn)品經(jīng)理工作狀態(tài)圖」問題很多,該圖既沒搞清楚目的,更沒搞清楚概念和畫法,總之錯誤很多,畫這樣的狀態(tài)圖是會被研發(fā)打的。本文就來分析分析這類圖的問題,順便也說說狀態(tài)圖和流程圖的區(qū)別。
一、狀態(tài)圖的問題
狀態(tài)圖如果畫錯,其實就是沒有理解第一篇文章中講到的狀態(tài)圖的概念和畫法,要閱讀上文請「點擊這里」。下面我們就依據(jù)標(biāo)準(zhǔn)說說狀態(tài)圖的常見問題。
1. 有對象才有狀態(tài)
狀態(tài)是針對一個實際存在的事務(wù)而言的,這個事務(wù)就是一個對象,只有有了對象才有了狀態(tài)。這是再自然不過的了,然而很多人卻忽略了這個常識。
下面我們先說說對象是什么,再說問題所在。
簡單地說,一個對象就是一個實際存在的事務(wù)。這個事務(wù)可以是某家的微波爐或某人的身份認(rèn)證信息。而一個對象(一個事務(wù))就會有若干狀態(tài),并且只有有了對象才有狀態(tài)。比如,這臺微波爐的狀態(tài)是已關(guān)閉,這個身份認(rèn)證狀態(tài)是已審核通過,無論是微波爐還是身份認(rèn)證都是實際存在的。
但卻有人在身份審核狀態(tài)圖中,加入“已新建”這個狀態(tài)。如下圖所示,這是錯誤的!
因為用戶“單擊新建申請”這個操作,是不會產(chǎn)生“已新建”狀態(tài)的,這就是打開了身份審核的界面而已。如果用戶單擊關(guān)閉,系統(tǒng)不會保留該信息,也就是說這個對象不會被創(chuàng)建。對象不存在,那么“已新建”狀態(tài)就是不存在的。
但凡事都不絕對,如果設(shè)計的系統(tǒng)是:只要用戶單擊進(jìn)行身份認(rèn)證,且用戶填寫了一點內(nèi)容,就將信息保存成草稿,是會存在“草稿”狀態(tài)的。保存成草稿后,用戶退出后再次回來,還可看上次的信息,這時加入“草稿”狀態(tài)就有必要。
通常,只有要填寫的內(nèi)容較多的時候,才會有草稿狀態(tài)。有了這個狀態(tài),就能避免出現(xiàn)用戶一次填不完信息,又保存不了的問題。
2. 表達(dá)“一個”對象
狀態(tài)圖是用來表達(dá)對象的狀態(tài)。并且,狀態(tài)只能表達(dá)“一個對象”的狀態(tài),這也是很自然的。
比如,我們不能在一個狀態(tài)圖中,同時表達(dá)商品和訂單的狀態(tài)。如何畫呢?我們根本無法在一個圖中畫出來。訂單有“已發(fā)貨狀態(tài)”,這和這個商品是否下架沒關(guān)系,而“商品已下架”就是商品的狀態(tài)。
因此,為避免一個狀態(tài)圖中表達(dá)兩個對象,我們建議在狀態(tài)圖中都寫上對象名。如在身份審核狀態(tài)圖中,在每個狀態(tài)名中都加入“身份信息”這個對象名。
雖然在狀態(tài)中重復(fù)寫了對象名,但是卻好處很多。比如我們在上一篇中提到的「產(chǎn)品經(jīng)理的工作狀態(tài)圖」如下。
這個圖的問題就是把多個對象放在了一個狀態(tài)圖中,其實這個狀態(tài)圖有兩個對象。分別是:需求和身體。
首先,產(chǎn)品經(jīng)理提交的需求就是一個對象。需求的狀態(tài)有已提交、已拒絕和已通過。這樣就可抽象出一個需求管理系統(tǒng),該系統(tǒng)用來管理需求文檔。
其次,產(chǎn)品經(jīng)理的身體是另一個對象。身體的狀態(tài)可以是健康、生病和死亡,這樣就可抽象一個醫(yī)院管理系統(tǒng)。
比如身體狀態(tài)是重傷,就不要掛號了,而是直接住進(jìn)ICU;但如果是輕傷狀態(tài),就要排隊掛號等待就診;如果很不幸,是死亡狀態(tài),那么也不用看病了,要直接進(jìn)入太平間。
而如果把需求和文檔畫在一個圖里,意義在哪里呢?沒有任何意義。我們只是看到了一個邏輯混亂,讓研發(fā)鄙視的產(chǎn)品經(jīng)理。
產(chǎn)品經(jīng)理即使生病也可以提交需求,即使不生病也可以不提交需求,生不生病和提交不提交需求就是兩件事,混在一起就錯了。
3. 不可有判斷標(biāo)志
在有的書中狀態(tài)圖可加菱形的“判斷標(biāo)志”,但不是主流,本人也不建議加入。因為不加“判斷標(biāo)志”表達(dá)會更簡潔和無歧義。而回顧身份審核的狀態(tài)圖,如果加入菱形的“判斷標(biāo)志”,就如下圖所示。
雖然加上判斷標(biāo)志也說的過去,但不加也一樣能讓人明白,并且是非常簡潔的。但加入判斷標(biāo)識后,狀態(tài)圖的表達(dá)就很混亂了。
比如在“身份信息已提交狀態(tài)”和“客服判斷身份證信息”之間的連線上,要畫什么操作呢?我們發(fā)現(xiàn)不好說明。
以上,就是狀態(tài)圖的三個常見誤區(qū)。你只要牢記這三個點,就能保證畫出來的狀態(tài)圖是正確的,請大家務(wù)必牢記!
二、狀態(tài)圖和流程圖的區(qū)別
有一些朋友們可能會問,狀態(tài)圖和流程圖有什么不同?下面我們就來說說這個問題。
其實,狀態(tài)圖和流程圖都是在表達(dá)一個事務(wù)的動態(tài)行為,只是在從不同的角度來表達(dá)。狀態(tài)圖是以狀態(tài)為核心表達(dá),流程圖是以活動(或稱動作)為核心表達(dá)。
我們再回到身份審核流程,我們分別列出身份審核的狀態(tài)圖和流程圖。
從上面的兩張圖中,我們可以看到下面兩個區(qū)別。
1. 內(nèi)容上的區(qū)別
狀態(tài)圖圈起來的是狀態(tài),如“身份信息已提交”狀態(tài)。而流程圖圈起來的是活動,如“用戶提交身份信息”活動。在UML體系中,狀態(tài)圖括起來的是狀態(tài),那么就是狀態(tài)圖。而流程圖括起來的是活動,那么就是活動圖。
在狀態(tài)圖在轉(zhuǎn)移的線上寫的內(nèi)容,恰恰對應(yīng)的是活動圖的活動,如“用戶提交審核信息”,兩者的內(nèi)容基本等價。而對于流程圖轉(zhuǎn)移的線上通常不寫內(nèi)容,只是在進(jìn)行判斷的時候,要在線上寫上判斷的條件。
2. 使用上的區(qū)別
狀態(tài)圖和流程圖的區(qū)別如此,但是什么時候畫流程圖,什么時候畫狀態(tài)圖?概括地說就是——流程多就畫流程圖,狀態(tài)多就畫狀態(tài)圖,都多就都畫。依據(jù)這個原則,我們看看相關(guān)情況。
1)需要畫流程圖的情況
訂單流程和登錄注冊流程等,都需要畫流程圖。顯然這些都屬于可以畫若干步的流程圖。其流程挺多,可以通過畫流程圖理順個人思路。比如訂單流程,可以表達(dá)從用戶下單、到商家接單、物流送貨等流程,大家可以畫一畫仔細(xì)體會一下。
但是“商品管理”就可以不畫。因為就是兩三個單一頁面,也沒有什么判斷,流程也非常簡單。如果要畫,無非是商品發(fā)布、商家審核、審核通過發(fā)布。
2)需要畫狀態(tài)圖的情況
身份審核、訂單流程、商品審核、優(yōu)惠券領(lǐng)取和使用等都可以畫狀態(tài)圖。在這些流程中每個對象都有很多狀態(tài),而通過狀態(tài)圖就能知道不同狀態(tài)下的不同操作。比如商品狀態(tài)有:待審核,已審核,已發(fā)布,已下架,已賣光等。
但是“用戶登錄”就不需要畫狀態(tài)圖,因為登錄流程中沒有什么狀態(tài),如果要畫就是已登錄,未登錄等幾個狀態(tài)。
以上,列出了常見的需要畫狀態(tài)圖和流程圖的情況。概括一下就是:流程多就畫流程圖,狀態(tài)多就畫狀態(tài)圖,如果流程和狀態(tài)都多,就都要畫。
三、狀態(tài)圖和流程圖的配合
通過上面的案例,我們發(fā)現(xiàn)訂單流程既需要畫流程圖,又需要畫狀態(tài)圖,此時我們就要考慮兩個圖如何配合。
通常先畫流程圖再畫狀態(tài)圖,用流程圖梳理大致流程,用狀態(tài)圖梳理細(xì)致操作。
比如訂單的流程,就要先用流程圖來梳理下單、退貨和評價等流程,但是發(fā)現(xiàn)其中下單和退貨流程又都涉及到了很多的狀態(tài),這就要進(jìn)一步畫狀態(tài)圖。如何通過狀態(tài)圖梳理細(xì)致操作,我們下一篇會講。
最后,什么時候畫狀態(tài)圖?什么時候畫流程圖?其分界線并不絕對。建議對于初學(xué)者可都畫一遍,如果覺得該圖意義不大,那么下次就可以不畫。
四、寫在最后
到這里本文就講完了。雖然就是在講概念,但卻能讓你畫的圖不出錯,這就已經(jīng)能超越很多產(chǎn)品經(jīng)理了,而你需要做的是認(rèn)認(rèn)真真看幾篇文章。
畫的狀態(tài)圖不出錯是基礎(chǔ),但另一方面,也是更重要的是——我們要通過狀態(tài)圖把業(yè)務(wù)考慮全。
其實我畫的「身份審核狀態(tài)圖」就沒把業(yè)務(wù)考慮全。如果把這個圖給研發(fā)還是會被打的,不僅會被研發(fā)打,運營也會打,用戶也會打。因為這個業(yè)務(wù)根本就跑不通。
所以下一篇我們就講如何把業(yè)務(wù)考慮周全,從而做一個不被研發(fā)打的優(yōu)秀的產(chǎn)品經(jīng)理!
學(xué)習(xí)提示
曾經(jīng)有學(xué)習(xí)群里的產(chǎn)品經(jīng)理說:“按照這個標(biāo)準(zhǔn)畫狀態(tài)圖后,連研發(fā)都說我精進(jìn)了不少,但以前不重視這些基礎(chǔ),結(jié)果畫的圖就總有問題,研發(fā)總說我思路不清。”
是的!學(xué)習(xí)不是看你學(xué)了多少,而是看你是否真的掌握了,尤其是掌握這些基礎(chǔ)知識!扎扎實實學(xué)好基礎(chǔ),比什么都重要!
作者:擎蒼,《“圖解”產(chǎn)品:產(chǎn)品經(jīng)理業(yè)務(wù)設(shè)計與UML建模》作者,公眾號:圖解產(chǎn)品設(shè)計
本文由 @圖解產(chǎn)品設(shè)計 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議
有個問題想請教一下,狀態(tài)圖中“身份信息已拒絕”和“身份信息已通過”,為什么中間還有客服審核?已經(jīng)拒絕或通過后,為什么要有審核的操作?
拒絕或通過后,不代表狀態(tài)的結(jié)束,依然可以修改狀態(tài)