软件开发环境与工具项目:餐厅点餐系统
一.项目介绍
背景:过去传统的点餐流程是通过服务员手写菜单,顾客和服务员一对一进行点单,再将菜
单交由厨师进行烹饪,而如今这种方式已无法满足顾客的需求。当顾客过多时,没有足够服
务员可以安排使顾客等待时间过长;服务员字迹潦草,菜单无法识别等问题都对餐厅服务质
量造成严重影响。随着无线网络技术的进步,可利用一套点餐系统,减少服务员的使用,也
可以有条不紊的将顾客点菜信息及时完整的传达给厨师,既提高了服务质量,又减少了不必
要的开支,对大型餐厅是个很好的选择。
意义:该点餐系统是为了是客人在饭店里面可以更加便捷的点餐消费,也为饭店提供了更好
的管理方法,让客户作为一个单位提交一个菜谱,然后把所有已点得菜品分类,按客户点菜
的时间进行排序,发送到厨师那里,这样不会出错,而且可以加快效率,给客户更加有效地
服务;同时,还可以通过系统更好的管理整个餐厅的信息,让顾客对餐厅有更还的了解。
1.节省人力:应用无线点餐系统后,即使只有两、三名服务员也能够准确无误地为 20 张餐
桌服务(原先需要 6 至 8 名服务员完成的工作量),不但节省了大量的人力,而且失误率几乎
为零。
2.提高服务水平:服务人员可以腾出更多的精力向顾客提供更好的服务,提高用户对餐厅的
认可度。
3.降低营运成本:无线点餐系统从点餐、厨房分单到送菜、结账等各个环节实现了全方位、
智能化管理,大大降低了因失误做菜而造成的资源浪费,以及人力资源的浪费,从而降低了
运营成本。
4.提高餐厅的整体形象:当发现服务员手中不再是传统的菜谱和点餐单,而是一个高科技感
的点餐系统,顾客会提高对餐厅的好感度和信任感。
组成:系统由服务器、顾客端、厨师端组成
特点:
1.有效防止手写菜单出现的漏单、看不清字体
2.防止出现顾客因长时间等待而离开
3.自动化管理,提高管理效率
4.使管理者便于管理和了解顾客意见或建议
功能:点餐系统是一个分布式系统,服务器是该系统的中心
• 服务器功能
1. 保存整个餐厅各种信息资源,如菜谱信息、员工信息
2. 为顾客电脑提供查询服务,点餐服务,结算服务等
3. 为顾客提供热卖、特价、特色菜品信息
4. 若顾客所点菜品暂时缺货,提醒用户换菜
5. 为顾客建议营养搭配菜
6. 自动将各个顾客的菜品整合、排序,分配,然后将分配的烹饪信息发
送到不同的厨师台前
7.汇总顾客提出的建议或意见,由餐厅管理者进行查阅和改进
8.根据顾客延迟上菜时间需求,将用户所点菜品信息发送到厨师台前
9.及时更新和删除相应菜品
• 顾客端功能
1. 查询功能,如查询餐厅信息、菜谱等
2. 点餐功能,选择菜品并点菜
3. 结帐
4.餐后可提出对餐厅的建议和意见
5.可设定延迟上菜时间
• 厨师端功能
1. 显示状态信息,比如:显示当前要烹饪的菜品总数,现在正在烹饪的菜品,已完成
烹饪的产品等
2.厨师完成一个烹饪后就按下完成键表示完成当前烹饪
3.若某菜品食材缺乏,将信息发送给服务器停止供应该菜品
商业价值:本点餐系统可以减少员工的使用,使点单、烹饪、结账顺序完成,提高了工作效
率,杜绝漏单,错单,延误等情况;既可以通过高效的服务吸引更多的顾客,也可以规范管
理流程,提高管理水平;为管理水平的进一步提高留下充足的空间;有效的管理方式,方便
了顾客的同时,也能有更广的服务范围,提高了餐厅的形象。
人员分工:
李肖肖:用例图、活动图、时序图
耿海霄:类图、包图、对象图
刘雨辰:状态图、协作图、组件图和部署图
二.UML 设计图形
1.UML 用例图(2 分)
1.点餐系统用例总图
注释:本图是系统的总用例图,进行语境建模,也就是系统存在的外部环境。本点餐系统是
一个分布式系统,服务器是该系统的中心,还包括客户端和厨师端。他们都与点餐系统有所
关联,用户可以点餐,而厨师要通过系统得知烹饪菜品数目,系统管理员要对系统进行维护
和管理。
2.点餐系统顾客用例图
注释:本图为顾客用例图,顾客用例图根据顾客功能需求,画出顾客所能应用的服务。顾客
可以通过点餐系统,首先查询相关信息,包括餐厅信息、查看菜谱、查看热卖、特价、特色
和推荐的营养搭配菜。通过查询后开始点餐,可以任意添加或删除菜品,如需要延迟上菜时
间,标注所需时间即可。之后若有意见或建议可以进行填写,若没有,即可结账离开。
3.点餐系统厨师用例图
注释:本图为厨师用例图。厨师端根据点餐系统所提供的顾客所点菜品进行烹饪,厨师可以
查看当前要烹饪的菜品总数、已烹饪菜品、当前烹饪的菜品,完成烹饪后对菜品进行标记,
如果顾客所点菜品缺乏食材,及时反馈给系统,提醒顾客另选菜品。
4.点餐系统服务器端用例图:
注释:本图为服务器端用例图。点餐系统需要保存餐厅的各种信息资源,为顾客提供查询服
务、点餐服务、结算服务。可以提供顾客所点菜品相应的信息,建议营养搭配的菜品,将顾
客所点菜品发送给厨师端,若顾客有延迟上菜需求,要根据时间分别安排给厨师。若某菜品
暂时无法供应,应及时提醒顾客换菜。若顾客有意见或建议,系统管理员应该给予汇总和分
类,方便饭店管理。
2.类图、包图及对象图(4 分)
1.点餐系统数据库类图
注释:一个数据库存储了多个菜式、菜单、服务器、饭店管理者、点餐者与厨师信息,其中
的各个类图的详细分析见以下图。
2.点餐系统厨师类图
注释:一个厨师对应多个自己所要炒的菜品,一个饭店管理者可以管理多名厨师。
在 cooker 类中,包含厨师负责的菜式种类:kind,己炒的菜品数:finishedDish,还需炒
的菜品:numberOfDish,厨师的 ID:cookerNumber。以下包类的几个函数:cook();表示
厨师正在炒菜。displayFinishedDish(),厨师可以设定此菜品己炒。
displayUndersupplyedDishes()厨师可以说明哪些菜品目前暂缺,不能供应。
3.点餐系统服务器类图
注释:服务器可向多个对象提供服务,cooker、server、order、dishes、menu。Manage 类
中包含了服务器的各个功能:管理菜单:manageMenu(),管理饭店信息:
manageInformations(),显示所有菜品:displayAllDishes(),显示顾客菜单:
displayOderedMenu(),给出合理营养搭配:displayNutrientMenu(),列出暂不供应的菜品:
displayUndersupplyedDishes(),点餐服务:supplyOrder(),结算服务:check-out()等。
4.点餐系统顾客类图
注释:点餐者在点餐系统界面输入桌号 tableNumber 以及是否需要延迟上菜,若需要,输入
需要延迟时间 dilayTime。之后便可以执行以下操作:点菜 order():,取消菜单:
deleteMenu(),预订菜单:addMenu(),添加延迟时间:addDelayTime(),查看餐厅信息:
checkInfomation(),提出宝贵意见:giveSuggestion();同时,一个顾客可有多份菜单,
并可由服务器和管理员共同服务。
5.点餐系统总体包图
注释:出了介绍的创建包图的包原则之外,应用把关联的用例放在一起的规则来把 UML 用例
图组织到包图里。组织用例应该以主要主角的需要为基础,上图就是将餐厅点餐系统中的订
单、菜品、用户信息等创建的一个包图。
6.点餐系统订单处理包图
注释:上图是订单处理包图,基本说明了订单时从访问系统、看菜品进行订单管理,添减菜
品、到付款的整个流程。数据库中包括了菜品剩余信息、订单管理、用户信息、菜品管理等。
7.点餐系统厨师对象图
注释:在点餐管理系统数据库里,一个服务器系统可供多个厨师使用,并且每个厨师特定的
属性值为工作号和姓名,同时,每个厨师也手上也可以有多个菜,不管是已炒好的,还是未
炒好的。
8.点餐系统顾客对象图
注释:一个服务器系统可供多个顾客使用,每个顾客特定的属性为服务号,每个顾客可通过
服务器看到本餐厅为他提供菜式推荐,餐厅的最新优惠消息,而且每个客户都可以浏览多个
菜谱以及预订多个菜谱,在每个菜谱里面选择自己想要的菜品。