极客时间架构师训练营 - week1 - 作业 1
作业一:食堂就餐卡系统设计
* 系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。
* 使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。
* 管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。
请设计系统用例图,组件图,组件时序图,部署图。
设计概述
功能描述
食堂就餐卡系统是服务于学校师生就餐的综合业务系统,承担着食堂就餐管理的功能。系统的主要功能包括注册发卡、就餐消费、流水统计等。使用者主要包括就餐的师生、服务员(打饭大叔/阿姨)、系统管理员。
非功能约束
系统预计上线后有4w注册用户,日均消费流水记录量达10w,消费系统最大并发约100次/秒。
消费/充值性能指标:平均响应时间<500ms, 95%响应时间<800ms;
查询性能目标:平均响应时间<300ms, 95%响应时间<500ms;
统计性能目标:平均响应时间<800ms,95% 响应时间<1000ms;
系统核心功能(消费/充值)可用性目标>99.97%;
系统安全性⽬标:系统可拦截常见网络攻击,密码数据散列加密,客户端数据Https加密,外部系统间通信采用对称加密;
数据持久化⽬标:>99.99999%。
系统用例图
系统角色主要包括消费者,服务员和管理员。其关系如下图所示。
系统部署图与整体设计
系统部署图
如上图所示,系统由刷卡机客户端、用户注册系统、消费/充值服务端、流水统计系统与数据库组成。
系统上线时,需要四台服务器,其中服务器1用作数据库,服务器2和3分别部署一套服务端程序(消费/充值服务端、用户信息系统和流水统计系统),服务器4上部署nginx,部署管理端的页面,做负载均衡。
系统组件图
组件时序图
消费时序图
管理时序图
版权声明: 本文为 InfoQ 作者【jjn0703】的原创文章。
原文链接:【http://xie.infoq.cn/article/0444c1abce62489e46c87b115】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论