外卖订餐系统的设计与实现论文
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
论文作者签名: 日期: 年 月 日
学位论文使用授权说明
本人完全了解北京师范大学珠海分校关于收集、保存、使用学位论文的规定,即:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的的前提下,学校可以将学位论文编入有关数据库,提供网上服务。(保密论文在解密后遵守此规定)
外卖订餐管理系统的可行性分析及其作用
依靠传统的电话订餐实行外卖订餐不仅造成学生的方便,也对外卖店的经营产生了不良影响。实行电话订餐有以下几个缺点:一、在订餐高峰期,一架电话根本那么多的订餐顾客,有时候要多次拨打才能接通,这种情况下有时也造成双方语气匆忙,态度暴躁,给订餐带来极大的不便;二、点菜不方便,学生如果没有点菜单,很难点菜,另外外卖店得每栋宿舍每间地派传单,无疑又是一笔不小的开资了;三、学生必须支付打电话的成本,虽然有些外卖店有校园短号但对于一些没开通校园短号的学生也不是很方便。
论文作者签名: 导师签名:
日期: 年 月 日
摘 要
随着外卖订餐在高校越来越普及,传统的电话订餐给顾客跟外卖店带来不方便,如何使订餐更快速,更方便已成为众多高校学生关注的问题了。本外卖订餐管理系统是针对高校外卖店进行具体的需求分析,采用OOA(面向对象分析)和采用UML工具辅助开发分析,基于S2SH(Struts2+Spring+Hibernate)架构进行设计和开发。论文主要描述外卖订餐管理系统的开发流程,分别从需求分析和系统设计、详细设计与系统实现这几个阶段进行描述。
Key words:meal management system S2SH OOA
一、绪论1
背景1
北师大珠海分校外卖订餐的现状分析1
外卖订餐管理系统的可行性分析与作用1
系统简介2
二、相关技术的介绍3
struts2技术介绍3
Hibernate技术介绍4
spring技术介绍5
dwr技术介绍6
三、系统需求8
Hibernate作为Java EE持久化的标准方案,使用传统的POJO作为系统的持久化类,具有低侵入式设计,不会造成代码污染。系统的持久化类无需继承任何Hibernate基类,或者实现任何Hibernate接口,提供了极好的代码复用[4]。Hibernate与数据库、应用程序关联关系如图4所示:
图4:Hibernate关联关系图
Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
关键词:订餐管理系统 S2SH OOA
ABSTRACT
With more and more popular in universities order take-out, due to the traditional telephone reservation for customers to bring inconvenience 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, using 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.
结 论42
参考文献43
致谢44
一 、绪 论
背景
进入21世纪以来,餐饮行业以年均20%的增长速度,成为国民经济中的发展最快的行业之一。随着人们生活水平的不断提高,人们甚至想要不出门就能吃到可口的饭菜——这就Leabharlann Baidu外卖。在我国高校内餐饮行业外卖行业更是发展最快的一个行业,在北师大珠海分校每年都有几间新的外卖店的产生。外卖订餐已经成为北师大珠海分校学生生活中不可缺的一部分,而订餐的方式也随着学生们的要求提高,不断的多样化和成熟化。
spring技术介绍
Spring是一个优秀的Web开发框架。它是一个分层的架构,由7个模块组成,如图5所示。其中比较重要的是核心容器模块,其他模块构建在这个核心容器之上,核心容器定义创建、配置和管理Bean的方式,它提供Spring框架的基本功能。其主要组件是BeanFactory,它是工厂模式的实现。BeanFactory通过使用反转控制(IOC)模式,将应用程序的配置和依赖性规范与实际的应用程序代码分开
系统简介
本系统主要针对高校的外卖订餐流程和对订单处理实行信息化而构建出来的B/S平台,学生通过浏览器上网访问订餐网站可以实现网上浏览菜式和订餐功能,店员通过后台管理登陆实现对订单的处理,通过信息化处理给学生订餐带来方便更给外卖店管理人员带来了长远利益。
二 、相关技术介绍
本外卖订餐管理系统选取S2SH架构来设计和开发,S2SH是SSH升级版,以前的SSH架构中的用到的MVC框架是struts,而S2SH中的MVC框架用到的是struts2,struts2与struts有很大的区别,配置更灵活,开发更方便,利用其开发的插件与hibernate,spring能达到无缝集成,本系统采用三层架构,用struts2处理前端,hibernate封装对数据库的访问,spring对struts2、hibernate和业务逻辑层中进行对象的管理,三个框架各司其职,有利于项目开发的分工,使项目开发达到更灵活性和可维护性。S2SH三层架构如图1所示:
图2: MVC / Struts2架构
图2描述了Struts2架构中的模型、视图和控制器。控制器通过Struts2分发Servlet过滤器(也就是人们常说的拦截器)来实现,模型通过Action实现,视图则通过结果类型和结果组合实现。值栈和OGNL提供了公共的线程和链接,并使得不同组件可以相互集成。Struts 2设计的精巧之处就是使用了Action代理,Action代理可以根据系统的配置,加载一系列的拦截器,由拦截器将HttpServletRequest参数解析出来,传入Action。同样,Action处理的结果也是通过拦截器传入HttpServletResponse,然后由HttpServletRequest传给用户。其实,该处理过程是典型的AOP(面向切面编程)的方式,Struts 2处理过程模型如图3所示:
通过上面分析,电话订餐已成为一种阻碍外卖行业发展的落后方式了,实行订餐管理的信息化迫在眉睫,利用外卖订餐管理系统对外卖流程实行信息化,不仅给订餐顾客带来了方便更给外卖店带来了经济利益。外卖订餐管理给顾客和外卖店带来了双赢。对于顾客,不用再担心高峰期打电话订餐失败了,顾客可以在网站浏览相关菜式,添加喜欢的菜式,解决了以前的那种电话订餐造成订错菜式的现象。对于外卖店更是带来了长远的利益,减少外卖店的人力和财力,通过订餐管理系统使外卖店能够及时掌握市场信息,推销新菜式和实行更有效的经营策略。
北师大珠海分校外卖订餐行业的现状分析
依靠电话订餐是北师大目前最主要的订餐方式,如比较大的外卖店关东、喜苑、红梦缘都是使用电话订餐方式,此种订餐方式有不少的缺陷,比如:时效问题、打电话的成本等等。目前北师大外卖订餐行业的现状分析如下:
(1)外卖店数量众多,各店竞争较大。
(2)外卖店多数实行人工方式订餐,即打电话订餐登记。这种订餐方式造成订餐很不方便特别在订餐高峰期,经常出现打电话打不通的现象。
图1:S2SH三层架构
struts2技术介绍
Struts2是目前比较成熟的Web开发框架, Struts 2框架是Struts 的替代版本,Struts 2框架整合了Struts 框架和WebWork框架的优点。相对Struts ,Struts 2已经有了非常大的改变,去掉了ActionForm,降低了框架组件之间的耦合性,Struts 2的Action只是普通的Java类(POJO),给模块测试工作带来了极大的方便。Struts 2提供了强大的整合能力,支持多种返回结果类型,改进了Struts 的标签库,引入OGNL表达式和值栈的概念,给开发者带来了更好的体验[1]。从全局的角度来看 ,Struts2是一个pull(拉)类型的MVC(或者MVC2)框架,它与传统类型的MVC框架的不同之处就在于在Struts2中,Action担任的是模型的角色,而非控制器的角色,虽然它的角色仍然有些重叠。“pull”的动作由视图发起,它直接从Action里拉取所需的数据,而不是另外还需要一个单独的模型对象存在[2]。
(3)外卖店多数没有实行市场分析,一些菜式在顶峰期出现缺菜现象,而一些菜式却出现积累现象,造成了资源的浪费和经济损失。
(4)外卖店没有对外卖进行财务管理,造成对店内资金管理不明确和店员滥用资金的可能。
(5)无法为店内管理层提供准确的决策信息,掌握及时的市场消息。
通过分析北师大的外卖行业的现状,不难发现国内高校的外卖店大多数都是依靠手工的管理方式,没有实行外卖订餐管理的信息化,所以造成了不少问题。
图3: Struts2处理过程模型
hibernate技术介绍
Hibernate 是一个优秀的ORM框架,通过使用Hibernate框架,允许开发人员使用面向对象的方式对数据库进行访问,避免采用JDBC访问,造成面向对象编程与面向过程编程的冲突。在这种方式下,企业应用的面向对象分析、面向对象设计和面向对象编程一脉相承,让系统分析、设计更加简洁。
北京师范大学珠海分校
本科生毕业论文
论文题目:外卖订餐管理系统的设计与实现
2010 年4月30日
北京师范大学珠海分校学位论文写作声明和使用授权说明
学位论文写作声明
本人郑重声明: 所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律结果由本人承担。
UML7
需求分析8
系统功能8
四、系统设计11
系统总体结构11
系统架构方式11
hibernate自动建表11
详细设计17
类设计17
流程分析19
时序图分析20
主要界面设计26
五、系统实现30
开发工具与环境30
环境搭配30
编码实现32
DAO层的编写33
Service层的编写34
WEB层的编写35
DWR应用38
图5 spring七大模块
组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:
核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
虽然Hibernate这个框架问世的时间不长,但已经成为目前最流行的持久层解决方案,较之另一个持久层框架iBATIS,Hibernate更具有面向对象的特征;较之传统的Entity EJB的持久层解决方案,Hibernate则采用低侵入式的设计,即完全采用普通的Java对象(POJO),而不必继承Hibernate的某个超类或实现Hibernate的某个接口。Hibernate是面向对象的程序设计语言和关系数据库之间的桥梁,Hibernate允许程序开发者采用面向对象的方式来操作数据库。
学位论文使用授权说明
本人完全了解北京师范大学珠海分校关于收集、保存、使用学位论文的规定,即:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的的前提下,学校可以将学位论文编入有关数据库,提供网上服务。(保密论文在解密后遵守此规定)
外卖订餐管理系统的可行性分析及其作用
依靠传统的电话订餐实行外卖订餐不仅造成学生的方便,也对外卖店的经营产生了不良影响。实行电话订餐有以下几个缺点:一、在订餐高峰期,一架电话根本那么多的订餐顾客,有时候要多次拨打才能接通,这种情况下有时也造成双方语气匆忙,态度暴躁,给订餐带来极大的不便;二、点菜不方便,学生如果没有点菜单,很难点菜,另外外卖店得每栋宿舍每间地派传单,无疑又是一笔不小的开资了;三、学生必须支付打电话的成本,虽然有些外卖店有校园短号但对于一些没开通校园短号的学生也不是很方便。
论文作者签名: 导师签名:
日期: 年 月 日
摘 要
随着外卖订餐在高校越来越普及,传统的电话订餐给顾客跟外卖店带来不方便,如何使订餐更快速,更方便已成为众多高校学生关注的问题了。本外卖订餐管理系统是针对高校外卖店进行具体的需求分析,采用OOA(面向对象分析)和采用UML工具辅助开发分析,基于S2SH(Struts2+Spring+Hibernate)架构进行设计和开发。论文主要描述外卖订餐管理系统的开发流程,分别从需求分析和系统设计、详细设计与系统实现这几个阶段进行描述。
Key words:meal management system S2SH OOA
一、绪论1
背景1
北师大珠海分校外卖订餐的现状分析1
外卖订餐管理系统的可行性分析与作用1
系统简介2
二、相关技术的介绍3
struts2技术介绍3
Hibernate技术介绍4
spring技术介绍5
dwr技术介绍6
三、系统需求8
Hibernate作为Java EE持久化的标准方案,使用传统的POJO作为系统的持久化类,具有低侵入式设计,不会造成代码污染。系统的持久化类无需继承任何Hibernate基类,或者实现任何Hibernate接口,提供了极好的代码复用[4]。Hibernate与数据库、应用程序关联关系如图4所示:
图4:Hibernate关联关系图
Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
关键词:订餐管理系统 S2SH OOA
ABSTRACT
With more and more popular in universities order take-out, due to the traditional telephone reservation for customers to bring inconvenience 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, using 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.
结 论42
参考文献43
致谢44
一 、绪 论
背景
进入21世纪以来,餐饮行业以年均20%的增长速度,成为国民经济中的发展最快的行业之一。随着人们生活水平的不断提高,人们甚至想要不出门就能吃到可口的饭菜——这就Leabharlann Baidu外卖。在我国高校内餐饮行业外卖行业更是发展最快的一个行业,在北师大珠海分校每年都有几间新的外卖店的产生。外卖订餐已经成为北师大珠海分校学生生活中不可缺的一部分,而订餐的方式也随着学生们的要求提高,不断的多样化和成熟化。
spring技术介绍
Spring是一个优秀的Web开发框架。它是一个分层的架构,由7个模块组成,如图5所示。其中比较重要的是核心容器模块,其他模块构建在这个核心容器之上,核心容器定义创建、配置和管理Bean的方式,它提供Spring框架的基本功能。其主要组件是BeanFactory,它是工厂模式的实现。BeanFactory通过使用反转控制(IOC)模式,将应用程序的配置和依赖性规范与实际的应用程序代码分开
系统简介
本系统主要针对高校的外卖订餐流程和对订单处理实行信息化而构建出来的B/S平台,学生通过浏览器上网访问订餐网站可以实现网上浏览菜式和订餐功能,店员通过后台管理登陆实现对订单的处理,通过信息化处理给学生订餐带来方便更给外卖店管理人员带来了长远利益。
二 、相关技术介绍
本外卖订餐管理系统选取S2SH架构来设计和开发,S2SH是SSH升级版,以前的SSH架构中的用到的MVC框架是struts,而S2SH中的MVC框架用到的是struts2,struts2与struts有很大的区别,配置更灵活,开发更方便,利用其开发的插件与hibernate,spring能达到无缝集成,本系统采用三层架构,用struts2处理前端,hibernate封装对数据库的访问,spring对struts2、hibernate和业务逻辑层中进行对象的管理,三个框架各司其职,有利于项目开发的分工,使项目开发达到更灵活性和可维护性。S2SH三层架构如图1所示:
图2: MVC / Struts2架构
图2描述了Struts2架构中的模型、视图和控制器。控制器通过Struts2分发Servlet过滤器(也就是人们常说的拦截器)来实现,模型通过Action实现,视图则通过结果类型和结果组合实现。值栈和OGNL提供了公共的线程和链接,并使得不同组件可以相互集成。Struts 2设计的精巧之处就是使用了Action代理,Action代理可以根据系统的配置,加载一系列的拦截器,由拦截器将HttpServletRequest参数解析出来,传入Action。同样,Action处理的结果也是通过拦截器传入HttpServletResponse,然后由HttpServletRequest传给用户。其实,该处理过程是典型的AOP(面向切面编程)的方式,Struts 2处理过程模型如图3所示:
通过上面分析,电话订餐已成为一种阻碍外卖行业发展的落后方式了,实行订餐管理的信息化迫在眉睫,利用外卖订餐管理系统对外卖流程实行信息化,不仅给订餐顾客带来了方便更给外卖店带来了经济利益。外卖订餐管理给顾客和外卖店带来了双赢。对于顾客,不用再担心高峰期打电话订餐失败了,顾客可以在网站浏览相关菜式,添加喜欢的菜式,解决了以前的那种电话订餐造成订错菜式的现象。对于外卖店更是带来了长远的利益,减少外卖店的人力和财力,通过订餐管理系统使外卖店能够及时掌握市场信息,推销新菜式和实行更有效的经营策略。
北师大珠海分校外卖订餐行业的现状分析
依靠电话订餐是北师大目前最主要的订餐方式,如比较大的外卖店关东、喜苑、红梦缘都是使用电话订餐方式,此种订餐方式有不少的缺陷,比如:时效问题、打电话的成本等等。目前北师大外卖订餐行业的现状分析如下:
(1)外卖店数量众多,各店竞争较大。
(2)外卖店多数实行人工方式订餐,即打电话订餐登记。这种订餐方式造成订餐很不方便特别在订餐高峰期,经常出现打电话打不通的现象。
图1:S2SH三层架构
struts2技术介绍
Struts2是目前比较成熟的Web开发框架, Struts 2框架是Struts 的替代版本,Struts 2框架整合了Struts 框架和WebWork框架的优点。相对Struts ,Struts 2已经有了非常大的改变,去掉了ActionForm,降低了框架组件之间的耦合性,Struts 2的Action只是普通的Java类(POJO),给模块测试工作带来了极大的方便。Struts 2提供了强大的整合能力,支持多种返回结果类型,改进了Struts 的标签库,引入OGNL表达式和值栈的概念,给开发者带来了更好的体验[1]。从全局的角度来看 ,Struts2是一个pull(拉)类型的MVC(或者MVC2)框架,它与传统类型的MVC框架的不同之处就在于在Struts2中,Action担任的是模型的角色,而非控制器的角色,虽然它的角色仍然有些重叠。“pull”的动作由视图发起,它直接从Action里拉取所需的数据,而不是另外还需要一个单独的模型对象存在[2]。
(3)外卖店多数没有实行市场分析,一些菜式在顶峰期出现缺菜现象,而一些菜式却出现积累现象,造成了资源的浪费和经济损失。
(4)外卖店没有对外卖进行财务管理,造成对店内资金管理不明确和店员滥用资金的可能。
(5)无法为店内管理层提供准确的决策信息,掌握及时的市场消息。
通过分析北师大的外卖行业的现状,不难发现国内高校的外卖店大多数都是依靠手工的管理方式,没有实行外卖订餐管理的信息化,所以造成了不少问题。
图3: Struts2处理过程模型
hibernate技术介绍
Hibernate 是一个优秀的ORM框架,通过使用Hibernate框架,允许开发人员使用面向对象的方式对数据库进行访问,避免采用JDBC访问,造成面向对象编程与面向过程编程的冲突。在这种方式下,企业应用的面向对象分析、面向对象设计和面向对象编程一脉相承,让系统分析、设计更加简洁。
北京师范大学珠海分校
本科生毕业论文
论文题目:外卖订餐管理系统的设计与实现
2010 年4月30日
北京师范大学珠海分校学位论文写作声明和使用授权说明
学位论文写作声明
本人郑重声明: 所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律结果由本人承担。
UML7
需求分析8
系统功能8
四、系统设计11
系统总体结构11
系统架构方式11
hibernate自动建表11
详细设计17
类设计17
流程分析19
时序图分析20
主要界面设计26
五、系统实现30
开发工具与环境30
环境搭配30
编码实现32
DAO层的编写33
Service层的编写34
WEB层的编写35
DWR应用38
图5 spring七大模块
组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:
核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
虽然Hibernate这个框架问世的时间不长,但已经成为目前最流行的持久层解决方案,较之另一个持久层框架iBATIS,Hibernate更具有面向对象的特征;较之传统的Entity EJB的持久层解决方案,Hibernate则采用低侵入式的设计,即完全采用普通的Java对象(POJO),而不必继承Hibernate的某个超类或实现Hibernate的某个接口。Hibernate是面向对象的程序设计语言和关系数据库之间的桥梁,Hibernate允许程序开发者采用面向对象的方式来操作数据库。