逆向解構(gòu)萬里牛電商ERP,實(shí)踐可推導(dǎo)產(chǎn)品分析方法

24 評論 9149 瀏覽 105 收藏 55 分鐘

編輯導(dǎo)語:這篇文章作者從系統(tǒng)全局分析、系統(tǒng)詳細(xì)分析和熟悉的系統(tǒng)原型設(shè)計(jì)三方面入手,詳細(xì)地向我們展示如何逆向解構(gòu)萬里牛電商ERP,通過自己的實(shí)踐推導(dǎo)出其產(chǎn)品分析方法,作者把書里的知識學(xué)以致用,非常值得我們學(xué)習(xí)借鑒,一起來看一下吧~

在此我想感謝譚云杰老師的《大象—Thinking in UML》,我深受這本書的啟蒙,這本書不是單純的講UML,而是講軟件過程,軟件分析方法。反復(fù)研讀后,我把書中的思想慢慢內(nèi)化成自己的產(chǎn)品分析方法,實(shí)現(xiàn)可以一步步推導(dǎo)的分析方法,并運(yùn)用在本次文章上。

本文有1.3萬字,請保持耐心。

此次本著學(xué)習(xí)的態(tài)度解構(gòu)萬里牛ERP(專業(yè)版),我是從萬里牛的頁面和功能入手,逆向分析得到關(guān)鍵輸出物和原始需求,以此深入學(xué)習(xí)電商ERP的業(yè)務(wù)。

獲得關(guān)鍵輸出物后,本文是以正向設(shè)計(jì)的邏輯進(jìn)行描述,還原從需求到原型的設(shè)計(jì)過程。

本文按分析粒度大小,分為三部分,如圖1:

  1. 系統(tǒng)全局分析,分析粒度保持在模塊管理,目的是獲得系統(tǒng)的全局認(rèn)識。
  2. 系統(tǒng)詳細(xì)分析,分析粒度變小,保持在增刪改查功能的粒度,目的是獲得全部系統(tǒng)用例。
  3. 熟悉的系統(tǒng)原型設(shè)計(jì),分析粒度變小,保持在頁面和元件交互,目的是獲得可交付的原型和標(biāo)注。

圖1 分析邏輯

一、系統(tǒng)全局分析

系統(tǒng)全局分析,分析粒度保持在模塊管理,目的是獲得系統(tǒng)的全局認(rèn)識。第一節(jié)是從業(yè)務(wù)的角度獲取需求和用例,第二節(jié)是從系統(tǒng)的角度獲取需求和用例,我稱這個粒度為一級用例,第三節(jié)和第四節(jié)是在前兩節(jié)的用例基礎(chǔ)上分析主流程和對象。

1. 業(yè)務(wù)用例

在軟件項(xiàng)目里,業(yè)務(wù)范圍和系統(tǒng)范圍是不同的。業(yè)務(wù)范圍指這個項(xiàng)目所涉及的所有客戶業(yè)務(wù),這些業(yè)務(wù)有沒有計(jì)算機(jī)系統(tǒng)參與都是客觀存在的。系統(tǒng)范圍是指軟件將要實(shí)現(xiàn)的那些對應(yīng)于業(yè)務(wù)功能的系統(tǒng)功能,從功能性需求來說系統(tǒng)范圍是業(yè)務(wù)范圍的一個子集,但是一些系統(tǒng)功能則會超出業(yè)務(wù)范圍,例如操作日志,有沒有操作日志并不影響業(yè)務(wù)目標(biāo)的達(dá)成,客戶也不一定會提出這個要求,但從系統(tǒng)角度出發(fā),操作日志會使得系統(tǒng)更加健壯。

——來自《大象—Thinking in UML》

在引入計(jì)算機(jī)系統(tǒng)之前,業(yè)務(wù)也一直跑得很順暢,因此在初始階段,不引入系統(tǒng)的角度,純粹站在業(yè)務(wù)的角度,分析業(yè)務(wù)的主流程場景,獲取業(yè)務(wù)用例。

獲取業(yè)務(wù)用例需要分析出業(yè)務(wù)主角和用例,業(yè)務(wù)主角即參與到業(yè)務(wù)流程中的角色,例如采購員、售前客服等。用例即業(yè)務(wù)主角需要在業(yè)務(wù)流程中完成的事情,這里需要注意用例的粒度,我經(jīng)過思考,系統(tǒng)全局分析階段,建議使用管理一類事物的粒度,例如銷售訂單管理,這個粒度僅供參考。

開始獲取業(yè)務(wù)用例,以下是一段商家工作內(nèi)容的場景。

店長小明想開一家網(wǎng)店,在商品上架銷售前,小明做了以下準(zhǔn)備工作:

  1. 在淘寶注冊一個店鋪;
  2. 選擇想要做的品類和賣的商品,并維護(hù)商品信息;
  3. 找合作快遞公司,用于發(fā)貨給客戶;
  4. 找倉庫,用于存儲采購的商品;
  5. 店長還需要關(guān)注店鋪各業(yè)務(wù)的運(yùn)轉(zhuǎn)情況,即查看銷售、采購、庫存、資金的報(bào)表。

除此之外,還招了6個崗位一起合作:

  1. 采購員,負(fù)責(zé)采購商品補(bǔ)充庫存;
  2. 售前客服,主要為買家介紹商品特性和解答銷售方面的問題,買家下單后審核訂單;
  3. 發(fā)貨員,對通過審核的訂單進(jìn)行配貨打包,進(jìn)行發(fā)貨;
  4. 售后客服,主要為買家解答售后方面的問題,并審核買家發(fā)起的退換貨申請;
  5. 倉庫管理員,記錄商品的出入庫和管理商品庫存;
  6. 財(cái)務(wù)員,記錄銷售訂單和采購的資金出入。

團(tuán)隊(duì)到位了,可以開展工作了。

采購員根據(jù)店長選好的商品進(jìn)行采購工作,聯(lián)系供應(yīng)商采購商品,即提交采購訂單。采購訂單的貨品到了之后,需要倉庫管理員記錄采購入庫單,并為商品安排庫位和增加商品的庫存。商品入庫后,采購員和供應(yīng)商登記結(jié)算單。如果到貨的商品有問題則進(jìn)行退貨處理,即提交采購?fù)素泦?,采購商品出庫時需要倉庫管理員記錄采購?fù)素洺鰩靻?,并減少退貨商品的庫存。

至此,把商品上架在淘寶,就可以開始接單了。當(dāng)買家在淘寶下單并支付后,訂單的處理就交給售前客服和發(fā)貨員了。

首先售前客服會審核訂單,如有注意事項(xiàng)可對訂單進(jìn)行備注,例如有什么贈品、指定發(fā)什么快遞等,通過審核的訂單即流轉(zhuǎn)給發(fā)貨員。發(fā)貨員在倉庫中進(jìn)行配貨并打包,最后打印快遞單,進(jìn)行發(fā)貨。發(fā)貨時,需要倉庫管理員記錄銷售出庫單,并減少銷售商品的庫存。

