大廠的供應鏈採購系統設計

来源:https://www.cnblogs.com/JavaEdge/p/18016695
-Advertisement-
Play Games

關註我,緊跟本系列專欄文章,咱們下篇再續! 作者簡介:魔都技術專家兼架構,多家大廠後端一線研發經驗,各大技術社區頭部專家博主,編程嚴選網創始人。具有豐富的引領團隊經驗,深厚業務架構和解決方案的積累。 負責: 中央/分銷預訂系統性能優化 活動&優惠券等營銷中台建設 交易平臺及數據中台等架構和開發設計 ...


關註我,緊跟本系列專欄文章,咱們下篇再續!

作者簡介:魔都技術專家兼架構,多家大廠後端一線研發經驗,各大技術社區頭部專家博主,編程嚴選網創始人。具有豐富的引領團隊經驗,深厚業務架構和解決方案的積累。

負責:

  • 中央/分銷預訂系統性能優化
  • 活動&優惠券等營銷中台建設
  • 交易平臺及數據中台等架構和開發設計

目前主攻降低軟體複雜性設計、構建高可用系統方向。

參考:

0 前言

公司發展面臨商業環境變化,如流量模式、競爭格局和公共衛生事件。採購系統作為供給端核心系統之一,做好頂層設計並持續進行系統演進,才能適應劇烈的業務變化,服務好最終用戶。本文從定義巨集觀設計藍圖落地系統持續演進展開整個採購系統架構過程,看業務系統架構設計過程。

1 定義巨集觀

不斷聚焦,推演採購系統的底層架構關鍵點。

1.1 最大的變化和不變

商業定位,確定架構底層邏輯:

  • 變化:企業面臨商業環境變化及自身發展訴求。企業商業定位面臨調整,業務範圍可能擴張或收縮,業務模式可能微調或顛覆。架構重心發生極大變化,需提前規劃調整,不然系統和業務發展間隙越大
  • 不變:商業定位決定公司長期走向,商業定位一旦確立有長期穩定性,以一個明確定位來占領用戶心智,同時業務都圍繞定位展開

如定位平臺模式和品牌模式的電商公司,業務特點和架構特點匹配如下:

業務特點 架構特點
平臺模式(如:天貓) 撮合大量商家和消費者,關註交易量,關註GMV。入駐品牌多,品類廣,更關註商品交易屬性,基本不關註生產製造 起量快,得確保系統設計易擴展,無論表拆分、機器擴容。營銷玩法多變,為快速響應業務,需靈活前臺設計和堅實中後臺
品牌模式(如:嚴選) 關註忠誠用戶,關註利潤率,以品為核,從設計製造環節抓起,到商品交付給用戶,乃至售後都兼顧。但品類數量增長慢,資產重 需向多渠道鋪貨,業務前端要匹配各平臺玩法。業務後端從商品企划到設計、生產、製造、運輸、倉儲的鏈條極長,流程聯動,數據準確性保障都要考慮。為匹配業務前端,往往要做渠道庫存、渠道訂單這樣的抽象設計

1.2 全鏈路視角:深度協同 &雙向驅動

  • 商業鏈條極長,選品,採購溯源,計划下單,合同簽署,備料協同,生產製造,品質管控,物流運輸,倉儲管理,退供翻新,金融結算等環環相扣
  • 協同角色極多,從商品開發,採購,計劃,品控,關務,財務等密切合作
  • 層次錯綜複雜,從傳統的供應鏈三流:實物流、信息流、資金流和商流,縱橫交錯

供應鏈業務和技術是互咬齒輪:

  • 前期業務驅動,大量場景需線上化,完成初期流程閉環和數據積累
  • 發展一定階段,大量技術驅動場景,展現數智化特征,如服務供需平衡的銷量預測、智能補貨,服務庫存平衡的採購分倉、倉間調撥

整體供應鏈採購發展是技術和業務雙驅。架構設計過程,要認清當前系統和業務的發展階段,平衡好當前訴求和未來發展,做好業務支撐同時,挖掘數智化機會,為變化留有餘地同時拒絕過渡設計。

1.3 找準系統演進關鍵特征

以準確性、可用性為基:

img

理清業務特點後,需圈出採購系統關註的技術特征及這些關鍵特征的演進目標:

  • 可用性。作為履約核心鏈路,多角色日常工作需頻繁操作線上系統,能全天候完整為用戶提供服務能力是基礎和關鍵
  • 準確性。業務鏈路長(從計划下單到採購請款結算中間要經多個關鍵流程),業務完結周期長(短則幾天,長則一年多),數據準確有很大挑戰。又因採購是關鍵的成本結算鏈路,所以對數據準確性有很高要求

