网上订餐系统毕业论文-Java_第1页
网上订餐系统毕业论文-Java_第2页
网上订餐系统毕业论文-Java_第3页
网上订餐系统毕业论文-Java_第4页
网上订餐系统毕业论文-Java_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

./分院名称:学生学号:师学院本科毕业论文〔设计〔理工类题目:网上订餐系统设计与实现专业:计算机科学与技术作者姓名:指导教师:指导教师职称:年月.师学院本科毕业论文〔设计作者承诺保证书本人重承诺:本篇毕业论文〔设计的容真实、可靠。如果存在弄虚作假、抄袭的情况,本人愿承担全部责任。论文作者签名:日期:年月日师学院本科毕业论文〔设计指导教师承诺保证书本人重承诺:我已按有关规定对本篇毕业论文〔设计的选题与容进行指导和审核,坚持一人一题制,确认由作者独立完成。如果存在学风问题,本人愿意承担指导教师的相关责任。指导教师签名:日期:年月日摘要二十一世纪是信息化、知识化的世纪,随着社会的进步、计算机应用的快速发展和网络应用的不断扩大,并使传统的订餐形式得到了极大的扩充,使人们订餐更加的方便。基于Web的网上订餐系统,它是一种基于计算机网络的网上订餐形式,它的出现,大扩充了现行的订餐方式,使餐饮摆脱了空间上和时间上的束缚,不管谁,只要会上网,都可以坐在电脑前面,方便地进行网上订餐,可以看成是对餐饮业的一次革命。通过网上订餐系统,可以在家中或办公室为自己订一份既营养又实惠的美食。本文就是基于此目的实现一个网上购餐系统。本系统是用户实现网络交易的一种方式。设计和实现了一个B/S结构的网上订餐系统,重点论述了系统的功能与实现、数据流程及存储。包括会员管理、餐品信息介绍、网上订餐、用户留言、系统用户管理以及后台数据库管理等。本文先是对系统的需求分析做了详细的介绍,然后对系统的概要设计进行了阐述并重点介绍了网上订餐系统各功能模块的具体设计和实现。本系统是在MySQL数据库、Java语言和MyEclipse平台技术实现的。既拥有良好便捷的前台操作界面,也有稳定的后台支持。系统旨在提供一个可供操作、功能完全、特色突出的网上订餐系统。关键词:网上订餐系统JAVAMySQLSSH2.AbstractTwenty-firstcenturyisainformationalknowledgeablecentury.Withtherapiddevelopmentofsociety,theuseofthecomputerapplicationandthenetworkapplication,thetraditionalorderformofmealshasbeengreatlyexpanded,makinglifemoreconvenient.OnlinemealorderingsystembasedonWebissuchacomputernetworkbasedontheonlinemealorderingformwhichhasgreatlyexpandedtheexistingorderway.Nomatterwho,aslongaswiththeInternet,cansitinfrontofthecomputer,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.目录24224承诺保证书I29415摘要II20104AbstractIII18998第一章绪论1255161.1本课题的来源及研究意义123631.1.1本课题的来源1154631.1.2课题的研究意义 226361.2订餐系统概述 2126931.2.1订餐系统的发展历史 229505第二章相关开发技术321322.1J2EE设计平台3309182.2MySql378382.2.1MySql简介3299502.2.2MySql优势3209442.3struts24134312.3.1struts2简介457282.3.2struts2框架结构4131802.4spring4128792.4.1spring简介459672.4.2sring核心机制5225532.5hibernate5188912.5.1hibernate简介536332.5.2hibernate核心接口54991第三章需求分析6284873.1网上订餐需求分析6121023.1.1功能需求分析6291713.2系统架构分析7276143.3可行性分析76774第四章系统设计8212714.1系统设计目标8203914.1.1系统安全性8193394.1.2可维护性852064.1.3用户操作843504.1.4运行速度8124494.1.5界面82124.2用户类别功能设计9294564.2.1订餐用户功能9254224.2.2餐馆管理员功能9121484.3总体设计10244074.3.1用户登录1045704.3.2订餐服务11302644.3.3订餐处理11199974.4数据库设计1234314.4.1数据库设计概述12145384.4.5数据库模型1575第五章系统实现16318695.1登陆和注册16165625.2菜单信息浏览16304395.3订餐服务1710845.4用户反馈17253575.5订单处理17118085.6餐馆信息管理18252225.7程序相关1824547结论1917869参考文献 2012542致21.绪论网上订餐就是互联网的深入应用。用户通过互联网,能足不出户,轻松闲逸地实现自己订购餐饮和食品〔包括饭、菜、盒饭、便当等的一种网络订餐形式。随着食天下网上订餐平台的兴起,网上订餐已经逐渐成为了白领阶层中的一种潮流了。网上订餐一般都会集中在一个时段,这会给餐饮企业制造出订餐的高峰时段,订餐者的需求在很多时候会得不到满足,这种不如意,诞生的总是网上订餐"无保障","线上看,线下订"正好能帮助改变这种会衍生恶性循环的效应;通过线下联系和沟通,订餐者会对送餐时间能适当把控,这样也就心里有数,在这样的情况下,餐饮企业和用餐者在口头协商的前提下,能达成一种双方都能接受的协议,网上订餐用户一般都不会产生不满情绪,这能抵消消费者的不满情绪。想实现网上订购,这些网上订餐的形式应该很难,其中原因主要就是餐饮行业普遍存在的信息化意识薄弱,这让网上订餐成为实在的瓶颈,短时期这是很难突破的,这也是为什么现在真正能实现网上订餐、并能被广泛接纳的网上订餐行为,依然离不开直接订购的主要原因。网上订餐,想正真实现"网上订,网上付"的正规化,还需要很长的一段时日。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应用中保护数据的安全模式等等,同时提供了对EJB〔EnterpriseJavaBeans、JavaServletsAPI、JSP〔JavaServerPages以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构[6]。2.2MySql2.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.3struts22.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.4spring2.4.1spring简介它是为了解决企业应用程序开发的复杂性而由RodJohnson创建的。框架的主要好处之一就是它的分层架构,分层架构可以允许使用者选择使用哪一个组件,同时并为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成从前只可能是由EJB来完成的事情。但Spring的用途不仅局限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java的应用都可以从Spring中受益颇多[13]。2.4.2sring核心机制控制反转模式〔依赖性注入的基本概念是:不为创建对象,但是描述创建它的方式。在代码中不直接和对象和服务连接,而是在配置文件中来描述哪一个组件它需要哪一项服务。容器〔在Spring框架中是IOC容器它是负责将其联系在一起。在典型的IOC场景中,是容器创建了所有对象,并且设置必要的属性来将它们连接在一起,决定什么时间去调用方法[14]。2.5hibernate2.5.1hibernate简介Hibernate它是一个开放源代码的对象关系映射框架,它是对JDBC进行了非常轻量级的对象封装,使Java程序员能够随心所欲的使用对象编程思维来操纵数据库。Hibernate它可以应用在任何使用JDBC的场合,既能够在Java的客户端程序使用,也能够在Servlet/JSP的Web应用中使用,最有意义的是,Hibernate它能够在应用EJB的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运行速度系统响应时间对于系统是至关重要。想到每位用户都不喜欢传统订餐方式等待的长远时间,后台会不断提高系统的运行速度,来争取在第一时间满足用户的订餐需求。对于管理员,需要注意的是在提高响应时间的时候,务必不能忘记系统的安全性。系统的速度,主要与浏览器与服务器之间的网络通信速度以及服务器在处理事务时的运行速度。对此,应该选择网络连接更加快速,子较少的优质线路对服务器线路进行铺设,其次是在编程过程中减少对数据库的访问,加快访问速度,事务处理逻辑更加合理化,减少不必要的计算冗余。4.1.5界面人和机器的互动过程<HumanMachineInteraction>中,有一个层面,即我们所说的界面<interface>。用户界面设计是屏幕产品的重要组成部分。界面设计是一个复杂的有不同学科参与的工程,认知心理学、设计学、语言学等在此都扮演着重要的角色。用户界面是用户与程序沟通的唯一途径,要能为用户提供方便有效的服务。

