食堂就餐卡系统技术设计文档
食堂就餐卡系统设计
一、设计概述
食堂就餐卡系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。
(本文档旨在提供文档编写规范与思路,文档需求依据如上描述抽象,并不是一份真切的系统设计,其中类图、组件等也不会很详细,仅提供模块思路,不具备业务参考价值,请知悉)
1、功能概述
食堂就餐卡系统会使用POS机进行预付卡消费,卡的充值、消费都可在pos机完成操作,也可以由工作人员完成。系统主要功能包括卡管理、卡用户管理、卡充值、卡消费等主要功能。概括如下:
-
卡管理
- 卡信息查询
- 卡用户查询
- 卡充值查询
- 卡余额查询
- 卡充值
- 卡消费
- 卡冻结
- 卡停用
- 卡注销
- 卡密码重置
-
用户管理
- 用户信息
- 用户卡信息
- 用户消费记录
- 用户充值记录
2、非功能约束
在整个系统的设计上,在保证系统功能完整性和系统效率的前提下,突出系统的开发性、标准化、模块化、易用性、实用性、可靠性特点。在系统性能指标方面需满足如下限制:
- 查询性能⽬标:平均响应时间<300ms,95%响应时间<300ms,单机TPS>300;
- 充值消费目标满足:平均响应时间<300ms,95%响应时间<500ms,单机TPS>100;
同时在系统安全方面,需满足~。
在接口交互方面,~。
二、总体设计
1、系统部署图
食堂就餐卡系统依托于公司现有的服务生态,采用独立式服务部署。食堂卡系统通过分布式服务关系和服务间的注册与发现完成与内部财务系统、风控系统的打通,系统间通讯采用同步http和异步mq为主。
2、食堂卡系统场景用例
卡片自身会涉及到如下场景的用例支持
- 消费记录
- 充值记录
- 消费
- 充值
- 注销/锁定
管理中心角色会涉及到如下用例场景 - 缴费/充值
- 用户管理
- 卡片管理
用户场景下有如下用例: - 用户充值
- 用户注册
- ~~
如上为根据不同的角色建立的不同的用例场景,基本已覆盖就餐卡全部场景内容,后续会根据于此设计实体的聚合与依赖关系。
3、系统内部组件架构
食堂就餐卡系统内部会分为如下模块:
- 用户管理模块
- 卡管理模块
- POS终端管理模块
- 三方支付SDK
模块之间按照各自业务领域聚合拆分。用户管理模块负责用户相关的数据和动作维护,包括用户身份,用户卡片,用户钱包等;卡管理模块主要是针对卡片的管理。POS终端管理负责维护终端设备的通讯与交易记录管理;三方支付SDK负责支付渠道业务管理。
3.1用户管理组件设计
4、场景模块设计
本模块负责介绍针对不同用例场景,各逻辑功能的实现流程细节,与状态流转等。
4.1卡消费
4.1.1卡消费场景时序图
4.1.1卡消费场景活动图
5、卡状态流转图
6、数据库设计
6.1数据库实体关系
7、接口设计
根据场景用例,主要涉及如下接口内容:
- 用户注册
- 卡充值
- 卡消费
- 充值/消费记录查询