饭店点菜系统详细设计说明书.docx
《饭店点菜系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《饭店点菜系统详细设计说明书.docx(19页珍藏版)》请在冰豆网上搜索。
饭店点菜系统详细设计说明书
软件工程详细设计说明书文档
饭店点餐管理系统的分析与设计
任课教师
2015年12月24日
引言
编写目的4
背景4
定义4
参考资料5
程序系统的结构5
制菜统筹5
推送新菜5
点菜服务5
会员服务6
评价7
账单管理7
菜单管理7
制菜统筹设计说明8
程序描述8
功能8
性能9
输入项9
输出项9
算法9
流程逻辑10
接口10
存储分配10
错误!
未定义书签。
错误!
未定义书签。
错误!
未定义书签。
错误!
未定义书签。
点菜管理模块程序11
程序描述11
功能11
性能12
输入项12
输出项12
算法13
流程逻辑14
接口14
存储分配14
错误!
未定义书签。
错误!
未定义书签。
错误!
未定义书签。
错误!
未定义书签。
评价管理模块程序17
程序描述17
功能17
性能17
输入项18
输出项18
算法18
18
18
19
19
19
引言
编写目的
在前一阶段《概要设计说明书》中,已解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分为若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、数
据结构的设计等。
在以下详细设计报告中将对本阶段中对系统所做的所有详细设计进行说明。
在本阶段中,确定应该如何具体的实现所要求的系统,从而在编码阶段可以把这个描述直接翻
译成用具体的程序语言书写的程序。
主要工作有:
根据在《需求分析说明书》中所描述的功能、流程,并依照《概要设计说明书》所确定的处理流程、总体结构和运行模块设计,设计完成程序系统的结构,完成制菜统筹模块、点菜管理模块、评价管理模块的程序描述,其中包括各模块的设计说
明、程序描述、功能、性能、输入、输出、算法、流程逻辑、接口等。
本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。
背景
为了更好的满足广大消费者的多元化消费需求和不同层次的消费水平,提高饭店的服务管理质量,提高饭店工作人员的工作效率,我开发小组在多方面考察、分析、研究现有饭店点菜管理系统
的基础之上,以提高消费者的满意程度及商家的服务水平和市场竞争力为目标,致力于开发出一套
可视化程度高、功能全面、集分析管理于一体的饭店点餐系统。
定义
SQLServer:
系统服务器所使用的数据库管理系统。
SQL:
—种用于访问查询数据库的语言
事务流:
数据进入模块后可能有多种路径进行处理
主键:
数据库表中的关键域,值互不相同
外部主键:
数据库表中与其他表主键关联的域
Vs2013:
MicrosoftVisualStudio(简称VS)是美国微软公司的开发工具包系列产品。
.NETFramework之上的高级程序设计语言。
C#:
C#是微软公司发布的一种面向对象的、运行于
参考资料
《XX文库》
程序系统的结构
制菜统筹
1.菜品提示功能
厨师:
下一道菜品
学徒:
下一道菜所需的食材种类和分量顾客:
菜品正在制作
2.制菜的统筹功能
算法:
通过客人点菜的时间可以优先做菜,有和这道菜一样的菜就可以一块做,然后再通过算法显示下一道菜,前一个桌号总比下一个桌号多一道菜。
该功能实现了制菜的统筹合理安排制菜顺序。
同时将正在制作的菜状态设置为不可退。
还能提示下一道菜的菜名和具体信息,给厨师的下手准备食材。
3.无食材提示当一道菜的食材不够用了会提示客户退菜或者换一道菜以及服务员,并自动从菜单中删除这道菜顾客根据提示退换菜。
推送新菜
1.新菜录入厨师新研制的菜肴的食材种类和分量详细的录入系统,储存在新菜菜单中。
2.评分机制
根据一周顾客的评分,若低于所有菜品的平均分则删除这道新菜,若高于平均分则加入菜单中。
点菜服务
1.顾客点菜
(1)桌号的输入
顾客进入饭店之后选择座位坐下,通过扫描二维码在系统中先录入自己的桌号以方便点菜。
(2)口味的选择与菜色推荐
顾客进入系统之后,可以根据自己的偏好选择酸甜辛辣,淡咸之类的口味,从而系统自动进行推荐菜色,如以前顾客品尝过后评分较高的菜色或者该口味本饭店的招牌菜之类的菜色,同时,系统还
可以自动推荐其他口味的评分较高的菜色以供顾客选择。
(3)点菜与写备注
顾客确定了自己所点的菜色之后,可以在系统上进行确认点菜,在点菜的同时,可以对自己所点的菜写入相应备注,如需要多一点辣味或者少加某样调料等等来满足自己的需求。
(4)生成菜单与提交制菜统筹系统
顾客点完菜之后,系统自动生成桌号+菜色+备注的菜单并将其提交至制菜统筹系统。
2.顾客退菜和催菜
(1)退菜
顾客在提交了菜单之后,如果想退菜,在系统中找到自己所点菜,如果厨师正在做这道菜,那么便无法进行退菜,如果厨师还没有做到这道菜,便可以从自己的菜单中删除这道菜,那么相应的制菜统筹系统中也会删除这道菜。
(2)催菜顾客点菜之后,在等待的过程中,可以在系统中点催菜按钮,以此来催促厨师加快制作速度。
会员服务
1.注册会员
顾客可以通过系统中的注册会员按钮进入注册会员选项,然后填写注册会员需要写明的各项具体信息提交给系统,系统从自身数据库中判断,某些不能重复的项目如手机号码等如和数据库重复冲突了则不能通过,并且提示顾客重新确认自己所填写的信息,而填写完成并且通过之后,则进入会员缴纳相应的会员费部分,缴纳会员费之后则正式成为饭店会员,同时系统为该客户分配唯一的会员号码,并以此作为识别会员身份的凭证。
2.会员服务
会员登录系统之后,便可以在其他任何地方都可以打电话预约座位和提前点菜,到饭店之后只需在预留的座位上等待直至菜品上桌,或者到饭店在进行点菜也可以。
点完菜之后,可以为会员提供相应的打折措施,消费500元以内打9折,500到1000元打折,1000元以上打8折,与此同时还可以进行积分措施,消费多少则积相应的分数,到了一定程度后,每100分可以兑换5元现金券或者
相应小礼品
评价
1.判断顾客是否已经付款
2.如果没付款等待付款,如果付款显示评论界面
3.系统给出非常好,很好,一般,很差四个选项给顾客选择,顾客可以根据服务态度,菜色,就餐环境等进行评价,评价完成后在顾客评价界面显示
4.顾客评价完成后,系统根据算法显示饭菜的好评率,并赠送相应的奖励给客户
5.经理登录系统可以查看顾客的评论以便进行调整,然后辩论其真实性再把评论反馈给相关人员,相关人员根据评论作出相应的调整
账单管理
1.顾客提出付款信息
2.收银员收到消费清单后和顾客进行付款等操作,操作成功后,确定金额并打出清单
3.收银员向经理报告日收益,经理核实并确定
4.经理对厨房对外采购支出信息,饭店税收支出信息,员工信息支出统计,再根据月收益形成饭店支出表,最后算出饭店的日收益
菜单管理
菜单管理系统有四个终端,按身份登录不同的身份进入的界面不一样。
(1)顾客、服务员终端主要满足如下功能:
1.顾客可以在各个类别(特色菜、招牌菜、优惠菜、套餐)下选择自己中意的菜,并查看该菜的介绍,评价,所需时间,还可以选择口味(拉框),如没有,可以在备注里填写。
2.顾客可以在总价这项里查询,增添和删除菜,也可以看到自己的消费金额。
3.顾客在消费完毕后,可以留下自己的意见和建议。
4.服务员可以帮顾客点菜。
5.顾客或服务员点菜完毕后,系统会自动将菜单传送到制菜统筹子系统。
(2)配菜员终端主要满足如下功能:
1.接收制菜统筹子系统分配的需要的配菜的菜名、份数。
2•如果菜所需材料没有了,配菜员通过终端选中菜后面的红x(菜单管理系统自动通知服务员终端,服务员再去向顾客解释并询问顾客是否换菜,同时从当天菜单中删除,以免后面顾客继续点)
(3)管理员终端主要满足如下功能:
1•根据统计系统反馈的数据,修改菜单、类别。
2•根据统计系统反馈的数据,及时跟员工协调。
3•将每天的打折信息更新。
4.反馈客户的意见及建议。
5•为员工分配相应的权限。
制菜统筹设计说明
程序描述
现如今大部分饭店之中厨师制菜通常需要一个传菜员来提示他该做哪道菜,提示服务员应该将
菜送到哪张桌。
不仅时间上和人力物力上都造成了极大的浪费,而且传菜员一旦出错,会造成顾客等待时间过长的不愉快体验,从而给饭店造成损失。
所以我们的制菜统筹子系统之中将传菜员的职能转交由计算机来执行,通过算法智能的统筹。
计算机不用担心出错,因而顾客的体验都会比较好。
不仅如此,制菜统筹系统还充分利用了厨师的一个下手。
功能
制菜统筹子系统:
a.提示厨师正在制作的菜品和下一道菜品,同时提示学徒下一道菜所需的食材种类和分量。
还有提示顾客菜品正在制作。
b.通过客人点菜的时间可以优先做菜,有和这道菜一样的菜就可以一块做,然后再通过算法显示下一道菜,前一个桌号总比下一个桌号多一道菜该功能实现了制菜的统筹合理安排制菜顺序。
c.将正在制作的菜状态设置为不可退。
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
*号桌(num)----类型:
int
算法
每个点菜单用结构体存放,并添加时间、是否制作完成字段
N个点菜单存放在结构体中
使用for循环遍历计算出即将需要做的菜
Count()oString();
();oString()+"'";oString();oString();
();
[Table]wheredish_names='"
cmd2="SelectCount(dish_names)From
SqlDataReaderdrNum2=(cmd2);
();
数量:
"+drNum2[0].ToString();
桌:
顾客输入自己的桌号。
该桌号唯一不可与其他人重复,若重复则给出相应提示。
桌号的位数由饭店规模决定默认为两位数,如:
01、02。
确认桌号后不可修改,如有添桌请求需要用另一台设备另外开桌。
2点菜:
顾客可以根据需要选择自己喜欢的口味,系统筛选对应口味的菜色同时推送本店特色菜品。
界面展示菜名、菜品图片和价格,顾客选择喜欢的菜色可以查看详细介绍,并提交份数。
生成点菜信息,在顾客点菜结束后展示,进行最后确认,确认后提交制菜统筹系统。
3.退菜:
顾客可以退去自己已点的,未上并且未在制作的菜。
若在制作或者已上,则提示相关错误。
否则从后厨数据库中删去,提示操作成功。
4.催菜:
顾客可以对已点菜品进行催促,催促会提示后厨加快速度,规定同一小时内后厨只会收到两次催促。
但顾客可以尽情催促,单不会传到后厨。
性能
检索业务响应时间<2s;
运行响应时间<1s;
付款响应时间<10s;。
输入项
桌号(Table_NO)――类型:
String;输入方式:
手动输入;输入数量:
1;
口味(Flavor)——类型:
String;输入方式:
选择;输入数量0~3;
菜名(Dish_names)类型:
String;输入方式:
选择;输入数量>0;
份数(Amount)类型:
int;输入方式:
选择;输入数量>0;
输出项
给出对每个输出项的我,包括名称、标识、数据的类型昨格式,数据值的有效范围,输出的形式数量和频度,输出媒体,对输出图形及符号的说明,安全保密条件等。
成功提示类型:
弹窗输出;输出频率:
触发输出1次;
错误提示类型:
弹窗输出;输出频率:
触发输出1次
菜品信息一一类型:
界面输出;输出频率:
一直输出,触发停止
}
oString())emove();
}
}
}
treeView1_NodeMouseClick
{
{
}
else
{
oString();
=dr[2].ToString();
="价格:
";
="元";
="制作时间约为"
}
}
流程逻辑
接口
本模块与其它相关模块间根据桌号和菜名平行方式连接。
存储分配
无特别存储分配的需要
Check_list数据表,作用是描述订餐的信息
Check_list表
骨口.序号
字段名
数据类型
是否主键
意义
1
Table_NO
Varchar(50)
Yes
桌号
2
Dish_names
Varchar(50)
No
菜名
3
Price
Decimal(18,0)
No
价格
Menu数据表,作用是描述菜单的信息
Menu表
骨口.序号
字段名
数据类型
是否主键
意义
1
Dish_names
Varchar(50)
Yes
菜名
2
Prcie
Decimal(18,0)
No
价格
3
Making_time
Varchar(50)
No
制作时间
4
Picture
image
No
图片
Table数据表,作用是描述桌子的信息
Table表
骨口.序号
字段名
数据类型
是否主键
意义
1
ID
int
Yes
就餐号
2
Table_no
Varchar(50)
No
桌号
3
Dish_names
Varchar(50)
No
菜名
4
Order_time
datetime
No
订餐时间
5
making
Int
No
制作
6
price
float
No
图片
7
Making_time
Varchar(50)
No
制作时间
a、在模块首部注释说明模块名称;
b、在各分枝点处注释各个分支的作用;
c、各变量的功能、范围、缺省条件等必须加上注释;
d、对使用的逻辑所加上必要的注释。
顾客必须已经登陆该软件,而且在一个网速良好的环境下
测试模块
测试功能
测试指标
点菜服务
桌号录入
能够判断桌号的逻辑和重
复
点菜与写备注
能够点菜并写备注生成点
菜表
生成点菜表与提交制菜统筹系统
生成的点菜表能在后厨显
示出来
退菜
能够判断制菜状态,若能退菜则从点表中删去这一道菜
催菜
能够发送通知至后厨,后厨
能够一小时只接受三次
评价管理模块程序
程序描述
对于一个饭店管理系统来说,大家可能觉得评价系统对于整个饭店管理系统并不是那么重要,
但是如果想象淘宝,就觉得很重要,一个评价可以让客人得到一个很好的反馈,同时也可以让更多
的用户可以对这个饭店可以有个一定的了解,比如:
服务态度,饭店环境,菜色味道,以及价格等都可以进行客观的了解。
这个评价系统可以对用户的好评率进行统计计算,对于进行差评的用户反
馈给经理,经理可以对用户的评价进行一定的核实,然后进行相应的调整。
这个评价管理系统对于近一个月的评价进行数据库存储,并且进行界面显示,对于这些评价处理进行顺序处理,根据时间写入数据库,并且界面显示。
功能
1.判断顾客是否已经付款
2.如果没付款等待付款,如果付款显示评论界面
系统给出非常好,很好,一般,很差四个选项给顾客选择,顾客可以根据服务态度,菜色,
就餐环境等进行评价,评价完成后在顾客评价界面显示
3.顾客评价完成后,根据算法显示饭店的好评率
4.经理登录系统可以查看顾客的评论进行调整,然后辩论其真实性再把评论反馈给相关人员,
相关人员根据评论作出相应的调整
检索业务响应时间<2s;
运行响应时间<1s;
评价响应时间<10s;
输入项
桌号(Table_NO)――类型:
String;输入方式:
系统输入;输入数量:
1;服务态度(Serviceattitude)——类型:
String;输入方式:
选择;输入数量0~5;菜色味道(Tastedishes)类型:
String;输入方式:
选择;输入数量0~5;
评价(Evaluation)类型:
String;输入方式:
手动输入;输入字数<50;
输出项
给出对每个输出项的的内容,包括名称、标识、数据的类型昨格式,数据值的有效范围,输出的形式数量和频度,输出媒体,对输出图形及符号的说明,安全保密条件等。
成功提示类型:
弹窗输出;输出频率:
触发输出1次;
错误提示类型:
弹窗输出;输出频率:
触发输出1次
评价信息——类型:
界面输出;输出频率:
触发输出一直在
使用while()语句判断用户是否付款
使用if()判断用户是否评价
根据for()语句判断用户的评价
再根据百分百判断用户的好评率
数据的输入输出与sql数据库链接等基本算法
流程逻辑
接口
本模块与其它相关模块间根据桌号平行方式连接。
存储分配
无特别存储分配的需要
Evaluation数据表,作用是描述评价的信息
Evaluation表
骨口.序号
字段名
数据类型
是否主键
意义
1
BillNumber
Int
Yes
账单号
2
DishContent
String
No
对菜评价
3
ServeContent
String
No
对服务态度评价
注释设计
说明准备在本程序中安排的注释,如:
a、加在模块首部的注释;
b、加在各分枝点处的注释;
c、对各变量的功能、范围、缺省条件等所加的注释;
d、对使用的逻辑所加的注释等。
限制条件
顾客必须已经登陆该软件,而且在一个网速良好的环境下
测试计划
测试模块
测试功能
测试指标
评价管理
判断付款状态
对顾客的付款状态进行判
断
评价添加
评价信息可以存入数据库
评价删除
评价信息可以从数据库中
删去
评价查看
评价信息可以正确的显示
尚未解决的问题
客户的评价信息庞大,要根据一些情况从系统中删除一部分的客户的评价。
根据月份删除这
个问题尚未解决