用户界面设计的三大原则是:置界面于用户的控制之下、减少用户的记忆负担、保持界面的一致性。详细说来有以下几点。1.简易性界面的简洁是要让用户便于使用、便于了解、并能减少用户发生错误选择的可能性。2.用户语言界面中要使用能反应用户本身的语言,而不是游戏设计者的语言。3.记忆负担最小化人脑不是电脑,在设计界面时必须要考虑人类大脑处理信息的限度。人类的短期记忆极不稳定、有限,24小时存在25%的遗忘率。所以对用户来说,浏览信息要比记忆更容易。4.一致性是每一个优秀界面都具备的特点。界面的结构必须清晰且一致,风格必须与游戏容相一致。5.清楚在视觉效果上便于理解和使用。4.2用户类别功能设计4.2.1订餐用户功能图4-1订餐用户功能图4.2.2餐馆管理员功能图4-2餐馆管理员功能图4.3总体设计4.3.1用户登录图4-3用户登录流程图用户登录实现为本注册用户提供身份确认的功能,保证合法用户的应有权益。而且是否登录也将决定用户能否订餐。用户登录的前置条件是在登录前,用户必须完成"注册"。流程如下:进入首页之后,会看到一个登陆页面,只有在注册之后才能使用本系统,注册之后,后台会收到相关信息,只有用户名和密码正确才能登陆成功。4.3.2订餐服务图4-4订餐服务流程图在订餐服务用例中,每个用户都有个购物车,用户可以将自己选定的菜品及其数量放入到购物车中,并且随时可以查看自己预定的菜品的数量和总价格。本用例开始前用户必须登录到系统中。如果用例成功,顾客可以浏览自己购物车中的信息并决定是购买还是删除。4.3.3订餐处理图4-5订单处理流程图当用户提交已订的菜单或想取消已订的菜单时,都会在前台自动生成;处理订单的过程是订餐管理人员参与的,当前台有新的订单生成时,会自动在后台的现有订单列表中显示出来,订餐管理人员可以点击查看未处理的订单,根据实际情况进行处理,或者删除不需要的订单记录。具体流程如下:对于用户,在生成订单之前,可以随意浏览菜单信息,并选择是否订购及提交之前是否删除;对于管理员,可以查看用户生成的订单信息,并在确认用户收到所订购的菜之后,有权删除该用户的订单。之前已经完成需求分析,现在需要进行概念设计、逻辑设计和物理设计,本章将叙述这三个阶段的设计思路和设计过程。4.4数据库设计4.4.1数据库设计概述概要设计的主要任务是把需求分析得到的DFD转换为数据和软件结构。软件结构在设计时需要完成的任务是:把按功能的不同模块划分、确立层次结构及相互调用、接口与人机间的联系。数据的结构特性的确定、数据特征的全部描述和数据库的详细设计。显然,经过概要设计之后,就建立了一个系统的逻辑模型,该模型不受具体的计算机影响[20]。4.4.2数据库表的设计数据库的主要表详细结构如下:表4-1用户表:user字段名类型说明useridInt<11>用户iduemailVarchar<32>用户UnameVarchar<32>用户名UpswdVarhar〔32用户密码UphoneInt<11>用户isConfirmTinyint<4>系统管理员权限表4-2餐馆表:restaurant字段名类型说明RidInt<11>餐馆idRpswdVarchar<32>餐馆登陆密码RseatVarchar<128>餐馆地址RitemVarhar〔128餐馆特色RphoneVarchar〔32餐馆RstartmoneyFloat〔8起送金额RsendmoneyFloat〔8送餐金额Rstatuetinyint<4>餐馆状态RstyleTinyint〔4餐馆类型RnameChar〔128餐馆名称表4-3菜系表 :cookstyle字段名类型说明csidInt<11>菜系idRidInt<11>关联餐馆DnameVarchar<128>菜系名称表4-4菜品表 :dishes字段名类型说明didInt<11>菜品idRidInt<11>关联餐馆DnameVarchar<128>菜品名称DmoneyFloat〔8菜品价格CsidInt〔11关联菜系表表4-5评价表:discuss字段名类型说明DisidInt<11>评价idRidInt<11>关联餐馆UseridInt〔11关联用户表DiscontentText评论容TastenumberTinyint口味得分ServicenumberTinyint服务得分SpicenumberTinyint速度得分DistimeDatetime评论时间表4-6回复评论表:redis字段名类型说明RedisidInt<11>回复评论idDisidInt<11>关联评论表RediscontentText回复评论容表4-7公告表:notice字段名类型说明NidInt<11>公告idTitleChar〔128标题NcontentText公告容NtimeDatetime发布时间表4-8送餐时间表:sendtime字段名类型说明SidInt<11>送餐时间idRidInt<11>关联餐馆SstartTime送餐起始时间SsendTime送餐结束时间表4-9订餐时间表:pretime字段名类型说明pidInt<11>订餐时间idRidInt<11>关联餐馆pstartTime订餐起始时间psendTime订餐结束时间表4-10订单表:orderform字段名类型说明oridInt<11>订单idUseridInt<11>关联用户OrtimeTime下单时间OrstatueTinyint订单状态FormChar〔129订过的餐厅表4-11订餐者信息表:tb字段名类型说明TbidInt<11>信息idTbnameVarchar订餐者TbtelVarchar订餐者TbaddressVarchar送餐地址MytimeSmallint是否定时送餐DdltimeVarchar送餐时间TbremarkText订餐者备注OridInt关联订单表表4-12订单项表:formitem字段名类型说明FidInt<11>订单项idDidInt<11>关联菜品表OridInt〔11关联订单4.4.5数据库模型数据库各表关联关系图4-6所示:图4-6数据库模型图系统实现5.1登陆和注册首页为url为"/index",处理方法为IndexAction中Index<>,如图5-1所示:图5-1首页展示图非登录用户在之浏览饭店以及饭店菜品信息,但还无法订餐网上订餐服务只有登陆以后才能进行,这样确保了订餐服务的有效性,避免预定后,不履行订单的恶意行为。5.2菜单信息浏览在菜单信息中,可以直接浏览到全部的菜单信息,信息包括了:菜名,价格等。在该网页上也可以查看菜品的详细信息。如图5-2所示:图5-2订餐界面图当用户点击订购若还没有登录,则跳转到登陆页面,若已登录。在右侧会有小购物车提示用户,如图5-3所示:图5-3购物篮图〔此购物车在未登录状态时是不显示的点击确认可以进入购物车进行订单的最后处理,点击清除,可以消除已经订购的菜品5.3订餐服务当用户进行订餐时,系统为用户生成了一个虚拟的购物车,在用户浏览详细的菜单信息时,将此菜品放入购物车中。在订餐过程中,用户可以查看自己购物车中选购的菜品和金额,根据自己的需要可以清空购物车中的菜品,还可以选择继续订餐,在查看购物车时填入相关送餐信息,点击"提交订单",完成了整个订餐流程。5.4用户反馈用户可以给饭店进行评论和评分,如图5-4所示:图5-4用户信息反馈图5.5订单处理用户下单后,可以在我的账户中查看订单,并对未完成的订单做完成处理,如图5-5所示:图5-5订单确认图5.6餐馆信息管理餐馆管理员需要登录后才能进入餐馆后台管理。餐馆登陆成功后会跳转至餐馆管理页面,如图5-6所示:图5-6餐馆信息管理图这里可以对餐馆中的信息进行操作例如对菜品的增加等点击订单产看连接可以看到已下单的菜单,这个菜单包含本店需要做的菜品并有送餐地址,点击确认订单后,将不再显示在此订单表中。5.7程序相关程序为降低耦合度,采用多层衔接,其中action调用service,service调用dao.impl,dao.impl实现dao,dao中定义对model的操作。如图5-7所示:图5-7程序构架图Action:包中包含了所有的action类Dao:包含事务处理的接口Dao.impl:dao的实现类Model:包含实体类Service:调用Dao.impl降低耦合,能更好得实现系统的延展与维护Util:包含一些用到的工具类,例如中文编码设置.结论该课题是利用J2EE技术,它是基于B/S模式开发实现的网上订餐系统,在分析、研究网上订餐课题的基础上,对系统的组织结构、数据流程、用户需求等容都进行了详细的调查分析。在设计的过程中

温馨提示

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

评论

0/150

提交评论