另外小明還希望發(fā)展一下線下大客戶,所以有的售前客服在線下開拓客戶。客戶可直接和售前客服下單,售前客服創(chuàng)建訂單,然后流轉(zhuǎn)給發(fā)貨員。發(fā)貨員在倉庫中進(jìn)行配貨并打包,最后打印快遞單,進(jìn)行發(fā)貨。發(fā)貨時,需要倉庫管理員記錄銷售出庫單,并減少銷售商品的庫存。

以上是正向的交易流程,買家下單,商家發(fā)貨。當(dāng)買家提出退換貨的時候,就需要售后客服介入。買家在淘寶提交了退換貨申請,售后客服進(jìn)行審核是否同意退換貨,審核通過后,買家寄回商品。寄回商品到達(dá)指定退貨倉庫后,倉庫管理員記錄退貨入庫單,并更新商品庫存。如果是退貨,售后客服進(jìn)行退款處理,如果是換貨,售后客服根據(jù)售后單,手動創(chuàng)建銷售訂單,然后該銷售訂單正常發(fā)貨。

倉庫管理員日常工作除了記錄銷售訂單、采購訂單的出入庫單外,平時需要維護(hù)倉庫的基礎(chǔ)數(shù)據(jù),庫區(qū)、庫位等,并且記錄商品的擺放位置。每次商品出入庫都會更新庫存,定期查看各商品的庫存數(shù)量。還會為了保證商品數(shù)量安全,定期對倉庫的商品數(shù)量進(jìn)行盤點(diǎn)。如果商品的成本近期發(fā)生變化,還會對商品進(jìn)行調(diào)價(jià)。當(dāng)前小明擁有兩個地方的倉庫,有時候需要進(jìn)行商品調(diào)撥,即倉庫管理員把A商品從甲倉庫調(diào)撥到乙倉庫,調(diào)撥出庫和入庫時也都需要記錄調(diào)撥出庫單和入庫單。

以上是采購訂單和銷售訂單的場景,每次商品出入庫,都伴隨著資金的收支變化,所以財(cái)務(wù)員有以下日常工作。首先,財(cái)務(wù)員需要維護(hù)資金賬戶基礎(chǔ)數(shù)據(jù),其他主要工作就是收款、付款、賬目對賬檢查。

收款主要是收取銷售訂單的錢,有三種收款方式:現(xiàn)金收款、充值款消費(fèi)(預(yù)收款)、賒賬(記錄應(yīng)收款)。現(xiàn)金收款是買家下單時進(jìn)行支付費(fèi)用,例如淘寶訂單。充值款消費(fèi)是買家提前充值費(fèi)用存在該客戶的賬戶上,然后下單時進(jìn)行扣減,主要適用于線下訂單。賒賬是買家下單時不進(jìn)行付款,客戶賬上也沒有充值款可以扣減,這樣就會記錄該客戶的應(yīng)收款,然后定期收款,并記錄收款單,適用于月結(jié)的客戶。

付款是支付給供應(yīng)商采購訂單的貨款和支付給快遞公司的快遞費(fèi)。有三種支付方式:現(xiàn)金支付、充值款支付(預(yù)付款)、賒賬(記錄應(yīng)付款)?,F(xiàn)金支付是采購訂單到貨后現(xiàn)金支付貨款給供應(yīng)商。充值款支付是預(yù)存充值費(fèi)用在某個供應(yīng)商那,每次采購單到貨后選擇使用充值款支付貨款。賒賬是采購訂單到貨后不支付貨款給供應(yīng)商,然后記錄該供應(yīng)商的應(yīng)付款,定期付款,并記錄付款單,適用于月結(jié)的供應(yīng)商。

快遞費(fèi)目前是選擇月結(jié)的方式結(jié)算。為了保證賬目的準(zhǔn)確,財(cái)務(wù)員會定期進(jìn)行快遞單對賬。

有時候需要轉(zhuǎn)移資金,即財(cái)務(wù)員把資金從A賬戶轉(zhuǎn)到B賬戶,則進(jìn)行轉(zhuǎn)賬。財(cái)務(wù)員在有資金往來的時候都會記錄資金流水。

基于以上場景,獲取業(yè)務(wù)主角和提煉一級用例,如圖2。

圖2 業(yè)務(wù)用例

1)店長

是店鋪的管理者,會管理基礎(chǔ)數(shù)據(jù)和查看報(bào)表:

  1. 注冊淘寶店鋪,即管理店鋪;
  2. 選擇銷售的商品,即管理商品;
  3. 選擇合作的快遞公司,即管理快遞公司;
  4. 確定倉庫,即管理倉庫;
  5. 查看報(bào)表。

2)采購員

負(fù)責(zé)采購商品,會管理采購相關(guān)的事項(xiàng)有:

  1. 選擇供應(yīng)商進(jìn)行采購,即管理供應(yīng)商;
  2. 提交采購訂單,即管理采購訂單;
  3. 采購商品入庫后和供應(yīng)商進(jìn)行結(jié)算,即管理采購結(jié)算單;
  4. 如有商品需要退貨,提交采購?fù)素泦?,即管理采購?fù)素泦巍?/li>

3)售前客服

是銷售訂單的跟進(jìn)人,會管理訂單相關(guān)的事項(xiàng)有:

  1. 線下開拓客戶,即管理客戶;
  2. 審核銷售訂單,保證訂單順利完成,即管理銷售訂單。

4)發(fā)貨員

負(fù)責(zé)對銷售訂單進(jìn)行配貨、打包、發(fā)貨:

  1. 參與管理銷售訂單的發(fā)貨流程;
  2. 打印快遞單,進(jìn)行發(fā)貨。

5)售后客服

負(fù)責(zé)審核售后單,即管理售后訂單。

6)倉庫管理員

負(fù)責(zé)倉庫商品的庫存安全,會管理倉庫相關(guān)的事項(xiàng)有:

  1. 維護(hù)庫存的存儲區(qū)域,會參與管理倉庫;
  2. 采購商品到貨后,記錄采購入庫單,即管理采購入庫單;
  3. 采購?fù)素浬唐烦鰩鞎r,記錄采購?fù)素洺鰩?,即管理采購?fù)素洺鰩靻危?/li>
  4. 銷售訂單商品發(fā)貨時,記錄銷售出庫單,即管理銷售出庫單;
  5. 銷售退換貨商品退回倉庫時,記錄銷售售后入庫單,即管理銷售售后入庫單;
  6. 記錄商品庫存更新記錄,即管理庫存;
  7. 定期盤點(diǎn)商品庫存,即管理庫存盤點(diǎn)單;
  8. 定期盤點(diǎn)商品成本,即管理成本調(diào)價(jià)單;
  9. 把商品從甲倉庫調(diào)撥到乙倉庫,即管理庫存調(diào)撥單;
  10. 調(diào)撥商品出庫記錄,即管理調(diào)撥出庫單;
  11. 調(diào)撥商品入庫記錄,即管理調(diào)撥入庫單。

7)財(cái)務(wù)員

