武汉理工大学
毕业设计(论文)
基于Android的点餐系统的设计及实现
学院(系):  信息工程学院      
专业班级: 通信工程专业1205   
学生姓名:           
指导教师:         
本科生毕业设计(论文)任务书
学生姓名            专业班级             
指导教师              工作单位  武汉理工大学信息学院 
设计(论文)题目:   基于Android的点餐系统的设计及实现         
设计(论文)主要内容:
随着无线网络的不断发展,智能移动终端的迅速普及,越来越多的人开始体会到移动互联网带来的深刻变革。移动互联网不仅改变了人们的生活方式,甚至对人们工作方式也产生了巨大的影响。本课题主要实现一种基于Android系统的无线点餐系统,点餐过程无需工作人员干涉,可为顾客提供一种宽松的点餐环境,同时可为餐厅节约人力成本,实现点餐的方便快捷。
要求完成的主要任务:
1. 学习并掌握Android基础知识和编程技术;
2. 对点餐系统进行需求分析,并进行基本界面的设计;
3. 实现点餐系统的用户管理,订单管理和商户管理等基本功能,进行系统性能测试;
4. 撰写毕业设计论文;
5. 查阅参考文献15篇以上(其中英文文献不少于3篇);
6. 完成不少于12000字的毕业论文撰写并完成答辩的相关工作;
7. 完成不低于5000汉字(20000英文印刷符)的教师指定的相关文献的英译汉翻译;
8. 正文应包含不少于12幅图(包括:电路原理图、流程图、结构框图、程序框图等)
必读参考资料
[1] Bruce Eckel.Thinking In Java[M].Prentice Hall,Inc,USA.2009.
[2] Marko Gargenta, Masumi Nakamura.Learning Android[M].O'Reilly Media, Inc, USA.2012.
[3] James C,Sheusi.Android Application Development for Java Programmers[M].Cengage Learning,USA.2014.
[4] 张红强.3G技术在无线点餐系统中的应用支付分怎么开通[J].价值工程 2011(12).
[5] 杨丰盛.Android应用开发揭秘[M].北京: 机械工业出版社,2010.1.
[6] 张利国,龚海平,王植萌[M].Android移动开发入门与进阶.北京: 人民邮电出版社,2009.9.
指导教师签名:            系主任签名:       
院长签名                 
武汉理工大学
本科学生毕业设计(论文)开题报告
1 目的及意义
1.1 研究目的及意义
无线网络(如4G、3G、GPRS)及无线网络技术近年来得到不断发展,在此基础上,无线智能终端也快速发展,智能手机作为一种十分先进的智能终端,与移动操作系统和各种App的结合下,得到了广泛的应用。目前比较流行的移动操作系统有:iOS、Android、Windows Phone等,Google公司与包括中国移动、摩托罗拉等三十多家技术和无线应用的领军企业组成的开发联盟在2007年11月推出了一个专门为移动设备设计的软件平台-Android。自2008年起,截至到2015年9月短短几年其市场占有份额达到了53.34%,在中国市场占有份额更高。每年都有各种新Android手机发布。各种软硬件产品不断更新迭代,我们已然进入了数字化时代,这无时不刻的改变着人们的生活方式,人们也越来越追求快捷便利的服务。服务业要想适应时代潮流,必须改变传统的运营方式。
时代在发展,人们的生活水平也在提高,俗话说:民以食为天,各种餐饮业蓬勃发展。一些餐厅仍然采用传统的纸质菜单点餐方式由于是人工操作,效率很低,而且在点菜过程中容易出现各种错误,如传菜分单出错现象严重、加菜和查账程序比较繁琐、处理特殊口味有遗漏或偏差、客人催菜遗忘现象严重、不方便人员管理等等,这会引起消费者的不满,人们也对其提出了更高的服务要求。另外,在竞争日益激烈的餐饮行业,需要很多服务员,劳动力成本过高会影响企业的发展;餐饮行业与顾客的互动太少,顾客有时不能及时获得菜品状态和厨房的情况,餐饮业缺少评价体系,不能有效了解顾客的意见。
目前市场上存在的点餐系统大致分为以下几种:一是需要大型电子设备(如电脑)支持的触摸屏点餐系统;一是点菜宝;另一种是平板电脑点餐。
触摸屏点餐系统,这种系统的操作者为服务员,服务员根据触屏电脑的画面提示完成顾客的点餐要求。这种系统使点餐变得高效,也实现了无纸化操作,菜品更新也很方便。但是这种系统投资较大、成本太高,不易于大范围推广。
点菜宝点餐系统,这是一种具有无线功能的智能化点菜机服务员可以随时随地为顾客点菜、加菜,并即时把数据通过和服务器传到后台和分布在厨房与前台的打印机上,打印机立刻打印所点的菜单,而且所有的操作数据都储存在后台的数据库中,以备查询。其操作流程太复杂,成本也很高。
平板电脑点餐系统,此系统的操作者为顾客,顾客可通过画面提示自助完成点餐过程。这种系统使点餐变得更加高效,不需要更多的服务员,可以降低劳动力成本。但是这种系统成本太高,需要在每个餐桌上放置一个平板电脑。
所以餐饮业的服务方式亟需与时俱进,市场亟需一种便捷易用且价位适中的点餐系统。如今,越来越多的人拥有了智能手机,Android操作系统的智能手机被大部分人青睐。如今几乎人手一部安卓智能手机,若餐馆经营者选择安卓手机设计点餐系统时,可以节省终端硬件的开销,基于Android的无线点餐系统应运而生,此系统需要一个服务器端和一个客户端,两端通过无线网沟通。
基于Android的无线点餐系统主要面向那些规模较大,且需要提高点餐效率的餐厅,利用此系统可以大大提高餐厅的服务效率,解决了如下问题:人工填单时间过长导致顾客等的不耐烦、金额出错等等,此外这还大大节约了点餐成本,提高了管理水平,改善了人们的就餐环境,体现了现代餐厅的氛围,能够让客人们体会到服务人员在点餐上做出的努力。另外,此系统也不用让餐馆印纸质菜单,菜单在手机上一目了然,节约了很多资源,可以实现菜单实时更新,避免了纸质菜单在使用过程中丢页、变脏等问题,真正实现了餐馆的无纸化点餐操作,这有利于提升餐馆的服务水平与档次。
1.2 国内外研究现状
通过查阅大量资料,发现目前市场上存在的点餐系统主要有以下三种,这三种系统各有优缺点,详述如下。
第一种是大型触摸屏点餐系统。这种系统可取代传统收银系统,使服务员、传菜、厨房等与管理层之间建立联络。此系统采用开放式机构,使用Linux操作系统控制各部分。
这种点餐系统有如下优点。
    (1)实现了从点菜、操作间配菜、加菜、退菜、催菜、缓菜到顾客结帐的全过程自动化,不但极大地提高了点菜与结帐的效率,还可详尽地统计出菜式消费情况、营业收入情况等重要的企业运营数椐并生成报表,从根本上解决了餐饮业的现金管理问题、帐务错漏问题、结帐优惠问题等。
    (2)界面形象、友好;管理系统报表化,触摸屏图文并茂。用户可自定义各种报表格式,如菜谱、消费单、帐单、厨房制作单、各种统计分析报表。
    (3)可根椐需要在局域网上连接多个触摸屏,触摸屏连接在餐厅的局域网上。扩展方式灵活多样,可与掌上电脑点菜系统兼容并用,规模可大可小。
