




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
引 言一、研究背景餐饮行业是从古至今都兴盛的产业,而我们在吃饭点菜的时候,一般传统的餐饮业的点餐过程采用人工点餐的形式。传统的服务点餐模式是用户到达饭店后,自己选择位置,然后等候服务员带着菜单前来招呼用户进行点餐。工作人员用手工记录的方式记录下用户的点餐数据,在用户点餐结束后,将用户所点的菜单送到厨房进行做菜。然而,在正常的条件下,这些都可以有条不紊的进行,若赶在中午或晚高峰时期,用户会因为服务员照顾不到等候很长时间,用户容易产生厌烦心理,也会由于无法被照顾到而流失客源,降低用户对饭店的评价,这种经过多道人工接手的程序,不仅效率不高,而且容易出现问题,而直接影响了用户的用餐评价。而在当下社会,互联网已经迅猛发展,并且android手机平台大肆横行,利用互联网的广泛性、连通性和android手机平台的普及性、便捷性的特点,人们日常生活中不可或缺的一部分也逐渐有了移动设备的一席之地。我们设想可以发现android平台的移动手机设备在与点餐相结合后会产生巨大的冲击,在这种理念下设计和开发一款基于android的丰宴楼酒家无线点餐系统。该毕业设计在符合大部分用户的需求下,能够比较有效的解决由于人工传递浪费时间和资源的现象,可以有效避免这种效率低的人工环节。信息化的点餐系统也可以提高用户体验,提高服务质量,规整整个饭店的服务流程。打造一款方便快捷的用餐软件。二、研究的内容和意义本毕设在android手机平台横行的大环境下,利用互联网的广泛性、连通性和android手机平台的普及性、便捷性的特点,设计和开发一款基于android的丰宴楼酒家无线点餐系统。本毕设采用了client/serve和browser/server混合体系架构,分为web server程序和android手机应用程序两部分,丰宴楼酒家的服务人员作为web server程序的直接使用者,工作人员可以进行web server程序的操作和访问只需打开web浏览器就可以访问,实现对客户用餐情况的查询。android手机应用程序的目标用户是顾客,顾客在android手机上安装了该应用程序后,可以通过手机连接到wifi,通过注册登录用户名,能获得菜单情况和用餐情况,可根据个人操作进行预定座位并且进行点餐。该毕业设计在满足基本的大众需求下,能够有效的解决由于人工传递浪费时间和资源的现象,同时可以有效避免由于人工环节而造成的这种工作、服务效率低的的情况。信息化且智能化的点餐系统在可以提高用户体验的同时,能够提高服务质量,从而规整整个饭店的服务流程。本毕设的无线点餐系统帮助顾客在无服务员的情况下也无需等待可进行自主点餐,可实现客户和工作人员的双重便利。1 绪论1.1 无线点餐系统无线点餐系统是针对于无线网络技术的平台的基础上,在餐饮方向上为了使解决方案更加信息化而研发的综合性软件,其显著特征就是能够实现随时随地的进行点餐。当今社会条件下,高速发展的信息化已经逐渐成为了主流,而国内餐饮行业也正处於信息化的萌芽发展时期,由于餐饮行业的管理经营者不一定具有一定的计算机水平,餐饮业的传统经营方式和人们根深蒂固的点餐思想,限制性的因素使得餐饮业普及的信息化程度严重落后于其他行业。也正是因为此点原因,信息化的点餐方式由于没有被大众普遍接受,造成国内餐饮业的依赖于信息化无线点餐系统方式而得到的盈利份额比较小,但是,值得说的是,无线点餐系统引导的信息化餐饮业正处于一种上升的良好态势,餐饮行业开始由传统的方式开始创新,尝试选择使用信息化现代化的无线点餐系统。随着社会的进步和发展,每一个行业都要寻求一个新方式来突破它的发展瓶颈,要利于不败之地,就要寻求突破与创新,无线点餐系统将为餐饮业的发展贡献他最丰厚的力量。使用无线点餐系统的好处:1.节省人力资源餐饮业进行无线点餐的使用后,即使在繁忙的工作时间,原有的工作人员也是够用的,在没有足够充裕人数的情况下,用户可以进行自主点餐,下单,只需主动到前台结账即可。不需要多顾员工,节省了人力资源,也可以减少由于人工造成的失误率。2.较好的提高服务水平由于有了无线点餐系统的参与,服务人员可以从手忙脚乱的状态中得以解脱,能更好的以饱满的精神状态向用户提供更优质的服务。让用户提高对就饭店的认可度,在优质的服务中享受菜品。3.合理的降低商家成本无论是点餐还是下单,结账还是送菜,在无线系统的参与下,各个环节有了更优质的管理,和更好的服务。智能化的应用于管理,能很大程度减少人工失误而造成的成本浪费和资源浪费。1.2无线点餐系统的研究现状分析现今餐饮行业的主要服务方式有传统的手工录入和pad点餐的形式,而在这些已有的市场的点餐方式外,基于android手机无线点餐模式定会成为餐饮业点餐方式的主流。传统手工书写方式的点菜方法,由服务人员开单将顾客点菜信息写在纸上,然后交由后厨。这种传统的手工录入的点餐模式,在用户就餐的高峰时期会造成用户过长的时间等待,并且手工录入的传统点餐方式,会由于人工环节过多的参与造成信息录入错误的情况。为了避免这一现象市面上无线点餐系统因运而生。市面上的点餐系统一般为pad点餐,该种方式的的弊端就是pad的价格比较高,而且应用于此系统的pad只能用于点餐,相当于无形中增加了系统的成本,也就相当于造成浪费资源的现象。在本毕业设计中关于增加成本造成资源浪费的情况可以得到有效地解决。本毕设开发并运行在android平台上,整个系统分为用户应用客户端和服务人员操作服务器端两部分。在能继承pad点餐方式的优点基础上,抛去pad的高成本,选择客户手中的android作为客户端应用程序的载体,可以免去移动设备的这一项投资,相当于系统的成本得到了节约。而且android系统拥有强大的组件界面,在丰富的组件组成下,可以造就更强大的应用软件。在此条件下,用户只需接入无线网即可登录手机用户端,进行操作,简单易行。1.3毕设的研究目的、内容与意义本毕设在android手机平台横行的大环境下,利用互联网的广泛性、连通性和android手机平台的普及性、便捷性的特点,设计和开发一款基于android的丰宴楼酒家无线点餐系统。由于传统的餐饮点菜方式都是人工操作,服务员可能由于许多原因造成客户点菜信息的错误,或是因为字迹潦草,或是价格计算错误,人工处理过程中数据丢失等现象。传统的手写点餐方式,存在的众多弊端让餐饮业始终存在一个瓶颈,而没有继续向前,而我们惊奇的发现,随着信息化进程的加快,互联网的迅猛发展,无线点餐的方式将会成为一种潮流进驻人们的生活。方便快节奏的生活,也正需要这样一种方便简洁的方式;来满足用户的就餐需求。无线点餐模式,可以帮助用户在就餐的时候节省时间,自主下单,可以在提高工作人员工作效率的同时,减少人工造成的失误,降低餐厅的意外损失,将餐厅的服务水平提升,在用户体验上做足,赢得良好的用户口碑和信誉。而本毕设实在android大平台下进行编写,与数据库进行连接,设计开发了这款最终能进行预约菜品,预约时间,点餐,选座于一体的无线点餐系统。并保证系统能够运行成功,正常运作。各个界面之间能够进行良好的交互。在整个毕设中,应用android来进行功能的实现基本功能,无线点餐系统主要采用的事模型-视图-控制器mvc架构的设计模式。mvc架构是model-view-controller的缩写,中文翻译为模型-视图-控制器mvc应用程序总是由这三个部分组成。mvc架构是一种架构,需要其他模式来协同完成。同时也用到了一些前端控件来进行整个信息的录入工程。其中需要对输入的信息进行信息验证与数据库进行连接,链接方法是通过jdbc进行连接。在系统的整体规划中用数据流图和系统功能图分析系统所需要的数据,能够详细的展示出每个功能模块的流程和作用。该无线点餐系统,目前具备了较完善的应用功能,给用户较优质的用户体验,做到能够以一种创新型的思维来开启餐饮业的新纪元。1.4应用平台介绍android是在早期的时候由google开发的一款基于linux内核的操作系统,后来由开放手机联盟开发。android的技术结构主要分为三大部分。最底层是linux核心,这种核心针对于手机进行了专门的优化,里面的大部分都是驱动程序。他提供了操作系统所应该具有的核心功能。在linux核心之上是libraries和android runtime。基于此之上是aplication framework和aplications。而这些applications都是由软件开发者进行单独或集体开发。android平台五大优势:1)开放性平台android首当其冲的最大特色就是他的开放性,所以他的开发平台可以和多家移动终端的厂商进行合作,把他们一起加入到手机开放联盟中来。开放性的原则让android操作系统有了更多开发应用的人,应用的增多,移动厂商的增多,则大大提高了用户量,而android平台也在日益成俗强大。对于android来说,开放性的平台可以帮助它积累丰厚的用户人群和厂商。而对于用户来说,丰富的软件资源是受他们喜爱的,而这一点恰恰就是因为android的开放性,才给它带来这一现象,才让android手机操作系统在最短的时间能够被大家熟识。而因为开放手机联盟的做法,可以生产是和不同消费人群的手机,这样android手机面向了更多的目标用户人群,产生更丰硕的收益。2)挣脱运营商的束缚在过去的大面积时间里,尤其是欧美等国家,手机有很大程度上要受到运营商的强制影响,例如使用什么功能需要接入什么网络,没有足够的自主选择权利,要受制于人。iphone的存在有着一个重要的承前启后的意义,用户真正可以开始自主方便的链接网络,运营商不再拥有过分的制约权,手机开始跨入2g到3g的行列,手机随意接入网络业变得轻松简单。3)丰富的硬件选择android的开放性原则,给android平台创造了丰富而富有想法的产品。每个人都是一种不同的思路,开放性原则为我们的应用提供了更广阔的来源和更多变的思维方式。新鲜的功能和不同的特色,在共同的良好基础上,创造出更优秀的作品。而这些所有的特色和不同,不会妨碍数据同步或者软件兼容的问题。4)不受任何限制的开发商由于android开发平台给了开发商一个相对更加宽泛自由的开发环境,不会受到太多规矩的制约,这样给了android平台旺盛的生命力。但是也正因为如此,每一件事都有两面性,一些低于道德,和影响社会风气的程序和游戏也会出现。这是android平台现在正待解决的问题之一。5)与google十分契合的完美应用叱咤10年风云的google已经在互联网的领域上占据了不可撼动的地位,搜索巨人和全面的互联网渗透,google提供的服务覆盖地图、邮件和搜索等多方面,成为连接用户和互联网之间最重要的纽带。作为android平台的最直接监护人,anroid与google进行了完美的契合,无接缝结合google的最优质服务。1.5论文的组织结构本论文共分五章,其内容组织如下:第一章绪论。讲述了无线点餐系统软件的研发背景、研发目的和此软件的研发意义。第二章需求分析。分析和阐述了了无线点餐系统软件的功能需求、业务流程、数据流图、运行环境和开发环境。第三章详细设计。介绍了无线点餐系统软件的系统架构设计以及各个功能模块的详细设计。第四章软件实现。重点介绍了web server程序的实现,android应用程序与web server之间数据通信的实现,以及android手机应用程序的的实现原理与实现过程。论文的最后部分是总结。总结无线点餐系统软件开发过程的体会。因为个人水平的限制,论文中有不足之处恳请各位老师给予指正。2需求分析2.1 功能需求本毕业设计的目标用户主要针对于来丰宴楼酒家用餐的顾客。客户通过android手机终端使用本点餐系统。无限点餐系统主要为客户提供一个能够自主点餐的平台。平台上可以进行座位的选定、就餐时间的预约和直接选定、点菜功能、对菜品进行增加和删除、本餐桌点菜信息统计并结账等功能。本系统只有登录的用户才能使用,登录时需要提供帐号和密码。若用户是第一次登陆此点餐软件,则需要注册用户名和密码。注册时为了进行用户的对密码的强化记忆,需要输入两次输入相同的密码。登录成功后主页面有三大部分,一是今日菜品推荐,内容是每天的特价菜品,通过可视化界面向用户推荐特色菜,用户可通过直接的点击可以选中,直接添加到个人菜单中。特价菜的排布采用九宫格的方式排列,图文并茂的显示方式能够给用户好的视觉体验。二是预约模块可以进行预约点餐时间,当前就餐时间即选择当前日期,若选择未来的日期就餐,调整日期即可。日期选择好之后,输入就餐人数。选好就餐日期和就餐人数后进行座位的选择,已经被选择的座位会显示已有人就餐的字样,选择空位落座即可。三是进入点餐功能,点餐过程中将主菜,点心,饮品等进行了分类,利用可视化界面给客户提供良好的视觉感受,用户点餐可直接进行点击选择,即可把选中菜品添加到自己的菜单中。在我的菜单中客户可以查看自己的点餐情况和总金额,并且可以进行自主的所点食物的增加或者删减。点菜完成后可点击结账下单,即可自己到前台结账或等服务员前来结算。为了给前台收银工作人员提供一个简洁快捷的得到客户的就餐信息,通过为收银人员设计一个web server程序,让服务人员能够通过web界面快速查询到客户的用餐情况和就餐信息。2.2 业务流程本软件的目标用户有两类:顾客和工作人员。顾客通过android手机终端使用本软件,服务人员通过web浏览器访问web站点,实现对客户用餐情况的查询。2.2.1 客户的业务流程客户在android手机上安装本软件的客户端程序并运行后,首先进入到登陆界面,用户第一次登录需要注册用户名和密码,已有用户名的顾客可直接登录。用户登录成功后,可直接进入到主菜单界面。主菜单界面上主要有三大功能:一位今日菜品的特色推荐,二是预约模块,预约模块包括预约时间,预约座位和就餐人数。三为自主点餐模块(如图2-1所示)用户在进行功能模块选择时,只需点击即可进入到每个功能模块内。图2-1 客户的业务流程“系统登录”模块的业务流程用户需要进行用户名和密码的输入,才可以进入到点餐系统中。每个用户名都需要和数据空中的数据进行查询核对方可进入到点餐系统的主菜单界面。若用户没有用户名,则首先需要注册用户名和密码。有用户名和密码的用户只需直接录入个人信息即可进入系统(如图2-2所示)。图2-2 “系统登录”模块的业务流程“系统主菜单”模块的业务流程点餐系统通过录入用户名和密码登录成功之后,进入到系统的主菜单,主菜单是通过一个以文字加图形菜单的方式来显示系统的功能。主菜单显示的有:今日菜品推荐、预约和点餐三大部分。通过点击想选中的模块,便可进入到该功能的综合操作界面。客户在登录成功后进入主功能菜单即可看见今日菜品推荐部分,推荐菜品主要是为了回馈顾客特推的每天特价菜,每一道菜在菜名和价格的基础上配有相应的实物图客户若想选择此道菜,直接点击即可选中放入个人菜单中(如图2-3所示)。图2-3 “系统主菜单”模块的业务流程“预约就餐功能”模块的业务流程顾客有时需要提前预约就餐,登记预约时间,顾客信息及联系电话,为客户提前保留就餐位置。用户在主菜单界面通过选择进入到预约就餐时间界面,用户可以根据自己的需求选择时间。若用户就是进行当下就餐,即可选择当下时间,输入就餐人数方可。若选择在未来日期就餐,调到即将就餐日期,便可保留信息(如图2-4所示)。图2-4“预约就餐功能”模块的业务流程“查看餐桌情况”模块的业务流程顾客进入酒楼后,选定就餐时间后,需要确定就餐位置,即餐桌情况,来决定顾客就餐位置。需要通过查询数据库中的餐桌就餐数据来确定餐桌的情况,这一点可以通过可视化界面来显示。客户来到选择座位界面后,可以选择无人的座位进行选定落座,已有人选定的座位会显示有人的字样,并且不能被选择。顾客选择合适的座位后点击即可落座,并返回主菜单(如图2-5所示)。图2-5“查看餐桌情况”模块的业务流程“点餐功能”模块的业务流程点餐功能室该毕设中重要的功能模块,需要重点实现。该功能模块所需要的就是将用户的点餐信息收录,并将客户端的信息及时传送到服务人员所组要监管的服务器端。客户在主功能菜单上点击点餐即可进入点餐功能模块。菜品分为:主菜,点心,饮品三部分。每一部分点击有相应的图文,点击图片即可选中,并放入我的菜单中。菜品的选择都是实物图片,不给用户造成浮夸不真实的感觉。点餐结束后可点击结账进入到结算界面(如图2-6所示)。图2-6“点餐功能”模块的业务流程 “结算功能”模块的业务流程顾客点餐结束后需要进行结算,本系统采用下单后先进行结算的方式来进行。在我的菜单中,顾客可以看到自己的点餐信息,点餐信息包括所点菜品和菜品的单价、数目、和菜品总价。客户可以自行进行单一菜品的增加和删减。若有需要也可进行继续点菜,重新返回到点餐界面。确认点餐信息后,无需改动,即可点击结算。客户可带显示金额到前台进行结账,结账之后开始下单做菜。因为本系统针对于丰宴楼酒家,丰宴楼酒家属于中小型餐馆,在保障客户需求和服务的同时,能达到较好的用户体验即可(如图2-7所示)。图2-7“点餐功能”模块的业务流程2.2.2 服务人员的业务流程工作人员在pc机上用web浏览器访问本软件的服务器端web程序,web程序的主要功能是方便工作人员进行顾客的点餐信息和客户账单(如图2-8所示)。图2-8服务人员的业务流程工作人员通过web浏览器查看用户有无下单付款情况,根据前来用户提供的桌位号,点击收款,转跳到下一页面,可看到客户所点菜品的菜名、数量、单价和总应付金额等信息,用户结账后点击确认付款。2.3 数据流图图2-9服务人员的业务流程整个系统的数据流程是,工作人员可以通过web浏览器访问服务器端的web程序,将酒楼的菜品信息录入到服务器的数据库中;用户在android平台上进行手机客户端软件的运行,通过连接无线wifi,通过http协议与服务器端进行通信。用户在得到服务器端传来菜品信息后进行菜品的选择或者预约功能的操作。当用户完成操作后,手机用户操作的客户端会将已有的用户点餐信息传送回服务器端。工作人员可以在web端查看用户结账时所需要的一切用餐信息。之后,工作人员就可以根据上传的信息来准备酒楼的就餐座位和菜品(如图2-9所示)。2.4非功能需求分析非功能性需求是指系统的各方面综合功能的考虑,其中不光包括系统本身的性能要求,更重要的是功能之外的特色和差异需求。非功能需求的内容在可靠性方面也需要重要关注,而可扩展性在系统软件本身的业务的业务逻辑上存在很多外在影响。我们要在实用又经济且适宜大众需求的要求下进行开发和设计。本应用在界面设计方面要求简单易用,使用用户能够很容易上手,在应用的扩展性方面要求能根据用户变动的需求进行相应的扩展。2.5运行环境2.5.1 软件的运行环境本软件的目标用户有两类:顾客和服务人员。服务人员通过web浏览器访问服务器端的web程序,可以查询到顾客的点餐信息。顾客需要在android手机上下载并安装客户端程序,然后通过wifi登录,与服务器的数据同步获得最新的菜品内容信息,之后就可以在手机平台进行点餐。一、服务端:硬件要求:1、cpu:intel(r)core i3以上处理器;2、内存:4gb内存或以上;3、硬盘:8gb硬盘或以上;软件要求:1、操作系统:windows xp或windows 7旗舰版及以上版本;2、浏览器:ie6.0内核或以上版本二、客户端:硬件要求:cpu:频率1024mhz双核或以上处理器;内存:1g或以上内存;存储空间:2g或以上剩余容量分辨率:800*480或以上触摸屏;软件要求:操作系统:android2.0或以上版本。2.5.2 开发工具的选择为满足用户对软件运行环境的需求,同时考虑到软件开发的简洁性、软件代码的可扩展性与易维护性,对运行在android手机平台上的客户器端程序,我们选择了客户端开发环境为jdk + android + eclipse开发环境;对服务器端的web程序则选用了服务器端开发环境为mysql数据库 + myeclipse (web开发环境) + tomcat (web服务器)+jsp(视图)组合的开发环境。android development tools(安卓开发工具集)。在eclipse编译ide环境中,需安装adt(android development tools)plug-in,这是android在eclipse上的开发工具。目前android开发所用的开发工具是eclipse,在eclipse编译ide环境中,安装adt,为android开发提供开发工具的升级或者变更,简单理解为在eclipse下开发工具的升级下载工具。jdk(java development kit)是专门针对java开发员的产品。自从java入市以来,jdk已成为使用最常见的java sdk。整个java的核心是jdk,其中包括了java工具、java基础类库和java运行环境。学好java的第一步是jdk。android sdk(software development kit)是软件开发的工具包。被软件开发工程师用于为特定的软件框架、操作系统、软件包、硬件平台等建立应用软件的开发工具的集合。可以在计算机上虚拟出android虚拟机,方便开发人员测试。eclipse 是一个开放源代码的、基于java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,eclipse 附带了一个标准的插件集,包括java开发工具(java development kit,jdk)。它的优势在于能从编写、编译、帮助等方面为java语言进行量身定制。并且可以无限增加插件,而且由多家公司,和大的组织企业大力支持,最主要的是它的代码是开放的,并且是免费的。mysqlite,是一款轻型的数据库,是遵守acid的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品(android 、iphone)中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百k的内存就够了。总结来说,mysql数据库是一个开放源码的小型关联式数据库管理系统,其体积小、速度快、总体拥有成本低,尤其是他是开放源码。myeclipse企业级工作平台是对eclipse集成开发环境的扩展,利用这个先进的开发平台,我们可以完成对数据库和javaee的开发、发布以及应用程序。这样,服务器的整合效率将会提高。java作为当下盛行的一类编程语言,一个好的开发平台具备了功能丰富的javaee集成开发环境,其中包括了完备的编码、调试、测试和发布功能,完整支持html, struts, jsp, css,javascript,spring,sql,hibernate。tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,开发和调试jsp程序首选tomcat。因为它运行时占用的系统资源小,支持邮件服务与负载平衡且扩展性好等功能。所以得到很大的应用。3 软件设计3.1 系统架构设计本无线点餐系统采用了client/server和browser/server的混合架构。20世纪90年代client/server(客户端服务器)架构开始逐渐成熟,它将应用分为服务器端和客户端两部分,服务器(后台)主要负责数据的控制盒管理,而客户机(前台)则主要完成与用户的交互。并且client/server架构拥有强大的数据操作功能和事务处理能力,模型思想简单,容易被人们理解和接受。而browser/server(浏览器/服务器)架构,是基于web的一种网络结构模式,web浏览器是客户端最主要的操作平台。这种browser/server(浏览器/服务器)的架构模式完成了客户端的统一,将系统需实现的核心功能集中实施到服务器上,对系统的开发和维护得到了最大的简易化。如图3-1所示:本软件对服务人员用户采用了browser/server架构,对客户用户则采用了client/server架构。服务人员用户只需要打开web浏览器,就可以对本软件的菜品信息进行维护和更新,不需要安装任何的客户端程序,非常简捷方便,同时也大大降低了管理员的系统维护负担。菜品信息存放在服务器上,可以被多个客户用户异地访问。客户用户则需要先在android手机上安装本软件的客户端程序,才能获取服务器上最新的菜品信息,然后借助客户端程序提供的丰富的人机交互功能,进行点菜、订桌等操作。图3-1系统架构图3.2 功能模块设计软件的功能框图如图3-2所示:分为手机用户应用程序和工作人员web 应用程序两部分。其中,手机程序的用户是客户,它是运行在android手机上的,用来浏览菜品信息、订桌、下单等操作;web server程序的用户服务人员,服务人员通过web浏览器访问它,用来动态管理菜品信息。3.3 android手机应用程序根据顾客的应用需求,本毕设开发一个android手机应用程序为client/server架构,为顾客提供预约、点餐和推荐今日菜品一系列功能(如图3-2所示)。图3-2 软件的功能框图3.3.1系统的登录进入无线点餐系统之前,必须需要进行登录,进行系统验证,这是为了使系统的安全系数增加,提高用户保障。有用户名的用户可直接输入用户名和密码,点击登录即可进入点餐系统,开始点餐。如果用户为第一次登陆点餐系统,则需要注册用户名和密码。单击注册,便转跳到了用户名和密码的注册界面。填写完成后,用户界面转跳至登陆主界面,输入方才注册的用户名和密码即可进行用户验证并登陆。3.3.2“今日菜品推荐”模块的业务流程进行了相应的用户名密码验证后,用户成功登陆到主界面,第一大部分即是今日菜品推荐部分。今日菜品推荐模块的目的是向顾客介绍每天的特色菜。每一道菜都有详细的价钱,实物图和菜名搭配。用户选择此道菜,只需点击一下即可添加到个人菜单中。3.3.3“预约”模块的业务流程预约模块分为两部分:第一部分是预约时间,第二部分是预约座位。进入到主菜单后,可以看到三大模块中的预约模块。预约模块主要分为两种情况,第一种为用户直接来就餐,用户预约就餐时间便为当下时间。第二中为用户需要预定未来的就餐时间,选择将要就餐的日期、时间,还有就餐人数(用户选择好时间后,若当天超过预约半小时还没有到,即自动取消预约)即做好了预约时间的工作,可进入到座位选择界面进行座位的确定。确定好就餐时间和就餐人数后,可以继续选定就餐座位,来决定用餐桌号和位置。进入到可视化的座位安排界面后,通过与数据库中餐桌的就餐情况,分为两种情况,已被人预定的座位会显示有人的字样,没有被人预定的位置显示为空位。用户若选择已被人预定的座位不能被选择,选择未被预订的空位,只需点击即可落座。选定后用户返回主菜单界面。3.3.4“点餐”模块的业务流程无线点餐系统中的重要功能模块即是点餐模块,点餐模块分为两部分:第一部分为点餐,第二部分为结算。用户在主功能菜单上即可看到点餐模块,点击点餐便用户可以开始进行自主点餐。进入到点餐页面后,可看到三种分类的菜品,分别分为主菜、点心和饮品。相应的,每一种菜品都带有实物图,单价和菜名。这种设计就是为了能够做到图文并茂,给用户一个可以肉眼观看的视觉影响。点餐模块的主要任务为通过用户的操作,形成点菜信息,结束操作后,用户端通过http协议将用户生成的点餐信息传到服务器端。用户只需点击图片,即可选中此菜,并存录到我的个人菜单中。点餐结束后可点击查看我的菜单,进入到下一界面。用户结束点餐后,可以点击查看我的菜单,个人菜单信息会显示用户名,餐桌号,就餐人数,下单的时间和用户所点的菜品信息。菜品信息包括所点菜的名称,数目,单价和总价钱。用户可以根据个人需求进行所点菜色的增加和减少或删除。确定后可进行继续点餐或确定付款,若继续点餐,即可转跳回点餐界面。若确定付款,会提示用户“下单已成功,请到前台结账”用户看到提示后,可携带现金到前台进行结算。客户结账后,开始下单做菜。3.3.2 web server程序为了满足酒家对菜单以及各项服务动态更新的需求,本毕业设计开发一个应用程序为client/server架构,服务器端主要是针对数据库操作,为android手机端的客户端提供菜单数据、更新菜单信息,处理来自客户端的请求,记录点餐数据,响应客户端各个模块的功能服务。特别为服务人员设计开发的web浏览器端主要用于客户下单点击结算后,工作人员通过web浏览器查看用户有无下单付款情况,根据前来用户提供的桌位号,点击收款,转跳到下一页面,可看到客户所点菜品的菜名、数量、单价和总应付金额等信息,用户结账后点击确认付款。对工作人员不需要有计算机的专业知识,只是简单的单击操作即可完成。3.4 数据库设计在计算机的软件领域中数据库的研究一直是一个重要的课题,从60年代开始,50年来的研究,一直到今天,数据库技术有了迅猛的发展,已经组成了一套完整的理论和体系。这样理解看来,数据库可以当成是数据的存储池。mysql数据库。mysql数据库作为一种开放源代码的小型数据库,它拥有极多的特色。比如它较小的体积和它的低价成本和速度快的特点,都成为首选因素。图3-4为本系统数据库设计表(如图3-3所示)图3-3 数据库设计表3.4.1系统数据库表本无线点餐系统共有6张数据表,分别是menutbl表、menutypetbl表、orderdetailtbl表、ordertbl表、tabletbl表、usertbl表。3.4.2系统数据库表关系结构图如图3-4所示:图3-4 系统数据库表关系结构图4 软件实现4.1 web server程序的实现servlet属于在服务器上运行的小型程序。servlet的主要功能是能够进行交互式的浏览数据和修改数据,并且能够动态成成web内容。整个基本流程是:由用户操作的客户端发送信息到服务器端,服务器端在收到客户端发送过来的请求后,便及时发送信息给servlet,servlet生成客户端的发送的请求回应后,可立即传送给服务器端。4.2 android应用程序与web server之间数据通信的实现本程序的客户端和服务器会通过网络实现数据通信,客户端会实时从服务器下载菜品信息并获得今日菜品推荐信息,预约信息和点餐信息也会通过网络实时同步到服务器。因此,本程序的客户端和服务器端会通过http协议传输网络数据。数据格式定义如下:id,名称,拼音简写,单价,数量,备注,分类;按照点餐模块的需求,当用户向服务器发送了请求之后,客户端就会将数据进行代码中编写的自定义格式的封装:1,米饭,mf,2.00,1,大米饭,主菜;若有多个菜品信息,则每个菜品信息中间用“隔开。我们已经在android端的应用程序设置了web端的ip地址加上既定的端口号,用户在登录成功后,进入到点餐模块。用户生成点餐信息后,应用程序会主动发送给客户端设置的ip地址发送请求信息,而数据请求信息需要要求在wifi环境下才可主动发送。服务器在收到客户端发送的点餐数据的请求信息后,会访问mysql数据库进行信息整理,在获得点餐信息的中心数据后,按照上述,封装成上述自定义的格式返回给客户端。封装成如上格式并发送给客户端android应用程序的核心代码如下:public class fooddaoimpl implements fooddao public list findmenubymenutypeid(int menutypeid) string sql = select id,typeid,name,price,pic,remark from menutbl where typeid=? order by id;dbutil util = new dbutil();connection conn = util.openconnection();try preparedstatement pstmt = conn.preparestatement(sql);pstmt.setint(1, menutypeid);resultset rs = pstmt.executequery();list list = new arraylist();while (rs.next() menu m = new menu();m.setid(rs.getint(id);m.setname(rs.getstring(name);m.setpic(rs.getstring(pic);m.setprice(rs.getint(price);m.setremark(rs.getstring(remark);m.settypeid(rs.getint(typeid);list.add(m);return list; catch (sqlexception e) e.printstacktrace(); finally util.closeconn(conn);return null;android开应用程序获得web server的响应数据后,先进行规定格式解释,然后显示在界面上。android应用程序接收数据并进行显示的核心代码如下:public class myadapter extends baseadapter public imageview imageview;public textview foodname;public textview price;public textview totole;public textview num;public button add;public button down;public button delet;private layoutinflater minflater;public myadapter(context context) this.minflater = layoutinflater.from(context);overridepublic int getcount() / todo auto-generated method stubreturn list.size();overridepublic object getitem(int arg0) / todo auto-generated method stubreturn arg0;overridepublic long getitemid(int arg0) / todo auto-generated method stubreturn arg0;overridepublic view getview(int position, view convertview, viewgroup parent) final int index = position;/ 当前第几个convertview = minflater.inflate(r.layout.myfood_list, null);imageview = (imageview) convertview.findviewbyid(r.id.myfoodoneimg);foodname = (textview) convertview.findviewbyid(r.id.myfoodonename);price = (textview) convertview.findviewbyid(r.id.myfoodonepic);num = (textview) convertview.findviewbyid(r.id.myfoodonenum);totole = (textview) convertview.findviewbyid(r.id.myfoodonetotle);orderfood f = (orderfood) list.get(position);string pic = (f.getpic();if (pic.equals(mf) imageview.setimageresource(r.drawable.mf); else if (pic.equals(pj) imageview.setimageresource(r.drawable.pj); else if (pic.equals(hj) imageview.setimageresource(r.drawable.hj); else if (pic.equals(dj) imageview.setimageresource(r.drawable.dj); else if (pic.equals(jnc) imageview.setimageresource(r.drawable.jnc); else if (pic.equals(kl) imageview.setimageresource(r.drawable.kl); else if (pic.equals(nc) imageview.setimageresource(r.drawable.nc); else if (pic.equals(gz) imageview.setimageresource(r.drawable.gz); else if (pic.equals(yzcm) imageview.setimageresource(r.drawable.yzcm); else if (pic.equals(cdm) imageview.setimageresource(r.drawable.cdm); else if (pic.equals(eg) imageview.setimageresource(r.drawable.eg); else if (pic.equals(jc) imageview.setimageresource(r.drawable.jc); else if (pic.equals(dty) imageview.setimageresource(r.drawable.dty); else if (pic.equals(sgsl) imageview.setimageresource(r.drawable.sgsl); else if (pic.equals(tds) imageview.setimageresource(r.drawable.tds); else if (pic.equals(qch) imageview.setimageresource(r.drawable.qch); else if (pic.equals(qzy) imageview.setimageresource(r.drawable.qzy); else if (pic.equals(gbjd) imageview.setimageresource(r.drawable.gbjd); else if (pic.equals(yxrs) imageview.setimageresource(r.drawable.yxrs); else if (pic.equals(xmt) imageview.setimageresource(r.drawable.xmt); else if (pic.equals(nr) imageview.setimageresource(r.drawable.nr); else if (pic.equals(rmqz) imageview.setimageresource(r.drawable.rmqz); else if (pic.equals(yt) imageview.setimageresource(r.drawable.yt); else if (pic.eq
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川公务员真题2025
- 蚌埠事业单位笔试真题2025
- 第2课 信息处理的好助手说课稿-2023-2024学年小学信息技术(信息科技)第一册(供三年级使用)浙教版(广西)
- 2025加工承揽合同与销售代理合同的区别
- 广东省仲元中学高中信息技术教案实例解析Photoshop图层样式的各项命令
- Unit 3 Mysteries of the World说课稿-2025-2026学年高中英语重庆大学版选修十一-重大版2004
- 本册综合说课稿-2025-2026学年高中体育人教版2019必修第一册-人教版
- 劳动项目三 烹调酸辣汤说课稿-2023-2024学年初中劳动七年级上册人教版
- 六、运动和力的关系说课稿-2023-2024学年初中物理八年级全一册北京课改版
- 2017年高二人教版选修3-1第三章磁场第四节《通电导线在磁场中受到的力》教学设计
- 居室环境的清洁与消毒
- ××领导班子及成员分析研判报告
- GB/T 9124.1-2019钢制管法兰第1部分:PN系列
- GB/T 2518-2008连续热镀锌钢板及钢带
- Frenchay构音障碍评定
- 第二讲国外教育评价的发展历程
- 教育学原理课后答案主编项贤明
- 建筑装饰施工技术-轻质隔墙工程施工课件(-)
- 语言领域核心经验《学前儿童语言学习与发展核心经验》
- 德国工业4.0与数字化制造课件
- 肉制品加工技术完整版ppt课件全套教程(最新)
评论
0/150
提交评论