極客大學架構師訓練營--食堂就餐系統架構設計⽂檔 -- 第一次作業

食堂就餐系統架構設計⽂檔

在這裏插入圖片描述

1 設計概述

食堂就餐卡系統是⼀個學校裏面學生和老師以及其他人員就餐的系統,是公司面對學校戰略的核⼼系統,承擔着公司拓展學校市場的⽬標任務。

1.1 功能概述

食堂就餐卡系統主要功能包括管理中心給消費者開卡,服務員收款機查詢金額,服務員收取消費金額,管理中心可以查詢相關統計記錄,使⽤者包括學生、老師、以及學校工作人員。常用場景如下:
* a) 系統中每個消費者都有一張卡,在管理中心註冊繳費,卡內記着消費者的身份、餘額。
* b) 使用時將卡插入收款機則顯示卡上餘額,服務員按收款機上數字鍵,收款機自動計算並顯示消費額及餘額。
* c) 管理中心的管理員監視每一筆消費,可打印出消費情況的相關統計數據。
以下爲用例圖,主要角色有消費者,管理中心,服務員。
在這裏插入圖片描述

1.2 ⾮功能約束

食堂就餐卡系統未來預計⼀年⽤戶量達到100萬,⽇訂單量達到20萬,⽇UV達到10萬。

  1. 查詢性能⽬標:平均響應時間<300m s,95% 響應時間<500m s,單機T PS>100;
  2. 下單性能⽬標:平均響應時間<800m s,95% 響應時間<1000m s,單機T PS>30;
  3. 監控性能⽬標:平均響應時間<800m s,95% 響應時間<1000m s,單機T PS>30;
  4. 系統核⼼功能可⽤性⽬標:>99.97% ;
  5. 系統安全性⽬標:系統可攔截DDDOS攻擊,密碼數據散列加密,客戶端數據HT T PS加密,外部系統間通信對稱加密;
  6. 數據持久化⽬標:>99.99999% 。

2. 系統部署圖與整體設計

系統上線時預計部署100臺物理機,2個⼦系統,和一個外部系統第三方支付系統交互。

2.1 系統部署圖

在這裏插入圖片描述

a. 用戶訂單系統的功能職責爲註冊用戶信息,用戶消費,更新用戶餘額,部署95臺服務器,實現用戶註冊、充值、訂單消費功能,餘額查詢功能。
b. 數據採集系統的功能職責爲查詢用戶消費數據,生成統計報表,部署10臺服務器,依賴用戶系統和訂單新系統,實現訂單信息和報表統計功能。
c. 第三方支付系統爲外部系統,支持用戶用微信、支付寶、銀聯等第三方支付充值。

2.2 用戶充值、下單場景系統序列圖

在這裏插入圖片描述

3. 用戶訂單系統設計

用戶訂單系統的主要職責是用戶信息管理,訂單管理,餘額管理,其中主要包含了用戶管理組件,訂單管理組件。

3.1 用戶訂單系統組件圖

在這裏插入圖片描述
用戶管理組件的功能主要是用戶信息的註冊、更新、註銷,餘額的充值、消費。
訂單管理組件,需要依賴於用戶管理組件,是用戶訂單系統的核心組件,用戶訂單需要獲取用戶的餘額,扣款成功,訂單纔算完成。

3.1.1 用戶管理組件,用戶註冊、用戶充值時序圖

在這裏插入圖片描述

3.1.2 訂單管理組件,消費者消費時序圖

在這裏插入圖片描述

3.1.3 訂單管理組件,消費者消費活動圖

在這裏插入圖片描述

3.2 用戶管理組件設計

用戶管理組件的主要職責是用戶註冊、用戶餘額更新,註銷,其中主要包含了用戶類,用戶信息管理類,用戶數據庫操作類。
在這裏插入圖片描述

UserController 類主要功能是對外提供用戶信息操作的服務,UserController聚合了UserService;UserService實現了接口IService,IService主要是對用戶增刪改查的抽象,UserService把用戶數據處理好後傳給UserDao進行數據庫入庫;UserDao聚合了User對象,對用戶數據進行封裝。

3. 3.3 訂單狀態圖

在這裏插入圖片描述

a) 消費者下單(訂單未完成) > 到用戶餘額扣款 > 扣款成功 > 下單成功 > 訂單完成。
b) 消費者下單(訂單未完成) > 到用戶餘額扣款 > 扣款失敗 > 下單失敗 > 訂單完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章