在B端產(chǎn)品中我們經(jīng)常會接觸到工作流這個概念,接下來本文會和大家重點介紹一下工作流相關的一些概念和使用場景。本文會涉及以下幾個概念:
狀態(tài)機、工作流、動態(tài)表單、低代碼平臺
狀態(tài)機
定義
狀態(tài)機是有限狀態(tài)自動機的簡稱,是現(xiàn)實事物運行規(guī)則抽象而成的一個數(shù)學模型。
這里舉一個簡單的例子,你汽車油箱要么是滿的要么是不滿的,不存在第三種狀態(tài)。狀態(tài)機模型就是用來抽象描述這個具體例子的。
要素
狀態(tài)機可歸納為4個要素,分別是現(xiàn)態(tài)、條件、動作、次態(tà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)機舉了一個簡單的例子:人有三個狀態(tài)健康,感冒,康復中。觸發(fā)的條件有淋雨(t1),吃藥(t2),打針(t3),休息(t4)。所以狀態(tài)機就是健康->(t4)->健康;健康->(t1)->感冒;感冒->(t3)->健康;感冒->(t2)->康復中;康復中->(t4)->健康,等等。
狀態(tài)機和流程圖
這里說明一下狀態(tài)機和流程圖這兩個概念的區(qū)別。狀態(tài)機用來描述一個特定對象的所有可能狀態(tài),以及由于各種事件的發(fā)生而引起的狀態(tài)之間的轉(zhuǎn)移。而流程圖則用于表示完成某件事情中的各個活動過程,關鍵的是每一個步驟。

動態(tài)表單
動態(tài)表單
某種程度上來說,絕大多數(shù)信息化系統(tǒng)可以歸結為表單+流程的集合。為了讓開發(fā)人員把注意力集中在業(yè)務流程上來,也可以讓系統(tǒng)操作人員參與到表單的管理,就出現(xiàn)了動態(tài)表單技術。
一個表單可以抽象為字段、數(shù)據(jù)和表現(xiàn)形式這三個元素。我們可以通過工具把需要的字段從字段庫里拖出來,擺在合適的位置,選擇交互的數(shù)據(jù)源,這樣生成的表單就可以用來錄入數(shù)據(jù)了。以上是動態(tài)表單的大概原理,實際應用中則非常復雜,比如表單布局需要考慮柵格,根據(jù)表單生成json數(shù)據(jù)等等。
可視化表單設計器
可視化表單設計器可以賦能企業(yè)實現(xiàn)低代碼開發(fā)模式??梢噪S意拖拽來組成表單,表單樣式可實時預覽,自動生成代碼。市面上相關的產(chǎn)品很多,有開源的也有付費版本的,感興趣的讀者可以自己研究一下。

