【结合PHP的微信点餐小程序系统的设计与实现9400字(论文)】_第1页
【结合PHP的微信点餐小程序系统的设计与实现9400字(论文)】_第2页
【结合PHP的微信点餐小程序系统的设计与实现9400字(论文)】_第3页
【结合PHP的微信点餐小程序系统的设计与实现9400字(论文)】_第4页
【结合PHP的微信点餐小程序系统的设计与实现9400字(论文)】_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

导言1.1研究背景随着互联网信息技术的飞速发展,人们生活的方方面面也正逐步走向信息化。传统的点菜模式加长了顾客等餐的时间,造成客户体验极差等情况,而餐饮点菜系统解决等餐的时间问题,同时减少了出现误差的情况,现在越来越多的餐厅和酒店开始关注餐饮点菜系统,餐厅和酒店开始使用微信小程序代替手工管理。目前,在我国餐饮行业中,各种点餐软件都数不尽数,市场上微信小程序的数量占比逐年增大。微信小程序作为微信公众号和app不足之处的补充,能够给使用者提供更好的用户体验,在餐饮、服务、电子商务行业等领域有显著的用户流量。总体来看,微信小程序的优点主要体现在:优秀的用户体验,效果与app相同;无需下载,随时随地都可以使用;线上线下相连接,拓展使用场景;接口众多,可进行不断的升级开发,对于用户而言,随时随地都能使用,无需下载,不占用手机空间,降低了手机内存,有很大的便利性,总而言之,微信小程序具有简单,方便,成本低,范围广的特点,十分适合应对目前的社会发展,是一种十分好用的应用。人员利用率的改进、加快工作人员开始工作的进程、生产能力的提高、管理信息服务的改进能在移动互联网时代的推动下,点菜系统电子化将成为餐厅和酒店在移动互联网时代制胜的砝码之一。本论文从实际生活出发,结合大量文献研究,确定要设计与开发一套微信小程序点餐管理系统。1.2研究目的微信小程序自助点餐系统拟采用PHP作为软件开发语言,结合MYSQL数据库进行开发。系统由前后端两大模块组成,以构建较好的点餐系统为目标,将前后台完美结合。前台模块将使用微信小程序进行开发,主要包括用户注册、登录,点餐以及订单评价等;后台模块则主要包括管理员登录、用户管理、餐桌管理、分类管理以及订单查看等。该微信点餐系统将充分提高商家工作效率,从而为顾客提供更好地服务。1.3研究意义小程序在各行各业都展现出它独一无二的优势,小程序的问世,解决了以往APP的缺点,下面将详细介绍微信小程序点餐系统的三大优势。1、微信程序可以让店铺管理和运营模式更加轻便、快捷、高效。商家的开发和维护成本从中省下了一笔相当大的开销。2、订餐小程序是基于微信公众号强大的平台所运行,其强大影响力给商家带来的利益必然是巨大的,强大营销力与市场推广,是其他app所不具备的先天优势。3、简单方便、高效的线上营销,商家可以根据需求定制属于自己的点餐系统小程序,而且微信小程序基于微信运营,顾客对于活动的参与度也比较高。1.4研究现状随着移动互联网的飞速发展和网络技术的提升,截止到2016年,微信已经覆盖了中国94%以上的智能手机,月活动用户达到8.06亿同时微信也直接带动了信息消费1742.5亿[1]。微信小程序2019年用户人数达到了11.2亿人次[2],微信有如此庞大的用户,人们对服务便利性的要求也越来越高[3],也促使了微信小程序发展的突飞猛进,目前在市场上已经有了很多涉及各行各业的微信小程序了。在餐饮业也不例外,例如我们熟知的美团餐厅点餐系统、肯德基、椰福嫂等等。一开始这些都是主推APP的,但随着社会的进步,互联网技术的飞速发展,它们也都逐步开发出了属于自己的各类小程序,如支付宝小程序、抖音小程序以及微信小程序等等。手写菜单是最初最传统的点餐方式,消耗了大量的人力资源和时间,在移动互联网时代的推动下,前几年电子化的“点菜宝”代替了人工点菜,再到后来餐馆普遍使用微信小程序点餐,证实了餐饮行业转战小程序的成功。互联网时代的核心从不是各种低价或者免费,所以无论是小程序的触手可及还是用完即走,都在体现互联网思想的核心“没有距离”。在本文中,主要是以微信小程序为主进行说明。传统的模式已经越来越不能适应当前餐饮行业改革的需要,所以各类小程序点餐系统应运而生。2可行性分析2.1技术可行性本系统的设计与制作主要包括前台的开发以及后台数据库的搭建两个方面。网站的前端要求易于使用并且功能完备。而网站的后台要求能够搭建具有一致性和完整性的数据库。本网站将采用PHP,MYSQL和JavaScript来分别作为前端和后端的开发技术。硬件方面,目前电脑硬件的整体配置水平已足够高,所以,网站在硬件方面是可行的[4-5]。在软件方面,由于PHP和MYSQL是两个非常成熟的开发工具,不管是在安全性、可用性,还是在可靠性方面都没有问题,因此软件方面是很可行的。2.2经济可行性经济可行性主要指标是评价一个系统的研究开发费用。本系统使用必需的硬件资源和软件环境是市场上都很容易得到的,并且本系统的设计和运行成本大多集中于系统的研制和开发[6]。对于开发商来说也不会给他们造成太重的社会经济负担。本系统的所有开发工具均是一个完全可以通过自由购买并且是一个完全免费使用的软件,这也给整个系统的设计工作节省了许多开支。所以,从市场经济的角度看,该系统是可行的。2.3操作可行性该微信点餐系统是基于移动端的工作界面,用户无论在哪里,无论使用局域网还是互联网[7],都可以在微信中直接对点餐小程序进行浏览、点餐等操作;所以在操作方面也是可行的。2.4法律可行性本论文系统开发并没有侵犯他人、集体或国家的利益,也没有违反国家的法律法规,所以具有法律可行性。综上所述,该系统在技术、经济、可操作性以及法律方面都是可行的。因此,该微信点餐系统的制作是完全可行的。