負(fù)責(zé)資金的往來,會管理財(cái)務(wù)相關(guān)的事項(xiàng)有:

  1. 管理資金賬戶;
  2. 幫助客戶充值預(yù)收款,記錄每次消費(fèi)或充值后,客戶預(yù)收款余額,即管理預(yù)收款單;
  3. 客戶訂單未支付結(jié)算,會記錄應(yīng)收款,即計(jì)算應(yīng)收款;
  4. 對銷售訂單的應(yīng)收款進(jìn)行收款,即管理收款單;
  5. 充值到供應(yīng)商的預(yù)付款,記錄每次付款或充值后,供應(yīng)商預(yù)付款余額,即管理預(yù)付款單;
  6. 采購訂單未支付結(jié)算,會記錄應(yīng)付款,即計(jì)算應(yīng)付款;
  7. 對采購訂單的應(yīng)付款進(jìn)行付款,即管理付款單;
  8. 定期進(jìn)行快遞單對賬,即管理快遞對賬;
  9. 記錄資金轉(zhuǎn)賬,即管理轉(zhuǎn)賬單;
  10. 記錄資金往來,即記錄資金流水。

2. 系統(tǒng)用例

得到業(yè)務(wù)用例后,雖然能看到業(yè)務(wù)主流程的雛形,但要完成系統(tǒng)的閉環(huán)還需要站在系統(tǒng)的角度去補(bǔ)充用例,例如系統(tǒng)權(quán)限管理的需求,業(yè)務(wù)用例中并沒有體現(xiàn)出來。

系統(tǒng)用例也是需要獲得角色和用例,這個階段的用例粒度和上一步驟的業(yè)務(wù)用例保持一致,即管理一類事物。

開始獲取系統(tǒng)用例,我站在系統(tǒng)的角度,從三個方向分析系統(tǒng)需求:

  1. 系統(tǒng)管理的需求
  2. 系統(tǒng)易用性的需求
  3. 系統(tǒng)擴(kuò)展性的需求。

于是我列出了以下場景的需求:

  1. 萬里牛ERP是一款SaaS產(chǎn)品,會服務(wù)多家公司的客戶,所以需要創(chuàng)建一家公司才可使用系統(tǒng)。
  2. 每個系統(tǒng)都需要考慮權(quán)限管理,所以系統(tǒng)管理員需要維護(hù)角色權(quán)限,才能夠管理公司員工的權(quán)限。
  3. 系統(tǒng)管理員需要創(chuàng)建員工,為員工分配賬號,員工才可以登錄系統(tǒng)開展工作。
  4. 萬里牛ERP服務(wù)多家公司,各家公司的需求會存在差異性,需要做到高可配置化來支持差異化需求。
  5. 每個用戶需要注冊、登錄、修改密碼等賬號相關(guān)的功能。
  6. 用戶想及時得到訂單狀態(tài)更新、庫存預(yù)警等消息,方便跟進(jìn),提供消息通知功能。

根據(jù)上述場景的需求,獲取到系統(tǒng)用例,和業(yè)務(wù)用例放在一起,展示所有一級用例,如圖3。

圖3 一級用例

1)系統(tǒng)管理員

  1. 需要創(chuàng)建公司才能使用該系統(tǒng),由他管理公司;
  2. 需要管理員工的權(quán)限,由他管理角色;
  3. 需要維護(hù)員工信息,由他管理員工;
  4. 需要配置系統(tǒng)以實(shí)現(xiàn)差異化的功能,由他管理系統(tǒng)配置。

2)全部用戶

  1. 每個用戶都需要進(jìn)行注冊登錄,進(jìn)行管理賬號;
  2. 每個用戶都需要獲取消息通知,支持消息通知。

3. 主流程分析

主流程就是按某種邏輯把主要的一級用例組合起來,歸納出幾條主流程,驗(yàn)證是否可以實(shí)現(xiàn)業(yè)務(wù)目標(biāo)。得到主流程可以對系統(tǒng)有全局的認(rèn)知,也能輔助后續(xù)的對象分析。

電商日常主要處理兩大業(yè)務(wù),采購和銷售。采購和銷售都有正向流程和逆向流程,即采購主流程、采購?fù)素浿髁鞒獭N售主流程、銷售售后主流程。這4條主流程中都會引起庫存更新和資金收支,所以除了商品出入庫過程,也要關(guān)注庫存變化和資金收支。

外加一條系統(tǒng)管理主流程,合計(jì)5條主流程。

1)采購主流程

主要是提交采購訂單,到貨后進(jìn)行入庫,并更新庫存和支付貨款,如圖4。

圖4 采購主流程

  • 提交采購訂單:①采購員在管理供應(yīng)商模塊創(chuàng)建供應(yīng)商,供采購訂單引用;②采購員在管理采購訂單模塊創(chuàng)建采購訂單,需要選擇在哪家供應(yīng)商采購什么商品;
  • 貨品入庫和更新庫存:③提交采購訂單后,倉庫管理員在管理庫存模塊增加該商品的在途數(shù)量;④待采購商品到貨后,倉庫管理員在管理采購入庫單模塊創(chuàng)建采購入庫單;⑤入庫后,倉庫管理員在管理庫存模塊增加商品庫存;
  • 支付貨款:⑥財(cái)務(wù)員在管理資金賬戶模塊創(chuàng)建采購資金賬戶;⑦入庫后,采購員確認(rèn)采購商品沒有問題,在管理采購結(jié)算單模塊創(chuàng)建采購結(jié)算單,支付金額為0,計(jì)算應(yīng)付款;⑧付款日期到了,根據(jù)結(jié)算單,財(cái)務(wù)員在管理付款單模塊創(chuàng)建付款單進(jìn)行付款;⑨付款后,財(cái)務(wù)員記錄資金流水。

2)采購?fù)素浿髁鞒?/strong>

主要是提交采購?fù)素泦危素浬唐烦鰩?,并更新庫存和收回退款,如圖5。

圖5 采購?fù)素浿髁鞒?/p>

  • 提交采購?fù)素泦危孩偃绻少徤唐反嬖趩栴}需要辦理退貨,采購員在管理采購?fù)素泦文K創(chuàng)建采購?fù)素泦危?/li>
  • 退貨商品出庫和更新庫存:②提交采購?fù)素泦魏螅瑐}庫管理員在管理庫存模塊增加商品的鎖定數(shù)量,可用庫存等于【商品在庫數(shù)量】減去【鎖定數(shù)量】;③退貨商品出庫,倉庫管理員在采購?fù)素洺鰩靻文K創(chuàng)建采購?fù)素洺鰩靻危虎艹鰩旌?,倉庫管理員在管理庫存模塊減少商品庫存;
  • 收回退款:⑤出庫后,采購員在管理結(jié)算單模塊創(chuàng)建采購?fù)素浗Y(jié)算單,讓供應(yīng)商退款;⑥若供應(yīng)商沒有退款,根據(jù)采購?fù)素浗Y(jié)算單,財(cái)務(wù)員在管理付款單模塊創(chuàng)建退款單收回退款;⑦退款后,財(cái)務(wù)員記錄資金流水。

3)銷售主流程

主要是處理銷售訂單,進(jìn)行發(fā)貨,并更新庫存和訂單收款,如圖6。

