网上订餐系统的设计与实现

网上订餐系统的设计与实现
网上订餐系统的设计与实现

开封大学

毕业设计(论文)

题目__ 网上订餐系统

学生姓名

专业班级

学号

院(系)

指导教师(职称)

完成时间 2014 年04月11日

目录

论文摘要 (3)

一、引言 (4)

二、系统概述 (5)

(一)可行性分析 (5)

(二)需求分析 (5)

1.用户需求分析 (6)

2.管理员需求分析 (6)

3.系统用例图 (6)

(1)用户用例图 (6)

(2)管理员用例图 (6)

(三)功能描述 (7)

三、系统总体设计 (7)

(一)系统设计 (7)

1.逻辑结构分析 (7)

2.功能模块划分 (8)

3.系统流程概述 (9)

4.系统主要类图 (9)

(二)系统流程 (10)

1.前台界面 (10)

2.后台界面 (11)

(三)数据库设计 (11)

1.数据库的概念设计 (11)

(1)管理员实体 (11)

(2)用户实体 (11)

(3)餐品实体 (12)

(4)订单实体 (12)

(5)系统总E-R图 (13)

2.数据库的逻辑设计 (13)

3.数据库的物理结构设计 (14)

(1)用户信息表(userinfo) (14)

(2)管理员信息表(admininfo) (14)

(3)餐品信息表(canpininfo) (15)

(4)订单信息表(orderinfo) (15)

四、系统详细设计与实现 (16)

(一)运用平台或环境 (16)

(二)实现主要技术简介 (16)

1.JavaServer Pages (JSP)技术 (16)

2.最佳JSP应用服务器Tomcat (17)

3.JDK配置 (17)

4.Myeclipse简介 (17)

5.SQL Server 2005 简介 (18)

6.Servlet简介 (18)

(三)数据库的连接 (19)

(四)系统详细设计(界面设计) (20)

1.用户登录界面 (20)

2.用户注册界面 (21)

3.用户查看购物车界面 (22)

4.用户生成订单界面 (24)

5.管理员修改餐品信息界面 (26)

(五)实现方法 (27)

1.系统配置 (27)

2.页面设计 (27)

3.用户管理 (27)

五、结束语 (28)

致谢 (29)

参考文献 (29)

网上订餐系统的设计与实现

论文摘要

网上订餐系统是用户实现网络交易的一种方式。设计和实现了一个B/S结构的网上订餐系统,着重论述了系统的功能与实现、数据流程及存储。包括餐品信息介绍、网上订餐、用户登录、用户注册、以及对订餐车的操作,包括将餐品加入购物车和从购物车中将餐品删除等功能,当用户决定订购后,可以点击购物车中确认订购一项,生成订单提交给后台数据库,用户也可以查询自己订单的状态查看是否订单应经被受理等。使用图文并茂(功能代码及截图)的方式,对整个网上订餐系统功能模块的实现方法进行阐述和分析。本系统主要是针对那些具备计算机管理工作条件的餐饮企业助其快速开发一个界面友好、与客户交互方便的网上订餐系统,以拓展餐饮企业的服务对象,增加信息流通量,减少人工干预,提高信息反馈速度。它能够实现普通用户通过互联网订餐,节省购餐时间等功能。其前台运用JavaScript技术、servlet、jsp开发语言,实现用户订餐页面友好的界面互动,主要通过SQL Server 2005、Tomcat、jdbc等实现数据库的连接。

关键词网上订餐系统 SQL Server 2005 jsp servlet

网上订餐系统的设计与实现

XXX

(XX大学 XXXX学院 XXXXX专业)

一、引言

