补充规约
目标
本补充规约列出了不便于在用例模型的用例中获取的系统需求。
审计和控制
- 订单下单审计:考虑到避免顾客误点下架菜式与特殊菜式或者选错数目等情况,所有的顾客订单需要商家管理员审核后才推送至后厨备货;
- 订单结算审计:避免顾客吃“霸王餐”,服务员或收银员需要核对顾客订单在线上完成支付后,才允许顾客离店并更新订单状态为“已完成”;
- 营业额审计:商家管理员可以在后台按时间跨度筛选不同时期的所有订单的金额并计算营业额。
可用性
- 多主机负载均衡:考虑到点餐系统可能因为特殊情况宕机,本系统将同时在多台服务器中运行,并留有备份服务器,通过负载均衡算法分发请求,减轻服务器压力或在故障时后台自动切换至可用服务器;
- CDN加速:菜品介绍中包含菜式图片等静态文件,本系统将静态文件数据通过CDN(内容分发网络)发送到顾客的客户端,由CDN保障以上文件的可访问,以确保顾客可以快速且可行的看到菜品介绍。
易用性
- 直截了当:注重用户的可读性和可编辑性,通过明确的文字和按钮帮助用户触摸点餐,实现高效可学习的人机交互;
- 避免出现错误:在关键的步骤(如点餐下单)增加确认的提示,或者异常的操作(订餐的数量过大)以避免用户误操作;
- 即时反应:在交互前给出反馈,解决易发现性的问题。如顾客搜索菜品时,搜索结果的简要内容以列表形式显示于搜索栏下;顾客下单后告知商家审核进度,并自动更新点餐的状态,确保顾客第一时间了解点餐是否成功的情况。
备份
- 业务数据热备份:点餐系统的订单数据是最重要的商业数据,本系统由主-从数据库负责数据的增删查改。其中订单的增删改使用主数据库操作,并实时同步到从属数据库。所有的读操作皆通过从属数据库完成。
- 定期冷备份:点餐系统每日定时(凌晨)对数据库进行完整备份,存储备份到服务器的储存介质中,商家也需要定期从备份服务器下载备份数据到商家本地的电脑中以降低数据丢失风险。
认证
- 顾客依赖手机认证:为了实名登记就餐的顾客,所有的顾客都需要使用手机短信验证码的方式认证登录后才可以就餐,可有效降低顾客吃“霸王餐”的风险;
- 商家职员依赖账号认证:商家所有的员工都凭借商家管理员在后台注册的账号登录系统,离职员工的账号由管理员操作过期作废。
兼容性
- 系统多平台兼容:商家端的操作界面以Web界面为主,只需要一个现代化浏览器即可使用,兼容Windows、macOS、Linux等多个系统平台。自适应的布局设计支持多种尺寸的屏幕显示。
性能
本点餐系统需要支持为单个餐厅商家同时服务200个顾客,每个操作的反应时间都需要在500毫秒以内。
易部署与可扩展性
本点餐系统已封装为Docker镜像(image),可以直接在Docker容器中“一键”部署运行,直接加入负载均衡中即可。业务高峰期后可以释放一部分容器资源,降低服务器运营成本。
网络拓扑
根据商家的实际需求,点餐系统可以选择部署至公有云平台或餐厅内部的私有云中。
隐私权
本点餐系统的数据需要商家超级管理员的权限才可以访问。权限管控机制限制所有用户的可访问内容,确保顾客只能访问到自己相关的数据,服务员只能访问到当前营业时未完成的订单数据,后厨只能访问到未制作完成的菜品订单。顾客的隐私数据只有极少数权限的用户可以访问。
数据库的备份将使用密码加密存储,只有拥有密码的管理员可以解密读取备份的数据。
价格
本点餐系统可以运行在多平台上,通过Docker容器部署运行,Node.js的服务器软件不需要占用大量的系统资源。本系统可以直接运行在单机服务器中,适用于小规模的商家。亦可以以云服务的形式,由服务商提供公有云的服务形式提供餐厅商家使用,降低商家使用的成本。
软件可移植性
本点餐系统中各个模块遵循“低耦合,高内聚”的思想,可以被其他类似的软件系统重用。
开放源代码
本点餐系统开发与部署所使用的模块与软件均开放源代码,并开源协议支持商业非开源使用(如:MIT License),以减少版权争议等法律相关的风险。
法律问题
- 商家在菜单展示的商品信息必须准确属实,并对于顾客提出的有权知悉的情况的问题,应予以及时告知,不可以隐瞒欺骗
- 顾客可以在本点餐平台上自主选择菜品,不允许强制捆绑销售的功能;
- 本点餐系统平台保证在价格计算方面不会出现计量失误;
- 顾客在符合要求的情况下,可以申请取消订单,已付款的顾客可以申请退款;
- 对于订单的详情,本平台会予以详细准确永久性不可篡改的记录。