写点什么

食堂就餐卡系统设计

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

设计概述

食堂就餐卡系统,是一个为食堂管理就餐卡的系统,包含就餐卡开卡,消费,查询消费信息等。



功能概述

  1. 系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记录消费者身份、余额;

  2. 使用时将卡插入收款机,收款机显示卡内余额;

  3. 服务员输入收费金额,收款机自动计算并显示消费额及余额;

  4. 管理中心的管理员监视每一笔消费,可打印消费相关的统计数据。



非功能约束

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

  2. 刷卡性能⽬标:平均响应时间<300ms,95%响应时间<500ms,单机TPS>100;

  3. 系统核心功能可用性 > 99.99%。



系统部署图与整体设计

系统部署图

系统采用微服务架构,后端服务中每个组件为一个独立的服务。服务采用容器化部署,采用docker swarm做为容器调用平台,支持服务的横向扩缩容。

预计上线初期部署3台物理机(4核8G),每个服务运行两个实例。

系统部署图如下:





系统图例图

就餐卡系统里可以划分出4个角色,分别是就餐卡、就餐卡账户、服务员,以及管理员。

就餐卡

系统中记录每个就餐卡信息,每个实体卡都对应一条就餐卡信息记录,由卡号唯一标识。

就餐卡账户

就餐卡账户记录金额等信息,与就餐卡是动态绑定关系。开卡时会注册一个就餐卡账户,并与一张就餐卡绑定。充值和消费时,是通过就餐卡来对就餐卡账户进行操作。

当用户的卡挂失时,可以禁用就餐卡,并可重新申请一张新卡并绑定原来账户。

服务员

系统中记录服务员信息。在系统中注册的服务员才可以使用刷卡机,刷卡时,会记录是由哪位服务员操作。

管理员

系统中记录管理员信息。管理员需要在管理终端登录才能做开卡、查询消费记录等操作。



就餐卡系统用例如下:



系统组件图

系统后端可拆分为7个服务(不包含刷卡机和管理员客户端)。

具体的服务及依赖关系如下组件图所示:



开卡场景时序图

开卡操作由管理员执行,分为3个步骤:

(1)注册账户;

(2)账户绑定就餐卡;

(3)激活就餐卡。



刷卡场景时序图

刷卡由服务员操作刷卡机完成。

(1)当卡放到刷卡机时,会查询该卡对应的账户的余额;

(2)服务员输入消费金额进行扣费;



查询消费记录时序图

查询消费记录由管理员执行,流程如下图所示:



用户头像

dapaul

关注

还未添加个人签名 2018.09.18 加入

还未添加个人简介

评论

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