人类的文明始于饮食,西汉司马迁在《史记·郦生陆贾列传》中写道:“王者以民人为天,而民人以食为天”。可见饮食在人类生活中占有十分重要的地位。离开饮食将无法生存,当然也就谈不上社会的存在和各种文化现象的发展。人类的饮食文明,经过生食、熟食、烹饪三个阶段。随着社会的发展,食物种类的丰富,人们开始注重食物的色、香、味、形,烹调方法上也有了千变万化,在中国的烹调技艺上,发展出了“炸、炒、熘、爆、炖、煸(bian)、煮、焖、烤、烧、扒、烩、煎、涮、蒸等多种制作方法,并形成了“鲁菜、苏菜、粤菜、川菜、浙菜、闽菜、湘菜、徽菜八大菜系,餐饮已作为一个行业存在于现代文明社会中,成为国民经济的重要组成部分。

二十一世纪是信息化、知识化的世纪,随着社会的进步、计算机应用的迅猛发展和网络应用的不断扩大,使传统的订餐形式得到了极大的扩充,使人们订餐更加的便捷。基于Java Web的网上订餐系统,就是这样一种基于计算机网络的网上订餐形式,它的出现,大大地扩展了现行的订餐方式,使餐饮摆脱了空间上和时间上的约束,无论谁,只要会上网,都可以坐在电脑前面,方便地进行上网订餐,可以说是对餐饮业的一次革命。相比传统的订餐方式,网上订餐系统的主要优点是:

便捷性。网上订餐系统使用非常方便,只要是能够上网的地方,人们都能够轻松使用系统的所有功能。在传统的订餐方式中,顾客要么是到餐馆去,但是由于可能工作忙而没有时间去餐馆,这样餐馆就失去了一名顾客,而打电话,也会有一定的费用。而使用了网上订餐系统后,这些问题都没有了。

可扩展性。而今网络技术突飞猛进,发展迅速,新技术的产生速度是以前的数十倍。网上订餐给顾客留下非常深刻的视觉印象,增加潜在的订餐顾客。所以可以肯定地说,网上订餐的前景是非常广阔的,可扩展性非常的好。

因此,开发一个餐馆信息系统是十分必要的,通过前台的菜品信息展示,通过购物车的模式形成餐饮企业的电子商务平台,通过后台整合餐饮的供应链,提高其在信息化

条件下的管理水平,对现在激烈竞争的餐饮行业中求发展的餐饮企业来说,无疑是一个福音。

二、系统概述

本系统的全称为网上订餐系统,系统的设计目的是为了满足消费者只要通过互联网就可以足不出户的订购自己喜欢的餐品,改变传统的商业交易方式,让消费者在互联网上就可以进行交易,实现网上购买餐品,同时也提高了各个餐饮店的利润,并方便了饭店对餐饮的管理.

(一)可行性分析

随着全国的物质、精神和文化生活的高度提高,人们已经不再仅仅停留在吃饱的程度,而人民是不但要吃饱,还要吃好,并且越来越挑剔,也正因为如此,网上订餐业务的出现,正好迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜种,品尝不同风格和不同种类的菜品,网上订餐业务在中国有着极大的发展空间和良好的发展前景。

网上订餐业务的兴起,折射出餐饮业善抓机遇、抢占利润第二落点的经营理念,同时也显示出消费者在日常所需中,运用网络观念的意识正逐渐增强。但比起如今火爆的网上购物,网上订酒店住宿等服务,网上订餐服务在一些餐饮企业中仍未引起足够的重视,对于消费者来说,许多人对这一新兴业务尚缺乏了解,这种现象,在一些中小城市表现较突出。对于广州、北京、上海等大城市,由于网上订餐服务起步较早,一些餐饮企业的网上经营已逐步走上正轨,其网上订餐的经营份额已占一定比例,给先行一步涉足网上订餐的企业带来滚滚财源。

综上所述,决定运用Java和SQL Server 2005设计网上订餐系统。Java可以创建与运用动态、交互的WEB服务器应用程序。SQL Server 2005是一个杰出的数据库平台,具有功能强大,安全可靠等优点。

(二)需求分析

