從0到1設(shè)計(jì)后臺(tái)產(chǎn)品(三):產(chǎn)品功能解構(gòu)
物流運(yùn)輸管理系統(tǒng)的流程是什么?如何設(shè)計(jì)這樣一款后臺(tái)產(chǎn)品,應(yīng)該從哪幾個(gè)方面去設(shè)計(jì)呢?以下,筆者將為大家分享自己在設(shè)計(jì)后臺(tái)產(chǎn)品中的一些想法。
在業(yè)務(wù)需求了解清楚后,就進(jìn)入了產(chǎn)品設(shè)計(jì)的階段。那么如何設(shè)計(jì)一款后臺(tái)產(chǎn)品,應(yīng)該從哪幾個(gè)方面去設(shè)計(jì)呢?我們先看一下一個(gè)物流運(yùn)輸管理系統(tǒng)大致的流程是什么。
功能域劃分
功能域,指的是在滿足某個(gè)業(yè)務(wù)流程時(shí),將線上的操作流程拆分成不同的功能閉環(huán)。
劃分功能域是在產(chǎn)品設(shè)計(jì)的初期階段比較重要的一個(gè)工作。如果在產(chǎn)品設(shè)計(jì)的一開(kāi)始就可以劃分一個(gè)比較合理的功能域,在后面產(chǎn)品設(shè)計(jì)的時(shí)候,就可以按照功能域進(jìn)行拆分設(shè)計(jì),不同功能域之間以接口的方式進(jìn)行對(duì)接。這樣一來(lái)可以減少系統(tǒng)的復(fù)雜性,降低設(shè)計(jì)成本。二來(lái)可以減少不同功能之間的耦合性。防止一個(gè)功能進(jìn)行迭代或者優(yōu)化就會(huì)牽一發(fā)而動(dòng)全身。
產(chǎn)供銷(xiāo)模式
功能域劃分可按照經(jīng)典的供應(yīng)鏈產(chǎn)供銷(xiāo)的思路進(jìn)行劃分;產(chǎn)供銷(xiāo)在供應(yīng)鏈中指的是生產(chǎn)、供應(yīng)、銷(xiāo)售;指的是某個(gè)貨物的完整的供應(yīng)鏈體系。這里供應(yīng)鏈體系不同的是所傳遞的不是貨物,而是數(shù)據(jù)或者某個(gè)流程的結(jié)果。這種模式比較適合操作性比較強(qiáng)的業(yè)務(wù)系統(tǒng)。
所以這里的產(chǎn)供銷(xiāo)引申為:數(shù)據(jù)的生成部分,數(shù)據(jù)的處理部分,數(shù)據(jù)的最后經(jīng)過(guò)系統(tǒng)系統(tǒng)流轉(zhuǎn)產(chǎn)生的結(jié)果,也是其價(jià)值所在。
比如要設(shè)計(jì)一個(gè)大件貨物的物流運(yùn)輸管理系統(tǒng):
生產(chǎn):貨品/客戶數(shù)據(jù)錄入功能,車(chē)輛信息、司機(jī)信息的錄入,城市信息/點(diǎn)位倉(cāng)庫(kù)的錄入,運(yùn)輸計(jì)劃的生成,我們可以將其劃分為數(shù)據(jù)生成功能域;數(shù)據(jù)生成功能域一般來(lái)說(shuō)屬于最上游的功能域,所以與系統(tǒng)內(nèi)的往復(fù)的交互不會(huì)太多,一般其他的操作流程都是從這里取數(shù),反而與一些承載其他的業(yè)務(wù)訴求的系統(tǒng)有所交互,比貨品/客戶的數(shù)據(jù)可能是從倉(cāng)儲(chǔ)系統(tǒng)或者交易系統(tǒng)直接拿過(guò)來(lái)的數(shù)據(jù),車(chē)輛信息、司機(jī)信息時(shí)直接從供應(yīng)商系統(tǒng)拿過(guò)來(lái)的數(shù)據(jù)。但是理論上說(shuō),它所有的邏輯都是向上耦合而不會(huì)向下耦合的。
供應(yīng):為了達(dá)到最后的結(jié)果的流程業(yè)務(wù)功能。一般來(lái)說(shuō)如果劃分供應(yīng)功能域的話,所劃分的領(lǐng)域都是比較核心的領(lǐng)域,是主要業(yè)務(wù)流程的承載。對(duì)于物流運(yùn)輸系統(tǒng)來(lái)說(shuō),就是可以說(shuō)是排線、裝車(chē)流程。以及整個(gè)的任務(wù)跟蹤流程,包括實(shí)時(shí)運(yùn)力的報(bào)告預(yù)警,車(chē)輛調(diào)度,在途跟蹤,司機(jī)在此過(guò)程中的送貨、簽收、回款等一系列流程。
銷(xiāo)售:這塊一般是已經(jīng)完成了核心業(yè)務(wù)流程后所要拿到結(jié)果的部分,也是整套流程的價(jià)值所在。對(duì)于物流運(yùn)輸系統(tǒng)來(lái)說(shuō),可以是整個(gè)費(fèi)用結(jié)算模塊,根據(jù)之前的所有的流程或者內(nèi)容最終的一個(gè)產(chǎn)出。向下流程的內(nèi)容其實(shí)也屬于這塊的內(nèi)容,比如物流任務(wù)完成后最終給財(cái)務(wù)系統(tǒng),給交易系統(tǒng)的一個(gè)數(shù)據(jù)流轉(zhuǎn),也會(huì)放在這個(gè)功能域中。
進(jìn)銷(xiāo)存模式
還有一種思路是按照供應(yīng)鏈的進(jìn)銷(xiāo)存的思路進(jìn)行劃分,這也是劃分子系統(tǒng)的另外一個(gè)角度。
進(jìn)銷(xiāo)存指的是采購(gòu)、入庫(kù)、銷(xiāo)售這樣的一個(gè)過(guò)程。這種模式比較適合邏輯復(fù)雜,中臺(tái)系統(tǒng),或者中間業(yè)務(wù)流轉(zhuǎn)系統(tǒng)。與產(chǎn)供銷(xiāo)模式不同的是,一個(gè)偏向于產(chǎn)出,通過(guò)某個(gè)方式生成數(shù)據(jù),完成業(yè)務(wù)流程。一個(gè)偏向流轉(zhuǎn),以自己本身的業(yè)務(wù)流程屬性進(jìn)行承上啟下或者承接核心業(yè)務(wù)流程。
比如訂單交易系統(tǒng),可以采用進(jìn)銷(xiāo)存的模式。
第一:訂單數(shù)據(jù)的產(chǎn)生來(lái)源是用戶下單,所以產(chǎn)生訂單的過(guò)程可以作為采購(gòu)的流程;
第二:訂單數(shù)據(jù)產(chǎn)生后,整體的處理過(guò)程,比如訂單狀態(tài)根據(jù)不同操作的流轉(zhuǎn)、訂單的算價(jià)等;
第三:訂單處理完成后,對(duì)各個(gè)下游系統(tǒng)的分發(fā),可以作為銷(xiāo)售環(huán)節(jié);比如訂單在客服系統(tǒng)、CRM等系統(tǒng)中的下游邏輯處理;
這些是我在平時(shí)工作中的一些總結(jié),肯定還有許多業(yè)務(wù)流程沒(méi)有辦法按照這個(gè)思路去劃分功能域,總之可以按照一個(gè)思路:功能域之外盡量形成閉環(huán),通過(guò)盡量少的接口就可以滿足不同功能域之間的數(shù)據(jù)流轉(zhuǎn),協(xié)作完成各個(gè)功能域之間的工作就可以。
主線產(chǎn)品設(shè)計(jì)
在劃分功能域后,我們可以按照不同的功能域進(jìn)行產(chǎn)品的設(shè)計(jì),每一個(gè)功能域中都可以拆分為主線產(chǎn)品及非主線產(chǎn)品。
例如在物流運(yùn)輸管理系統(tǒng)中,我們已經(jīng)按照產(chǎn)供銷(xiāo)的模式將系統(tǒng)拆分了不同的子功能域,第二個(gè)子功能域是業(yè)務(wù)流程的處理,數(shù)據(jù)的處理部分,那么針對(duì)這個(gè)環(huán)節(jié)中,其整個(gè)核心的流程就是從物流運(yùn)輸管理系統(tǒng)中排線,裝車(chē),在途運(yùn)輸,簽收回款這樣一條業(yè)務(wù)流程的核心鏈路。
那么,應(yīng)該如何去判斷這條鏈路是核心鏈路呢?
可以秉承這一一句話:這條鏈路跑通后,可這個(gè)子功能域的基本業(yè)務(wù)流程可以跑通,沒(méi)有比較大的功能缺陷;
有時(shí)候,我們無(wú)法確認(rèn)哪些是核心鏈路。接過(guò)來(lái)一堆的業(yè)務(wù)訴求,梳理了一個(gè)龐大而繁瑣的產(chǎn)品流程;
在這條流程里面,我們可以進(jìn)行梳理和拆解,這個(gè)過(guò)程中,我們可以遵循以下幾個(gè)原則將核心鏈路梳理出來(lái)。
第一:業(yè)務(wù)閉環(huán)是什么
這個(gè)子功能域中,最開(kāi)始的節(jié)點(diǎn),和最后的節(jié)點(diǎn)分別是哪些;比如物流運(yùn)輸管理系統(tǒng)中,第二個(gè)子功能域的第一個(gè)環(huán)節(jié)是排線,最后一個(gè)環(huán)節(jié)是簽收回款,或者司機(jī)返倉(cāng)(有返倉(cāng)環(huán)節(jié)的流程),那么可以確認(rèn)的是,這兩個(gè)環(huán)節(jié)一定是主鏈路之內(nèi)的;
接著,通過(guò)這個(gè)鏈路往后推,往前推,直至將整條鏈路閉環(huán)。比如排線后接下來(lái)的環(huán)節(jié)是通知司機(jī),則這個(gè)環(huán)節(jié)也是主鏈路之內(nèi)的;司機(jī)接單后進(jìn)行裝車(chē),這樣是從前往后推,直至最后的環(huán)節(jié);
另外,為了保證最終的結(jié)果正確,我們可以從后往前再推一遍,比如最后的節(jié)點(diǎn)是司機(jī)返倉(cāng),那前一個(gè)環(huán)節(jié)是司機(jī)接收到了貨款,再前一個(gè)環(huán)節(jié)是司機(jī)到達(dá)客戶現(xiàn)場(chǎng)進(jìn)行送貨;
第二:如果沒(méi)有XX功能,該怎么辦
對(duì)于某個(gè)功能我們實(shí)在難以取舍的時(shí)候,我們可以考慮一下,如果上線的時(shí)候沒(méi)有這個(gè)功能,我們可以怎么做?比如如果沒(méi)有內(nèi)置導(dǎo)航的功能,司機(jī)可以通過(guò)高德、百度地圖的APP直接導(dǎo)航使用;如果沒(méi)有裝車(chē)后拍照留存功能,可以拉一個(gè)微信群,在微信群里面上傳照片;如果沒(méi)有排線功能,那業(yè)務(wù)數(shù)據(jù)將無(wú)法流轉(zhuǎn),無(wú)法給司機(jī)下發(fā)任務(wù);所以哪些功能是主線功能,哪些是非主線功能,就顯而易見(jiàn)了。
那么,為什么我們需要梳理出一個(gè)主線產(chǎn)品呢?
第一,后臺(tái)產(chǎn)品是復(fù)雜而龐大的,我們無(wú)法一口吃成一個(gè)胖子,就需要將功能拆解開(kāi)來(lái)做,所以這個(gè)時(shí)候就必須梳理出一個(gè)主線產(chǎn)品;
第二,在產(chǎn)品線上跑起來(lái)之前,所有的設(shè)計(jì)都是空中閣樓,沒(méi)有經(jīng)過(guò)實(shí)際的驗(yàn)證,如果這個(gè)時(shí)候我們將產(chǎn)品設(shè)計(jì)的特別復(fù)雜,一旦其中某個(gè)環(huán)節(jié)出現(xiàn)了問(wèn)題,就會(huì)出現(xiàn)船大難調(diào)頭的尷尬局面;
第三:好多的功能,是業(yè)務(wù)沒(méi)想清楚,我們也沒(méi)想清楚的,只有產(chǎn)品真正用起來(lái)之后,才能之后這個(gè)產(chǎn)品需要什么,所以在產(chǎn)品最開(kāi)始的階段,當(dāng)務(wù)之急是讓產(chǎn)品先運(yùn)作起來(lái),然后再根據(jù)實(shí)際的情況決定后續(xù)的產(chǎn)品怎么去做;
非主線產(chǎn)品設(shè)計(jì)
非主線產(chǎn)品功能,即指的在某個(gè)功能域之內(nèi)主線產(chǎn)品之外的功能,這些功能不會(huì)影響到主鏈路,但是如果加上這些功能可以讓產(chǎn)品更加完善,更符合業(yè)務(wù)訴求。
比如我們?cè)诖_定了物流運(yùn)輸管理系統(tǒng)中如果沒(méi)有裝車(chē)后的拍照留存功能,可以讓司機(jī)通過(guò)微信群上傳照片的方式進(jìn)行操作;但是在主線功能上線之后,針對(duì)于每一筆訂單都會(huì)用到的這個(gè)操作,這樣的操作無(wú)疑就相當(dāng)?shù)姆爆嵙?。所以此時(shí)刻的功能線上化就十分有必要了。
在已經(jīng)將主線產(chǎn)品設(shè)計(jì)出后,非主線產(chǎn)品相對(duì)來(lái)說(shuō)就會(huì)比較好設(shè)計(jì)一些。設(shè)計(jì)非主線產(chǎn)品時(shí),可以參考以下幾個(gè)設(shè)計(jì)原則:
1. 主線產(chǎn)品每個(gè)環(huán)節(jié)的補(bǔ)充
在我們將主線功能中的排線環(huán)節(jié)設(shè)計(jì)完成后,排線所要涉及的其他點(diǎn),比如運(yùn)單生成后的打印,排線時(shí)需要先核對(duì)訂單各個(gè)SKU的數(shù)量以及倉(cāng)儲(chǔ)數(shù)量,這些流程是依托于主線流程,或者主線流程的擴(kuò)充的,完善主線功能的某個(gè)流程的。
2. 可以形成一個(gè)業(yè)務(wù)小閉環(huán)
某些功能可能根本就和主線流程關(guān)系不大, 但的確也屬于整個(gè)業(yè)務(wù)流程之內(nèi)的,比如在許多的物流運(yùn)輸管理系統(tǒng)中會(huì)將與司機(jī)簽訂合同的功能與放到里面;這個(gè)流程可以說(shuō)是完全在系統(tǒng)中開(kāi)辟了一個(gè)新的獨(dú)立的業(yè)務(wù)小閉環(huán),我們?cè)谠O(shè)計(jì)的時(shí)候,要注意做到最小可用即可,精力更多的還是需要放在主線流程及對(duì)應(yīng)的非主線流程上。
數(shù)據(jù)功能設(shè)計(jì)
數(shù)據(jù)產(chǎn)品的設(shè)計(jì)中包括報(bào)表設(shè)計(jì),數(shù)據(jù)儀表盤(pán)等產(chǎn)品設(shè)計(jì)。
這個(gè)功能可以說(shuō)是后臺(tái)產(chǎn)品的必備功能之一。在設(shè)計(jì)報(bào)表功能時(shí),需要注意的設(shè)計(jì)內(nèi)容有:
一、自上而下的設(shè)計(jì),即這個(gè)功能是以管理訴求出發(fā),基于不同的管理者希望看到什么樣的數(shù)據(jù)來(lái)確定報(bào)表設(shè)計(jì)的內(nèi)容。所以一般需求的來(lái)源大部分可能是管理者,較少部分的情況下才為操作者,比如CRM系統(tǒng)中某個(gè)人需要看自己今天拜訪了多少客戶。
二、不同行業(yè)的報(bào)表標(biāo)準(zhǔn)都有哪些,在不同的行業(yè)中可能會(huì)有一些固定衡量的指標(biāo)來(lái)確定某一次業(yè)務(wù)流程的結(jié)果如何,比如在物流運(yùn)輸管理系統(tǒng)中的提貨準(zhǔn)時(shí)率 / 到貨準(zhǔn)時(shí)率 / 貨損貨差率 /回單返回率 / 車(chē)輛裝載率?等等這些比較標(biāo)準(zhǔn)的數(shù)據(jù)做成線上報(bào)表。
三、在設(shè)計(jì)報(bào)表的時(shí)候,需要在一開(kāi)始的時(shí)候就注意取數(shù)字段的設(shè)計(jì),有時(shí)候在產(chǎn)品功能中可能不需要在數(shù)據(jù)庫(kù)中新增一個(gè)字段來(lái)存儲(chǔ),但是為了后面報(bào)表取數(shù)比較容易,最好還是可以在數(shù)據(jù)庫(kù)中冗余一個(gè)字段。這樣在后期跑數(shù)據(jù)的時(shí)候一是可以減少開(kāi)發(fā)的工作量,二來(lái)可以減少跑數(shù)的時(shí)間。
四、設(shè)計(jì)報(bào)表的時(shí)候,最好是帶入到不同的使用場(chǎng)景中去設(shè)計(jì),不能為了設(shè)計(jì)報(bào)表而設(shè)計(jì)。所生成的數(shù)據(jù)一定要有意義,確切的用到某個(gè)地方才去取這個(gè)數(shù)據(jù)。
非功能性設(shè)計(jì)
非功能性產(chǎn)品主要包括兩個(gè)部分:
1. 滿足降本增效的目的,在現(xiàn)有功能產(chǎn)品之上確定的一些產(chǎn)品策略
這些策略是為了讓系統(tǒng)更加的堅(jiān)實(shí)可用。這個(gè)我認(rèn)為也是之所以我們要將某些業(yè)務(wù)流程線上化的原因,因?yàn)檫@些功能的存在,我們可以讓原來(lái)繁瑣的業(yè)務(wù)流程變得更加精簡(jiǎn)高效;
比如在我們將tms的業(yè)務(wù)功能產(chǎn)品已經(jīng)做得足夠完善時(shí),需要考慮的就是這個(gè)系統(tǒng)可以如何更好的服務(wù)于業(yè)務(wù),讓業(yè)務(wù)的操作可以更精簡(jiǎn),效率可以更高;這個(gè)時(shí)候我們就需要考慮一些人做不到的時(shí)候,比如排線策略,根據(jù)以往的排線數(shù)據(jù),可以推算出某個(gè)訂單的最優(yōu)線路,在給某個(gè)司機(jī)進(jìn)行派單時(shí)自動(dòng)將最佳的訂單進(jìn)行聚合生成運(yùn)單。在司機(jī)裝車(chē)時(shí),根據(jù)貨物的擺放原則(密度大的放在下方,易損的放在上方),先到后裝(優(yōu)先派送的放在最后裝車(chē)),不超載等原則自動(dòng)匹配配載的策略;
這些功能可能都是人為操作難以實(shí)現(xiàn)或者需要一個(gè)很復(fù)雜的計(jì)算的,但是這些我們通過(guò)產(chǎn)品本身不斷優(yōu)化的策略,可以讓產(chǎn)品變得更加完善和健壯。
2. 非功能性產(chǎn)品包括在業(yè)務(wù)流程之外的一些產(chǎn)品能力
比如一些管控訴求,關(guān)鍵節(jié)點(diǎn)需要某些職位的領(lǐng)導(dǎo)進(jìn)行審批;如果是從0 到1在建設(shè)完成的系統(tǒng)時(shí)需要設(shè)計(jì)的權(quán)限系統(tǒng),賬戶系統(tǒng);等等這些內(nèi)容,需要滿足整體的產(chǎn)品閉環(huán)流程不可缺少的環(huán)節(jié)。
接口設(shè)計(jì)
對(duì)內(nèi)的接口
在上文中所述,設(shè)計(jì)產(chǎn)品的一開(kāi)始需要?jiǎng)澐肿庸δ苡?,那么不同的功能域之間的能力即通過(guò)接口進(jìn)行連接。之所以通過(guò)接口進(jìn)行對(duì)接,可以保證不同子功能域之間的耦合程度比較低,在進(jìn)行功能迭代時(shí),如果只涉及到某個(gè)功能域的改動(dòng),不需要整個(gè)鏈路都改造,只改造自己本身內(nèi)部即可,只要對(duì)其他功能域所輸出的接口沒(méi)有變動(dòng),則對(duì)其他功能域無(wú)感知。
在設(shè)計(jì)對(duì)內(nèi)的接口時(shí),無(wú)需考慮到的點(diǎn)有如下:
1. 接口的調(diào)用頻率,調(diào)用次數(shù)。因?yàn)樽鳛橐粋€(gè)統(tǒng)一的系統(tǒng),所有系統(tǒng)的技術(shù)能力都是統(tǒng)一的,完備的,這些信息更多的應(yīng)該是技術(shù)去考慮的。
2. 同一個(gè)系統(tǒng)中,不同子功能域的主數(shù)據(jù)是一致的?;诖?,我們?cè)谠O(shè)計(jì)接口的時(shí)候,就不需要考慮接口中過(guò)多的參數(shù),如果一旦涉及到某個(gè)數(shù)據(jù),只需要將表中的主鍵作為參數(shù)進(jìn)行傳遞即可。比如在物流運(yùn)輸管理系統(tǒng)中,供應(yīng)子功能域需要生產(chǎn)子功能域提供被禁用的司機(jī)名單,以便勾選司機(jī)的時(shí)候?qū)⑵渲没?。那供?yīng)子功能域只需要將司機(jī)ID給到,由供應(yīng)子功能域直接去主數(shù)據(jù)中查詢即可。
對(duì)外的接口
對(duì)外的接口,既包括對(duì)功能內(nèi)部的不同系統(tǒng)的業(yè)務(wù)能力支持接口,也包括可能對(duì)外涉及的OpenAPI。相對(duì)于對(duì)內(nèi)的接口,由于這些接口是對(duì)外露出的,其他業(yè)務(wù)系統(tǒng)的能力不受本系統(tǒng)的控制。所以在設(shè)計(jì)的過(guò)程中會(huì)比對(duì)內(nèi)的接口復(fù)雜一些,設(shè)計(jì)時(shí)也需要更加的謹(jǐn)慎;
在設(shè)計(jì)對(duì)外接口的時(shí)候,需要考慮的點(diǎn)有以下:
1. 是主動(dòng)調(diào)用接口還是推送接口。主動(dòng)調(diào)用接口指的是調(diào)用方因?yàn)樽约旱男枨笳{(diào)用我方系統(tǒng)的接口,然后我方進(jìn)行一定的邏輯處理后返回給調(diào)用方。這種情況多見(jiàn)于調(diào)用方發(fā)起業(yè)務(wù)操作,比如TMS在于WMS進(jìn)行交互時(shí),如果TMS想要獲取WMS中的貨品數(shù)據(jù),則需要主動(dòng)請(qǐng)求WMS,將一定的參數(shù)(一般包括必要的條件,比如哪個(gè)城市、哪個(gè)訂單,多少貨)等傳給WMS,然后WMS返回給對(duì)應(yīng)的數(shù)據(jù)。
如果是推送接口,即我方系統(tǒng)因?yàn)閿?shù)據(jù)變化或其他原因,主動(dòng)推送給調(diào)用方的方式。比如WMS中某個(gè)貨品因?yàn)椴缓细裣录芰?,但是之前的?shù)據(jù)已經(jīng)推送給TMS了,這個(gè)時(shí)候就需要WMS主動(dòng)推送給TMS。
2. 同步接口還是異步接口。同步接口指的是進(jìn)行數(shù)據(jù)傳遞時(shí),接收方將結(jié)果實(shí)時(shí)返回給調(diào)用方,接口一直保持通信。同步接口的好處為:信息處理比較及時(shí),各個(gè)系統(tǒng)之間的操作會(huì)比較平滑。缺點(diǎn)為一旦數(shù)據(jù)量大的時(shí)候,接口容易超時(shí),導(dǎo)致數(shù)據(jù)傳輸失敗。這種情況下,整個(gè)系統(tǒng)的操作相當(dāng)于都被中斷 。
異步接口指的是,我接收到調(diào)用方傳過(guò)來(lái)的數(shù)據(jù)后,先進(jìn)行邏輯處理,處理成功后將結(jié)果再返回給調(diào)用方,這種方式的好處和同步接口相比針對(duì)大量數(shù)據(jù)的處理有了明顯的提升。但是有一點(diǎn),因?yàn)檎{(diào)用方接收接口不及時(shí),如果邏輯處理不好,很容易出現(xiàn)下游系統(tǒng)數(shù)據(jù)繼續(xù)進(jìn)行,但是上游后面返回一個(gè)失敗的結(jié)果,這樣就會(huì)導(dǎo)致整個(gè)系統(tǒng)的邏輯錯(cuò)亂。
3. 接口的調(diào)用頻次和量級(jí)。一個(gè)系統(tǒng)所能承受的壓力是有限的,在設(shè)計(jì)接口的時(shí)候,也一定要考慮到系統(tǒng)接口所能承受的壓力是多少。這一點(diǎn)其實(shí)技術(shù)考慮的可能更多一些,但是對(duì)于產(chǎn)品來(lái)說(shuō),可能不同的壓力承受值會(huì)對(duì)產(chǎn)品方案有所影響,比如某個(gè)HRM系統(tǒng)中,員工同步的借口一次最多允許傳10000個(gè)員工,則我們需要考慮正常的操作鏈路中比如Excel導(dǎo)入是否也需要將操作限制于10000。
兜底邏輯、熔斷機(jī)制
系統(tǒng)在運(yùn)行的過(guò)程中,難免會(huì)因?yàn)椴l(fā)量過(guò)大,系統(tǒng)bug產(chǎn)生一些問(wèn)題,這些問(wèn)題輕則影響業(yè)務(wù)的正常進(jìn)行,重則直接宕機(jī),丟失數(shù)據(jù)等嚴(yán)重的情況。所以在設(shè)計(jì)產(chǎn)品的時(shí)候,要考慮到如果一旦系統(tǒng)產(chǎn)生問(wèn)題,怎么樣可以使產(chǎn)生的災(zāi)難降到最低;
兜底邏輯指的是因?yàn)槟承┎豢深A(yù)見(jiàn)性的問(wèn)題,比如系統(tǒng)bug,產(chǎn)品邏輯沒(méi)有考慮到等因素,發(fā)生了異常情況或者數(shù)據(jù)的情況下,系統(tǒng)應(yīng)當(dāng)進(jìn)行的操作。設(shè)計(jì)一個(gè)產(chǎn)品的兜底邏輯需要對(duì)這個(gè)業(yè)務(wù)十分熟悉,并且有著自己比較精準(zhǔn)的業(yè)務(wù)判斷,否則會(huì)導(dǎo)致一種十分可怕的情況是兜底錯(cuò)誤,造成了比原本更可怕的錯(cuò)誤。
比如在物流運(yùn)輸管理系統(tǒng)中,因?yàn)樗緳C(jī)早上需要發(fā)貨,需要將所有的排線任務(wù)在晚上十二點(diǎn)之前全部完成,否則就會(huì)影響后續(xù)的流程。正常情況下,規(guī)定排線人員必須在12點(diǎn)前完成,一旦因?yàn)榕啪€員工自身原因,或者網(wǎng)絡(luò)異常,系統(tǒng)bug等無(wú)法完成排線任務(wù),兜底邏輯會(huì)使系統(tǒng)則會(huì)按照歷史排線規(guī)則自動(dòng)分發(fā)任務(wù)。
熔斷機(jī)制指的是如果某個(gè)操作系統(tǒng)判定為異常業(yè)務(wù)流程了,那么立刻會(huì)進(jìn)行系統(tǒng)流程的切斷,以免發(fā)生悲劇。比如說(shuō)某一套物流運(yùn)輸系統(tǒng),通過(guò)測(cè)算給某司機(jī)發(fā)放運(yùn)輸任務(wù)工資時(shí),由于系統(tǒng)問(wèn)題或者操作失誤問(wèn)題,本來(lái)運(yùn)送5次應(yīng)該發(fā)放1000元,實(shí)際發(fā)放了10000元。這個(gè)時(shí)候,系統(tǒng)就應(yīng)該設(shè)置一套熔斷機(jī)制,設(shè)置某個(gè)操作的閾值。比如1單配送最高金額為300元,則司機(jī)運(yùn)送5次最多發(fā)放1500元,該套熔斷機(jī)制檢測(cè)到金額超過(guò)閾值,則直接將流程切斷,并且將異常拋給系統(tǒng)管理員。
在設(shè)計(jì)一套復(fù)雜的后臺(tái)產(chǎn)品時(shí),需要考慮的點(diǎn)可以說(shuō)是方方面面。上面是我關(guān)于在設(shè)計(jì)后臺(tái)產(chǎn)品中設(shè)計(jì)產(chǎn)品方面的一些想法,接下來(lái)會(huì)介紹一下后臺(tái)產(chǎn)品的交互應(yīng)該如何設(shè)計(jì)。
相關(guān)閱讀:
從0到1設(shè)計(jì)后臺(tái)產(chǎn)品(一):給后臺(tái)產(chǎn)品分個(gè)類
從0到1設(shè)計(jì)后臺(tái)產(chǎn)品(二):如何定義業(yè)務(wù)需求?
#專欄作家#
執(zhí)迷,微信公眾號(hào):執(zhí)迷有悟,人人都是產(chǎn)品經(jīng)理專欄作家,一個(gè)后臺(tái)產(chǎn)品經(jīng)理。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自 unsplash,基于 CC0 協(xié)議
功能域可以解釋一下嗎?是理解為功能模塊好點(diǎn)、還是大的比如商城、管理后臺(tái)這種?
推薦書(shū)籍:
1.《軟件需求最佳實(shí)踐》強(qiáng)烈推薦。徐鋒老師的經(jīng)典巨作,由于當(dāng)時(shí)出版時(shí)間為2008年,必看書(shū)籍;后續(xù)更新書(shū)籍《有效需求分析》,書(shū)中的知識(shí)框架相同,前一本比較詳細(xì),后面一本內(nèi)容比較少,便于閱讀。
2.《軟件需求(第三版)》為BA而寫(xiě),而里面的內(nèi)容卻是后臺(tái)產(chǎn)品的知識(shí)寶典??梢哉f(shuō)梳理出了后臺(tái)產(chǎn)品所有的知識(shí)體系和架構(gòu),必讀書(shū)籍;
另外還有《七步掌握業(yè)務(wù)分析》《掌握需求過(guò)程》等書(shū)都值得一讀!
關(guān)注我的公眾號(hào)“執(zhí)迷有悟”回復(fù)“后臺(tái)資料”獲取相關(guān)后臺(tái)產(chǎn)品相關(guān)資料哦~
學(xué)習(xí)了
寫(xiě)的真好、期待下一篇、棒棒噠
感謝支持~
感覺(jué)作者應(yīng)該最少有個(gè)4年的產(chǎn)品工作經(jīng)驗(yàn)了
三年哈
領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)
正在做著后臺(tái)產(chǎn)品設(shè)計(jì),文章闡述得比較詳細(xì)、全面
已經(jīng)不想做這種業(yè)務(wù)系統(tǒng)了 ??
為什么?老鐵
感覺(jué)蠻有意思、哈哈