3需求分析不同用户有不同的主要功能需求,本微信点餐系统预计包含前台和后台两个模块。前台是微信小程序的形式展示,本系统将主要涉及用户浏览餐品、用户选桌点餐以及个人订单查看等。后台则需要实现平台用户信息管理,餐品分类管理,餐品信息管理以及平台用户订单查询等。前台功能主要有:(1)用户登录注册:只有注册过并成功登录的用户才能使用小程序点餐以及个人中心订单查询等各个功能。进入注册页面,填写个人信息,完成注册后就可以进入会员登录界面。(2)餐品浏览:用户可以浏览管理员后台添加的所有餐品信息。(3)加入购物车:登录成功的用户可以进行在线选桌点餐。(4)个人订单查询及评论:登录成功的用户可以在个人中心查询自己的历史订单并进行订单评论。后台功能主要有:(1)用户管理:即系统管理员对平台用户信息的查看操作。(2)餐桌管理:即系统管理员对餐桌信息的查询、添加、修改和删除操作。(3)餐品分类管理:即系统管理员对餐品分类的查询、添加、修改和删除操作。(4)餐品管理:即系统管理员对餐品信息的查询、添加、修改和删除操作。(5)用户订单管理:即系统管理员对平台用户订单的查询操作。

4系统开发技术4.1微信小程序语言微信小程序的开发主要使用到的文件类型包含WXML(即微信标记语言)、WXSS(即微信样式表)以及JS(小程序的主体)。WXML和Android开发界面中的XML描述文件类似,很适合程序界面的构建。WXSS则与CSS相似,在语言上几乎没有差别,可以直接通用。最后一个是JS文件,小程序的JS文件与前端开发使用的JS几乎没有区别,唯一特别的就在于小程序的JS新增了微信的API接口,并且去除了一些不必要的诸如DOM的功能。4.2PHP技术PHP即“超文本预处理器”,是一种创建动态交互性站点的强有力的服务器端脚本语言。它吸收了C语言、JAVA和Perl的语法特点,使用广泛,主要适用在WEB开发领域。PHP技术的优点主要体现在开源免费、程序开发运行快、跨平台性强等。4.3MYSQL数据库MYSQL是一种关系型数据库管理系统。它将数据保存在不同的数据库表中,这样大大提升了运行速度以及灵活性。它支持两种存储引擎:MyISAM(拥有较高的插入、查询速度,但不支持事务)和InnoDB(支持ACID事务,支持行级锁定)。它是最流行的关系型数据库管理系统之一。MYSQL数据库具有开源、体积小、速度快以及支持多线程等优点。