工作流
定義
工作流是的定義是業(yè)務過程的部分或整體在計算機應用環(huán)境下的自動化,用通俗是話說就是一系列相互銜接、自動進行的業(yè)務活動或任務,也就是工作任務的流轉(zhuǎn),是對業(yè)務的流程化抽象。
工作流是一種思維方式,是我們描述客觀世界的工具,具體的業(yè)務還是需要靠編程人員來實現(xiàn)。
優(yōu)缺點
工作流的優(yōu)點非常明顯,包括提高企業(yè)經(jīng)營的效率、提高企業(yè)資源的利用率,提高企業(yè)運作的靈活性和適應性、提高工作效率,關注核心業(yè)務,跟蹤業(yè)務處理流程,量化業(yè)務處理效率,減少浪費,增加利潤,充分利用現(xiàn)有計算機網(wǎng)絡資源。
工作流的缺點是它的局限性,工作流可以很好地適應審批、報名這些比較固定的場景。而針對更為復雜或者個性化的業(yè)務場景,工作流就捉襟見肘了。
工作流類型
順序工作流是指出按照規(guī)定步驟進行流動的工作流,它在完成一個活動之后會去執(zhí)行到下一個活動。比如多米諾骨牌就可以看做順序工作流,前面的牌倒了會砸向后面的牌,后面的牌也會跟著倒下來。
狀態(tài)機工作流提供了一系列的狀態(tài)。工作流從初始狀態(tài)開始,到終止狀態(tài)結束。兩個狀態(tài)之間定義行為進行過渡。通常情況下,狀態(tài)機工作流對事件作出反應,事件的發(fā)生將會使狀態(tài)發(fā)生改變。這里以員工報銷為例,普通員工報銷費用不超過1000元,則由部門主管審批;如果費用超過1000元,則需要由部門經(jīng)理來審批。
工作流產(chǎn)品如何設計
工作流的設計比較復雜,本人應用的案例相對比較簡單,下面以審批為例給大家介紹的一下核心的概念。
1.參與對象
最核心的是審批發(fā)起人和審批人,審批人可能有多個;發(fā)起人比較關心流程進度,審批人則希望審批操作盡可能簡單。有時候可能還會有抄送對象的概念,和郵件中的抄送類似。
2.業(yè)務場景
比如請病假、加班申請、出差報銷這些都屬于業(yè)務場景。
3.審批節(jié)點
每個節(jié)點都表示一個參與對象,審批節(jié)點可能會有一個,也可能會有多個。
4.層級
審批層級是用來表示業(yè)務復雜度的,比如說員工入職審批,中間需要行政部門分配物品,信息部門開通相關賬號。這些步驟是并行的,可以設置為一個層級,最終才匯總到行政部門歸檔,才算是整個流程結束。
5.表單
審批表單根據(jù)不同的業(yè)務場景需要填寫不同的內(nèi)容,比如事假審批選擇的是未來的時間,而加班審批選擇的是過去的時間。
6.通知
審批的流轉(zhuǎn)需要使用通知來提醒參與對象獲知進度,進行下一步操作。
7.審批操作
審批常見的操作主要有以下幾種:發(fā)起審批、撤回審批(當審批發(fā)起人發(fā)現(xiàn)自己提交的數(shù)據(jù)有問題時,可以主動將審批撤回,修改后重提審批)、催辦審批、通過審批、駁回審批、重提審批。
8.審批狀態(tài)
審批狀態(tài)主要包括待辦審批、已辦審批、已辦結審批、我請求的審批、抄送我的審批。
工作流引擎
工作流引擎是指工作流作為應用系統(tǒng)的一部分,并為之提供對各應用系統(tǒng)有決定作用的根據(jù)角色、分工和條件的不同決定信息傳遞路由、內(nèi)容等級等核心解決方案。
工作流引擎包括流程的節(jié)點管理、流向管理、流程樣例管理等重要功能。
JPBM、Activiti都是比較出名的工作流引擎。
低代碼平臺
定義
低代碼開發(fā)平臺是無需編碼或通過少量代碼就可以快速生成應用程序的開發(fā)平臺。它允許終端用戶使用易于理解的可視化工具開發(fā)自己的應用程序,而不是傳統(tǒng)的編寫代碼方式。
低代碼平臺會用到前面提到的諸多技術,比如狀態(tài)機,工作流引擎,可視化表單等等。市面上的低代碼平臺非常多,比如釘釘宜搭,簡道云,伙伴云等等。
優(yōu)缺點
低代碼平臺具備上手快、開發(fā)快、允許快和運維快等優(yōu)點。但它的缺點也很明顯,比如某些場景下效率比較低;只能在比較通用的場景中使用,比如OA審批,內(nèi)容協(xié)作、報名表單等比較固定的場景。
在B端產(chǎn)品中,工作流是比較經(jīng)典的業(yè)務,只有弄明白這些相關的基礎概念,才能更好的使用并進行產(chǎn)品設計。除了查閱相關資料了解基礎原理,更多的是體驗競品,梳理提煉核心業(yè)務場景。這些操作都有一定的門檻,背后隱藏的細節(jié)比看到的要多得多,如果能堅持下來一定能成為優(yōu)秀的B端產(chǎn)品經(jīng)理。