但这种系统也有一些缺点。
    (1)效率较低。一般每个餐厅只有有限个这种点餐系统,当顾客比较多时,需要很长时间排队。
    (2)不能移动,当客户需要加菜时,需要顾客起身来到触屏点餐机前,向服务员提出一些要求。
    (3)缺少评价体系。顾客就餐完毕后,需要对餐厅提出意见或建议时,没有相应的系统去完成。
第二种是点菜宝。通过具有无线功能的智能化点菜机,服务员可以随时随地为顾客点菜、加菜,并即时把数据传到后台和分布在厨房与前台的打印机上,打印机立刻打印所点的菜单,而且所有的操作数据都储存在后台的数据库中,以备查询,其功能几乎覆盖了餐饮行业服务的每一个环节。
这种点餐系统有如下优点:
    (1)操作简单。点菜机只需要输入菜品的拼音字头或对应菜品的编号即可,录入速度十分快。
    (2)无线数据下载。服务员可随时通过系统下载菜品等更新。
    (3)无线通信非常可靠。点菜机工作在一定的频率范围内,采用的特殊的抗干扰技术和自动跳频技术,保证了无线通信的高可靠性。传输速度很快,一般情况下单机每次业务的反应传输速度小于0.5秒。
    (4)轻便耐用。点菜机体积小重量轻,使用寿命长,省电。