圖6 銷售主流程

  • 審核訂單和發(fā)貨:①售前客服在管理客戶模塊創(chuàng)建客戶,客戶供線下訂單引用;②售前客服在管理銷售訂單模塊創(chuàng)建線下訂單,或者審核線上淘寶訂單;③訂單審核通過,發(fā)貨員在管理銷售訂單模塊進(jìn)行配貨、打包、發(fā)貨等工作;④發(fā)貨時,發(fā)貨員為訂單打印快遞單,用于快遞運(yùn)輸;
  • 訂單商品出庫和更新庫存:⑤新增銷售訂單后,倉庫管理員在管理庫存模塊增加商品的鎖定數(shù)量,可用庫存等于【商品在庫數(shù)量】減去【鎖定數(shù)量】;⑥發(fā)貨時,倉庫管理員在管理銷售出庫單模塊創(chuàng)建銷售出庫單,如果訂單之前沒有支付過,計(jì)算應(yīng)收款;⑦出庫后,倉庫管理員在管理庫存模塊減少商品庫存;
  • 訂單收款:⑧財(cái)務(wù)員在管理資金賬戶模塊創(chuàng)建銷售資金賬戶;⑨如果出庫后,訂單沒有支付過,根據(jù)銷售出庫單和應(yīng)收款,財(cái)務(wù)員在管理收款單創(chuàng)建收款單進(jìn)行收款;⑩收款后,財(cái)務(wù)員記錄資金流水。

4)銷售售后主流程

主要是審核銷售售后單,等退貨商品入庫后,更新庫存和售后單退款,如圖7。

圖7 銷售售后主流程

  • 審核售后單:①如果有客戶發(fā)起退換貨售后單,售后客服在管理售后單模塊審核售后單;
  • 退換貨商品入庫和更新庫存:②同意退換貨后,倉庫管理員在管理庫存模塊增加該商品的在途數(shù)量;③收到客戶寄來的退換商品,倉庫管理員在管理售后入庫單模塊創(chuàng)建售后入庫單;④入庫后,倉庫管理員在管理庫存模塊增加入庫商品庫存;
  • 售后單退款或換貨:⑤收到退換貨的商品無誤后,如果是退貨,售后客服在管理售后單模塊操作退款,如果是換貨,售后客服在管理售后單模塊直接創(chuàng)建銷售訂單進(jìn)行換貨;⑥如果退款,財(cái)務(wù)員記錄資金流水。

5)系統(tǒng)管理主流程

主要是創(chuàng)建公司并邀請員工加入公司,之后進(jìn)行系統(tǒng)配置和維護(hù)基礎(chǔ)數(shù)據(jù),如圖8。

圖8 系統(tǒng)管理主流程

  1. 系統(tǒng)管理員首次登錄系統(tǒng)時創(chuàng)建公司;
  2. 系統(tǒng)管理員在管理角色模塊創(chuàng)建角色和配置權(quán)限;
  3. 系統(tǒng)管理員在管理員工模塊創(chuàng)建員工或邀請員工,并為員工分配角色;
  4. 員工在管理賬號模塊接受邀請進(jìn)入公司,并登錄系統(tǒng);
  5. 系統(tǒng)管理員在系統(tǒng)配置模塊配置自定義的參數(shù);
  6. 店長維護(hù)基礎(chǔ)數(shù)據(jù)供采購流程和銷售流程引用,在管理店鋪模塊創(chuàng)建店鋪、在管理商品模塊創(chuàng)建商品、在管理快遞公司模塊創(chuàng)建快遞公司、在管理倉庫模塊創(chuàng)建倉庫。

4. 對象分析

神盾局特工第四季里有一個概念是虛擬數(shù)字世界:框架(Framework),看過的朋友就很容易理解:軟件系統(tǒng)就是在計(jì)算機(jī)世界模擬現(xiàn)實(shí)世界,現(xiàn)實(shí)世界中的物體會映射成計(jì)算機(jī)世界里的對象。

這里使用面向?qū)ο蠓治龇椒ǎ∣OA),也是《大象—Thinking in UML》中的分析步驟之一,意圖是將現(xiàn)實(shí)世界中的物體映射成計(jì)算機(jī)世界中的對象,在系統(tǒng)中使用這些對象去解決需求。比如分析對象需要哪些屬性和功能來解決需求,在后續(xù)的步驟會詳細(xì)分析這些對象。

獲取到主要的對象,還可以幫助我們對系統(tǒng)有整體的認(rèn)知。從以上的用例和主流程中進(jìn)行抽象,我把得到的一級對象按業(yè)務(wù)分成6類:采購、銷售、快遞、系統(tǒng)管理、倉庫、財(cái)務(wù),對象內(nèi)容如圖9。

圖9 一級對象

上圖無法描述對象之間的關(guān)系,在下圖展示對象的關(guān)聯(lián)關(guān)系(有連線代表有關(guān)系)。

由于對象太多,關(guān)系線太多,無法繪制到同一張圖中,所以有些對象會重復(fù)出現(xiàn)。延續(xù)采購和退貨、銷售和售后、系統(tǒng)管理5個主流程,并補(bǔ)充了用例中提到的倉庫倉內(nèi)管理、財(cái)務(wù)管理業(yè)務(wù)相關(guān)的對象關(guān)系。

①采購和采購?fù)素洠少徣霂?、采購?fù)素洺鰩?、庫存更新、結(jié)算付款,如圖10;

圖10 采購和采購?fù)素浵嚓P(guān)對象

②銷售和售后,包含銷售出庫、售后入庫、庫存更新、收款,如圖11;

圖11 銷售和售后相關(guān)對象

③系統(tǒng)管理,如圖12左一;

④倉庫倉內(nèi)管理,如圖12左二;

⑤財(cái)務(wù)管理,如圖12右一。

圖12 系統(tǒng)管理/倉庫倉內(nèi)管理/財(cái)務(wù)管理相關(guān)對象

二、系統(tǒng)詳細(xì)設(shè)計(jì)

系統(tǒng)詳細(xì)分析,分析粒度變小,保持在增刪改查功能的粒度,目的是獲得全部系統(tǒng)用例。

第一節(jié),把系統(tǒng)全局分析里的用例進(jìn)行細(xì)化,即用例流程分析,可以發(fā)現(xiàn)基本的二級用例;

第二節(jié),搜集所有的二級用例,即在流程中體現(xiàn)的用例以外,再補(bǔ)充其他必要的二級用例,例如刪除、導(dǎo)入、導(dǎo)出;

第三節(jié),為了滿足高可配置化,還需要引入配置對象,例如商品自定義屬性;

第四節(jié),找到配置對象的用例,我稱為三級用例,例如創(chuàng)建商品自定義屬性,以滿足配置需求。

1. 用例流程分析

用例流程就是用例的實(shí)現(xiàn)方式,是常用的需求細(xì)化方法,即細(xì)化上述一級用例的粒度,流程分析的目的是可以從中發(fā)現(xiàn)下級用例,現(xiàn)在開始分析流程,下圖列出一級用例和對應(yīng)的流程圖,如圖13。

圖13 一級用例對應(yīng)流程圖