随着中国互联网的兴起,中国网名应经有几亿多,越来越多的人,尤其是白领、蓝领,越来越喜欢在网络上订餐,网上订餐更加直观,餐厅利用互联网,既可以在互联网上宣传自己的餐厅,又可以为自己赚取更大的利润额。

1.用户需求分析

用户的需求主要包括:用户登录、用户注册、对餐品的浏览、对餐品信息的详细了解、把想订购的餐品放入购物车、如果确定订购则生成订单。

2.管理员需求分析

管理员的需求主要包括:管理员登录、管理员注册、对用户订单的管理、对餐品信息的修改与删除、对其他管理员的信息的管理、对会员信息的管理。

3.系统用例图

(1)用户用例图

用户的主要成员是社会工作人员,其次是学生或家庭人员,他们可以通过注册获得一个账户,用于本系统的登录,那么用户在此系统中的功能有哪些呢?首先,无论是用户还是管理员都需要使用自己的用户名和密码登录本系统,以此来保证系统的安全性。然后用户就可以浏览本系统中的所有餐品并可以查看每个餐品的详细信息,可喜欢的餐品放入购物车中,选择结束后可在购物车中生成餐品订单,也可以删除各个餐品。通过以上分析,画出的用户用例图如下图所示:

图1:用户用例图

(2)管理员用例图

管理员作为系统的维护者,随本系统所能做的操作有:可以对用户信息进行管理,具体操作是对用户信息进行删除;管理员也可以对餐品信息进行更改与删除工作;对对用户所下的订单进行送餐处理;也可以通过一个管理员进行注册新的账户,对系统中其

他管理员信息科进行更改和删除工作。通过以上分析,画出的管理员用例图如下图所示:

图2:管理员用例图

(三)功能描述

系统采用B/S模式来实现客户端对服务器端的调用,所谓B/S模式即浏览器/服务器模式,数据库采用SQL Server 2005数据库开发工具, 开发工具采用Dreamweaver,采用 JavaScript的脚本进行编程。本系统基于Java Web技术,只要能连接Internet,就能访问本系统。本系统能够提高餐饮企业的管理效率,降低餐饮企业运营成本,填补了国内空白,符合当前低碳生活的主题,为世界环境的发展做出了卓越的贡献。

三、系统总体设计

(一)系统设计

系统设计主要包括:逻辑结构分析、功能模块划分、系统流程概述、系统用例。具体设计如下:

1.逻辑结构分析

Web站点系统的体系结构大致可分为三层逻辑结构,即浏览器—Web服务器—数据库服务器(Browse—Web Server—DB Server)。其中Web服务器又被细分为前端和后端两部分。三层结构将用户界面、应用逻辑和数据管理三者之间彻底分离,彼此独立,各司其职。用户端通过URL与Web服务器建立网络连接,将Web服务器上的信息下载到客户端浏览器上进行访问。而应用逻辑层则通过JDBC和数据库服务器进行数据交换。如下图:

图3:Web站点系统体系结构图

2.功能模块划分

本系统设计的目标是实现网络订餐,该系统能够实现用户的登录与注册,简便的商品查看,购物车式的商品选购,用户生成订单,在系统的后台,管理员可以处理用户订单,对用户进行操作,并可以对商品信息进行管理。

系统需要提供的主要功能如下:

*用户登录后可以浏览商品信息,也可以注册账户成为会员

*管理员可以对商品进行更改与删除操作

*管理员可以对用户进行删除操作

*管理员可以对用户订单进行送餐操作

*用户可以对想要订购的餐品进行下定单操作

*用户可以查询餐品的详细信息

具体显现如下图所示:

图4:系统设计图

3.系统流程概述

在前台本系统需要用户先进行登录,登录成功后用户可以查询网站内所有餐品的信息,如果想进一步了解餐品,也可以点击商品旁的详情,查看餐品的详细信息,用户如果想要订购餐品,则可以在餐品旁的订购处点击订购,订购完成后可以在购物车中对所选定的餐品进行删除与生成订单的操作,订单生成后用户完成所有订餐流程。在后台,管理员需要先登录才可以对用户、餐品、订单等进行管理,否则不可以对后台进行操作。

