食堂就餐卡系统设计
原始需求:
系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。
使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。
管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。
需求分析:
由于需要设计一个卡管系统,根据需求分析系统中一共有如下角色,如下动作
角色: 餐卡持有者, 刷卡机, 管理中心
动作: 办卡,充值, 刷卡消费,对账.
用例图
1 设计概述
餐卡系统是⼀个方便就餐刷卡使用的系统,是公司卡管平台的战略的核⼼系统,承担着公司每年营收100亿的⽬标任务。
1.1 功能概述
系统主要功能包括办卡, 充值, 消费,记账,统计报表,使⽤者包括就餐人员,刷卡人员,卡管管理中心领导。
1.2 ⾮功能约束
系统未来预计⼀年⽤户量达到1000w,⽇订单量达到5000w,⽇PV达到1个亿.
查询性能⽬标:平均响应时间<300ms,95%响应时间<500ms,单机TPS>100;
2 系统部署图与整体设计
系统上线时预计部署台物理机,4个⼦系统,和公司账务系统交互,和外部第三⽅银行,结算中心
个系统交互。
2.1 系统部署图
2.2 办卡场景⼦系统序列图
办卡时,用户⼦系统先发送查询是否已拥有卡片消息到卡管⼦系统,卡管系统需要根据身份证号码查询是否已有卡片
用户子系统内收到如果无卡,则新创建卡片
开卡流程时,用户系统填写身份信息,请求给卡管子系统,调用创建卡片系统,然后进行返回卡片唯一标示 cardno
2.3 刷卡消费场景⼦系统活动图
如图所示:
刷卡消费开始时,卡管系统判断,然后判断卡内金额是否大于等于消费金额,如果为真,请求交易子系统进行刷卡结算,如果为假,则直接返回提示余额不足,结束.
交易子系统结算后,⼀⽅⾯继续和外部支付系统进行金额实时结算,⼀⽅⾯将结算消息发送给记账子系统进行记账
3.交易子系统系统设计
交易⼦系统的主要功能职责是为了进行管理卡片交易,其中主要包含了交易微服务组件, 第三方扣费交互微服务组件, 数据存储组件。
3.1 交易子系统组件图
交易⼦系统包含6个组件:
统一交易网关的功能主要是限流,权限校验,流量分发,需要依赖充值模块组件完成充值服务,需要依赖消费模块完成消费交易,需要依赖交易查询模块完成交易的查询,是⼦系统1的核⼼组件,⽤户所有交易请求主
要通过该组件完成。
3.1.1.消费场景模块组件时序图
版权声明: 本文为 InfoQ 作者【刘志刚】的原创文章。
原文链接:【http://xie.infoq.cn/article/d40ab9691f4598bcc269289b2】。文章转载请联系作者。
评论