狀態(tài)機入門:從定義到使用

卉子醬
4 評論 28885 瀏覽 143 收藏 8 分鐘
🔗 B端产品经理需要更多地进行深入的用户访谈、调研、分析,而C端产品经理需要更多地快速的用户测试、反馈、迭代

狀態(tài)機是什么?狀態(tài)機應該如何去應用呢?狀態(tài)機可以對業(yè)務狀態(tài)進行梳理,一目了然,之后可以根據(jù)業(yè)務場景不斷增加。

在工作過程中,意外接觸了一個詞——“狀態(tài)機”,這是個什么意思,可以為我們做產(chǎn)品提供怎樣的用處?

作為產(chǎn)品,為什么需要學習狀態(tài)機呢?

在剛進入公司的時候,根據(jù)公司產(chǎn)品做流程圖的時候,發(fā)現(xiàn)自己經(jīng)常會漏了這樣或那樣的狀態(tài),導致整體流程會有問題。后來知道了狀態(tài)機這樣的東西,發(fā)現(xiàn)用這幅圖就可以很清晰的表達整個狀態(tài)的流轉(zhuǎn)。當然這個不是做好一款產(chǎn)品的必備品,但是卻可以讓你更加輕松的同技術等人員交流。

一、什么是狀態(tài)機?

就是就是狀態(tài)轉(zhuǎn)移圖。

如果流程圍繞某個事物的狀態(tài)變化進行,顯而易見,該輪到狀態(tài)機圖上場了。一個狀態(tài)機圖中只描述一個事物,該事物有多個狀態(tài),不同的動作作用到狀態(tài)上導致狀態(tài)的轉(zhuǎn)換。

舉個最簡單的例子:

人有三個狀態(tài):健康、感冒、康復中。

觸發(fā)的條件有淋雨(t1)、吃藥(t2)、打針(t3)、休息(t4)。

所以狀態(tài)機就是健康->(t4)->健康;健康->(t1)->感冒;感冒->(t3)->健康;感冒->(t2)->康復中;康復中->(t4)->健康等等。就是這樣狀態(tài)在不同的條件下,跳轉(zhuǎn)到自己或不同狀態(tài)的圖。

狀態(tài)機可歸納為4個要素,即現(xiàn)態(tài)、條件、動作、次態(tài)。這樣的歸納,主要是出于對狀態(tài)機的內(nèi)在因果關系的考慮。“現(xiàn)態(tài)”和“條件”是因,“動作”和“次態(tài)”是果。

詳解如下:

  1. 現(xiàn)態(tài):是指當前所處的狀態(tài)。
  2. 條件:又稱為“事件”,當一個條件被滿足,將會觸發(fā)一個動作,或者執(zhí)行一次狀態(tài)的遷移。
  3. 動作:條件滿足后執(zhí)行的動作,動作執(zhí)行完畢后,可以遷移到新的狀態(tài),也可以仍舊保持原狀態(tài)。動作不是必需的,當條件滿足后,也可以不執(zhí)行任何動作,直接遷移到新狀態(tài)。
  4. 次態(tài):條件滿足后要遷往的新狀態(tài)。“次態(tài)”是相對于“現(xiàn)態(tài)”而言的,“次態(tài)”一旦被激活,就轉(zhuǎn)變成新的“現(xiàn)態(tài)”了。

在了解關于狀態(tài)機的文章后,結合自己的平時的學習總結,我發(fā)現(xiàn):在平時的業(yè)務過程中,判斷即對應狀態(tài)機理論中的條件,我們做什么操作改變狀態(tài)即理論中的動作,同時狀態(tài)必須要有始有終,否則會出現(xiàn)狀態(tài)卡住,無法繼續(xù)正常推進。

狀態(tài)機的開始一般用空心圓表示,代表狀態(tài)圖的起始位置。

結尾一般用實心圓點表示,是一個狀態(tài)的終止點。

二、那么狀態(tài)機怎樣去應用呢?

以物理課學的燈泡圖為例:就是一個最基本的小型狀態(tài)機,這個例子人人里的很多大神都已經(jīng)舉過了,這里就簡單說下。

這里就是兩個狀態(tài):①打開開關,燈泡亮;②關閉開關,燈泡滅。

可以畫出以下的狀態(tài)機圖:

如果進度卡住,該怎么辦?

