写点什么

食堂就餐卡系统设计

用户头像
GalaxyCreater
关注
发布于: 2020 年 06 月 10 日

1,设计概述

食堂就餐卡系统是一个提供给食堂接入的消费、记账管理系统,满足日常就餐消费、账目管理任务。



1.1 功能概述

系统主要功能包括账号注册、就餐卡充值、刷卡消费、账目管理4个主要功能。使用者包括注册卡用户、食堂工作人员、食堂账目管理人员。



1.2 非约束功能

系统预计注册用户一个月内达到5w人规模,日订单量9w左右。

1. 查询性能目标:平均响应时间<300ms,95%响应时间<500ms,单机TPS>100;

2.下单性能目标:平均响应时间<800ms,95%响应时间<1000ms,单机TPS>30;

3.数据持久化目标:>99.99999%。

4.系统安全性目标: 加密使用非对称加密、token验证,https协议。

5.系统核心功能可用性目标:>99.97%;



2,系统部署图与整体设计

系统上线时预计部署2台物理机,2个子系统,和外部第三方微信/支付宝支付系统交互。



2.1 系统部署图





  • 业务子系统功能职责为处理充值扣费等业务逻辑,部署两台机器,依赖数据库和第三方支付系统,实现注册、充值、消费、记录日志等功能。

  • 财务系统用于用于账目的管理,部署到一台机器,依赖数据库。实现账单查询、统计等功能。



2.2 充值场景子系统时序图



  1. 用户刷卡请求业务系统充值,业务系统请求第三方支付

  2. 第三方支付处理后返回扣费结果

  3. 业务系统请求财务系统,记录充值结果(可能扣费成功或失败)和日志

  4. 返回结果



2.3 消费场景子系统时序图



  1. 用户请求业务系统消费

  2. 业务系统请求财务系统获取充值信息

  3. 业务系统返回充值信息

  4. 业务系统判断是否能扣费,请求财务系统记录扣费信息

  5. 返回结果



2.4 消费场景子系统活动图

如图所示:

  1. 用户刷卡,客户端发送扣费信息

  2. 业务系统请求账务系统获取用户余额信息

  3. 如果余额不足,返回提示并结束;如果余额充足,请求账务系统扣费和记账

  4. 返回账户当前资金信息



3 业务系统设计

业务系统主要功能职责是处理解密验证、充值扣费、操作提示、记录账单等,其中主要包含解密组件、通信组件、扣费组件、第三方支付组件。



3.1 业务系统组件图



  1. 扣费模块组件主要负责充值扣费、账单记录。需要依赖加解密模块完成请求验证、依赖第三方支付组件完成账户充值、依赖通信模块和其他模块通信。是业务子系统的核心组件。用户充值、扣费请求主要通过它完成。

  2. 通信模块主要负责所有的网络通信的接收和发送。是业务子系统的重要组件。

  3. 加解密模块组件主要负责消息的解密验证和发送时的加密。是业务子系统的重要组件。

  4. 第三方支付组件主要负责第三方支付的接入。需要依赖通信模块发送通信请求。是业务子系统的重要组件。用户充值请求主要通过它来完成。



3.1.1 消费场景组件时序图



对于消费场景,通信模块收到用户消息后,调用PraseHttp接收请求。然后调用加解密模块的Decrypt解密。扣费模块根据解密出的消息,调用DealBillPay()方法处理这次消费,最后分别调用加解密模Encrypt、通信模块的SendHttp返回结果。



3.1.2 消费场景组件活动图



在消费场景中,首先通信组件收到http消息,调用PraseHttp开始处理。返回加密组件调用Decrypt解密消息,然后判断是否能正确解密,如果为false,那么调用通信组件的SendHttp返回错误结果;如果为true,那么扣费组件执行DealBillPay处理账单。账单处理完后,调用Encrypt加密返回内容,调用SendHttp发送结果给客户。



4 用例图



发布于: 2020 年 06 月 10 日阅读数: 78
用户头像

GalaxyCreater

关注

还未添加个人签名 2019.04.21 加入

还未添加个人简介

评论

发布
暂无评论
食堂就餐卡系统设计