在线订餐系统设计.docx
《在线订餐系统设计.docx》由会员分享,可在线阅读,更多相关《在线订餐系统设计.docx(37页珍藏版)》请在冰豆网上搜索。
![在线订餐系统设计.docx](https://file1.bdocx.com/fileroot1/2023-2/8/2233aa08-1da3-4d90-b1c5-ae67e65a56c3/2233aa08-1da3-4d90-b1c5-ae67e65a56c31.gif)
在线订餐系统设计
本科毕业论文(设计)
题目在线订餐系统设计
学生
指导教师
年级2011级
专业电子信息工程
二级学院信息工程学院
信息工程学院
2015年5月
郑重声明
本人的毕业论文(设计)是在指导教师的指导下独立撰写完成的。
如有剽窃、抄袭、造假等违反学术道德、学术规范和侵权的行为,本人愿意承担由此产生的各种后果,直至法律责任,并愿意通过网络接受公众的监督。
特此郑重声明。
毕业论文(设计)作者(签名):
年月日
在线订餐系统的设计
摘 要
当今社会,生活节奏的加快,使的人们对就餐时间和方式有了更高的要求,21世纪来,互联网技术的快速发展,结合了餐饮业和计算机网络的网上订餐因运而生。
不仅解决了人们对快捷要求的需求,也是电子商务的一种全新的体现。
本控制系统采用Java代码来编写,分为前台和后台两个大的模块,前台是用户的订餐页面,包括登录、注册、选购、下单、和对订单的跟踪。
后台为管理员和系统管理员两部分组成,系统管理员可以增加管理员的人数,管理员可以对后台物资进行,添加、删除、修改的操作,对订单物资进行倒表进行查看,对用户留言反馈处理。
本系统功能齐全,页面清楚简单,用户可以方便的对相应的模块进行查看和下单,使的购餐方便快捷。
关键词:
订餐系统JavaWebSSH
TheDesignOfTheOnlineReservationSystem
HuZhifangDirectedbythelecturerZhangZhilai
ABSTRACT
Intoday'ssociety,theacceleratingrhythmoflife,makepeoplehaveahigherrequestfordinnertimeandway,tothe21stcentury,therapiddevelopmentofInternettechnology,combinedwithcateringandcomputernetworkonlineorderforshipment.Notonlysolvedthepeopledemandforquickrequest,alsoisakindofnewelectroniccommerce.
ThiscontrolsystemUSESJavacodetowrite,isdividedintoforegroundandbackgroundtwomodules,frontdeskistheuser'sorderpage,includinglogin,register,thechooseandbuy,order,andtrackingontheorder.Backgroundfortheadministratorandsystemadministratorsintwoparts,thesystemadministratorcanincreasethenumberofadministrator,theadministratorcanonthebackgroundmaterial,add,delete,modifyoperations,ordermaterialfortableview,ontheuserfeedbackmessageprocessing.Thesystemfullyfunctional,simplepageisclear,theusercanconvenienttoviewandorderofthecorrespondingmodule,maketheorderofconvenientandquick.
KEYWORDS:
ReservationSystemJavaWebSSH
前 言
二十一世纪是信息化、知识化的世纪,随着社会的进步、计算机应用迅猛的发展和网络应用的不断扩大,使的传统订餐的形式有了极大的扩充,人们订餐变得更加的便捷。
基于Web的网上订餐系统,就是一种基于计算机网络的网上订餐形式,它的出现,大大地扩展了现行订餐的方式,使餐饮摆脱了空间和时间上的束缚,任何人,只要会上网,都可以坐在电脑前面,方便地进行上网订餐,这可以说是对餐饮业的一次革命。
相比传统的订餐方式,网上订餐系统使用起来非常方便,只要是能够上网的地方,人们都能够轻松使用系统的所有功能。
而今网络技术的突飞猛进,发展迅速,新技术产生速度是以前的数十倍。
网上订餐可以用声音、文字、图像等加以直观的展示出来,给顾客留下非常深刻的视觉印象,有利于增加潜在的订餐顾客。
所以可以肯定的说,网上订餐的前景是非常广阔地,可扩展性非常的好。
因此,开发一个在线订餐系统是十分必要的,通过前台餐饮商品信息的展示,添加购物车,结算下单的模式形成餐饮企业的电子商务平台,通过后台的库存系统,整合餐饮企业的供应链,提高其在信息化环境下的管理水平,对现在激烈竞争的餐饮行业中求发展的餐饮企业来说,无疑是福音。
我们对餐饮企业菜品和材料标准化地处理,大大减小了企业的库存成本,提高餐饮企业的经济效益。
为人类饮食文明和对社会的发展起到一定的推动作用,也对以后自己工作带来有益的影响。
1背景介绍
本部分主要介绍在线订餐系统的背景和研究的目的和意义。
1.1在线订餐系统的背景
21世纪,全球网络化,科技在突飞猛进。
我们的生活同网络通信息息相关。
计算机已经普及到我们社会和经济生活中的各个领域中。
人们进行信息交流的深度与广度不断在增加着,这使得我们的服务,管理也应该跟上时代步伐去前行。
电子商务在此得到极大地普及与发展。
餐饮业在电子商务中还处于形成初期;传统饮食业中,大都是以实际门面的形式来进行宣传与交流的。
作为网络普遍化的社会,这还缺少了一些更为现代化的元素。
餐饮业是一种个性化、多样化的服务产业,而电子商务是最能体现个性化、多样化服务的商务方式。
而且现在大部分电子商务都体现的像大企业服务,结合餐饮这个特殊行业,终将还发展为向小区域小店铺服务的模式。
以最贴切的方式,最灵便的服务进入各个网络社区,进入人们的生活。
渐渐更多地人接受了电子商务这种简便、快速的网上交易形式,网上订餐系统的顺势而出很快受到了大家的欢迎。
互联网的应用已经渐渐普及到千家万户,这为网上订餐提供了良好的发展空间。
同时,网上订餐系统服务的直观、有效、便捷等优点是传统电话订餐业务无法比拟地。
通过调查数据显示,北京白领更乐于去选择网上订餐服务,网上订餐将是白领一族捕获餐店信息、进行订餐的发展趋势。
网络在线订餐系统随着互联网的成长会逐渐被人们所喜爱,正如几年前手机移动短信一样,为企业带来几百个亿的业务收入。
在互联网世界里面,谁早一步在应用上创新,谁就掌握了未来的方向,品牌更是一炮打红,网上订餐,看到的希望是希望,看到的泡沫是泡沫。
1.2研究的目的及其意义
网络订餐可充通过色彩、图片、说明、设置动画加强产品的宣传,达到了餐饮业的“色型”要求。
而该系统实现商品管理方便,不用因为更改菜色而重新印刷。
只要在后台鼠标轻轻一点,全线马上就会更新。
采用B/S模式,订餐者无须去安装第三方软件,只要上网就能订餐,甚至可以利用手机上网订餐,使操作更加简便,订餐信息更加准确。
避免口头传递信息的错误,优化服务。
网络不会跟电话一样占线,在高峰期对订餐的处理更是游刃有余,只看着屏幕点打印即可,就可下厨房配菜配送。
地址永远不会丢失,是一个永远存在的电子菜单,甚至还可以通过网上的推广而让更多的客人认识,不用派人去发宣传单,可以省去一笔宣传和人工费用。
订餐途径有了更好的改善,网络订餐成为电话订餐又一有力补充,扩大客流,从而整体提高业务量。
倡导了一种时尚,餐店的定位更是网络化,时尚化,具备更为勃勃的生机。
缓解了食堂的拥挤的困境,为食堂提供更为轻松的环境。
有时间的提前性,方便统筹安排,集中处理。
采用会员制度,设立积分换赠送,营销手段更是利用得淋漓尽致。
可以设立团体会员制,利用赠品或优惠,扩大市场份额。
利用网页技术,展示本公司的精品,增强吸引力。
详细介绍每一个产品,展现公司周到、细微的服务。
容易形成品牌和连锁经营,即使没有合适的店面,主要配送队伍健全,一个店面,就可以做全市生意。
订餐者省电话费,实现双盈。
提供了交流的平台,实现消费者可贵信息的反馈和交流。
方便统计和查询,分析经营来得更直接,企业创新,跟得上市场的需要。
2需求分析
本部分从经济可行性和技术可行性分析得出系统开发的可行性,从功能性需求和功能划分了解系统的实现功能,非功能性需求来介绍开发的工具。
2.1可行性分析
2.1.1经济可行性
本项目的特殊性,使其无需投入额外设备费用和人员培训的费用,所以在经济上本项目的开发是完全可行的。
此外本项目对开发的需求以及软硬件要求都不是很高,所以在软硬件的支出上十分有限。
因此,本系统在任何一台连接Internet地机器上都可以运行操作,有很高的经济可行性。
按照上述两方面进行可行性分析、研究后,我认为本项目在技术上是可行的,在经济上也是没问题的,所以完全可以进行开发。
2.1.2技术可行性
本系统选择JSP作为页面开发语言,选择Oracle作为后台数据库,采用B/S结构,使用JDBC连接池来连接数据库。
而JSP可以创建和运用动态、交互的WEB服务器应用程序。
同时,JSP也具有向跨平台跨服务器的优点。
Oracle11g是一个杰出成功的数据库平台,具有功能强大,安全可靠等特点,可用于大型联机的事务处理、数据仓库及电子商务等。
所以在技术理论方面上是可行的
2.2需求分析
2.2.1功能性需求
该系统在性能功能应达到如下要求。
(1)操作简单,界面美观:
空间式的页面布局,使得菜品、咨询等信息录入工作变得更简单;另外,跟踪出现的提示信息也让用户随时了解自己的操作情况。
对常见类似的网站管理的各个方面:
基本信息的录入、浏览、删除、修改、搜索等方面都大体实现,用户对餐品的预定以及支付方式。
(2)即使可见:
对客户预定餐饮信息处理(包括录入、删除)将立即在首页对应的栏目显示出来,达到“即时发布,即时见效”的功能。
(3)系统运行应该快速、稳定、高效、可靠。
(4)在结构上应该具有很好的可扩展性,便于将来功能扩展和维护。
2.2.2功能划分
本系统的主要功能是以用户以及管理员扩展开来的,下面简单介绍下本系统的一些主要功能。
(1)对于普通用户,具有下列功能:
注册:
可以注册成为会员,管理自己信息,对餐品进行下单。
浏览菜单:
可以查看所有的餐品但是不能放入购物车和下单。
(2)对于会员用户,具有下列功能:
登录:
用系统号登录,显示会员用户页面。
个人信息管理:
可以查看、修改个人信息,修改密码。
留言反馈:
可以对餐品提出个人看法,并且提交。
下单:
会员可以购买餐品,进行下单。
(3)对于管理员,具有以下功能:
会员管理:
对会员用户进行查看和查封操作。
物资管理:
对餐品物资进行添加、删除、修改的操作。
订单管理:
对会员订单进行导出报表查看。
留言管理:
可以查看、审核用户的留言。
页面维护:
对页面的显示商品进行选择。
2.2.3非功能性需求
选择微软IE平台作为主导,是考虑到当前大多数的企业在设计内部网络时,将微软IE平台作为首选方案;并且微软IE平台上的应用在开发和软件的配置上都非常容易,具体如下。
(1)开发工具:
MyEclipse10。
(2)辅助开发工具:
DreamweaverCS3,notepad++,PLSQLDeveloper。
(3)数据库:
Oracle10g。
(4)服务器:
ApacheTomcat6.0。
(5)运行环境:
安装JDK1.6支持Java运行。
(6)技术:
前台页面的设计应用JSP技术开发制作。
采用Struts2框架响应用户业务逻辑的请求,并对用户的请求在Action中处理理后将相应JSP页面发送给客户,相应的数据库操作则是由Hibernate来进行操作的。
3系统设计
3.1设计思路
该系统用户分为游客、会员和管理员,不同的用户会有不同的操作,然后由用户及其角色的功能操作来了解系统的运行过程,然后建立需求用例,设计数据表,整合框架,最后编写和调试代码。
3.1.1系统的设计思路
俗话说的好,巧妇难为无米之炊,一个系统也是一样要想设计一个完整的系统,首先要构想出来这个系统的大体流程和功能模块,然后才能在此基础上建立需求,设计数据表等后续工作,下图便是在想订餐系统的系统设计构想运行图。
图3-1系统设计构想运行图
3.1.2系统的设计步骤
(1)建立需求用例图
先想好系统的大体框架,编写需求文档,在UML软件中按照需求分析绘制出各个功能的用例图。
(2)设计数据表
按照用例图功能,建立对应的数据表,每个数据表设置一个状态字段,删除字段时只需改变状态就行,可以保留历史记录,每个表留着几个预留字段,防止以后需求变更造成数据表大幅度变化。
数据表关联字段不用外键,数据表一多,或是删除一些数据表的字段时会造成大量的关联数据错误。
(3)整合SSH框架
建立Database数据连接,整合SSH框架,然后将数据表反向生成Java代码导入MyEclipse,将代码层次化,建立DAO,BIZ,Action,Utils,VO,Serviceiface,Serviceimple包来存放相应的代码,代码采用注释,使的代码明了化。
运行Tomcat看是否系统运行异常,有异常处理异常,使的系统运行正常。
(4)编写代码
按照用例图来编写功能模块的代码,模块采用MVC模式,调用数据库采用Service接口,数据库开放接口,BIZ使用接口来实现功能。
编写代码统一采用方法调用,变量采用方法注入,这样可以在需求变更,变量改变时只需变更少量代码便可实现。
(5)调试,实现功能要求
调试系统功能,修复DEBUG,然后运行系统,在运行中有什么问题及时修改。
3.2订餐用例图设计
用例图是反应各个角色和系统功能的动态视图。
本系统中用例图采用UML来进行绘画,而通过用例图的显示我们可以更方便、简单的获取需求,在后续的系统设计中起到很好的指导作用。
下面就介绍游客和会员用户的用例图。
图3-2游客时序图
游客:
可以浏览订餐网站的所有商品,但是不能下单和加入购物车,执行非游客操作只能新注册用户,登录订餐网站。
图3-3会员和普通用户时序图
会员和普通用户:
可以执行游客的所有操作,除此之外,可以对商品进行购买和下单,对自己信息进行修改维护,密码丢失的情况可以联系管理员进行修改密码,对网站或是商品也可以提出自己意见对管理员进行留言。
3.3数据库设计
3.3.1概念模型设计
概念结构设计是将分析得到的用户需求抽象为信息结构(即概念模型)的过程,它是整个数据库设计的关键。
3.3.2数据库的逻辑设计
数据库的逻辑设计分为三个阶段,分别是:
用户要求、建立E-R模型和数据库模式设计。
数据库逻辑设计中的第一阶段收集和分析用户的需求是按以下四步进行的:
分析用户活动,确定系统范围,分析用户活动所涉及的数据和分析系统数据。
逻辑设计第二阶段建立E-R模型分两步,首先应进行局部E-R模型设计,然后进行总体E-R模型的设计。
逻辑设计第三阶段在数据库模式设计阶段分两步进行,第一步初步设计,把E-R图转换为关系模型,第二步优化设计,对模式进行调整和改善。
3.3.3数据表设计
根据用例图来建立数据表,数据表是用于存放系统运行数据和筛选符合用户需求的数据,数据表的建立可以使得系统有不必担心数据的丢失,也可以根据数据的存储时间对数据进行动态的跟踪和维护,所以数据表建立的完善程度直接影响了系统的完善程度,也对后期系统的维护的难易造成了影响。
下面介绍三个相关联的数据表的结构。
(1)Ep_user(用户表)
用户表中存放的是游客注册用户的信息,用户登录的时候会从用户表中对用户的ID和密码进行检测,匹配正确后才能登录首页。
其中的状态字段是撤销用户或是删除用户的字段,0代表删除,1代表有效,这样可以更好的保留历史记录,其中表中的五个预留字段防止以后
表3-1ep_user表的结构
字段
类型
是否主键
是否为空
描述
Syus_id
Number(10)
主键
否
用户主键
Syus_user_name
Varchar2(20)
否
否
用户名
Syus_user_password
Varchar2(20)
否
否
用户密码
Syus_role_id
Number(5)
外键
否
用户角色ID
Syus_mail
Varchar2(20)
否
否
用户邮箱
Syus_phone
Number(11)
否
否
用户电话
Syus_status
Number(4)
否
否
用户状态
Syus_user_address
Varchar2(50)
否
否
用户地址
Syus_create_time
date
否
是
创建时间
Syus_creator
Varchar2(20)
否
是
创建人
Syus_one
Varchar2(20)
否
是
预留字段1
Syus_two
Varchar2(20)
否
是
预留字段2
Syus_three
Varchar2(20)
否
是
预留字段3
Syus_four
Varchar2(20)
否
是
预留字段4
Syus_five
Varchar2(20)
否
是
预留字段5
(2)Ep_order(订单表)
订单表中存放的是会员和普通用户下单成功后存放的订单信息,用户可以在订单浏览中查看订单,管理员可以在后台对用户下的所有单子进行查看,按照订单的地址进行送货。
订单表中的状态字段也是采取0为无效订单,1为有效订单的处理方式来保留历史数据,表中也有五个预留字段来防止以后表结构的变更造成系统大幅度调整。
表3-2ep_order表的结构
字段
类型
是否主键
是否为空
描述
Epor_epor_id
Number(10)
主键
否
订单主键
Epor_epor_no
Varchar2(20)
否
否
订单号
Epor_epor_adress
Varchar2(50)
否
否
订单地址
Epor_dscp
Varchar2(50)
否
否
申请备注
Epor_total_price
Number(11,2)
否
否
申请总价
Epor_creator
Varchar2(20)
否
是
申请人
Epor_create_time
date
否
是
创建时间
Epor_mobile
Number(11)
否
是
申请人手机
Epor_status
Number(4)
否
是
状态
Epor_one
Varchar2(20)
否
是
预留字段1
Epor_two
Varchar2(20)
否
是
预留字段2
Epor_three
Varchar2(20)
否
是
预留字段3
Epor_four
Varchar2(20)
否
是
预留字段4
Epor_five
Varchar2(20)
否
是
预留字段5
3.4Struts2框架
Struts2框架是过滤器,拦截器,Struts标签库等多个功能集一体的框架,不仅提供了servlet的解耦合方法来获得jsp页面的内置对象,还提供了Struts2的标签库,运用Struts2框架可以更好的用于数据的交互和页面的设计。
而且其也是SSH三大框架整合的基础框架。
本系统中用户提交请求经过Struts2的拦截器,过滤器最后请求到Action中,Action对其中的要求进行筛选,然后调用BIZ控制层,BIZ控制层调用Service相应的接口,Service接口调用数据库进行相应的操作并且封装,提供BIZ调用的接口,BIZ调用接口返回相应的结果,BIZ将相应的结果进行处理后回传到Action中,Action对返回的数据进行Request和Session的封装最后通过Result定位到相应的页面。
Struts2框架,如图3-4所示:
图3-4Struts框架图
4系统实现
本系统分为前台和后台两部分,管理员和会员用户登录页面相同,登录成功后会根据不同的角色进入相应的页面,管理员进入后台页面,对商品进行添加、删除、查看的操作。
会员进去首页对商品进行查看,购买下单。
4.1系统首页
商城首页采用分栏式布局,最上面一栏是用户的一些快捷功能,比如登录、注册查询订单,中间是搜索餐品的输入框,采用Ajax输入及时匹对,下面是热卖商品的轮展效果,可以在后台管理员进行维护操作。
图4-1商城首页图
4.2注册用户
用户没有用户ID和用户名时进行注册操作,系统号是系统自动匹配的,用户填写别的基本信息,只有按照信息填写完整后才能提交,如图4-2所示。
图4-2注册用户
部分代码如下:
intuser_result=this.userBIZ.addUser(epuser);
Mapmap=newHashMap();
if(user_result>0){
map.put("msg","添加成功");
map.put("flag","1");
}else{
map.put("msg","添加失败");
map.put("flag","0");}
result=JSONObject.fromObject(map).toString();
以上代码表示,epuser是存放用户的注册信息,user_result是添加的结果,大于0代表添加成功,会将结果封装到JSON字符串中,返回到注册页面提醒用户注册成功或是失败。
4.3登录
用户的登录采用弹出窗遮罩的效果来实现,如图4-3,用户在弹出框输入用户名、密码和验证码来进行登录,用户ID和密码会在输入验证码的时候通过Ajax及时后台数据验证并返回结果用红字显示错误信息。
如果是会员用户登录后会进入商城首页,并显示登录人的信息,如果是管理员登录则会直接跳转到后台页面。
图4-3登录图
部分实现代码如下:
Listlist=this.userBIZ.userLogin(Integer.parseInt(user_id),password);
if(list.size()>0){
com.vo.Useruser=list.get(0);
this.getRequest().getSession().setAttribute("user",user);
return"home";
以上代码表示,从数据库中对用户输入的系统ID和密码进行检测,如果存在该用户并且ID和密码相符,则将用户的信息用Request页面内置对象将User进行封装,然后返回首页。
用户登录成功后会在右上角会显示该用户的用户名,用户可以点击旁边的退出进行注销操作。
4.4管理员用户操作
4.4.1添加物资类别
管理员