架构师训练营第一周命题作业
食堂就餐卡系统架构设计文档
1 设计概述
食堂就餐卡系统是一个在线信息管理系统,旨在建立方便快捷的食堂就餐支付环境。
1.1 功能概述
该系统中每个系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。
使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。
管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。
1.2 用例图
2 系统部署图与整体设计
2.1 系统部署图
该系统由如上四个子系统构成:
读卡器子系统为单片机,需要在每个结算窗口和每个管理员窗口配置一台,实现读取与写入就餐卡并与PC机交互的功能。
客户端子系统为PC机,需要在每个结算窗口和每个管理员窗口配置一台,实现与读卡器的交互并发送HTTP请求给HTTP服务器结点的功能。
服务器子系统使用云服务器,根据用户量配置,实现处理HTTP请求并根据请求内容进行相关数据库操作。
数据库子系统使用云服务器,根据用户量配置,实现用户数据存储功能。
读卡器子系统由外部供应商提供。数据库子系统结构简单,不再赘述。下面主要介绍其余两个子系统的结构。
2.2 服务器子系统设计
2.2.1 服务器端组件图
服务器端由如上三个组件构成:
HTTP服务器组件负责建立服务器,处理HTTP请求。
数据库组件负责建立与数据库结点的连接并进行相关数据库操作。
服务器应用程序负责根据得到的HTTP请求进行业务逻辑判断并向数据库组件发送数据库操作请求。
2.3 客户端子系统设计
2.3.1 客户端组件图
客户端子系统由如上三个组件构成:
客户端UI组件负责显示余额,输入数字及操作。
读卡器组件负责读取与写入卡片信息。
HTTP客户端组件负责根据操作发送HTTP请求。
2.3.2 支付场景时序图
支付前,收银员启动系统,系统进行初始化。初始化完成之后收银员登录,若登录成功则可开始支付流程。支付时,客户端UI组件将读取卡片信息,并将卡片信息和支付信息传给HTTP服务器组件,HTTP服务器组件将进行判断并返回支付结果。
充值与支付流程大体相同,不再赘述。
版权声明: 本文为 InfoQ 作者【whiter】的原创文章。
原文链接:【http://xie.infoq.cn/article/de51f2c6f7c5d72525760d3af】。未经作者许可,禁止转载。
评论