圖14 基礎(chǔ)信息維護(hù)相關(guān)流程

圖15 采購相關(guān)流程

圖16 銷售相關(guān)流程

圖17-1 管理庫存流程

圖17-2 倉庫管理相關(guān)流程

圖18-1 預(yù)收款單和收款單流程

圖18-2 預(yù)付款單和付款單流程

圖18-3 財(cái)務(wù)相關(guān)流程

圖19 系統(tǒng)管理和用戶相關(guān)流程

2. 二級用例

完成流程分析后,已經(jīng)獲得一部分細(xì)化的二級用例,但對于整個系統(tǒng)的閉環(huán)還是不夠的,這節(jié)就補(bǔ)充完善二級用例。

現(xiàn)在獲取的用例粒度,保持在主要對象的增刪改查即可。獲取二級用例從兩個角度分析,一是從上述的流程中進(jìn)行提取用例;二是專注分析的對象,然后圍繞該對象設(shè)想一些場景以獲得需求,例如刪除、導(dǎo)出、打印、批量處理等在流程中找不到的需求,開始獲取二級用例。

沿著一級對象的6個業(yè)務(wù)類別:采購、銷售、快遞、系統(tǒng)管理、倉庫、財(cái)務(wù),把業(yè)務(wù)類別中的對象一個個進(jìn)行分析。

1. 采購

如圖20。

圖20 采購相關(guān)二級用例

  • 供應(yīng)商,補(bǔ)全供應(yīng)商的新增、查看、修改、停用、啟用、刪除,另支持設(shè)置供貨商品、導(dǎo)入供應(yīng)商、導(dǎo)出供應(yīng)商、導(dǎo)入供貨商品;
  • 采購訂單,補(bǔ)全采購訂單的新增、查看、修改、關(guān)閉,提供審核功能:提交審核、審核、查看審核信息,另支持復(fù)制、導(dǎo)入、導(dǎo)出、批量關(guān)閉、打印采購單;
  • 采購入庫單,補(bǔ)全采購入庫單的新增、查看、修改,另支持快速導(dǎo)入、直接入庫、導(dǎo)出;
  • 采購?fù)素泦?,補(bǔ)全采購?fù)素泦蔚男略?、查看、修改、關(guān)閉,提供審核功能:提交審核、審核、查看審核信息,另支持復(fù)制、導(dǎo)出;
  • 采購?fù)素洺鰩靻?,補(bǔ)全采購?fù)素洺鰩靻蔚男略?、查看,支持直接出庫、?dǎo)出;
  • 采購結(jié)算單,采購結(jié)算有兩種類型:采購結(jié)算、采購?fù)素浗Y(jié)算,提供新增采購結(jié)算單、新增采購?fù)素浗Y(jié)算單,支持查看詳情、導(dǎo)出。

2. 銷售

如圖21。

圖21 銷售相關(guān)二級用例

  • 店鋪,補(bǔ)全店鋪的新增、查看、修改、停用、啟用,需獲得淘寶店鋪的授權(quán)才可以同步線上的商品、訂單、售后單,所以支持店鋪授權(quán);
  • 客戶,補(bǔ)全客戶的新增、查看、修改,支持復(fù)制、導(dǎo)入;
  • 銷售訂單,①訂單操作,創(chuàng)建銷售訂單有兩種方式:系統(tǒng)新增銷售訂單、下載店鋪線上訂單,另支持查看、修改、審核、打回、掛起、恢復(fù)、拆單、合單、提交異常、關(guān)閉訂單、導(dǎo)入訂單、批量修改、指定操作員;②發(fā)貨操作,支持整個發(fā)貨流程:生成快遞單、打印快遞單、打印發(fā)貨單、打印配貨單、配貨、揀貨、驗(yàn)貨、打包、稱重、發(fā)貨;
  • 銷售出庫單,補(bǔ)全銷售出庫單的新增、查看,支持打印出庫單、導(dǎo)出;
  • 銷售售后單,創(chuàng)建銷售售后單有兩種方式:新增售后單、下載店鋪線上售后單,支持售后流程操作:查看詳情、同意換貨、同意退貨、同意退款、拒絕申請、審核、打回審核、入庫、換貨下單、關(guān)閉售后、售后完成,另支持批量操作:批量入庫、批量換貨下單、導(dǎo)入售后單、導(dǎo)出售后單、指定操作員;
  • 銷售售后入庫單,補(bǔ)全銷售售后入庫單的新增、查看、修改,支持導(dǎo)入、導(dǎo)出。

3. 快遞

如圖22。

圖22 快遞相關(guān)二級用例

a)快遞公司,補(bǔ)全快遞公司的新增、查看、修改、停用、啟用,支持運(yùn)費(fèi)成本設(shè)置、導(dǎo)出;

b)快遞單,補(bǔ)全快遞單的新增、查看,支持打印快遞單。

4. 系統(tǒng)管理

如圖23。

圖23 系統(tǒng)管理相關(guān)二級用例

  • 公司,補(bǔ)全公司的新增、查看、修改;
  • 角色,補(bǔ)全角色的新增、查看、修改、刪除,支持編輯角色權(quán)限:修改操作權(quán)限、修改數(shù)據(jù)權(quán)限;
  • 員工,①補(bǔ)全管理員維護(hù)員工的操作:新增、查看、修改、刪除、停用員工,還有其他新增用戶的方式:復(fù)制員工、邀請員工、同意員工加入,還有管理員設(shè)置:設(shè)為管理員、取消管理員、轉(zhuǎn)讓超級管理員;②另支持用戶視角的用例:激活員工賬號、注冊賬號并申請加入公司、登錄、忘記密碼、修改密碼、修改手機(jī)號;
  • 消息,觸發(fā)系統(tǒng)規(guī)則后發(fā)送消息、用戶收到消息并查看;
  • 商品,為了支持線上的業(yè)務(wù),除了維護(hù)系統(tǒng)商品外,還需要關(guān)聯(lián)淘寶店商品,進(jìn)行對應(yīng)。①維護(hù)系統(tǒng)商品:補(bǔ)全商品的新增、查看、修改、刪除、停用、啟用,提供“復(fù)制商品”的快捷新增操作,提供批量、導(dǎo)入導(dǎo)出、打印操作:批量修改、導(dǎo)出條碼、打印條碼、導(dǎo)入商品、導(dǎo)入商品價(jià)格、導(dǎo)出商品;②關(guān)聯(lián)淘寶店商品:“下載線上商品”并“關(guān)聯(lián)系統(tǒng)商品”,系統(tǒng)沒有的商品支持直接根據(jù)線上商品“生成系統(tǒng)商品”,建立好關(guān)聯(lián)商品后,可以查看關(guān)聯(lián)商品、更換對應(yīng)關(guān)系、解除對應(yīng)關(guān)系、導(dǎo)出對應(yīng)關(guān)系、導(dǎo)入對應(yīng)關(guān)系。

5. 倉庫

如圖24。