具体的前台/后台系统流程如下两图所示:

图5:后台流程图

图6:前台流程图

4.系统主要类图

图7:用户类图和管理员类图

图8:餐品类图和订单类图

(二)系统流程

1.前台界面

用户需要先登录,登录成功后可以查看所有公布的餐饮信息,也可以查看餐品的详细信息,加入购物车,并进行选购,当查看购物车时,如果有些餐品不想定购了,也可以将此餐品从购物车中删除,或清空购物车,如果想要订购则可以点击生成订单。如果还没有账户,你可以先进行注册,然后再进行登录。

2.后台界面

管理员需要先进行登录,登录成功后,可以进行对会员的管理、其他管理员,以及餐品的信息的管理,并且可以对会员进行删除操作,对餐品可进行更改其信息以及删除操作,对管理员可进行删除操作,也可以进行订单查询,对订单做出相应的处理。

(三)数据库设计

1.数据库的概念设计

数据库的概念设计是根据需求分析的结果,将用户对数据的需求综合成一个统一的概念模型,它是整个数据库设计的关键。设计时,根据局部的E-R图得到系统数据库总体的E-R图。概念模型是从现实世界到计算机世界的一个中间层次,是现实世界到信息世界的一种抽象,它不依赖于具体的计算机系统。概念模型的表示法最常用的是实体-联系方法,也称为E-R模型,E-R图中包括以下三大要素:矩形,表示实体(集);椭圆,表示实体的属性;菱形,表示实体(集)之间的联系。

网上订餐系统使用SQL Server2005存放数据,本系统涉及到的实体主要有用户、管理员、餐品信息、订单信息等,下面将主要介绍几个实体的属性和个实体之间的关系。

(1)管理员实体

在管理员实体中,主要涉及的属性有:管理员名、管理员密码、真实姓名、email、教育程度、工作性质、家庭地址、身份证号、性别,根据这些信息可以画出管理员信息的E-R图,如下图所示:

图9:管理员实体图

(2)用户实体

在用户实体中,主要涉及的属性有:用户名、用户密码、真实姓名、email、教育程度、工作性质、家庭地址、电话号、性别,根据这些信息可以画出用户信息的E-R图,如下图所示:

图10:用户实体图

(3)餐品实体

在餐品实体中,主要涉及的属性有:餐品名(canpinname)、餐品简单描述(canpindescription)、餐品详细描述(canpindetaildescription)、餐品价格(canpinprice)、餐品图片(canpinimange),根据这些信息可以画出餐品信息的E-R图,如下图所示:

图11:餐品实体图

(4)订单实体

在订单详细实体中,主要涉及的属性有:订单号(oid)、客户姓名(custname)、

用户名(username)、送餐地址(address)、所订购的餐品(canpinlist)、餐品总价格(totalprice)、订餐时间(orderdate),根据这些信息可以画出订单信息的E-R图,如下图所示:

图12:订单实体图

(5)系统总E-R图

图13系统总E-R图

2.数据库的逻辑设计

逻辑数据模型反应数据在计算机中的存储结构,例如:存储介质的物理块、指针和索引等。每个逻辑数据模型在实现时,都有其对应的物理数据模型。物理数据模型不仅与具体的数据库管理系统有关,而且与计算机系统的硬件和操作系统有关。网上订餐系统的数据模型如下所示。

管理员(管理员名,密码,真实姓名,email,地址,身份证号,学历,主要工作,性别)

用户(用户名,密码,真实姓名,email,地址,电话号码,学历,工作,性别)餐品(餐品名,餐品简单描述,餐品详细描述,餐品价格,餐品图片)

