基于 UML 的食堂就餐卡系统设计
1 设计概述
食堂就餐卡系统是采用现代信息识别技术(如感应式智能卡式读写技术)和自动控制技术实现的,能够提升食堂的信息化水平,帮助食堂提高管理效率的计算机网络系统。每个消费者都有一张储值卡,在管理中心注册缴费,卡内记载着消费者的身份、账户余额。消费时,消费者将储值卡插入窗口机,窗口机自动显示卡上金额。服务员按窗口机上数字键,窗口机自动计算并显示消费额及余额。管理中心可随时监视每一笔消费。管理中心的计算机可以打印出消费情况的各种相关统计数据,如食堂每个窗口的就餐人次、销售额等。食堂就餐卡系统具有下列优点:
(1) 使用储值卡,消费者和服务员免去现金或票据结算的繁琐,加快了交易速度;
(2) 人手一张储值卡,清洁卫生,不会引起交叉感染;
(3) 服务员不接触现金或菜票,杜绝不廉洁行为发生;
(4) 由管理中心统一发行储值卡,统计销售情况,打印报表,管理者随时掌握情况;
(5) 丢卡后及时挂失,别人无法冒用;
(6) 储值卡可反复使用,用完后再充钱,每次都记录在案;
(7) 消费者先买卡后就餐,可为食堂先储备流动资金,降低经营成本。
1.1 功能概述
用例建模技术,用于描述待开发系统的功能需求。下用将用用例模型来描述"食堂就餐卡系统"的主要功能。
系统的使用者主要包括:消费者、收银员、系统管理员。
1.1.1 消费者用例图
从消费者的角度看,系统主要有以下功能:
注册:消费者到管理中心进行注册缴费开卡
充值:消费者到管理中心充值储值卡
查询储值卡余额:消费者可到管理中心或指定的终端设备上查询储值卡余额
挂失:当消费者储值卡丢失,可对卡片进行挂失,卡片挂失后,将不能在窗口机上使用
查询消费记录:消费者可到管理中心查询本人的消费记录
1.1.2 收银员用例图
从收银员的角度看,系统主要有以下功能:
登录:收银员只有在窗口机上通过用户名密码登录之后,才能使用窗口机进行收款
收款:消费者将储值卡插入窗口机,窗口机自动显示卡上金额。服务员按窗口机上数字键,窗口机自动计算并显示消费额及余额。
交班:收银员每天下班时,需要在窗口机查看当天收款情况,确认无误后进行交班操作。交班后,收银员必须重新登录才能用窗口机进行收费
查看收款记录:收银员可以在窗口机上查询当天的收款记录。
1.1.3 系统管理员用例图
从系统管理员的角度看,系统主要有以下功能:
登录:系统管理员只能通过用户名密码登录系统后才能使用管理中心系统的功能
修改密码:系统管理员可以修改自己的登录密码
系统参数设置:被授权的系统管理员可以设置系统运行的相关参数
人员管理:被授权的系统管理员可以管理(查看、增加、修改)本包括系统涉及的所有用户,包括消费者、收银员、系统管理员等的资料信息
权限管理:被授权的系统管理员可以设置相关人员的功能操作权限。
储值卡开卡:被授权的系统管理员可以为消费者开卡
储值卡充值:被授权的系统管理员可以给消费者的储值卡进行充值
储值卡挂失:被授权的系统管理员可以登记消费者储值卡的挂失信息,并把储值卡的状态置为"挂失中",挂失中的储值卡将不能进行消费。
储值卡补卡:被授权的管理员可以为已挂失的消费者进行补卡
储值卡解挂:被授权的管理员可以对已挂失的储值卡进行解挂操作
储值卡退款:被授权的管理员可以对还有余额的储值卡进行退款操作
查询消费记录:被授权的管理员可以查询每一笔消费记录
查询统计报表:被授权的管理员可以按多种维度(消费时间、消费窗口等)查询消费统计数据。
设备管理:被授权的管理员可以管理接入系统的每一台设备,设置设备的相关参数
1.2 非功能约束
非功能性需求,是指软件产品为满足用户业务需求而必须具有除功能需求以外的特性,包括安全性、可靠性、健壮性等。食堂就餐卡系统的非功能性需求主要有以下几点:
数据传输采用加密、校验,提高安全性和可靠性,消费记录实时上传
故障时进入记账模式,消费记录加密存储在存储器,并能将数据上传到数据库
对系统操作员的每一步操作进行日志记录,方便查询
对非本系统的卡以特殊提示信息显示,可靠保障系统的安全性。
系统中的金额保留小数点后2位。
收款响应时间不应超过3s,若超过3s,须提示收款超时信息,并重新进行收款操作。
查询响应时间不应超过5s,若超过5s,须提示查询超时信息。
系统须定时备份数据和对账。
2 系统部署图与总体设计
系统上线时预计需要部署6台物理机,1台应用网关服务器,3个子系统,2台数据库服务器(主从架构),和外部第三方一个系统交互。
2.1 系统部署图
网关的职责为权限控制、路由分发请求,部署1台服务器,实现负载均衡、权限控制等功能。
交易中心子系统的职责为提供交易服务,部署1台服务器,实现储值卡开卡、充值、消费、消费记录等功能。
管理中心子系统的职责是系统的管理中心,部署1台服务器,依赖数据中心子系统和交易中心子系统,实现人员管理、权限管理、设备管理、系统参数设置、权限管理、消费数据查询统计等功能。
数据中心子系统的职责是对数据进行统计分析,按多种维度生成统计数据报表,依赖交易中心子系统,部署1台服务器。
数据库服务器的职责是存储数据,部署2台服务器,一主一从,从数据库定时从主数据库同步数据,出现故障时主从数据库角色可互相切换,防止数据库出现单点故障,影响系统正常运行,另外,多份数据副本也能防止数据丢失或数据被恶意篡改。
2.2 开卡场景子系统时序图
管理员根据消费提供的资料信息提交开卡请求;
管理中心子系统从交易中心子系统查询该消费者是否已经建立储值卡账户
如果储值卡账户已建立,提示储值卡账户已存在
如果储值卡账户未建立,交易中心子系统创建储值卡账户
管理中心子系统制作储值卡
制卡成功,开卡流程完成。
2.3 充值场景子系统时序图
管理员提交消费者的充值请求
检查储值卡账户状态,如果状态异常,提示充值失败信息
如果充值卡账户状态正常,交易中心子系统进行充值操作
如果充值成功,返回充值成功的消息
读写卡设备刷新储值卡信息
打印充值小票
2.4 消费场景子系统时序图
消费者把储值卡插入窗口机中
窗口机识别卡片是否有效
如果卡片识别失败,报警提示
如果卡片识别成功,收银员输入收款金额
输入收款金额完毕后,向交易中心发起扣款请求
交易中心返回扣款结果
消费者取出卡片
交易中心子系统向数据中心子系统推送消费记录
2.5 退款场景子系统时序图
管理员提交消费者的退款请求
检查储值卡账户状态,如果状态异常,提示退款
如果储值卡值账户状态正常,交易中心进行退款操作
如果退款成功,返回退款成功的消息
如果退款成功,作废该储值卡,储值卡作废后将不能再使用
3 交易中心子系统设计
交易中心子系统的主要职责是提供交易服务,实现储值卡开卡、充值、消费、消费记录等功能,其中包含了账户管理组件、权限控制组件、交易检验组件、对账组件、账单组件、预警组件等。
3.1 交易中心子系统组件图
交易中心子系统包含6个组件
账户管理组件主要功能是储值卡账户开户、挂失、解挂、作废、冻结
交易校验组件主要功能是校验每一笔交易的合法性
权限控制组件主要功能是检查窗户机或收银员是否有操作权限
账单组件主要功能是生成账单、账单查询、导出等
交易主要主要功能是提供充值、消费等功能,依赖于账户管理组件、交易校验组件、权限控制组件、账单组件
预警组件主要功能是识别、预警高风险交易并进行干预处理,依赖于交易组件、交易校验组件、权限控制组件
3.2 消费场景组件时序图
发起交易
检查窗口机是否有交易权限
检查储值卡账户状态
检查交易合法性
如果交易合法且有权限,调用账户管理组件,对相关账户进行操作
交易成功,调用账单组件生成账单
4 管理中心子系统设计
管理子系统是系统的管理中心,包含人员管理、系统管理、权限管理、卡片管理和交易管理5个组件。
4.1 管理中心子系统组件图
人员管理组件主要功能是管理系统使用者的个人资料和登录账号信息
系统管理组件主要功能是系统参数设置、系统初始化等
权限管理组件主要功能是为相关人员设定管理权限
卡片管理组件主要功能是对储值卡进行统一管理,包括开卡、挂失等操作
交易管理组件主要功能是查询或导出交易信息
5 数据中心子系统设计
数据中心子系统由一系列统计分析数据的组件组成,对消费者交易数据进行统计分析
版权声明: 本文为 InfoQ 作者【王海】的原创文章。
原文链接:【http://xie.infoq.cn/article/b13171af684731a583fa9804a】。文章转载请联系作者。
评论