android 点餐系统 构思

android 点餐系统 构思一.          为什么要做这个项目? 记的有一次看新闻,其中报道过台湾一家酒店使用ipad让客人自己点餐,客人可以使用这个ipad从全部菜中挑选自己喜欢的,又可以选择自己的特色的。还可以直接结帐。我就想了一下,为什么不在android 系统上做一个人呢,因为以后这个系统的普及度一定很高的。于是我就上网查了一下相关的项目。发现有好多人已经开始做了,我自己并没有调研,就附上别人调研的情

大家好,又见面了,我是你们的朋友全栈君。

一.          为什么要做这个项目?

 

记的有一次看新闻,其中报道过台湾一家酒店使用ipad让客人自己点餐,客人可以使用这个ipad从全部菜中挑选自己喜欢的,又可以选择自己的特色的。还可以直接结帐。我就想了一下,为什么不在android 系统上做一个人呢,因为以后这个系统的普及度一定很高的。于是我就上网查了一下相关的项目。发现有好多人已经开始做了,我自己并没有调研,就附上别人调研的情况吧。(最近看不少人都在考虑无线点餐系统,我也做了一个,目前正在朋友的酒店测试和完善。我的目的是通过android软硬件结合,做行业应用,彻底改变目前落后的点菜方式,淘汰手工菜谱。本系统采用WIFI网络,设计的目标是不需要服务员干预,由客户自助点餐,有点像KTV点歌那种,让后通过网络将点菜信息分发至后厨无线打印机、前台收银服务器。为了知道客户真正需要什么,目前已经和十几家酒店客户进行沟通,通过对这个行业的深度分析及调研,设计出最优秀的产品。记得马云说过,只有实实在在能给社会提供价值东西,才会得到市场的认可,我希望能有对此项目感兴趣的朋友,能一起来做起来成立网络团队。

我从网上又看到成本的问题,网上是做如下解释:现在一个普通菜谱的成本为每本400-1000元,每年得更换2-4次,每年一个房间的菜谱成本就是800-4000元,而一个android平板的成本为1000~2000元,因此成本要低很多的。我发现网上的一些项目只是单纯的完成点菜功能而已,或只是PDA移动点餐。所以我想在平板上实现真真的给予客人点菜的自由权并且在点菜功能实现的前提下,可以加入一些娱乐功能,简单的比如看电影呀。

与传统点菜比较:

项目

传统菜谱

电子菜谱

外观

个性化制作封面

个性化制作封面

更换菜品

每次制作新菜谱时才能更换

随时更换

菜品清洁

贴条或服务器提醒

随时设置不可见可不可点

菜品信息

菜品、价格及简单介绍

菜名、价格、做法介绍,可以嵌入大量图文甚至视频

附加信息

健康提示、卡路里含量、配餐等

推荐菜品

制作菜谱时设定

随时设定

广告植入

基本上没有

可对自已或合作伙伴的产品进行演示推广

自助点菜

不能

客人点餐可以形成菜单确认后提交服务员

外观保持

使用久了会出现磨损、脱页等

更换封面,贴膜后保持常新

风格

不更换不可以变换

根据酒店风格定制界面,春节、中秋、圣诞、情人节等可以更换不同皮肤,增强节日气氛。也可以根据婚宴、寿宴等不同需求个性化定制,彰显时尚品味

制作成本

500-200元/本,2本/年,需要不间段地印刷,累计成本高

首次投资成本略高,累计成本低

 

二.             系统的模块划分

1) 顾客终端:该终端为顾客提供菜品搜索功能,顾客可以按菜品名或厨师名进行搜索,同时顾客可以看到菜品图片。顾客在点完菜品,点击“提交”按钮后,终端将把点菜消息发送到系统管理终端,系统管理终端登记点菜信息后向厨师终端转发点菜消息,表示做菜任务到达。将顾客的需求发送给系统管理端(平台是android系统的平板或手机)

2)系统管理终端:该终端负责进行对菜品、厨师的管理,并且包含账户控制、收银、销售统计等操作。在收银时负责打印票据,向顾客终端发送清理原信息的消息。该终端同时负责监测顾客终端和厨师终端的在线情况,并负责所有的通信消息处理。接受顾客终端和厨师中断的需求。(一台xp电脑)

3)厨师终端:该终端按“先来先服务”的原则为厨师分配做菜任务,并将菜品完成消息发送到系统管理端,可以由系统管理端进行处理也可以分离出单独一个模块。(一台或几台xp电脑)

