无线点餐系统前端设计和实现毕业论文
2020-02-23 18:17:56
摘 要
本次的安卓无线点餐系统,主要是设计出一个能够在安卓移动设备上运行的,方便顾客在点餐时快速并且方便地查阅、选择以及购买菜品的系统前端。目前在传统餐饮业中,无线点餐形式并不普遍,点餐等许多简单功能必须需要人为实现。然而,通过该系统前端,客人能够很方便的与系统后端、餐厅后台等进行交互,从而轻松完成一系列就餐时的功能,大大地减少了餐厅所需的人力、物力,同时也极大地减少了许多因为就餐时由于人员粗心等问题出现的纰漏,也加快了整个就餐进程,提升了客户的就餐体验。本次的系统前端是利用java语言和安卓官方及第三方包,在android studio平台上实现,利用mvc模式进行开发,使得客户能够获得一个稳定、健壮、友好的无线点餐系统前端。
关键词:前端;无线点餐;安卓;开发;移动设备
Abstract
This Android wireless food-ordering system, as a system front-end, is focusing on designing a system which is able to run on many android mobile devices and provide convenient ways for customers to look up, select foods easily. Currently in traditional catering industry, wireless ordering style is not popular, some functions like ordering need to be implement by people. However, through this system front-end, customers can easily access the system background, restaurants background to interact with them, thus a series functions during ordering food can be done easily, which greatly reduce the material resources and finance, and reduce the times of mistakes made by careless people, and also accelerate the process of eating, improve the experience of customers. This system front-end is made by java language and android and others’ packages, implemented on android studio platform, use MVC idea to develop, so that customers can achieve a steady, strong, friendly wireless ordering system front-end.
Keywords: front-end; wireless ordering; android; development; mobile devices
目 录
第1章 绪论 1
1.1 无线点餐现状 1
1.2 无线点餐系统目的及内容 1
1.3 系统的实现方法及设计思路 2
1.3.1 实现方法 2
1.3.2 设计思路 2
第2章 应用需求分析与可行性分析 4
2.1 运行需求分析 4
2.2 其他需求分析 4
2.3 可行性分析 4
2.3.1经济可行性 4
2.3.2技术可行性 5
2.3.3 运行可行性 5
2.3.4 时间可行性 6
2.4 系统开发步骤 6
第3章 相关技术简介 7
3.1 Java简介 7
3.2 Android简介 7
3.3 MVC设计模式 8
3.4 安卓常用控件介绍 9
第4章 系统分析 11
4.1 系统体系结构 11
4.2 数据库结构设计 11
第5章 系统设计 13
5.1 系统结构设计 13
5.2 详细设计 13
5.2.1 用户登录模块 13
5.2.2 用户开桌模块 16
5.2.3 用户点餐模块 18
5.2.4 用户买单模块 20
5.2.5用户个人管理模块 23
第6章 系统调试与测试 25
6.1 程序调试 25
6.2 程序的测试 25
6.2.1 测试的重要性及目的 25
6.2.2 测试的步骤 25
6.2.3 测试的主要内容 26
第7章 总结与展望 26
参考文献 27
致谢 29
第1章 绪论
1.1无线点餐现状
当今的我们正生活在一个数字化的年代,在这个年代中,移动设备和无线技术都变得尤为重要,移动无线设备和无线应用开始运用于生活的各个不同的地方和场合。学校、商场、家庭、娱乐等等,它们都会渗透到人们生活的各个方面。而对于人们生活中最常接触到的餐饮业而言,无线技术的发展必当对其产生巨大的影响。无线点餐就是利用无线网络技术(目前主要是802.11b/802.11g无线局域网技术)实现随时随地的点菜过程,可以最大程度避免传统的点菜方式的弊病。
无线点菜系统已是餐饮行业发展的必然应用趋势。无线点菜系统正以其节省人力、提高效率、投入少而回报快、大大提升餐饮企业形象、及时了解库存以便及时采购相应所需、降低材料成本、报表功能强大清晰等诸多优势越来越被业界更多的酒店、餐饮行业所广泛认可和接受。 作为有一定实力且尤其注重企业形象的众多餐饮企业来说,外在硬件设施的确重要,当然也需要较多的投入,这的确解决了餐饮企业档次水平升级的问题。但内在的软件的提升同样重要,很多客人在就餐的时候真正关注的往往是就餐环境的服务形象、服务效率、服务水平、服务档次等等内在因素。很大程度上可以讲客人掏钱购买的实质上是我们的内在软服务。毕竟外在设施众多企业都能作到,大同小异,能让客人第二次第三次甚至更多次光临才是我们服务真正提高的水平价值所在。而这恰恰就是软水平的提升的实质所在,这一点也恰恰只有软水平提高了才能够作到,谁敢说这不是更重要的一环?因此无线点餐系统越来越受到餐饮企业的广泛关注。
1.2无线点餐系统目的及内容
对于日常餐饮业而言,点餐是一个十分消耗人力又极其重要的环节,传统的点餐方式都是纯人工操作,由服务员记录顾客点的菜,然后点完餐后记录顾客总消费,然后送到厨房告知厨师。但是这些环节看似简单机械,却极大地消耗了人力物力,并且十分容易出错。比如,点菜时,必须有一个服务员当场为顾客写单子,并且为顾客介绍菜品的相关内容,然后为其计算好价格,然后送到厨房等待上菜。那么当有许多客人同时点菜时,服务员的需求量将会十分的大。除此之外,这其中的每个环节都容易出现纰漏,例如向客人介绍菜品时,服务员可能将菜品上的信息记错,点餐时漏写或写错一道菜,计算价格时出错,手写单据字迹潦草从而导致上错菜、传菜分单出错现象严重、加菜和查账程序较繁琐。这些都会导致效率低下,顾客体验感大幅度降低。
正因如此,无线点餐模式应运而生。它极大地提高了在就餐中的整个流程,使得整个就餐服务人性化,机械化,不仅提高了客户体验,也减少了大量人力成本,也同时优化了服务流程,不容易出现差错。本次课题的目的,正是在于能够针对当下餐饮业点餐时的弊端,做出大幅度的改善,利用无线点餐技术,大幅提升餐饮业工作效率,从而消除了繁琐的人力点餐的弊病和缺点。
1.3系统的实现方法及设计思路
1.3.1实现方法
无线点菜系统的设备主体是无线点菜机,这是面对用户的服务终端。所有服务内容都可以通过服务终端进行确认并传送。无线点菜机即可由服务员使用也可由客人本身自助应用。界面简洁,易学易用,会用手机就会点菜机。几乎无需任何专业知识,认识汉字即可胜任。本次无线点餐系统是基于Android平台,利用java语言开发的,通过Android Studio这款包含了各种工具的集成开发环境进行开发,和在其自带的安卓虚拟机设备上进行运行和测试。并通过导入丰富的安卓自带官方包和其他第三方包来载入许多各式各样的控件等,从而完成前端界面的开发。
1.3.2设计思路
本次系统主要针对点餐系统的前端进行开发,使得客人能够在点餐时看到一个清晰,操作简单、界面友好。除此之外,还要满足界面简洁、图文并茂,按键式或触摸式点菜、服务员、顾客均易操作,菜单信息储存,菜单图片名字介绍、价格信息一览无余,输入便捷,新品、价格即时更新,方便收银、点菜及顾客浏览查看和即时显示顾客消费清单,方便结账。本次系统利用的开发工具是Android Studio,是Google公司推出的一款用于安卓开发的集成开发环境。Android Studio 提供了集成的 Android 开发工具用于开发和调试。Android Studio的开发环境和模式更加的丰富和便捷。尽管 Android设备拥有大量不同尺寸的屏幕和分辨率,但开发者可以很方便的调整在各个分辨率设备上的应用。同时Android Studio还解决语言问题,多语言版本、支持翻译都让开发者更适应全球开发环境。
此次开发,就是在满足以上功能和需求的基础上,利用上述工具从而完成此次的点餐系统。
第2章 应用需求分析与可行性分析
随着餐饮行业竞争激烈,在竞争环境中谁能多走一步谁就能赢得更多的利润之可能。尤其在树立良好企业形象,提高管理水平,节约成本控制,提高服务效率意识方面在竞争中就显得尤为重要!为了协助餐饮行业进行管理的提高和成本的节约,一个能够充分利用现有餐饮资源,并更好地优化餐饮服务的工具是势在必行的,而恰恰无线系统的应用正是为了解决这些问题,其信息化、智能化优势相比传统服务方式明显要高出一个档次。这既是技术发展的现状使然,更是市场发展的必要使然。无线点菜系统是一个独立的系统,用来解决餐饮中客户在从就餐前到就餐后包括买单的一系列服务,目的是高效且低成本提供给客户更加优良的就餐体验。
本系统主要是在Android Studio平台上,利用Java语言进行开发,整个系统必须要满足界面友好,操作简单,容易上手,使用也要十分安全。可以十分方便的满足客户的点餐,开桌,买单,用户管理,对菜单的查看,历史数据查看等操作。
2.1运行需求分析
硬件条件:安卓平板或者安卓手机
软件条件:Android系统
2.2其他需求分析
本无线点餐系统需要有较好的可维护性、可靠性、可理解性、效率。易于客户在点餐时的理解和操作。可维护性包括了可读性、可测试性等含义。可靠性通常包括正确性和健壮性。使得系统能够让客户直观的上手,并在任何操作方式下都能正常的运行,从而完成点餐过程。
2.3可行性分析
2.3.1经济可行性
经济可行性就是在了解了该餐厅经济能力承受力之后,通过比较该系统从开发到部署,以及后期人员学习及维护的费用,来对系统进行一个效益评估。在真正的商业用途中,系统开发所需的费用将会随着餐厅的需求而有着较大的变化,不过系统建成之后将为今后客户用餐管理提供很大的方便。开发、运行和维护费用主要包括:
购买相关点餐设备,包括前端和后端设备和开发或租用点餐系统的费用:移动设备硬件,教学费用,软件开发费用,操作人员和维护人员的工资费用、培训费用等。不过从上述花费中可以估算出,前期的花费是远小于后期的受益的,所以经济上是完全可行的。
2.3.2技术可行性
技术可行性主要是关注现成的技术条件和是否能够顺利完成开发工作,软硬件配置是否满足开发和使用的需求等。本次的安卓无线点餐系统用的是Java开发语言,开发较多利用安卓自身和第三方控件,由于无线点餐系统体积不大,所需性能不高,因此一般的安卓点餐设备都能满足开发的需求,在技术上是绝对可行的。软件方面:由于目前安卓软件相对发展成熟,Android Studio平台成熟可行,因此开发速度会有优势、系统可靠性会较高,又由于平台开源,因此开发费用也会相对低廉,能够很好的满足系统的需求。
2.3.3 运行可行性
运行可行性要考虑的包括,对新部署的安卓无线点餐系统在运行之后,会对现在的整个点餐环境造成什么样的影响和改变,比如餐厅内部的人员变动、管理方式、工作环境、工作方式以及对点餐服务的评价体系和标准。与此同时,由于新式的点餐系统不同于传统点餐需要简单人力即可,因此必须对原先的服务人员给予新的培训、学习,并使他们能够在既定的时间里,和预期的环境中顺利完成在无线点餐系统开发后的一系列伴随的任务和工作。
运行可行性是研究餐饮结构的影响,对现有工作人员和环境,以及对系统的接受能力还有人员培训的可行性。当前我国安卓开发技术已经非常普及和全面,基于安卓的各种各样的开发文档和解决方案,还有开发和操作人员都十分全面,因此无线点餐在运行上是完全可行的。
本系统的开发,是基于安卓的系统开发,并且主要是针对前端,也就是包括用户的交互界面,数据的传入,还有各种比如点餐数据的输出界面,以及用户的信息管理等。并且在开发中是使用Android Studio的集成开发环境,并采用MVC模式进行开发,十分的简单明了,容易上手。
2.3.4 时间可行性
时间可行性主要是从时间上去考察本系统的所需时间长度等,本次毕业设计,计算利用两个月的时间里学习相关知识并开发部分系统界面,时间上是完全可行的,可以完成大部分必要的资料阅读,和文档阅读,以及代码编写。
2.4 系统开发步骤
在一般的软件开发过程中,一般是以下四个步骤:1、需求:不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据,为了清楚地知道这些需求,你经常要和客户、项目经理以及项目伙伴交流。2、设计:编码前,肯定有个计划告诉你要做什么,结构是怎样等等。你一定要按照这个来做,否则可能会一团糟。3、编程: 如果在项目截止日,你的程序不能跑起来或达不到客户的要求,你就拿不到钱。4、测试 :目的是让你知道,什么时候算是完成了。如果你聪明,你就应该先写测试,这样可以及时知道你是否真地完成了。否则,你经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。
而对于本次的无线点餐系统来说,因为其体积较小,规模不大,因此可以不用像传统开发步骤一样繁琐,在开发时可以简单分成需求确立、界面设计和编程实现三个过程,这种开发流程的主要优势是在于,将开发的总体任务进行分解,并循序渐进地进行开发工作,前一个步骤的完成会很好地为后一步的步骤打好基础,每一个步骤所产生的结果,都会成为指导下一步开发流程的进行。这种在确立了每一个阶段需求和计划的开发步骤,可大大降低无线安卓点餐系统在开发过程中的复杂性,也易于开发工作的整体安排。
第3章 相关技术简介
3.1 Java简介
Java是由Sun公司推出的一种面向对象的编程语言以及语言和一种平台。它与传统的技术不同的是,其较为开放。许多的来自世界各地的公司都会尝试与它在技术上有需求。后来Sun公司被Oracle公司收购。
Java仍然是一门面向对象的编程语言,由于它的一切面向对象的思想,和非常易上手的包,所以并不需要太多的学习,就可以非常容易轻松地上手,从而用其开发新的软件。在Java中,没有了类似C 中的运算符重载或者手动的垃圾回收机制,取而代之的是一套自动的安全机制。不仅如此,Java的标准库体积不大,可以在许多小容量的机器中运行。除此之外,Java语言是分布式的。Java语言可以用于网络上的开发,它提供了用于网络应用编程的类库。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
3.2Android简介
目前,全球智能手机最主要的两大阵营是Android和iOS,它们都是移动操作系统的名称,它们背后的公司是谷歌和苹果,所以有时候也叫做谷歌系统和苹果系统。而操作系统则是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。比较主流的电脑端操作系统有微软的Windows、苹果的Macos及开源的Linux,相对与移动设备的主流操作系统就是Android和iOS。
Android是基于Linux系统内核开发设计的,Google在内核之上开发了自己的Dalvik Java虚拟机。由于采用Java虚拟机,所以在Android上开发原生App用的开发语言是Java。目前为止Android已经是全球最大的智能手机操作系统,究其原因, Android所具有的以下优势和特性:首先,Android系统完全开源,由于本身的内核是基于开源的Linux系统内核,所以Android从底层系统到上层用户类库、界面等都是完全开放的。任何个人、组织都可以查看学习源代码,也可以基于谷歌发布的版本做自己的系统。比如华为、小米、三星等大手机厂商都有自己个性化的Android系统,相对于谷歌发布的Android系统版本,手机厂商为突出自己的优势在一些功能上做了优化。另外,Android除了在智能手机上应用外,还在平板电脑、互联网电视、车载导航仪、智能手表及一些其它智能硬件上被广泛应用。所以对应的Android开发工程师将来的就业方向不一定都是移动设备App,其它方面的应用也相当广阔。在运行方面,Dalvik虚拟机相对于Sun VM来说有很多不同。比如Dalvik基于寄存器、Sun是基于栈;Dun虚拟机运行的是类文件,Dalvik是谷歌自定义的Dex文件。其在低速Cpu上表现的性能更高,对内存的使用也更高效。这恰恰是移动设备所需要的。
3.3MVC简介
MVC的意思是Model模型,View视图,Controller控制器,是一个对于软件开发时的设计思想。它用了一种将数据、逻辑和交互界面分离的思想来进行开发流程,在这种分离式的模式中,当编程人员需要更改界面时,不需要更改其他的部分,从而大量减少编程的时间和复杂度。所以,在MVC模型里,Model不依赖于View,但是View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。
由上述条件可以看出,MVC模式拥有以下的优点:由于在MVC模式下是可以让各种不同的视图来访问同一个服务器端的代码,因此多个视图共享一个模块。由于视图和业务是分离的模块,当更改视图的代码时就不用再对其他部分进行修改。另一方面,MVC的这种分离模式又十分利于后期的维护和修改