架构师训练营第一周作业 - 食堂就餐卡系统设计

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

1      设计概述

食堂就餐卡系统是AA企业为改进员工就餐流程和食堂管理模式而建设的系统,本系统能够避免企业员工就餐流程中因钱币接触带来的卫生问题,同时通过数据采集及展示方便食堂经营者进行管理。

1.1     功能概述

食堂就餐卡系统的主要包括两部分,管理中心以及收款机。管理中心的主要功能有食堂卡注册、充值、挂失,统计报表,以及系统管理等,收款机的主要功能包括收款及余额查询等。系统的主要使用者包括消费者,食堂服务员以及管理中心的管理员。

1.2     非功能约束

食堂就餐卡系统预计承载用户量两万人。其他指标如下,

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

2)    收款性能⽬标:平均响应时间<500ms,95%响应时间<800ms,单机TPS>30;

3)    系统核⼼功能可⽤性⽬标:>99.97%;

4)    系统安全性⽬标:系统可拦截SQL注入攻击,DDOS攻击,XSS跨站攻击等。密码数据散列加密,客户端数据HTTPS加密;

5)    数据持久化⽬标:>99.99999%。

2      系统部署与整体设计

系统上线时预计部署4台物理机,2个子系统,目前无外部系统交互。

2.1     系统部署图



收款机部署在食堂作为终端完成收款及余额查询功能,初期部署1台,后期可根据需求扩展,收款机依赖管理中心的卡管理模块,收款机的收款及余额查询均通过卡管理模块的接口完成,两者通过加密的信道进行通信。

管理中心部署1台服务器,管理中心web服务部署在Tomcat8.5,包括卡管理模块,日志管理模块,报表管理模块,系统管理模块。卡管理模块能够完成食堂卡的注册,充值,挂失,并向收款机提供接口;日志管理模块完成卡的充值日志,卡的消费日志的记录,日志信息向报表模块提供原始数据;报表管理模块能够从多个维度展示食堂总体经营状况,并提供打印功能。系统管理模块中包括了系统用户管理,权限管理,系统配置等功能。

数据库采用MySQL5.7,系统部署两台数据库服务器,主从服务器进行主从备份,增加一定成的可用性。

3      系统设计

系统主要包含收款机模块,卡片管理模块,消费日志模块,报表管理模块。

3.1     系统组件图



3.2     卡管理及报表管理用例图



管理员在管理中心完成卡管理及报表查询打印操作,卡管理包括卡注册,卡充值,卡挂失。

3.3      收款及余额查询用例图



服务员通过收款机可以进行收款及查询余额操作,消费者可以查询余额。

3.4      注册充值时序图



1)    注册操作由管理员在管理中心完成,消费者向管理员提供基本信息,管理员在系统中将卡片信息与消费者身份信息进行关联,就完成了卡的注册流程。

2)    充值时,消费者将卡片及钱交给管理员,管理员为卡增加余额处理。

3)    系统异步记录充值日志。

3.5      食堂消费处理时序图



1)    消费者将食堂卡交给服务员,服务员根据消费者消费金额在数据自键盘输入金额数字。

2)    收款机调用卡管理模块的扣款接口。

3)    卡管理模块收到扣款请求,判断余额是否满足,满足则进行扣款处理并返回。

4)    卡管理模块异步调用日志管理模块,记录卡的扣款日志。

3.6      报表查询时序图



1)    管理员登录管理中心,进行查询报表操作。

2)    报表管理模块收到请求,根据查询条件调用日志模块接口。

3)    日志模块收到请求,返回日志数据。

4)    报表模块进行数据统计及处理,返回客户端结果。



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

阿德

关注

还未添加个人签名 2018.05.01 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第一周作业 - 食堂就餐卡系统设计