1、饭店点菜系统详细设计说明书 文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)饭店点菜系统详细设计说明书软件工程详细设计说明书文档饭店点餐管理系统的分析与设计学院名称信电工程学院专业名称计算机科学与技术所属学期 2015-2016(一)小组名单班级学号姓名13计卓陈尧13计卓韩洁13计卓刘蕊13计卓邓辉任课教师王小磊 2015年12月24日 引言 编写目的在前一阶段概要设计说明书中,已解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分为若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、数据结构的设计等。在以下详细设计报告中将对本
2、阶段中对系统所做的所有详细设计进行说明。在本阶段中,确定应该如何具体的实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。主要工作有:根据在需求分析说明书中所描述的功能、流程,并依照概要设计说明书所确定的处理流程、总体结构和运行模块设计,设计完成程序系统的结构,完成制菜统筹模块、点菜管理模块、评价管理模块的程序描述,其中包括各模块的设计说明、程序描述、功能、性能、输入、输出、算法、流程逻辑、接口等。本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。 背景为了更好的满足广大消费者的多元化消费需求和不同层次的消费水平,提高饭店的服务管理质量
3、,提高饭店工作人员的工作效率,我开发小组在多方面考察、分析、研究现有饭店点菜管理系统的基础之上,以提高消费者的满意程度及商家的服务水平和市场竞争力为目标,致力于开发出一套可视化程度高、功能全面、集分析管理于一体的饭店点餐系统。 定义SQL Server:系统服务器所使用的数据库管理系统。SQL:一种用于访问查询数据库的语言事务流:数据进入模块后可能有多种路径进行处理主键:数据库表中的关键域,值互不相同外部主键:数据库表中与其他表主键关联的域Vs2013:Microsoft Visual Studio(简称VS)是美国的开发工具包系列产品。 C#:C#是发布的一种面向对象的、运行于之上的高级程序
4、设计语言。 参考资料XX文库 程序系统的结构 制菜统筹1.菜品提示功能厨师:下一道菜品学徒:下一道菜所需的食材种类和分量顾客:菜品正在制作2.制菜的统筹功能算法:通过客人点菜的时间可以优先做菜,有和这道菜一样的菜就可以一块做,然后再通过算法显示下一道菜,前一个桌号总比下一个桌号多一道菜。该功能实现了制菜的统筹合理安排制菜顺序。同时将正在制作的菜状态设置为不可退。还能提示下一道菜的菜名和具体信息,给厨师的下手准备食材。3.无食材提示当一道菜的食材不够用了会提示客户退菜或者换一道菜以及服务员,并自动从菜单中删除这道菜顾客根据提示退换菜。 推送新菜1.新菜录入厨师新研制的菜肴的食材种类和分量详细的录
5、入系统,储存在新菜菜单中。2.评分机制根据一周顾客的评分,若低于所有菜品的平均分则删除这道新菜,若高于平均分则加入菜单中。 点菜服务1.顾客点菜(1)桌号的输入顾客进入饭店之后选择座位坐下,通过扫描二维码在系统中先录入自己的桌号以方便点菜。(2)口味的选择与菜色推荐顾客进入系统之后,可以根据自己的偏好选择酸甜辛辣,淡咸之类的口味,从而系统自动进行推荐菜色,如以前顾客品尝过后评分较高的菜色或者该口味本饭店的招牌菜之类的菜色,同时,系统还可以自动推荐其他口味的评分较高的菜色以供顾客选择。(3)点菜与写备注顾客确定了自己所点的菜色之后,可以在系统上进行确认点菜,在点菜的同时,可以对自己所点的菜写入相
6、应备注,如需要多一点辣味或者少加某样调料等等来满足自己的需求。(4)生成菜单与提交制菜统筹系统顾客点完菜之后,系统自动生成桌号+菜色+备注的菜单并将其提交至制菜统筹系统。2.顾客退菜和催菜(1)退菜顾客在提交了菜单之后,如果想退菜,在系统中找到自己所点菜,如果厨师正在做这道菜,那么便无法进行退菜,如果厨师还没有做到这道菜,便可以从自己的菜单中删除这道菜,那么相应的制菜统筹系统中也会删除这道菜。(2)催菜顾客点菜之后,在等待的过程中,可以在系统中点催菜按钮,以此来催促厨师加快制作速度。 会员服务1.注册会员顾客可以通过系统中的注册会员按钮进入注册会员选项,然后填写注册会员需要写明的各项具体信息提
7、交给系统,系统从自身数据库中判断,某些不能重复的项目如手机号码等如和数据库重复冲突了则不能通过,并且提示顾客重新确认自己所填写的信息,而填写完成并且通过之后,则进入会员缴纳相应的会员费部分,缴纳会员费之后则正式成为饭店会员,同时系统为该客户分配唯一的会员号码,并以此作为识别会员身份的凭证。2.会员服务会员登录系统之后,便可以在其他任何地方都可以打电话预约座位和提前点菜,到饭店之后只需在预留的座位上等待直至菜品上桌,或者到饭店在进行点菜也可以。点完菜之后,可以为会员提供相应的打折措施,消费500元以内打9折,500到1000元打折,1000元以上打8折,与此同时还可以进行积分措施,消费多少则积相
8、应的分数,到了一定程度后,每100分可以兑换5元现金券或者相应小礼品。 评价1.判断顾客是否已经付款2.如果没付款等待付款,如果付款显示评论界面3.系统给出非常好,很好,一般,很差四个选项给顾客选择,顾客可以根据服务态度,菜色,就餐环境等进行评价,评价完成后在顾客评价界面显示4.顾客评价完成后,系统根据算法显示饭菜的好评率,并赠送相应的奖励给客户5.经理登录系统可以查看顾客的评论以便进行调整,然后辩论其真实性再把评论反馈给相关人员,相关人员根据评论作出相应的调整 账单管理1.顾客提出付款信息2.收银员收到消费清单后和顾客进行付款等操作,操作成功后,确定金额并打出清单3.收银员向经理报告日收益,
9、经理核实并确定4.经理对厨房对外采购支出信息,饭店税收支出信息,员工信息支出统计,再根据月收益形成饭店支出表,最后算出饭店的日收益 菜单管理菜单管理系统有四个终端,按身份登录不同的身份进入的界面不一样。(1)顾客、服务员终端主要满足如下功能: 1顾客可以在各个类别(特色菜、招牌菜、优惠菜、套餐)下选择自己中意的菜,并查看该菜的介绍,评价,所需时间,还可以选择口味(拉框),如没有,可以在备注里填写。2顾客可以在总价这项里查询,增添和删除菜,也可以看到自己的消费金额。3顾客在消费完毕后,可以留下自己的意见和建议。4服务员可以帮顾客点菜。5顾客或服务员点菜完毕后,系统会自动将菜单传送到制菜统筹子系统
10、。(2)配菜员终端主要满足如下功能:1接收制菜统筹子系统分配的需要的配菜的菜名、份数。2如果菜所需材料没有了,配菜员通过终端选中菜后面的红(菜单管理系统自动通知服务员终端,服务员再去向顾客解释并询问顾客是否换菜,同时从当天菜单中删除,以免后面顾客继续点)。(3)管理员终端主要满足如下功能:1根据统计系统反馈的数据,修改菜单、类别。2根据统计系统反馈的数据,及时跟员工协调。3将每天的打折信息更新。4反馈客户的意见及建议。5为员工分配相应的权限。 制菜统筹设计说明 程序描述现如今大部分饭店之中厨师制菜通常需要一个传菜员来提示他该做哪道菜,提示服务员应该将菜送到哪张桌。不仅时间上和人力物力上都造成了
11、极大的浪费,而且传菜员一旦出错,会造成顾客等待时间过长的不愉快体验,从而给饭店造成损失。所以我们的制菜统筹子系统之中将传菜员的职能转交由计算机来执行,通过算法智能的统筹。计算机不用担心出错,因而顾客的体验都会比较好。不仅如此,制菜统筹系统还充分利用了厨师的一个下手。 功能制菜统筹子系统:a.提示厨师正在制作的菜品和下一道菜品,同时提示学徒下一道菜所需的食材种类和分量。还有提示顾客菜品正在制作。b.通过客人点菜的时间可以优先做菜,有和这道菜一样的菜就可以一块做,然后再通过算法显示下一道菜,前一个桌号总比下一个桌号多一道菜该功能实现了制菜的统筹合理安排制菜顺序。c.将正在制作的菜状态设置为不可退。
12、d.提示下一道菜的菜名和具体信息。e.提示客户退菜或者换一道菜。 性能计算时间20s;传送时间3s; 输入项 菜单信息 菜名(Dish)-类型:String 份数(number)-类型:Int 桌号(TableNumber)-类型:Int 备注(Remarks)-类型:String 时间(Time)-类型:time; 是否完成(IsFinish)-类型:boolean ;默认:false 输出项配菜名(DishesName)-类型:String配菜份数(DishesNumber)-类型:int即将烧的菜(SoonDish)-类型:String 备注(Remarks)-类型:String*号桌(
13、num)-类型:int 算法每个点菜单用结构体存放,并添加时间、是否制作完成字段N个点菜单存放在结构体中使用for循环遍历计算出即将需要做的菜 Count()oString(); ();oString() + ;oString();oString(); (); cmd2 = Select Count(dish_names) From Table where dish_names= + + ; SqlDataReader drNum2 = (cmd2); (); = + 数量: + drNum20.ToString();桌:顾客输入自己的桌号。该桌号唯一不可与其他人重复,若重复则给出相应提示。桌
14、号的位数由饭店规模决定默认为两位数,如:01、02。确认桌号后不可修改,如有添桌请求需要用另一台设备另外开桌。2点菜:顾客可以根据需要选择自己喜欢的口味,系统筛选对应口味的菜色同时推送本店特色菜品。界面展示菜名、菜品图片和价格,顾客选择喜欢的菜色可以查看详细介绍,并提交份数。生成点菜信息,在顾客点菜结束后展示,进行最后确认,确认后提交制菜统筹系统。3.退菜:顾客可以退去自己已点的,未上并且未在制作的菜。若在制作或者已上,则提示相关错误。否则从后厨数据库中删去,提示操作成功。4.催菜:顾客可以对已点菜品进行催促,催促会提示后厨加快速度,规定同一小时内后厨只会收到两次催促。但顾客可以尽情催促,单不
15、会传到后厨。 性能检索业务响应时间2s;运行响应时间1s;付款响应时间0;份数(Amount)类型:int;输入方式:选择;输入数量0; 输出项给出对每个输出项的我,包括名称、标识、数据的类型昨格式,数据值的有效范围,输出的形式数量和频度,输出媒体,对输出图形及符号的说明,安全保密条件等。成功提示类型:弹窗输出;输出频率:触发输出1次;错误提示类型:弹窗输出;输出频率:触发输出1次菜品信息类型:界面输出;输出频率:一直输出,触发停止 算法使用while()语句判断一小时内接受催促的次数。使用if()判断失误操作。使用if()判断退菜。数据的输入输出与sql数据库链接等基本算法通过输入桌号来记录
16、点餐桌号button1_Click = ; FrmCustomer fc = new FrmCustomer(); (); (); 开始点菜,这里点的菜同步更新到服务员的菜单表,也实现了退菜的功能,如果菜正在制作就无法退,若还是要求退需要叫服务员来操作 FrmCustomer_Load /*显示菜单*/ string connStr = Data Source=yao-pc;Initial Catalog=item;Integrated Security=True;与数据建立连接 string str2 = Select*from MenuList;oString();oString();oS
17、tring();oString(); (node); nodes, ds, (rowcid.ToString(); oString()emove(); treeView1_NodeMouseClick else oString(); = dr2.ToString(); = 价格:; = 元; = 制作时间约为 流程逻辑 接口本模块与其它相关模块间根据桌号和菜名平行方式连接。 存储分配无特别存储分配的需要。Check_list数据表,作用是描述订餐的信息Check_list表序号字段名数据类型是否主键意义1Table_NOVarchar(50)Yes桌号2Dish_namesVarchar(50
18、)No菜名3PriceDecimal(18,0)No价格Menu数据表,作用是描述菜单的信息Menu表序号字段名数据类型是否主键意义1Dish_namesVarchar(50)Yes菜名2PrcieDecimal(18,0)No价格3Making_timeVarchar(50)No制作时间4PictureimageNo图片Table数据表,作用是描述桌子的信息Table表序号字段名数据类型是否主键意义1IDintYes就餐号2Table_noVarchar(50)No桌号3Dish_namesVarchar(50)No菜名4Order_timedatetimeNo订餐时间5makingInt
19、No制作6pricefloatNo图片7Making_timeVarchar(50)No制作时间a、在模块首部注释说明模块名称; b、在各分枝点处注释各个分支的作用;c、各变量的功能、范围、缺省条件等必须加上注释;d、对使用的逻辑所加上必要的注释。顾客必须已经登陆该软件,而且在一个网速良好的环境下。测试模块测试功能测试指标点菜服务桌号录入能够判断桌号的逻辑和重复点菜与写备注能够点菜并写备注生成点菜表生成点菜表与提交制菜统筹系统生成的点菜表能在后厨显示出来退菜能够判断制菜状态,若能退菜则从点表中删去这一道菜催菜能够发送通知至后厨,后厨能够一小时只接受三次无 评价管理模块程序 程序描述对于一个饭店
20、管理系统来说,大家可能觉得评价系统对于整个饭店管理系统并不是那么重要,但是如果想象淘宝,就觉得很重要,一个评价可以让客人得到一个很好的反馈,同时也可以让更多的用户可以对这个饭店可以有个一定的了解,比如:服务态度,饭店环境,菜色味道,以及价格等都可以进行客观的了解。这个评价系统可以对用户的好评率进行统计计算,对于进行差评的用户反馈给经理,经理可以对用户的评价进行一定的核实,然后进行相应的调整。这个评价管理系统对于近一个月的评价进行数据库存储,并且进行界面显示,对于这些评价处理进行顺序处理,根据时间写入数据库,并且界面显示。 功能1.判断顾客是否已经付款2.如果没付款等待付款,如果付款显示评论界面
21、系统给出非常好,很好,一般,很差四个选项给顾客选择,顾客可以根据服务态度,菜色,就餐环境等进行评价,评价完成后在顾客评价界面显示3.顾客评价完成后,根据算法显示饭店的好评率4.经理登录系统可以查看顾客的评论进行调整,然后辩论其真实性再把评论反馈给相关人员,相关人员根据评论作出相应的调整 性能 检索业务响应时间2s;运行响应时间1s;评价响应时间10s; 输入项桌号(Table_NO)类型:String;输入方式:系统输入;输入数量:1;服务态度(Service attitude)类型:String;输入方式:选择;输入数量05;菜色味道(Taste dishes)类型:String;输入方式:
22、选择;输入数量05;评价(Evaluation)类型:String;输入方式:手动输入;输入字数50; 输出项给出对每个输出项的的内容,包括名称、标识、数据的类型昨格式,数据值的有效范围,输出的形式数量和频度,输出媒体,对输出图形及符号的说明,安全保密条件等。成功提示类型:弹窗输出;输出频率:触发输出1次;错误提示类型:弹窗输出;输出频率:触发输出1次评价信息类型:界面输出;输出频率:触发输出一直在 算法使用while()语句判断用户是否付款使用if()判断用户是否评价根据for()语句判断用户的评价再根据百分百判断用户的好评率数据的输入输出与sql数据库链接等基本算法流程逻辑接口本模块与其它
23、相关模块间根据桌号平行方式连接。存储分配无特别存储分配的需要。Evaluation数据表,作用是描述评价的信息Evaluation表序号字段名数据类型是否主键意义1BillNumberInt Yes账单号2DishContentStringNo对菜评价3ServeContentStringNo对服务态度评价注释设计说明准备在本程序中安排的注释,如:a、加在模块首部的注释; b、加在各分枝点处的注释;c、对各变量的功能、范围、缺省条件等所加的注释;d、对使用的逻辑所加的注释等。限制条件顾客必须已经登陆该软件,而且在一个网速良好的环境下。测试计划测试模块测试功能测试指标评价管理判断付款状态对顾客的付款状态进行判断评价添加评价信息可以存入数据库评价删除评价信息可以从数据库中删去评价查看评价信息可以正确的显示尚未解决的问题 客户的评价信息庞大,要根据一些情况从系统中删除一部分的客户的评价。根据月份删除这个问题尚未解决
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1