版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-作者xxxx-日期xxxx外卖订餐系统设计【精品文档】(2016届)本科毕业设计(论文)资料题目名称:基于 Web的外卖系统的设计与实现学院(部):计算机与通信学院专业:计算机科学与技术学生姓名:邵辉班级:计算机1202学号:指导教师姓名:曾志高职称:副教授最终评定成绩:湖南工业大学教务处2016届本科毕业设计(论文)资料第一部分 毕业论文(2016届)本科毕业设计(论文)资料题目名称:基于 Web的外卖系统的设计与实现学院(部):计算机与通信学院专业:计算机科学与技术学生姓名:邵辉班级:计算机122学号:指导教师姓名:曾志高职称:副教授最终评定成绩:2016 年 5 月湖南工业大学本科毕业
2、论文(设计)诚信声明本人郑重声明:所呈交的毕业论文(设计),题目基于 Web的外卖系统的设计与实现是本人在指导教师的指导下,进行研究工作所取得的成果。对本文的研究作出重要贡献的个人和集体,均已在文章以明确方式注明。除此之外,本论文(设计)不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明应承担的责任。作者签名: 邵辉(此处连同下面的日期用手写)日 期: 2016 年 5 月 20 日【精品文档】摘 要随着外卖订外卖在高校越来越普及,传统的电话订外卖给顾客跟外卖店带来不方便,如何使订外卖更快速,更方便已成为众多高校学生关注的问题了。本外卖订外卖管理系统是针对高校外卖店进行具
3、体的需求分析,采用OOA(面向对象分析)和采用UML工具辅助开发分析,基于S2SH(Struts2+Spring+Hibernate)架构进行设计和开发。论文主要描述外卖订外卖管理系统的开发流程,分别从需求分析和系统设计、详细设计与系统实现这几个阶段进行描述。关键词:WEB;订外卖管理系统;S2SH;OOAABSTRACTWith more and more popular in universities order take-out, due to the traditional telephone reservation for customers to bring inconvenien
4、ce take-away meal, how to make more quickly, more convenient has become the concern of the students. The take-away meal management system in colleges and universities is the concrete take-away demand analysis, using object-oriented analysis (OOA) and using UML tools to assist in the development, usi
5、ng Struts2-Spring-Hibernate framework to design and development. Thesis mainly describes take-away meal management system process, separately from the demand analysis and system design, detailed design and realization of this system are described several stages.Key words: WEB; meal management system
6、; S2SH; OOA 目 录第1章 绪 论11.1 背景11.2 湖南工业大学外卖订外卖行业实际情况的分析11.3 外卖订外卖管理系统的可行性分析及其作用11.4 系统简介2第2章 外卖系统设计与实现的关键技术32.1 引言32.2 struts2技术介绍32.3 hibernate技术介绍52.4 spring技术介绍52.5 数据源技术介绍72.6 小结8第3章 系统需求分析93.1 引言93.2 UML93.3 需求分析93.4 系统功能93.5 小结11第4章 系统设计124.1 引言124.2 系统总体结构124.3 系统架构方式124.4 建立数据库表144.4.1 系统信息数据
7、库表设计154.4.2 映射文件的编写164.5 详细设计194.5.1 类设计194.5.2 外卖订外卖系统流程分析214.5.3 时序图分析224.5.4 系统主要界面设计27第5章 系统实现305.1 引言305.1 开发工具和环境305.2 环境搭配305.3 编码实现315.3.1 DAO层的编写325.3.2 Service层的编写325.3.3 Web层的编写335.3.4 ajax的应用355.4 小结37结 论38参考文献40致 谢41第1章 绪 论1.1 背景 随着社会的不断进步和创新,人们的生活方式也发生了很大的改变,其中外卖和餐饮行业以每年平均22%的速度不断增长,很快
8、成为了中国国民经济中的发展行业最快的之一。随着人们生活水平的不断提高,在城市中工作人群的步伐也越来越快,有时候根本没有时间自己做饭,这样就促进了外卖行业的发展,在我国大学内餐饮行业中的外卖行业就是发展最为迅速的一个行业,在湖南工业大学每年都有几家新的负责外卖的餐厅的的产生。外卖订外卖也已经成为湖南工业大学学生生活中不可或缺的一部分活动了,并且订外卖的方式也随着大学学生们的要求不断提高,不断的创新化和成熟化。 湖南工业大学外卖订外卖行业实际情况的分析学生们通过打电话给外卖餐厅服务员来定外卖是湖南工业大学当前使用人数最多的订外卖方式,其中比较大的外卖店有攸县大碗菜、祝家庄、水晶锅等都是采用电话订外
9、卖方式,但通过电话订外卖方式存在不少的缺陷和不足,比如:效率和时间的问题、打电话的电话费成本问题等等。对当前湖南工业大学外卖订外卖行业的实际情况分析如下:外卖订外卖店铺很多并且菜单丰富,店铺之间一直都在竞争。外卖店铺很多都是服务员接听客户的电话并手动记录下外卖的信息,特别是在放学期间,外卖店铺订外卖电话很多时,很容易发生店铺订外卖电话打不通的情况。外卖店铺在接听客户订外卖时,由于客户不熟悉外卖店铺的菜单,在于服务员沟通时会浪费很多的时间,容易造成外卖订外卖电话占线的情况。外卖店铺不能及时的获取学生的喜好,容易造成有的菜浪费,有的菜不够的情况。经过分析湖南工业大学的周围的外卖行业的实际情况,很容
10、易发现我国国内大学校园周围的外卖店基本上数都是依靠服务员记录的管理方式,很少外卖店实行外卖订外卖管理的信息化,因此电话订外卖造成了不少的问题。1.3 外卖订外卖管理系统的可行性分析及其作用根据以上分析得出传统的依靠打电话订外卖不仅会造成学生的不方便,另外也对外卖店铺的生意产生了不良影响。经过分析得出实行电话订外卖有以下几个缺点:在每天中午和晚上餐厅高峰期间,外卖店铺如果只有一台电话是不够的,很容易造成电话占线、餐馆服务员忙不过来、比较仓促、导致双方态度恶劣,引起不必要的麻烦。学生打电话一般不知道餐厅有什么菜,所以导致点餐很麻烦,也要浪费很多的时间,如果餐馆去学生发传单,也会造成额外的开销。学生
11、通过电话订外卖,总是会产生一定的电话费用,这个费用也是额外的开销。通过以上综合的分析,实行打电话订外卖不仅不会促进外卖行业的发展,反而会成为外卖行业发展的绊脚石,所以实行订外卖管理的信息化是势在必行的,如果外卖管理系统对学生订外卖流程实行信息化管理,不仅给订外卖顾客带来了很大的方便,也会给外卖店铺带来了经济和效率收益。订外卖管理系统信息化给顾客和外卖店带来了双赢。对于顾客,不用再担心高峰期打电话订外卖失败了,顾客可以通过浏览器在在外卖店铺网上浏览相关菜单,还可以添加自己喜欢的菜单,在一定程度上解决了曾经的那种打电话订外卖造成菜单出错的现象。也为外卖店铺带来了很大的收益和长远的利益,也能减少外卖
12、店的人力和财力和物力,通过外卖管理系统信息化也能使外卖店能够及时掌握学生客户市场的信息,及时推出新菜系和实行更有效的经营管理策略。1.4 系统简介基于WEB的外卖系统主要针对的是大学校园的订外卖流程和对订单处理实行信息化而搭建出来的B/S外卖购物平台,学生客户可以通过浏览器上网访问外卖网站,也可以实现网上浏览菜单和订自己喜欢的菜单到购物车中,外卖店铺服务员通过后台管理登陆该系统实现对订单的处理操作,通过外卖信息化处理给学生客户订外卖带来方便,同时也给外卖店管理人员带来了长远利益。 第2章 外卖系统设计与实现的关键技术2.1 引言。 S2SH三层架构图2.2 struts2技术介绍Struts2
13、是目前功能比较完善的Web系统常用的开发框架,Struts2框架是Struts 1.X的升级和完善的版本,Struts 2框架集合了Struts 1.X框架和WebWork框架功能中的优点。相对比较Struts 1.X,Struts2在功能上已经有了非常大的改进,首先是取消了ActionForm,其次是降低了框架组件之间的耦合度,Struts 2中的Action部件只是普通的Java类(POJO),使用它可以给模块测试的工作带来了极大的简便。Struts2也提供了强大的整合能力,支持多种返回结果类型,改进了Struts 1.X的标签库,引入OGNL表达式和值栈的概念,给开发者带来了更好的体验1
14、。另外从全局功能的角度来看,Struts2在一定程度上是一个pull(拉)功能类型的MVC理论的框架,另外它与传统类型的MVC框架理论的区别方面就在于在Struts2中,在其中Action部件担任的是模型的部分,而不是控制器的部分,虽然它的部分功能仍然有一些重合。“pull”的动作由视图发起,它直接从Action里拉取所需的数据,而不是另外还需要一个单独的模型对象存在2。图1.2 MVC/Struts2架构图。 图1.3 Struts2处理过程模型图2.3 hibernate技术介绍Hibernate是一个优秀的轻量级的ORM框架,开发人员可以通过使用Hibernate框架。在一定程度上允许开
15、发人员使用面向对象的方式对系统的数据库进行检索访问。这样就可以避免使用JDBC方式连接和访问数据库,不会造成面向对象编程与面向过程编程在数据库方面的冲突。在这种方式下,很多系统的设计应用的面向对象分析、面向对象设计和面向对象编程有很大的相同性,这样让系统的分析和设计更加简洁。Hibernate框架作为Java EE持久化的标准框架,让然使用传统的POJO做为系统的持久化类。同时具有低侵入式的系统设计这样不会造成代码方面的污染。系统的持久化类无需继承任何Hibernate基类,或者实现任何Hibernate接口,提供了极好的代码复用4。图1.4 Hibernate关联关系图虽然Hibernate
16、这个框架还处于发展的阶段,产生的时间不长,但是已经成为当今社会编程方面最流行的持久层解决方案,和另一个持久层框架iBATIS比较来说,Hibernate框架更具有面向对象的特征;另外和传统的Entity EJB的持久层解决方案相比较,Hibernate框架则使用低侵入式的设计理念,也就是完全采用普通的Java对象(POJO)类型,而不必继承Hibernate的某个父类或实现Hibernate框架中的某个功能接口。Hibernate框架是面向对象的程序设计语言和连接关系数据库之间的纽带,另外Hibernate框架也允许程序员采用面向对象的方式来操作关系数据库。2.4 spring技术介绍Spri
17、ng框架是一个优秀轻量级的Web开发框架。Spring框架是一个分层的架构,由7个模块组成,如下图1.5所示。Spring框架中比较重要的模块是核心容器模块,其他模块构建在这个核心的模块容器之上,核心模块是其它模块的基础,核心容器定义创建、配置和管理Bean的方式和操作,核心模块容器提供了Spring框架的基本功能。其中主要组件是BeanFactory组件,BeanFactory组件是工厂模式的实现类。BeanFactory组件通过使用反转控制(IOC)模式,将应用程序的配置文件和依赖性规范与实际的应用程序代码分隔开来。图1.5 spring七大模块图组成Spring框架的每个模块(或组件)在
18、一定的程度上都可以单独存在的,或者也可以与其他一个或多个模块一起实现某种功能而存在。其中每个模块的功能如下: 核心模块容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory组件,BeanFactory组件是工厂模式的实现类。BeanFactory组件使用控制反转(IOC)模式将应用程序的配置文件和依赖性规范与实际的应用程序代码分隔开来。 Spring 上下文模块:Spring 上下文模块是一个配置文件,它的作用是向Spring框架提供上下文的信息。Spring上下文信息包括企业服务,例如JNDI组件、EJB组件、电子邮件、国际化组件、校验组件和调度功能等
19、。 Spring AOP模块:通过配置管理特性,Spring AOP模块可以直接将面向对象的编程功能全部集成到了Spring框架之中。所以使用Spring AOP模块可以很简单地使Spring 框架管理的任何对象支持都Spring AOP模块。Spring AOP模块为基于Spring的应用程序中的对象提供了事务管理服务等功能。程序开发人员通过使用Spring AOP模块,可以不用依赖EJB组件,就毫无问题地将声明性的事务管理等功能全都集合到应用程序代码中。 Spring DAO模块:JDBC DAO模块中的抽象层概念提供了有很大实用性的异常理论结构,程序员可用该结构去统计异常处理和不同数据库
20、供应商之间抛出的错误信息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO的面向JDBC的异常遵从通用的 DAO 异常层次结构。 Spring ORM:Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate和iBatis SQL Map。所有这些都遵从Spring的通用事务和DAO 异常层次结构。 Spring Web 模块:Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,Spring 框架支持与Jakarta Struts的集成。Web模块
21、还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 Spring MVC框架:MVC框架是一个全功能的构建Web应用程序的MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI5。2.5 数据源技术介绍JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的AP,通过名称将资源与服务进行关联1。在系统中使用JNDI连接池连接Oracle数据库。连接池是在内存中预设好一定数量的连接对象,以备用户在进行数据库
22、操作时直接使用,与传统数据库连接比较,使用数据池技术数据库操作性能得到提升,通过连接池管理数据库的连接与释放、提高了系统资源的使用效率1。Java程序访问数据库时,只需要从连接池中取出空闲状态的数据库连接;当程序访问数据库结束,再将数据库连接放回连接池1。在系统服务器Tomcat中配置内容如下所示:Tomcat配置文件:其中标签的功能如下:Name:表示指定的jndi名称。Auth:表示认证方式,一般为Container。 Type:表示数据源床型,使用标准的javax.sql.DataSource。 maxActive:表示连接池当中最大的数据库连接。 maxIdle:表示最大的空闲连接数。
23、 maxWait:当池的数据库连接已经被占用的时候,最大等待时间。 Username:表示数据库用户名。 Password:表示数据库用户的密码。 driverClassName:表示JDBCDRIVER。 url:表示数据库URL地址。2.6 小结基于WEB的外卖订外卖系统的设计与实现主要分为管理员操作和客户操作,系统从需求分析到模型设计,再到代码编写都是按照MVC三层的设计理念,将系统简化为视图层(View)、控制层(Controller)和模型层(Model),并且在View层与Model层之间使用接口Service连接,Model层和Controller层之间使用DAO接口,降低了层与
24、层之间的耦合度,为以后修改代码更加方便。同时在检索数据库时建立一个数据次,可以减少打开和关闭数据库的次数,有效地提高系统的运行效率,对经常登录的用户可以带来很快的反应速度。 第3章 系统需求分析3.1 引言本系统采用OOA(面向对象分析)和UML(Unified Modeling Language)工具为指导理论,第三章主要对系统的需求分析以及系统设计和功能等进行分析描述。3.2 UMLUML(Unified Modeling Language)是一种用来创建程序模型的图形语言(即带有语意的一种图形记号)7,常用的UML图有对象类图、时序图、用例图、活动图和状态图。3.3 需求分析软件需求分析
25、是软件开发过程中生存期中非常重要的一步,是起到决定性作用的一步。需求分析是软件定义过程中一个必不可少的阶段,它的作用是让开发者明白系统需要做些什么,能完成什么功能。本外卖订外卖管理系统包括两个子系统,前台订外卖和后台管理,前台订外卖是供用户浏览菜系和提交订单进行订外卖;后台管理是供管理员进行外卖订单管理、菜系管理、菜单管理。外卖订餐管理系统主要的作用是满足学生和个人之间的吃饭需求,要解决目前餐厅信息阻塞,许多的资源机会而被流失,所以网上外卖订餐管理系统的出现很好的解决的这一问题。该系统分为前台和后台,前台是个人会员用的,个人通过注册成为网站会员,然后登录网站系统,可以查看餐厅大量的外卖信息,并
26、可以选择自己喜欢的菜添加到购物车。 系统后台管理是管理员对本系统进行管理的平台,管理员可以更新菜系信息和菜单信息,并可以对订餐的状态进行管理。3.4 系统功能本系统采用面向对象分析方法,下面是对本系统的两个子系统进行分析说明。通过需求分析跟系统设计和功能的分析可以得出该系统的总体结构如图3.1所示。 图3.1 系统总体框架图前台管理系统供用户浏览菜系,进行菜单添加到购物车,用户可以对购物车进行增加、清除,用户提交订单后可以在订单列表查看外卖订单配送状态,用例如图3.2所示。图3.2 用户用例图 后台管理系统有菜系管理、订单管理、菜单管理三大模块。 菜系管理:可以对菜系进行查看、添加、修改和删除
27、。用例如图3.3所示。图3.3 菜系管理用例图订单管理:可以对外卖订单的状态进行查看,改变。用例如图3.4所示。图3.4 订单管理用例图 菜单管理:可以对菜单进行查看、添加、修改和删除。用例如图3.5所示。图3.5 菜单管理用例图3.5 小结系统项目在开始之前首要任务就是系统需求的分析,根据搜集的需求分析得出系统的模型设计,在需求分析时要根据实际情况分析,往往需求的分析是否全面影响着后续系统的编写。第4章 系统设计4.1 引言 本系统的设计采用OOA(面向对象分析)和利用UML工具辅助开发设计。4.2 系统架构方式本系统使用MVC三层架构模式作为系统的设计理念,即视图层,业务逻辑层,数据访问层
28、,三层之间都相互独立,视图层与业务逻辑层通过接口进行通信,业务逻辑层与数据访问层也是通过接口进行通信,数据访问层是直接跟数据库(DB)通信,可以直接操作数据库,这样系统设计具有很好的解耦性,每一层内容的逻辑的改变和更新不会影响到另一层的逻辑代码,这样对项目以后的可维护性及代码更新具有很大方便作用,三层架构流程如图4.1所示。 图4.1 三层架构图4.3 数据库设计数据库设计包括了数据库需求分析、概念设计以及逻辑设计。数据库的需求分析是根据开发系统的功能对数据库进行需求分析来得出数据库需要的表以及表属性。概念设计是根据需求分析来设计数据库的实体结构图以及ER图。逻辑设计是根据概念设计中的ER模型
29、设计数据库的表结构。4.3.1 数据库需求分析 本系统使用的是Oracle数据库,从系统的需求分可以看出,系统需要建立用户表、菜系表、购物车表、订单表。从功能模块看,还需要菜单表、订单详细表、购物车项表。系统的数据库包含如下:1. 个人用户数据:用来存储个人信息,如账号,密码联系方式等。2. 菜系数据:用来存储菜系信息,如菜系名称,菜系内容等。3. 菜单数据:用来存放菜单信息,如菜单名称,介绍等。4. 订单数据:用来存放订单信息,如姓名,地址等。5. 购物车数据:用来存放外卖信息,如菜单数量,菜单价格等。6. 订单详细数据:用来订单详细信息,如订单所属用户,订单项等。7. 购物车项数据:用来存
30、放购物车项信息,如菜单信息,数量等。4.3.2 E-R模型在数据库的概念设计中以实体联系法建立E-R模型,用E-R模型表示概念结构,得到外卖订餐管理系统的概念模型。E-R模型的基本元素是:实体、联系和属性。实体是数据对象,是应用中能够区分的客观的存在的事物;联系表示一个或多个实体之间的关联关系;能够描述实体对象某一特征的属性称为实体属性,在实体中,能够唯一标识实体的作用的属性,它被称之为“实体标识符”。根据以上数据库的需求分析可以得到系统中需要的实体类型,进一步可以分析实体所需要的属性以及各实体之间的联系。系统中的实体结构图以及系统E-R模型图如图4.2至5.2所示。图4.2 会员实体图会员实
31、体属性有:会员ID、用户名、密码、等,这些都是不可少的;其中ID更是作为标识存在。图4.3 订单实体图订单实体属性有:订单ID、订单时间、订单价格等,这些都是不可少的;其中ID更是作为标识存在。图4.4 菜系实体图菜系实体属性有:菜系ID、菜系名称、菜系描述等,这些都是不可少的;其中ID更是作为标识存在。图4.5 菜系实体图菜单实体属性有:菜单ID、菜单名称、菜单描述等,这些都是不可少的;其中ID更是作为标识存在。4.4 建立数据库表。表4.1 实体类设计表类名功能说明User用户类Order订单类OrderItem订单项类Category菜系类Menu菜单类Cart购物车类CartItem购
32、物车项类4.4.1 系统信息数据库表设计如下表4.2所示:数据库表Category是存储外卖系统中菜系的信息。其中id字段是作为菜系的序号,name字段是作为菜系的名称,description字段是作为菜系的介绍。表4.2 实体类Category字段名类型是否为空是否主键备注idVarchar2(30)是序号nameVarchar2(30)否菜系名称descriptionvarchar2(200)否菜系描述 如下表4.3所示:数据库表Order是存储外卖系统中外卖订单的信息。其中id字段作为订单的序号,Ordertime字段是作为订单的提交时间,price字段是作为订单的价格,state字段的
33、作用是标记订单的状态,user_id字段作为订单所属用户的序号。表4.3 实体类Order字段名类型是否为空是否主键备注idVarchar2(40)是序号ordertimedate否订单时间pricenumber否订单价格statenumber否订单状态user_idVarchar2(100)否所属用户id如下表4.4所示:数据库表User是存储该系统中注册客户的个人信息。其中id字段作为用户的序号,username字段是作为用户的登陆名,password字段作为用户登录的密码,cellphone字段的作用是存储用户的联系电话,address字段作为用户外卖配送的地址,sex字段是存储用户的性
34、别信息,types字段存储用户的会员类型。表4.4 实体类User字段名类型是否为空是否主键备注idVarchar2(40)是序号usernameVarchar2(40)否用户名passwordVarchar2(40)否密码cellphoneVarchar2(40)否电话addressVarchar2(100)否地址sexVarchar2(4)否性别typesVarchar2(20)否客户类型 如下表4.5所示:数据库表OrderItem是存储外卖系统中外卖订单项的信息。其中id字段作为订单项的序号,quantity字段是作为订单项的数量,price字段是作为订单项的价格,menu_id字段作
35、为订单项中包含的菜单的序号,order_id字段作为订单项所属订单的序号。表4.5 实体类OrderItem字段名类型是否为空是否主键备注idVarchar2(50)是序号quantitydate否数量pricenumber否购物项价格menu_idvarchar2(60)否菜单序号order_idvarchar2(50)否所属订单序号如下表4.6所示:数据库表Menu是存储外卖系统中外卖菜单的信息。其中id字段作为菜单的序号,name字段是存储菜单的名称信息,description字段是存储菜单的介绍信息,image字段的作用是存储菜单的实际图片,price字段的作用是作为菜单的售价,Cat
36、egory_id字段的作用是存储该菜单所属菜系类别的序号信息。表4.6 实体类 Menu字段名类型是否为空是否主键备注idVarchar2(30)是序号nameVarchar2(30)否菜单名称descriptionvarchar2(100)否菜单描述imagevarchar2(100)否菜单图片pricenumber否菜单价格Category_idVarchar2(30)否所属菜系序号4.4.2 映射文件的编写 在该系统中Web.xml文件的功能使初始化配置信息。context.xml文件的功能使配合JNDI连接数据库。Web.xml文件如下: FD CharacterEncodingFil
37、tercom.filter.CharacterEncodingFilter CharacterEncodingFilter/*HtmlFiltercom.filter.HtmlFilterHtmlFilter/* com.filter.IndexListener UserServlet com.web.client.UserServlet MenuServlet com.web.manager.MenuServlet CategoryServlet com.web.manager.CategoryServlet BaseServlet com.web.manager.BaseServlet M
38、anagerOrderServlet com.web.manager.ManagerOrderServlet IndexServlet com.web.client.IndexServlet BuyServlet com.web.client.BuyServlet OrderServlet com.web.client.OrderServlet UserServlet /client/UserServlet MenuServlet /manager/MenuServlet CategoryServlet /manager/CategoryServlet BaseServlet /BaseSer
39、vlet ManagerOrderServlet /manager/ManagerOrderServlet IndexServlet /client/IndexServlet BuyServlet /client/BuyServlet OrderServlet /client/OrderServlet context.xml文件如下: 4.5 详细设计这一章节主要内容是描述了怎么样对系统的对象类进行分析和设计、系统的流程分析以及如何使用时序图对系统中的对象交互信息等进行详细的描述。4.5.1 类设计 类关系。 图4.3 类关联图DAO与业务逻辑类设计 如下图4.4所示:BusinessServ
40、ice依赖于UserDao。 图4.4 UserDao与逻辑类关联图2. CategoryDao 与 BusinessService设计如图4.5所示:BusinessService依赖于CategoryDao。图4.5 CategoryDao与逻辑类关联图3. MenuDao 与 BusinessService类设计如下图4.6示:BusinessService依赖于MenuDao。图4.6 MenuDao与逻辑类关联图4. OrderDao 与BusinessService类设计如下图4.7示:BusinessService依赖于OrderDao。 图4.7 OrderDao与逻辑类关联图
41、4.5.2 外卖订外卖系统流程分析1.用户通过浏览器订购外卖流程:图4.8 用户订购外卖流程图2.后台管理员订单处理流程: 图4.9 管理员订单处理流程图4.5.3 时序图分析1登录用例实现A、用户登录时序图B、描述1)输入信息 输入用户和密码,提交登录信息;2)表单验证 当接收到提交表单UserServlet会调用userLogin(HttpServletRequest request,HttpServletResponse response)方法进行用户信息查询,并将用户登录信息封装传递到BusinessService中。3)获取BusinessService接口UserServlet类获
42、取BusinessService接口,以便调用BusinessService中的方法userLogin(username,password)。4)查询用户信息在BusinessService中userLogin(username,password)会调用UserDaoImpl方法,根据用户名和密码在已经注册的数据库中查询是否存在该用户。5)返回结果 如果用户名和密码输入正确进入系统主页面,否则提示用户名或密码输入错误。2注册用户用例实现A、用户注册时序图B、描述1)输入用户信息输入注册用户名、注册密码、性别、联系电话、居住地址、注册会员类型等信息。2)表单验证 用户输入注册信息之后,点击注册系
43、统会将用户表单信息提交到UserServlet中,UserServlet接收到用户注册表单之后会调用RegisterFormBean中的validate方法进行表单验证,主要验证用户名是否合法、用户设置的密码是否符合要求等。如果用户输入不合法就会转向message.jsp提示用户输入不合法,如果输入用户名已存在也会转向message.jsp并进行提示。3)获取BusinessService接口 用户提交的注册表单经过RegisterFormBean中的validate方法进行表单验证通过之后,UserServlet通过BusinessService接口调用BusinessServiceImpl
44、中的方法RegisterUser(User user),在user中封装着用户注册的信息4)保存到数据库 在RegisterUser(User user)方法中通过创建UserDao对象调用UserDaoImpl中的方法add(user),将用户在注册界面输入的信息保存到数据库中,并返回注册成功的结果。5)返回结果当用户信息注册成功后,UserDaoImpl将会把用户注册成功的结果封装的返回到BusinessService,当BusinessServic接收到注册返回的结果之后将结果返回到UserServlet中,UserServlet将结果返回到WEB层,在页面中显示给用户注册结果。3添加菜
45、单到购物车并提交订单用例实现A、用户购买时序图图4.12 用户购买时序图B、描述1)选择菜单 通过浏览器浏览餐厅的菜单,可以浏览菜单的价格、配料和图片,选择自己要加入购物车的菜单,点击购买。2)表单验证 当用户浏览之后点击购买之后将菜单信息提交到BuyServlet中,BuyServlet调用OrderServlet中的findOrder(request,response)方法检查用户是否已经登录,如果没有登录提示登录信息,如果用户已经登录,将登录结果返回到BuyServlet中。BuyServlet通过创建BusinessServiceImpl的对象调用buymenu(Cart cart,Menu menu,String access)方法。3)进入业务方法 在buymenu(Cart cart,Menu menu,String access)方法中通过Cart类的对象调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年废旧材料销售框架合同
- 文书模板-装卸货高空作业合同
- 2024年建筑工程分包合同
- 玫瑰的课件教学课件
- 2024年人工智能教育平台开发合同
- 2024医疗设备维修公司关于超声波机器保修服务合同
- 停电停气应急预案(6篇)
- 2024年建筑工程机电安装分包协议
- 2024年库房租赁与无人机测试存放合同
- 2024年专业咨询合作协议
- 妊娠晚期促子宫颈成熟与引产指南
- 2022年中国铁路国际有限公司校园招聘笔试试题及答案解析
- 海姆立克急救法完整版本课件
- 《离骚》课件教材
- 巴斯夫苹果病害课件
- 烫金工艺基础知识培训课件
- 《格列佛游记》 课件
- 农药生产安全管理检查表
- 什物拼贴-完整版PPT
- 四年级英语上册课件-Unit 4 My home-人教PEP版(共20张PPT)
- ERP系统集成项目实施与管理方案
评论
0/150
提交评论