5系统设计5.1业务流程分析在进行具体的系统设计之前,先对系统的业务流程进行一个整体的分析。业务流程的分析就是对详细功能的一个细化分析。具体的流程图如图5-1所示:图5-1业务流程图从这个图中我们可以清楚地看出,用户进入小程序只有登录才可以进行后续的相关操作。用户登录操作的目的是获取用户信息,方便对其操作进行记录。用户登录成功,可以选择餐桌进行餐品点餐,用户可以将自己喜欢的餐品加入购物车,然后通过购物车结算来完成订单,订单生成后,用户可以进行评论的操作。以上是用户使用的流程描述,由此可以分析出相对应的后台管理员需要管理的模块包含用户模块管理、分类模块管理、餐品信息管理以及邓丹模块管理等等。综上所述,就是系统业务流程的整体分析。结合上述分析可以进一步总结出该系统的数据字典。数据字典是为了描述数据信息集合而存在。本微信点餐系统一共分为普通用户和管理员两大类角色,具体信息如下:(1)系统后台管理中心需要管理员输入正确的账号和密码信息进行登录方可进入;所以在数据字典里面需要包含管理员登录账号以及密码信息。并且,除了管理员账号,其他账号都是通过注册获得的。管理员数据字典如表5-1所示:表5-1“管理员表”的字典项目文件名管理员表组成管理员ID+管理员账号+管理员密码备注这是管理员信息表(2)普通用户通过注册账号进行系统登录,其数据字典如表5-2所示:表5-2“用户表”的字典项目文件名用户表组成用户ID+用户账号+用户密码备注这是用户信息表作为系统管理员,可以对餐桌信息、餐品分类以及餐品信息进行查询、添加、修改以及删除的操作;平台用户则可以对系统餐品进行信息浏览和添加购物车的功能。所以,涉及到的餐桌、分类以及餐品都是必不可少的;相应的数据字典如表5-3、5-4、5-5所示:表5-3“餐桌表”的字典项目文件名餐桌表组成主键ID+餐桌名称备注这是餐桌信息表表5-4“餐品分类表”的字典项目文件名餐品分类表组成主键ID+餐品分类备注这是餐品分类表表5-5“餐品信息表”的字典项目文件名餐品信息表组成主键ID+餐品名称+图片+价格+介绍+关联分类ID+是否上架备注这是餐品信息表(4)最后一个是订单表的数据字典,具体信息如表5-6所示:表5-6“订单表”的字典项目文件名订单表组成主键ID+关联用户ID+关联餐桌ID+订单总价+订单时间+状态+评论信息备注这是订单表5.2系统功能结构设计基于PHP的微信点餐小程序系统共包含前台和后台两部分。前台包括:用户登录注册、餐桌选择、餐品信息浏览、餐品加入购物车以及个人订单查询等。后台管理包括:用户管理、餐品分类管理、餐品管理、用户订单查看等。系统功能结构图如图5-8所示。图5-8系统功能结构图介绍完系统的整体框架后,接下来将依次介绍系统中各类角色的功能。具体分析如图5-9和图5-10所示。图5-9普通用户的功能图5-10管理员的功能5.2.1前台模块(1)用户登录注册:只有注册过并成功登录的用户才能使用小程序点餐以及个人中心订单查询等各个功能。进入注册页面,填写个人信息,完成注册后就可以进入会员登录界面。(2)餐品浏览:用户可以浏览管理员后台添加的所有餐品信息。(3)加入购物车:登录成功的用户可以进行在线选桌点餐。(4)个人订单查询及评论:登录成功的用户可以在个人中心查询自己的历史订单并进行订单评论。5.2.2后台模块(1)用户管理:即系统管理员对平台用户信息的查看操作。(2)餐桌管理:即系统管理员对餐桌信息的查询、添加、修改和删除操作。(3)餐品分类管理:即系统管理员对餐品分类的查询、添加、修改和删除操作。(4)餐品管理:即系统管理员对餐品信息的查询、添加、修改和删除操作。(5)用户订单管理:即系统管理员对平台用户订单的查询操作。5.3数据库设计数据库是为了完成一定的目标按某种规定组合起来的数据的集合,它由一个称为数据库管理系统的软件进行管理。数据的存取方式独立于使用它的应用程序。平台用户的需求主要体现在各类信息的供给、保留、更改和查询方面,这就要求数据库布局能足够满足各类信息的输入和输出[9-10];采集基本数据、数据结构及数据处理的流程,组合成一份详细的数据表,为以后的详细设计打下坚实的基础。5.3.1数据库概念结构设计数据库概念设计是指对其中的人、事、物进行分类,然后建立抽象的概念数据模型。它主要体现信息结构以及信息流动情况。结合上述分析,在本论文系统中规划出的主要实体将包含:管理员实体、用户实体、餐品实体、订单实体。具体的实体模型如下图5-11、5-12、5-13、5-14所示:图5-11管理员实体属性集图5-12用户实体属性集图5-13餐品实体属性集图5-14订单实体属性集5.3.2数据库逻辑结构设计数据库的逻辑结构是将概念设计阶段已经设计好的E-R图转化为与所选用的数据库管理系统所支持的数据模型相符合的逻辑结构。经过综合分析,得出本论文系统中的逻辑结构主要是:

