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)
blank

相关推荐

  • java线程通信的三种方式「建议收藏」

    java线程通信的三种方式「建议收藏」1、传统的线程通信。在synchronized修饰的同步方法或者修饰的同步代码块中使用Object类提供的wait(),notify()和notifyAll()3个方法进行线程通信。关于这3个方法的解释:wait():导致当前线程等待,直到其他线程调用该同步监视器的notify()方法或notifyAll()方法来唤醒该线程。notify():唤醒在此…

  • 手动清除fun.xls.exe病毒的方法[通俗易懂]

    手动清除fun.xls.exe病毒的方法[通俗易懂](无法显示隐藏文件以及无法双击打开分区)用杀毒软件杀毒,所有驱动盘上的文件夹表现为不可见,实际为文件夹隐藏了。如何判断是中了该种病毒,可以通过在命令行下键入:cdC:’dir/ah如果有fun.x

  • termux安装kali图形界面_kali如何创建shell脚本

    termux安装kali图形界面_kali如何创建shell脚本解决方法:在终端输入以下命令行:sudogedit/usr/share/applications/Pycharm.desktop1进入gedit文档界面然后将里面的内容复制成:[DesktopEntry]Type=ApplicationName=PycharmGenericName=Pycharm3Comment=Pycharm3:ThePythonIDEExec=…

  • SpringBoot集成redis「建议收藏」

    SpringBoot集成redis「建议收藏」今天,日月在这里教大家如何使用springBoot集成redis,说实话比较简单,网上也有大把的教程。先套用一下网上的简介。定义REmoteDIctionaryServer(Redis)是一个由SalvatoreSanfilippo写的key-value存储系统。Redis是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value…

  • 网络爬虫原理解析「建议收藏」

    1、网络爬虫原理网络爬虫指按照一定的规则(模拟人工登录网页的方式),自动抓取网络上的程序。简单的说,就是讲你上网所看到页面上的内容获取下来,并进行存储。网络爬虫的爬行策略分为深度优先和广度优先。如下图是深度优先的一种遍历方式是A到B到D到E到C到F(ABDECF)而宽度优先的遍历方式ABCDEF。2、写网络爬虫的原因(1)互联网中的数据量大,我们不能人工的去收集数据,这样会很浪费时间与金钱…

  • apache做负载均衡_apache负载均衡配置

    apache做负载均衡_apache负载均衡配置测试都是在本地环境进行的。1、安装Apache服务下载:https://www.apachehaus.com/cgi-bin/download.plx?dli=hBjUYRWeZVjTEt2LOhlTykkVOpkVFd1aVpXQw0UU2、解压解压目录:E:\dev\Apache24。3、配置环境变量把路径【E:\dev\Apache24\bin】追加到环境变量PATH。4、配置Apache用文本编辑器配置文件:E:\dev\Apache24\conf\httpd.c

发表回复

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

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