写点什么

极客时间架构师训练营 - week1 - 作业 1

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

作业一:食堂就餐卡系统设计

* 系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。

* 使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。

* 管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。

请设计系统用例图,组件图,组件时序图,部署图。

  • 设计概述

  • 功能描述

食堂就餐卡系统是服务于学校师生就餐的综合业务系统,承担着食堂就餐管理的功能。系统的主要功能包括注册发卡、就餐消费、流水统计等。使用者主要包括就餐的师生、服务员(打饭大叔/阿姨)、系统管理员。

  • 非功能约束

系统预计上线后有4w注册用户,日均消费流水记录量达10w,消费系统最大并发约100次/秒。

消费/充值性能指标:平均响应时间<500ms, 95%响应时间<800ms;

查询性能目标:平均响应时间<300ms, 95%响应时间<500ms;

统计性能目标:平均响应时间<800ms,95% 响应时间<1000ms;

系统核心功能(消费/充值)可用性目标>99.97%;

系统安全性⽬标:系统可拦截常见网络攻击,密码数据散列加密,客户端数据Https加密,外部系统间通信采用对称加密;

数据持久化⽬标:>99.99999%。

  • 系统用例图

  • 系统角色主要包括消费者,服务员和管理员。其关系如下图所示。



  • 系统部署图与整体设计

  • 系统部署图



如上图所示,系统由刷卡机客户端、用户注册系统、消费/充值服务端、流水统计系统与数据库组成。

系统上线时,需要四台服务器,其中服务器1用作数据库,服务器2和3分别部署一套服务端程序(消费/充值服务端、用户信息系统和流水统计系统),服务器4上部署nginx,部署管理端的页面,做负载均衡。

  • 系统组件图

  • 组件时序图

  • 消费时序图



  • 管理时序图



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

jjn0703

关注

Java工程师/终身学习者 2018.03.26 加入

USTC硕士/健身健美爱好者/Java工程师.

评论

发布
暂无评论
极客时间架构师训练营 - week1 - 作业1