食堂就餐卡系统设计

1. 设计概述
本系统是一个食堂就餐卡系统,用于管理就餐卡的使用、消费和消费查询等事件。
1.1. 功能概述
整个系统分为两个子系统:卡管理和消费管理。具体功能设计如下图

1.2. 系统概览

2. 系统部署图与整体设计
线上预计部署两个子系统,共 6 台主机。其中卡片管理子系统部署 2 台主机,分别位于两个机房,单台主机配置 2C4G40G。消费管理子系统部署 4 台主机,每两台在一个机房,单台主机配置为 2C4G40G。
数据库线上部署 3 台主机,1 主 2 从,从节点分别位于不同机房,单台主机配置 4C8G120G。
2.1. 系统部署图

消费端:
部署在两个机房,4 台主机。双卡机通过网络防火墙和消费应用交互
管理端:
部署在两个机房,2 台主机。管理员通过 pc 主机连接管理应用,制卡器通过 pc 连接管理应用
2.2. 子系统序列图
3. 子系统设计
卡片管理子系统主要功能是卡片管理,包括开卡、销卡、挂失、充值、消费查询和统计报表等功能。子系统包含了卡片管理组件、卡片信息组件和消费记录组件
3.1. 卡管理子系统组件图

卡片子系统包含 3 个组件:
卡片管理组件的功能主要是卡片的管理,包括开卡、销卡、挂失和充值,需要依赖卡片信息组件完成相关的卡片操作。
卡片信息组件是子系统的核心组件,是管理卡片的基本信息的,包括卡号、身份信息、卡状态、余额等。
消费记录组件是记录卡片金额变化的组件,需要依赖卡片信息组件完成。记录的消费信息包括:卡号、商户号、资金类型、金额、时间等
3.1.1. 开卡场景时序列图

开卡流程:
1、将新卡插入读卡器,读卡器查询此卡的信息。
2、管理员在卡片管理系统中录入持卡者信息、更新卡片状态和余额等信息。
3、管理员将更新后的卡片信息刷入卡片。
3.1.2. 销卡场景时序图

销卡流程:
1、将卡片插入读卡器,读卡器查询此卡片信息。
2、管理员在卡片管理系统注销此卡片,更新卡片数据。
3、管理员将卡片信息刷入卡片。
4、若卡片还有余额,管理员退还余额。
3.1.3. 挂失场景时序图

挂失流程:
1、持卡人提出挂失申请并提供身份信息
2、管理员根据身份信息查询卡片信息
3、管理员挂失卡片,并更新卡片信息
4、管理员确认卡片状态告知持卡人
3.1.4. 充值场景时序图

充值流程:
1、将卡片插入读卡器,读卡器查询卡片信息
2、管理员收款并给卡片充值对应的金额
3、卡片信息更新,将金额刷新
4、读卡器刷新卡片信息
3.1.5. 消费查询场景时序图

消费查询流程:
1、将卡片插入读卡器,读卡器查询卡片信息
2、管理员查询消费记录
3、管理员点击打印按钮,将消费记录数据发送至打印机
4、打印机打印出消费详单
3.1.6. 统计报表场景时序图

统计报表流程:
1、管理员查询消费统计数据
2、管理员导出统计报表数据
3.2. 消费管理子系统组件

消费管理子系统包含两个组件:消费组件和识卡组件
识卡组件主要功能:读取卡片信息、识别卡片状态、识别当前商户信息等
消费组件主要功能:消费金额和消费确认。消费组件依赖识卡组件读取的信息。
3.2.1. 识卡场景时序图

识卡流程:
1、将卡放到刷卡器上
2、刷卡器读取卡片信息
3、刷卡器判断卡片状态,决定卡片是否可以正常使用
3.2.2. 消费场景时序图

消费流程:
1、将卡片放到刷卡机上
2、商家输入消费金额
3、商家点击确认消费按钮
4、返回消费结果
版权声明: 本文为 InfoQ 作者【拈香(曾德政)】的原创文章。
原文链接:【http://xie.infoq.cn/article/c02bffdf5a28f20554c37dba1】。文章转载请联系作者。
评论