基于java餐饮企业网上订餐系统大学论文.docx
《基于java餐饮企业网上订餐系统大学论文.docx》由会员分享,可在线阅读,更多相关《基于java餐饮企业网上订餐系统大学论文.docx(26页珍藏版)》请在冰点文库上搜索。
基于java餐饮企业网上订餐系统大学论文
目录
第1章绪论1
1.1课题背景1
1.2目的和意义1
1.3系统设计思想2
第2章可行性分析3
2.1技术可行性3
2.2经济可行性3
2.3运行可行性4
第3章需求分析5
3.1业务流程图5
3.2网上订餐系统的需求分析6
3.3数据流图7
第4章总体设计8
4.1系统模块总体设计8
4.2数据库设计10
4.2.1数据库的详细设计10
第5章详细设计与实现17
5.1系统运行平台设置17
5.2运行环境17
5.3开发工具简介17
5.4系统首页设计17
5.5系统前台基本功能设计与实现18
5.5.1菜品展示模块设计与实现18
5.5.2购物车模块的设计与实现19
5.5.3收银台模块的设计与实现20
5.5.4查看订单模块的设计与实现21
5.6系统后台管理功能设计与实现22
5.6.1基本信息管理设计与实现22
5.6.2订单信息管理设计与实现23
5.6.3菜品信息管理设计与实现24
第6章系统测试与性能分析26
6.1购物车模块的测试26
6.2用户注册模块的测试26
6.3菜品管理模块的测试26
结论27
致谢28
参考文献29
基于JAVA的网上订餐系统的设计与实现
专业:
计算机科学与技术(职教师资班) 学号:
201013201294
学生姓名:
陈弘莉 指导老师姓名:
覃章荣
【内容摘要】本论文阐述的是基于B/S模式的SSH的JAVA技术下,自主完成网上订餐系统的设计与实现。
基于JAVA技术的网上订餐系统是通过网站来向顾客推荐餐馆提供的菜品和服务的一种系统,让客户随时都能了解餐馆和餐馆所供应的菜品,为客户提供在线订餐服务。
我们从长期的目标来观察,网上订餐系统不仅是菜品和服务的广泛应用,还是一个使用Internet将顾客与餐馆紧密结合在一起的系统,并且可以消除时间与空间带来的障碍,带给顾客美食的享受。
网上订餐系统还提供多种检索途径,可以从推荐菜品、热销菜品、最新菜品等不同的排行榜进行选择,快捷准确。
与传统菜品售卖方式相比,网上订餐系统能够提供大量的菜品信息。
网上订餐最杰出的长处是:
再也不会局限了消费者们的订餐时间和用餐地点,这样就能够扩大和巩固了客户群,继而增长了该餐馆的核心竞争力。
【关键词】菜品;在线销售;订单处理
第1章绪论
1.1课题背景
互联网的发展从本质上转变了全面社会的商品贸易方法,海内外各大餐馆从上个世纪90年代互联网兴起之时,就孕育了经过网络进行销售经营商品的宗旨。
网上订餐这一购物形式给人们生活带来的转变,除用餐场合的改变之外,更重要的是大大改变了传统的消费行为习惯,无管是否在网上订餐,还是上网查找菜品的相关信息,都能使人们足不出户就能吃到想吃的美食。
1.2目的和意义
在互联网上所有产品的分类信息中,食品类的产品信息无疑是最丰富的,一大批美食资讯类网站从中国互联网诞生初期就开始为网友提供大量一手信息。
以肯德基网上订餐系统为例,该网站的导购平台拥有五十多款菜品,如此多的菜品并仍在持续增长的量远非其他产品类别能及,极大地满足了用户对菜品信息的需求。
只需动动鼠标即可从菜品资讯页面跳转到网上订餐页面的便捷订餐模式,使得信息收集与订餐行为之间无缝对接。
随着近年来餐饮业和网络媒体的进一步合作,消费者从获取菜品信息到发生订餐行为的时空距离被进一步缩短,由此带来的巨大经济效益使得各大网上订餐平台越来越重视网上菜品的销售。
现如今,有很多热门网页都有网上订餐系统的路径链接,用户只要轻轻一点,就可以链接到网上订餐网站。
与传统方式销售相比在线销售有很多的优点如:
1.检索便捷
在线销售提供了多种检索途径,可以从分类、新品、特价等途径进行检索,快捷准确。
2.信息量大
与传统销售方式相比,在线销售能够提供更全面的菜品信息。
3.时间短,风险小,无地域限制
网络销售最突出的优点是:
不再限制消费者的购买时段,扩大和巩固了客户群,从而增加了餐馆的核心竞争力,节省消费者到餐馆购买所需要投入的时间。
可以看出网上订餐系统的主要目标便是使人们可以透过网站来推广互联餐馆的菜品和技术服务,还能让顾客随时随地了解餐馆和餐馆的菜品。
1.3系统设计思想
按照数据库管理系统的标准,特别是对网络管理系统的特别大的数据流,如网上订餐系统,就必需要满足顾客方便,操作灵活的要求。
本系统在设计时应该包含以下几个目标:
(1)全面展示所有菜品,并可展示最新菜品和特价菜品;
(2)有利于顾客快速地查询菜品信息;
(3)实现菜品销售排行功能,以方便顾客了解在线销售系统内的热销菜品及帮助餐馆领导者做出餐馆营销方案;
(4)系统公告公布网上订餐系统网站内的最新信息;
(5)顾客能够随时查看本人的订单信息;
第2章可行性分析
本网上订餐系统的目标确定后,我们将能够从技术可行性、经济技术可行性、运行可行性三个方面用于完成实现新系统目标进行可行性分析。
2.1技术可行性
凭借本网上订餐系统来测量我们所需投入的的技能有多少,我还将从电脑的硬件和软件的机能请求、运行环境的条件情况、还需要掌控参与人员的数量等方面去思考和解析。
我从各方面思考到本系统在实施的技术可行性,经过各方面考虑,在软件方面选择了当今社会比较主流的MyEclipse工具来进行开发设计,还搭配使用SQLserver2005数据库来存储数据。
我也同样从各方面思考到本系统在硬件方面开发的技术可行性,经过各方面考虑,必需选择空间比较大的、硬件的各方面配置相对比较高的,这样才能使本系统在开发与运行时保持一定的流畅性。
考虑到现在的家庭或企业的计算机硬件总体配置水平,所以可以知道系统硬件要求是可行的。
在软件方面,MyEclipse和SQLServer2005因为是两个非常成熟的开发工具,而且在安全性、可用性、可靠性方面毫无疑问,由此可知软件方面是可行的。
2.2经济可行性
软件的经济可行性是指一款软件开发设计时所投入的资金与它运行之后所带来的经济效益做的比较,是否合理,并且还要考虑到该款软件的投入使用之后给用户带来的经济效益有多少,本网上订餐系统是我认为能帮用户提高工作效率,节省工作时间,方便的控制和管理为目的而设计开发的。
本系统不需要大量的资金来开发,并能够个人独立设计,这样可以节省大量的成本,还可以提高人的实践能力。
2.3运行可行性
在当今社会,伴随着Internet技术在中国的飞速发展,当代人们的日常生活中已经广泛地运用Web技巧来为生活、工作和学习来进行便捷的服务。
大多数的餐馆为了扩大他们的规模,将他们的生意范围涉及到了外卖订餐,因为餐馆的客户很多,而且分布于各地,甚至还有市郊,网上销售食品的优点在于不会对顾客的区域给予限制,这样可以成功地解决地域问题所面临的压力。
网上订餐系统使用简单易行,是以使用前的培训也比较简便,本网上订餐系统网站的管理人员对开发保持着高度严谨的态度,且有成熟的管理方面的经验。
通过以上分析,运行方面是可行的。
第3章需求分析
3.1业务流程图
根据网上订餐系统的具体情况,通过对业务流程管理研究的过程是系统的信息流逐渐,考察实质涵盖了以下每个内容的处理方法、业务处理、信息流经去向、计算方法、信息来源、信息提供的时间和形态(报告、单据等)。
1.系统业务流图描述如下
(1)顾客浏览网站:
顾客经过浏览器登录到本网上订餐系统网站后,能够通过新品、推荐、热卖菜品排行的模块查看菜品及详细信息,同时顾客也可以按类别查看菜品。
另外,顾客可以阅读公告,排行榜等模块;
(2)用户注册及登录:
顾客如果需要在网站上购买菜品时,就必需要求进行用户注册,只有注册成功并且登录后,用户能够购买菜品;
(3)购物车处理:
用户在经过浏览菜品信息,可以选择要购买的菜品,并且可以将菜品添加到购物车,添加之后还可以再次添加、查看、移除、修改和清空整个购物车;
(4)收银台处理:
当用户已经确定需要购买购物车中选定的菜品时,可以通过收银台结账系统来填写相对应的订单的信息,这个订单信息将会生成订单信息的编号,如果完成在线下达订单,最后用户可以查看到订单;
(5)管理员后台处理:
本系统的管理员在后台登录后,将能够查看到已受理和未受理的订单还有订单的详细信息。
除此以外,管理员还能够对系统的每一项信息进行相应维护处理。
系统流程图如图3-1所示。
图3-1系统流程图
3.2网上订餐系统的需求分析
经过对各大网上订餐网站及实际菜品餐馆销售过程的考察、分析,要求本系统具有以下功能
(1)友好统一、易用的界面操作,用户可以更方便地操作;
(2)包含菜品信息的展现,利于浏览者对菜品信息进行浏览与比较;
(3)用户结账功能与购物车功能的完美结合;
(4)建立一个网站公告信息模块,使顾客可以及时了解网站的动态新闻、新的活动和其他信息的销售;
(5)订单信息查询功能、菜品信息查询功能;
(6)全面的后台管理功能,以方便管理员对网站信息进行更新与管理。
3.3数据流图
数据流图如图3-2所示
图3-2 数据流图
第4章总体设计
4.1系统模块总体设计
本系统总共分为两大模块前台和后台,在表面上两个模块之间是相互独立的,但是在对数据库的数据进行访问时,两个模块却是紧密相连的,它们都是访问的是同一个数据库的数据,只是所访问的表不同而已。
每个模块的功能是用调查收集的数据来生成的。
前台系统功能模块分为
(1)首页模块:
通过推荐菜品,热销菜品,最新菜品展示所有菜品;
(2)菜品信息模块:
按菜品的类别查询菜品的相关信息;
(3)购物车模块:
用户增添菜品至购物车,检查购物车中的菜品,从购物车中减除自己不喜欢的菜品,或者把购物车中的菜品全部清空,还可以修改购买的菜品的数量;
(4)收银台模块:
用户添加购物车中的菜品后,对其中的菜品进行结账的同时还需要填写订单信息;
(5)用户模块:
给用户注册、登录、资料修改以及密码找回的功能;
(6)订单查询模块:
查看自己的订单,了解当前及历史订单信息;
(7)公告浏览模块:
用户阅读公告信息,及时了解网站最新的信息。
(8)留言模块:
用户能给我们提宝贵意见,我们不断地改善中进步。
系统前台用户功能结构图如图4-1所示。
图4-1 系统前台用户功能结构图
后台系统功能模块分为
(1)菜品管理模块:
通过类别查看餐馆菜品,对菜品的信息进行维护;
(2)用户管理模块:
保护用户不间断的信息之间的差异,该模块和用户是管理员可以查看用户信息、删除操作;
(3)管理员维护模块:
这是维修管理员信息,管理员可以修改信息。
(4)订单管理模块:
管理员找到订单,核对订单的详细信息,删除订单信息,接受订货;
(5)公告管理模块:
可以提供管理员公告浏览和对公告信息进行维护为权利;
(6)评价模块:
管理员可以查看客户对菜品的评价,并对评价进行维护的操作。
系统后台管理员功能结构图如图4-2所示。
图4-2 系统后台管理员功能结构图
4.2数据库设计
对于本网上订餐网站来说,目标是努力支持相对自身而言及其大量的访问量所带来的数据访问的需求,如果运用桌面型的数据库管理系统是不可能满足这样大量访问所来带的需求的,而且数据库的安全性也没有充分保障。
因此本系统就是采用MicrosoftSQLServer2005数据库管理系统。
4.2.1数据库的详细设计
数据库E-R如图4-3所示。
图4-3数据库E-R图
根据此网上订餐系统的实际情况,本系统的数据库命名为Dish数据库为11张数据表。
(1)菜品信息表
此表用于记载网上订餐网站中的所有菜品的基本信息,是与菜品相关联的菜品的类别表。
如表4-1所示。
表4-1 t_dishInfo(菜品信息表)
序号
名称
别名
类型
长度(字符)
1
dishNo
菜品序号
varchar
20
2
dishClassObj
菜品编号
int
4
3
dishName
菜品名
varchar
20
4
dishPhoto
存放菜品图片
Varchar
50
5
dishPrice
菜品价格
float
4
6
dishCount
最新菜品
int
4
7
recommendFlag
推荐菜品
int
4
8
hotNum
热销菜品
int
4
9
onlineDate
上架日期
Varchar
10
(2)菜品类别信息表
此表用于记载菜品类别的基本信息,为方便用户查询菜品和管理员管理菜品信息而设立。
如表4-2所示。
表4-2t_DishClass(菜品类别信息表)
序号
名称
别名
类型
长度(字符)
1
classId
菜品编号
Int
4
2
className
种类名称
Varchar
20
(3)订单信息表
此表用于记载用户的基本的订单信息。
如表4-3所示。
表4-3 t_OrderInfo(订单信息表)
序号
名称
别名
类型
长度(字符)
1
orderNo
订单编号
Varchar
20
2
memberObj
下单会员
Varchar
20
3
orderTime
下单时间
Varchar
20
4
totalMoney
订单总金额
float
4
5
orderStateObj
订单状态
int
4
6
buyWay
付款方式
Varchar
20
7
realName
收货人姓名
Varchar
20
8
telphone
收货人电话
Varchar
20
9
postcode
邮政编码
Varchar
20
10
address
收货地址
Varchar
80
11
memo
基本操作
Varchar
50
(4)订单明细信息表
此表用于记载用户订单的详细信息,为用户供给了详细的菜品订单信息,并且也能为管理员出货提供用户所订的菜品的具体信息。
如表4-4所示。
表4-4 t_OrderDetail(订单明细信息表)
序号
名称
别名
类型
长度(字符)
1
detailId
订单ID
int
4
2
orderObj
订单编号
Varchar
20
3
dishObj
菜品编号
Varchar
20
4
price
菜品价格
float
4
5
count
菜品数量
Varchar
50
(5)用户信息表
此表用于记载用户的基本信息,它代表着用户购买菜品的权限基础。
如表4-5所示。
表4-5 t_MemberInfo(用户信息表)
序号
名称
别名
类型
长度(字符)
1
memberUserName
会员用户名
Varchar
20
2
password
登陆密码
Varchar
20
3
realName
真实姓名
Varchar
20
4
sex
性别
Varchar
2
5
birthday
出生日期
Varchar
10
6
telephone
联系电话
Varchar
20
7
email
联系邮箱
Varchar
40
8
qq
联系QQ
Varchar
20
9
address
家庭住址
Varchar
60
10
photo
会员照片
Varchar
50
(6)管理员信息表
此表用于记记载拥有差别的权限的管理员的根本信息,能够管理系统的全部信息。
如表4-6所示。
表4-6 t_admin(管理员信息表)
序号
名称
别名
类型
长度(字符)
1
userName
管理员名称
Varchar
20
2
userPw
管理员密码
Varchar
20
(7)公告信息表
此表用于记载系统公告中的基本信息。
如表4-7所示。
表4-7 t_Notice(公告信息表)
序号
名称
别名
类型
长度(字符)
1
noticeId
公告编号
Int
4
2
title
公告标题
Varchar
30
3
Notice_[content]
公告内容
Varchar
80
4
publishDate
公告创建时间
Varchar
10
(8)菜品评价信息表
此表用于记载客户对菜品评价。
如表4-8所示。
表4-8 t_Evaluate(菜品评价信息表)
序号
名称
别名
类型
长度(字符)
1
evaluateId
评价id
Int
4
2
dishObj
评价标题
Varchar
20
3
memberObj
评价用户
Varchar
20
4
Evaluate_[content]
评价内容
Varchar
50
5
evaluateTime
评价时间
Varchar
20
(9)购物车表
此表用于记载客户的购买菜品信息。
如表4-8所示。
表4-9 t_DishCart(购物车表)
序号
名称
别名
类型
长度(字符)
1
cartId
订单序号
int
4
2
memberObj
用户
Varchar
20
3
dishObj
菜品名称
Varchar
20
4
price
菜品价格
float
4
(10)付款方式表
此表用于记载客户的付款方式信息等。
如表4-8所示。
表4-10 t_OrderState(付款方式表)
序号
名称
别名
类型
长度(字符)
1
stateId
付款方式id
Int
4
2
stateName
付款方式
Varchar
20
(11)是否表
此表用于记录是或否信息。
如表4-11所示。
表4-11 t_YesOrNo(是否表)
序号
名称
别名
类型
长度(字符)
1
id
id
Int
4
2
name
评价内容
Varchar
20
第5章详细设计与实现
5.1系统运行平台设置
本系统的运行平台设置分为硬件环境和软件环境。
5.2运行环境
(1)硬件环境
计算机系统的硬件环境配置为处理器Pentium7100,内存1024M,硬盘4G。
(2)软件环境
计算机系统的环境配置为,软件包括了WindowsXP操作系统,SQLServer2005数据库和JDK1.5、Tomcat6.0服务器、MyEclipse6.0开发工具包。
5.3开发工具简介
开发工具:
MyEclipse6.5
数据库:
SQLServer2005
5.4系统首页设计
本系统网站的主界面设计结构采用了上中下的结构,上部分为餐馆名称,中间为功能模块县市区,下部为菜品信息榜。
界面设计如图5-1所示。
图5-1 系统首页
5.5系统前台基本功能设计与实现
5.5.1菜品展示模块设计与实现
本系统提供两种展示产品的形式。
一种是菜品信息查询,一种是推荐菜品、热销菜品和最新菜品的展台。
界面的设计如图5-2所示。
图5-2 销售排行模块
5.5.2购物车模块的设计与实现
用户将自己喜欢的菜品添加到购物车,并且能够在购物车中查看,还能对删除菜品等。
当用户决定购买某菜品后,可以去收银台页面进行结账。
购物车流程图如图5-3所示。
图5-3 购物车程序流程图
当用户购买菜品时主要运用到的功能是购物车和订单提交。
购物车模块的设计包括:
用户添加菜品到购物车和顾客对购物车的管理。
购物车能够显示出海量的菜品信息。
界面的设计如图5-4所示。
图5-4 购物车模块
5.5.3 收银台模块的设计与实现
每一位用户都可以在自己选取完菜品后,在购物车页面对购物车中菜品进行确认,即结帐,点击下一步,这样就能够将当前的页面跳转到结账页面。
当跳转到结帐页面,也要求用户自己填写联系地址、联系电话、付款方式和备注信息,以便于系统自动生成订单。
当用户完成一次交易所需要的方方面面的信息时,仅仅需要生成订单便能够进入配送过程。
如果用户所填写的订单信息正确,系统会返回给用户此次交易所产生的订单号码。
界面的设计如图5-5所示。
图5-5 结账模块
所属页面名:
OrderInfo_fronmyorderview.jsp
表单属性:
/OrderInfo/OrderInfo_AddOrderInfo.action"name="dishCartQueryForm"method="post">
页面设计如表5-5所示。
表5-5 收银台主要控件信息列表
名称
类型
含义
MenberName
Text
收货人账号
Realname
Text
收货人姓名
Telphone
Text
收货人联系电话
Address
Text
收货人地址
5.5.4查看订单模块的设计与实现
用户填写完订单并提交成功后能够利用查看订单按钮看到自己的订单及详细信息。
界面的设计如图5-6所示。
图5-6 查看订单模块
所属页面名:
OrderInfo_fronquery_result.jsp
/OrderInfo/OrderInfo_QueryOrderInfo.action"name="orderInfoQueryForm"method="post">
5.6系统后台管理功能设计与实现
5.6.1基本信息管理设计与实现
该功能重要分布在管理员信息、用户信息、菜品类别信息,订单信息,公告信息和评价信息的处理。
对这些信息操作的重要功能详细设计包括对它们的添加、删除、更新和查询等操作,需要区别开的在基本信息中的每一个页面中设计这些功能。
当我们进行增添、删除和更新操作这些根本信息时,就必需将返回到本系统的数据库中来保存这些操作所执行的结论,并且能在相应的页面中来刷新和显示新保存的结果。
有必要用SQL语句将这些信息添加到数据库中。
模块的输出是掌控信息成功的提示信息。
关于在某一页面中的查询功能,此页面要能够刷新显示出此查询结果信息。
以客户信息管理理为例。
界面的设计如图5-7所示。
图5-7 客户信息管理模块
所属页面名:
MemberInfo_query_result.jsp
本系统中的客户管理所使用就是一定的方法来删除和获取数据库中的数据。
进入客户管理界面来显示所有用户的信息,点击删除时,通过获取指定的用户ID,使用sql语句进行操作。
5.6.2订单信息管理设计与实现
为了用户订单信息和订单明细信息的管理功能所进行的一系列的详细设计,它的主要功能就是检查、删除和受理用户订单信息和订单明细信息的的操作。
管理员应该可以查看未处理订单信息处理和查看系统,在不同的页面显示用户订单信息和订单详细信息。
界面的设计如图5-8所示。
图5-8 订单管理模块
所属页面名:
OrderInfo_query_result.jsp
订单管理模块中使用了Action中的方法,在某一