食堂就餐系统架构设计⽂档

1 设计概述

食堂就餐卡系统是⼀个学校里面学生和老师以及其他人员就餐的系统,是公司面对学校战略的核⼼系统,承担着公司拓展学校市场的⽬标任务。

1.1 功能概述

食堂就餐卡系统主要功能包括管理中心给消费者开卡,服务员收款机查询金额,服务员收取消费金额,管理中心可以查询相关统计记录,使⽤者包括学生、老师、以及学校工作人员。常用场景如下:
* a) 系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。
* b) 使用时将卡插入收款机则显示卡上余额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。
* c) 管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。
以下为用例图,主要角色有消费者,管理中心,服务员。

1.2 ⾮功能约束

食堂就餐卡系统未来预计⼀年⽤户量达到100万,⽇订单量达到20万,⽇UV达到10万。

  1. 查询性能⽬标:平均响应时间<300m s,95% 响应时间<500m s,单机T PS>100;
  2. 下单性能⽬标:平均响应时间<800m s,95% 响应时间<1000m s,单机T PS>30;
  3. 监控性能⽬标:平均响应时间<800m s,95% 响应时间<1000m s,单机T PS>30;
  4. 系统核⼼功能可⽤性⽬标:>99.97% ;
  5. 系统安全性⽬标:系统可拦截DDDOS攻击,密码数据散列加密,客户端数据HT T PS加密,外部系统间通信对称加密;
  6. 数据持久化⽬标:>99.99999% 。

2. 系统部署图与整体设计

系统上线时预计部署100台物理机,2个⼦系统,和一个外部系统第三方支付系统交互。

2.1 系统部署图

a. 用户订单系统的功能职责为注册用户信息,用户消费,更新用户余额,部署95台服务器,实现用户注册、充值、订单消费功能,余额查询功能。
b. 数据采集系统的功能职责为查询用户消费数据,生成统计报表,部署10台服务器,依赖用户系统和订单新系统,实现订单信息和报表统计功能。
c. 第三方支付系统为外部系统,支持用户用微信、支付宝、银联等第三方支付充值。

2.2 用户充值、下单场景系统序列图

3. 用户订单系统设计

用户订单系统的主要职责是用户信息管理,订单管理,余额管理,其中主要包含了用户管理组件,订单管理组件。

3.1 用户订单系统组件图


用户管理组件的功能主要是用户信息的注册、更新、注销,余额的充值、消费。
订单管理组件,需要依赖于用户管理组件,是用户订单系统的核心组件,用户订单需要获取用户的余额,扣款成功,订单才算完成。

3.1.1 用户管理组件,用户注册、用户充值时序图

3.1.2 订单管理组件,消费者消费时序图

3.1.3 订单管理组件,消费者消费活动图

3.2 用户管理组件设计

用户管理组件的主要职责是用户注册、用户余额更新,注销,其中主要包含了用户类,用户信息管理类,用户数据库操作类。

UserController 类主要功能是对外提供用户信息操作的服务,UserController聚合了UserService;UserService实现了接口IService,IService主要是对用户增删改查的抽象,UserService把用户数据处理好后传给UserDao进行数据库入库;UserDao聚合了User对象,对用户数据进行封装。

3. 3.3 订单状态图

a) 消费者下单(订单未完成) > 到用户余额扣款 > 扣款成功 > 下单成功 > 订单完成。
b) 消费者下单(订单未完成) > 到用户余额扣款 > 扣款失败 > 下单失败 > 订单完成。

答案

老师给出了答案,还是有差距,晚点会再做一遍。
http://uml.org.cn/appCase/200701244.asp

