随着互联网时代的发展,人们的生活方式正在发生改变。传统的餐饮行业也正在发生变革。人们不再满足过去的点餐方式,需要更好的体验。本课题旨在结合点餐系统的技术优势,设计一个能够方便顾客与商家,并且节约人力成本以及可以很好地提升顾客体验的系统。
本课题基于流行的HTML5技术来搭建页面框架,并且采用PHP+MYSQL+Apache来开发一个在餐馆中使用的无线点餐系统,以及利用AJAX技术来实现异步请求使页面能够在不刷新页面的情况下与后台交换数据。结合顾客点餐与商家的实际需求,基于HTML5进行点餐系统的设计与开发,系统实现了订单的管理、餐品的添加、顾客点餐等功能。
该系统的开发,很大程度上餐馆的人力成本,并方便了顾客的点餐流程,大大提升了用户的体验。
关键字 PHP HTML5 点餐
毕业设计说明书(论文)外文摘要
Title Design of Ordering System Based on HTML5 and PHP
Abstract
With the development of the Internet, people’s way of life is changing.And traditional food industry is changing.People are no longer satisfied with the old ways, need a better experience. This project aims at combining the advantages of ordering system, to design a convenient for customers and the business, and save manpower costs, and can greatly facilitate the customer experience systems.
This topic is based on the popular HTML5 technologies to build the frame, and use PHP+MYSQL+Apache to develop a system of wireless ordering in a restaurant. And the use of AJAX technology to achieve an asynchronous request can make the page without refreshing the page to exchange data with back. Combination of customer orders and the actual needs of businesses, HTML5-based ordering system design and development, system for order management, food adds, customers ordering function.
Development of the system, to a large extent the manpower cost of restaurant, and convenient for customers ordering process greatly improves the user experience.
Keywords PHP,HTML5,Ordering
前 言
随着电子商务的发展,人们的消费方式和消费理念发生了很大变化,足不出户的网上购物已经成为许多人的一种生活方式,同时网络点餐逐渐走进人们的生活,并被广泛接受。现在许多餐厅服务员点餐后将餐品订单信息传送到后厨、后厨使用的是由无线网络设备构成的局域网络,餐厅使用起来方便,但是需要增加价格不菲的硬件设施。通过我们设计的Web点餐系统,顾客可以不受时空的限制,便捷地实现预定点餐过程,具有及时、高效、经济的特点。另外利用网络的同步传输,可以将点餐信息同步传输到前台和后厨,提高管理精度和效率。基于PHP构建的HTML5点餐系统,其实质是利用PHP和MYSQL数据库技术开发一个电子商务网站,采用B/S(浏览器/服务器)架构,利用网络平台搭建一个虚拟的网上餐厅,当在餐厅点餐时,用户选择所需餐品并加入购物车中,提交订单后可以跟踪餐品的状态,并且可以对所选购的餐品进行评论。
目录
第一章 系统的发展与研究现状 4
1.1 研究意义 4
1.2 国内外现状分析 5
1.3 研究内容 6
第二章 相关技术简介 6
2.1 PHP的简介 6
2.2 MYSQL简介 7
2.3 AJAX简介 7
第三章 系统分析 8
3.1 可行性分析 8
3.2 需求分析 9
3.3 数据流程分析 10
图3-1 系统数据流 11
第四章 系统总体设计 11
4.1 系统结构设计 12
图4-1 后台管理员功能 12
4.1.2 前台功能设计 12
图4-2 前台功能模块图 13
4.2 数据库设计 13
图4-3 系统E-R图 14
图4-4 顾客实体图 14
(3)管理员实体如图4-5所示。 14
图4-5 管理员实体图 14
图4-6 菜单实体图 15
图4-7 订单实体图 15
图4-8 推荐实体图 15
图4-9 公告实体图 16
图4-10 评论实体图 16
表4-1 餐品表 16
表4-2 订单表 17
第五章 系统详细设计与实现 18
5.1 首页 18
图5-1 登录系统流程 19
5.2 餐厅主页 20
5.3 餐品浏览 20
图5-2 餐品浏览流程图 21
图5-3 餐品评论 21
图 5-4 餐品评论流程图 22
图 5-5 购物车界面 23
图5-6 购物车流程图 24
1) 当点击餐品添加的按钮所触发的 24
2) 在购物车详情中删除所选餐品 24
3) 计算购物车中商品的总价格(菜单中添加时需执行一次) 25
4) //购物车点击时的隐藏与显示 25
图5-7 订单流程图 26
5.4 管理员模块 26
图5-8 餐品类别 27
图5-9 餐品类别流程图 27
- 上传餐品分类 28
- 显示与删除 28
图5-10 餐品上传 29
图5-9 已上传的餐品 29
图5-10 餐品管理流程图 30 - 上传图片 30
- 修改价格,其他修改与其类似,故不做过多赘述。 31
图5-10 订单查询 31
图 5-11 订单管理流程图 32
图 5-12 营收与利润流程图 33
图5-13 统计管理 34
图5-14 统计管理 34
图 5-15 公告管理流程图 35
图 5-16 推荐管理流程图 36
第六章 系统测试 37
6.1 方法与步骤 37
图 6-1 软件测试过程 37
6.2 用例设计与结果分析 37
图6-2 登录界面 38
图6-2 餐品管理 39
图6-3 请求成功 39
图 6-3 订单测试 40
6.3 评价 40
第七章 总结 41
7.1 设计过程 41
7.2 设计结论 41
第一章 系统的发展与研究现状
本章主要讲述点餐系统的国内外现状与本次设计的研究内容,以及其实际应用方面的意义。
1.1 研究意义
基于PHP构建的HTML5点餐系统的开发,可以很大程度上减轻餐厅的人力成本,并且减少了人工操作过程中的错误和疏漏。现在许多餐厅服务员在顾客点餐后能够将菜单直接传送到后厨,其使用的是由无线网络设备构成的局域网络,餐厅使用起来方便,但是需要增加价格不菲的硬件设施。通过PHP设计的点餐系统,顾客可以不受时空的限制,便捷地实现预定点餐过程,具有及时、高效、经济的特点。系统还可提供销量统计,利润统计,利于提高餐厅的管理水平。本系统,其实质是利用PHP和MYSQL数据库技术实现的一个电子商务网站,采用B/S(浏览器/服务器)架构,利用网络平台搭建的一个虚拟的网上餐厅,当在餐厅点餐时,用户选择所需餐品加入购物车并提交订单,后厨看到顾客的订单与所提交的餐品可以直接着手去做,省去了服务员的中间环节,节省了时间,并且提高了效率。后厨还可以对订单的状态进行更改,比如准备中、已完成。这样顾客就可以跟踪所提交餐品的状态,提高了用户的体验。
1.2 国内外现状分析
点餐系统已是餐饮行业发展的必然趋势,正以其节省人力、提高效率、投入少而回报快、大大提升餐饮企业形象、及时了解库存以便及时采购相应所需、降低材料成本、报表功能强大清晰等诸多优势越来越被业界更多的酒店、餐饮行业所广泛认可和接受。
在国外,有些点餐系统是基于Android平台点餐系统的硬件架构和基于C/S结构的软件设计方案。有的方案使用Android手机或平板电脑,有的方案利用arm处理器强大的计算能力,C/S结构的优点是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器,通信量较小,客户端响应速度快。缺点是服务器和客户端都需要安装专门的软件,管理复杂,维护和升级成本较高。还有基于Android平台来实现的,需要用户下载客户端,这样有的用户可能会觉得麻烦,同时这样会丢失一大批IOS用户。
国内的研究现状:目前国内也有相关的点餐系统,不过它是使用的.NET平台的,.NET系统目前是基于Windows系统的,本系统使用PHP,可以实现跨平台运行。还有,有些企业采用的是C#技术开发的方案,集合C#、Sqlserver数据库以及Socket编程实现点餐系统功能,然而C#不适用于编写时间急迫或性能非常高的代码,C#缺乏性能极高的应用程序所需要的关键功能。
本系统采用的是浏览器/服务器(B/S结构),它是基于Web技术的一种应用软件系统结构。服务器程序集中实现系统的核心功能,并做成Web网站供客户端浏览访问。客户端只需要安装网页浏览器访问服务器端的动态网页来进行各种操作。B/S的优点是客户端不需要安装任何专门的软件,软件升级全部在服务器端进行操作,客户端不需要维护,增加客户端也非常简单。缺点是服务器和网络运行负担比较繁重。本系统是基于HTML5技术来实现的,可以跨平台,实现Android和iOS的统一,用户直接在浏览器端打开就可以。
1.3 研究内容
本课题采用PHP来开发一个基于HTML5的点餐系统。旨在结合点餐系统的技术优势,设计一个能够方便顾客与商家,并且节约人力成本以及很好地提升了顾客体验的系统。课题结合顾客点餐与商家的实际需求,基于HTML5进行点餐系统的设计与开发,系统实现了订单的管理、餐品的添加、顾客点餐等功能。
本系统角色分为顾客、商家两种角色。主要包括四个方面的功能:顾客点餐,顾客订单管理,商家餐品管理,商家订单管理。
1)顾客点餐:顾客可以浏览商家上传的餐品图片,可以查看到评论,加入到购物车,并可以通过商家的推荐来选择。
2)顾客订单管理:顾客提交订单后可以查看已提交的订单,并且能够实时地跟踪订单的状态。
3)商家餐品管理:可以根据餐品的分类上传餐品,并且能够对已上传的餐品进行修改价格等操作。
4)商家订单管理:商家可以查看用户的订单,后厨可以实时的进行操作,这样用户可以了解到菜品的状态,比如:准备中、已完成。
第二章 相关技术简介
本章主要对系统开发所涉及的语言基本原理及体系结构进行一些简要介绍,其中包括PHP、MYSQL、HTML5、JQuery、AJAX。
2.1 PHP的简介
PHP(Hypertext Preprocessor)是一种嵌入HTML页面中的脚本语言。它大量地借用C和Perl语言的语法, 并结合PHP自己的特性,使Web开发者能够快速地写出动态产生页面。
PHP是完全免费的开源产品,不用花钱,Apache和MYSQL也是用样免费开源,在国外非常流行,PHP和MYSQL搭配使用,可以非常快速的搭建一套不错的动态网站系统,因此国外大多数主机系统都配有免费的APACHE+PHP+MYSQL。通常认为这种搭配的执行效率比IIS+ASP+ACCESS要高,而后者的使用还必须另外交钱给微软。
2.2 MYSQL简介
MYSQL是一个关系型数据库管理系统,主要应用在Internet上的中小型网站中。由于其体积小、速度快、成本低,尤其是开放源码这一特点,很多中小型网站为了降低网站成本而选择了MYSQL作为数据库。简单来说,MYSQL是一个存储数据的仓库,可以存储文字,图片之类的信息,实现数据操作的增删改查,是网站运行的命脉所在。尽管MYSQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。它的连接性、速度和安全性使MYSQL非常适合作为在Internet上的数据库。
MYSQL服务器工作在客户/服务器或嵌入系统中,它由多线程SQL服务组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口(APIs)。MYSQL也可以是一个嵌入的多线程库,你可以把它连接到你的应用中而得到一个小、快且易于管理的产品。
2.3 AJAX简介
AJAX 是Asynchronous JavaScript And XML的简称(异步 JavaScript 及 XML)
即 Asynchronous JavaScript And XML 的首字母缩写。AJAX 并不是一种新的编程语言,而仅仅是一种新的技术,它可以创建更好、更快且交互性更强的Web 应用程序。AJAX 使用 JavaScript 在 Web 浏览器与 Web 服务器之间来发送和接收数据。通过在幕后与 Web 服务器交换数据,而不是每当用户作出改变时重载整个 Web 页面,AJAX 技术可以使网页更迅速地响应。其工作剖析图如图1-1所示。其相当于在用户和服务器之间家里一个中间层。通过客户端浏览器的内置对象XMLHttpRequest来发送异步请求,当发生请求的时候不会阻塞客户端的操作。
图1-1 AJAX的工作剖析图
第三章 系统分析
3.1 可行性分析
可行性分析从下面的两个方面进行研究:技术可行性、经济可行性。
(1)技术可行性
基于PHP构建的HTML5点餐系统的开发采用主流的PHP语言以及MYSQL数据库来实现,前端通过HTMl5来搭建页面框架,并通过JavaScript来进行动态的交互,以及通过流行的AJAX技术来实现与后台的交互,可以更好地提高用户体验,并且可以异步的实现客户端与服务器端进行少量的数据交换。PHP语言非常适合小型项目的快速搭建,在服务器端具有很快的执行速度,非常适合本项目。
(2)经济可行性
可以通过对已存在的相关系统进行调查来获得开发这个系统所需的相关资料。所需要的其他一些应用软件均为免费开源软件,可以方便地从网络上获取。并且所需的由Apache搭载的服务器都是免费的。所使用的硬件系统仅为一台可以连接Internet的PC机,即可满足性能要求。这些都能够大大的节省我们进行系统开发的人力、物力以及财力。因此经济上可行。
3.2 需求分析
3.2.1 业务需求分析
本系统的业务主体是顾客和餐厅的工作人员。现对顾客和餐厅工作人员的活动分析如下。
1)顾客需求分析
顾客登录系统,可以直接浏览餐厅所有的餐品,并且可以按照分类浏览,并且可以查看到已有的评论,这样可以根据前人的评价,适当地选择。顾客可以直接将想要选择的商品添加到购物车中,而且可以选择从购物车中删除所选的餐品。顾客选好后直接提交订单,提交给后厨处理。
2)餐厅工作人员需求分析
餐厅的工作人员登录后台管理系统,可以根据自己餐厅的实际情况,对餐厅的菜品进行分类管理,并按照已有的分类进行餐品上传。餐厅的工作人员可以查询顾客提交的订单,并且可以对订单的状态进行更改,比如:准备中、已完成。顾客可以跟踪自己所提交订单所处的状态。
此外,餐厅管理者可以根据日期方便地查看到餐品的统计以及利润,更好地管理餐厅。
3.2.2 功能需求分析
根据如上分析,我们将系统的功能按照角色划分。前台主要是顾客操作,后台是餐厅工作人员的后台管理。设计出如下系统的功能:
顾客模块主要包括:
(1)顾客注册:顾客需要注册完成身份验证,对餐厅进行访问。
(2)顾客登录:注册成功后,可以访问系统。
(3)浏览餐品:系统的主要功能,可以根据餐品的类别直观地查看餐厅已有的餐品。
(4)推荐餐品:餐厅主体根据餐品的走势、本店特色、新品进行的推荐。
(5)公告系统:及时准备的告知顾客本店信息。
(6)查看评论:浏览餐品时,可以查看餐品对应的评论,给顾客一定的参考。
(7)购物车:可以将所想选择的餐品加入购物车中统一处理。
(8)用户中心:可以跟踪所提交订单的状态。
餐厅工作人员模块主要包括:
(1)管理员登录:对管理员进行身份验证。
(2)餐品类别:根据餐厅的实际情况对餐品进行分类,利于顾客浏览。
(3)上传餐品:管理员基于餐厅已有的类别,上传餐品的名字、图片、描述、价格等信息。
(4)修改餐品:对已上传的餐品的餐品进行修改,比如价格。
(5)订单管理:后厨可以查看订单中的餐品,并且修改订单的状态,方便顾客跟踪。
(6)统计:方便餐厅管理人员对餐厅进行管理,制定未来战略。
(7)利润:直观地了解餐厅的经营情况。
(8)推荐餐品管理:餐厅主体根据餐品的走势、本店特色、新品进行的推荐。
(9)公告管理系统:及时准备的告知顾客本店信息。
3.3 数据流程分析
系统数据流如图3-1所示。
图3-1 系统数据流
第四章 系统总体设计
本章主要讲述系统的结构设计,分析系统的前、后台功能设计,完成有关数据库的设计。
4.1 系统结构设计
根据业务流程,主要分为顾客和商家两大角色。顾客登录到系统后,能够对餐品进行浏览并查看餐品评论,以及加入购物车、提交订单等。商家能够对餐品以及订单进行管理,进行各种活动。
4.1.1 后台功能设计
后台主要是管理系统中的信息资源。后台管理员模块主要功能如下:
(1)餐品管理:管理员可以添加餐品、修改餐品或删除餐品,并对餐品的类别进行管理。
(2)订单管理:管理员在此处可以查询到顾客的订单,并对订单的状态进行修改,将订单的状态显示为准备中或已完成,这样顾客就可以跟踪到所订餐品的状态
(3)信息管理:管理员通过公告栏发布餐厅最近的活动或公告。
(4)统计管理:管理员在此处看到餐品的销量以及利润。
后台管理员功能如图4-1所示。管理登录后台管理界面之后就可以对订单、餐品、公告等信息进行管理。
图4-1 后台管理员功能
4.1.2 前台功能设计
前台主要是浏览以及进行一些交互的操作。主要功能如图4-2所示。顾客进行身份验证后登录系统,分类浏览餐品信息,获得有关餐品的名称、价格、描述、图片等信息。根据自己的需要进行的一系列的餐品操作。
图4-2 前台功能模块图
4.2 数据库设计
数据库设计是在需求分析之后,选择某一具体的数据库管理系统,设计数据库的结构并建立数据库的过程。系统实现与数据结构的合理程度有很大联系。数据库设计不合理,后面具体实现的时候还要多次调整结构,严重影响开发的效率。
数据库及其应用系统的技术,在信息系统开发和建设中很重要。
4.2.1 E-R模型
根据前面对系统的业务分析、数据分析,本系统涉及的实体详见下图
(1)系统如图4-3所示。
图4-3 系统E-R图
(2)顾客实体如图4-4所示。
图4-4 顾客实体图
(3)管理员实体如图4-5所示。
图4-5 管理员实体图
(4)菜单实体如图4-6所示。
图4-6 菜单实体图
(5)订单实体如图4-7所示。
图4-7 订单实体图
(6)推荐实体如图4-8所示。
图4-8 推荐实体图
(7)公告实体如图4-9所示。
图4-9 公告实体图
(8)评论实体如图4-10所示。
图4-10 评论实体图
4.2.2 物理设计
表设计是建立在E-R图的基础之上。根据前面对学生、教师、实验室管理员的需求分析以及对于数据库中实体及关系进行的设计,本课题系统中所用到的数据表包括:管理员、餐品类别、餐品、用户、订单、推荐、公告