软件架构设计方案实战
思考:
基于用例图、组件图,以及部署图,实现食堂就餐卡系统架构设计。
业务场景如下:
(1)系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额;
(2)使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额;
(3)管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。
针对软件架构需求,软件设计解决方案如下。
1、系统设计概述
食堂就餐卡系统提供消费者高效快捷就餐服务,实现消费结算自动化功能,也是企业获取大量现金流实现快速盈利结算的目标。
1.1 功能概述
主要功能为消费者具有就餐卡,通过就餐卡实现就餐金额消费结算的自动化功能。同时,系统为管理员提供监控功能,使用者主要为消费者、服务员、管理员。
1.2 非约束功能
系统上线运行,预计能够支撑一年用户量达到上万人,日订单量顶峰达到十几万。
消费查询性能⽬标:平均响应时间<300ms,95%响应时间<500ms,单机 TPS>100;
消费结算性能⽬标:平均响应时间<800ms,95%响应时间<1000ms,单机 TPS>30;
系统核⼼功能可⽤性⽬标:>99.97%;
系统安全性⽬标:系统设计构建区域局域网,主要防止就餐卡破坏造假,防止有人恶意连接系统,窃取和修改用户数据;
数据持久化⽬标:>99.99999%。
2、系统用例图与整体设计
系统主要功能如下:
系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额;
使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额;
管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。
主要角色为消费者、服务员、管理员。
2.1 系统用例图
消费者具有注册、充值、注销、消费等场景;
服务员具有消费、结算等场景;
管理员具有监控、打印、结算等场景。
3、系统部署图与整体设计
系统上线预计部署 7 台机器,4 个子系统,消费者进行就餐卡充值与微信和支付宝支付系统交互。
3.1 系统部署图
就餐卡交互系统,主要用于消费者就餐消费结算,就餐卡插入收款机,服务员输入数字,自动结算,系统预计部署 4 台机器。
管理系统,主要负责消费者注册缴费和充值,以及管理员监控消费数据功能。部署 1 台机器,辅助打印机,打印用户消费记录数据。
消费系统,统一负责用户消费数据更新,并提供安全风控功能,部署 2 台服务器集群。
数据库系统,持久化存储数据,提供数据查询,采用主从模式进行数据备份和读写分离。
4、就餐卡交互系统设计
主要负责消费者就餐卡插入,显示余额,以及服务员输入消费金额,确认消费功能。
4.1 就餐卡交互系统组件图
就餐卡传感组件,用于读取就餐卡用户信息。
窗口组件,用于控制设备显示用户信息以及消费数据。
收款机程序,用于消费者就餐消费结算,并最终通过远程通信,与后端系统进行交互,得出消费结果。
5、管理系统设计
主要负责消费者注册缴费和充值,以及管理员监控功能。
5.1 管理系统组件图
就餐卡传感组件,用于读取就餐卡用户信息,便于用户充值。
窗口组件,用于控制设备显示用户信息。
管理中心程序,主要负责用户注册缴费以及充值服务。
打印机组件,用于打印消费者消费记录
6、用户消费计算系统设计
用户消费计算系统具体实现用户消费结算、注册缴费、消费监控等功能,实现程序统一控制。
6.1 用户消费计算系统组件图
负载均衡组件,用于控制分配消费者消费请求,降低单台服务器压力,提高系统性能。
就餐结算与控制程序,具体实现系统核心功能如用户注册缴费、消费结算、数据监控等。
第三方支付组件,用于用户注册缴费和充值金额时调用第三方接口,实现金额扣款。
数据库程序,用于存储用户信息以及消费记录。
评论