架構設計文檔之食堂就餐卡系統設計

 

 

 練習題:食堂就餐卡系統設計

  • 系統中每個消費者都有一張卡,在管理中心註冊繳費,卡內記着消費者的身份、餘額。

  • 使用時將卡插入收款機則顯示卡上金額,服務員按收款機上數字鍵,收款機自動計算並顯示消費額及餘額。

  • 管理中心的管理員監視每一筆消費,可打印出消費情況的相關統計數據。

請設計系統用例圖,組件圖,組件時序圖,部署圖。

1. 概述

食堂就餐卡系統是⼀個消費管理的系統,爲了簡化就餐人員和管理人員的流程優化,便於人員就餐和系統管理人員做數據統計。

1.1. 功能概述

系統主要功能包括註冊繳費、賬戶管理、收費管理、賬戶統計等功能,使⽤者包括食堂就餐人員、系統管理人員、運維監控人員、設計開發人員。

1.2. 非功能約束

1. 查詢性能⽬標:平均響應時間<300ms,95%響應時間<500ms,單機TPS>100;2. 下單性能⽬標:平均響應時間<800ms,95%響應時間<1000ms,單機TPS>30;

3. 性能⽬標:平均響應時間<800ms,95%響應時間<1000ms,單機TPS>30;

4. 系統核⼼功能可⽤性⽬標:>99.97%;

5. 系統安全性⽬標:系統可攔截非法請求 、SQl注入、XSS腳本攻擊,密碼數據散列加密,客戶端數據

 

2. 系統部署與整體設計

系統上線時預計部署14臺物理機,內部系統7個,和外部第三⽅1個系統交互。

 

2.1. 系統部署圖

 

網關的功能職責爲接受外部請求,做權限控制、路由分發請求,部署2臺服務器,做負載功能;

註冊繳費端和註冊繳費系統職責爲消費者卡管理和充值業務,部署4臺服務器,依賴網關係統和數據管理系統,需要對接第三方支持系統;

消費系統管控端和消費系統職責爲消費管理和賬戶餘額處理,部署4臺服務器,需要依賴網關個數據管理系統;

數據監控管理端和數據管理系統職責爲統計消費記錄和輸出消費記錄報表,需要部署4臺服務器,需要依賴網關係統。

 

2.2. 繳費消費系統序列圖

 

1. 繳費時,通過繳費管控端發起繳費請求,網關接受到請求後做路由分發到繳費系統 ,繳費系統請求第三方系統發起請求通知,支持成功後發送異步消息到mq,數據系統通過mq處理異步消息;

2. 消費時,通過消費管控發起消費請求,網關接受到請求後做路由分發到消費系統,處理成功之後,發送異步消息到mq,數據系統通過mq處理異步消息;

3、統計數據時,通過數據管控發起請求,網關接受到請求後做路由分發到數據系統;

2.3. 繳費系統設計

繳費系統主要的職責是用戶開卡,賬戶充值的功能

2.3.1. 組件圖

 

繳費系統一共分爲3個組件,pay-front的主要功能是做開戶和充值的可視化操作,需要依賴組件pay-console做業務邏輯處理,併發送異步消息的數據管理;還要依賴common組件提供最基礎的框架功能。

2.3.2. 場景序列圖

 

對於開戶請求,後端先做業務邏輯處理,然後入庫操作;

對於充值操作,pay-console接收到充值請求後做充值業務邏輯,調用第三方充值系統,返回信息之後做入庫操作,最後發送異步消息登記。

2.3.3. 活動圖

 

在充值場景中,pay-console接收到充值請求後做充值業務邏輯,調用第三方充值系統,返回信息之後做入庫操作,最後發送異步消息登記。

2.3.4. 組件設計

2.3.4.1. pay-console

2.3.4.1.1. 類圖

 

PayServiceImpl和接口AccountServiceImpl分別實現接口PayService、AccountService,PayController聚合兩個接口,PayService並調用支付代理。

2.3.4.1.2. 序列圖

 

PayServiceImpl和接口AccountServiceImpl分別實現接口PayService、AccountService,PayController聚合兩個接口,PayService並調用支付代理。

 

2.3.4.1.3. 狀態圖

 

初始化狀態爲未處理,接受請求後標記爲處理中狀態,在業務邏輯檢查是改爲檢查中狀態,檢驗失敗爲訂單失敗,檢驗通過爲支付中訂單,支付成功和支付失敗兩個狀態。

2.4. 消費系統設計

 

2.4.1. 組件圖

 

消費系統一共分爲3個組件,consumer-front的主要功能是做消費的可視化操作,需要依賴組件consumer-console做業務邏輯處理,併發送異步消息的數據管理;還要依賴common組件提供最基礎的框架功能。

 

 

2.4.2. 場景序列圖

 

對於消費請求,consumer-console收到消費請求最業務邏輯處理,然後進行數據庫登記,最後發送異步消息至數據管理中心;

2.4.3. 活動圖

 

在消費場景中,consumer-console收到消費請求最業務邏輯處理,然後進行數據庫登記,最後發送異步消息至數據管理中心;

 

2.4.4. 組件設計

2.4.4.1. 組件1

2.4.4.1.1. 類圖
2.4.4.1.2. 序列圖
2.4.4.1.3. 狀態圖

 

2.5. 數據系統設計

2.5.1. 組件圖

 

數據統計系統一共分爲3個組件,data-front的主要功能是做消息接送和數據統計的可視化操作,需要依賴組件data-console做業務邏輯處理;還要依賴common組件提供最基礎的框架功能。

 

2.5.2. 場景序列圖

 

對於統計請求來說,data-management系統接收到統計請求做邏輯處理,並返回對應的處理數據。

2.5.3. 活動圖

 

在數據統計場景來說,data-management系統接收到統計請求做邏輯處理,並返回對應的處理數據。

 

2.5.4. 組件設計

2.5.4.1. 組件1

2.5.4.1.1. 類圖
2.5.4.1.2. 序列圖
2.5.4.1.3. 狀態圖

 

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