但这种系统也有很多缺点:
    (1)屏幕太小。屏幕只有2-3寸,一次能显示的菜品数目只有8-10个,要一页一页的翻或输入拼音,这会导致服务人员工作量的加大。
    (2)效率低。服务员在录入菜品时很多情况下会跟不上顾客点菜的速度,有时甚至会出现录入错误的情况。
    (3)流程复杂。服务人员使用点菜宝之前需要进行培训,服务员要熟记对应菜品的编码或拼音。顾客需要加菜时,需要叫服务员,服务员再根据需求在点菜宝执行相关措施。
    (4)点菜宝自身的问题。很多点菜宝的触摸屏点击寿命有限,而在餐厅就餐人数很多每天要使用很多次,点菜宝功耗很大,有一些点菜宝充一次电使用时间太短。有时会出现提交错误的情况。
第三种是平板电脑点餐系统。此系统以平板电脑为终端,采用WIFI无线传输与后台服务器对接。
这种系统有如下优点。
1)屏幕尺寸较大。一般平板电脑屏幕尺寸是7-10寸,顾客一次可以看到很多菜品以及菜品的介绍,菜品根据类型归类,查询方便。
    (2)效率高。平板电脑由顾客自己操作,随意性强,顾客可随意添加菜品做法口味,也可随时加菜。
    (3)降低餐厅的开支成本,提升餐厅的运行效率。客人通过自助点餐与下单,这样降低了饭店的人力成本,服务员不用来回的跑动为客户提供点菜菜单以及往后厨报菜。
    (4)电子菜单代替传统纸质菜单,可以实时更新菜单,方便更新时令菜和新品,以及一些优惠套餐用来刺激消费。
但这种系统也有很多缺点:
(1)成本太高。相对于点菜宝,一台平板电脑的价格更贵,每个餐桌放置一台,增加了餐厅在点餐系统上的花销。
(2)不容易维护。在餐厅就餐,顾客难免会对平板电脑造成一定损坏。
2 研究(设计)的基本内容、目标、拟采用的技术方案及措施
2.1 研究目标
点餐的基本流程是当客户来到餐厅就餐时,首先根据餐厅提供的菜单点菜,点菜完毕后,由服务员或其他设备传送给厨房,等菜品做完之后,送到客户所在餐桌,其中在就餐时,客户也可以退菜或加菜。客户就餐完毕后进行结账并评价或给出建议等。
本设计要实现的点餐系统要满足下面的需求:
  (1)基于Android的点餐客户端与餐厅服务器端通过无线网络连接,需要完成就餐流程的自动化管理。
  (2)真正实现就餐无纸化,节约资源。
  (3)在客户端上,客户可以完整的看到餐厅的所有菜品,客户也可以查询当前餐桌情况和自己的订单,并可以在就餐结束后做出评价。
  (4)客户下单与添加菜品的操作需要与后台服务器实时同步以防止出现一些错误。
  (5)客户端能够实时更新菜品种类和餐桌使用情况。
