一 需求描述
食堂就餐卡系统设计
系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。
使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。
管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。
二、系统部署图与整体设计
2.1系统部署图
1)系统1的功能职责为消费卡的管理系统,主要提供消费卡的注册、缴费、显示余额和扣款等动能,可部署两台物理机器,做高可用;只要对接收银终端和管理中心两个客户端,同时需要连接数据库,进行数据入库和查询的通信,此外需要依赖系统2;
2)系统2的功能职责为进行消费信息进行记录,并进行统计分析,主要提供三个功能,一个是接受消费的MQ消息,然后把消息记录入库;第二个是定时任务进行消费记录数据的统计和分析;第三个是对接管理中心展示消息记录和统计相关信息,部署两台物理机器,做高可用,需要对接管理中心客户端,同时需要连接数据库,进行消费记录的入库和查询;
2.2 用例图
用例主要涉及到三类用户,如下:
消费卡主:消费卡注册和缴费等用例;
管理中心的管理员:监控查看消费消息和获取统计信息;
服务员:基于收银终端,消费时插卡显示消费余额和输入金额进行扣款操作;
2.3 消费者注册和缴费组件序列图
消费者进行消费卡的注册和缴费行为主要是跟消费卡组件进行交互
注册功能调用消费卡组件的注册接口,根据用户信息创建消费卡记录,创建成功后返回
缴费功能调用消费卡组件的缴费接口,先读取卡的信息并执行锁操作,然后对卡内余额进行更新,更新完成后释放锁,并返回缴费成功
2.4消费者消费场景组件序列图
消费者消费场景,是基于收银终端和服务员这个角色一起执行完成的,具体的流程序列如下:
插卡显示余额:通过在收银终端插卡,触发收银终端查询收银组件接口查询卡内余额,收银组件查询消费卡组件查询卡内余额接口,查询成功并返回,在终端显示卡内现有余额;
消费扣款:服务员根据消费者的消费情况,在收银终端输入消费金额进行扣款操作,调用收银组件的扣款接口,收银组件调用消费卡组件进行卡内余额的更新。收银组件获取到卡内余额更新成功的返回后,发送MQ消息通知到消费数据组件,然后并成功返回收银终端,扣款成功;
消费成功消息处理:消费数据组件收到消息通知后,进行消费记录的数据入库,同时更新消费相关统计数据;
网友评论