食堂就餐卡系统设计
1 设计概述
食堂就餐卡系统是一个连接消费者、服务员和管理员的就餐卡管理使用平台,承担着消费者的饮食消费、服务员的收银工作、管理员的统一管理等目标任务。
1.1 功能概述
系统主要功能包括注册、缴费、余额扣除、消费数据统计及打印,使用者包括消费者、服务员和管理员。
1.2 非功能约束
系统未来预计一年用户量达到10W,日订单量达到3000。
1. 查询性能目标:平均响应时间<300ms,95%响应时间<500ms,单机TPS>100;
2. 下单性能目标:平均响应时间<800ms,95%响应时间<1000ms,单机TPS>30;
3. 系统核心功能可用性目标:>99.99%;
4. 系统安全性目标:系统可拦截XSS、DDOS、SQL注入攻击,密码数据散列加密、客户端数据HTTPS加密,外部系统间通信签名+非对称加密;
5. 数据持久化目标:>99.9999%;
2 系统整体部署图与整体设计
如图所示,为就餐卡系统的用例图,包含系统中的所有功能与参与者。
2.1 系统部署图
如图所示,为就餐卡系统的部署图。其中:
余额系统的功能职责为接收管理系统与收款机的请求,对消费者的余额进行增加或者减少操作,部署1台服务器,实现余额修改功能。
收款机的功能职责为通过就餐卡的插入和服务员的按键输入,向余额系统请求减少玩家的余额,部署多台,实现终端输入功能。
管理系统的功能职责为监视每一笔消费记录和注册缴费,部署1台服务器,实现就餐卡管理和数据统计功能。
2.2 注册缴费场景子系统序列图
1.注册时,管理系统需要执行创建就餐卡,完成就餐卡信息保存到数据库处理,然后发送充值消息到余额系统,消息中包含充值金额和就餐卡信息。
2.3 就餐卡消费子系统序列图
1.消费者将就餐卡插入收款机中,收款机读取就餐卡中的信息。
2.服务员按键输入金额,收款机读取输入的金额信息。
3.收款机发送减少余额消息到余额系统,余额系统需要减少就餐卡中的余额,完整数据库更新操作,然后返回结果。
3 余额系统设计
余额系统的主要功能职责是保存就餐卡的余额信息和修改余额,其中主要包含了余额查询、余额修改、数据库组件。
3.1 余额系统组件图
余额系统包含3个组件:
余额查询组件的功能主要是查询就餐卡的余额信息,需要依赖数据库组件完成。
余额修改组件的功能主要是修改就餐卡的余额信息,需要依赖余额查询组件和数据库组件完成,是余额系统的核心组件,管理系统和收款机的余额操作请求主要通过余额修改组件完成。
数据库组件的功能主要是持久化余额信息,余额查询组件和余额修改组件均依赖数据库组件。
3.1.1 减少余额组件序列图
对于减少余额,首先余额修改组件收到收款机的消息减少余额,然后余额修改组件调用余额查询组件的查询余额方法,余额修改组件获取到余额后根据消息减少余额,然后余额修改组件调用自身的保存余额方法保存结果。
4 管理系统设计
管理系统的主要功能职责是注册缴费和监视消费,其中主要包含了注册组件、充值组件、消费记录组件。
4.1 管理系统组件图
管理系统包含3个组件
注册组件的功能主要是就餐卡的信息注册。
充值组件的功能主要是就餐卡的缴费处理。
消费记录组件主要是监视消费情况和打印统计数据。
4.1.1 注册缴费场景组件序列图
对于注册缴费,首先注册组件收到用户消息注册缴费,注册组件调用自身的注册方法,然后将注册的新就餐卡信息保存入库,然后注册组件调用充值组件的充值方法,保存充值记录到消费记录组件。
版权声明: 本文为 InfoQ 作者【hellohuan】的原创文章。
原文链接:【http://xie.infoq.cn/article/7fd6b5b52c5cf661e2c4f15a7】。文章转载请联系作者。
评论