第一周:架构师训练营作业
作业一:食堂就餐卡系统设计
系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。
使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。
管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。
请设计系统用例图,组件图,组件时序图,部署图。
系统用例图
系统用户角色一共分为:消费者、服务员、管理员三个角色。
1.设计概要
食堂就餐卡系统是一个解决食堂就餐消费信息化的系统,可以为食堂提供快捷的收银服务,极大的提升食堂服务效率。
1.1.功能概述
系统主要功能包括:管理员通过该系统完成,消费者开卡、充值缴费、查询消费记录、打印消费报表、管理服务员。
服务员通过该系统完成收银操作。
消费者:可以通过该系统查询余额、支付操作。
1.2.非功能约束
2.系统部署图与整体设计
系统上线时预计部署2台物理机,每台服务器都各自部署一套就餐卡管理系、一套Mysql数据库;一台用生产使用,另一台做为备份使用。
2.1. 系统部署图
就餐卡管理系统负责
1、接入收款机:响应收银机、查询余额、消费扣款
2、负责消费者信息管理、充值缴费、查询消费明细、服务员管理等功能。
由Mysql1与Mysql2构成双Master架构。Mysql1负责就餐卡管理系统数据存储, Mysql2负责对就餐卡管理系统数据进行备份冗余防止主服务器宕机后,可快速恢复。
3.就餐卡管理系统设计
3.1.就餐卡管理系统组件图
收银组件主要功能负责接入收银机:响应扣款指令并返回消费卡余额、响应查询余额指令。
账户组件主要功能负责消费者账户开户、充值、扣款等操作。
记账组件主要功能负责记录消费记录、充值记录、查询消费明细等操作。
3.1.1.消费扣款场景组件时序图
对于消费扣款场景,首先收银组件收到用户消息收款指令,收银组件调用账户组件查询余额方法,如果消费卡余额充足则调用账户组件扣款操作,账户组件更新消费卡余额成功后返回成功状态及当前余额并异步调用记账组件记录消费明细信息。
版权声明: 本文为 InfoQ 作者【Bruce Xiong】的原创文章。
原文链接:【http://xie.infoq.cn/article/56684e3a6a962fd2723f0bb4a】。未经作者许可,禁止转载。
评论