需進一步量化這些架構特征,用以觀察和保證系統是向目標方向拉動。如關註服務可用性,可用線上率、故障率倆指標。指標構建落地要結合公司技術,若有SLA/SLO/SLI相關服務質量平臺,可直接借力,把指標納入架構觀察大盤,而非重覆構建。類似也可借力自動化測試平臺,構建一些性能、安全性的架構特征的量化觀察指標。

2 設計藍圖

確定階段性目標架構。理清關鍵底層邏輯後,可開始確定階段性目標架構藍圖。如RUP 4+1視圖,本文談如下視角

2.1 限界上下圖

分治之基、扯皮之盾:

分治,大系統小做。採購系統包含跨境採購、採購執行、退供/翻新等大量業務,同時要和大量外部系統如商品中心、供應商、財務等交互,這種業務場景多,和外部聯動多的系統,只有界定好內外部邊界,才能將系統和人員職責拆分到位。

系統的服務化粒度可直接映射參考內部子域劃分。如系統大小合適,系統負責人和系統之間一對一配比最好。

2.2 業務架構圖

業務場景和系統能力平滑匹配:

業務架構圖要將業務、系統思考清,圖要明確橫向縱向的意圖。

① 橫向:表達業務流程

  • 利益相關者:可通過用戶利益關註點不同做用戶群體劃分,可通過角色來抽象劃分後的用戶
  • 橫向業務閉環:業務最終必定服務用戶,所有利益相關者的關註點應該在每個橫向層次上得到承載和體現

② 縱向:表達能力分層

  • 縱向關註拆解,從“業務願景”不斷拆解到一個個細小的‘業務能力’載體
  • 分層,對拆解過程進行抽象,歸納,提煉 4 層表達結構:場景層、產品功能層、系統能力層、業務模型層

場景分析是關鍵。業務架構產出靠不靠譜,其中一個因素就是業務域下的作為輸入場景是否考慮清晰,是否覆蓋全面,即‘場景分析’是否到位。該層是基礎,至於分層業務架構產出,如L0,L1,L2層可在該基礎做抽象和結構化。

3 落地系統

有層次,有節奏的構建系統:

3.1 一層:橫向擴張

以域為核心,打造系統版圖:

搭建業務和系統大的框架結構,做業務域級別的覆蓋和服務系統級別的落地。供應鏈採購作為相對成熟的業務,可參考業務側整體版圖來預判系統形態。

然後結合當前系統和業務現狀,規劃系統發展路徑。若新需求不在當前子域,可考慮將新的系統直接構建出來,承接這塊業務需求,以滿足未來發展。若有板塊內的關鍵子域落入其他板塊,可邊界治理,劃回業務和系統能力,划出不屬於採購系統的,以保證規劃整體性和系統內聚。

3.2 二層:垂直深挖

精細化場景覆蓋:

多角度驗證場景完整性,做場景級業務覆蓋和系統能力級別的補全。業務域初步搭建成型後,在支撐基本業務流程基礎上,不斷挖掘用戶在成本控制、提效、體驗的深度訴求,迭代細分場景以豐富系統。如審批域:

  • 可提供專門服務緊急場景的緊急審批能力,除了幾個關鍵節點審批,其他日常審批節點都繞過,極速完成審批
  • 也可根據便攜化審批訴求,提供移動審批

3.3 三層:自動化 &數智化

當前的終極階段,需長期思考探索。在精細化做了段時間後,系統有一定成熟度基礎,團隊也對業務有深入理解,可挖掘自動化&數智化機會。

如探索個性化流程場景:為不同業務方個體搭建個性化採購流程。關鍵思路,採購是重流程系統,而有些流程節點的設計是在風險控制和效率間博弈,如某些審批節點。而每個業務人員個體靠譜度不同,若能為某些靠譜業務人員跳過某些主要基於風險控制考量的節點,極大提升流程效率。

4 持續演進:動態平衡

img