针对以上需求,通过查询资料和研究,本设计主要实现无线点餐系统的基本功能和基于Android平台的软件设计、数据库的设计。本设计最终实现用户登陆、点餐管理、餐桌管理、结账管理等功能。
2.2 研究的基本内容
(1)系统架构
本系统主要采用当前非常流行的MVC设计模式,即Model-View-Controller模型视图控制器模式,此模型包括模型层、表示层、控制层三部分,每个层的作用不同,表示层的主要作用是展示系统信息,控制层用来转发表示层的数据请求以便到相应的处理程序,模型层主要用来存储数据。
(2)核心设计
选好设计模式之后,需要设计数据库,数据库的设计根据实际使用场景的需求,创建优化的模型,构建规范、合理的数据库,从而实现有效并高效存储、访问数据的目标。
设计好数据库之后,需要构建封转好的数据访问接口,以满足系统对数据库进行所有方式的访问。
(3)界面设计
在客户端上顾客通过各界面进行交互,主要界面及功能如下:
1、用户登陆界面:为了增强系统安全性,防止恶意登陆现象,点餐前必须登陆,登陆时,账号与密码会在服务器端数据库中查询,匹配的即可登陆成功进入主菜单界面。
2、主菜单界面:此界面主要实现的功能时显示各种功能菜单选项:点餐、查询、更新、结算、设置等,单机某个选项即可进入该选项的操作界面。
3、点餐界面:此界面可以实现三个功能,开桌、点餐、下单。
4、查询界面:可以查询餐馆当前的餐桌使用情况。
5、更新界面:可以从服务器端更新菜单与餐桌数量。
6、结算界面:就餐结束后,填入订单号根据消费金额结算。
2.3 拟采用的技术方案及措施
(1)搭建各种开发环境
在windows操作系统下安装JDK1.7并配置好环境变量,安装MySql、tomcat、eclipse、安装并配置好Android Developer Tools。
(2)编写数据库
根据需求编写数据库。主要编写的表有用户表、餐桌表、菜谱表、订单表等。
(3)服务器端开发
    主要在eclipse上进行,在编写数据库同时设计DAO(Data Access Object)数据访问接口,依据DAO编写各种实体类。依据数据库创建的DAO主要包括:UsersDAO接口(用来处理用户登陆问题)、UpdateDAO接口(用来处理餐桌及菜品的更新问题)、OrderDAO接口(用来处理开桌信息和点菜列表信息等问题)、CheckTableDAO接口(获得餐桌列表)、PayDAO接口(查询订单、处理结账等)等,并创建相应的实现类,根据数据库创建实体类。创建各种servlet来响应客户端的请求。
(4)客户端开发
客户端功能之一是通过各种界面与用户进行交互,每个界面通过Activity来实现,用安装了ADT插件的eclipse创建,需要创建的Activity有LoginActivity(用户登陆界面)、MainActivity(主菜单界面)、OrderActivity(点餐界面)、CheckTableActivity(查询界面)、UpdateActivity(更新界面)、PayActivity(结算界面)等。
服务器与客户端通过http通信,要分别在服务器与客户端编写响应的程序来实现。
每个模块编写完成后,要在服务器上运行并调试,发现问题后逐个排查并解决。
整体的技术路线如图1所示:
图1 技术路线图
3 进度安排
第1-3周:查阅相关文献资料,明确研究内容,了解研究所需理论基础。确定方案,完成开题报告。
第4-5周:熟悉掌握基本理论,完成英文资料的翻译,熟悉开发环境。
第6-9周:编写数据库,编程实现服务器端和客户端功能,并进行仿真调试。
第10-12周:针对具体的实验数据,完成整个系统的仿真,实现功能。
第13-16周:完成并修改毕业论文。
第17周:准备论文答辩。
4、指导教师意见
        指导教师签名:
年    月    日