食堂就餐卡系统 UML 设计
架构设计文档
1 设计概述
食堂就餐卡系统是为消费者、服务员、管理员提供服务的系统
1.1 功能概述
系统主要功能包括:注册、注销、充值、消费、账单,使用者包括:消费者、服务员、管理员。
1.2 非功能约束
系统未来一年用户量达到1万、每秒支付1000笔
一、性能约束
查询性能目标:平均响应时间 < 100ms。
支持并发用户数:2000.
TPS 达到 1000
QPS达到 100
二、可用性约束
1、系统可用性达到:99.999%
2、数据库服务的可用性> 99.99999%
三、安全性约束
1、用户的密码等敏感信息必需不可逆加密算法存储在DB。
2、数据库服务的访问必须做安全限制(访问限制、用户登录信息加密)。
3、使用HTTPS确保web数据传输的安全性。
4、能抵御50G的DDOS攻击。
2 系统部署图与整体设计
系统上线时预计部署4台ECS服务器,5个子系统。
2.1 系统部署图
上图部署图考虑到设计的性能要求和支持的用户数把系统拆分成了多个服务,如果用户数不多可以设计成单体架构,即可以把充值中心、支付中心、、、等服务做成web-server的组件模块。
1、user 为客户端通常为浏览器、小程序、APP等
2、web-server、充值中心、支付中心、客户管理 直接、间接的对外提供就餐卡的各项服务:
2.1、就餐卡(客户)的注册、注销。
2.2、就餐卡的充值服务。
2.3、就餐卡余额和消费记录、充值记录的查询。
2.4、就餐时的刷卡消费服务。
3、db-server 提供就餐卡系统运行中产生的数据持久化处理服务。
2.2 就餐卡系统的时序图
客户注册时web-server发送注册消息给客户管理服务,客户管理接收到消息后处理注册任务,然后发送注册结果消息给web-server。
客户给就餐卡充值时,web-server发送客户状态校验消息给客户管理子系统,返回正常的话继续发送充值消息给充值子系统,然后充值子系统处理充值并结果消息发送回给web-server。
客户进行刷卡消费时,web-server发送客户状态校验消息给客户管理子系统,返回正常的话继续发送支付消息给支付子系统,然后支付子系统处理充值并结果消息发送回给web-server。
客户进行查询余额等业务时,web-server发送查询消息给db-server,然后db-server处理后把结果消息发送回web-server。
2.3 就餐卡系统用例图
3 客户管理子系统设计
客户管理子系统主要功能职责是查询客户状态、注册、注销客户,其中主要包括了查询组件、注册组件、注销组件。
3.1 组件图
客户管理子系统一共包含4个组件:
查询组件主要负责查询跟客户有关的信息查询。
注册组件主要负责新客户的注册。
注销组件主要负责老客户的注销。
以上三个组件都依赖DAO组件去操作DB。
版权声明: 本文为 InfoQ 作者【简简单单】的原创文章。
原文链接:【http://xie.infoq.cn/article/1436bc03669b9bff177c85204】。文章转载请联系作者。
评论