產(chǎn)品之術:一目了然的狀態(tài)機圖
什么狀態(tài)機圖,它的使用場景是什么?文章為你解讀。
一、什么是狀態(tài)機?
做產(chǎn)品的時候,我們總能遇到一些比較復雜的邏輯問題。
比如狀態(tài)的轉(zhuǎn)換,字段狀態(tài)的確認,權限的控制,狀態(tài)的對應。
而普通的流程圖,或時序圖,更側(cè)重于流程和動作的描述,對于對象和狀態(tài)的解讀缺乏直觀。
這里我們推薦一種方式,就是畫一個簡單的狀態(tài)機圖:
那么什么是狀態(tài)機呢?狀態(tài)機我們將的一般是指有限狀態(tài)機:
有限狀態(tài)機,(英語:Finite-state machine, FSM),又稱有限狀態(tài)自動機,簡稱狀態(tài)機,是表示有限個狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動作等行為的數(shù)學模型。[1]
有限狀態(tài)機,又稱有限狀態(tài)自動機,簡稱狀態(tài)機,是表示有限個狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動作等行為的數(shù)學模型。[1]
有限狀態(tài)機可以將復雜的邏輯簡化為有限個穩(wěn)定狀態(tài),在穩(wěn)定狀態(tài)中判斷事件。其中有限不是指有限次處理,而是有限個穩(wěn)定狀態(tài),并且有限狀態(tài)機是一個閉環(huán)系統(tǒng),可以用有限的狀態(tài)處理無盡的事務。
有限狀態(tài)機是一種用來進行對象行為建模的工具,其作用主要是描述對象在它的生命周期內(nèi)所經(jīng)歷的狀態(tài)序列,以及如何響應來自外界的各種事件。在計算機科學中,有限狀態(tài)機被廣泛用于建模應用行為、硬件電路系統(tǒng)設計、軟件工程,編譯器、網(wǎng)絡協(xié)議、和計算與語言的研究。
二 狀態(tài)機圖怎么畫?
基本元素
當你需要描述一個對象或系統(tǒng)的行為狀態(tài)時,相比于直接的語言描述,更推薦使用狀態(tài)機表或狀態(tài)機圖的形式。
首先我們看一下基本元素:
做需求時,至少要了解以下四種元素:起始、終止、狀態(tài)、歷史狀態(tài)。
再加上動作和條件,我們就可以完成一個狀態(tài)機圖了:
所以對于狀態(tài)機圖來說,基本要用到6個元素:
- 起始
- 終止
- 狀態(tài)
- 歷史狀態(tài)
- 動作
- 條件
對于歷史狀態(tài)的使用,我們可以參考下面的案例。
比如我們舉個簡單的例子,一個洗衣機的快洗模式狀態(tài)圖:
遇到斷電的時候,機器是有緩存的,所以跳出流程恢復流程之后,是會回到歷史狀態(tài)。
狀態(tài)機表怎么畫?
首先我們看下下面這張狀態(tài)機圖,展示了一張簡單的單審批人文件的狀態(tài)流轉(zhuǎn)情況。
那么如何把他寫成表呢?這里有多種寫法,區(qū)別于縱坐標的不同,我們舉兩種:
左側(cè)的縱坐標為初始狀態(tài),橫坐標為終止狀態(tài)。
右側(cè)的縱坐標為動作條件,橫坐標為終止狀態(tài)。
那么對于動作比較多且復雜的情況下,可以考慮采用右側(cè)的表格,這樣會比較一目了然。
三 使用場景
- 在講解邏輯的時候,或泳道圖過于麻煩的時候,你可能會用到狀態(tài)機圖。
- 可能很多你提出的需求,工程師都會自己去把他畫成狀態(tài)機圖來方便編碼。
- 所以能為別人多做一步,別人就對你多一份感激。
- 在梳理需求的時候,狀態(tài)機圖也是一個幫助思維思考的好工具。
- 狀態(tài)機圖更是一個代入感很強的表現(xiàn)形式。
比如我們可以畫一個狀態(tài)機圖來展示某崗位的一生:
最后希望這個崗位的同事都能夠做到邏輯清晰,身體健康。
#專欄作家#
花生醬先生,人人都是產(chǎn)品經(jīng)理專欄作家,微信公眾號:產(chǎn)品之術。金融業(yè)資深產(chǎn)品經(jīng)理,對職涯規(guī)劃與個人發(fā)展有豐富經(jīng)驗,產(chǎn)品涉獵廣泛,ERP、金融領域較多。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 Pixabay,基于 CC0 協(xié)議
您好,請教下,如果有很多種狀態(tài),多個狀態(tài)有一定的業(yè)務邏輯。比如一個建筑,是由未建設、建設中、已建成、建成未管理、建成已管理、未經(jīng)營、已經(jīng)營;是拆成3個狀態(tài)(建設狀態(tài)、管理狀態(tài)、經(jīng)營狀態(tài))還是用一個狀態(tài)呢?
最后這個圖的終點只有養(yǎng)傷。。
思考ING
最后這個圖感覺被冒犯到了
~~
get新技能 ??
這是什么字體,好看
我會清晰注明作者和出處的,謝謝了大佬
您好,大佬,請問我能轉(zhuǎn)載收藏嗎
新技能get
新技能get
謝謝!
寫的很好
謝謝!
很棒的分享 請問文章中的圖是用什么軟件畫的呢
是keynote做的,ppt也可以
謝啦~
線條上文字是如何加的?
直接選中輸入文字
mark
謝謝
vv