谢杭 沈滨伟 肖凯 施月 王世杰

摘要:移动互联网是未来互联网发展的趋势,为了将移动互联网技术运用于餐饮行业,解决过去人工点餐形式带来的低效繁杂的弊端,该课题基于C/S架构和MVC设计思想,研究并设计了一种基于Android的无线点餐系统,实现了顾客就餐全过程的自动化管理,提高餐馆的运营效率并提升用户体验,同时指出无线点餐系统的关键技术和实现难点,为无线点餐系统提供了一种通用的模式。

关键词:安卓;无线点餐;移动终端;自动化;餐馆

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2019)06-0063-03

Research and Design of Wireless Ordering System Based on Android

XIE Hang, SHEN Bin-wei, XIAO Kai, SHI Yue, WANG Shi-jie

(Civil Aviation University of China, Tianjin 300300, China)

Abstract: Mobile Internet is the trend of the future Internet development. In order to apply the mobile Internet technology to the catering industry and solve the inefficiency and complexity caused by the manual ordering method in the past, this topic is researched and designed based on the C/S architecture and MVC design ideas. A wireless ordering system based on Android realizes the automatic management of the whole process of customer dining, improves the operation efficiency of the restaurant and enhances the user experience. At the same time, it points out the key technologies and difficulties of the wireless ordering system, and provides a common model for wireless ordering systems.

Key words: Android; wireless ordering; mobile terminal; automation; restaurant

1 背景

过去餐厅使用的人工点餐形式,效率较低,劳工费用较高,且服务员和后厨的交流不及时,点餐业务容易出错,影响顾客就餐体验。随着移动互联网的发展,无线终端的通信能力和处理能力得到了极大的提升并开始普及,改变了人们的生活方式。基于当前的环境和技术,可以将过去烦琐重复的人工点餐交由机器代劳。本文介绍的无线点餐系统在点餐过程无需工作人员干涉,由精准的机器传递点菜信息,由可靠的后台来管理餐桌,由智能设备来完成重复繁杂的劳动和高效的交互交流。可为顾客提供一种宽松的点餐环境,同时可为餐厅节约人力成本,实现点餐的流程化,提高餐饮业的服务水平。

2 系统开发技术

2.1 开发工具

Eclipse平台:Eclipse是一个开放源代码的、基于Java的可扩展开放平台。

Android Studio:是谷歌推出一个Android集成开发工具,提供了集成的 Android 开发工具用于开发和调试。

Tomcat服务器:Tomcat是一个免费的、开放源代码的Web应用服务器。当主机配置好Apache服务器,便可通过它来响应HTML页面的访问请求。

2.2 Andriod系统

Android系统是由Google发布的一款基于Linux平台的智能移动终端操作系统,具有开源、免费的特点,其对智能移动终端的迅速普及起着至关重要的作用。Android开发的四大组件分别是:1)活动:用于表现功能;2)服务:后台运行服务,不提供界面呈现;3)广播接收器:用于接收广播;4)内容提供商:支持在多个应用中存储和读取数据,相当于数据库。Android系统架构采用了分层的思想,从底层到上层共包括4层:Linux内核层、系统运行库层、应用程序框架层和应用程序层。本系统的客户端就是基于Android系统。

2.3 Sevlet

Servlet是由Java语言编写的服务器端程序,运行于支持Java的应用服务器中,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。Java Web 应用程序中所有的请求-响应都是由 Servlet来完成的。本系统的服务器处理客户端请求的功能实现基于Servlet技术。其工作模式如图1:

3 系统整体架构

本系统的客户端采用基于Java语言的Android平台,网络通信使用Apache HTTP协议,后台Web服务器采用Servlet响应客户端请求。后台服务器采用JDBC访问Mysql数据库,而客户端部分数据存储于本地的SQLite数据库中。系统整体架构图如图2:

系统运行时,Android客户端通过无线网络访问Web服务器,并通过服务器访问后台数据库,进行数据的增删查改操作。

4 系统功能简介

4.1 服务器端

4.1.1 后台数据库

本系统通过JDBC接口连接Mysql数据库。数据库连接使用的是Java中的connection对象,通过connetion对象和MySQL驱动连接后台的数据库,并利用Servlet响应

4.1.2 功能实现

