写点什么

【练习】食堂就餐卡系统设计

用户头像
张金峰
关注
发布于: 2020 年 06 月 10 日
【练习】食堂就餐卡系统设计

1 设计概述

在企业或学校等组织中,为了解决员工或学生就餐,需要提供食堂。在很多组织中,食堂是承包给外部承包商的,企业希望能够帮员工每个月统一充钱,作为饭补。在学校中,学生可以自己往就餐卡中充钱来进行消费。组织可以统一和食堂承包商进行结算。而且就餐卡交易方式可以有效提高就餐中的交易效率,避免员工直接接触钱。

 

我们需要设计食堂就餐卡系统来解决上述场景需求。

1.1 功能概述

食堂就餐卡系统主要功能包括注册编辑就餐卡信息、读取就餐卡信息、记录交易流水、交易流水统计,打印统计信息。使用者包括系统管理员、消费者、服务员。

1.1.1 管理中心用例图

在管理中心场景下,主要包含如下功能:

  • 管理员可以使用系统设置的密码登录

  • 管理员可以登出系统

  • 管理员可以对消费卡进行查询

  • 管理员可以对消费卡进行充值

  • 管理员可以对消费卡进行扣钱

  • 管理员可以注册消费卡

  • 管理员可以注销消费卡

  • 管理员可以查看一消费卡交易流水

  • 管理员可以查看消费卡统计

  • 管理员可以打印交易流水和统计

1.1.2 食堂用例图





在食堂场景下,主要包含如下功能:

  • 服务员进行消费卡查询

  • 服务员进行消费卡扣减

1.2 ⾮功能约束

在组织食堂中,用户的规模比较稳定,日订单量也比较稳定,系统使用高峰集中在三餐时。

  1. 查询性能目标:平均响应时间<300ms, 95% 响应时间 < 500ms, 单机TPS > 100;

  2. 下单性能目标:平均响应时间<800ms, 95% 响应时间 < 100ms, 单机TPS > 50;

  3. 系统核心核心可用性目标:99.97%;

  4. 系统安全目标:系统在与收款机通信使用加密协议通信,且使用加密认证激活;管理端与后台使用HTTPS协议;管理端使用密码登录,密码需要一定强度,密码数据散列加密存储;

  5. 数据持久化目标:99.9999%;

2 系统部署图与整体设计

系统上线时预计部署1台物理机,3个⼦系统。

2.1 系统部署图





前端子系统的职责是为管理中心网站后台提供前端管理页面,登录认证,维持session,向就餐卡子系统请求数据用于前端展示。部署1台服务器。依赖就餐卡子系统。



收款机子系统的职责是为收款机终端提供连接认证,并为收款机终端提供需要的接口从就餐卡子系统聚合数据。部署1台服务器,依赖就餐卡子系统。



就餐卡子系统的职责是集中管理就餐卡信息及生命周期,其中包含就餐卡的信息查询、编辑。就餐卡流水的记录及相关统计。

2.2 注册消费卡场景下子系统序列图





  1. 注册消费卡时,管理员在前端子系统提供的前端页面中录入消费卡的信息,点击保存。

  2. 前端子系统在接收到从浏览器来的请求,首先验证当前请求是否有已经存在的session。

  3. 根据管理员传入的数据,向消费卡子系统请求注册消费卡接口传入录入的消费卡信息。

  4. 消费卡子系统根据消费卡创建流程,进行创建。并返回注册结果。

  5. 前端子系统根据消费子系统返回的结果组装出前端需要的接口数据返回给管理员。

2.3 扣钱场景下子系统序列图

  1. 扣钱时,服务员通过收款机输入扣减金额,收款机生成扣款订单,并向收款机子系统发出请求。

  2. 收款机子系统在收到请求,首先进行收款机请求有效性验证。

  3. 收款机子系统想就餐卡子系统发出扣款订单请求。

  4. 就餐卡子系统处理扣款订单请求,并返回结果。

  5. 收款机子系统根据返回结果,通过转码向收款机返回结果。

  6. 收款机向服务员展示扣款结果。

3 就餐卡子系统设计

就餐卡子系统的主要职责是管理就餐卡账户信息及记录统计相关订单信息。其中主要包含了账户和订单组件。

3.1 就餐卡子系统组件图

就餐卡子系统包含以下2个组件:

账户组件的功能主要是管理就餐卡的账户相关的信息及生命周期,包含就餐卡的注册,注销和编辑。是就餐卡子系统的核心组件,管理员及服务员对就餐卡的关于账户相关的请求都是该组件完成。



订单组件的功能主要是对订单流水的记录和统计,需要依赖账户组件完成订单中账户相关信息的补全。是就餐卡子系统的核心组件,管理员对订单流水的查询及统计请求由该组件完成。

3.1.1流水统计场景下组件序列图

  1. 订单组件收到外部的流水统计请求。

  2. 订单组件需要到账户组件获取账户相关信息

  3. 账户组件根据请求返回账户信息

  4. 订单组件根据统计需求,统计数据

  5. 订单组件组合数据返回结果



发布于: 2020 年 06 月 10 日阅读数: 73
用户头像

张金峰

关注

还未添加个人签名 2017.11.23 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
部署图要考虑物理关系,参考http://www.uml.org.cn/appCase/200701244.asp
2020 年 06 月 14 日 10:14
回复
没有更多了
【练习】食堂就餐卡系统设计