我用低代碼平臺(tái),搭建了一套管理系統(tǒng)
結(jié)合低代碼平臺(tái),企業(yè)或者不那么懂代碼的業(yè)務(wù)人員可以相對(duì)快速地搭建新的應(yīng)用系統(tǒng)。那么具體如何用低代碼平臺(tái)來做好系統(tǒng)搭建呢?這篇文章里,作者結(jié)合具體案例做了步驟梳理,并對(duì)低代碼平臺(tái)中的關(guān)鍵要素做了總結(jié),一起來看看吧。
一、什么是低代碼
低代碼平臺(tái)是一套期望通過拖拽配置,就能實(shí)現(xiàn)一套業(yè)務(wù)型軟件系統(tǒng)的開發(fā)平臺(tái),并能無(wú)縫的部署上線運(yùn)行。通過表單、控件、流程等應(yīng)用組件,避免代碼開發(fā),實(shí)現(xiàn)所見即所得。
應(yīng)用場(chǎng)景
a. 幫助成熟的軟件產(chǎn)品,低成本的支持個(gè)性化需求(協(xié)助乙方快速解決甲方需求)
場(chǎng)景舉例:
假設(shè)你經(jīng)營(yíng)著一個(gè)成熟的電商平臺(tái),你的網(wǎng)站已經(jīng)運(yùn)行良好,但客戶開始提出一些特定的個(gè)性化需求,比如增加一個(gè)“最新折扣”頁(yè)面,允許用戶根據(jù)特定標(biāo)準(zhǔn)過濾商品。
在傳統(tǒng)的軟件開發(fā)模式下,這可能需要花費(fèi)相當(dāng)?shù)臅r(shí)間和資源,包括前端和后端開發(fā)人員的參與,以及測(cè)試和部署過程。在低代碼平臺(tái)的幫助下,你可以在幾小時(shí)內(nèi)實(shí)現(xiàn)創(chuàng)建自定義發(fā)布模板,配置自動(dòng)化規(guī)則,用戶自定義字段,用戶權(quán)限管理。
b. 幫助甲方企業(yè),低成本的快速搭建全新的應(yīng)用系統(tǒng),讓業(yè)務(wù)人員也能自主搭建數(shù)字化工具(讓甲方自己解決低成本需求)
場(chǎng)景舉例:
一家零售連鎖店希望建立一個(gè)內(nèi)部應(yīng)用系統(tǒng),以簡(jiǎn)化庫(kù)存管理流程和員工排班。通過低代碼平臺(tái),這家店不用采購(gòu)軟件也能實(shí)現(xiàn)庫(kù)存管理應(yīng)用,庫(kù)存報(bào)告和通知,員工排班應(yīng)用,審批工作流程。
二、用低代碼平臺(tái)搭建系統(tǒng)
1. 需求調(diào)研
某服裝廠隨著生產(chǎn)規(guī)模的擴(kuò)大,各項(xiàng)成本不斷升高,在管理上也遇到了不少問題,導(dǎo)致經(jīng)營(yíng)效率有所下降,問題主要存在以下幾方面:
- 客戶跟進(jìn)情況不透明,開單慢;
- 生產(chǎn)跟單麻煩,需要反復(fù)催問,多次溝通;
- 成衣庫(kù)存不清晰,容易造成庫(kù)存積壓。
為了達(dá)到這些訴求,已經(jīng)嘗試了各種方法,如通過微信群和在線文檔進(jìn)行統(tǒng)計(jì)和作業(yè),但還是會(huì)出現(xiàn)溝通不及時(shí)和文檔信息無(wú)法同步等問題。
如果找軟件公司定制軟件,成本又太高,而且還存在培訓(xùn)使用人員等問題,對(duì)于傳統(tǒng)服裝廠來說,使用門檻太高。
其實(shí)需求并不復(fù)雜,使用低代碼平臺(tái)搭建一套簡(jiǎn)單的管理系統(tǒng),不需要開發(fā)并且以極低的成本就能幫他們解決這些問題。
2. 業(yè)務(wù)對(duì)象梳理(流程圖 結(jié)構(gòu)圖)
通過第一步的需求調(diào)研,可以確定用戶的主要訴求在3個(gè)方面:客戶管理、生產(chǎn)訂單管理和庫(kù)存管理,圍繞這三個(gè)方面可判斷出這套系統(tǒng)涉及的主要利益方和他們的工作場(chǎng)景。
- 業(yè)務(wù)員:主要工作內(nèi)容是和客戶談單,給客戶提供產(chǎn)品信息進(jìn)行下單,根據(jù)客戶選擇的產(chǎn)品通知生產(chǎn)或直接出庫(kù),能夠及時(shí)了解訂單的生產(chǎn)信息。
- 跟單員:銷售開單后通知生產(chǎn),根據(jù)制單要求跟蹤訂單制作的整個(gè)流程,負(fù)責(zé)檢查各個(gè)工序生產(chǎn)進(jìn)度,確認(rèn)出貨工期和數(shù)量,生產(chǎn)完成后通知大貨入庫(kù)。
- 倉(cāng)庫(kù)作業(yè)人員:管理大貨的出庫(kù)以及倉(cāng)庫(kù)盤點(diǎn)。
- 老板:審核出貨單,關(guān)鍵節(jié)點(diǎn)通知。
根據(jù)工作內(nèi)容梳理出流程圖大概如下:
根據(jù)流程圖抽象出主要的實(shí)體,繪制出ER圖。
基于流程圖可以梳理出所需的頁(yè)面及主要功能。
梳理生產(chǎn)單狀態(tài)與訂單狀態(tài)間的關(guān)系。
3.低代碼實(shí)現(xiàn)
1)建立數(shù)據(jù)表
在產(chǎn)品開發(fā)設(shè)計(jì)過程中,通常會(huì)使用數(shù)據(jù)表來實(shí)現(xiàn)ER模型中的實(shí)體關(guān)系,所謂實(shí)體其本質(zhì)就是所謂的“對(duì)象”,也就是最終會(huì)存儲(chǔ)在數(shù)據(jù)庫(kù)中的表。因此低代碼平臺(tái)也沿用了這一概念,需要先創(chuàng)建一系列基本的數(shù)據(jù)表,在此基礎(chǔ)上搭建系統(tǒng)。
我使用的是明道云的低代碼平臺(tái)來實(shí)現(xiàn)上述管理系統(tǒng)的搭建,在前面抽象ER圖的過程中,抽象出了4個(gè)實(shí)體,因此這個(gè)系統(tǒng)最基礎(chǔ)的4張數(shù)據(jù)表即:客戶列表、訂單列表、產(chǎn)品列表和生產(chǎn)列表。
建立數(shù)據(jù)表時(shí)要考慮先后順序,比如客戶信息、產(chǎn)品信息都是訂單管理的基礎(chǔ)數(shù)據(jù),應(yīng)該先建立。生產(chǎn)信息的數(shù)據(jù)依賴于訂單信息,所以應(yīng)該最后建立。
2)表間關(guān)聯(lián)
根據(jù)ER圖可以看出這4張數(shù)據(jù)表間的關(guān)聯(lián)關(guān)系,有一對(duì)多和多對(duì)多,比如在客戶信息詳情中,可以看到這個(gè)客戶歷史所有下過的訂單信息;在訂單詳情中可以看到所有產(chǎn)品的生產(chǎn)進(jìn)度,這在B端產(chǎn)品設(shè)計(jì)中是一種非常常見的設(shè)計(jì)形態(tài),那么在低代碼平臺(tái)中是如何實(shí)現(xiàn)的呢。
低代碼平臺(tái)中專門提供了一系列的關(guān)聯(lián)控件,支持各種關(guān)聯(lián)關(guān)系,下圖是為了實(shí)現(xiàn)查看當(dāng)前客戶的所有訂單記錄,在客戶信息這一數(shù)據(jù)表中關(guān)聯(lián)訂單信息。
建立好關(guān)聯(lián)關(guān)系后,在數(shù)據(jù)表的詳情頁(yè)會(huì)顯示出所需要的關(guān)聯(lián)數(shù)據(jù),如下圖。
在新建訂單時(shí),需要從已有的客戶列表中選擇客戶,因此也需要在訂單信息這一關(guān)聯(lián)表中關(guān)聯(lián)客戶信息。當(dāng)兩個(gè)表的數(shù)據(jù)需要雙向同步時(shí),可以使用雙向關(guān)聯(lián)控件來實(shí)現(xiàn)效果。
3)建立工作流
每項(xiàng)業(yè)務(wù)背后都有一套業(yè)務(wù)流程,它包含了一系列活動(dòng)(可細(xì)分為任務(wù)),這些活動(dòng)之間具有相互銜接的邏輯順序或因果關(guān)系,流程最終會(huì)有一個(gè)產(chǎn)出。工作流主要用來解決以下問題:
- 數(shù)據(jù)的自動(dòng)化處理:滿足條件時(shí),自動(dòng)修改數(shù)據(jù)。
- 審批流程。
- 通知成員查看或進(jìn)行操作。
- 和外部系統(tǒng)進(jìn)行數(shù)據(jù)對(duì)接。
在低代碼平臺(tái)中,通過流程編輯器,來實(shí)現(xiàn)上述這類功能。一個(gè)工作流由觸發(fā)器和若干個(gè)動(dòng)作節(jié)點(diǎn)組成。觸發(fā)器是流程啟動(dòng)的開關(guān),通過多種類型的動(dòng)作節(jié)點(diǎn)來完成各種任務(wù),以此實(shí)現(xiàn)流程自動(dòng)化。
本套系統(tǒng)中需要設(shè)計(jì)的工作流有:
- 訂單通知:新增訂單時(shí),向生產(chǎn)負(fù)責(zé)人發(fā)送通知,方便及時(shí)安排生產(chǎn);
- 生產(chǎn)狀態(tài)與訂單狀態(tài)的相互影響(見前文狀態(tài)機(jī)圖);
- 訂單出貨審批:訂單出貨時(shí)需要管理者審批通過后方可出庫(kù)并減少相應(yīng)庫(kù)存。
拿訂單狀態(tài)更新為“生產(chǎn)完畢”這一流程來舉例,當(dāng)訂單下的生產(chǎn)單全部生產(chǎn)完成后,訂單狀態(tài)自動(dòng)更新為“生產(chǎn)完畢”。具體實(shí)現(xiàn)過程如下:
由于訂單狀態(tài)是根據(jù)該訂單下的所有生產(chǎn)單狀態(tài)決定的,因此工作流觸發(fā)節(jié)點(diǎn)是由生產(chǎn)記錄的狀態(tài)來控制的。
第一步:當(dāng)某一條生產(chǎn)記錄中的狀態(tài)被更新為“已完成”時(shí)觸發(fā)該工作流,流程開始執(zhí)行;
第二步:找到該條生產(chǎn)記錄對(duì)應(yīng)的訂單記錄
第三步:創(chuàng)建子流程,找到該條訂單記錄下的所有生產(chǎn)記錄
第四步:統(tǒng)計(jì)所有生產(chǎn)記錄中狀態(tài)為“生產(chǎn)中”的數(shù)量,判斷數(shù)量是否為0,若為0,說明該訂單下的所有產(chǎn)品均已生產(chǎn)完成,則將訂單狀態(tài)更新為“生產(chǎn)完畢”,若不為0,說明該訂單下的產(chǎn)品還未生產(chǎn)完畢,則不做修改。
工作流實(shí)現(xiàn)效果如下圖。
三、總結(jié)低代碼平臺(tái)的關(guān)鍵要素
在體驗(yàn)完低代碼平臺(tái)的功能后,可以總結(jié)一下低代碼平臺(tái)中的關(guān)鍵要素了,也是低代碼平臺(tái)之所以能夠如此靈活的滿足各種需求的核心所在。
1. 表單引擎
首先需要實(shí)現(xiàn)對(duì)底層數(shù)據(jù)對(duì)象的定義,將底層數(shù)據(jù)理解為多張Excel數(shù)據(jù)表即可,每個(gè)表單獨(dú)立采集數(shù)據(jù),用戶使用不同的控件對(duì)數(shù)據(jù)進(jìn)行操作和關(guān)聯(lián),除了編輯字段,還能在表單內(nèi)自定義操作功能,所見即所得,大大降低了操作門檻,對(duì)非技術(shù)人員十分友好。
2. 流程引擎
基礎(chǔ)數(shù)據(jù)定義好后,進(jìn)行工作流的定義,業(yè)務(wù)運(yùn)行的核心就是一個(gè)個(gè)工作流的執(zhí)行。簡(jiǎn)單的工作流如審批流程處理的是單一數(shù)據(jù)對(duì)象,復(fù)雜的工作流則需要支持多個(gè)數(shù)據(jù)對(duì)象的自動(dòng)化處理能力。
比如說在訂單管理系統(tǒng)中,當(dāng)一條訂單被確認(rèn)時(shí),需要自動(dòng)生成待支付賬單和待發(fā)貨單,同時(shí)鎖定庫(kù)存,向客戶發(fā)送通知,在自動(dòng)化工作流中,涉及到了5個(gè)實(shí)體數(shù)據(jù)的增刪改查(訂單、賬單、發(fā)貨單、庫(kù)存、客戶)。低代碼平臺(tái)需要提供一系列控件來滿足這些需求。作為平臺(tái)除了需要有強(qiáng)大的自定義流程控件支撐外,還需要支持其他平臺(tái)的集成。
3. 報(bào)表和門戶
對(duì)于業(yè)務(wù)型軟件產(chǎn)品,主要功能是對(duì)數(shù)據(jù)的增刪改查,而涉及到的交互頁(yè)面,多數(shù)也都是底層數(shù)據(jù)對(duì)象對(duì)應(yīng)的列表頁(yè)、詳情頁(yè),除此以外,還包括報(bào)表、儀表盤,以及其他類型頁(yè)面。
本文由 @guoguook 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于 CC0 協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。