订单详表(订单号,客户姓名,用户名,送餐地址,餐品,总价格,订餐时间)

3.数据库的物理结构设计

数据表设计主要是进行数据库的物理设计,及数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确放映数据关系、数据

冗余少、存取效率高、能满足多种查询要求的数据模型。

(1)用户信息表(userinfo)

用户登录时需要输入用户名和密码,所以用户数据表中必须包含用户名(username)、密码(password)两个信息,同时在信息表中还可以有其他的用户信息,比如:用户的email、真实姓名(realname)、性别(sex)、电话号码(idnum)、地址(address)、学历(education)、工作(professional)。从这些功能上我们可以将数据库表设计如下表所示:

表1 用户信息表

(2)管理员信息表(admininfo)

管理员登录时需要管理员名和密码,所以管理员数据表中必须包含管理员名(adminname)、密码(password)两个信息,还可以有其他的管理员信息,比如:管理员的email、真实姓名、性别(sex)、身份证号(idmun)、地址(address)、学历(education)、(professional)。从功能上数据库表设计如下表所示:

表2 管理员信息表

(3)餐品信息表(canpininfo)

餐品信息表主要是用于描述餐品的信息,如:餐品的名称(canpinname),餐品的简

单描述(canpindescription),餐品的详细描述,以及餐品的图片。餐品的信息表详细描述如下表所示:

表3 餐品信息表

(4)订单信息表(orderinfo)

订单信息表主要是用于描述用户订购餐品所生成的订单信息,用于管理员处理用户订购信息的主要来源,因此,在订单信息表中应该存在以下几条记录,以方便餐品店对用户订购餐品做出正确的处理,如:订单号(oid)、客户名(custname)、用户名(username)、订购餐品列表(canpinlist)、餐品总价格(totalprice)、订餐时间(orderdate)、送餐

地址(address)。因此,订单信息表详细描述如下表所示:

表4 订单信息表

四、系统详细设计与实现

(一)运用平台或环境

操作系统:Window 7操作系统

数据库:Microsoft SQL Server 2005

网络通信协议:TCP/IP

支持软件:tomcat、Myeclipse

(二)实现主要技术简介

1.JavaServer Pages (JSP)技术

在可发JSP规范的过程中,Sun公司与许许多多主要的Web服务器、应用服务器和开发工具供应商,还有各种各样富有经验的开发团体进行合作。最后找到了一种平衡了应用和页面开发的具有可移植性和易用性的开发方法,JSP技术特征在多个方面加速了动态Web页面的开发:1、将内容的生成和显示分离,使用JSP技术,Web页面开发人员可以使用HTML或者XML表示来设计和格式化最终页面。2、强调可重用的组件,绝大多数JSP页面依赖于可重用的,跨平台的组件来执行应用程序所要求的更为复杂的处理问题。开发人员能够共享和交换执行普通操作的组件,或者发布这些组件使更多的使用者或者客户团体能够使用。3、采用标识简化页面开发,Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是容易使用的、同时与JSP相关的XML标识中进行动态内容的生成时需要的。通过开发定制化标识库,JSP 技术室可扩展的。由于JSP页面的内置脚本语言是基于Java编程语言的,并且所有的

JSP页面都能被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。

2.最佳JSP应用服务器Tomcat

大多数人都喜欢讲Apache Tomcat当作JSP应用服务器使用。有人可能会说,它之所以受欢迎是因为这个服务器是免费喝开放源代码的,但是真正的原因远不止这些。Apache Tomcat能够受欢迎,不仅是工作性能非常好,还有没有初始的开发成本开销等有力的竞争元素,单着不是决定因素。Tomcat结构非常合理,更由于Tomcat是Apache 组织的产品,这个组织有着雄厚的技术更新力量,并且Tomcat5.0很好的支持了JSP2.0规范,因此有着很好的发展前景。

