




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业论文(设计)本科毕业论文(设计)(理工类)题目: 网上订餐系统设计与实现 I / 27摘要摘要二十一世纪是信息化、知识化的世纪,随着社会的进步、计算机应用的快速发展和网络应用的不断扩大,并使传统的订餐形式得到了极大的扩充,使人们订餐更加的方便。基于 Web 的网上订餐系统,它是一种基于计算机网络的网上订餐形式,它的出现,大扩充了现行的订餐方式,使餐饮摆脱了空间上和时间上的束缚,不管谁,只要会上网,都可以坐在电脑前面,方便地进行网上订餐,可以看成是对餐饮业的一次革命。通过网上订餐系统,可以在家中或办公室为自己订一份既营养又实惠的美食。本文就是基于此目的实现一个网上购餐系统。本系统是用户实
2、现网络交易的一种方式。设计和实现了一个 B/S 结构的网上订餐系统,重点论述了系统的功能与实现、数据流程与存储。包括会员管理、餐品信息介绍、网上订餐、用户留言、系统用户管理以与后台数据库管理等。本文先是对系统的需求分析做了详细的介绍,然后对系统的概要设计进行了阐述并重点介绍了网上订餐系统各功能模块的具体设计和实现。本系统是在 MySQL 数据库、Java 语言和 MyEclipse 平台技术实现的。既拥有良好便捷的前台操作界面,也有稳定的后台支持。系统旨在提供一个可供操作、功能完全、特色突出的网上订餐系统。关键词:网上订餐系统 JAVA MySQL SSH2 II / 27AbstractAb
3、stractTwenty-first century is a informational knowledgeable century.With the rapid development of society, the use of the computer application and the network application, the traditional order form of meals has been greatly expanded, makinglife more convenient. Online meal ordering system based on
4、Web is such a computer network based on the online meal ordering form which has greatly expanded the existing order way.No matter who, as long as with the Internet, can sit in front of the computer, ordering a meal conveniently online. It is a kind of revolution of daily life. Online meal ordering s
5、ystem can be used in the home or office to buy a nutrition and affordable food for someone .Based on this,this article implements an online meal system.The system is the user a way for network transactions. the on-line meal ordering system of the B/S structure is designed and implemented, it emphati
6、cally elaborates the function and implementation of system, data flow and storage such as the member management, information introduction of order, the on-line meal ordering, user information, system user management as well as the administration of backstage database. This article analyzes the syste
7、m requirements, and makes a detailed introduction, and then highlighted the design and implementation of the online meal-order system. The system is implied by MySQL database, Java language and MyEclipse . It not only has good prospects of friendly interface, and also a stable background support. Th
8、e system is designed to provide an operable, fully functional, feature prominent system for online meal ordering.Key Words: Online ordering system JAVA MySQL SSH2III / 27IV / 27目目 录录承诺保证书承诺保证书 I I摘要摘要 IIIIABSTRACTABSTRACTIIIIII第一章第一章 绪绪 论论 1 11.1 本课题的来源与研究意义 11.1.1 本课题的来源 11.1.2 课题的研究意义 .21.2 订餐系统概述
9、.21.2.1 订餐系统的发展历史.2第二章第二章 相关开发技术相关开发技术 3 32.1 J2EE 设计平台 32.2 MYSQL32.2.1MYSQL 简介 32.2.2MYSQL 优势 32.3 STRUTS242.3.1 STRUTS2 简介 42.3.2STRUTS2 框架结构 42.4 SPRING42.4.1 SPRING 简介 42.4.2SRING 核心机制 52.5 HIBERNATE52.5.1 HIBERNATE 简介 52.5.2HIBERNATE 核心接口 5第三章第三章 需求分析需求分析 6 63.1 网上订餐需求分析 63.1.1 功能需求分析 63.2 系统架
10、构分析 7V / 273.3 可行性分析 7第四章第四章 系统设计系统设计 8 84.1 系统设计目标 84.1.1 系统安全性 84.1.2 可维护性 84.1.3 用户操作 84.1.4 运行速度 84.1.5 界面 84.2 用户类别功能设计 94.2.1 订餐用户功能 94.2.2 餐馆管理员功能 94.3 总体设计 104.3.1 用户登录 104.3.2 订餐服务 114.3.3 订餐处理 114.4 数据库设计 124.4.1 数据库设计概述 124.4.5 数据库模型 15第五章第五章 系统实现系统实现 16165.1 登陆和注册 165.2 菜单信息浏览 165.3 订餐服务
11、 175.4 用户反馈 175.5 订单处理 175.6 餐馆信息管理 185.7 程序相关 18结 论 19参考文献参考文献 .2020致致 21211 / 27第第 1 1 章章 绪绪 论论网上订餐就是互联网的深入应用。用户通过互联网,能足不出户,轻松闲逸地实现自己订购餐饮和食品(包括饭、菜、盒饭、便当等)的一种网络订餐形式。随着食天下网上订餐平台的兴起,网上订餐已经逐渐成为了白领阶层中的一种潮流了。网上订餐一般都会集中在一个时段,这会给餐饮企业制造出订餐的高峰时段,订餐者的需求在很多时候会得不到满足,这种不如意,诞生的总是网上订餐“无保障” ,“线上看,线下订”正好能帮助改变这种会衍生恶
12、性循环的效应;通过线下联系和沟通,订餐者会对送餐时间能适当把控,这样也就心里有数,在这样的情况下,餐饮企业和用餐者在口头协商的前提下,能达成一种双方都能接受的协议,网上订餐用户一般都不会产生不满情绪,这能抵消消费者的不满情绪。想实现网上订购,这些网上订餐的形式应该很难,其中原因主要就是餐饮行业普遍存在的信息化意识薄弱,这让网上订餐成为实在的瓶颈,短时期这是很难突破的,这也是为什么现在真正能实现网上订餐、并能被广泛接纳的网上订餐行为,依然离不开直接订购的主要原因。网上订餐,想正真实现“网上订,网上付”的正规化,还需要很长的一段时日。1.11.1 本课题的来源与研究意义本课题的来源与研究意义1.1
13、.11.1.1 本课题的来源本课题的来源随着网络技术的发展和普与,Internet 已成为人们获取有关信息和相互交流的重要途径之一,越来越多的机构和组织开始利用网络资源传递、发布、收集和管理信息。这对各种类型的网络提供一次很大的机遇与挑战,特别是通过网络进行信息交互的这种活动,更使网络的经营方式充满了活力和机动性1。基于 B/S 模式的 JAVA 网上订餐系统是应用于网络交流领域的系统,它的主要特点有:(1) 通用性:网上订餐系统具有良好的界面,适合推广给所有用户,能够给用户提供良好的服务。(2) 便捷性:本系统最大的特点就是方便快捷,用户使用本系统可以足不出户就享受到优质服务,在现代人们的生
14、活中很适用。人们对于订餐的要能够减少排队等待的时间,此系统的设计正是为了迎合大家的这种需求,可以让用户节约许多的时间,提高了生活效率2。2 / 271.1.21.1.2 课题的研究意义课题的研究意义网上订餐系统为人们的生活提供了方便快捷的消费方式:1.顾客去餐厅消费不用需要排队点餐,可以方便的打开我们的,选择自己喜欢的餐厅,浏览餐厅的菜单,进行网上点餐,省去了很多的时间。2.对于餐厅,可以扩大自己的销售领域,通过我们的可以很好的做广告。每个餐厅有它自己的主页,管理自己的主页;餐厅不仅仅在某个商业小区经营,餐厅还可以给顾客提供送外卖服务,这样就大方便了那些宅男宅女们,不用再买那些快餐似的垃圾食品
15、,还能很好地享受到可口的饭菜。通过这种方式,餐厅的营业围将大提高,营业额必然会上升。本系统针对所有用户群体,建立了客户端与服务器端。主要解决的问题包括:(1) 对于使用界面,需要人性化,能够给用户一种温馨与简易的感觉;(2) 系统应能够与时响应用户的请求,并与时提供帮助。本系统开发的意义在提供给用户方便快速的订餐服务,满足用户的需要,解决传统订餐方式的不足。1.21.2 订餐系统概述订餐系统概述1.2.11.2.1 订餐系统的发展历史订餐系统的发展历史随着互联网用户的增多,工作节奏的加快,网络订餐成为众多年轻网民与白领人士生活中的一部分。大众点评网、豆丁网等的成立,为众多办公楼、工作繁忙的白领
16、解决了吃饭问题。网络订餐的手段和方式分类,目前餐饮业主要通过以下三种方法开展:1通过餐饮订餐。这种订餐方式主要通过专门的实现订餐,用户通过网络实现对餐馆的查询与餐馆的菜谱查询和预定服务,相应企业给予通过订餐的顾客相应的优惠。2通过与时的通讯工具( ,MSN 等)的网络订餐。这种餐饮企业往往不具备建立订餐系统的资金与技术实力,主要通过与时的通讯工具( ,MSN 等)的实现订餐。这种餐饮企业往往是区域性的,主要分布在居民小区与学校周边,规模一般较小。3通过电子的网络订餐。这种订餐方式主要是在相应餐饮企业举办大型酒席时,顾客提供给餐饮企业餐单时使用。因为使用订餐有时间差,而且要收发略显麻烦,所以目前
17、较少使用。综上,第一类订餐方式使用最为广泛,建立较容易 成本低,但对于传统店面餐饮收效甚微,无法成为主要的利润来源。其余两类有网络订餐的实质,但仅作为目前网络订餐的辅助手段3,4。3 / 27第第 2 2 章章 相关开发技术相关开发技术2.12.1J2EEJ2EE 设计平台设计平台J2EE Java2 平台企业版(Java 2 Platform,Enterprise Edition)是一套全然不同于传统应用开发的技术架构,它包含许多组件,主要可以简化并且规应用系统的开发与部署,进而提高可移植性、安全与再用价值5。 目前,Java 2 平台它有 3 个版本,它们是适用于小型设备和智能卡的 Jav
18、a 2平台 Micro 版(Java 2 Platform Micro Edition,J2ME) 、适用于桌面系统的 Java 2 平台标准版(Java 2 Platform Standard Edition,J2SE) 、适用于创建服务器应用程序和服务的 Java 2 平台企业版(Java 2 Platform Enterprise Edition,J2EE) 。J2EE 它是一种利用 Java 2 平台来简化企业的解决方案的开发、部署和管理等相关的复杂问题的体系结构。J2EE 技术的基础是核心的 Java 平台或Java 2 平台的标准版,J2EE 它不仅巩固标准版中的许多优点,例如“编
19、写一次、随处运行”的特性、方便存取数据库的 JDBC API、CORBA 技术与能够在 Internet 应用中保护数据的安全模式等等,同时提供了对 E(Enterprise JavaBeans) 、Java Servlets API、JSP(Java Server Pages)以与 XML 技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构6。2.22.2 MySqlMySql2.2.1MySql2.2.1MySql 简介简介MySQL 它是一个小型关系型数据库管理系统,MySQL 它还是一种关联数据库管理的系统,关联数据库将数据保存于不同的表中,而不是将所
20、有数据容放在一个大仓库。这样就提高了速度和灵活性。MySQL 的是 SQL“结构化查询语言” 。SQL 它是用于访问数据库中的最常用标准化语言。MySQL 软件采用了 GPL(GNU 通用公共许可证)。由于它体积小、速度快、总体拥有成本低,特别是开放源码这一特点,许多中小型为了降低总体成本就选择了 MySQL 作为数据库7,8。2.2.2MySql2.2.2MySql 优势优势(1)它是使用 C 和 C+编写,并使用了众多的编译器进行测试,保证了源代码的可移植性;(2)支持 AIX、HP-UX、NovellNetware、Linux、Mac OS、OpenBSD、Solaris、Windows
21、、FreeBSD OS/2 Wrap 等多种操作系统;(3)为多种编程语言都提供了 API。这些编程语言包括C、C+、Java、Perl、PHP、Ruby、和 Tcl Eiffel 等;4 / 27(4)既能作一个单独的应用程序应用在客户端服务器网络环境中,还能作为一个库而嵌入到其他的软件中提供多种语言支持,常见的编码如中文的 GBK、BIG5,日文种的 Shift、JIS 以用作数据表名和数据列名;(5)提供了 TCP/IP、ODBC 和 JDBC 等许多种数据库连接方法;(6)它还提供了用于管理、检查、优化数据库的操作的管理工具;(7)可以处理有上千万条记录的大型数据库9。2.32.3 s
22、truts2struts22.3.1struts22.3.1struts2 简介简介Struts 2 它是 Struts 的下一代产品,是融合了 struts 1 和 WebWork 的技术,在它们基础上合并的全新的框架。其全新的 Struts 2 的体系结构与 Struts 1 的体系结构有着巨大差别。Struts 2 它是以 WebWork 为核心,采用了拦截器机制来处理用户的请求,这样的设计让业务逻辑控制器能够与 Servlet API 完全脱离,因此Struts 2 可以理解成 WebWork 的更新产品。虽然从 Struts 1 到 Struts 2 有着根本性的变化,但是相对于 W
23、ebWork,Struts 2 它的变化还是很小10。2.3.2struts22.3.2struts2 框架结构框架结构当 Web 容器收到 请求( ServletRequest)后,它将请求传递给一个标准的过滤链包括(ActionContextCleanUp)过滤器,然后经过 Other filters(SiteMesh ,etc),再然后需要调用 FilterDispatcher 这个核心控制器,然后它再调用ActionMapper 确定请求来自哪个 Action,ActionMapper 返回一个收集 Action 详细信息的 ActionMaping 的对象。接下来 FilterDis
24、patcher 它将控制权派给ActionProxy,ActionProxy 调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息文件(struts.xml),然后创建 ActionInvocation 对象,ActionInvocation 在调用 Action 之前它会依次的调用所用配置的拦截器(Interceptor N) 一旦执行结果后返回结果字符串 ActionInvocation 负责查找结果字符串对应的结果集(Result)然后执行这个 Result。 Result 会调用一些模版(JSP)来表页面,随后拦截器(Interceptor N)会被执行
25、(顺序和 Action 执行之前相反)最后响应( ServletResponse)它会被返回在 web.xml 中配置的那些过滤器和核心控制器(FilterDispatcher)中11,12。2.42.4 springspring2.4.1spring2.4.1spring 简介简介它是为了解决企业应用程序开发的复杂性而由 Rod Johnson 创建的。框架的主5 / 27要好处之一就是它的分层架构,分层架构可以允许使用者选择使用哪一个组件,同时并为 J2EE 应用程序开发提供集成的框架。Spring 使用基本的 JavaBean 来完成从前只可能是由 E 来完成的事情。但 Spring 的
26、用途不仅局限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 的应用都可以从 Spring 中受益颇多13。2.4.2sring2.4.2sring 核心机制核心机制控制反转模式(依赖性注入)的基本概念是:不为创建对象,但是描述创建它的方式。在代码中不直接和对象和服务连接,而是在配置文件中来描述哪一个组件它需要哪一项服务。容器 (在 Spring 框架中是 IOC 容器) 它是负责将其联系在一起。在典型的 IOC 场景中,是容器创建了所有对象,并且设置必要的属性来将它们连接在一起,决定什么时间去调用方法14。2.52.5 hibernatehibernate2.5.1hi
27、bernate2.5.1hibernate 简介简介Hibernate 它是一个开放源代码的对象关系映射框架,它是对 JDBC 进行了非常轻量级的对象封装,使 Java 程序员能够随心所欲的使用对象编程思维来操纵数据库。 Hibernate 它可以应用在任何使用 JDBC 的场合,既能够在 Java 的客户端程序使用,也能够在 Servlet/JSP 的 Web 应用中使用,最有意义的是,Hibernate 它能够在应用 E 的 J2EE 架构中取代 CMP,来完成数据持久化的重任15。2.5.2hibernate2.5.2hibernate 核心接口核心接口Session 接口它是负责执行被
28、持久化对象的 CRUD 操作(CRUD 的任务是完成与数据库的交流,包含了许多常见的 SQL 语句)。但是,需要注意的是 Session 对象是非线程安全的。并且 Hibernate 中的 session 不同于 JSP 应用中的 Session16。这里当使用 session 这个术语时,其实指的是 Hibernate 中的 session,在以后会将 Session 对象称为用户 session。SessionFactory 接口它是负责初始化 Hibernate 的。它既可以充当数据存储源的代理,还负责创建 Session 对象。在这里还用到工厂模式。但需要注意的是SessionFact
29、ory 它并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory 就够,但是当需要操作多个数据库时,可以为每个数据库都指定一个 SessionFactory。Configuration 类它是负责配置并启动 Hibernate 的,创建 SessionFactory 对象的。在 Hibernate 的启动过程中,Configuration 类的实例它先定位映射文档位6 / 27置、读取配置,然后创建 SessionFactory 这个对象17。Transaction 接口它是负责事务的相关操作。它是可选的,同时开发人员也可以设计编写自己的底层事务处理代码18。第第
30、3 3 章章 需求分析需求分析3.13.1 网上订餐需求分析网上订餐需求分析3.1.13.1.1 功能需求分析功能需求分析本系统主要是实现网上浏览菜单、订餐、产生订单等功能的系统。需要实现菜品信息的提示、购物车管理、客户信息注册、登录管理、订单处理和信息反馈等容。需要完成的主要任务如下:当客户进入网上订餐时,应该在订餐页面中显示相应的菜品信息,来供客户去选择所需要的菜品,同时还提供按菜品名称,快速查询所需要菜品信息的功能。当客户选择预定某个菜品时,应该能够将对应菜品信息,如:价格、数量记录到对应的购物车中,此时客户可以选择选择其他菜品或是查看自己的购物车,最后,在购物车中填下相应的送餐信息,提
31、交订餐的订单后,自动清除以生成订单的购物车中的信息。餐厅服务人员根据订单信息,查看详细订单明细并根据实际情况处理订餐。分析网上订餐系统,制订整个系统框架如图 3-1:图 3-1 系统整体框架图目前,用于需求建模的方法有很多,最常见的是包括数据流图(DFD)、实体关系图(ERD)和 UML 三种方式。UML(统模语言)是一种建模语言,它的特点是良好的定义、表达能力突出、具有多重功能。软件工程中的一些方法和技术也都应用在其中。从软件需求分析开始就有了很多的应用,并且贯穿始终。本系统使用 UML 中的用例图、活动图、状态图来对需求建模。代码的编写是以最终的类图和对类图的补充说明文档为基础的。7 /
32、27通常都是先画用例图和分析用例。然后把用例图中的 actor 去除,其余的名词中的大多就是类了,再根据具体情况斟酌就可以画类图。类图并非一下子画完的,可以在一开始先画出一些必要的成员变量和成员函数,再分析业务逻辑,并且可以开始画状态图、活动图和协作图、顺序图,在画这些图的时候对业务逻辑就会有更多的认识。但这时也会发现类图中的一些漏洞,然后再去补充类图。3.23.2 系统架构分析系统架构分析本网上订餐系统采用了 B/S 架构的设计体系,B/S 结构相对于传统的 C/S 结构,它的这种结构能使得数据只有结果集在浏览器中显示,数据的处理在服务器中进行,然后用户就不用安装客户端了,而且因为通过服务器
33、端统一管理数据,很大程度降低了开发 WEB 应用的难度;易于保证数据的一致性。B/S 模式的三层模型:第一层表示层。用户接口部分它就是数据的表示层,会把用户和系统连接起来传递信息。它能够实现对输入的数据进行检查和对外输出的数据的功能,以便显示出来。当某个 Web 浏览器需要获取资源,对一个服务器要申请服务时,服务器会在验证了用户信息以后,把所需的文件资料都传送给客户端,其采用的是 协议传送,文件资料就能够被用户接收了并且可以显示在浏览器上。第二层事务逻辑层。事务逻辑层是应用的主体,它也可以被叫做功能层,业务处理程序基本上都是在这一层中。统计、汇总、分析、打印功能等等这些功能都是在功能层。申请的
34、方式是通过 SQL 向数据库来进行操作,根据具体的需求和用户的特殊要求,来程序使用数据库中的数据,处理之后的数据会从数据服务器转到 web上的服务器,最后客户端从 web 服务器上得到数据。第三层数据库层。数据库层是由两部分组成,一部分是数据库管理系统,另一部分是数据库,各个部分独自处理它的任务,任务是它对数据库进行处理,对数据库的操作,例如增删改查等,web 服务器能够获取最后的结果。负责管理其数据库的事数据库管理系统,提供给应用程序各种各样的服务,数据库管理系统处在数据库服务器端18。3.33.3 可行性分析可行性分析随着中国人民的物质、精神和文化水平的不断提高,人们已不再仅是停留在吃饱的
35、程度,而是不但要吃饱,更要吃好,并且越来越挑刺。正是基于此目的,网上订餐业务的出现,迎合了这些人的需求,他们不但省去了自己做饭的麻烦,还能寻找和发现新的菜品,品尝不同风格与不同种类的菜品。网上订餐业务在中国有着良好的发展空间和不错的发展前景。综上,我们决定利用 JAVA 和 MySQL 来设计网上订餐系统。JAVA 可以创建与运8 / 27用动态、交互的 WEB 服务器应用程序。MySQL 是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于大型联机事务处理、数据仓库与电子商务等19。第第 4 4 章章 系统设计系统设计4.14.1 系统设计目标系统设计目标4.1.14.1.1 系统安
36、全性系统安全性对于不同的用户有着不同的权限,系统对于他们有良好的区分。同时保证了数据的安全性。可靠准确的数据、可恢复性的系统都是必须的。4.1.24.1.2 可维护性可维护性在使用系统的过程中,会碰到很多新的要求,有时候还要对新的容进行扩充,因此在设计系统时一定要考虑到,设计出来的系统是否能满足实际的应用,并能随时添加新的功能。管理员会不定时对系统进行更新,如新功能的开发和数据的维护等。4.1.34.1.3 用户操作用户操作设计的目标中应该有能够使用户使用方便,操作简洁明了,这样才能更好让系统发挥其的作用。本系统中对用户有着很明确的操作指示,我们可以在网页中浏览系统并为用户提供给的任何服务,例
37、如查看菜品信息,个人信息,密码修改以与个人发表的信息等。4.1.44.1.4 运行速度运行速度系统响应时间对于系统是至关重要。想到每位用户都不喜欢传统订餐方式等待的长远时间,后台会不断提高系统的运行速度,来争取在第一时间满足用户的订餐需求。对于管理员,需要注意的是在提高响应时间的时候,务必不能忘记系统的安全性。系统的速度,主要与浏览器与服务器之间的网络通信速度以与服务器在处理事务时的运行速度。对此,应该选择网络连接更加快速,子较少的优质线路对服务器线路进行铺设,其次是在编程过程中减少对数据库的访问,加快访问速度,事务处理逻辑更加合理化,减少不必要的计算冗余。4.1.54.1.5 界面界面人和机
38、器的互动过程(Human Machine Interaction)中,有一个层面,即我们所说的界面(interface)。用户界面设计是屏幕产品的重要组成部分。界面设计是一个9 / 27复杂的有不同学科参与的工程,认知心理学、设计学、语言学等在此都扮演着重要的角色。用户界面是用户与程序沟通的唯一途径,要能为用户提供方便有效的服务。用户界面设计的三大原则是:置界面于用户的控制之下、减少用户的记忆负担、保持界面的一致性。详细说来有以下几点。1.简易性界面的简洁是要让用户便于使用、便于了解、并能减少用户发生错误选择的可能性。2.用户语言界面中要使用能反应用户本身的语言,而不是游戏设计者的语言。3.记
39、忆负担最小化人脑不是电脑,在设计界面时必须要考虑人类大脑处理信息的限度。人类的短期记忆极不稳定、有限,24 小时存在 25的遗忘率。所以对用户来说,浏览信息要比记忆更容易。4.一致性是每一个优秀界面都具备的特点。界面的结构必须清晰且一致,风格必须与游戏容相一致。5.清楚在视觉效果上便于理解和使用。4.24.2 用户类别功能设计用户类别功能设计4.2.14.2.1 订餐用户功能订餐用户功能图4-1 订餐用户功能图10 / 274.2.24.2.2 餐馆管理员功能餐馆管理员功能图4-2 餐馆管理员功能图4.34.3 总体设计总体设计4.3.14.3.1 用户登录用户登录图 4-3 用户登录流程图用
40、户登录实现为本注册用户提供身份确认的功能,保证合法用户的应有权益。而且是否登录也将决定用户能否订餐。用户登录的前置条件是在登录前,用户必须完成“注册” 。流程如下:进入首页之后,会看到一个登陆页面,只有在注册之后才能使用本系统,注册之后,后台会收到相关信息,只有用户名和密码正确才能登陆成功。11 / 274.3.24.3.2 订餐服务订餐服务图 4-4 订餐服务流程图在订餐服务用例中,每个用户都有个购物车,用户可以将自己选定的菜品与其数量放入到购物车中,并且随时可以查看自己预定的菜品的数量和总价格。本用例开始前用户必须登录到系统中。如果用例成功,顾客可以浏览自己购物车中的信息并决定是购买还是删
41、除。4.3.34.3.3 订餐处理订餐处理图 4-5 订单处理流程图当用户提交已订的菜单或想取消已订的菜单时,都会在前台自动生成;处理订单的过程是订餐管理人员参与的,当前台有新的订单生成时,会自动在后台的现有订单列表中显示出来,订餐管理人员可以点击查看未处理的订单,根据实际情况进行处理,或者删除不需要的订单记录。具体流程如下:对于用户,在生成订单之前,12 / 27可以随意浏览菜单信息,并选择是否订购与提交之前是否删除;对于管理员,可以查看用户生成的订单信息,并在确认用户收到所订购的菜之后,有权删除该用户的订单。之前已经完成需求分析,现在需要进行概念设计、逻辑设计和物理设计,本章将叙述这三个阶
42、段的设计思路和设计过程。4.44.4 数据库设计数据库设计4.4.14.4.1 数据库设计概述数据库设计概述概要设计的主要任务是把需求分析得到的 DFD 转换为数据和软件结构。软件结构在设计时需要完成的任务是:把按功能的不同模块划分、确立层次结构与相互调用、接口与人机间的联系。数据的结构特性的确定、数据特征的全部描述和数据库的详细设计。显然,经过概要设计之后,就建立了一个系统的逻辑模型,该模型不受具体的计算机影响20。4.4.24.4.2 数据库表的设计数据库表的设计数据库的主要表详细结构如下:表 4-1 用户表:user字段名类型说明useridInt(11)用户 iduemailVarch
43、ar(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)送餐金额13 / 27Rstatuetinyint(4)餐馆状态RstyleTinyint(4)
44、餐馆类型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评论容Tast
45、enumberTinyint口味得分ServicenumberTinyint服务得分SpicenumberTinyint速度得分DistimeDatetime评论时间表 4-6 回复评论表:redis字段名类型说明RedisidInt(11)回复评论 idDisidInt(11)关联评论表RediscontentText回复评论容14 / 27表 4-7 公告表:notice字段名类型说明NidInt(11)公告 idTitleChar(128)标题NcontentText公告容NtimeDatetime发布时间表 4-8 送餐时间表:sendtime字段名类型说明SidInt(11)送餐时间
46、 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订
47、餐者15 / 27TbtelVarchar订餐者TbaddressVarchar送餐地址MytimeSmallint是否定时送餐DdltimeVarchar送餐时间TbremarkText订餐者备注OridInt关联订单表表 4-12 订单项表:formitem字段名类型说明FidInt(11)订单项 idDidInt(11)关联菜品表OridInt(11)关联订单4.4.54.4.5 数据库模型数据库模型数据库各表关联关系图 4-6 所示:图 4-6 数据库模型图16 / 27第第 5 5 章章 系统实现系统实现5.15.1 登陆和注册登陆和注册首页为 url 为“/index” ,处理方法
48、为 IndexAction 中 Index(),如图 5-1 所示:图 5-1 首页展示图非登录用户在之浏览饭店以与饭店菜品信息,但还无法订餐网上订餐服务只有登陆以后才能进行,这样确保了订餐服务的有效性,避免预定后,不履行订单的恶意行为。5.25.2 菜单信息浏览菜单信息浏览在菜单信息中,可以直接浏览到全部的菜单信息,信息包括了:菜名,价格等。在该网页上也可以查看菜品的详细信息。如图 5-2 所示:图 5-2 订餐界面图当用户点击订购 若还没有登录,则跳转到登陆页面,若已登录。在右侧会有小购物车提示用户,如图 5-3 所示:17 / 27图 5-3 购物篮图 (此购物车在未登录状态时是不显示的
49、)点击确认可以进入购物车进行订单的最后处理 ,点击清除,可以消除已经订购的菜品5.35.3 订餐服务订餐服务当用户进行订餐时,系统为用户生成了一个虚拟的购物车,在用户浏览详细的菜单信息时,将此菜品放入购物车中。在订餐过程中,用户可以查看自己购物车中选购的菜品和金额,根据自己的需要可以清空购物车中的菜品,还可以选择继续订餐,在查看购物车时填入相关送餐信息,点击“提交订单” ,完成了整个订餐流程。5.45.4 用户反馈用户反馈用户可以给饭店进行评论和评分,如图 5-4 所示:图 5-4 用户信息反馈图5.55.5 订单处理订单处理用户下单后,可以在我的账户中查看订单,并对未完成的订单做完成处理,如
50、图 5-5 所示:图 5-5 订单确认图18 / 275.65.6 餐馆信息管理餐馆信息管理餐馆管理员需要登录后才能进入餐馆后台管理。餐馆登陆成功后会跳转至餐馆管理页面,如图 5-6 所示:图 5-6 餐馆信息管理图这里可以对餐馆中的信息进行操作例如对菜品的增加等点击订单产看连接可以看到已下单的菜单,这个菜单包含本店需要做的菜品并有送餐地址,点击确认订单后,将不再显示在此订单表中。5.75.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:包含一些用到的工具类,例如中文编码设置19 / 27结结 论论该课题是利用 J2EE 技术,它
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 展板制作简易合同范本
- 家电采购合同范本
- 定制吉他合同范本
- 服装公司转让合同范本
- 商铺没有租赁合同范本
- 商品房销售合同范本(28篇)
- 生产管理岗年终工作总结
- 医生简约手术治疗医疗保健演示模板
- 预防接种制度
- 送客流程与话术
- 2025年医保政策法规考试题库及答案试卷(宣传解读)
- 红酒-价格表格
- 2025年机电实务考试题型及答案
- CRH5动车组转向架
- 2025江苏宿迁宿豫区总工会公开招聘5人高频重点模拟试卷提升(共500题附带答案详解)
- 西北四省(陕西山西青海宁夏)2025届高三下学期第一次联考英语试卷含答案
- 医院门禁施工方案
- 2025年安徽商贸职业技术学院单招职业适应性测试题库a4版
- 2025年安庆医药高等专科学校单招职业适应性考试题库往年题考
- 《快乐读书吧:探索科学的奥秘》教学设计与指导课件(第一课时)
- 冷库员工安全培训课件
评论
0/150
提交评论