編輯導語:“狀态圖”應用廣泛,一個繪制良好的狀态圖有利于梳理業務細節,從而讓思考更全面和不遺漏。本篇文章,作者将告訴大家什麼是狀态圖,教你繪制一張大廠标準的狀态圖,大家趕快get it!
繼爆款網文《三步教你繪制大廠标準流程圖》後,我又上新了。
這次是《三步教你繪制大廠标準狀态圖》。有的産品經理沒聽說過狀态圖,但這個圖卻很重要。首先,一個繪制良好的狀态圖有利于梳理業務細節,從而讓思考更全面和不遺漏。
其次,狀态圖的應用也很廣泛,C端和B端産品經理都要用。比如,B端産品經理用于梳理後台的身份審核流程、商品審核流程、公司請假流程,以及訂單的發貨、評價和退貨流程。
再如,C端産品經理用于梳理前台的下單流程,優惠券的展示和使用流程。網上也有很多講狀态圖的文章,比如下面的圖就是源自某資深産品經理的文章,很多人都說寫的好、要收藏,但該圖卻全畫錯了。
該圖是描述「産品經理的工作狀态」,但我們要記住一個基本邏輯,狀态圖的目的是為梳理業務而不是為娛樂。
如果按照這個狀态圖做開發,到是真會被研發打,因為這裡邏輯不清也指導不了業務設計。
比如,受傷了就不能寫文檔嗎?沒受傷就必須寫文檔嗎?寫不寫和受沒受傷沒有任何關系。通過本文的學習你就能畫對這個狀态圖了,也能給很多網文挑挑錯,做個優秀的産品經理。
而狀态圖一向是難點,我将用3篇共1萬 的文字來講清楚。3篇内容分别是:狀态圖的表達,狀态圖的誤區,用狀态圖理清業務。本文就是狀态圖系列文章的第一篇——狀态圖的表達。這些内容改自我的書《“圖解産品”》,并有删減和改寫。
一、狀态圖的概念要講清楚狀态圖,先要理解狀态圖的概念。狀态圖(State Diagram)也被稱為狀态機圖,狀态圖的定義是:狀态圖是描述了一個對象所處的狀态,以及用什麼操作促成了狀态的轉變。如何理呢?我們舉兩個例子。
1. 生活中的例子
當你按下微波爐的開始按鈕,微波爐就處于已開啟狀态,當你按下微波爐的停止按鈕,微波爐就處于已停止狀态。在這個案例中,微波爐有兩個狀态,分别是開始和停止狀态。你單擊開就變成開始狀态,再單擊關就變成了關閉狀态。
2. 軟件系統例子
當用戶下了一個訂單,這個訂單就會被創建,此時訂單是已下單狀态;當用戶支付了訂單,訂單變成了已經支付狀态;當運營人員單擊了發貨,訂單變成了已發貨狀态,以此類推訂單還有其他狀态。
在這個例子中,訂單有已支付、已發貨等狀态,用戶或運營通過操作就能改變訂單狀态。而狀态圖就是用圖形的方式來表達事務的狀态,以及什麼操作可改變狀态。
二、狀态的表達狀态圖的表達方式有很多,但隻要掌握五種表達就可解決絕大多數問題,這五種表達分别是:狀态和轉移、開始和結束、内部轉移。下面我們以身份審核為例來說明。
上圖就是身份審核狀态圖,當用戶要在某平台發文章或課程,就要核實身份信息。用戶就要手持身份證拍照片,并上傳到平台進行審核。
而相關狀态梳理如下:當用戶選取了拍攝的照片并單擊确認後,身份信息就變成了“已提交,待審核”狀态;當平台審核通過,身份信息就變成了“已通過”狀态,當平台審核拒絕,就變成了“已拒絕”狀态。在這裡,我們就抽象出“已提交,待審核”,“已通過”和“已拒絕”這三個狀态。
狀态的繪制是一個略方的圓角矩形,并在矩形内寫狀态名稱。注意,狀态圖的圓角矩形比活動圖的圓角矩形,要略方一些。其他注意點如下:
1. 狀态名中,會有“已未待”等詞
狀态和事務的發生時間有關,可以分為:事前、事中和事後。
對于審核來說,事前就是“待審核或未審核”,事中就是“正審核”,事後就是“已審核”。已審核又包括兩種結果,分别是已通過和已拒絕。
我們發現,隻有涵蓋了已、未、待、正等詞才是一個狀态,如本案例中的已提交、未審核、待審核、已通過等,就都含有這些詞。有的時候,已、未、待、正等詞可忽略。比如,一個商品可以保存成草稿狀态,這個狀态名就是 “已保存成草稿”狀态,含有“已”這個詞。但我們也可簡寫為 “草稿”狀态。
2. 狀态名有等價的多種表述方法
比如,當用戶提交了審核信息後。從用戶的角度,當前是“已提交”狀态;但從審核客服的角度,當前是“待審核”狀态。在這個場景下,已提交等于待審核。而常常見到,有的人會拆分成 “已提交”和“待審核”兩個狀态,很多時候這樣做都是錯的。為了避免此類問題,建議按照圖中所述将狀态名寫為兩個詞,即“已提交,待審核”。
三、 轉移的表達不同狀态之間是可以轉移的,狀态的轉移常常是通過人的操作實現的。比如,當前狀态是“已提交,待審核”狀态時,審核人員可單擊“審核通過”按鈕,當前狀态就變為“已通過”狀态。
1. 轉移的表達
狀态之間轉移的畫法,是用帶箭頭的直線,并在線上寫上轉移的操作。表示從一個狀态能轉移到另一個狀态。如上圖所示中,“客服單擊審核通過”就是操作。而人的一個單擊操作,其實就是人的一個活動。
既然是活動,其文字就該按活動标準寫,即按照“(主)動賓”寫,強調誰做了什麼事。和流程圖恰恰相反,流程圖的活動是要寫在矩形裡,而狀态圖的中的活動是要寫在轉移的線條上或線條邊。
2. 轉移的觸發
狀态之間的轉移,不僅僅是可以由人觸發,也可由系統觸發。比如,當一個訂單在“已簽收”狀态後,是當訂單超過14天了,用戶也沒有點擊完成,則系統自動标記訂單為“已完成”,這就是由系統觸發的。
再如,如果房間濕度較低,系統就會自動打開加濕器。也就是将加濕器從“待機狀态”遷移到了“開機狀态”,而觸發條件是房間的濕度低于40%。有些時候,這個觸發也可以沒有任何條件,比如人有感冒就是不健康狀态,但是即使不吃藥也可以恢複健康狀态。但這種情況,對于軟件産品來說比較少見。
四、 開始的表達對于狀态圖也有開始和結束的符号,這兩個符号的表達方式跟流程圖相同。開始的表達如上圖所示,就是一個黑心的小圓點。此時小圓點上引出一個箭頭,直接連接“待審核”狀态。從“開始”到“待審核”的轉移,是“用戶單擊提交審核”後産生的。開始不是一個狀态,隻是方便閱讀者明白,狀态圖從什麼地方開始。開始可以有一個,并且不可忽略。
五、結束的表達結束的表達也如上圖所示,是一個黑心的小圓點,外面再框一個圓框。和開始一樣,結束也不是狀态,隻是方便閱讀者明白,狀态圖到那個狀态就算結束。
結束僅起到提示作用,所以可以沒有、有一個或多個。然而什麼狀态标記結束,并沒有絕對标準。 常見的是,正常流程中的最後一個狀态,應标記為結束。比如,當身份審核狀态變為“已通過”狀态,則整個流程就算完了,那麼就要标記“已通過”為結束。
但是我們知道,即使審核通過還可以再拒絕,因此并不算絕對的結束。所以,結束符号僅僅起到提示作用。另一種标記“結束”符号的地方,是在取消的時候。比如,一個訂單有“已取消”狀态,則可以标記這個狀态為“結束”。我們看一個案例,下面的圖就是錯誤的。
對于身份審核,狀态變成“已通過”就算狀态結束了。
不存在通過“歸檔”操作,再轉變為“結束”狀态。但如果要客服歸檔該信息,則要再加個“已歸檔”狀态,然後再跟着“結束”标志。這樣做也是一個好習慣,可以清晰地傳遞有個歸檔狀态,并且客服可能要看歸檔資料。
六、内部的轉移還有一種特殊轉移,被稱為内部轉移,用帶箭頭的回環表示。是表明用戶雖然可以操作對象,但并沒有改變其狀态。
比如對于身份審核案例,如果用戶提交信息後發現提交錯誤了,就需要重新提交信息。重新提交完信息後,身份審核的狀态不變,仍然是“待審核”狀态。此時就可用一個帶箭頭的回環表示,并且在線旁邊寫上“用戶重新提交身份信息”。
但是業務要考慮實際情況,用戶很難将個人的照片提交錯。因此為簡化産品設計和開發,通常不加入“重新提交”功能。但在其他業務場景下,則可能需要加入該功能。比如:
一個英語考試網站,要在線填寫考試報名表,并且線上支付費用,因為報名人數衆多,常常一開放報名就會被搶光。但報名的時候,要填寫十多個項,有郵寄地址、身份證過期時間、照片等内容。如果填寫錯誤,将導緻無法考試或郵寄地址錯誤。這個時候就要實現,用戶提交了報名表後還能修改。
所以加不加某狀态還是要依據業務,這将在後面詳細說。而狀态圖的五種表達方法到這裡就介紹完了。
七、寫在最後有的朋友說挺簡單的啊,也沒什麼。的确如此,規則就是如此簡單。但是回到我們開頭展示的「産品經理的工作狀态圖」,這個圖其實就沒有按照标準來,更沒有理解什麼是狀态。
比如“改需求”壓根就不是個狀态。再如該圖也沒有搞清楚對象是誰,繪制目的是什麼,總之錯誤很多。
而下一篇内容就是“狀态圖的誤區”,我們就來一起破解這個圖的問題,并給出正确答案。
作者:擎蒼,《“圖解”産品:産品經理業務設計與UML建模》作者,公衆号:圖解産品設計
本文由 @擎蒼 原創發布于人人都是産品經理。未經許可,禁止轉載。
題圖來自Unsplash,基于CC0協議
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!