Tomcat是一个免费的开源的Servlet容器,它是Apache 基金会的Jakarta项目中的一个核心项目,由于Apache ,Sun和其他一些公司以及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat 被JavaWord杂志的编辑选为2001年度最具创新的java产品,可见其在业界内的地位。

Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器功能:也处理Html 页面,但是与Apache相比,它的处理静态Html的能力就不如Apache。

JDK是Sun公司的JAVA应用程序和组件的开发环境,是编译、测试工具,也是提供JAVA程序的JAVA虚拟机平台,是调试和运行JSP所不可缺少的工具。

3.JDK配置

JDK(Java Development Kit)是一切java应用程序的基础,可以说,所有的java 应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。

安装好JDK后,还需要在环境变量中进行对应的配置,主要进行以下配置:

在系统变量—环境变量中:首先,新建变量名:JAVA_HOME,其值为:C:\Program Files(86)\Java\jdk1.5.0_12 第二,新建变量名:CLASSPATH ,其值为:.; C:\Program Files(86)\Java\jdk1.5.0_12\jre\lib 第三:编辑变量名:PATH,在其值的最前面加上:C:\Program Files(86)\Java\jdk1.5.0_12;%PATH%;

4.Myeclipse简介

Eclipse最初是IBM的一个软件产品,前期投入了4000万美金。2001年11月, IBM 宣布将其捐给开放源码组织https://www.360docs.net/doc/a410678501.html,。目前Eclipse的市场占有率已经超过了Borland公司的JBuilder,成为Java开发平台中的主流。 Eclipse的设计思想是:一切皆为插件。它自身的核心是非常小的,其它所有的功能都以插件的形式附加到该核心上。 Eclipse中三个最吸引人的地方:一是它创新性的图形API,即SWT/JFace,在此之前,我曾经用过Java 的AWT/SWING来开发Windows应用程序,AWT/SWING其界面客观地讲不够美观,而且界面响应速度比较慢;而SWT/JFace则大大改善了Java在这方面的能力。二是它的插件机制。三是利用它的插件机制开发的众多功能强大的插件。

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、JSF、CSS、JavaScript、SQL、Hibernate。

5.SQL Server 2005 简介

Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

Microsoft SQL Server 2005 是用于大规模联机事务处理 (OLTP)、数据仓库和电子商务应用的数据库平台;也是用于数据集成、分析和报表解决方案的商业智能平台。

SQL Server 2005 引入了一些“Studio”帮助实现开发和管理任务:SQL Server Management Studio 和 Business Intelligence Development Studio。在 Management Studio 中,可以开发和管理 SQL Server 数据库引擎与通知解决方案,管理已部署的Analysis Services 解决方案,管理和运行 Integration Services 包,以及管理报表服务器和 Reporting Services 报表与报表模型。在 BI Development Studio 中,可以使用以下项目来开发商业智能解决方案:使用 Analysis Services 项目开发多维数据集、维度和挖掘结构;使用 Reporting Services 项目创建报表;使用报表模型项目定义报表的模型;使用 Integration Services 项目创建包

6.Servlet简介

Servlet是JavaEE架构中的关键组成部分,JavaEE是基于分布式和多层结构的企业级应用开发规范和标准。

Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于Java编程语言的Web服务端编程技术,主要用于在Web服务器端获得客户端的访问请求信息并动态生成对客户端的响应信息,此外,Servlet技术也是JSP技术的基础。

Servlet是Web服务器端的Java应用程序,它支持用户交互式地浏览和修改数据,生成动态的Web页面。Servlet与普通Java程序相比,只是输入信息的来源和输出结果的目标不一样,通常普通java程序所能完成的大多数任务,Servlet程序都可以完成,Servlet具有的特点为:高效、方便、功能强大、良好的可移植性。

(三)数据库的连接

本系统使用的SQL Server 2005数据库,使用Servlet和Jsp技术,其中使用JDBC 连接数据库的方法为:

db.properties属性文件

DBUtil.java文件

相关文档
最新文档