(1)管理员表中包括字段:ID、管理员登录账号、管理员登陆密码;(2)用户表中包括字段:用户ID、用户名、密码;(3)餐桌信息表中包括字段:ID、餐桌名称;(4)餐品分类表中包括字段:ID,分类名称;(5)餐品信息表中包括字段:ID、餐品名称、餐品图片、价格、介绍、关联分类ID、是否上架;(6)订单表中包括字段:ID,餐桌关联ID、关联用户ID、下单时间、订单状态、评论内容;数据库的物理结构设计依赖其逻辑结构,结合数据字典以及实际需求,可制定出详细的数据表。数据表的用途主要体现在软件分析和开发过程中给人提供相关数据的描述信息。它主要是从数据流、处理逻辑、外部实体、数据结构、数据存储和数据项等六个方面进行具体定义[11],该系统具体的数据表,如下所示。(1)user表,记录用户信息,具体设置如表5-15所示。表5-15user(用户表)列名描述数据类型空/非空ID用户IDint否username用户名varchar否password密码varchar否(2)canzhuo表,记录餐桌的信息,具体设置如表5-16所示。表5-16canzhuo(餐桌信息表)列名描述数据类型空/非空IDIDint否canzhuo餐桌名称varchar否(3)type表,记录餐品分类的信息,具体设置如表5-17所示。表5-17type(餐品分类表)列名描述数据类型空/非空IDIDint否type餐品分类varchar否(4)shop表,餐品列表,具体设置如表5-18所示。表5-18shop(餐品表)列名描述数据类型空/非空IDIDint否name餐品名称varchar否img餐品图片varchar否price餐品价格varcharintro餐品介绍varchartype_id关联分类IDintis_sj是否上架int(5)order表,订单列表,具体设置如表5-19所示。表5-19order(订单表)列名描述数据类型空/非空IDIDint否canzhuo_id关联餐桌IDint否uid关联用户IDint否time下单时间varcharpinglun评论varcharstatus订单状态intzj总价varchar(6)admin表,记录系统管理员信息,具体设置如表5-20所示。表5-20admin(管理员信息表)列名描述数据类型空/非空IDIDint否username管理员登录账号varchar否password管理员登录密码varchar否