服务器端的实现基于MVC框架模式和分层的设计思想,使用经典的JSP + Servlet + Java bean的模式,将应用程序的输入、处理和输出分开。其中Servlet充当控制器的角色,负责从视图(JSP)读取数据,控制用户输入,并向模型(JavaBean)发送数据。

当客户端向服务器发起登录、下单、结账等请求的时候,系统会通过HTTP协议向服务器发出请求。服务器端会将客户端的请求信息进行解析,然后通过Sevlet技术将处理后的数据以Http-Response返回给客户端,由此来实现系统的数据交互。

服务器端的核心功能如图3:

4.1.3 核心代码

服务器主要用于响应客户端的请求。以下代码展示了后台服务器如何连接数据库并处理客户端发送过来的结账请求:

4.2 客户端

4.2.1 小型数据库

Android客户端采用了Android自带的SQLite数据库来存储用户登录、最新菜单和最新账单等信息。登录信息用于方便用户登录,简化登录操作;菜单和账单信息为用户提供信息查询功能,本地信息保存有利于减缓网路性能带来的压力并确保快速响应。

4.2.2 功能实现

Android客户端主要由以下几个管理模块构成:用户管理、桌号管理、菜品管理、订单管理等。

用户管理:包含用户注册和用户登录。用户注册功能将客户的账号和密码信息提交给服务器并进行存储;用户登录功能则通过无线网络,根据账号和密码,在后台验证是否存在该用户。

桌号管理:包含开桌、换桌和并桌。

开桌功能供用户选择当前空闲的桌位进行用餐;换桌、并桌功能则是为了满足顾客临时要求更换桌位的需要。

菜品管理:包含菜单更新和菜品浏览。

菜单更新功能用于与服务器同步菜单信息;菜品浏览功能用于向顾客展示菜品信息。

订单管理:包含下单、查看订单和结账。其中查看订单功能用于顾客查阅当前下单的菜品信息。

4.2.3 系统操作流程

Android客户端通过不同功能模块的组合实现了完整的点餐服务。

首先顾客进行登录操作,在后台进行密码验证,验证成功则进入系统功能首页,反之则回到登录页面进行二次验证;

接着顾客选择餐馆内空闲的桌位入座,并开始浏览菜品,然后根据自身喜好,进行点菜下单的操作,接着耐心等待服务员上菜后开始进行就餐;

在此期间顾客可以随时查看自身的订单明细,并可进行加菜或退菜的操作(同时如果顾客有需要,可以提出进行更换桌子或者与其他顾客合并桌子);

最后用餐完毕,顾客查看订单情况并进行结账操作,系统将自动释放被占用的桌号,然后完成此次服务。

综上,系统的基本数据流程图如图4:

5 结束语

综上所述,在如今万物互联以及5G即将普及的背景下,无线信息技术的应用会应用在各个领域,无线点餐系统就是餐饮业发展中的关键一步。本课题根据当前时代背景,以顾客的需求为设计前提,采用基于互联网的无线通讯技术,实现了基于Android的无线点餐系统。安卓端的用户点菜下单后,点菜相关信息和具体数据会被提交至服务器,PC端通过服务器查询到各餐桌的订单情况,可以有序且无差错地进行餐厅前台和厨房之间的交互,提高了餐饮行业的服务效率,实现人性化、自动化的服务目标,提供系统化的互联网餐厅解决方案。

参考文献:

[1] 郭霖. 第一行Android代码[M]. 2版.北京: 人民邮电出版社, 2016: 3-241.

[2] 孙卫琴. Tomcat与Java Web开发技术详解[M]. 2版.北京:电子工业出版社, 2009: 89-113.

[3] 郭宏志. Android应用开发详解[M].北京: 电子工业出版社, 2010: 159-171.

[4] 李兴华. Android开发实战经典[M].北京: 清华大学出版社, 2012: 252-282.

[5] Steve Suehring. Javascript从入门到精通[M].北京: 清华大学出版社, 2012: 313-332.

[6] 刘光瑞. tomcat架构解析[M].北京: 人民邮电出版社. 2017: 152-183.

[7] 孙卫琴. tomcat与javaweb开发技术详解[M].北京: 电子工业出版社, 2009: 90-109.

[8] Budi Kurniawan. Servlet和JSP学习指南[M]. 北京: 机械工业出版社, 2013: 52-71.

【通联编辑:谢媛媛】