圖24 倉庫相關(guān)二級用例

  • 倉庫,補(bǔ)全倉庫的新增、查看、修改、停用、啟用,支持導(dǎo)出倉庫信息;
  • 庫存,庫存是管理商品的數(shù)量,實(shí)際庫存代表實(shí)際倉庫中擁有的庫存量;在途庫存是尚在運(yùn)輸途中,還未入庫的庫存數(shù)量;鎖定庫存是待出庫的數(shù)量,不可操作;①因此需要提供三類庫存的更新:增加鎖定庫存、減少鎖定庫存、減少實(shí)際庫存、增加在途庫存、減少在途庫存、增加實(shí)際庫存,②還需設(shè)置期初庫存:設(shè)置期初庫存、導(dǎo)入期初庫存、導(dǎo)出期初庫存,③提供基礎(chǔ)查看庫存、導(dǎo)出庫存功能,④庫存需要同步至淘寶店,提供上傳庫存功能;⑤庫存不足時發(fā)送預(yù)警消息,提供庫存預(yù)警功能;
  • 庫存盤點(diǎn)單,補(bǔ)全盤點(diǎn)單的新增、查看、修改、審核、關(guān)閉,另支持導(dǎo)入、導(dǎo)出、打印;
  • 成本調(diào)價(jià)單,補(bǔ)全調(diào)價(jià)單的新增、查看、修改、審核、刪除,另支持導(dǎo)入、設(shè)置期初成本均價(jià);
  • 調(diào)撥單,實(shí)際調(diào)撥,需要發(fā)快遞進(jìn)行出入庫,虛擬調(diào)撥不需要發(fā)快遞,直接調(diào)整倉庫的庫存。支持新增實(shí)際調(diào)撥、新增虛擬調(diào)撥、查看調(diào)撥單、修改、關(guān)閉、審核、導(dǎo)入、導(dǎo)出、打印調(diào)撥單;
  • 調(diào)撥出庫單,補(bǔ)全調(diào)撥出庫單的新增、查看,另支持打印調(diào)撥出庫單、導(dǎo)出;
  • 調(diào)撥入庫單,補(bǔ)全調(diào)撥入庫單的新增、查看,另支持打印調(diào)撥入庫單、導(dǎo)出。

6. 財(cái)務(wù)

如圖25。

圖25 財(cái)務(wù)相關(guān)二級用例

  • 資金賬戶,補(bǔ)全資金賬戶的新增、查看、修改、停用、啟用,支持設(shè)置初始余額、設(shè)為默認(rèn)賬戶;
  • 預(yù)收款單,預(yù)收款單有三種類型:充值、消費(fèi)和提現(xiàn),提供新增預(yù)收款充值單、新增預(yù)收款消費(fèi)單、新增預(yù)收款提現(xiàn)單,另支持查看、打印、導(dǎo)出;
  • 收款單,補(bǔ)全收款單的新增、查看,另支持打印收款單、收期初欠款;
  • 預(yù)付款單,預(yù)付款單有三種類型:充值、消費(fèi)和退回,提供新增預(yù)付款充值單、新增預(yù)付款消費(fèi)單、新增預(yù)付款退回單,另支持查看、導(dǎo)出;
  • 付款單,付款單有兩種類型:付款給供應(yīng)商、付款給快遞公司,提供新增供應(yīng)商付款單、新增快遞付款單,另支持查看、打印、付期初欠款;
  • 快遞對賬單,補(bǔ)全快遞對賬單的新增(導(dǎo)入)、查看、修改、刪除,另支持結(jié)算、查看快遞單對賬結(jié)果;
  • 轉(zhuǎn)賬單,補(bǔ)全轉(zhuǎn)賬單的新增、查看;
  • 資金流水,資金流水有兩種類型:收入和支出,提供記收入流水、記支出流水,另支持查看和導(dǎo)出。

3. 補(bǔ)充對象

以上的二級用例,基本已經(jīng)解決業(yè)務(wù)的需求,業(yè)務(wù)可以閉環(huán)流轉(zhuǎn)了。但還需要考慮一些非功能性需求,例如系統(tǒng)的配置需求、安全需求等。

萬里牛ERP提供的是SaaS服務(wù),使用一套系統(tǒng)服務(wù)所有客戶,就需要提供強(qiáng)大的配置化功能,以滿足不同客戶的個性化需求,一般有兩個配置方向,一個是對象的上下級對象和屬性配置,二是配置一些用例場景的規(guī)則。

從之前獲取到的對象進(jìn)行分析,聚焦每個對象的場景,得到以下對象有強(qiáng)烈的可配置化需求,并提取補(bǔ)充對象,如圖26。

圖26 補(bǔ)充對象

  • 供應(yīng)商,①供應(yīng)商需要分組來歸類,引入供應(yīng)商分組;②為了適應(yīng)更多用戶各自的業(yè)務(wù),引入供應(yīng)商自定義屬性;
  • 采購訂單,①審核采購訂單時,不同企業(yè)的規(guī)則不同,需要設(shè)置有幾級審核,以及每級的審核人員,引入采購審核規(guī)則;
  • 店鋪,①店鋪需要分組來歸類,引入店鋪分組;
  • 客戶,①為了適應(yīng)更多用戶各自的業(yè)務(wù),引入客戶自定義屬性;
  • 銷售訂單,①不同企業(yè)的發(fā)貨流程可能不同,大企業(yè)發(fā)貨流程較長,小企業(yè)發(fā)貨流程較簡單,支持設(shè)置發(fā)貨流程,引入發(fā)貨流程;②訂單出庫會附帶發(fā)貨單,支持配置發(fā)貨單的內(nèi)容項(xiàng),引入發(fā)貨單模板;③訂單配貨時,需要配貨單,支持配置配貨單的內(nèi)容項(xiàng),引入配貨單模板;④為了加快銷售訂單審核的效率,希望無異常的訂單可以自動審核通過,引入訂單自動審核規(guī)則進(jìn)行設(shè)置;⑤有些訂單需要拆單發(fā)貨,例如大件商品,或者商品在不同倉庫,希望可以自動拆單,引入自動拆單規(guī)則進(jìn)行設(shè)置;⑥有些訂單可以合單進(jìn)行發(fā)貨,例如同一客戶下了兩個地址一樣的訂單,希望可以自動合單,引入自動合單規(guī)則進(jìn)行設(shè)置;
  • 售后單,①用戶的售后單審核通過后,退貨地址希望自動匹配到某個最適合的收貨倉庫,引入退貨倉庫匹配規(guī)則;
  • 快遞公司,①每個快遞公司都需要設(shè)置運(yùn)費(fèi),而快遞的運(yùn)費(fèi)規(guī)則差別不大,為了方便設(shè)置運(yùn)費(fèi)時調(diào)用模板,引入運(yùn)費(fèi)模板;②用戶下單支付后,希望自動匹配到某個最適合的快遞,引入發(fā)貨快遞匹配規(guī)則;
  • 快遞單,①銷售訂單出庫時,需要打印快遞單,但是每家公司的快遞單都不同,所以支持配置快遞單的內(nèi)容項(xiàng),引入快遞單模板;
  • 商品,①店鋪的商品存在分類,引入商品分類;②不同商品的規(guī)格可能不同,例如衣服的規(guī)格是顏色、尺碼,手機(jī)的規(guī)格是顏色、內(nèi)存,所以規(guī)格支持自定義,引入規(guī)格;③不同商品的品牌也不同,所以品牌支持自定義,引入品牌;④不同商品的計(jì)量單位也不同,例如飲料最小單位是1瓶,12瓶一箱,而零食最小單位是1包,25包一箱,所以計(jì)量單位支持自定義,引入計(jì)量單位;⑤為了適應(yīng)更多用戶各自的業(yè)務(wù),引入商品自定義屬性;
  • 倉庫,①一個倉庫很大,一般會分為3級,分別是區(qū)域-庫區(qū)-庫位,區(qū)域和庫區(qū)統(tǒng)稱庫區(qū),用于業(yè)務(wù)隔離和區(qū)分作業(yè)功能,引入庫區(qū);②庫位就是倉庫中最小的定位標(biāo)識,一般屬于某庫區(qū)下,引入庫位;③倉庫需要分組來歸類,例如屬于華東倉、華南倉等,引入倉庫分組;④用戶下單支付后,希望自動匹配到某個最適合的發(fā)貨倉庫,引入發(fā)貨倉庫匹配規(guī)則;⑤為了適應(yīng)更多用戶各自的業(yè)務(wù),引入倉庫自定義屬性;
  • 庫存,①庫存中有二級用例是上傳商品庫存至線上店鋪,由于用戶可能同時運(yùn)營多家店鋪,每家店鋪有訂單出庫了是會影響到其他店鋪的庫存的,需要配置上傳庫存的規(guī)則,所以引入上傳庫存規(guī)則,;
  • 資金流水,①記錄資金流水時,需要記錄收支科目,為了適應(yīng)更多用戶各自的業(yè)務(wù),引入自定義收支科目;
  • 最后,還考慮一些簡單的配置項(xiàng),某些功能、規(guī)則的開關(guān),例如出庫單、入庫單是否需要審核的開關(guān)。這樣簡單配置項(xiàng)有很多項(xiàng),如果設(shè)計(jì)一大堆對象,但每個對象永遠(yuǎn)只有一條記錄值,每增加一個配置項(xiàng),就新增對象,還是永遠(yuǎn)只存一條記錄值。所以這類配置項(xiàng)不適合分別單獨(dú)作為對象管理,需要引入一個通用的配置項(xiàng)對象進(jìn)行管理,配置項(xiàng)一般是系統(tǒng)內(nèi)置的規(guī)則,進(jìn)行規(guī)則的開關(guān)、或者選用某種規(guī)則。

