网上订餐系统毕业设计.docx
《网上订餐系统毕业设计.docx》由会员分享,可在线阅读,更多相关《网上订餐系统毕业设计.docx(34页珍藏版)》请在冰豆网上搜索。
网上订餐系统毕业设计
网上订餐系统毕业设计
网上订餐系统的设计与实现
摘要:
随着信息技术在企业经营管理上越来越深入而广泛的应用,网络的发展给我们带来了无限的商机与便利。
网上订餐的发展是由社会进步和经济发展决定的,是人民生活水平提高与生活方式改善的迫切需要。
本课题针对餐饮行业现阶段的实际需求,采用ASP技术与Access数据库,设计和开发了一套小型网上订餐系统。
系统包括两大主要模块:
前台模管理模块和后台管理模块。
通过这两大主要模块完成店铺和商品相关信息浏览、管理及查询、会员信息的注册及管理、订单信息管理、留言信息管理和新闻浏览等主要功能。
关键词:
B/S模式;Access数据库;Dreamwever;ASP
TheDesignandImplementationof
onlinemealorderingsystem
Abstract:
Withtheinformationtechnologyinbusinessmanagementmoreandmorein-depthandwiderangeofapplications,networkdevelopmenthasbroughtusunlimitedbusinessopportunitiesandconvenience.OnlineOrderingisthedevelopmentofsocialprogressandeconomicdevelopmentdecisions,istoimprovepeople'slivingstandardandlifestyleimprovementsareurgentlyneeded.Inthispaper,theactualneedsofthecateringindustryatthisstage,andtheAccessdatabaseusingASPtechnology,designedanddevelopedasmallonlineorderingsystem.Thesystemincludestwomainmodules:
frontandbackofficemanagementmodulemodemanagementmodule.Thisisdonethroughtwomainmodulesrelatedinformationvisitshopsandmerchandise,managementandquery,membershipinformation,registrationandmanagement,orderinformationmanagement,messageinformationmanagementandinformationbrowsing,andothermajorfunctions.
Keyword:
B/Smodel;Accessdatabase;Dreamwever;ASP
第一章引言
随着信息技术的飞速发展,计算机的信息管理系统被广泛的应用于各行各业。
管理信息系统是进行信息的采集,存储,加工,维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。
现在订餐网站是一个餐饮单位必不可少的部分,餐饮网站能够为用户提供充足的饮食信息和快捷的订餐手段,对顾客来说可以轻松的获取与餐饮相关的信息和订餐的相关资料等。
但是一直以来人们都是靠传统人工的方式管理快餐,这种管理方式存在着许多缺点,如:
效率低、保密性差;另外时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难。
贸易的全球化和Internet网络的全球化特征使两者很自然的走到了一起,形成了如今风靡全球的电子商务。
电子商务是指应用电子信息技术和现代Internet网络技术在客户、厂商及其他交易主体之间进行的以信息为依托的商务活动,而购物网站正是这种活动的具体表现形式。
随着生活“e时代”的到来,上网的人数越来越多,网上订餐将是人们的生活方式之一,网上订餐系统的完善和便捷将是现代社会必然的需求。
第二章订餐系统的相关技术介绍
2.1系统开发和运行、调试环境
为了方便系统开发,减少开发过程的难度,系统基于以下的环境:
(1)开发工具:
Access2000,Dreamwever,ASP。
(2)运行环境:
Windows2000或更高版本。
(3)调试环境:
服务器端在执行ASP语言编写的网页前,必须先安装IIS服务器。
客户端只要是普通的浏览器即可,如InternetExplorer5.0或更高版本。
2.2开发工具介绍
2.2.1ASP简述
ASP(动态服务器页面,ActiveServerPages)是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,是运行于IIS之中的程序。
ASP具有以下特点:
(1)全嵌入HTML,与HTML及Script语言完美结合;
(2)面向对象,并可扩展ActiveServer组件功能;
(3)可使用多种语言编写自己的ActiveServer组件;
(4)适用ADO对象,存取数据库轻松容易;
(5)无需手动编译或链接程序;
(6)程序代码隐蔽,在客户端仅可看到由ASP输出的HTML文件;
(7)无浏览器兼容问题,无论是InternetExplorer,还是谷歌浏览器等,都可以正确浏览用ASP编写的网页;
(8)开发工具种类繁多,使用最简单的Windows记事本就可以编辑设计,而通过选择面向对象的Dreamweaver等工具软件,可以明显提高开发效率。
2.2.2IIS简述
由Microsoft推出的IIS(InternetInformationServer)成为当今使用最广泛的Web服务器之一。
由于具有与操作系统的亲和性并继承了Microsoft产品一贯的用户界面,使IIS成为功能强大,使用方便的Web服务器。
(1)IIS5.1提供的基本服务
WWW服务:
支持最新的超文本传输协议(HTTP)1.1标准,运行速度更快,安全性更高,还可以提供虚拟主机服务。
WWW服务是指在网上发布可以通过浏览器观看的用HTML标识语言编写的图形化页面的服务。
IIS5.1允许用户设定数目不限的虚拟Web站点。
FTP服务:
支持文件传输协议(FTP)。
主要用于网上的文件传输。
IIS5.1允许用户设定数目不限的虚拟FTP站点,但是每一个虚拟FTP站点都必须拥有一个唯一的IP地址。
IIS5.1不支持通过主机名区分不同的虚拟FTP站点。
SMTP服务:
支持简单邮件传输协议(SMTP)。
IIS5.1允许基于Web的应用程序传送和接收信息。
启动SMTP服务需要使用NT操作系统的NTFS文件系统。
(2)IIS5.1运行环境
硬件:
最低配置:
486/50以上,16M内存,50M硬盘空间建议配置:
P90,32-64M内存,200M硬盘空间
软件:
NTServer5.0,ServicePack3,IE浏览器(5.0以上版本),支持TCP/IP协议
2.2.3Dreamwever简述
本系统采用Macromedia公司的Dreamwever开发工具,它采用“所见即所得”的可视化编辑方式,通过特有的行为、摸板、时间轴等技术,使用户能够快速高效地创建各种具有专业水平的网页,而不需要编写任何代码。
如果需要在代码界面进行工作,只需要进入HTML代码窗口或源代码检视器中,即可同步看到Dreamwever生成器的源代码。
在这个代码窗口中,可以编辑任何内容,也可以方便地返回可视化编辑器。
Dreamweaver拥有出色的软件界面,其特别的控制面板使设计者们用起来得心应手,Dreamweaer还能与Macromedia公司的其他软件进行完美的合作。
Dreamweaver最精彩之处便是其强大的多媒体处理功能,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。
2.2.4Access简述
数据库应用系统开发的目标是建立一个满足用户长期需求的产品。
开发的主要过程为:
理解用户的需求,然后,把它们转变为有效的数据库设计。
把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。
根据系统功能需求,数据采用Access2000它完全可以适合工作需求,并且它所支持的数据类型十分丰富,维护简便,费用比较低,人员素质要求不是很高,容易操作Access2000是office办公集成软件中的小型关系数据库信息处理系统,和其他关系数据库相比,最大的优点是简单易学以及操作方便以及易于和其他办公软件交换数据,从而得到了广泛的应用。
第三章可行性分析
可行性研究的目的是使用最小的代价在尽可能短的时间里确定问题是否能解决,通过分析网站的规模与目标,我们具体从下三个方面考虑。
(1)技术可行性
Asp和Access数据库这两个开发工具到现在已经运用了很多年了,它们的技术到现在已经相当成熟,本系统所要设计的功能,加上有指导老师的指导和查找相关参考文献,各功能模块在技术上完全是可以实现的,就开发的实际情况来看,技术上是可行的。
(2)经济可行性
在经济上,用此网站方便顾客购买饮食类产品,为其节约成本。
同时本网站的开发费用,应用的软件,数据库管理软件,都比较合理。
(3)社会可行性
该系统符合现有法律、法规和政策方面的限制,没违背当今社会的道德标准,社会可行性通过。
综上所述,开发网上订餐系统是可行的。
第四章需求分析
4.1数据流分析
(1)网上订餐系统的数据流程图符号如图4-1:
图4-1
(2)系统顶层数据流程图如图4-2所示
图4-2顶层数据流图
图4-3网上订餐系统0层图
图4-4网上订餐系统1层图(会员购买)
图4-5网上订餐系统1层图(菜品管理)
图4-6网上订餐1层图(订单管理)
图4-7网上订餐系统1层图(人员管理)
第五章系统总体设计
5.1系统功能概述
根据客户的需求,网站前台系统主要包括以下功能模块。
(1)会员中心模块:
主要用于在会员登陆后、修改个人资料、修改登陆密码、使用购物车、查询提交的订单和查看个人消费情况。
(2)客户留言模块:
主要用于用户向网站发布留言和反馈信息及对菜品的评价。
(3)联系我们模块:
主要用于提供与本网站联系的各种方式。
(4)会员登录模块:
主要用于会员登录,登录后可以购买菜品或者查看资料。
(5)站内公告模块:
主要用于发布网站所提供的部分菜品信息以及购买菜品的优惠信息。
(6)销量排行模块:
主要用于展示菜品销量排在前几位的菜品信息。
根据需求分析,网站后台系统包括以下功能模块。
(1)信息管理模块:
主要包括管理员信息管理。
(2)菜品信息管理模块:
主要包括菜品信息的添加、修改和删除。
(3)菜品分类管理模块:
:
主要包括菜品类别信息的添加、修改和删除。
(4)用户信息管理模块:
主要包括查询和显示用户注册信息以及查看用户消费信息。
(5)订单信息管理模块:
主要包括查看所有用户提交的订单信息,根据不同条件查询订单信息,并在执行阶段对订单进行标记处理。
(6)公告信息管理模块:
主要包括站内公告信息的添加、修改和删除。
(7)留言信息管理模块:
主要包括查看用户发布的留言和删除留言。
综合可知,系统的功能模块图如图5-1所示:
图5-1功能模块图
5.2数据库的设计
E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
系统中主要涉及的实体有后台管理员、会员、订单、菜品、公告五个实体。
(1)管理员实体属性图如图5-2所示。
该实体的属性有管理员ID、管理员名、密码。
图5-2
(2)会员实体属性图如图5-3所示。
图5-3
(3)菜品实体属性图如图5-4所示:
图5-4
(4)公告实体属性图如图5-5所示:
图5-5
(5)系统全局E-R图如图5-6所示
图5-6E-R图
5.3数据表设计
通过对系统的需求分析,设计了含有5个表的数据结构,其中包括;
(1)公告表;用来存储网站的公告信息;
(2)管理员表,用来存储网站管理员信息;(3)菜品表,用来存储网站菜品信息;(4)订单信息表,用来存储网站订单详细信息;(5)会员注册信息表,用于存储会员的注册信息。
(1)公告表:
用来存储网站的公告信息,如图5-1所示,里面包括4个字段编号、题目、内容、插入时间,并定义合理的字符长度。
表5-1公告表
序号
字段名
注释
类型
字符长度
1
公告ID
编号
Int
4
2
title
题目
Varchar
100
3
comtemt
内容
Varchar
4000
4
INTime
插入时间
Datetime
8
(2)管理员表;用来存储网站管理员信息;如表5-2所示,里面包括3个字段编号、管理员名、管理员密码。
表5-2管理员表
序号
字段名
注释
类型
字符长度
1
管理员ID
编号
Int
4
2
mamager
管理员名
Varchar
30
3
PWD
管理员密码
Varchar
30
(3)菜品信息表:
用来存储网站菜品信息,如表5-3所示,包括11个字段编号、菜品名称、所属大类、市场价、会员价、图片资料、菜品简介、插入时间、库存量、销售量、是否推荐。
表5-3菜品信息表
序号
字段名
注释
类型
字符长度
1
菜品ID
编号
Int
8
2
Gname
菜品名称
Varchar
50
3
Gclass
所属大类
Int
4
4
Gmprice
市场价
Float
8
5
Ggprice
会员价
Float
8
6
Gpicture
图片资料
Varchar
7
Ginto
菜品简介
Text
200
8
Gdate
插入时间
Date
8
9
Gstore
库存量
Int
4
10
Gsale
销售量
Int
4
11
Gcommend
是否推荐
Int
2
(4)订单信息表,用来存储网站订单详细信息,如表5-4所示,包括15个字段编号、会员名、菜品名称、数量、单价、折扣率、运输方式、应收金额、收货人姓名、收货人地址、收货人邮箱、付款方式、提交时间、执行状态。
表5-4订单信息表
序号
字段名
注释
类型
字符长度
1
订单ID
编号
Int
4
2
Uname
会员名
Varchar
16
3
Gname
菜品名称
Varchar
200
4
Gnum
数量
Int
4
5
Gprice
单价
Float
8
6
Udiscount
折扣率
Float
8
7
Otransport
运输方式
Varchar
16
8
Omoney
应收金额
Float
8
9
Oname
收货人姓名
Varchar
16
10
Otel
收货人电话
Varchar
30
11
Oaddress
收货人地址
Varchar
200
12
Oemail
收货人邮箱
Varchar
100
13
Opay
付款方式
Varchar
50
14
Odate
提交时间
Datetime
8
15
Ostate
执行状态
Varchar
50
(5)会员注册信息表,用于存储会员的注册信息,如表5-5所示,包括11个字段编号、会员名、性别、密码、密码提示问题、问题答案、注册时间、真实姓名、联系方式、邮箱、通信地址。
表5-5会员注册信息表
序号
字段名
注释
类型
字符长度
1
会员ID
编号
Int
4
2
Uname
会员名
Varchar
16
3
Usex
性别
Varchar
2
4
Upasswd
密码
Varchar
30
5
Uquestion
密码提示问题
Varchar
30
6
Uanswer
问题答案
Varchar
30
7
Udate
注册时间
Datetime
16
8
Utname
真实姓名
Varchar
8
9
Utel
联系方式
Varchar
30
10
Uemail
邮箱
Varchar
100
11
Uaddress
通信地址
Varchar
100
第六章系统的实现
6.1前台首页的实现
前台页面承载并显示网站前台所包含的模块,使浏览者能够了解网站内容和特点。
前台首页的运行结果如图所6-1所示:
图6-1前台首页
6.2菜品展示模块的实现
菜品展示页面,主要是根据传递的参数不同确定相应的SQL查询语句,显示菜品基本信息以及图片信息。
关键程序代码如下:
<%
classid=Request.QueryString("classid")
classname=Request.QueryString("classname")'获取大类名称
Ifclassid<>""Thenpstr=classname
%>
根据获取到的参数值,确定Select查询语句。
关键程序代码如下:
<%
Setrs=Server.CreateObject("ADODB.Recordset")
sqlstr="selectid,Gname,Gmprice,Ggpricefromtab_goodswhere1=1"
Ifclassid<>""Thensqlstr=sqlstr&"andGclass="&classid&""
sqlstr=sqlstr&"orderbyiddesc"
rs.opensqlstr,conn,1,1
%>
在菜品展示页面中,直接读取数据库中的菜品对应的图片信息,代码如下:
<%
Subgoods()
Setrs=Server.CreateObject("ADODB.Recordset")
id=Request.QueryString("id")
sqlstr="selectGpicturefromtab_goodswhereid="&id&""
rs.opensqlstr,conn,1,3
Response.ContentType="image/*"
Response.BinaryWriters("Gpicture").getChunk(8000000)
rs.close
Setrs=Nothing
EndSub
%>
菜品展示页面运行结果如图6-2所示:
图6-2菜品展示
6.3购物车的实现
购物车的主要功能是保留会员选择的菜品信息。
会员可以再购物车内设置选购商品的数量,显示选购菜品的总金额,还可以清除现则的全部菜品信息,重新选择商品信息。
在购物车页面中设置Session变量以存储用户选择的菜品ID编号,根据菜品ID编号以列表形式显示选择的菜品信息。
关键程序代码如下:
<%
id=Request("id")
shopping=Session("shopping")
ShopBagid,shopping'执子过程ShopBag(id,shopping)
Session("shopping")=shopping'将获得的菜品ID存储在Session变量中
SubShopBag(id,shopping)'定义子过程,将选择的菜品ID存储于变量shopping中
IfLen(shopping)=0Then
shopping=id
ElseIfInStr(shopping,id)<=0Then
shopping=shopping&","&id&""
EndIf
EndSub
IfNotIsempty(Request("money"))Then'去订购
idstr=Request.Form("id")
Response.Write("window.open('User_order.asp?
idstr="+idstr+"','订购','height=550,width=580');")
EndIf
IfNotIsempty(Request("clear"))Then'清空购物车
Session("shopping")=""
Response.Write("")
Endif
%>
购物车页面运行结果如图6-3所示
图6-3购物车页面
6.4订单生成的实现
订单生成的主要功能是根据会员在购物车页面提交的菜品信息,为会员提供填写订单的平台,然后将会员选购的菜品信息以及订单信息存储在数据库中。
订单生成页面接收在购物车页面中传递的参数,包括选择的所有菜品的ID编号,对应的菜品名称、菜品单价和菜品数量,并以列表形式展现给用户,使用户再次确定选择的菜品信息。
在该页面中会员通过填写表单信息提交本下次订单信息,订单信息由网站后台系统管理员进行处理。
关键程序代码如下:
<%
idstr=Request.QueryString("idstr")'获得会员选择的所有菜品ID编号
Setrs=Server.CreateObject("ADODB.Recordset")
sqlstr="selectid,Gname,Ggpricefromtab_goodswhereidin("&idstr&")"
rs.opensqlstr,conn,1,1
whilenotrs.eof
Num=Session(rs("id"))'获得会员选定菜品的数量
%>
<%
sum=sum+rs("Ggprice")*Num*Session("User_discount")
IfGoods_name=""ThenGoods_name=rs("Gname")ElseGoods_name=Goods_name&","&rs("Gname")
IfGoods_price=""ThenGoods_price=rs("Ggprice")ElseGoods_price=Goods_price&","&rs("Ggprice")
IfNumstr=""ThenNumstr=NumElseNumstr=Numstr&","&Num
rs.movenext
wend
Session("Goods_name")=Goods_name
Session("Goods_price")=Goods_price
Session("Numstr")=Numstr
Session("sum")=sum