餐厅点餐系统
- 项目背景和目标: 长久以来,餐饮被看做是老牌的传统行业,其经营管理和餐饮服务等基本上是依靠专门负责的人员进行手工分类和管理。面对餐饮企业继续发展的需求所带来的更复杂和苛刻的要求,人工管理的传统方式显然已经不适合了。在这种形势下,高质量、高可靠的餐厅点餐系统对于保证餐厅的日常经营活动至关重要。该系统能够克服传统人工方式的各种缺点,并且具有快速检索、高可靠、大存储、强保密性,长寿命和低成本的特点。
餐厅点餐系统能够在极大程度上提高餐厅管理的效率,也是餐厅规范化经营和正规化管理的必要条件。待开发的餐厅点餐系统针对的就是餐饮企业的实际需求,结合软件工程的指导原则和面向对象的方法,最终获得一个完整的、符合餐厅需求的点餐系统。
- 功能概述:
本系统需要服务顾客、餐厅服务员和餐厅老板。下面分别就这三类服务对象分别进行说明:
顾客 (1) 查看菜品 可以查看当前餐厅提供的所有菜品,包括菜品名字、菜品图片、菜品介绍、菜品推荐度、菜品评价等信息以及当日推荐菜和餐厅招牌菜等。默认展示的为菜品名字、菜品图片和菜品推荐度(系统自动根据近一个月顾客点菜情况给出推荐度),顾客点击菜品名字或图片会进入菜品介绍的界面,方便查看进一步的菜品信息。 (2) 搜索菜品 可以根据条件搜索当前餐厅提供的菜品。搜索的条件包括:菜品名字和菜品推荐度,支持部分匹配搜索和混合条件搜索。如果满足顾客搜索条件的菜品无法找到,则为顾客显示当日推荐菜和餐厅招牌菜。 (3) 初始点菜 可以进行初始的点菜操作。顾客可以通过增减菜品数量、选择菜品做法的操作将相应的菜品加入到点菜列表里,并且顾客可以及时查看点菜列表、增减菜品、修改菜品做法。系统会为顾客实时显示已点菜品总份数和金额。最终顾客点好菜之后可以下单,单子会被后厨响应。 (4) 加菜 可以进行后续的加菜操作。顾客可以在初始点菜流程结束后继续点菜,支持的操作和初始点菜阶段类似。系统会为顾客实时显示加上初始点菜的菜单之后的总份数和金额。最终顾客点好菜之后可以下单,单子会被后厨响应。 (5) 退菜 可以进行有时限的退菜操作。顾客可以在初始点菜流程结束五分钟内进行退菜操作,不允许顾客将所有菜品退掉的情况。退菜成功后,系统会将退的菜品从已点列表里删除,并重新计算总金额。后厨会在顾客退菜的时候及时得到需要退掉的菜品。 (6) 买单 可以进行买单操作。顾客可以在初始点菜流程之后选择买单操作。系统会为顾客展示菜品列表、菜品单价和总份数、待付款总金额信息。餐厅服务员会收到顾客需买单的信息,及时为顾客买单。 (7) 评价、建议和投诉 可以进行建议和投诉操作。顾客在买单之后可以对这次已点列表里的菜品进行评价,并对服务员和餐厅环境进行建议和投诉。 餐厅服务员 (1) 查看菜品 同顾客的查看菜品需求。方便服务员为顾客讲解和推荐菜品。 (2) 搜索菜品 同顾客的搜索菜品需求。方便服务员为顾客讲解和推荐菜品。 (3) 上菜 一旦后厨完成一道菜的制作时,系统会提醒服务员及时上菜,提供包括菜名、桌号在内的信息。 (4) 为顾客买单 一旦顾客选择买单操作,系统会提醒服务员为顾客及时买单,提供总份数和应收金额的信息。 (5) 返台 顾客离开餐厅后,系统会提醒服务员进行返台操作。 餐厅老板 (1) 查看菜品 同顾客的查看菜品需求。方便老板了解餐厅当前提供的菜品信息。 (2) 选择当日推荐菜和餐厅招牌菜 可以选择或调整当日推荐菜和餐厅招牌菜。 (3) 查看顾客建议和投诉 可以查看顾客的所有建议和投诉信息。 (4) 查看点菜情况、营业额 可以按天、月份、年度等查看点菜情况和餐厅营业额。 性能要求 易用性、安全性、支持大流量访问 系统平台要求: 要求以网页的形式呈现,方便使用者通过各种终端访问(最好考虑到针对手机屏幕的优化)。 3. 需求变更:
针对实际的餐厅点餐系统处理的业务流程和面临的问题域,餐厅点餐系统需要为顾客提供及时的点餐服务,同时需要辅助餐厅服务员在顾客点餐后为其上菜以及为其买单的操作。由于餐厅提供的菜品随季节时令等改变,点餐系统也需要为餐厅老板提供更新菜品列表和更换每日推荐菜和餐厅招牌菜的操作。总体来说,点餐系统的目标是使得点餐服务自动化,同时完成附带的提醒服务员上菜、买单和调整菜品列表等必备的功能。从性能上而言,点餐系统的访问量呈现分布不均匀的特点,例如到用餐高峰期和节假日系统访问量会激增,为此系统需要适应这种访问量不均匀且短时访问量可能非常大的实际情境;点餐系统存储的是每桌顾客的点菜信息,包括菜品数量和总价等,为此系统需要提供严格的隐私保护和数据安全服务。
评价和建议修改 说明:原来的系统中,只要求顾客可以对每道菜输入自己的评价文本内容,需要修改为系统自动检测并删除负面评论(即根据关键词过滤掉多于5个负面词的评价),且为老板提供手动删除评论和调整评论展示顺序的功能。
考察点:考察面向对象的封装思想。菜品类已经封装好了,可能有抽象父类,其中有新增顾客评价的方法。可以通过修改这个方法来满足变更的需求。老板的手动删除和调整评论需要新增加相应的方法。
菜品管理新增 说明:原来的系统中,菜品列表是固定不变的,现需要修改为老板可以添加菜品、删除菜品和修改菜品描述信息。
考察点:考察面向对象的聚合和松耦合的思想。原先的实现可能有DishList类(菜品列表类),属性是菜品里的每道菜的对象(体现聚合),方法有搜索菜品列表、查看菜品描述信息。可以增加一个管理菜品列表的方法。松耦合体现在只修改菜品列表这个类,不修改老板类,减少菜品列表类和老板类间的耦合。