网上订餐系统_的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业论文(设计)网上订餐系统的设计与实现院系:计算机科学与技术学院专业:信息管理与信息系统班级:
学号:
姓名:
导师:
2014 年5 月10 日定稿
网上订餐系统的设计与实现
摘要
随着电子商务的飞速发展,人们工作效率的逐渐提高。
方便、快捷、个性化的网上订餐服务正在进入人们的生活。
网上订餐系统为商家提供有效的管理方式,节省了宣传、店面等费用,为顾客提供了方便、快捷、优惠的订餐方式。
本论文对网上订餐系统的设计与实现进行了详细的分析与描述。
网上订餐的管理系统要既能满足客户的订餐需求,又要满足自己的业务流程需求。
本论文主要是从系统概述,系统分析,系统设计和系统实现这四方面来进行说明。
本系统采用B/S结构进行设计,使用SQL Server构建数据库,以MYECLIPSE 为设计语言,TOMCAT作为网页服务器来开发一个功能较为完善的订餐系统。
前台页面提供给顾客方便的实现网上订餐,而且能够查看本人信息、订单信息以及网上留言。
后台管理实现会员管理、菜单管理、订单管理、留言管理等基本网上订餐功能。
不仅方便顾客了解热销美食,而且利于商家制定销售策略。
关键词:网络订餐,B/S结构,JSP ,SQL
THE Design and implementation of XIAO PENG’S restaurant
online ordering system
ABSTRACT
With the rapid development of e-commerce, people gradually improve work efficiency. Convenient, fast, personalized online ordering services are entering people's lives. Online reservation system for businesses to provide effective management, saving publicity, stores and other costs, to provide customers with a convenient, fast, preferential ordering methods.
In this paper, the design and implementation of online ordering system for a detailed analysis and description. Online ordering management system must not only meet the needs of customers ordering, but also to meet the needs of their business processes. This paper mainly from the system overview, system analysis, system design and system implementation of these four areas to be explained.
The system uses B / S structure design, build databases using SQL Server, in MYECLIPSE design language, TOMCAT as a web server to develop a more comprehensive reservation system function. Front page provided to facilitate the realization of the customer online ordering, but also be able to view my information, order information and online message. Manage achieve membership management, menu management, order management, message management and other basic online ordering capabilities. Customers will not only facilitate understanding of hot dishes, but also helps businesses develop marketing strategies.
Keywords:Ordering, B / S structure, JSP, SQL
目录
摘要 (II)
ABSTRACT (II)
第一章概述 (1)
1.1课题背景 (1)
1.2目的和意义 (1)
1.3总体设计原则 (1)
1.4本章小结 (2)
第二章系统开发技术 (3)
2.1SQL SERVER2005简介 (3)
2.2TOMCAT简介 (3)
2.3JA VA简介 (3)
2.4MYECLIPSE简介 (4)
2.5JSP简介 (4)
2.6本章小结 (4)
第三章系统规划与分析 (5)
3.1系统的需求分析 (5)
3.2业务流程分析 (7)
3.3数据流程分析 (9)
3.4数据字典 (12)
3.5本章小结 (14)
第4章系统设计 (14)
4.1系统体系结构设计 (14)
4.2系统的子模块功能介绍 (15)
4.3数据库设计 (17)
4.4系统开发工具与开发模式的选择 (20)
4.5本章小结 (21)
第 5 章系统的实现 (22)
5.1系统首页 (22)
5.2用户注册登录模块 (22)
5.3系统后台登录模块 (23)
5.4用户管理模块 (24)
5.5菜品类别管理模块 (25)
5.6菜品管理模块 (26)
5.7订单管理模块 (26)
5.8本章小结 (28)
第 6 章系统测试与维护 (29)
6.1系统测试 (29)
6.2系统维护 (30)
6.3本章小结 (31)
总结 (32)
参考文献 (33)
致谢 (34)
附录 (35)
第一章概述
1.1 课题背景
随着21世纪互联网的普及,电子商务网站也随着互联网的普及而飞速的发展。
企业可通过电子商务网站来展示自己的产品,发布公司最新的动态,与合作用户进行沟通等一系列电商活动。
网络订餐系统其实也是电子商务网站的一种,。
随着电子商务的飞速发展,人们工作效率的逐渐提高。
方便、快捷、个性化的网上订餐服务正在进入人们的生活。
网上订餐系统为商家提供有效的管理方式,节省了宣传、店面等费用。
商家通过后台管理,可有效处理订单,统计销量;为顾客提供了方便、快捷、优惠的订餐方式。
避免餐厅拥挤,排队等待,且无需电话订餐的额外消费。
为商家和顾客间建立了一种新型、高效沟通方式。
1.2 目的和意义
网上订餐系统可以为空闲时间紧凑的人节省到外面就餐的时间,他们不用出门就可以通过互联网来选购自己喜欢的饭菜,这种互联网上的交易,不仅可以更好的推广自己的产品,而且也方便了用户,可以大大的节省用户的时间。
1.3总体设计原则
网络订餐系统为了方便我们的管理和维护,以及为了方便用户的操作,所以要有一个设计原则。
1.要有实用性。
要基本满足用户的订餐需求。
2.在我们实现系统能够正常运行的同时,要让这个系统能够更加的操作简洁,使用户能够轻松的操作这个系统,这个对用户体验来说是非常重要的。
3.因为我们是专门针对网上订餐系统来进行这个需求开发的,所以我们要根据这个订餐系统要有一定的针对性。
4.对订餐系统的页面风格要有一定的观赏性,可以更加吸引客户的目光。
1.4 本章小结
本章主要是对网上订餐系统的背景做一个大概的介绍,介绍了网上订餐系统对当今人们的生活起到的重要的作用。
同时也阐述了本系统开发的目的的意义,在最后也对我们的系统制定了一个大概的开发策略。
第二章系统开发技术
2.1 SQL SERVER 2005简介
SQL SERVER 2005 使用了集成的商业智能工具为企业提供了数据管理,它是一个全面的数据库平台。
SQL SERVER 2005 数据引擎是企业数据的管理解决方案的一个核心。
它为结构化数据和关系型数据提供了一个更为安全可靠的存储功能,使我们可以管理用于业务的高性能的数据应用程序。
而且,SQL SERVER 2005 也结合了分析,集成,报表和通知功能,使企业可以有效的构建和部署商业解决方案。
2.2 TOMCAT简介
TOMCAT服务器是受到广大程序员喜欢的一个WEB应用服务器。
它是ASF的Jakarta这个项目中的一个比较核心的项目,是由Apache 和Sun等多个公司共同开发出来的。
TOMCAT是一个不占系统资源的服务器软件,而且它在运行时也支持负载平衡和邮件服务这类发开系统常用的基本功能,也有很好的扩展性,所以是很受欢迎的系统服务器。
而且TOMCAT是一个可以免费使用的网页应用服务器,并且它的技术也是非常先进的,在运行时性能也是非常稳定的,现在TOMCAT还在不断的改善,来不断的完善这个应用服务器。
而且更让大家喜爱的是,每个程序员都可以根据自己的喜好来为TOMCAT添加一些不同的功能。
所以它现在是深受JA V A爱好者的喜爱,也成为了目前一个比较流行的WEB应用服务器。
2.3 JA V A 简介
JA V A 语言是一款可以用来编写跨平台应用软件的面向对象的一种程序语言设
计,是由SUN MICROSYSTEMS公司在1995年推出的JA V A平台和JA V A程序设计语言的一个总称。
JA V A平台是由JA V A应用编程接口和JA V A虚拟机这两个构成的。
JA V A技术有很突出的高效性,通用性,安全性和平台移植性,因此广泛应用于游戏,个人的PC,移动电话,互联网等领域,是全球开发者使用最多的开发工具。
而且在现代互联网高速发展的这个产业环境下,JA V A也具备了更加广阔的发展前景。
2.4 MYECLIPSE简介
MYECLIPSE工作平台是对ECLIPSE IDE的一个扩展,这个开发系统可以使我们在开发系统和数据库的管理方面大大的提高我们的工作效率。
这个工作平台还是个功能齐全的开发的系统,帮助我们可以实现从最初的编码到最后的发布这些功能,这个工作平台还可以完美的支持JA V ASCRIPT,SQL,HTML,CSS等。
2.5 JSP简介
JSP是由Sun Microsystems 这家公司倡导的,由多家公司参与并一起建成的一种动态网页技术。
这项技术使动态生成内容的WEB页面更加简单和快捷。
JSP的开发不是单一的运行操作,它在LINUX和别的操作系统上面都是可以运行的,是可以跨平台运行的。
JSP是使用JA V A编程语言来编写类XML的scriptlets和tags,进行封装产生动态网页的处理逻辑。
网页可以通过这两个来访问存在服务端资源的应用逻辑。
JSP还可以把网页设计和网页逻辑的显示分离,这种可重用的组件,使基于WEB 的应用程序的开发语言变得更加的方便和快捷。
JSP是在服务器端执行的,一般返回该客户端的就是HTML文本,所以客户端只要有个浏览器就能进行浏览。
2.6 本章小结
本章主要介绍了我们在开发网上订餐系统时所使用的相关软件的介绍,我们可以根据不同软件的详细信息和特点,来更好的设计出网上订餐系统。
第三章系统规划与分析
3.1 系统的需求分析
网上订餐系统主要是想建立一个简单,快捷,功能完善的用户订餐体验系统,这个系统主要分为两个模块:系统管理员模块和注册用户模块。
系统管理员模块:这一模块是只有系统管理员才有使用的权限。
主要是分为系统管理,会员管理,菜品分类,菜品管理,用户订单管理,留言管理,网站公告这7大模块。
该模块主要是针对用户的后台管理,我们可以通过这一系统来发布公司的最新菜品,公司最新的活动和优惠信息,我们可以管理用户的注册信息,来处理客户的订单,查看一下客户对我们的评价和留言,这样我们可以及时的处理客户的反馈信息,来完善自身的不足,我们可以通过这一模块来及时的发布公司最新的活动,来吸引更过的用户。
系统管理员模块如图3-1所示:
图3-1 系统管理员模块
注册用户模块:这一模块是针对用户设计的,客户如果想在我们的订餐系统进行点餐,要现在网站上面注册个人的一个会员,,否者就只能有浏览的权限。
这个模块分为会员登陆,浏览菜品,订餐车管理,订单管理,留言发布,修改个人资料6大模块。
用户可以看到网站的所有菜品的信息,来选购自己所喜欢的菜品,然后把自己喜欢的菜加入到订餐车里,生成一个订餐的订单信息。
用户在体验我们的整个订餐服务后,可以在留言里写下自己的体会心得以及对我们的一些建议,而且还可以浏览我们最新的活动信息。
注册用户模块如图3-2所示:
图3-2 注册用户模块
3.2 业务流程分析
业务流程的分析主要是分为系统管理员业务流程分析和注册会员业务流程分析。
1.系统管理员业务流程分析
系统管理员在登入到用户界面后,要先输入系统管理员的登录信息,然后就会直接登陆到我们的管理员系统界面。
在这个界面我们可以管理我们的用户信息,对管理员的信息进行反馈和处理,例如我们可以对报废的用户信息进行删除,对一些用户的信息进行修改,而且我们还可以对我们的菜单系统进行管理,可以添加新的菜品,删除菜品,对菜品进行详细的描述等:可以查看订单的信息,对会员的订单信息进行处理;可以查看会员的留言,还有公司一些活动的公布等。
等我们结束各项操作后退出,就可以回到系统的主窗体。
图3-3;图3-4;图3-5和图3-6分别是对注册会员管理,菜品管理,系统管理员信息管理和订单管理做了一个流程描绘。
图3-3 注册会员管理流程图
图3-4 菜品管理流程图
图3-5 系统管理员信息管理流程图
图3-6 订单管理流程图
2.注册会员业务流程分析
当我们进入系统后,没有注册的要先注册一个会员,注册成功的可以在登录功能区来输入会员的帐号和密码,在我们成功的登录到用户界面后,我们就可以在订餐系统的界面里选购自己喜欢的菜品了。
我们可以在订餐系统的界面里看到各种类别的菜品,查看菜品的价格和信息,然后就可以选择自己想吃的菜,生成一个订单。
等用户订餐完成后,就可以退出操作,然后回到系统主页。
注册会员业务流程分析如图3-7所示:
会员
用户界面
图3-7 注册会员业务流程图
3.3 数据流程分析
数据流程分析图就是用来表示数据在系统中是如何流动的,同时也表明了系统所能完成的所有功能。
图3-8描述的会员管理的数据流程分析;图3-9描述的是菜品分类管理的数据流程分析;图3-10描述的是菜品管理的数据流程分析;图3-11描述的是用户订餐的数据流程分析。
图3-8 会员管理数据流程图
浏览菜品 生成订单
留言评价
操作成功
图3-9菜品分类管理数据流程图图3-10菜品管理数据流程图
图3-11 用户订餐数据流程图
3.4 数据字典
1.数据项
(1)管理员信息数据项描述如表3-1所示:
表3-1 管理员信息数据项
(2)菜品类别数据项描述如表3-2所示:
表3-2 菜品类别数据项
(3)菜品信息数据项描述如表3-3所示:
表3-3 菜品信息数据项
(4) 订单信息数据项描述如表3-4所示:
表3-4 订单信息数据项
(5)订单明细信息数据项描述如表3-5所示:
表3-5 订单明细信息数据项
2.实体的描述
(1)实体名称:系统管理员
描述:系统管理员可以操控数据库的后台系统,具有最高的权限。
输出的数据流:包括操作员和黑名称订单的管理。
输入的数据流:对菜品进行管理,包括菜品类别的管理和菜品信息的管理。
(2)实体名称:会员注册
描述:用户在浏览网站时,只有注册成为我们订餐系统的会员,才可以进入订餐车系统,生成订餐订单等操作,而且会员可以对其进行留言评价。
3.5 本章小结
本章主要是对我们的网上订餐系统做一个需求分析和业务流程分析。
我们可以通过这些分析来更好的优化我们的订餐系统。
通过业务流程分析大家可以更直观的看到我们订餐系统的各个功能和我们的操作流程的详细内容。
第4章系统设计
4.1 系统体系结构设计
网上订餐的管理系统是按照从上往下的设计思路完成的。
第一城就是用户的登陆界面。
第二层就是订餐系统的主页。
这里主要包括了菜品界面,菜品销售量,网站公
告等,会员在登录成功后就可以在线浏览菜品,然后选择自己喜欢的菜,生成订餐订单。
4.2 系统的子模块功能介绍
(1)会员管理模块:系统管理员登入成功后,对注册的会员信息进行管理,对一些黑名单的会员进行删除等功能。
(2)类别管理模块:系统管理员在登陆成功后,对菜品的类别信息进行的添加,修改和删除等功能。
(3)菜品管理模块:系统管理员在登陆成功后,对菜品菜单的信息进行的添加,修改和删除等功能。
(4)订单管理模块:系统管理员登陆成功后,查看用户的详细的订单信息,对订单的信息进行处理,对于无效的订单进行删除处理。
(5)留言管理模块:系统管理员在登录成功后,可以查看到用户的留言,及时了解用户对我们的评价及建议,可以不断改进,满足用户的需求。
(6)系统公告管理模块:系统管理员在登录成功后,可以管理本系统的公告信息,可以添加新的活动公告,删除一些过期的活动公告。
图4-1 系统实体间的ER图
(7)修改密码模块:系统管理员在登陆成功后,有时为了保证账号和密码的安全性,可以用这个重新设定密码的功能。
网上订餐系统的ER图如图4-1所示;会员实体属性图如图4-2所示;菜单实体属性图如图4-3所示;订单实体属性图如图4-4所示;管理员实体属性图如图4-5所示。
图4-2 会员实体属性图
图4-3 菜单实体属性图
图4-4 订单实体属性图
图4-5 管理员实体属性图
4.3数据库设计
(1)数据库的设计概念-E-R模型
E-R模型是实体-联系模型,是对信息世界的建模。
下面我们用E-R图来清楚的为大家描述出订餐系统实体和其属性间的关系。
网上订餐系统的ER图如图4-1所示:(2)数据库逻辑设计-关系模型
我们可以将上图的E-R转换成关系模型
管理员信息(账号,密码)
会员信息(ID,用户名,密码,姓名,联系方式,年龄,性别,住址)
菜品类别信息(ID,类别描述,类别名称)
菜品信息(ID,菜品名称,图片,单价,菜品描述,是否特价,类别ID)
订单信息(ID,订单编号,总价格,下单时间,付款方式,送餐地址,用户编号)4.3.1 数据库表结构设计
网上订餐系统的后台数据库总共有7张表。
它们分别为管理员信息表,会员信息表,菜品类别信息表,菜品信息表,订单信息表,订单明细表,公告信息表。
这些数据表的具体结构设计如下:
(1)管理员信息表:主要用于系统管理员的信息。
如表4-1所示:
表4-1 管理员信息表
(2)会员信息表:用于存储用户注册账号时留下的相关信息。
如表4-2所示:
表4-2 会员信息表
(3)菜品类别信息表:主要用来对菜品信息进行存放。
如表4-3所示:
表4-3 菜品信息类别表
(4)菜品信息表:管理和存储菜品的相关信息。
如表4-4所示:
表4-4 菜品信息表
(5)订单信息表:查看会员的详细订单。
如表4-5所示:
表4-5 订单信息表
(6)明细表:主要就是存储订单的明细信息。
如表4-6所示:
表4-6 明细表
(7)系统公告表:主要是为了发布新的公告信息和存储公告信息。
如表4-7所示:
表4-7 系统公告表
4.4 系统开发工具与开发模式的选择
网上订餐系统主要使用SQL SERVER 和JSP来进行系统的开发与设计的。
采用的是B/S结构,也就是(浏览器/服务器)结构。
JSP作为一种开发动态页面的技术,也是众多企业应用软件中最爱的开发路线之一。
JSP具有一次编写,随处运行这个有点,可以使用户专注于JSP的开发,并且不用考虑系统层面的问题。
B/S结构的系统用户界面是可以直接通过浏览器来实现的,这种结构是非常简洁方便的。
虽然它的小部分的事务逻辑可以在前端直接实现,但是主要的还是要通过后台服务器来实现。
这种结构技术不仅可以节约工作量,同时也大大的减少了我们的工作成本。
B/S结构可以一次性的开发到位,可以实现在不同的工作环境下用不同的连入方式来访问和操控同一个数据库,这种结构还能很好的保护管理访问权限和数据平台,这样的话我们就不用担心我们的服务器数据库的安全问题了,这样也是可以大大的节省一笔用户成本的。
在JA V A这种跨平台语言出现之后,这种框架结构管理软件更是简洁,快速,效果更加突出,因此也更加受到编程人员的喜爱。
随着现代互联网的流行和发展,B/S 模式更是广泛应用于各大企业管理应用平台,它可以使用户直接访问浏览器去浏览INTERNET上面的文档,影音,图片等信息,这些信息都是WEB服务器和数据库服务器相互连接产生的,很多的数据我们是自己存放在我们的数据库服务器中的。
它可以将我们这些服务器网连接起来,我们可以在网站里直接浏览到,这样就形成了全球互联网。
这样每个企业都可以建立自己公司的一个网站。
而且现在很多国内的软件开发商都开始积极的投入到开发B/S结构软件,所以这种结构的管理软件有可能会是未来国内管理软件开发的主流趋势。
4.5本章小结
本章是对网上订餐系统的各个功能模块的详细介绍。
我们在设计订餐系统时,以方便客户为宗旨,使我们的订餐界面美观大方,方便简洁,功能完善,最大程度的使客户有一个美好的订餐体验。
第 5 章系统的实现
5.1 系统首页
我们可以输入网站http://localhost:8080/wldc,然后系统会自动跳转到default.jsp,接着发送请求index.action,这个类是提取相关数据的。
这些包括菜品信息,公告留言等,然后我们把这些数据库绑定到request,跳转到view的Index.jsp,而且这个网上订餐系统的网站界面是上左右的界面结构,其中上面的部分是菜单区域,左边能则是用户登录及网站公告等信息,右边部分就是信息栏,主要就是有新的菜品信息或者那些销售情况都会显示出来的。
系统首页的界面如图5-1所示:
图5-1 系统首页界面
5.2 用户注册登录模块
当我们的用户在第一次打开我们的网页,浏览我们的网站时,首先要去我们的注册页面去注册一个登陆的账号信息。
在注册登录信息时,我们要填写我们的用户名,密码,住址,姓名,性别,联系方式,邮箱和QQ这些基本信息。
我们设置这些注册信息都是有原因的,联系方式可以使我们方便和用户联系,而填写邮箱的原因是邮箱是唯一的,而且如果客户忘记登录信息,可以通过邮箱来找回信息,留下QQ的话是
因为如果有固定长期的话,我们会联系一个订餐的QQ群,我们可以用它来在群里和用户进行交流,有优惠活动可以及时发布,这样主要就是来增加用户的。
用户注册登陆模块的界面如图5-2所示:
图5-2 用户注册登录模块界面
5.3 系统后台登录模块
系统管理员是最大的管理权限的。
当一个管理员想要管理我们的订餐系统时,要先登陆到我们的订餐管理的后台系统中去。
我们要正确的输入自己的管理员帐号和密码,然后我们的后台服务器会对我们的信息进行审核,在数据库中进行查找和对比,如果对比正确则进入到后台的管理系统,否则的话会显示错误,无法进行登录。
系统后台登录模块的界面如图5-3所示:
图5-3 系统后台登录模块界面
5.4 用户管理模块
管理员成功登录后台系统后,可以点击左侧的菜单“用户管理”,页面会跳转到用户管理界面,在用户管理界面我们可以管理用户的注册信息,可以对其进行管理和维护。
用户管理模块的界面如图5-4所示:
图5-4 用户管理模块界面
用户管理模块实现的关键代码:
public String userDel()
{
TUser user=userDAO.findById(userId);
user.setUserDel("yes");
userDAO.attachDirty(user);
this.setMessage("删除成功");
this.setPath("userMana.action");
return "succeed";
}
public String userXinxi()
{
TUser user=userDAO.findById(userId);
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("user", user);
return ActionSupport.SUCCESS;
}
public String userMana()
{
List userList=userDAO.findAll();
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("userList", userList);
return ActionSupport.SUCCESS;
}
5.5 菜品类别管理模块
管理员在成功登入后台管理系统后,可以点击左侧的“菜品类别管理”,在这一界面,我们可以对菜品类别进行添加,修改和删除等操作。
在添加时,我们可以添加菜
品的类别名称,然后对这个分类名称进行描述,点击提交按钮,系统会自动把这些信息保存到数据库中。
菜品类别管理模块的界面如图5-5所示:
图5-5 菜品类别管理模块界面
5.6 菜品管理模块
管理员在成功登入后台管理系统后,可以点击左侧的“菜品管理”,等系统自动跳转后,我们就可以看到菜品管理界面。
这一界面对于订餐系统来说是很重要的。
在这一界面我们对菜单进行添加,修改和删除。
在添加时,要填写菜品名称,对其进行描述,然后添加菜品的图片,添加菜品的单价,还可以设置是不是特价,这些都需要我们好好填写,用菜品的信息来吸引用户订餐。
菜品管理模块的界面如图5-6所示:
图5-6 菜品管理模块界面
5.7 订单管理模块
管理员在成功登入后台管理系统后,可以点击左侧的“订单管理”,等系统自动
跳转后,我们就可以看到订单管理界面。
在我们的这个订单界面,我们能够查看到所有用户的订餐信息,然后我们就要对我们的订单进行管理,我们要先查看订单的明细,对订单进行处理,对一些无效的订单信息我们可以直接删除。
订单管理模块的界面如图5-7所示:
图5-7 订单管理模块界面
关键代码:
public String orderMana()
{
String sql="from TOrder order by orderUserId";
List orderList=orderDAO.getHibernateTemplate().find(sql);
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("orderList", orderList);
return ActionSupport.SUCCESS;
}
public String orderDel()//用户自己删除订单
{
TOrder order=orderDAO.findById(orderId);
orderDAO.delete(order);
Map session= ServletActionContext.getContext().getSession();
TUser user=(TUser)session.get("user");
this.setMessage("删除成功");
this.setPath("myOrder.action?userId="+user.getUserId());。