写点什么

架构师培训 -01 食堂就餐卡系统设计文档

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

概要设计

食堂就餐卡系统是一个管理会员卡信息的系统,是食堂用于管理会员信息及收入账目的主要系统,为食堂解决了收费效率低,收取现金容易丢失等主要食堂管理问题。

功能描述

食堂就餐卡系统主要功能包括:会员管理,消费管理,卡信息管理。使用者包括:消费者、管理员和服务员。

非功能描述

食堂就餐卡系统目标是支持 10 万人就餐的大食堂使用,预计需要 1200 台收款机,一年产生消费记录预计 1 亿条。

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

2、刷卡扣款性能目标:平均响应时间<300ms,95%响应时间<500ms,单机 TPS>300;

系统部署图与整体设计

食堂就餐卡系统上线时预计部署 11 台物理机器,用户管理系统 2 台、餐费管理系统 4 台,MYSQL 数据库 2 台,ES 集群 3 台。

系统部署图


用户管理子系统功能职位为管理用户信息和餐卡信息,餐费管理子系统主要为收款机提供餐费明细记录、卡余额查询及费用报表等功能。


用户管理系统设计

用户管理系统主要给用户提供用户信息维护功能,给管理员提供用户查看、管理、发卡等功能。其中主要包含了前端 web、用户管理服务(springboot)和 MySQL 组件。

用户管理系统组件图


用户管理系统包含三个组件:

前端:是基于 vue 开发的页面,主要给用户和管理提供操作和查看用户信息及卡信息入口,需要依赖用户管理服务组件来完成各种操作。

会员管理:是基于 springboot 开发的服务,主要实现了用户信息管理各种操作及卡信息各种管理的,产生的各种数据存储在 mysql 组件中。

MYSQL:主要用于对各种业务数据进行持久化。

注册功能组件序列图


餐卡管理系统设计

餐卡管理系统主要职责是维护餐卡的有效性,餐卡账户金额和餐卡消费记录,提供相关报表等。其中主要包含了前端 web、餐卡管理服务(springboot)、MySQL 组件和 ES 组件。

餐卡管理系统组件图


餐卡管理系统包含四个组件:

收款机:是基于 android 开发的,主要供服务员用于收款使用,需要依赖餐卡服务组件来完成收费操作。

餐卡服务:是基于 springboot 开发的服务,主要提供餐卡费用消费记录记录,餐卡金额计算和餐费统计等功能,餐卡金额维护数据存储在 mysql 组件中,消费记录存储在 ES 组件中。

MYSQL:主要用于记录卡信息和卡金额。

ES:主要用于存储消费记录和餐费统计功能。

刷卡功能组件序列图


用户头像

刘敏

关注

还未添加个人签名 2018.04.25 加入

还未添加个人简介

评论

发布
暂无评论
架构师培训-01食堂就餐卡系统设计文档