4)数据终端:该终端负责数据的存储。将菜的信息,顾客的信息,餐桌使用情况的信息保存起来。(一台装了sql 2005的服务器,可以和系统管理中端共享一台电脑)

 

三.        系统的网络结构

 

四个终端都通过路邮器相连起来,顾客终端用wifi与路由器相连。

由于无线局域网传输距离的限制, 因此若脱离其无线服务覆盖范围时通信便会中断, 为解决此一问题须构建无缝的漫游连接. 以802.11b为例以三个不重叠信道1,6,11为基础向外扩充, 如此当无线网卡由信道11之覆盖区漫游至信道6之覆盖区时, 便能自动切换至信道6之服务区而不中断联机.同理可再由信道6之覆盖区漫游至信道1之覆盖区.这个如何实现现在还没有一个实现方法。

android 点餐系统 构思

 

四.        系统的工作流程

 

客人进入店中,服务员手持Pad查询空闲座位,带领客人进入座位,输入座位号,顾客人数进入系统,然后将Pad交给客人进行点餐。点餐完毕后提交发送到系统管理端,再发送给后厨进行打印制作。顾客就餐完毕,只接在Pad上面确认结账,收取客人款项后,结束服务。点餐到最后结帐都不在需要服务员。顾客也可以选择不在Pad上结帐,可以到前台也就是系统管理端结帐。

 

 

 android 点餐系统 构思

点菜流程:

android 点餐系统 构思

 

五.             数据表

本系统总共有9张表,即菜品表、菜销售表、点菜表、做菜表、管理员表、会员表,餐桌使用情况表,日志表和统计表,具体的表结构如表1–表7:

                                  表 1       菜品表

Dishes(菜品表)设计

字段名称

数据类型

主键

数据长度

数据范围

默认值

允许空

字段说明

dishid

char

8

DISH0001-DISH9999

DISH0001

菜品编号

dishname

nchar

50

 

 

菜品名称

dishprice

float

 

大于等于0.0

0.0

菜品单价

dishdiscount

float

 

大于0小于等于1

1

菜品折扣

dishpay

float

 

大于等于0小于等于菜品单价

菜品单价*菜品折扣

菜品折扣后的单价

freq

int

 

大于等于0

0

累计评分次数,用于动态统计平均分

scores

int

 

大于等于0

0

累计评价总分,用于动态统计平均分

average

int

 

大于等于0

0

平均分,等于总分/评次,每次评分后将重新计算

 

dishphoto

image

 

 

 

菜品图片

dishvariety

int

 

 

0

菜品口味

(一位代表一种口味)

                                                                                                         

                                                               表2          菜销售表

DishSales(菜销售表)设计

 

字段名称

数据类型

主键

数据长度

数据范围

默认值

允许空

字段说明

dishedtoken

int

 

 

Auto-increase

对属于一张桌子的菜单的标识

dishedtime

char

19

 

 

点菜时间,用于后厨按先来先服务原则分配做菜任务

deskid

int

 

1-50

 

桌号,记录发出点菜要求的顾客所在桌子

dishid

char

8

DISH0001-DISH9999

 

菜品编号,记录顾客所点菜品信息

amount

int

 

大于等于0

0

菜品份数,顾客对同一菜品所要求的量

dishpay

float

 

大于等于0

 

付款

                 

 

 

                                                    表3  点菜表(每个桌号对应一张表)

DishedTable(点菜表)设计

 

字段名称

数据类型

主键

数据长度

数据范围

默认值

允许空

字段说明

dishedtime

char

19

 

 

点菜时间,用于后厨按先来先服务原则分配做菜任务

deskid

int

 

1-50

 

桌号,记录发出点菜要求的顾客所在桌子

dishid

char

8

DISH0001-DISH9999

 

菜品编号,记录顾客所点菜品信息

amount

int

 

大于等于0

0

菜品份数,顾客对同一菜品所要求的量

dishvariety

int

 

大于等于0

 

口味

customers

int

 

 

 

顾客人数

memberid

char

10

0000000000-9999999999

 

会员ID

dishpay

float

 

大于等于0

 

付款

cooked

bool

 

 

 

是否已经做完

                 

                                                   

                                                              表 4  做菜表(从点餐表中获取)

CookingTable(做菜表)设计

字段名称

数据类型

主键

数据长度

数据范围

默认值

允许空

字段说明

dishid

char

8

DISH0001-DISH9999

DISH0001

菜品编号

amount

int

 

大于等于0

0

菜品份数,顾客对同一菜品所要求的量

dishvariety

int

 