6系统实现这个阶段的工作主要是描述系统功能开发的具体实现及完成,包括功能界面设计以及逻辑实现。6.1前台功能实现前台功能主要包括用户的登录和注册、餐品信息浏览、在线点餐以及历史订单查询等功能。系统前台主界面如图6-1所示。图6-1系统前台主界面6.1.1用户注册登录只有注册过并已成功登录的用户才能使用系统点餐等功能。用户进入注册页面,认真输入个人信息,注册提交成功后就可以进入用户登录界面。用户的注册界面如图6-2所示。图6-2用户注册界面用户注册成功将跳转到登录页面进行登录。在登录页面,需要输入用户名、密码,要求用户名和密码都不能为空,点击“登录”按钮,系统会核对用户信息是否存在和正确,如果没有问题,就会提示登录成功并跳转到首页;否则系统会提示登录失败。登录界面如图6-3所示。图6-3用户登录界面用户注册登录的核心实质都是对表单数据的提交处理。6.1.2选择餐桌用户登录成功后,可根据自己所在座位选择桌号,具体界面如图6-4所示。图6-4选桌6.1.3浏览餐品用户选桌成功后,可以对所有餐品进行浏览。具体界面如图6-5所示。图6-5浏览餐品界面6.1.4在线点餐用户在进入系统以后,可以按照自己的实际需求将餐品添加到购物车进行结算。用户在购物车结算的时候勾选需要结算的餐品并点击“结算”按钮即可。具体的点餐流程界面如图6-6所示。图6-6在线点餐界面6.1.4“我的”界面用户登录成功后,可以点击“我的”查看个人订单及评论。涉及模块的数据都是从数据库中取出并渲染到页面上的。具体界面如图6-7所示。图6-7个人订单在线点餐的核心是将选择的餐品信息存入到购物车信息表中,包含选择数量、加入时间信息等等。6.2后台功能实现本系统后台功能主要包括:用户管理、餐桌管理、餐品分类管理、餐品管理以及订单管理。后台各模块的核心基本均是涉及PHP对数据库的查询、添加、修改以及删除的操作。6.2.1管理员登录界面系统管理者在进入管理中心时需先到登录界面,验证管理员用户名、管理员密码。如果两项都正确则成功进入管理后台首页。管理员登录验证与前端用户登录验证原理相同。后台登录界面如图6-8所示。图6-8后台登录界面6.2.2用户管理管理员登录成功后,可以点击左侧用户管理按钮进行用户信息的管理。用户管理界面如图6-9所示。图6-9用户管理界面6.2.3餐桌管理餐桌的数据主要用在用户登录成功以后进行选择,目的是方便商户定位哪个餐桌餐品。在后台,管理员可以查看所有的餐桌数据,同时也可以进行修改和删除的操作;还可以添加新的餐桌信息。相关界面如图6-10、6-11所示。图6-10餐桌列表图6-11新增餐桌6.2.4餐品分类管理餐品的分类数据主要用在用户登录成功的分类页展示,目的是方便顾客快速选择自己想要的餐品。在后台,管理员可以查看所有的餐品分类数据,同时也可以进行修改和删除的操作;还可以添加新的餐品分类信息。相关界面如图6-12所示。图6-12餐品分类列表6.2.5餐品管理餐品的数据主要用在用户登录成功以后进行在线点餐。在后台,管理员可以查看所有的餐品数据,同时也可以进行修改和删除的操作;还可以添加新的餐品信息。相关界面如图6-13、6-14所示。图6-13餐品列表图6-14新增餐品餐品管理的核心是将餐品的字段信息与数据库MYSQL进行交互,本质操作就是对数据库记录的插入、修改以及删除的操作。6.2.6订单管理管理员可以对前台用户结算的订单信息进行查询与统计的操作。订单管理的界面如6-15、6-16所示。图6-15订单管理界面图6-16订单销量统计界面