4. 三級用例

得到補(bǔ)充對象后,就繼續(xù)分析以上補(bǔ)充對象的用例,我稱為三級用例,這樣就完成該粒度層次的分析。

三級用例粒度是補(bǔ)充對象的增查改刪,例如新增商品分類,是新增商品分類供商品調(diào)用,達(dá)到配置的目標(biāo)。該粒度的用例比較有規(guī)律,大概有新增、查詢、編輯、 刪除、復(fù)制、排序、停用、啟用、默認(rèn)等功能。如圖27,列出了補(bǔ)充對象的用例。

圖27 三級用例

三、原型設(shè)計(jì)

系統(tǒng)原型設(shè)計(jì),分析粒度變小,保持在頁面和元件交互,目的是獲得可交付的原型和標(biāo)注。在原型設(shè)計(jì)前,需要梳理功能清單,一來可以展示系統(tǒng)的全貌,二來可以了解工作量和分配各模塊的執(zhí)行人。

1. 功能清單

功能清單就是把上文分析的所有用例按某種展現(xiàn)邏輯組織起來,而這種展示邏輯就是導(dǎo)航設(shè)計(jì),所以在列功能清單前先進(jìn)行導(dǎo)航設(shè)計(jì),然后把用例放置到相應(yīng)的導(dǎo)航菜單中,即可完成功能清單。

導(dǎo)航設(shè)計(jì)的粒度保持在一個比較高的層級,可對照到上文系統(tǒng)全局分析中的主流程和一級用例,以及系統(tǒng)詳細(xì)設(shè)計(jì)中的補(bǔ)充對象,站在用戶的角度,把主流程、一級用例、補(bǔ)充對象進(jìn)行分類結(jié)構(gòu)化。

功能清單的粒度則保持在操作的層級,可對照到上文系統(tǒng)詳細(xì)設(shè)計(jì)中的二級用例和三級用例,站在用戶的角度,把二級用例、三級用例放置到相應(yīng)的導(dǎo)航菜單中。這樣上文的所有分析就發(fā)揮作用了,功能清單被自然的推導(dǎo)出來了,如圖28。

在完成功能清單后,即完成產(chǎn)品規(guī)劃的部分,就可以按模塊分配給多名產(chǎn)品經(jīng)理,設(shè)計(jì)各個模塊。

圖28 功能清單設(shè)計(jì)思路

1)導(dǎo)航設(shè)計(jì)

參考5個主流程:采購主流程、采購?fù)素浿髁鞒?、銷售主流程、銷售售后主流程、系統(tǒng)管理主流程,可以看出電商日常高頻率的工作是銷售和采購,伴隨著倉庫和財(cái)務(wù)管理。采購工作的正向流程和退貨流程合并成一個菜單(采購),所以常用的業(yè)務(wù)菜單如圖29。

圖29 常用業(yè)務(wù)菜單

c常用業(yè)務(wù)菜單但在開展業(yè)務(wù)之前,需要設(shè)置基礎(chǔ)數(shù)據(jù)及系統(tǒng)配置,所以加入基礎(chǔ)信息、商品、設(shè)置、個人中心四個菜單放置系統(tǒng)管理主流程的功能。另外,店長需要關(guān)注經(jīng)營情況,需要看報(bào)表,增加一個報(bào)表菜單,最終的一級導(dǎo)航菜單如圖30。

圖30 一級導(dǎo)航

把上文系統(tǒng)全局分析中一級用例,和系統(tǒng)詳細(xì)設(shè)計(jì)中的補(bǔ)充對象歸類放到一級導(dǎo)航下,就是完整的導(dǎo)航菜單,如圖31。

圖31 導(dǎo)航菜單

2)功能清單

在導(dǎo)航菜單的框架下,按模塊填充二級用例和三級用例。例如商品相關(guān)的常規(guī)功能(二級用例)放在商品信息菜單中,商品相關(guān)配置功能(三級用例)就放在各自的配置菜單下,如圖32。

圖32 商品功能清單

完整功能清單寫在騰訊文檔,請?jiān)L問 https://docs.qq.com/sheet/DQUdWUUtUeHl1VWpi。

說明:圖32和騰訊文檔中的功能清單是最終系統(tǒng)上的功能清單,所以菜單并不完全和導(dǎo)航設(shè)計(jì)中的一致,是在實(shí)際設(shè)計(jì)中根據(jù)用戶場景進(jìn)行了調(diào)整。

2. 原型設(shè)計(jì)