大于等于0

 

口味

                                           

                                                                表 5      餐座使用情况表

DeskUse(做菜表)设计

字段名称

数据类型

主键

数据长度

数据范围

默认值

允许空

字段说明

deskid

char

8

DISH0001- DISH9999

COOK0001

桌号

use

bool

 

 

 

是否在使用

 

 

                                                                        表 6        管理员表

Admin(管理员表)设计

字段名称

数据类型

主键

数据长度

数据范围

默认值

允许空

字段说明

username

nchar

50

 

 

系统管理员账户名称,作为该表的主键

passwd

char

6

 

000000

账户密码,默认为“000000”

permission

int

 

0或1

0

管理员权限,0代表超级管理员,1代表普通管理员

 

                                     表 7      会员表

member(会员表)设计

字段名称

数据类型

主键

数据长度

数据范围

默认值

允许空

字段说明

memberid

char

10

 

 

会员ID

passwd

char

6

 

000000

账户密码,默认为“000000”

membername

char

10

 

0

会员姓名

customcounts

int

 

 

大于等于0

0

消费次数

custompay

float

 

 

大于等于0

0

共消费金额

 

                                                                     表 8   销售统计表

SalesStatistics(销售统计表)设计

字段名称

数据类型

主键

数据长度

数据范围

默认值

允许空

字段说明

date

char

10

 

 

日期

sales

float

 

大于等于0.0

0.0

销售额,结账后将销售额进行累加

                                                                  

                            表 9    日志记录表  

Logs(日志记录表)设计

字段名称

数据类型

主键

数据长度

数据范围

默认值

允许空

字段说明

logid

int

 

 

 

Auto-increase

日志标示,不断增加

identity

int

10

 

 

产生日志动作的身份

0:管理员 1:顾客

name

nchar

50

 

 

管理员:帐户名

顾客: 桌号

 

.      总结

     这个只是一个草稿,还有需多要考虑的方面还没有设计,比如客户端和服务端通信格式的定义,现在离完成这个project还有很长的路要走,希望自己能坚持下去,完成属于自己的project,现在就构思这么多了,等以后在添加修改。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151008.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 基于FPGA的SDRAM控制器设计(4)[通俗易懂]

    基于FPGA完整SDRAM控制器SDRAM控制器接口简述自动读写模块的框图SDRAM控制器完整代码SDRAM控制器的测试代码仿真结果SDRAM控制器接口简述完整的SDRAM控制器的模块框图如下:前面的三篇文章,我们已经简述了基本的SDRAM的基本操作。这里总结一下SDRAM的几个模块,SDRAM的上电初始化,自刷新、读写模块、顶层仲裁控制。了解了上面的操作,我们已经可以完成SDRAM控制器…

  • 学会Zookeeper分布式锁–让面试官对你刮目相看「建议收藏」

    业务场景:电商系统,用户下单,需要生成唯一的订单编号,并且需要有业务意义,而不能使用UUID这种字符串,比如:年-月-日-时-分-秒-自增序号2019-11-11-23-59-59-001订单编号生成器工具类OrderCodeGenerator/***@description:订单编号生成器*@author:stwen_gan*@date:**/pu…

  • 重启nginx后丢失nginx.pid的解决方法

    重启nginx后丢失nginx.pid的解决方法

  • 开盘八法图解_炒股能发财的只有一种人

    开盘八法图解_炒股能发财的只有一种人五、开盘解盘八诀1、跳空倍数法则早盘高开或低开超过5个点的时候,如果在10:30还没回补缺口,则通常全天最大跌幅是第一低点(高点)的倍数附近。(图1)2、三“15分钟”量超法则早盘高开或低开连

  • 多路复用_java多路复用

    多路复用_java多路复用1、说明socket编程的demo中使用的都是最基本的,但是一般不会真正用在项目中的代码。而实际项目中,需要面临复杂多变的需求环境,比如有多个socket连接,或者服务需要监听的时候,可能有很多so

  • pycharm如何分段运行_pycharm只运行部分代码

    pycharm如何分段运行_pycharm只运行部分代码在最新版的pycharm中拥有类似jupyter的分段执行代码功能,其使用方法如下:1.在想要分段运行的段前一行(空白行)输入#%%2.选择Usescientificmode3.分段运行的结果补充知识:Pycharm分行或分块执行介绍Pycharm中其实也可以使用类似于Spyder和Jupyter中的分行或分块执行,主要可以使用两种方法。需要注意的是,下面两种方法的本质都是在控制台执行,要注意…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号