如何采用MVC架構(gòu)設(shè)計(jì)一款后端產(chǎn)品?
大多數(shù)設(shè)計(jì)產(chǎn)品的時(shí)候,比較注重前端產(chǎn)品的頁面設(shè)計(jì)和用戶體驗(yàn)交互等,而忽略了后端產(chǎn)品流程的設(shè)計(jì),導(dǎo)致后端業(yè)務(wù)流程不暢,一直在原有的流程上打補(bǔ)丁,有可能影響業(yè)務(wù)工作流的整體效率。尤其對(duì)于新創(chuàng)公司業(yè)務(wù)流程經(jīng)常變更的情況下,沒有一個(gè)可擴(kuò)展的基礎(chǔ)業(yè)務(wù)核心的話,冒出的狀況層出不窮,導(dǎo)致業(yè)務(wù)停滯不前。這就需要?jiǎng)傞_始的時(shí)候就確定一個(gè)基礎(chǔ)工作流,再不斷進(jìn)行迭代,建立一個(gè)完整的、可擴(kuò)展的后臺(tái)系統(tǒng),避免一條路走到黑,費(fèi)時(shí)費(fèi)力的重構(gòu)流程(另:模塊化思維很重要,低耦合高內(nèi)聚,可以降低需求變更時(shí)的開發(fā)成本,便于敏捷開發(fā)、及時(shí)響應(yīng))。
1、梳理業(yè)務(wù)場(chǎng)景
以眼鏡零售為例吧,場(chǎng)景:公司采購商品→線上展示→用戶購買。業(yè)務(wù)場(chǎng)景主要區(qū)分2C(面向用戶)和2B(面向公司)兩塊。面向用戶的業(yè)務(wù)類型主要是:銷售下單、售后、主動(dòng)營銷等;面向公司的業(yè)務(wù)類型主要是采購、供貨、開票等。針對(duì)用戶的核心業(yè)務(wù)場(chǎng)景再進(jìn)行細(xì)分:挑選完商品后,用戶配鏡的度數(shù)怎么提交,訂單完成后怎么怎么支付,付了錢以后怎么獲得商品,商品損壞的退換貨流程等。所有業(yè)務(wù)串聯(lián)以后形成一條完整的工作流,這時(shí)候再開始設(shè)計(jì)業(yè)務(wù)流程和后臺(tái)框架,就得心應(yīng)手了少走很多彎路?;ヂ?lián)網(wǎng)商城的訂單后臺(tái)模式了相關(guān)例子有很多,本文就不一一贅述。核心流程是:
此文主要介紹下2B的設(shè)計(jì)模式,更像一個(gè)小型的進(jìn)銷存結(jié)合財(cái)務(wù)報(bào)表的企業(yè)信息系統(tǒng)。相對(duì)于ERP而言更輕便,更適合小團(tuán)隊(duì)。(如有不對(duì)和改進(jìn)建議歡迎交流指正)
首先要明確的是產(chǎn)品銷售的商業(yè)模式,線上商超+門店銷售相結(jié)合的方式,線上做銷售減少成本,線下門店做服務(wù)和體驗(yàn)打造品牌。目前據(jù)調(diào)查,眼鏡零售業(yè)現(xiàn)在主流的有2種銷售方法:
- 輕庫存,備貨后上架庫存商品向消費(fèi)者展示;
- 0庫存,不備貨將供應(yīng)商的貨直接銷售給顧客。鏡架更適合輕庫存的供貨方式,而鏡片更適合0庫存的供貨方式,各類型的鏡片有幾十種,每種鏡片對(duì)應(yīng)度數(shù)有800個(gè)以上的sku,全部備庫存的情況下需要10000種以上的sku。這時(shí)候針對(duì)產(chǎn)品就需要對(duì)應(yīng)的供應(yīng)屬性(直接采購和工廠供貨),以滿足供貨需求。
2、業(yè)務(wù)場(chǎng)景轉(zhuǎn)化成功能模塊
根據(jù)商業(yè)模式制定工作流:
門店
- 鏡架:供貨→銷售
- 鏡片:采購→銷售
線上(總部)
- 鏡架:采購→銷售
- 鏡片:采購→銷售
根據(jù)業(yè)務(wù)的工作流程方式和財(cái)務(wù)的記賬方式確定核心流程需求,然后轉(zhuǎn)化成具體的各個(gè)模塊:1、采購,2、倉管(供貨)3、銷售4、財(cái)務(wù)記賬。
針對(duì)財(cái)務(wù)記賬原則(本人根本不懂財(cái)務(wù))多采用復(fù)式記賬的方式,有出有進(jìn)、借貸必相等;故設(shè)計(jì)后臺(tái)票據(jù)這塊的原則就是每一步操作都會(huì)生成對(duì)應(yīng)的票據(jù),每一張票據(jù)都會(huì)生成對(duì)應(yīng)的會(huì)計(jì)分錄。
3、設(shè)計(jì)各模塊的連接和串聯(lián)關(guān)系
零售業(yè)的核心是商品和服務(wù),商品是實(shí)物有價(jià)值的可通過庫存將采購、供貨和銷售串聯(lián),而服務(wù)是無形價(jià)值,也可通過服務(wù)商品來進(jìn)行計(jì)算各部分價(jià)值,鑒于現(xiàn)在公司的驗(yàn)光配鏡服務(wù)全部免費(fèi),此部分等可不納入銷售、財(cái)務(wù)等的考慮(有時(shí)候精簡(jiǎn)需求更利于提升效率)。
如果將采購、供貨和銷售的需求進(jìn)行抽象、剝離、提煉后發(fā)現(xiàn),就是庫位的移動(dòng)需求。
- 采購:供應(yīng)商庫位→總部庫位/門店庫位
- 倉管:總部庫位→門店庫位/門店庫位→總部庫位
- 銷售:門店庫位/總部庫位→客戶庫位
- 財(cái)務(wù):每一筆的庫位移動(dòng)進(jìn)行記錄,生成對(duì)應(yīng)的會(huì)計(jì)分錄。
此時(shí)就完成從供應(yīng)商到客戶的銷售閉環(huán),客戶需求的提出到采購、供貨、銷售,環(huán)環(huán)相扣,每一步操作系統(tǒng)進(jìn)行記錄,步步可追溯,哪個(gè)環(huán)節(jié)出錯(cuò),一目了然。由于是根據(jù)商品庫存的數(shù)據(jù)進(jìn)行記錄每一步操作,通過大數(shù)據(jù)分析對(duì)供應(yīng)商、客戶、商品進(jìn)行透視,可得出供貨周期、庫存占比、庫存周轉(zhuǎn)率等。
4、功能模塊可視化
之前提到的各模塊功能的闡述、鏈接主要是MVC架構(gòu)中的model的概念,將各業(yè)務(wù)邏輯建立成對(duì)應(yīng)的模型,以下簡(jiǎn)要介紹一下VC即view(視圖)和controller(控制器)。視圖和控制器更多是用戶能看到什么界面(數(shù)據(jù)表的展示),每一步操作會(huì)觸發(fā)什么(數(shù)據(jù)的讀出寫入傳遞)。后端產(chǎn)品視圖相對(duì)于外觀更注重的是邏輯性和易操作性,對(duì)于操作的每個(gè)環(huán)節(jié)需要清晰的認(rèn)識(shí),流程形成閉環(huán)。
你從采購到鋪貨進(jìn)行分解后有幾個(gè)操作:詢價(jià)→打樣→確認(rèn)采購→預(yù)付→質(zhì)檢→運(yùn)輸→入庫→支付尾款→鋪貨到門店;每一步操作的視圖就是對(duì)應(yīng)的view,每一步操作觸發(fā)到下一步就是對(duì)應(yīng)的controller。詢價(jià)和確認(rèn)采購過程中需要哪些東西,就需要哪些展示在視圖上,從詢價(jià)到采購單的確認(rèn)又需要哪些操作,又需要哪些事件觸發(fā)和回退就是controller。業(yè)務(wù)邏輯理順,采購員能看到什么,財(cái)務(wù)能看到什么,采購員怎么確認(rèn),確認(rèn)后采購單怎么連接到倉管,用戶購買后倉管怎么打包、組裝、包裝運(yùn)輸?shù)娇蛻簟?/p>
借助思維導(dǎo)圖梳理業(yè)務(wù)邏輯,最初的業(yè)務(wù)需求邏輯轉(zhuǎn)化成最后的事件觸發(fā)的邏輯(controller),在細(xì)化每個(gè)事件的各個(gè)分支和其他路徑,就算是完成整個(gè)方案了。
5、在各模塊上進(jìn)行優(yōu)化,完善用戶體驗(yàn)
- 用戶下單后,對(duì)應(yīng)產(chǎn)品根據(jù)訂單自動(dòng)生成采購單、
- 采購單自動(dòng)通過郵件發(fā)送給供應(yīng)商確認(rèn)
- 庫存商品有預(yù)警機(jī)制
- 門店庫存不足自動(dòng)從總部補(bǔ)貨等
……
總結(jié)
針對(duì)后端產(chǎn)品的產(chǎn)品設(shè)計(jì),核心思路是業(yè)務(wù)邏輯,用業(yè)務(wù)邏輯規(guī)范所有流程;實(shí)施過程中各功能拆分到各模塊,各模塊再通過事件觸發(fā)鏈接到一起,形成閉環(huán)。
本文由 @saber 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理?,未經(jīng)許可,禁止轉(zhuǎn)載。
學(xué)習(xí)后臺(tái)設(shè)計(jì),希望能夠梳理自己的邏輯能力
贊一個(gè),支持下作者。
后臺(tái)產(chǎn)品介紹很少,評(píng)論也少