這里有個比較形象的案例就是淘寶的自動確認收貨,賣家發(fā)貨后狀態(tài)變?yōu)榇肇?,若買家遲遲不點確認收貨的話,那么流程就停止在這里,賣家也遲遲收不到貨款。

因此,在這里,淘寶做了一個條件,判斷時間是否達到15天,如果達到15天,做出確認收貨的動作,使得狀態(tài)得到流轉(zhuǎn)。

以小燈泡為例:假設為了節(jié)約,小燈泡開了超過8個小時就自動關閉,除非再次做打開開關的操作,畫出此時的狀態(tài)機圖如下:

同樣的狀態(tài)判斷應用了很多場景,例如:患者購買服務或商品時,訂單由待支付-已支付的狀態(tài)中的通過時間條件來實現(xiàn)狀態(tài)得到繼續(xù)流轉(zhuǎn)。

但是,判斷不是狀態(tài)機必要的,如:正常小燈泡的兩種狀態(tài),可以不需要經(jīng)過判斷。起始和終止狀態(tài)可能是相同的,也可能是不同的,即同一種狀態(tài)可能是起始狀態(tài),也可能為終止狀態(tài)。

在這里以外賣app為例:制作了一個訂單的簡單的狀態(tài)機圖,以訂單的狀態(tài)變更推動。

三、總結

新入門時,對狀態(tài)機和業(yè)務流程圖總是傻傻分不清楚,因此對于狀態(tài)機和流程圖進行了了解和歸納。

總的來說,狀態(tài)機圖和業(yè)務流程圖有些類似,但是又有不同:

  • 兩者是兩種不同的思維方式;
  • 兩者思考的出發(fā)點不一樣,因而兩者所表達的目的也是不同的;
  • 兩者的各個節(jié)點都是不同的,流程圖為動作,狀態(tài)機為狀態(tài)。

一般情況下,我們使用的均為有限狀態(tài)機。狀態(tài)機可以對業(yè)務狀態(tài)進行梳理,一目了然,之后可以根據(jù)業(yè)務場景不斷增加。

同時,使用狀態(tài)機和相關人員,尤其是開發(fā),進行表達時,也可以更加清晰,提升溝通效率。

 

本文由@卉子醬 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Pexels,基于 CC0 協(xié)議

更多精彩內(nèi)容,請關注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 明白了

    回復
  2. 流程圖的流程節(jié)點用直角邊的矩形表示,而且只能由一個箭頭輸出。
    狀態(tài)圖的狀態(tài)是圓角的矩形表示,可以有多個箭頭輸出。
    如果你都用直角邊的矩形表示,那自然傻傻分不清楚了。
    最下面的圖畫得也很有問題,很多箭頭上沒有動作,4要素的“條件”和“動作”呢?
    比如退款失敗->待商家確認,退款成功->訂單關閉,兩處都沒有動作,請問退款成功狀態(tài)轉(zhuǎn)移到訂單關閉狀態(tài)是否自動,如果自動為什么要多設置一個狀態(tài),有何意義?如果不自動需要手動,那么這個動作誰來做?又是什么動作。

    來自浙江 回復
  3. 很實用

    來自上海 回復
  4. 狀態(tài)機還有另外一種表現(xiàn)方式,類似于表格??梢粤私庖幌?/p>

    回復
专题
12907人已学习11篇文章
内容管理系统是一种位于WEB 前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。本专题的文章分享了内容管理系统(CMS)的设计指南。
专题
17601人已学习13篇文章
在精细化运营的过程中,为自己的产品搭建一套数据指标体系,对于促进产品和业务增长是至关重要的。本专题的文章分享了如何搭建数据指标体系。
专题
12584人已学习13篇文章
通过仪表盘,用户可以查看并分析产品的数据和图表,还可以通过控件来控制数据的显示、过滤等功能。本专题的文章分享了仪表盘设计指南。
专题
13264人已学习12篇文章
追热点蹭热点是互联网相关从业人员的一种潜意识,尤其是运营岗、市场岗。本专题的文章分享了如何做节日营销。
专题
16569人已学习12篇文章
供应链管理系统是最早期面向企业的软件解决方案之一,供应商管理又是供应链链条中的上游部分。本专题的文章分享了供应商管理设计指南以及供应链的基础知识。
专题
15606人已学习13篇文章
作为一名产品经理,需要持续对自己的经验进行总结并不断更新迭代。本专题的文章分享了产品设计方法论。