开题报告+综述.doc_第1页
开题报告+综述.doc_第2页
开题报告+综述.doc_第3页
开题报告+综述.doc_第4页
开题报告+综述.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Java Web的网上点餐系统的设计与实现学生姓名朱美玲学 号090801221专 业计算机科学与技术(网络工程)指导教师姓名张立群职 称工程师所在学院信息科学技术院选题来源科研课题 生产实践 其它选题类型毕业设计 毕业论文选题名称基于Java Web的网上点餐系统的设计与实现研究的目的及意义设计一个完整的网上点餐系统,包括前台用户操作界面,后台管理员操作界面,实现用户登录该网站时可随意浏览食物表,在线下单,食品提供商根据订单将食物送至指定地点。这样既方便了用户享受快捷的服务,节省时间,也可以帮助餐饮服务商根据用户需求准备食物,提高服务质量,避免不必要的浪费。随着生活水平的提高和生活节奏的加快,当今社会人们对饮食的要求也越来越高,不仅是食物的美味,就连就餐方式也有很大的不同。许多人忙于工作,没有时间去餐厅点餐,或者去晚了,吃不到符合口味的食物,这样就产生了订餐的需求。在信息迅猛发展并且计算机得到普遍运用的今天,网上订餐无疑是最方便快捷的方式。国内外同类研究概况据国外媒体报道,顾问机构Technomic进行的调查发现,截止2010年12月,近五分之二美国互联网用户曾经通过网络订餐,并且近两年该比例一直有增长的趋势。越来越多的消费者发现,通过互联网或移动设备订餐有时比在餐馆订餐速度还快。2010年12月份进行的一项调查发现,在美国,Panera Bread、SUBWAY等快餐店为消费者提供了网络订餐服务,占比达70%。尼尔森在2010年8月进行的一项调查发现,在所有的移动应用下载中,25%与餐馆和订餐有关。在线订餐无疑可以增加餐馆销量,鼓励回头客,消费者也很享用这种便利。餐馆也能根据历史订单记录进行营销活动,找到促销目标。我们可以看到一些知名的餐饮连锁店,为了扩大消费规模,提高市场竞争力,相继推出了网上订餐服务。肯德基、麦当劳、必胜客比比皆是。但是许多系统都不是很完善。如必胜客就曾出现过消费者在页面停留时间过长导致订购不成功,电商观察员鲁振旺仔接受每日经济新闻记者采访时表示,现在网上订餐、购物等会有很多系统问题,也是电子商务的老问题,有时候可能消费者已经下单了,但是网络系统没有收到。这主要还是后台订单管理系统的问题。网上订餐业务要做到尽善尽美,还有一段路要走。 研究内容及计划一、研究内容此项目将以Java作为基本编程语言,使用Java Web 开发技术,页面采用JSP,结合struts,hibernate,spring三大框架,使用mysql数据库,最大限度的实现系统的稳定性,开发出一套功能完善、可以投入使用的网上点餐系统。系统包括前台和后台:前台为用户操作界面: 1、注册,登录,修改个人信息 2、查看菜品 3、在线下单 4、查看点菜历史 5、其他拓展功能后台为管理员操作界面:1、用户管理 2、菜品管理 3、用户订单管理 4、销量统计 5、其他拓展功能二、研究计划: 1- 2周:查阅资料,撰写开题报告和文献综述 3- 4周:熟悉开发工具和对开发技术的学习探索 5- 6周:上网查看同类点餐系统,完成前台用户操作界面的设计 7- 8周:数据库的设计和后台操作界面设计 9-10周:数据动态存储进数据库 11-12周:系统功能的测试和优化 13-14周:整理资料,完成毕业论文 15-16周:提交毕业论文及各种资料,准备答辩特色与创新该系统致力于快速点单,最大可能的节省用户时间。系统将以简洁美观的UI设计,简单快捷的下单操作吸引顾客,并保证整个下单过程的安全、准确,保证整个订餐过程的高效进行。指导教师意 见 指导教师签名: 年 月 日基于Java Web的网上点餐系统的设计与实现文献综述一、 设计理念 现如今,人们的生活节奏日益加快,许多上班族忙于工作,没有过多时间花在就上,而生活水平的提高又造成了许多人对饮食要求的提高。这就产生了这样一个矛盾:许多人没有时间去餐厅去点符合口味的菜,或者去的时候爱吃的菜已经售完。而提前点餐就能很好的解决这个矛盾,网上点餐一种相对快捷的方式。相对于电话订餐,网上订餐能更好得将菜品呈现在用户面前,用户可尽情挑选,甚至是货比三家。这既是方便用户,也对餐饮服务商了解用户需求,提高服务质量,扩大知名度大有裨益。二、 设计概要此系统将是一个完整的网上点餐系统,包括前台用户操作界面和后台管理员操作界面,实现用户登录,用户注册,用户浏览菜品,在线下单,管理员可管理用户信息,管理菜品信息,管理订单,并对销量进行统计,食品提供商根据订单将食物送至指定地点。以此方便用户享受快捷的服务,节省时间,同时也帮助餐饮服务商根据用户需求准备食物,提高服务质量,避免供需不统一造成的浪费。系统将以jsp,struts,hibernate,spring,mysql等流行技术支撑,美观的UI设计,实现良好的用户体验,以及安全无误的下单。三、 技术支持1、Java语言Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,javaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛得应用于个人PC,数据中心,游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java语言的特点可概括为以下几点:第一,简单。Java语言类似于C+,它是C及C+的一个变种,但它摈弃了C+中容易引发程序错误的地方,如指针和内存管理,并且Java提供了丰富的类库。第二,面相对象。面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码继承及重用。单从面向对象的特性来看,Java类似于Small Talk,但其它特性、尤其是适用于分布式计算环境的特性远远超越了Small Talk。第三,平台无关性。Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。C和C+具有一定程度的源代码级平台无关,表明用C或C+写的应用程序不用修改只需重新编译就可以在不同平台上运行。第四,分布式。Java支持WWW客户机/服务器计算模式,因此,它支持这两种分布性。对于前者,Java提供了一个叫作URL的对象,利用这个对象,你可以打开并访问具有相同URL地址上的对象,访问方式与访问本地文件系统相同。对于后者,Java的applet小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率。Java提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便得实现Java的分布式特性。第五,可靠性和安全性。由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。第六,多线程。线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。C和C+采用单线程体系结构,而Java却提供了多线程支持。Java在两方面支持多线程。一方面,Java环境本身就是多线程的。若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java语言内置多线程控制,可以大大简化多线程应用程序开发。Java提供了一个类Thread,由它负责启动运行,终止线程,并可检查线程状态。Java的线程还包括一组同步原语。这些原语负责对线程实行并发控制。利用Java的多线程编程接口,开发人员可以方便得写出支持多线程的应用程序,提高程序执行效率。除此以外,Java还具有解释型,可移植性,高性能,动态性等特点。2、Servlet技术Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面,它担当客户请求与服务器响应的中间层,Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Setvlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。Servlet有一个完整的生命周期。装载Servlet。这项操作一般是动态执行的。然而,Servlet通常会提供一个管理的选项,用于在Server启动时强制装载和初始化特定Servlet;Server创建一个Servlet的实例;Server调用Servlet的init()方法;一个客户端的请求到达Server;Server创建一个请求对象;Server创建一个响应对象;Server激活Servlet的service()方法,传递请求和响应对象作为参数;Service()方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息;Service()方法使用响应对象的方法,将响应传回Server,最终到达客户端。Service()方法可能激活其它方法以处理请求,如doGet()或doPost()或程序员自己开发的心方法。对于更多的客户端请求,Server创建新的额请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给它。3、Struts技术Struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。Struts 是 Apache软件基金会(ASF)赞助的一个开源项目。它最初是 Jakarta项目中的一个子项目,在2004年3月成为ASF的顶级项目。它通过采用 Java Servlet/JSP 技术,实现了基于Java EE Web应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。Struts的流程:服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。 以登录为例:第一次进login.jsp会先实例化Form、把默认值(String默认为空字符串,整型默认为0)赋给表单元素。输入用户名密码提交表单、提交到action属性的login.action,通过ActionServlet读struts-config.xml文件找到 action下的path属性找到.action,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的execute方法。Struts框架具有组建的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。Struts可以清晰地区分控制,事务逻辑和外观,从而简化开发应用程序的过程。Struts提供的类使得开发工作更加简单,这些类包括:控制程序流程的类,实现和执行程序事务逻辑的类,自定义的标记库使得创建和验证HTML表单更加容易。4、Hibernate技术什么是Hibernate?首先,Hibernate是数据持久层的一个轻量级框架。数据持久层的框架有很多比如:iBATIS,myBatis,Nhibernate,Siena等等。并且Hibernate是一个开源的orm(object relations model)框架,提供了查询获取数据的方法,用面向对象的思想来操作数据库,节省了我们开发处理数据的时间。那使用Hibernate的优点呢?使用简介的hql语句(Hibernate query language)。可以不使用传统的insert,update等sql语句。比如insert一个对象,原来的做法是:insert into 表名称 alue(值1,值2,值3,),而现在的做法是:save(对象)。使用or映射。对象到关系数据库之间的映射。是从对象的角度操作数据库,再次体现了面向对象思想。原来的实体抽取方法:首先有了表,然后表映射实体对象。而现在Hibernate做法是:直接由对象映射到表。没有侵入性,移植性比较好。什么是没有侵入性?就是Hibernate采用了pojo对象。所谓的pojo对象就是没有继承Hibernate类或实现Hibernate接口。这样的话,此类就是一个普通的java类,所以移植性比较好。支持透明持久化。透明是针对上层而言的。三层架构的理念是上层对下层的依赖,只是依赖接口不依赖具体实现。而Hibernate中的透明是指对业务逻辑层提供了一个接口session,而其他的都封装隐藏。持久化是指把内存中的数据存放到磁盘上的文件中。5、Spring技术随着软件结构的日益庞大,软件模块化趋势出现,软件开发也需要多人合作,随即分工出现。如何划分模块,如何定义接口方便分工成为软件工程设计中越来越关注的问题。良好的模块化具有以下优势:可扩展、易验证、易维护、易分工、易理解、代码复用。优良的模块设计往往遵守“低耦合高内聚”的原则。而“框架”是对开发中良好设计的总结,把设计中经常使用的代码独立出来,所形成的一种软件工具。用户遵守它的开发规则,就可以实现良好的模块化,避免软件开发中潜在的问题。广义上的框架无处不再,一个常见的例子就是PC硬件体系结构,人们只要按照各自需要的主板、显卡、内存等器件就可以任意组装成自己想要的电脑。而做主板的厂商不用关心做显卡厂商的怎么实现它的功能。软件框架也是如此,开发人员只要在Spring框架中填充自己的业务逻辑就能完成一个模块划分清晰纷的系统。6、Jsp技术JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。7、MysqlMySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。8、MyEclipseMyEclipse企业级工作平台是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,avascript,Spring,SQL,Hibernate。 MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX,JSP,JSF,Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。四、 研究意义我们可以看到一些知名的餐饮连锁店,为了扩大消费规模,提高市场竞争力,相继推出了网上订餐服务。肯德基、麦当劳、必胜客比比皆是。但是许多系统都不是很完善。网上订餐、购物等会有很多系统问题有时候可能消费者已经下单了,但是网络系统没有收到等等。网上订餐业务要做到尽善尽美,还有一段路要走。那么,采用更先进,更高级的手段来设计和开发餐饮服务系统,采用更科学,更合理的方法来解决餐饮服务系统的问题,将为餐饮业带来更新的活力,餐饮服务系统也将朝着更准确,更高效的趋势发展前进。五、参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论