不知道各位是否有這樣的困擾,在原型設(shè)計(jì)時會有這樣的卡頓,例如查詢列表頁要展示什么字段,創(chuàng)建頁要展示什么字段,就有被打斷的感覺。因此建議在開始原型設(shè)計(jì)之前,先根據(jù)對象的場景,分析對象的屬性。我個人習(xí)慣是先分析對象屬性再畫詳細(xì)的原型,這樣是比較順暢的。

1)對象屬性

分析對象屬性,并不是輕松的過程,每個屬性都有針對的場景,這里用“商品”這個對象舉例。提示:一種商品下可以有多種規(guī)格,也就是一個SPU下可以有多個SKU,例如一款手機(jī),有白、灰、黑3種顏色,手機(jī)就是SPU,三種顏色就是3個SKU。

① 商品信息

  • 名稱,商品名稱;
  • 商品編碼,SPU級別編碼,有唯一性要求;
  • 貨號,商品的款號,常用于記錄供應(yīng)商的編碼;
  • 分類,商品分類,用于區(qū)分商品類別;
  • 品牌名稱,商品的所屬品牌;
  • 單位,商品使用的計(jì)量單位,例如件、瓶、箱等;
  • 備注,使用文本記錄商品的注意事項(xiàng);
  • 創(chuàng)建時間,商品創(chuàng)建時間;
  • 更新時間,商品信息最新修改時間;

② 規(guī)格信息

  • 規(guī)格名稱,SKU的名稱,例如一款手機(jī),有白、灰、黑3種顏色;
  • 規(guī)格編碼,SKU級別編碼,精確到每個規(guī)格的組合,有唯一性要求;
  • 條碼,國際標(biāo)準(zhǔn)條碼,也可以使用內(nèi)部自編條碼,用于內(nèi)部識別;
  • 圖片,規(guī)格商品圖片;
  • 標(biāo)準(zhǔn)售價(jià),當(dāng)前零售價(jià)格;
  • 批發(fā)價(jià),給批發(fā)客戶的價(jià)格;
  • 參考進(jìn)價(jià),進(jìn)貨時可以參考的采購價(jià)格,系統(tǒng)第一次采購時可以默認(rèn)帶出此價(jià)格作為參考;
  • 重量,寄快遞稱重時會參考商品重量;
  • 體積,貨品的體積大小,用于適配合適的快遞物流及運(yùn)費(fèi)計(jì)算;
  • 長寬高,用于適配合適的快遞;

③ 自定義屬性:可根據(jù)各自業(yè)務(wù)添加自定義屬性進(jìn)行標(biāo)記;

可以看出,屬性很多,靠自己想是行不通的,這也是分析行業(yè)系統(tǒng)的價(jià)值,把行業(yè)系統(tǒng)常用的對象和屬性學(xué)來,也就入門這項(xiàng)業(yè)務(wù)了。

其他主要對象的屬性寫在騰訊文檔,請?jiān)L問https://docs.qq.com/sheet/DQVVBR2dTd2l4cUxs。

2)原型設(shè)計(jì)

最后進(jìn)行原型設(shè)計(jì),并編寫文字標(biāo)注,補(bǔ)充業(yè)務(wù)規(guī)則和交互規(guī)則等。做PC web網(wǎng)頁設(shè)計(jì)時,這里推薦Element UI組件,記住常用的組件,會提高寫標(biāo)注的效率。為了體會萬里牛ERP的規(guī)則和交互,我把萬里牛的頁面進(jìn)行截圖,并標(biāo)注了萬里牛的幫助文檔,原型放在藍(lán)湖,請?jiān)L問 https://lanhuapp.com/url/g9n4K。

【尾巴】各位看官,由于是在現(xiàn)成的系統(tǒng)上進(jìn)行分解推導(dǎo),因此會存在一些上帝視角,有些用例和對象出現(xiàn)的邏輯沒有那么順暢,請大家見諒。另外,這些邏輯不順暢的點(diǎn),可能就是此類系統(tǒng)的行業(yè)知識,當(dāng)你見過之后,也就認(rèn)識和學(xué)習(xí)了這個行業(yè)的業(yè)務(wù)知識。

 

本文由 @王世翔?原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 非常牛逼

    來自廣東 回復(fù)
  2. 非常的優(yōu)秀?。?!

    來自重慶 回復(fù)
  3. 牛逼

    來自廣東 回復(fù)
  4. 期待更多這類的系統(tǒng)分析文章,nice

    來自湖北 回復(fù)
  5. 寫的很好,期待更多干貨

    來自廣東 回復(fù)
  6. 前輩這拆解花了多久啊,可以加個好友嗎?

    來自浙江 回復(fù)
    1. 學(xué)習(xí)理解系統(tǒng)、轉(zhuǎn)化成自己邏輯、最后輸出成文章,花了兩個月。微信公眾號:王世翔,公眾號中有微信號。謝謝。

      來自廣東 回復(fù)
  7. 加油加油向前輩學(xué)習(xí)

    來自浙江 回復(fù)
    1. 感謝支持。

      來自廣東 回復(fù)
  8. 干活滿滿~~~

    來自浙江 回復(fù)
  9. ??

    回復(fù)
    1. 感謝支持!

      來自廣東 回復(fù)
  10. 再次拜讀,干貨滿滿,感謝

    來自湖南 回復(fù)
    1. 感謝支持,哈哈。

      來自廣東 回復(fù)
  11. 謝謝分享,給到了一個拆解產(chǎn)品的思路和方法

    來自湖南 回復(fù)
  12. 今天再次拜讀了文章,有個疑問:為什么流程圖內(nèi)是從一級用例歸納出主流程呢?
    主流程是客戶本身的主體業(yè)務(wù)流程,正如文章所說“不引入系統(tǒng)的角度,純粹站在業(yè)務(wù)的角度,分析業(yè)務(wù)的主流程場景,獲取業(yè)務(wù)用例?!?/p>

    來自廣東 回復(fù)
    1. 這是個好的點(diǎn)。我個人的理解是,如果公司本身就有一套主流程,那是最好的了。但是現(xiàn)實(shí)情況往往是因?yàn)楦鱾€部門或者崗位之間的不了解,并沒有存在一個清晰的主流程,只能訪談各個角色,串聯(lián)各個角色的場景,獲得主流程,算是一個重新梳理主流程的過程??偨Y(jié)就是如果業(yè)務(wù)方直接告訴你主流程,就用他的,如果沒有就只能靠自己了。

      來自廣東 回復(fù)
  13. 非常感謝,文章很受用。
    最近也在看大象uml,感覺你把這本書吃透了。
    我按照文章的思路,自己也在整理一篇關(guān)于B2C的進(jìn)銷存系統(tǒng)框架分析

    來自廣東 回復(fù)
    1. 大象值得反復(fù)看,讀書過程中,有疑問也可以一起探討哈,關(guān)注我公眾號,可以隨時聯(lián)系到我,共同進(jìn)步。

      來自廣東 回復(fù)
    2. 公眾號是哪個

      來自浙江 回復(fù)
    3. 公眾號:王世翔。

      來自廣東 回復(fù)
  14. 很有意義

    回復(fù)
  15. 很詳細(xì),感謝分享

    來自北京 回復(fù)
    1. 感謝認(rèn)可。開心??。

      回復(fù)