极客大学架构师训练营--食堂就餐系统架构设计⽂档 -- 第一次作业相关推荐

  1. 极客大学产品经理训练营:业务流程与产品文档 第11课总结

    讲师:邱岳 1. 原型图 1.1 手绘图 + Scanner Pro 1.2 线框图 1.3 高保真产品图 1.4 做原型图的目的 坍缩:规划时梦到自己成了乔布斯,赶紧画个图让自己冷静冷静: 具体:具 ...

  2. 极客大学产品经理训练营:PRD 产品原型文档框架 第12课总结

    讲师:邱岳 1. PRD 产品原型文档的各种元素 PRD: Product Requirement Document 产品原型文档 基本元素(目录.标题.作者.版本.历史等). 场景描述. 需求背景. ...

  3. 极客大学产品经理训练营 产品文档和原型 作业4

    作业 [本周作业]写一个用例,挑一个:你自己的产品 / 你喜欢的产品 / [拍东西]发起拍卖/ [知识星球]加入星球/ [极客时间]购买课程: 1. 标题作者修改历史 标题:[极客时间]购买课程 作者 ...

  4. 极客大学产品经理训练营:数据分析与商业分析,商业分析到业务分析 第18课总结

    讲师:邱岳 1. 产品经理眼中的利润.成本.收入 利润 = 收入 - 成本 奶茶利润率极高,达到60%左右.但是奶茶盈利比较难. 所有买水的产品利润率都极高,比如可口可乐,咖啡,奶茶等. 案例:有个面 ...

  5. 极客大学产品经理训练营:产品文档和原型咋弄 - 流程图 第9课总结

    讲师:邱岳 1. 图的意义 流程图.活动图.时序图.状态图,本次聚焦于过程和行为描述. 提效.宏观.点睛. 梳理思路 用例:做什么? 流程图:怎么做? 2. 流程图.活动图.时序图 3. 动手画 – ...

  6. 极客大学产品经理训练营 极客时间购买课程-大作业

    1. 标题作者修改历史 标题:[极客时间]购买课程 作者 历史 时间 易筋 创建 2021-01-09 易筋 添加购买流程图6 2021-03-02 易筋 添加购买时序图7 2021-03-16 2. ...

  7. 【成为架构师课程系列】系统架构设计:非功能性目标的设计

    前言 为了提高综合客户满意度及不同质量属性的满意度,必须考虑计划和设计产品时的不同质量属性. -- Stephen H.Kan,<软件质量工程> 质量属性很难定义,但它们经常可以区分产品是 ...

  8. 阿里架构师,如何降低系统架构复杂度?

    来源:聂晓龙(率鸽) 读 A Philosophy of Software Design 有感,软件设计与架构复杂度,你是战术龙卷风吗? 01 前言 Aliware 有一天,一个医生和一个土木工程师在 ...

  9. 架构师之路 — 软件架构 — 系统架构设计模式

    目录 文章目录 目录 系统架构设计模式(System Architecture Patterns) 单体架构 分布式架构 微服务架构 Serverless 架构 系统架构设计模式(System Arc ...

  10. 极客大学产品经理训练营:业务架构与概念模型 第10课总结

    讲师:邱岳 1. 什么是状态图 系统中的概念或对象随着一些事件的发生,改变了状态,通常这个状态比较多.比较复杂时,我们需要用状态图来表示他们的边界,以及触发状态转换的活动. 2. 动手画 – 员工状态 ...

最新文章

  1. log4j在eclipse上使用简介
  2. Kaggle 年度报告出炉:数据科学家年轻多金,薪资近百万
  3. 小程序基于mpvue开发坑一
  4. Spark Job Scheduling
  5. 关键词提取_tf_idf
  6. 第四章 选择结构(二)
  7. C++函数和函数的调用
  8. 【转】Python中操作mysql的pymysql模块详解
  9. java做后台移动端QQ第三方登录
  10. 金蝶K3采购价格管控杂谈
  11. python获取本机IP
  12. [工具]Snipaste 屏幕截图软件超级利器 - 花3年精心打造的极致截图贴图/编辑/标注工具
  13. 调用腾讯云使用图像验证码
  14. Serverlet 介绍
  15. 苹果新专利获授权;谷歌因 反竞争 的安卓政策在印度被罚款;微软将很快支持编辑器校对电子邮件| 每日大事件...
  16. 闪迪u盘不能识别好办法_闪迪u盘无法识别恢复
  17. 论文研读-机器学习可视化-神经网络损失函数吸引域可视化
  18. 魔兽美服服务器维护,心得:美服12小时纯任务练级获服务器第一90级
  19. ArcGIS使用-20220617更新
  20. 项目5 子域的加入、域的删除

热门文章

  1. 10g gtx 光纤通信测试_10G以太网光口与Aurora接口回环实验
  2. python avg_Python:作用域、闭包、装饰器
  3. mysql compopr_MySql应用的基本操作语句
  4. redis删除不存在的key会报错吗_Redis哈希类型
  5. IIS 6.0 不能处理未知的 MIME 类
  6. Micropython教程之TPYBoard开发板制作电子时钟(萝卜学科编程教育)
  7. 北京协和医院付海鸿:医学精准要影像先行,影像精准就要技术先行
  8. mvc:annotation-driven /注解意义
  9. 信息安全系统设计基础_exp3
  10. 专访ThoughtWorks王磊:从单块架构到微服务架构