【架构训练 Week01 作业】食堂就餐卡系统设计

用户头像
Rex
关注
发布于: 2020 年 06 月 10 日

食堂就餐卡系统设计

1 设计概述

  • 食堂就餐卡系统是一个供消费者用餐付费,以及供食堂管理员管理就餐卡的系统。是打入餐饮软件市场战略的核心系统,承担着公司的年盈利3000w的目标。

1.1 功能概述

  • 系统的主要功能包括刷卡付费(下单)、查看就餐卡余额、查询付费订单的详细信息,以及统计用户消费情况。使用者包括有用餐需求的消费者、食堂管理员。

  • 功能需求用例图



1.2 非功能约束

  • 刷卡扣费平均响应时间 < 500ms, 90%响应时间 <800ms

  • 系统可用性目标:>99.9%

2 系统部署图与整体设计

  • 预计系统上线时需要8个容器服务器节点,整个系统有5个子系统组成,其中订单子系统的“Web客户端”与就餐卡读卡器交互

2.1 系统部署图



  • 订单子系统,职责是为客户端组件提供查询和下单接口、为管理后台提供统计查询接口等,需要部署2个容器节点。

  • 通知中心子系统,职责为给用户发通知消息,包括短信和邮件消息等,需要部署2个容器节点。

  • . . .



2.2 订单子系统序列图



  1. 消费前,读卡器先读取就餐卡的ID,及其余额信息

  2. 消费时,先通过读卡器更新卡余额信息,之后通知服务端,最后由服务端异步调用通知子系统,以进行消息下发

  3. 服务端异步处理通知财务系统

2.3 订单场景系统活动图



  1. 消费前,读卡器先读取就餐卡的ID,及其余额信息

  2. 消费时,先通过读卡器更新卡余额信息,之后通知服务端,最后由服务端异步调用通知子系统,以进行消息下发。

  3. 服务端异步处理通知财务系统

3 订单子系统设计

3.1 订单子系统组件图



  • 子系统包含2个组件:订单组件、支付组件、退款组件

1. 订单服务组件,主要包括刷卡消费(下单)、查看订单信息功能等,是该子系统的核心组件,它依赖于支付组件。

2. 支付组件,主要实现了交易功能,包括消费交易和充值交易。

3. 退款组件,主要实现了对订单进行退款功能



3.2 订单组件设计

3.2.1 订单类图



  1. 用户User类与Order订单类是一对多的关联关系

  2. Order订单类与支付交易Transaction类是一对一的关联关系

  3. 用户User类与用户余额UserBalance类是一对一的关联关系

  4. 用户余额UserBalance对象的变更,是依赖于支付交易类的,包括缴费、退款和消费类交易。

3.2.2 订单状态图

订单对象运行时可能有6种状态



3.3 TODO ...



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

Rex

关注

还未添加个人签名 2018.06.14 加入

还未添加个人简介

评论

发布
暂无评论
【架构训练Week01作业】食堂就餐卡系统设计