无线点餐系统毕业论文正文结论参考文献
- 格式:doc
- 大小:1.74 MB
- 文档页数:41
本科毕业设计 (论文)基于Android的校园无线点餐系统的设计与实现Design and Implementation of Campus Wireless Ordering system based on Android学院:计算机工程学院专业班级:计算机科学与技术学生姓名:学号:指导教师:2013年6月目录1 绪论 (1)1.1 课题的背景及意义 (1)1.2 国内外研究现状及发展趋势 (1)1.3课题内容简介 (2)1.4 可行性研究 (3)2 系统需求分析 (6)2.1 功能需求分析 (6)2.2 性能需求分析 (8)2.3 系统的逻辑模型 (8)2.4 数据库设计 (9)3 系统的分析与设计 (18)3.1 系统的硬件结构图 (18)3.2 系统总体功能结构 (19)3.3 系统开发与支持运行环境 (20)3.4 系统主要功能的详细设计 (21)4 系统功能模块实现 (23)4.1 Android端功能模块实现 (23)4.2 PC端功能模块实现 (26)5. 系统评价 (33)5.1 系统特色 (33)5.2 系统存在的不足 (33)5.3 设计收获和心得 (34)结论 (35)致谢 (36)参考文献 (37)1 绪论1.1 课题的背景及意义1.1.1 课题的背景餐饮业作为我国第三产业中一个传统服务性行业,经历了改革开放起步、数量型扩展、规模连锁发展和品牌提升战略4个阶段,已然取得了突飞猛进的发展。
与之同时,人力资源匮乏、经营成本高涨、标准化难度大,构成了三大挑战,至今为止,绝大多数餐饮企业,还停留在“一张纸”的阶段,点菜、结算、统计、出入库等等都需要人员手工记录,这不仅给企业带来了高的经营成本,同时人员安排的不合理也造成了人力资源的匮乏以及很难做到统一的标准化管理。
1.1.2 课题的意义随着无线网络的不断发展,餐饮业也在进行着信息化的改造,主要有:由传统的笔和纸点餐变更到电子点餐,用电脑的简单操作替换了传统的人工计算、统计、管理等等繁琐的工作…将现代化的电子技术、无线技术、计算机网络等等引进到餐饮业中来无疑是餐饮业的一次重大变革。
毕业设计开题报告电子信息工程基于无线通信的点菜系统软件设计1、前言部分人类利用无线通信方法的历史已经有几千年了,古时候用的烽火就是最原始无线通信的影子。
但那时候的无线通信技术还只是处于萌芽阶段,只有到19世纪末意大利人马可尼发明无线电报开始,人类才开始真正大规模使用无线通信技术[1]。
近数十年来随着计算机技术和电子通信技术的发展,无线通信技术更是以日新月异的速度向前发展,它也成为了通信领域的重点研究方向之一。
现代的无线通信技术是建立在硬件电路基础上的,因此微电子技术的发展就直接制约着无线通信技术的发展。
回顾集成电路的发展历程,我们可以发现,自发明集成电路至今40多年以来,“从电路集成到系统集成”这句话是对IC产品特大规模集成电路发展过程的最好总结,即整个集成电路产品的发展经历了从传统的板上系统(System-on-board)到片上系统(System-on-a-chip)的过程[2-5]。
随着集成程度的不断提高,芯片的体积能耗和成本在逐步的降低。
这也促使电子产品向便携式和低端市场发展。
虽然微电子的发展历史已经有半个多世纪,但是射频芯片的发展却是近几年的事。
从分类上来看,射频芯片属于专用集成电路。
目前国际上有很多专门生产射频芯片的公司,例如Nordic公司和Chipcon公司。
这些芯片一般工作在免费频段,采用专门的调制解调技术,内部集成了很多的电路[6-9]。
例如Nordic公司的NRF2401芯片,它是单片射频收发芯片,工作于2.4~2.5GHz ISM(Industry Science medicine,工业、科学、医学)频段,芯片内置了频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。
芯片能耗非常低,以-5dBm的功率发射时,工作电流只有10.5mA,接收时工作电流只有18mA,有多种低功率工作模式使节能设计更为方便。
无线电子点菜系统是无线通信技术的一个典型的应用。
网上订餐应用毕业论文摘要本文探讨了网上订餐应用的发展和影响。
首先,介绍了网上订餐应用的背景和概况。
然后,分析了网上订餐应用对餐饮行业的影响,包括提高效率、扩大市场和促进消费者体验等方面。
接着,探讨了网上订餐应用存在的问题和挑战,如安全性和隐私保护等。
最后,提出了一些改进建议,以提高网上订餐应用的发展和应用。
引言随着互联网的快速发展,网上订餐应用成为餐饮行业的重要创新与突破点。
无论是传统餐厅还是快餐连锁店,都纷纷加入到网上订餐应用的行列中来。
这种应用通过在线平台提供订餐服务,消费者可以方便地在手机上订餐并享受送餐服务。
本文将探讨网上订餐应用的发展和影响。
网上订餐应用的背景和概况对比传统电话订餐方式,网上订餐应用具有更高的效率和便利性。
消费者可以通过手机应用程序随时随地下订单,无需等待和错过任何订餐机会。
同时,餐厅也可以通过在线平台管理订单,并提高订单处理的效率。
网上订餐应用的广泛普及使得餐饮行业迎来了新的增长机遇。
网上订餐应用对餐饮行业的影响提高效率通过网上订餐应用,消费者可以快速浏览餐厅菜单并下单,避免了餐厅电话被占线的情况。
餐厅也可以通过在线管理订单,减少人工处理的时间和成本。
这种高效率的订餐方式可以提高餐厅的整体运营效率。
扩大市场网上订餐应用可以让餐饮企业拓展更大的市场。
通过在线平台,餐厅可以吸引更多的消费者,尤其是那些忙碌的上班族和年轻人。
同时,消费者也可以方便地在附近或远离他们所在地的地方选择喜欢的餐厅。
促进消费者体验网上订餐应用可以提供更好的消费者体验。
消费者可以通过应用程序浏览菜单、查看评论和评价,并根据自己的喜好进行选择。
此外,送餐服务也可以提供更加准时和方便的服务,让消费者享受到更好的用餐体验。
网上订餐应用存在的问题和挑战安全性和隐私保护在网上订餐应用中,消费者的个人信息、支付信息等往往需要提供。
因此,保护消费者的信息安全和隐私成为一项重要任务。
网上订餐应用需要加强技术手段和管理措施,确保消费者的信息得到妥善保护,防止信息泄露和滥用。
1 绪论1.1研究的背景及意义民以食为天。餐饮业是一种个性化、多样化的服务产业,餐饮传统的点菜方式是纯人工操作,由服务员记录顾客点的菜,在具体工作中容易出现以下问题:手写单据字迹潦草从而导致上错菜、传菜分单出错现象严重、加菜和查账程序较繁琐。处理特殊口味有遗漏和偏差、客人催菜遗忘现象较频繁、计算账单易出错、不方便人员管理等等。电子商务则是最能凸显个性化、多样化服务的商务方式。随着网络技术的发展和普及,方便、快捷、个性化的网上订餐正在进入人们的生活。正因如此,无线点餐模式应运而生。它不仅可以有效地提高餐饮业的工作效率,更可以规范服务体系,提高整体服务质量和管理水平,并为规模化经营提供了坚实的技术基础。服务员使用手持终端为顾客点餐,当消费者点完餐后,服务员将存储在手持终端内的点餐信息,点餐信息同时也能被前台看到,方便快捷。1.2本文主要内容本文介绍了无线点餐系统的开发过程。论文详尽论述了从需求分析、系统分析、概要设计、详细设计以及测试与调试的整个开发过程。首先系统地研究了无线点餐系统的背景和意义,分析了当今点餐系统的特点和共性,从而得出设计本系统的思路和方法。接着介绍了实现系统开发的Android平台环境,数据库用MySQL实现。同时简要介绍了以上工具的功能和方法。概要设计分成后台数据库管理操作设计和客户端操作设计,同时介绍了数据库的建立和维护。详细设计主要阐述了点菜管理、并台管理、查台管理,转台管理,注销等实现,并给出了系统的部分设计代码。2 相关技术和开发环境2.1 系统架构无线点餐系统主要用到采用模型-视图-控制器MVC架构的设计模式。MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,一旦M改变,V 应该同步更新。视图是用户看到并与之交互的界面。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器接收用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。总的来说MVC的处理过程,就是首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。2.2关键技术2.2.1 JDBCJDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API 编写数据库应用程序,同时,JDBC也是个商标名。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java 语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。2.2.2 JqueryJquery是继prototype之后又一个优秀的Javascrīpt框架,由美国人John Resig创建。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+,Safari 2.0+,Opera 9.0+)。Jquery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供Ajax交互。Jquery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。Jquery能够使用户的HTML页保持代码和HTML内容分离,也就是说,不用再在html 里面插入一堆js来调用命令了,只需定义id即可。2.2.3 AjaxAjax指异步JavaScript及XML(Asynchronous JavaScript And XML),是一种用于创建更好更快以及交互性更强的Web应用程序的技术。Ajax的核心是JavaScript对象XmlHttpRequest。Ajax在浏览器与Web 服务器之间使用异步数据传输(HTTP 请求)。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。通过Ajax,您的JavaScript可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信。通过这个对象,您的JavaScript可在不重载页面的情况与Web服务器交换数据,这样就可使网页从服务器请求少量的信息。Web应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。2.3 开发环境及平台2.3.1 EclipseEclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools,JDT)。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。1.Eclipse的主要构成Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以GPL发布,第三方组件有各自自身的许可协议。2.Eclipse Android环境搭建1)JDK安装a)我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:JAVA_HOME值为:安装JDK的目录;CLASSPATH值为:D:\AndroidDeveloper\android-sdk-windows\tools;b)Path:在开始追加%JAVA_HOME%\bin;c)NOTE:前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入Java –version查看JDK的版本信息。2)Eclipse安装在/downloads/,下载Eclipse IDE for Java Developers(92M)的win 32bit版,Android SDK安装在Android Developers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。a)运行SDK Setup.exe,点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的“Force https://...” 这项,再点击Available Packages。b)选择希望安装的SDK及其文档或者其它包,点击Installation Selected、AcceptAll、Install Accepted,开始下载安装所选包。c)在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:\AndroidDevelop\android-sdk-windows\tools)。2.3.2MyEclipseMyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。在对于毕业课题的设计中,Android终端设备客户端是采用Eclipse开发工具开发的;而Web版本是采用MyEclipse开发工具开发的。2.3.3 Tomcat服务器Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache独立的进程单独运行的。当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。2.3.4 应用平台AndroidAndroid是基于Linux内核的操作系统,早期由Google开发,后由开放手机联盟开发。它采用了软件堆的架构,主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为GPhone。它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分:底层以Linux核心为基础,由c语言开发,只提供基本功能。中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java编写。Android平台五大优势特色:1)开放性在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。2)挣脱运营商的束缚在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从iPhone上市,用户可以更加方便地连接网络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。3)丰富的硬件选择这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。好比你从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。4)不受任何限制的开发商Android平台提供给第三方开发商一个十分宽泛、自由的环境。因此不会受到各种条条框框的阻挠,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难题之一。5)无缝结合的Google应用如今叱咤互联网的Google已经走过10年历史。从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。3订餐系统分析与设计3.1需求分析3.1.1 系统目标和要求首先,我们得确定使用这个系统的用户应该有顾客、服务员、收银员。顾客和服务员应该是系统数据的起点,由他们做出相应的操作,然后系统进行处理;收银员则为系统数据的终点。该系统在性能功能上应达到如下要求:1.操作简单、界面友好:完全控件式的页面布局,使得菜品,资讯,座位等信息的录入工作更简便,许多选项包括餐厅信息,桌位,包房信息等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;2.即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在另一应用端及服务器的对应栏目显示出来,达到“即时点击、即时见效”的功能;3.系统运行应该快速、稳定、高效和可靠;4.在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。3.1.2 可行性分析随着经济的快速发展,B2C电子商务越来越受到人们的关注。无线订餐系统,已经如雨后春笋般的出现在了许多城市的大酒店中。特别在大型餐饮集团使用已经成为了趋势。同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且对酒店服务也越来越挑刺,正因为如此无线订餐系统的出现,正好满足了大众的需要,不仅让宾客享受到精美可口的美食,更让他们感受到服务管理的贴心与完善。无线订餐业务在中国有着极大的发展空间以及良好的背景。随着酒店管理的完善,使用这种智能的无线点餐系统必然成为追究卓越的餐饮公司的最爱,也更能够体现信息技术发展之猛烈。此次毕业设计基于Android平台开发无线订餐系统。Android平台给我们提供了巨大的自由空间,再运用Java面向对象语言,是系统功能更加强大。MySQL是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于中小型联机事务处理、数据仓库及电子商务等。3.2 订餐系统概要设计系统的概要设计主要对系统的总体功能如何设计,如何划分模块,系统的数据库如何设计进行研究。它为系统的详细设计做铺垫。在系统的设计过程中起着非常重要的作用。3.2.1 模块的划分本系统主要分两部分:1.Web点餐系统与后台Web系统主要是给客户点菜;客户只能点菜、拿号。2.终端设备与后台终端设备指的是基于安卓平台的一个设备。主要给服务员、收银员等工作人员使用;能更新菜谱,结账,点菜、查看等功能。3.2.2 功能模块的设计1.Web点餐系统1)登录——若没有用户账号,提供注册2)查看菜单3)查看菜单详情4)加入购物车(点菜)5)下单(提交预定菜单)6)拿号图3-1功能描述图2.终端设备终端系统主要有以下几个模块构成:结台管理、更新管理等功能。1)点菜——包括开桌、点菜、下单三个功能2) 并台——两桌拼接3) 结台——在顾客就餐完毕后,计费付帐而设定的功能,是客人能够一目了然,不用担心有什么算错的问题。4) 查台——查看座位情况,哪些是有人,哪些是空位3.3 3.3.1 息的表,。在一个点,该表保存桌位信息。。另外既然ID,桌号,人数,是否结。3.3.2 数据库的概念设计,即利用数据模型进行概念数据库的模式设计。根据无线点餐系统的需求,设计出以下的实体-关系模型(E-R)图如图。图3-4 实体联系图3.3.3 数据表设计数据库的逻辑设计,即把概念设计得到的概念数据库模式变为逻辑数据模式,它依赖于DBMS。根据无线点餐系统的需求分析及数据库的概念设计,建立数据库了wireless_db。建库语句:create database wireless_db;设计表结构,如下图所示:表3.2 菜单信息表(menutbl)表3.3 订单信息表(ordertbl)表3.4 订单信息详情表(orderdetailtbl)表3.5 餐桌信息表(tabletbl)3.3.4 连接数据库实现本系统采用Java语言编写,使用jdbc连接MySQL数据库,所以要用到Java中的connection对象和MySQL驱动连接到数据库。数据库配置文件如下所示。driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/wireless_db?useUnicode=true&characterEncoding=utf-8 username=rootpassword=123只有成功连接到了数据库才能进行其他操作,否则就无法开展以下的设计与实现工作了。可见,连接数据库是一个很关键的步骤。4 订餐系统实现4.1安卓平台系统实现4.1.1 功能描述主菜单界面包含点菜管理、并台管理、转台管理、查台管理、结台管理、注销等几个功能模块。每个功能模块提供一种服务,包含一组功能操作,界面简单明了方便服务人员操作。4.1.2 界面展示登录界面主要是由服务人员来操作的,所以要简单明了易操作。利用数据库对用户信息进行核对,核对正确后利用界面跳转到主菜单界面。服务人员的账号密码是提前在服务器数据库中设置的,每个服务人员都有自己单独的唯一的一个账号密码用来登录,这样可以责任到人,不至于出现混乱,否则出现错误都不知道是哪个环节的问题。图4-1 登录截图输入数据的验证:登录失败:登陆成功之后进入主菜单:点击点菜:开桌:若当前桌号是开过桌的,开桌按钮将会不可用,并且人数自动为上次开过桌之后的人数,这一步是通过桌号来从数据库中判断桌子的标示(1表示开桌,0表示没有开桌)实现的,可以修改。2号桌已经被开过桌,所以开桌按钮变成不可用。图4-6 开桌验证添菜:所有的菜单信息都是从数据库中取出的,与web版本向客户提供的信息保持一致。图4-7点餐点击下拉列表选择菜名:如图图4-8 选择菜单图4-9 填写人数点击下单直接下单,下单成功后,屏幕下方会提示桌号(如图)。下单即向数据库的订单详情表插入数据,插入客户定的菜号、桌号、备注信息等。图4-10 下单成功点击转台:图4-11 换桌位换台成功后有提示(如图),转台对于数据库的操作,就是将原来订单号的中的桌号编程就该之后的桌号。图4-12换座位成功查台:图4-12 查台并台:所谓并台,就是两桌人并成一桌,对于数据库所做的操作有:先把被并的目标桌号的状态修改为空位,再把订单上的桌号修改为并台后的桌号即可。并台必须针对的是已经开过桌的桌子。图4-13 并台并台选择桌号:查出来的都是开过桌的桌号。图4-14选择桌号结账这一功能,就是从点餐详情表中取出,订单号为1的所有订单信息,并且再跟据菜号,将菜肴的价格取出,相加得到总价格显示出来。结账成功后,将数据库中订单表中的isPay字段的状态改成已支付。(0表示未支付,1表示已支付)图4-15 结算界面注销:图4-16 注销4.1.3 关键代码以下是点菜功能的关键代码:// 添菜监听器private OnClickListener addListener = new OnClickListener() {@Overridepublic void onClick(View v) {// 调用点菜方法addMeal();}};//添菜方法private void addMeal() {// 获得LayoutInflater实例LayoutInflater inflater = LayoutInflater.from(this);// 实例化在弹出对话框中添加的视图final View v = inflater.inflate(yout.order_detail, null);// 获得视图中的Spinner对象,菜单下拉列表final Spinner menuSpinner = (Spinner) v.findViewById(R.id.menuSpinner);// 获得视图中的EditText对象,数量EditText numEt = (EditText) v.findViewById(R.id.numEditText);// 获得视图中的EditText实例,备注EditText remarkEt = (EditText) v.findViewById(R.id.add_remarkEditText);String url = HttpUtil.BASE_URL +"/servlet/MenuServlet";String result = HttpUtil.queryStringForGet(url);try {JSONArray tables = new JSONArray(result);List<JSONObject> lists = new ArrayList<JSONObject>();for(int i=0;i<tables.length();i++){lists.add(tables.getJSONObject(i));}JsonArrayAdapter adapter = new JsonArrayAdapter(this, yout.spinner_lo, lists, new String[]{"id","name","price"},new int[] {R.id.id_TextView01, R.id.price_TextView02,_TextView03, });menuSpinner.setAdapter(adapter);} catch (JSONException e) {// TODO Auto-generated catch blockLog.e("amaker", "转换数据出错");}// 获得AlertDialog.Builder实例AlertDialog.Builder builder = new AlertDialog.Builder(this);builder// 设置标题.setMessage("请点菜:")// 设置自定义视图.setView(v)// 设置确定按钮.setPositiveButton("确定", new DialogInterface.OnClickListener() {// 确定按钮事件public void onClick(DialogInterface dialog, int id) {// 获得ListView中的自定义视图LinearLayout LinearLayout v1 = (LinearLayout) menuSpinner .getSelectedView();// 获得TextView,菜编号TextView id_tv = (TextView) v1.findViewById(R.id.id_TextView01);// 获得TextView,菜价格TextView price_tv = (TextView) v1.findViewById(_TextView03); // 获得TextView,菜名称TextView name_tv = (TextView) v1.findViewById(R.id.price_TextView02); // 获得EditText,菜数量EditText num_et = (EditText) v.findViewById(R.id.numEditText);// 获得EditText,菜备注EditText remark_et = (EditText) v.findViewById(R.id.add_remarkEditText); // 菜编号值String idStr = id_tv.getText().toString();// 菜价格值String priceStr = price_tv.getText().toString();// 菜名称值String nameStr = name_tv.getText().toString();// 菜数量值String numStr = num_et.getText().toString();// 菜备注值String remarkStr = remark_et.getText().toString(); // 封装到Map中map = new HashMap();map.put("id", idStr);map.put("name", nameStr);map.put("num", numStr);map.put("price",priceStr);map.put("remark", remarkStr);// 添加到ListViewdata.add(map);// 关联的TextViewto[0] = R.id.id_ListView;to[1] = _ListView;to[2] = R.id.num_ListView;to[3] = R.id.price_ListView;to[4] = R.id.remark_ListView;// 实例化SimpleAdaptersa = new SimpleAdapter(OrderActivity.this, data,yout.listview, from, to);// 为ListView绑定数据lv.setAdapter(sa);}}).setNegativeButton("取消", null);AlertDialog alert = builder.create();alert.show();}4.1.4 服务器端的实现服务器端功能主控计算机处理各无线终端发送过来的数据信息并进行处理、加工(必要的情况下还进行信息回馈)以及发送,从而进行控制、结算、统计、结账打印以及管理等一系列职能操作。服务端主要是数据库操作,针对无线终端各模块而设置响应相应功能的服务器小程序。主要的Servlet(如图显示)。4.2 4.2.1 ,准备下单订餐。图4-18 菜品展示点击详情,进入菜单详情页面:图4-19 菜品详情点击订购:若当前用户没有登录,则会跳出登录的页面,只有登录之后的用户才能订购,器端 响应开桌的Servlet 响应详细订单的Servlet 响应结算的Servlet 响应更新桌号的Servlet响应更新菜谱的Servlet响应查台的Servlet否则只允许查看。跳入登录页面:图4-20 登录界面若登录不符合要求,也会有相应的验证信息:如图图4-21 登录验证若用户登录成功后订购,出现购物车界面:图4-22 购物车进入购物车界面后,客户可以选择继续购物或者下单,若选择继续购物,则跳出主页,菜单页面,若生成订单,则跳入订单信息确认页面:如图图4-23 订单确认若客户没有订购任何菜肴,则不能提交订单,提示如下图:图4-24 订单提交验证4.2.2 关键代码1.登录功能以下是登录功能的关键代码:login.jsp页面:<script type="text/javascript">function checkName(){var userName = document.loginForm.loginName.value;//获得用户层对象:var uDiv = document.getElementById("userNameDiv");if(userName.length == 0){uDiv.innerHTML ="<font size='3' color = 'red'> 用户名不能为空!</font>";return false; //函数有返回值}uDiv.innerHTML = "";return true;}function checkPwd(){var userPwd= document.loginForm.loginPass.value;var pDiv = document.getElementById("passwordDiv");if(userPwd.length == 0){pDiv.innerHTML ="<font size='3' color = 'red'> 密码不能为空!</font>";return false; //函数有返回值}pDiv.innerHTML = "";return true;}//jquey中的方法,当页面一加载的时候就执行方法$(document).ready(function(){//当登录按钮点击时,触发方法$("#loginBT").click(function(){var username=$("#loginName").val();var pwd=$("#loginPass").val();//利用ajax去后台判断,用户输入的用户是否可以登录$.ajax({url:"${base}/LoginServlet",type:"post",data:"username="+username+"&pwd="+pwd,。
无线点菜系统的设计与实现摘要:餐饮是酒店的主要职能之一,点菜是必不可少的环节,而无线点菜则使酒店的这一方面功能更为便捷和多元化。
关键词:酒店无线点菜;pda手机;vs2008;sql;server;2000 中图分类号:tn929.53 文献标识码:a 文章编号:1006-3315(2011)1-179-001一、引言在工作节奏越来越快、时间密集度越来越大的当代社会,饮食规律变得非常重要,而往往亲自上门点菜吃饭等待上菜以及往返太过耗时。
因此如何提前点菜,可以在第一时间上门吃到自己需要的饭菜或是吃到外卖,是一个很多人都需要并且想做到的事情,它既可以节约时间又可以及时补充身体所需养分使身体健康。
本系统主要针对酒店点菜的特点,经过实际的需求分析,采用vs2008技术和sql server 2000数据库管理系统作为工具进行系统开发。
整个系统服务于管理员、顾客这两个不同的用户,主要包括以下四个功能:后台管理、点菜管理,智能配菜管理、营养分析管理,基本能满足酒店无线点菜过程中的需要。
本系统主要是为解决上述的问题,从如何能够更好地利用资源,利用现代化的手段,把握顾客的需求,如何更为有效全面地满足顾客对于时间和营养协调的需要这一指导思想出发,开发的一个应用软件,以更好地节约人力、物力资源。
二、问题的调研在本系统开发之初,为了做好系统需求分析工作,我做了充分的调研,从而认识到完成本系统需做到以下几点:1.了解顾客的需求,了解如何点菜是顾客最希望的。
2.研究点菜系统中需要包含的其他问题,如酒店的后台管理等。
3.遇到具体问题再做详细调查研究并与指导老师商讨。
在充分了解、调查了酒店点菜具体事务管理和工作流程的基础上,开发了酒店无线点菜系统。
三、可行性分析1.技术可行性开发这个酒店无线点菜系统使用的程序设计语言是c#。
c#是microsoft公司推出的一种全新的语言,c#是一门建立在c++和java基础上的现代语言,是编写,net框架的语言。
⽆线点餐系统毕业论⽂正⽂、结论、参考⽂献1 绪论1.1研究的背景及意义民以⾷为天。
餐饮业是⼀种个性化、多样化的服务产业,餐饮传统的点菜⽅式是纯⼈⼯操作,由服务员记录顾客点的菜,在具体⼯作中容易出现以下问题:⼿写单据字迹潦草从⽽导致上错菜、传菜分单出错现象严重、加菜和查账程序较繁琐。
处理特殊⼝味有遗漏和偏差、客⼈催菜遗忘现象较频繁、计算账单易出错、不⽅便⼈员管理等等。
电⼦商务则是最能凸显个性化、多样化服务的商务⽅式。
随着⽹络技术的发展和普及,⽅便、快捷、个性化的⽹上订餐正在进⼊⼈们的⽣活。
正因如此,⽆线点餐模式应运⽽⽣。
它不仅可以有效地提⾼餐饮业的⼯作效率,更可以规范服务体系,提⾼整体服务质量和管理⽔平,并为规模化经营提供了坚实的技术基础。
服务员使⽤⼿持终端为顾客点餐,当消费者点完餐后,服务员将存储在⼿持终端内的点餐信息,点餐信息同时也能被前台看到,⽅便快捷。
1.2本⽂主要内容本⽂介绍了⽆线点餐系统的开发过程。
论⽂详尽论述了从需求分析、系统分析、概要设计、详细设计以及测试与调试的整个开发过程。
⾸先系统地研究了⽆线点餐系统的背景和意义,分析了当今点餐系统的特点和共性,从⽽得出设计本系统的思路和⽅法。
接着介绍了实现系统开发的Android平台环境,数据库⽤MySQL实现。
同时简要介绍了以上⼯具的功能和⽅法。
概要设计分成后台数据库管理操作设计和客户端操作设计,同时介绍了数据库的建⽴和维护。
详细设计主要阐述了点菜管理、并台管理、查台管理,转台管理,注销等实现,并给出了系统的部分设计代码。
2 相关技术和开发环境2.1 系统架构⽆线点餐系统主要⽤到采⽤模型-视图-控制器MVC架构的设计模式。
MVC是⼀个设计模式,它强制性的使应⽤程序的输⼊、处理和输出分开。
使⽤MVC应⽤程序被分成三个核⼼部件:模型、视图、控制器。
它们各⾃处理⾃⼰的任务。
M是指数据模型,V是指⽤户界⾯,C则是控制器。
使⽤MVC的⽬的是将M和V的实现代码分离,从⽽使同⼀个程序可以使⽤不同的表现形式。
点餐系统毕业论文随着社会和科技的发展,人们的生活越来越快节奏,人们的时间也越来越宝贵,更多的人选择通过互联网点餐快捷方便。
因此,随着“互联网+”的发展,点餐系统也越来越普及,为人们提供了方便快捷的餐饮服务。
本文旨在探讨点餐系统的设计和实现,以便更好地满足用户的需求。
本文主要包括如下三个方面:一、系统的设计点餐系统的设计要从两个方面考虑:用户端和商家端。
用户端是为用户提供点餐服务的移动应用程序,商家端则是为餐馆管理者提供管理订单和餐馆信息的后台管理系统。
在此基础上,本文提出以下设计要点:1.用户端用户端的设计应该简洁明了、易于使用,主打快捷点餐和方便支付。
同时,鼓励用户进行评价和分享,便于餐馆管理者进行菜品和服务的优化。
具体来说,设计要点如下:(1)首页:将餐饮品类作为一个主导展示位,让用户一进入就能看到餐饮品种和菜品推荐。
另外,可以设置轮播图或推荐商品,吸引用户浏览和购买。
(2)点餐功能:点餐页面是用户体验的关键,应该设计清晰、易于操作,并根据用户喜好和历史消费记录,为用户推荐菜品,并提供评价和分享功能。
(3)支付:支付页面应该简洁明了,让用户不会有支付困扰,且提供微信、支付宝、银联等多种支付方式。
(4)我的订单:订单页面可以展示用户购买的所有菜品信息,并提供订单状态查询。
另外,设计成可查看历史订单,给用户更快捷的反馈和留下更深印象。
2.商家端商家后台管理系统是对用户后台数据进行管理、处理、查询和分析。
为达到最高效的管理效果、降低餐馆管理员的劳动成本,需要设计成统一的管理后台。
具体来说,设计要点如下:(1)订单管理:管理员可根据订单信息查询、操作、处理订单,甚至可以将订单状态和菜品信息进行修改,管理和核算营业业绩。
(2)菜品管理:管理员可以在菜品管理页面对菜品、菜品图片、菜品名称、配料等进行管理、修改和添加。
另外,可以进行菜品销量和评价数据分析,以便进行服务和菜品的持续优化。
(3)用户管理:管理员通过后台系统管理用户信息,包括用户订单、收货地址、评价等,还可以通过数据分析了解用户喜好,为用户提供更好的服务和折扣。
网上订餐系统毕业论文一、引言随着科技的发展和互联网的普及,电子商务正在改变人们的生活方式。
网上订餐系统作为电子商务的一种形式,为消费者提供了方便快捷的餐饮服务。
本文旨在探讨网上订餐系统的设计、实现和应用,以期为电子商务的发展提供一定的参考。
二、网上订餐系统设计1、系统架构设计网上订餐系统通常采用B/S架构,即浏览器(Browser)与服务器(Server)之间的架构模式。
用户通过浏览器访问系统,系统服务器处理用户请求,返回结果给用户。
2、功能模块设计网上订餐系统主要包括以下几个功能模块:用户注册登录、菜品浏览、订单管理、在线支付、订单评价等。
3、数据库设计数据库是网上订餐系统的核心,它存储了用户信息、菜品信息、订单信息等数据。
数据库设计应考虑数据的一致性、完整性和可扩展性。
三、网上订餐系统实现1、后端实现后端实现主要包括服务器端程序设计、数据库访问设计和接口设计等。
服务器端程序应考虑系统的稳定性、可扩展性和安全性。
数据库访问设计应考虑数据的高效查询和存储。
接口设计应考虑系统的可维护性和可扩展性。
2、前端实现前端实现主要包括用户界面设计和交互设计。
用户界面设计应考虑用户的体验和操作习惯。
交互设计应考虑用户与系统的交互方式和交互效果。
四、网上订餐系统应用1、应用场景网上订餐系统适用于各种餐饮企业、快餐店、外卖店等。
它能够提高餐饮企业的服务效率和服务质量,同时也能够方便用户快速订餐。
2、系统优化为了提高网上订餐系统的用户体验和性能,需要对系统进行优化。
优化措施包括:优化数据库查询语句、使用缓存技术提高系统响应速度、优化系统界面设计等。
五、结论本文通过对网上订餐系统的研究和分析,探讨了系统的设计、实现和应用。
网上订餐系统作为电子商务的一种形式,能够提高餐饮企业的服务效率和服务质量,同时也能够方便用户快速订餐。
随着互联网技术的不断发展,网上订餐系统将会有更广阔的应用前景和发展空间。
火车票网上订票系统的毕业论文随着科技的发展和互联网的普及,网上订票系统已经成为人们日常生活的重要组成部分。
基于无线通信的点菜系统设计【文献综述】毕业设计开题报告电子信息工程基于无线通信的点菜系统设计1前言部分近几年来,人们的生活水平在不断提高的同时,生活方式和生活理念也随之发生着或多或少的变化,整个社会中,餐饮业占据着举足轻重的位置,就因为这样,使得餐饮业变成了一个巨大的投资市场,因而,它被当成了中国的一个新兴的黄金产业[1]。
大家关注的焦点也就从一些无关紧要的问题转变到如何提高餐饮业的服务质量以及其服务速率上来。
餐饮投资的多元化不仅仅会因为餐饮业的蓬勃发展而发展,大量投入的资金也会推动餐饮的发展。
现在随着信息化程度在社会各个领域的普及,餐饮业也不甘其后的引入了一些信息化的因素,这必然将餐饮业也带入到一个新的由计算机管理和操作的时代,这样一来,不仅仅节省了人力,而且也提高了管理效率以及工作效率,使得餐饮业步入了一个新的信息化的时代[2]。
无线通信技术的一个典型应用就是无线电子点菜系统,它将无线技术全部应用在餐饮业当中。
我们整个餐饮业中的服务人员手工记点菜、收银业务等,完全的转移在一部小巧的掌中宝上进行操作,通过这个小型的掌中宝,整个的点菜、加菜、结账的业务都能够在行走中进行,这样一来不仅仅提高了工作效率,而且也提升了服务质量[3]。
如何通过最新的无线通信技术为餐饮行业带来一个崭新的管理理念和服务手段,优化整个业务流程,为顾客提供更好的服务质量,是无线点菜系统的一个终极目标,这也是餐饮行业向信息化技术迈进的一个及其重要的里程碑。
但是,就目前来说,无线点菜系统的研究和发展还整体处于一个最初级的阶段,并没有完完全全的普及,因此,并不是所有的餐厅都会使用这种点餐系统,不过,我们坚信,随着信息技术的不断发展和完善,这套系统的广泛使用将不再是纸上谈兵。
虽然这项技术在我国还不是很普遍,但是在国外来说,已经达到一个比较成熟的阶段了,他们大多都会使用无线局域网的技术来完成这套系统。
据一些强有力的数据显示,目前来说,全世界每天都会有大约数千万人成为新的无线局域网的用户。
大学毕业设计(论文)题目:网上订餐系统指导教师:王黎明老师职称:教授学生:勇学号:专业:软件工程院(系):计算机科学与技术完成时间:2013年5月20日2013年5月20日毕业设计(论文)任务书附表一题目来源:自选此表指导教师填后、复印,指导教师、学生各保存一份,交院教学办一份毕业设计(论文)开题报告附表二毕业设计工作中期检查Ⅰ附表三2013年 3 月27 日此表学生填写,指导教师给出评语后,复印件于第五周交院教学办公室。
毕业设计工作中期检查Ⅱ附表四2013 年 4 月23日指导教师组织学生口头汇报后,学生填写该表,教师给出评语后,于第十周交院教学办公室。
网上订餐系统摘要二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。
中国的网民充分领略到“畅游天地间,网络无极限”所带来的畅快。
随着Internet 的飞速发展,使得网络的应用日益的广泛。
如电子商务,电子政务,网上医疗,网上娱乐,网络游戏,网络教学等。
本次毕业设计的题目就是网络订餐系统。
本论文就毕业设计的容,系统地阐述了整个网络订餐系统的功能与实现。
实现了从菜品管理,菜品分类和查询,到订餐车实现,用户订单处理,再到系统管理。
基本上实现了网上购物的功能流程,能够实现用户与商家在网上进行订餐交易。
本系统界面简单直观,易于操作和使用,交互性强,完全基于Internet网络。
经过分析,我使用SUN公司的JSP开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成满意的可行系统。
关键词:网络订餐系统、JSP、信息时代AbstractThe 21st century is a collection digitization, the network, the informationization, take network as core society. When Qian Tian taught without charge gives sends out the first email in September 14, 1986 in Beijing computer applied technology research institute introversion Germany Karlsruhe University “to pass through the Great Wall, moved toward the world” time, perhaps he did not know that he has opened China information age front door; on April 20, 1994, the Chinese Academy of Science computer center entered Internet through the American Sprint Corporation company the 64K international special line clear, has realized internet's entire function binding, henceforth China entered into the Internet information age. The Internet had 10 remaining years of life development in a moment in China, China's web cams understands fully “enjoys a trip to between the world, the network does not have carefree which the limit” brings. Along with the Internet swift development, causes the network application day-by-day widespread. Ifelectronic commerce, E-government, on-line medical service, on-line entertainment, network game, network teaching and so on.This graduation project's topic is on-line books management system management system.The present paper on graduation project's content, elaborated systematically the entire on-line books management system management system's function and realizes. Has realized from the merchandise control, the classification of goods and the inquiry, realizes to the shopping cart, user order form processing, arrives at the chatroom again, the manager system. Basically has realized the electronic commerce function flow, can realize the user and the business on-line carries on the commodity exchange. This system contact surface simple direct-viewing, simplify operation and use, interactive is strong, completely based on the Internet network.Key word:On-line purchase books system ,JSP, Information ag目录1引言01.1背景和意义01.2国外现状01.3开发工具和环境简介11.3.1开发工具11.3.2环境简介31.4论文结构32需求分析32.1可行性分析32.1.1经济可行性32.1.2技术可行性42.1.3法律可行性42.2性能需求分析43概要设计53.1网上订餐系统的功能模块概要设计5 3.1.1用户模块概要设计53.1.2管理员功能模块概要设计63.2数据库的概要设计73.2.1概念模型设计73.2.2数据库的逻辑设计73.2.3数据库表的设计84详细设计和实现105测试和案例分析145.1测试的重要性与其目的145.1.1测试重要性145.1.2测试目的145.2测试的步骤155.3测试的容155.3.1系统登录测试15 5.3.2管理员登录测试15 5.3.3会员注册测试16 5.4测试结果分析166结论166.1总结166.2进一步的工作18参考文献18致191引言1.1背景和意义众所周知,随着社会的发展,科技的发达,人民生活水平的提高,互联网的应用已普与千家万户,有时大家的忙碌会不想浪费太多的时间出去买饭,吃饭等,这就为网络订餐提供了良好的发展空间。
1 绪论1.1 研究的背景及意义民以食为天。
餐饮业是一种个性化、多样化的服务产业,餐饮传统的点菜方式是纯人工操作,由服务员记录顾客点的菜,在具体工作中容易出现以下问题:手写单据字迹潦草从而导致上错菜、传菜分单出错现象严重、加菜和查账程序较繁琐。
处理特殊口味有遗漏和偏差、客人催菜遗忘现象较频繁、计算账单易出错、不方便人员管理等等。
电子商务则是最能凸显个性化、多样化服务的商务方式。
随着网络技术的发展和普及,方便、快捷、个性化的网上订餐正在进入人们的生活。
正因如此,无线点餐模式应运而生。
它不仅可以有效地提高餐饮业的工作效率,更可以规服务体系,提高整体服务质量和管理水平,并为规模化经营提供了坚实的技术基础。
服务员使用手持终端为顾客点餐,当消费者点完餐后,服务员将存储在手持终端的点餐信息,点餐信息同时也能被前台看到,方便快捷。
1.2 本文主要容本文介绍了无线点餐系统的开发过程。
论文详尽论述了从需求分析、系统分析、概要设计、详细设计以及测试与调试的整个开发过程。
首先系统地研究了无线点餐系统的背景和意义,分析了当今点餐系统的特点和共性,从而得出设计本系统的思路和方法。
接着介绍了实现系统开发的Android平台环境,数据库用MySQL实现。
同时简要介绍了以上工具的功能和方法。
概要设计分成后台数据库管理操作设计和客户端操作设计,同时介绍了数据库的建立和维护。
详细设计主要阐述了点菜管理、并台管理、查台管理,转台管理,注销等实现,并给出了系统的部分设计代码。
2 相关技术和开发环境2.1 系统架构无线点餐系统主要用到采用模型-视图-控制器MVC架构的设计模式。
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:模型、视图、控制器。
它们各自处理自己的任务。
M是指数据模型,V是指用户界面,C则是控制器。
使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
视图是用户看到并与之交互的界面。
MVC一个大的好处是它能为你的应用程序处理很多不同的视图。
在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库。
被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器接收用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。
总的来说MVC的处理过程,就是首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
2.2 关键技术2.2.1 JDBCJDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java 语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。
程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。
同时,将Java 语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。
JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。
JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
2.2.2 JqueryJquery是继prototype之后又一个优秀的Javascrīpt框架,由美国人John Resig创建。
它是轻量级的js库(压缩后只有21k),它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+,Safari 2.0+,Opera 9.0+)。
Jquery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为提供Ajax交互。
Jquery 还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
Jquery能够使用户的HTML页保持代码和HTML容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
2.2.3 AjaxAjax指异步JavaScript及XML(Asynchronous JavaScript And XML),是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
Ajax的核心是JavaScript 对象XmlHttpRequest。
Ajax在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求)。
简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。
通过Ajax,您的JavaScript可使用 JavaScript的XMLHttpRequest对象来直接与服务器进行通信。
通过这个对象,您的 JavaScript可在不重载页面的情况与Web 服务器交换数据,这样就可使网页从服务器请求少量的信息。
Web应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。
2.3 开发环境及平台2.3.1 EclipseEclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools,JDT)。
Eclipse 是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse 的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
1.Eclipse的主要构成Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
它主要由Eclipse项目、Eclipse 工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
Eclipse Platform 允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。
这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。
Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。
Eclipse项目生产的软件以 GPL发布,第三方组件有各自自身的许可协议。
2.Eclipse Android环境搭建1)JDK安装a)我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:JAVA_HOME值为:安装JDK的目录;CLASSPATH值为:D:\AndroidDeveloper\android-sdk-windows\tools;b)Path:在开始追加%JAVA_HOME%\bin;c)NOTE:前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。
安装完成之后,可以在检查JDK是否安装成功。
打开cmd窗口,输入Java –version查看JDK的版本信息。
2)Eclipse安装在/downloads/,下载Eclipse IDE for Java Developers (92M)的win 32bit版,Android SDK安装在Android Developers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。
a)运行SDK Setup.exe,点击Available Packages。
如果没有出现可安装的包,请点击Settings,选中Misc中的“Force https://...”这项,再点击Available Packages。
b)选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包。
c)在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:\AndroidDevelop\android-sdk-windows\tools)。
2.3.2MyEclipseMyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。