7系统测试系统测试是软件设计过程中一个十分重要的模块,在系统投入运行前,须对系统进行各阶段的检查,这样才能尽量保证系统开发的一致性、完整性和正确性,才能检测出系统的错误并加以修正。7.1测试环境本系统在Windows7系统的phpstudy集成环境下运行,因此在系统运行测试前,需要先启动phpstudy,并将项目导入到根目录下。7.2测试方法测试方法一般包括黑盒测试和白盒测试。黑盒测试(又称为功能测试)即任何程序都可以看作是将从输入定义域取值映射到输出值域的函数[12-14]。它是指在对程序进行功能抽象的基础上,将程序划分成功能单元,然后在数据抽象的基础上,对每个功能单元生成测试数据进行测试。白盒测试(又称为结构测试)则是基于应用程序的内部逻辑的知识,通过语句、分支、路径和条件的覆盖的测试方法,凭借被测程序的逻辑布局设计测试用例,力图提高测试覆盖率[15]。本系统将结合两种方法进行测试。7.3测试用例7.3.1用户登录测试用例(1)测试方案用户登录时需要输入用户名、密码,并且这些信息都不能为空。(2)测试用例表7-1登录测试用例编号输入数据预期结果实际结果结果分析1用户名:cx密码:123进入系统与预期结果相同测试通过2用户名:zcg密码:123账号或密码错误与预期结果相同测试通过3用户名:空密码:空用户名密码不能为空请输入用户名和密码测试通过7.3.2用户注册测试用例(1)测试方案用户注册时需要输入用户名和密码,并且这些信息都不能为空。(2)测试用例表7-2用户注册测试用例编号输入数据预期结果实际结果结果分析1用户名:lm密码:123确认密码:123注册成功与预期结果相同测试通过2用户名:lm密码:123确认密码:1234两次密码不一致与预期结果相同测试通过3用户名:空密码:空确认密码:空用户名和密码不能为空与预期结果相同测试通过7.3.3用户购物车结算测试用例(1)测试方案用户在进行购物车结算的时候需要进行勾选操作。如果没有勾选的话,结算按钮是不起作用的;只有勾选了相应的餐品信息,才可以进行结算操作。(2)测试用例表7-3用户在线点餐用例编号输入数据预期结果实际结果结果分析1已勾选数据结算成功与预期结果相同测试通过2没有勾选任何数据结算失败与预期结果相同测试通过7.4测试结论测试不仅包含对网站的功能、性能及可行性测试,更重要的是通过测试结果的分析得出,此网站基本满足用户的需求,性能基本达到要求,具有可用性和友好性。但是测试也有一定的局限性,所测试的环境和实际的运行环境也存在着一定的差异,所以不能完全地测试出网站存在的问题[16],还需要在后期的维护过程中,对暴露出来的新的问题进行纠正和更新。8结论本系统拟采用PHP作为软件开发语言,结合MYSQL数据库进行开发。系统由前后端两大模块组成,以构建较好的点餐系统为目标,将前后台完美结合。前台模块将使用微信小程序进行开发,主要包括用户注册、登录,点餐以及订单评价;后台模块则主要包括管理员登录、用户管理、餐桌管理、分类管理以及订单查看。本文围绕着这些主要功能进行了详细的描述,首先提出了需求分析,对该设计的模块单元进行了部分展示;其次对数据库的布局和基本数据进行了简单的描述,简洁明了的体现了该设计各个功能单元之间的关系。本系统只完成了点餐系统的几个主要功能需求,仍有几个功能没有加入本系统中,如带图评价、评论标签、用户端展示某菜品本月销售量,本店分享、菜品分享等。

参考文献[1]杭莉,聂莉娟.基于微信小程序的点餐系统[J].电子制作,2019(23):54-58.[2]范国婷,任乐琦,周灵辉,王妮.基于微信小程序的二维码点餐系统设计研究[J].赤峰学院学报(自然科学版),2019,35(12):59-62.[3]韩舶.微信小程序发展现状及其前景探析[J].数字传媒研究,2020,37(08):5-9.[4]纪玉玲.餐饮管理系统的研究与开发[J].黑龙江八一农垦大学学报.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论