產(chǎn)品經(jīng)理應該這樣提需求之“狀態(tài)機”

6 評論 24271 瀏覽 138 收藏 5 分鐘

在程序猿眼里,產(chǎn)品經(jīng)理就是需求生成器,各種各樣的點子都會從產(chǎn)品經(jīng)理強大的腦洞中生成。這些點子最終會變成需求,交付給程序猿實現(xiàn)。然而產(chǎn)品狗和程序猿畢竟是兩個物種,如何讓程序猿能完全同步產(chǎn)品經(jīng)理的腦洞,這的確是個技術(shù)活。但是產(chǎn)品經(jīng)理如果能了解程序猿的思維方式,想必可以再一定程度上彌補「種族差異」帶來的交流困難!今天,咱們就用「狀態(tài)機」來開個篇,說說按照程序猿的思維方式是怎么理解和管理狀態(tài)的。

「狀態(tài)機」是什么

一般說來,狀態(tài)機是用來描述一個事物多個狀態(tài)之間相互切換關(guān)系的數(shù)學模型,可以用圖表或者圖形來描述一個狀態(tài)機。

1

用圖表描述狀態(tài)機

2

用圖形描述狀態(tài)機

很明顯,使用「有向圖」描述的狀態(tài)機更直觀,更能讓人理解。

「狀態(tài)機」中的要素

  1. 現(xiàn)態(tài):狀態(tài)機描述事物當前所處的狀態(tài)
  2. 次態(tài):現(xiàn)態(tài)達到一定條件,并觸發(fā)相應動作后能夠達到的狀態(tài)
  3. 條件:執(zhí)行動作的前提
  4. 動作:當條件滿足后,觸發(fā)狀態(tài)機狀態(tài)改變

當「現(xiàn)態(tài)」?jié)M足指定「條件」,并觸發(fā)相應「動作」后,會進入一個指定的「次態(tài)」。狀態(tài)改變后,「次態(tài)」就會變成新的「現(xiàn)態(tài)」。

舉個栗子

叨逼叨說了這么多概念性的東西,可能大家已經(jīng)成功被我?guī)У娇永锪恕2灰o,咱們馬上來個具體的例子,看看「狀態(tài)機」到底如何使用。

以打電話的過程舉例,整個過程中可能存在以下幾個狀態(tài):「待機」、「振鈴」、「通話」、「停機提示」等幾個狀態(tài),如果我們要用自然語言描述這些狀態(tài)的轉(zhuǎn)換關(guān)系,可能需要費一些口舌,但是如果用下面的「狀態(tài)機」來描述,是不是就一目了然了?

3

產(chǎn)品經(jīng)理如何利用狀態(tài)機

經(jīng)過上面對「狀態(tài)機」的介紹,可以發(fā)現(xiàn)「狀態(tài)機」相對自然語言來說,對描述一些多狀態(tài)切換的場景有很大的優(yōu)勢。它不僅可以簡潔清晰的描述出一些復雜狀態(tài)間的轉(zhuǎn)換條件,而且也很難產(chǎn)生歧義。如果新需求的交互涉及到多種狀態(tài)的切換,又擔心程序猿在實現(xiàn)時會遺漏一些關(guān)鍵路徑,不妨試試「狀態(tài)機」的圖形化描述方式,說不定有奇效哦。

最后,再提供大家一個「狀態(tài)機」的例子做參考,這個例子的名字叫「一個程序猿的日?!埂?/p>

4

本文所說的「狀態(tài)機」都是指「有限狀態(tài)機」(FSM)。另外還有一種進階版的「層次狀態(tài)機」。如果有興趣的話可以自行搜索。

#專欄作家#

給產(chǎn)品經(jīng)理講技術(shù),微信公眾號(pm_teacher),人人都是產(chǎn)品經(jīng)理專欄作家。資深程序猿,專注客戶端開發(fā)若干年,對前端、后臺技術(shù)略懂,熱衷于對新的科技領(lǐng)域的探索。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,不得轉(zhuǎn)載。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 這幾張狀態(tài)圖中,狀態(tài)和動作都沒有完全分清。

    來自廣東 回復
  2. 圖形化比純文字更直觀清晰

    回復
  3. 看懂了看懂了,一種思維方法,用用試試吧

    回復
    1. 能解釋下嗎?沒看懂……

      來自廣東 回復
  4. 沒看懂

    回復
  5. 每篇文章都看

    來自上海 回復