目標架構,只是某時間對架構的理想狀態的判斷,當一些關鍵因素變化,目標架構需及時調整,而變化是持續的,所以目標架構其實也是連續變化的。當目標架構變化後,會開啟新一輪定義、設計和落地,所以系統能力和需求的匹配一直處於一個動態平衡中。如雙十一說明市場環境變化導致業務變化,而業務變化後系統側需要做出調整:

  • 市場變化:本年雙十一銷售高峰除當天,還有‘11.1-11.3’,形成 2 個銷售波峰,波峰之間有 7 天緩衝

  • 業務變化:對採購側業務方,這市場變化,多‘一次復盤,一次補貨’

    • 一次復盤:‘11.1-11.3’大促後,可快速復盤下當前採購量和目標偏差,調整關鍵數據如大促繫數(大促期間對比平銷期採購量倍數)
    • 一次補貨:復盤後發現一些採購量偏差、一些爆品缺貨風險
  • 系統變化:一波大促變兩波,對流量、系統容量需重新評估設計。可提供一些數據輔助決策工具幫助業務快速‘11.1-11.3’復盤,和‘11.11’採購量重新預測。最後提供緊急補貨工具,縮短採購履約時間,完成偏差採購量補貨

5 總結

供應鏈這種B端系統門檻高,對架構師業務深度、技術深度提出雙向要求,埋頭做系統可不行。將業務敏感度和架構方法論結合,用發展動態眼光看,才能發現真正技術價值和業務價值。

本文由博客一文多發平臺 OpenWrite 發佈!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在Mysql資料庫中,模糊搜索通常使用LIKE關鍵字。然而,隨著數據量的不斷增加,Mysql在處理模糊搜索時可能面臨性能瓶頸。因此,引入Elasticsearch作為搜索引擎,以提高搜索性能和用戶體驗成為一種合理的選擇。 1、客戶的訴求 在ES中,影響搜索結果的因素多種多樣,包括分詞器、Match搜 ...
  • pandas的DataFrame功能強大自不必說,它可以幫助我們極大的提高統計分析的效率。 不過,使用DataFrame開發我們的分析程式的時候,經常需要列印出DataFrame的內容,以驗證和調試數據的處理是否正確。 在命令行中雖然可以直接列印出DataFrame的內容,但是閱讀比較困難。正好前段 ...
  • python編譯相關 具體編譯步驟 Python代碼的編譯和執行過程可以更詳細地描述如下: 詞法分析(Lexical Analysis)和語法分析(Syntax Analysis): Python解釋器首先會對源代碼進行詞法分析和語法分析。詞法分析器會將源代碼分解成詞法單元(tokens),這些單元 ...
  • 雲計算 - 負載均衡SLB方案全解與實戰,介紹SLB的核心技術、用戶最佳實踐、阿裡雲 SLB產品舉例、應用場景。 關註【TechLeadCloud】,分享互聯網架構、雲服務技術的全維度知識。作者擁有10+年互聯網服務架構、AI產品研發經驗、團隊管理經驗,同濟本復旦碩,復旦機器人智能實驗室成員,阿裡雲 ...
  • 1、定義 Go語言支持一種特殊的欄位只需要提供類型而不需要寫欄位名的欄位**,**稱之為匿名欄位或者嵌套欄位。 所謂匿名欄位實際上是一種結構體嵌套的方式,所以也可以稱作嵌套欄位。 這種方式可以實現組合復用,即通過匿名欄位,結構體可以直接訪問嵌套結構體的欄位和方法,而無需通過欄位名或類型進行嵌套。 2 ...
  • 目錄: OpenID 與 OAuth2 基礎知識 Blazor wasm Google 登錄 Blazor wasm Gitee 碼雲登錄 Blazor OIDC 單點登錄授權實例1-建立和配置IDS身份驗證服務 Blazor OIDC 單點登錄授權實例2-登錄信息組件wasm Blazor OID ...
  • 最近需要在伺服器上運行一些時間很長的命令,想讓伺服器自動通知我什麼時候命令完成,通過命令結束後發送郵件給我來提醒。 安裝 msmtp 和 mail # RedHat 系 sudo dnf install msmtp mailx # Debian 系 sudo apt install msmtp ma ...
  • 程式說明: 《幾何衝刺》是一款基於Scratch平臺開發的跑酷類游戲程式。在這個游戲中,玩家控制一個黃色的小方塊,在快速向前衝刺的過程中躲避各種障礙物。通過按下鍵盤上的上方向鍵,玩家可以操作小方塊進行跳躍,以避開途中的障礙。游戲的目標是儘可能讓黃色小方塊跑得更遠,挑戰玩家的反應速度和操作技巧。 小虎 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...