架构师训练营练习:食堂就餐卡系统设计

1 设计概述
食堂就餐卡系统是一个提供食堂用户进行注册、充值、消费的系统。
1.1 功能概述
系统主要功能包括注册用户、账户充值、查看余额、打印消费记录,使⽤者包括食堂的用户、食堂的服务员、管理中心的管理员。
用例图如下:

2 系统部署图与整体设计
系统上线时预计部署5台物理机,4个⼦系统。
2.1 系统部署图

用户系统的功能职责为管理食堂所有用户和充值卡信息,部署1台服务器,依赖数据库系统,实现用户的注册和充值功能。
收款系统的功能职责是为收款机提供收款功能,部署1台服务器,依赖用户管理系统,实现用户消费功能。
收款机的功能职责是为服务员提供收款功能,部署2台收款机,依赖收款系统,实现用户刷卡消费功能。
数据库系统的功能是为用户系统提供数据持久化存储功能,部署1台服务器。
2.2 注册新用户场景⼦系统序列图

用户申请注册时,用户发送申请注册的消息到用户管理系统,用户管理系统需要检查用户申请数据,然后返回注册成功消息给用户。
2.3 充值场景⼦系统序列图

2.4 查询余额场景⼦系统序列图

2.5 消费场景子系统序列图

2.6 打印消费记录场景子系统序列图

3 用户系统设计
用户系统的主要功能职责是管理用户和充值卡信息,其中主要包含了用户管理组件和充值卡管理组件。
3.1 用户系统组件

用户系统包含2个组件:
用户管理组件的功能主要是管理用户,⽤户的注册请求主要通过用户管理组件完成。
充值卡管理组件的功能主要是管理充值卡,用户充值和消费主要通过该组件完成。
版权声明: 本文为 InfoQ 作者【Shawn】的原创文章。
原文链接:【http://xie.infoq.cn/article/f90001af4fba196fe83c20385】。未经作者许可,禁止转载。
评论