网上订餐系统毕业论文.docx
- 文档编号:10019005
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:27
- 大小:359.77KB
网上订餐系统毕业论文.docx
《网上订餐系统毕业论文.docx》由会员分享,可在线阅读,更多相关《网上订餐系统毕业论文.docx(27页珍藏版)》请在冰豆网上搜索。
网上订餐系统毕业论文
分院名称:
学生学号:
XX师范学院
本科毕业论文(设计)
(理工类)
题目:
网上订餐系统设计与实现
专业:
计算机科学与技术
作者XX:
指导教师XX:
指导教师职称:
年月
XX师范学院本科毕业论文(设计)作者承诺保证书
本人X重承诺:
本篇毕业论文(设计)的内容真实、可靠。
如果存在弄虚作假、抄袭的情况,本人愿承担全部责任。
论文作者签名:
日期:
年月日
XX师范学院本科毕业论文(设计)指导教师承诺保证书
本人X重承诺:
我已按有关规定对本篇毕业论文(设计)的选题与内容进行指导和审核,坚持一人一题制,确认由作者独立完成。
如果存在学风问题,本人愿意承担指导教师的相关责任。
指导教师签名:
日期:
年月日
摘要
二十一世纪是信息化、知识化的世纪,随着社会的进步、计算机应用的快速发展和网络应用的不断扩大,并使传统的订餐形式得到了极大的扩充,使人们订餐更加的方便。
基于Web的网上订餐系统,它是一种基于计算机网络的网上订餐形式,它的出现,大大地扩充了现行的订餐方式,使餐饮摆脱了空间上和时间上的束缚,不管谁,只要会上网,都可以坐在电脑前面,方便地进行网上订餐,可以看成是对餐饮业的一次革命。
通过网上订餐系统,可以在家中或办公室为自己订一份既营养又实惠的美食。
本文就是基于此目的实现一个网上购餐系统。
本系统是用户实现网络交易的一种方式。
设计和实现了一个B/S结构的网上订餐系统,重点论述了系统的功能与实现、数据流程及存储。
包括会员管理、餐品信息介绍、网上订餐、用户留言、系统用户管理以及后台数据库管理等。
本文先是对系统的需求分析做了详细的介绍,然后对系统的概要设计进行了阐述并重点介绍了网上订餐系统各功能模块的具体设计和实现。
本系统是在MySQL数据库、Java语言和MyEclipse平台技术实现的。
既拥有良好便捷的前台操作界面,也有稳定的后台支持。
系统旨在提供一个可供操作、功能完全、特色突出的网上订餐系统。
关键词:
网上订餐系统JAVAMySQLSSH2
Abstract
Twenty-firstcenturyisainformationalknowledgeablecentury.Withtherapiddevelopmentofsociety,theuseoftheputerapplicationandthenetworkapplication,thetraditionalorderformofmealshasbeengreatlyexpanded,makinglifemoreconvenient.OnlinemealorderingsystembasedonWebissuchaputernetworkbasedontheonlinemealorderingformwhichhasgreatlyexpandedtheexistingorderway.Nomatterwho,aslongaswiththeInternet,cansitinfrontoftheputer,orderingamealconvenientlyonline.Itisakindofrevolutionofdailylife.Onlinemealorderingsystemcanbeusedinthehomeorofficetobuyanutritionandaffordablefoodforsomeone.Basedonthis,thisarticleimplementsanonlinemealsystem.
Thesystemistheuserawayfornetworktransactions.theon-linemealorderingsystemoftheB/Sstructureisdesignedandimplemented,itemphaticallyelaboratesthefunctionandimplementationofsystem,dataflowandstoragesuchasthemembermanagement,informationintroductionoforder,theon-linemealordering,userinformation,systemusermanagementaswellastheadministrationofbackstagedatabase.Thisarticleanalyzesthesystemrequirements,andmakesadetailedintroduction,andthenhighlightedthedesignandimplementationoftheonlinemeal-ordersystem.
ThesystemisimpliedbyMySQLdatabase,JavalanguageandMyEclipse.Itnotonlyhasgoodprospectsoffriendlyinterface,andalsoastablebackgroundsupport. Thesystemisdesignedtoprovideanoperable,fullyfunctional,featureprominentsystemforonlinemealordering.
KeyWords:
OnlineorderingsystemJAVAMySQLSSH2
第一章绪论
网上订餐就是互联网的深入应用。
用户通过互联网,能足不出户,轻松闲逸地实现自己订购餐饮和食品(包括饭、菜、盒饭、便当等)的一种网络订餐形式。
随着食天下网上订餐平台的兴起,网上订餐已经逐渐成为了白领阶层中的一种潮流了。
网上订餐一般都会集中在一个时段,这会给餐饮企业制造出订餐的高峰时段,订餐者的需求在很多时候会得不到满足,这种不如意,诞生的总是网上订餐“无保障”,“线上看,线下订”正好能帮助改变这种会衍生恶性循环的效应;
通过线下联系和沟通,订餐者会对送餐时间能适当把控,这样也就心里有数,在这样的情况下,餐饮企业和用餐者在口头协商的前提下,能达成一种双方都能接受的协议,网上订餐用户一般都不会产生不满情绪,这能抵消消费者的不满情绪。
想实现网上订购,这些网上订餐的形式应该很难,其中原因主要就是餐饮行业普遍存在的信息化意识薄弱,这让网上订餐成为实在的瓶颈,短时期内这是很难突破的,这也是为什么现在真正能实现网上订餐、并能被广泛接纳的网上订餐行为,依然离不开直接订购的主要原因。
网上订餐,想正真实现“网上订,网上付”的正规化,还需要很长的一段时日。
1.1本课题的来源及研究意义
1.1.1本课题的来源
随着网络技术的发展和普及,Internet已成为人们获取有关信息和相互交流的重要途径之一,越来越多的机构和组织开始利用网络资源传递、发布、收集和管理信息。
这对各种类型的网络提供一次很大的机遇与挑战,特别是通过网络进行信息交互的这种活动,更使网络的经营方式充满了活力和机动性[1]。
基于B/S模式的JAVA网上订餐系统是应用于网络交流领域的系统,它的主要特点有:
(1)通用性:
网上订餐系统具有良好的界面,适合推广给所有用户,能够给用户提供良好的服务。
(2)便捷性:
本系统最大的特点就是方便快捷,用户使用本系统可以足不出户就享受到优质服务,在现代人们的生活中很适用。
人们对于订餐的要求是能够减少排队等待的时间,此系统的设计正是为了迎合大家的这种需求,可以让用户节约许多的时间,提高了生活效率[2]。
1.1.2课题的研究意义
网上订餐系统为人们的生活提供了方便快捷的消费方式:
1.顾客去餐厅消费不用需要排队点餐,可以方便的打开我们的,选择自己喜欢的餐厅,浏览餐厅的菜单,进行网上点餐,省去了很多的时间。
2.对于餐厅,可以扩大自己的销售领域,通过我们的可以很好的做广告。
每个餐厅有它自己的主页,管理自己的主页;餐厅不仅仅在某个商业小区经营,餐厅还可以给顾客提供送外卖服务,这样就大大地方便了那些宅男宅女们,不用再买那些快餐似的垃圾食品,还能很好地享受到可口的饭菜。
通过这种方式,餐厅的营业范围将大大地提高,营业额必然会上升。
本系统针对所有用户群体,建立了客户端及服务器端。
主要解决的问题包括:
(1)对于使用界面,需要人性化,能够给用户一种温馨与简易的感觉;
(2)系统应能够及时响应用户的请求,并及时提供帮助。
本系统开发的意义在提供给用户方便快速的订餐服务,满足用户的需要,解决传统订餐方式的不足。
1.2订餐系统概述
1.2.1订餐系统的发展历史
随着互联网用户的增多,工作节奏的加快,网络订餐成为众多年轻网民及白领人士生活中的一部分。
大众点评网、豆丁网等的成立,为众多办公楼、工作繁忙的白领解决了吃饭问题。
网络订餐的手段和方式分类,目前餐饮业主要通过以下三种方法开展:
1.通过餐饮订餐。
这种订餐方式主要通过专门的实现订餐,用户通过网络实现对餐馆的查询及餐馆的菜谱查询和预定服务,相应企业给予通过订餐的顾客相应的优惠。
2.通过及时的通讯工具(QQ,MSN等)的网络订餐。
这种餐饮企业往往不具备建立订餐系统的资金与技术实力,主要通过及时的通讯工具(QQ,MSN等)的实现订餐。
这种餐饮企业往往是区域性的,主要分布在居民小区及学校周边,规模一般较小。
3.通过电子的网络订餐。
这种订餐方式主要是在相应餐饮企业举办大型酒席时,顾客提供给餐饮企业餐单时使用。
因为使用订餐有时间差,而且要收发略显麻烦,所以目前较少使用。
综上,第一类订餐方式使用最为广泛,建立较容易成本低,但对于传统店面餐饮收效甚微,无法成为主要的利润来源。
其余两类有网络订餐的实质,但仅作为目前网络订餐的辅助手段[3,4]。
第二章相关开发技术
2.1J2EE设计平台
J2EEJava2平台企业版(Java2Platform,EnterpriseEdition)是一套全然不同于传统应用开发的技术架构,它包含许多组件,主要可以简化并且规范应用系统的开发及部署,进而提高可移植性、安全与再用价值[5]。
目前,Java2平台它有3个版本,它们是适用于小型设备和智能卡的Java2平台Micro版(Java2PlatformMicroEdition,J2ME)、适用于桌面系统的Java2平台标准版(Java2PlatformStandardEdition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)。
J2EE它是一种利用Java2平台来简化企业的解决方案的开发、部署和管理等相关的复杂问题的体系结构。
J2EE技术的基础是核心的Java平台或Java2平台的标准版,J2EE它不仅巩固标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBCAPI、CORBA技术及能够在Internet应用中保护数据的安全模式等等,同时提供了对E(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。
其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构[6]。
2.2MySql
2.2.1MySql简介
MySQL它是一个小型关系型数据库管理系统,MySQL它还是一种关联数据库管理的系统,关联数据库将数据保存于不同的表中,而不是将所有数据内容放在一个大仓库内。
这样就提高了速度和灵活性。
MySQL的是SQL“结构化查询语言”。
SQL它是用于访问数据库中的最常用标准化语言。
MySQL软件采用了GPL(GNU通用公共许可证)。
由于它体积小、速度快、总体拥有成本低,特别是开放源码这一特点,许多中小型为了降低总体成本就选择了MySQL作为数据库[7,8]。
2.2.2MySql优势
(1)它是使用C和C++编写,并使用了众多的编译器进行测试,保证了源代码的可移植性;
(2)支持AIX、HP-UX、NovellNetware、Linux、MacOS、OpenBSD、Solaris、Windows、FreeBSDOS/2Wrap等多种操作系统;
(3)为多种编程语言都提供了API。
这些编程语言包括C、C++、Java、Perl、PHP、Ruby、和TclEiffel等;
(4)既能作一个单独的应用程序应用在客户端服务器网络环境中,还能作为一个库而嵌入到其他的软件中提供多种语言支持,常见的编码如中文的GBK、BIG5,日文种的Shift、JIS以用作数据表名和数据列名;
(5)提供了TCP/IP、ODBC和JDBC等许多种数据库连接方法;
(6)它还提供了用于管理、检查、优化数据库的操作的管理工具;
(7)可以处理有上千万条记录的大型数据库[9]。
2.3struts2
2.3.1struts2简介
Struts2它是Struts的下一代产品,是融合了struts1和WebWork的技术,在它们基础上合并的全新的框架。
其全新的Struts2的体系结构与Struts1的体系结构有着巨大差别。
Struts2它是以WebWork为核心,采用了拦截器机制来处理用户的请求,这样的设计让业务逻辑控制器能够与ServletAPI完全脱离,因此Struts2可以理解成WebWork的更新产品。
虽然从Struts1到Struts2有着根本性的变化,但是相对于WebWork,Struts2它的变化还是很小[10]。
2.3.2struts2框架结构
当Web容器收到请求(HttpServletRequest)后,它将请求传递给一个标准的过滤链包括(ActionContextCleanUp)过滤器,然后经过Otherfilters(SiteMesh,etc),再然后需要调用FilterDispatcher这个核心控制器,然后它再调用ActionMapper确定请求来自哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping的对象。
接下来FilterDispatcher它将控制权派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager)从配置文件中读取配置信息文件(struts.xml),然后创建ActionInvocation对象,ActionInvocation在调用Action之前它会依次的调用所用配置的拦截器(InterceptorN)一旦执行结果后返回结果字符串ActionInvocation负责查找结果字符串对应的结果集(Result)然后执行这个Result。
Result会调用一些模版(JSP)来表页面,随后拦截器(InterceptorN)会被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)它会被返回在web.xml中配置的那些过滤器和核心控制器(FilterDispatcher)中[11,12]。
2.4spring
2.4.1spring简介
它是为了解决企业应用程序开发的复杂性而由RodJohnson创建的。
框架的主要好处之一就是它的分层架构,分层架构可以允许使用者选择使用哪一个组件,同时并为J2EE应用程序开发提供集成的框架。
Spring使用基本的JavaBean来完成从前只可能是由E来完成的事情。
但Spring的用途不仅局限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java的应用都可以从Spring中受益颇多[13]。
2.4.2sring核心机制
控制反转模式(依赖性注入)的基本概念是:
不为创建对象,但是描述创建它的方式。
在代码中不直接和对象和服务连接,而是在配置文件中来描述哪一个组件它需要哪一项服务。
容器(在Spring框架中是IOC容器)它是负责将其联系在一起。
在典型的IOC场景中,是容器创建了所有对象,并且设置必要的属性来将它们连接在一起,决定什么时间去调用方法[14]。
2.5hibernate
2.5.1hibernate简介
Hibernate它是一个开放源代码的对象关系映射框架,它是对JDBC进行了非常轻量级的对象封装,使Java程序员能够随心所欲的使用对象编程思维来操纵数据库。
Hibernate它可以应用在任何使用JDBC的场合,既能够在Java的客户端程序使用,也能够在Servlet/JSP的Web应用中使用,最有意义的是,Hibernate它能够在应用E的J2EE架构中取代CMP,来完成数据持久化的重任[15]。
2.5.2hibernate核心接口
Session接口它是负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了许多常见的SQL语句)。
但是,需要注意的是Session对象是非线程安全的。
并且Hibernate中的session不同于JSP应用中的HttpSession[16]。
这里当使用session这个术语时,其实指的是Hibernate中的session,在以后会将HttpSession对象称为用户session。
SessionFactory接口它是负责初始化Hibernate的。
它既可以充当数据存储源的代理,还负责创建Session对象。
在这里还用到工厂模式。
但需要注意的是SessionFactory它并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,但是当需要操作多个数据库时,可以为每个数据库都指定一个SessionFactory。
Configuration类它是负责配置并启动Hibernate的,创建SessionFactory对象的。
在Hibernate的启动过程中,Configuration类的实例它先定位映射文档位置、读取配置,然后创建SessionFactory这个对象[17]。
Transaction接口它是负责事务的相关操作。
它是可选的,同时开发人员也可以设计编写自己的底层事务处理代码[18]。
第三章需求分析
3.1网上订餐需求分析
3.1.1功能需求分析
本系统主要是实现网上浏览菜单、订餐、产生订单等功能的系统。
需要实现菜品信息的提示、购物车管理、客户信息注册、登录管理、订单处理和信息反馈等内容。
需要完成的主要任务如下:
当客户进入网上订餐时,应该在订餐页面中显示相应的菜品信息,来供客户去选择所需要的菜品,同时还提供按菜品名称,快速查询所需要菜品信息的功能。
当客户选择预定某个菜品时,应该能够将对应菜品信息,如:
价格、数量记录到对应的购物车中,此时客户可以选择选择其他菜品或是查看自己的购物车,最后,在购物车中填下相应的送餐信息,提交订餐的订单后,自动清除以生成订单的购物车中的信息。
餐厅服务人员根据订单信息,查看详细订单明细并根据实际情况处理订餐。
分析网上订餐系统,制订整个系统框架如图3-1:
图3-1系统整体框架图
目前,用于需求建模的方法有很多,最常见的是包括数据流图(DFD)、实体关系图(ERD)和UML三种方式。
UML(统一建模语言)是一种建模语言,它的特点是良好的定义、表达能力突出、具有多重功能。
软件工程中的一些方法和技术也都应用在其中。
从软件需求分析开始就有了很多的应用,并且贯穿始终。
本系统使用UML中的用例图、活动图、状态图来对需求建模。
代码的编写是以最终的类图和对类图的补充说明文档为基础的。
通常都是先画用例图和分析用例。
然后把用例图中的actor去除,其余的名词中的大多就是类了,再根据具体情况斟酌就可以画类图。
类图并非一下子画完的,可以在一开始先画出一些必要的成员变量和成员函数,再分析业务逻辑,并且可以开始画状态图、活动图和协作图、顺序图,在画这些图的时候对业务逻辑就会有更多的认识。
但这时也会发现类图中的一些漏洞,然后再去补充类图。
3.2系统架构分析
本网上订餐系统采用了B/S架构的设计体系,B/S结构相对于传统的C/S结构,它的这种结构能使得数据只有结果集在浏览器中显示,数据的处理在服务器中进行,然后用户就不用安装客户端了,而且因为通过服务器端统一管理数据,很大程度降低了开发WEB应用的难度;易于保证数据的一致性。
B/S模式的三层模型:
第一层表示层。
用户接口部分它就是数据的表示层,会把用户和系统连接起来传递信息。
它能够实现对输入的数据进行检查和对外输出的数据的功能,以便显示出来。
当某个Web浏览器需要获取资源,对一个服务器要申请服务时,服务器会在验证了用户信息以后,把所需的文件资料都传送给客户端,其采用的是HTTP协议传送,文件资料就能够被用户接收了并且可以显示在浏览器上。
第二层事务逻辑层。
事务逻辑层是应用的主体,它也可以被叫做功能层,业务处理程序基本上都是在这一层中。
统计、汇总、分析、打印功能等等这些功能都是在功能层。
申请的方式是通过SQL向数据库来进行操作,根据具体的需求和用户的特殊要求,来程序使用数据库中的数据,处理之后的数据会从数据服务器转到web上的服务器,最后客户端从web服务器上得到数据。
第三层数据库层。
数据库层是由两部分组成,一部分是数据库管理系统,另一部分是数据库,各个部分独自处理它的任务,任务是它对数据库进行处理,对数据库的操作,例如增删改查等,web服务器能够获取最后的结果。
负责管理其数据库的事数据库管理系统,提供给应用程序各种各样的服务,数据库管理系统处在数据库服务器端[18]。
3.3可行性分析
随着中国人民的物质、精神和文化水平的不断提高,人们已不再仅是停留在吃饱的程度,而是不但要吃饱,更要吃好,并且越来越挑刺。
正是基于此目的,网上订餐业务的出现,迎合了这些人的需求,他们不但省去了自己做饭的麻烦,还能寻找和发现新的菜品,品尝不同风格及不同种类的菜品。
网上订餐业务在中国有着良好的发展空间和不错的发展前景。
综上,我们决定利用JAVA和MySQL来设计网上订餐系统。
JAVA可以创建与运用动态、交互的WEB服务器应用程序。
MySQL是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于大型联机事务处理、数据仓库及电子商务等[19]。
第四章系统设计
4.1系统设计目标
4.1.1系统安全性
对于不同的用户有着不同的权限,系统对于他们有良好的区分。
同时保证了数据的安全性。
可靠准确的数据、可恢复性的系统都是必须的。
4.1.2可维护性
在使用系统的过程中,会碰到很多新的要求,有时候还要对新的内容进行扩充,因此在设计系统时一定要考虑到,设计出来的系统是否能满足实际的应用,并能随时添加新的功能。
管理员会不定时对系统进行更新,如新功能的开发和数据的维护等。
4.1.3用户操作
设计的目标中应该有能够使用户使用方便,操作简洁明了,这样才能更好让系统发挥其的作用。
本系统中对用户有着很明确的操作指示,我们可以在网页中浏览系统并为用户提供给的任何服务,例如查看菜品信息,个人信息,密码修改以及个人发表的信息等。
4.1.4运行速度
系统响应时间对于系统是至关重要。
想到每位用户都不喜欢传统订
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 系统 毕业论文