基于微信的网上订餐系统信息与计算机科学毕业论文Word格式文档下载.docx
《基于微信的网上订餐系统信息与计算机科学毕业论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于微信的网上订餐系统信息与计算机科学毕业论文Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。
在用餐高峰时期,往往会由于服务员服务不周造成效率低下且易出错。
这种订餐方式十分影响用户的餐饮体验,不利于商家的管理,进而造成消费者的流失。
随着网络技术的快速发展,自助订餐系统也逐步诞生,很多餐厅业都开始研发属于自己的手机APP,顾客可以实时对餐厅菜品进行图文浏览、在线下单以及结算等功能。
但这种餐厅定制的手机APP也会带来一些较大的问题:
客户端推广困难,顾客往往不会因为一次就餐就下载相关的APP造成手机内存的浪费。
从这些问题可看出传统的餐厅定制APP的问题很多,这也从无形中提高了餐厅的运营成本。
现如今,随着微信的广泛应用,诞生出了微信小程序,其小程序的开发主要运行平台是在微信上,通过微信内置的解释器将微信服务器的前端代码和用户数据库后台传输过来的数据进行拼接,进而形成餐厅菜品的图文页面以及顾客可进行相关订餐的基本操作功能,相较传统的手机应用APP而言:
微信具有庞大用户群体,推广方便,也利于顾客的使用。
对于减少消费者排队时间和提高服务效率具有很大的意义。
本设计是以微信平台为基础的“订餐小程序”软件的设计与实现,为了方便用户可以查看菜品信息,搜索菜品,在线点餐等,最有效的办法就是做成应用程序运用到基于微信的平台上,实现消费者微信订餐。
此外,提供一些辅助功能,便于管理者进行管理使用。
因此,研究开发一款基于微信平台的小程序,对于用户和管理者而言,具有十分重要的意义。
本设计围绕订餐系统的开发技术、系统需求分析以及系统设计等方面进行讨论。
该系统在开发过程中,以实用性为前提,搭建一个高效、全面的系统。
通过对用户的使用体验调查研究和对此系统具备功能理解的不断加深,对相应部分进行不断改进,完善了此应用。
随着Web2.0时代的到来,人们的信息交谈越来越注重交互性和及时性。
2011年1月,腾讯公司开发的免费即时移动通讯聊天软件“微信”问世。
由于其强大的功能和简洁友好的用户体验,使其迅速发展成为我国智能手机用户的最大沟通和社交工具之一。
2012年4月,“微信”产品正式进入国际市场。
在短短几年的时间里,微信的全球注册账户总数已超过4亿[3]。
微信applet基于每月9亿活跃用户的微信生态系统。
用户基数大,入口多,功能简单方便。
而小程序功能的快速发展,意味着小程序的开发和生态工具的构建将是移动互联网的巨大商机。
将平台搭建在微信中,能实现更快的引流,且后续的开发会更加方便。
相比于传统的订餐APP,微信小程序有如下优点1、辐射范围广,共享微信的全生态,可以实现跨平台的访问。
2、内存占用小,小程序的占用内存上限仅为2M,减少用户在手机内存上的浪费,大大的提高了访问速度,进而带来更好的使用体验。
3、灵活快捷,微信用户无需下载安装,随时需要随时使用,无使用门槛,大大的避免了安装APP所带来的麻烦。
4、开发成本低,设计周期短,可以形成线下使用场景与线上的完美结合,大大的降低了推广的成本。
因此,微信订餐小程序比传统APP有着更为良好的前景。
随着现如今餐饮行业竞争越发激烈,线上线下服务的结合的变得迫在眉睫,本文主要研究了“基于微信网上订餐系统”的设计与实现。
餐饮行业使用本小程序可以在降低餐厅运营成本的前提下,给用户提供更加优质的服务体验。
本程序主要功能包括:
管理者和用户的登录、菜品浏览、用户订餐和订餐结算等。
本文工作主要如下:
(1)完成“基于微信的网上订餐系统”需求分析
在对我国目前订餐系统现状分析的基础上,完成对本系统的功能需求的确定。
(2)完成微信小程序开发的相关技术的学习
在完成系统需求分析后,先要了解学习目前微信小程序开发的开发原理与相关的开发技术。
鉴于本系统需要实现微信前端与后台的数据交互,前台采用微信小程序开发者平台实现,后台则采用Java的JFinal框架实现。
(3)完成“基于微信的网上订餐系统”数据库架构设计
对需求分析进行整理,根据系统架构分解系统功能成各个子功能模块,并对子模块功能的工作流程进行详细设计分析,实现子模块间的统一接口。
本系统采用mySQL数据库,由需求分析得出各个实体和实体间的关系,以此设计出本系统的关系E-R图和每个实体的数据库表。
(4)完成“基于微信的网上订餐系统”软件开发及测试
系统运行后,分别对各个子功能模块进行用例测试,确保系统的正常运行,完成整个订餐系统的开发。
本文将基于微信的网上订餐系统设计划分成六个章节进行描述。
第一章为引言,主要从系统现状研究、背景和设计意义进行说明。
第二章为开发环境介绍。
阐述系统开发所运用到的MVC模式,B/S结构、JFinal框架、HTML5技术及微信小程序开发者平台。
第三章为系统的需求分析,围绕需求分析、系统功能需求分析和系统性能需求分析进行详细介绍。
第四章为系统的设计与实现,对系统数据库设计、系统详细设计、系统架构设计和系统功能实现进行模块划分,本系统由商家后台管理模块、顾客前台管理模块组成。
第五章为基于微信的网上订餐系统的测试,从系统测试目的、测试过程和测试结果分析三部分对系统测试进行介绍。
测设结果显示系统功能完善,页面简洁,达到系统的设计要求。
第六章为结论,对基于微信的网上订餐系统设计工作的总结,分析系统功能还有待改善的地方,以及对本系统未来发展的展望。
1开发环境介绍
1.1MVC模式
MVC(ModelViewController)模型(model)-视图(view)-控制器(controller)[3]:
MVC是一个强制分离应用程序输入、处理和输出的框架模式。
多个逻辑模型可以共同作用于一个视图模型。
采用这种模式能够降低程序耦合性,无需修改控制层和模型层代码就可完成对视图层代码的修改,大大的降低了在处理业务规程的代码量。
同时,MVC模式允许访问同一服务器端的视图是不同的,确保了其具有高重用性。
最关键的是,由于MVC模式可维护性高,使得其成为大多数软件设计中所运用到的技术。
1.2B/S结构
B/S结构是将服务器和浏览器相结合的构架方式。
是基于WEB的网络结构模式,其前身是C/S结构[4]。
在B/S结构中,WWW浏览器显示工作页面,通过UI展示前端,在服务器后端完成具体事物逻辑,这就是三层3-tier的结构。
在这种结构下,使客户端的电脑荷载极大程度的降低,也在一定程度上将系统预防和升级的工作和成本压力减少了,从而使客户的总体的成本降低。
在当前的形势,成本较低且不难掌控的方式,就是基于Internet/Intranet模式下,在局域网中建立B/S结构。
其服务器数据库的安全性完全可以保证,并且能够高效率的对数据库和管理权限进行保护[5]。
在B/S结构出现以后,对于像JAVA这样的面向对象的程序设计语言,显得高速、高效且易于掌握。
B/S结构的出现,是因为在Internet和WWW被普遍应用以后,之前所使用的C/S结构和主机/终端方式,已经满足不了现在全球网络的开放、传播迅速以及信息共享等的新形势[6]。
B/S结构有很多优点,其中最明显的优点就是:
客户不是直接浏览Internet上的文档、声音、图片、动画、视频等信息,而是通过WWW浏览器实现的,客户所浏览的信息是基于WEB端产生的,因为这些数据在服务器中储存,而Web端可以有多种多样的方式与数据服务器之间建立连接,从而实现信息的交换。
用户一般都是在Web端上下载所需要的程序到本地来安装使用,不需要通过其他的用户程序,Web服务器在这下载的时候会将数据等信息交给数据库服务器来执行,处理后还会返回给Web端。
这种三次体系结构如图2-1所示。
图2-1B/S三层体系结构
B/S架构,包括表示逻辑层、控制逻辑层,数据层,三层之间的相互关联的特性,同时三层之间的关系是比较独立的[11],下面进行简单介绍:
1.表示逻辑层,发送请求给服务器端,验证请求通过后返送给客户端,浏览器上显示信息。
2.数据层,服务器接收主请求,对数据库中请求的数据按照请求指示进行执行增删改等操作,将处理后的数据传递给网络服务器。
3.控制逻辑层,与数据库连接执行相应的操作来回应服务器主请求。
由服务器将结果返送给客户端。
1.3JFinal框架
JFinal框架是Java重多框架中的一个,可用于与微信小程序开发前端进行交互。
JFinal框架核心设计目的是缩短开发周期、降低代码量、实现功能强大,无需配置XML文件,使用者只需关注核心代码的实现,不需要写接口、写任务,大大的减轻了代码编写的任务量。
此外在使用控制器的时候也很少需要注释,JFinal数据库操作采用原生SQL,具有更低的学习成本,性能上更加强大且稳定。
1.4HTML5技术
HTML语言换言之是互联网的基础。
目前,网站设计上都有用到HTML技术。
HTML的改进应该基于Internet应用程序。
相较HTML,HTML5具有新的元素、属性和行为,使得Web网页的表现性能得到进一步强化。
它通过强大的技术集,确保了更好的兼容性,能够运用于多样化和强大的网站和应用程序构建上,基于HTML5开发出的应用因此适用于所有平台。
1.5微信小程序开发者平台介绍
微信技术是一种基于即时通讯技术的通信技术[12]。
微信小程序开发者平台提供原生APP服务。
微信平台也正是凭借快速上手、开发周期短等特点,逐渐成为了前端开发的热门。
微信小程序开发者平台在视图层上特有WXML和WXSS描述语言,逻辑层框架则是基于JavaScript的框架,使得开发者将更多的精力聚焦于数据逻辑上。
2基于微信的网上订餐系统的需求分析
2.1需求概述
作为订餐系统,本系统可以实现菜品的动态配置功能,该功能使得管理者能够通过增删改查操作对菜品进行管理,满足程序设计松耦合的原则。
本系统以微信小程序开发者平台进行顾客前台服务管理部分的实现,使用户可以通过登录鱼来了平台进行菜品浏览、添加所选菜品至购物车、搜索菜品等操作。
同时本系统包含商家管理后台,管理者可以进行餐饮分类、菜品管理、订单查看、用户管理等操作。
需求分析作为软件设计之前必须做的部分,为之后架构设计打下重要基础。
此步骤用户处于主导地位,设计者需要根据调查明白用户所需要的功能是什么,在此基础上确定系统的功能,因此提出完整,准确,清晰,具体的要求就尤为重要了。
订餐系统功能主要实现体现在顾客前台服务管理和商家后台管理两部分上,商家后台管理主要包括用户管理、菜品管理、餐饮分类、订单查看等功能模块,顾客前台管理主要包括登录、首页、搜索、购物车、个人中心等功能模块。
下面分别对各个部分的功能进行说明:
(1)顾客前台服务管理
顾客通过登录验证进入订餐系统首页,浏览菜品,添加菜品至购物车中,查询所需菜品,查看历史订餐的详情以及对购物车中菜品结算等。
顾客前台服务管理的用例图如图3-2所示。
图3-2用户需求用例图
(2)商家后台管理部分
管理员可以通过用户管理查看下单用户的信息,在订单查看部分则能看到具体的订单详情。
与此同时,可以添加、删除餐饮分类中的菜品分类,这样在菜品管理中添加、删除具体的菜品时方便查找。
商家后台管理的用例图如图3-3所示。
图3-3管理员需求用例图
针对商家后台管理功能中的用户管理、菜品管理和餐饮分类进行更具体的用例分析。
(1)用户管理
表3-1用户管理用例分析
用例名称
用例简介
前置条件
用户管理
对用户信息进行添加、删除等管理。
系统登录正常,网络连接正常。
主要操作
(1)管理员打开系统。
(2)进入系统登录界面,输入设定好的登录账号及密码。
(3)登录系统,进入系统主界面。
(4)点击用户管理模块,进入用户管理界面。
(5)点击用户管理界面的查询按钮,显示用户信息列表。
(6)按提示,添加、删除或修改用户信息。
(7)更新用户信息列表。
(2)菜品管理
表3-2菜品管理用例分析
菜品管理
对菜品信息进行添加、删除等管理。
添加菜品明细
(4)点击菜品管理功能,进入菜品管理界面。
(5)点击菜品管理界面的添加菜品信息按钮,进入添加菜品信息操作界面。
(6)按提示,选择或录入名称、类型、描述等信息。
(7)确认信息正确后,点击确定按钮,确认添加,菜品信息添加入数据库中。
删除菜品信息明细
(1)处于菜品管理界面。
(2)点击想要删除的菜品信息条目后的删除按钮,弹出菜品信息删除确认界面。
(3)点击确认按钮,实现菜品信息的删除,相应菜品信息从数据库中删除。
(3)餐饮分类管理
表3-3餐饮分类管理用例分析
餐饮分类管理
对餐饮分类信息进行添加、删除等管理。
添加餐饮分类明细
(4)点击餐饮分类管理功能,进入餐饮分类管理界面。
(5)点击餐饮分类管理界面的添加餐饮分类信息按钮,进入添加餐饮分类信息操作界面。
(6)确认信息正确后,点击确定按钮,确认添加,餐饮分类信息添加入数据库中。
删除餐饮分类信息明细
(1)处于餐饮分类管理界面。
(2)点击想要删除的餐饮分类信息条目后的删除按钮,弹出餐饮分类信息删除确认界面。
(3)点击确认按钮,实现餐饮分类信息的删除,相应餐饮分类信息从数据库中删除。
2.3系统性能需求分析
为了使系统功能达到我们的需求分析的目标,在性能上也需达到合理的规范。
系统性能需求分析如表3-4所示。
表3-4性能需求分析表
质量属性
详细要求
正确性
切实履行好职责需要,相应的完成每个模块的要求。
可靠性
每1000个小时的时间超过3次的失败率。
性能,效率
软件更新周期的输出应该是相同的系统信息更新周期。
在网络状况良好,在三秒钟内响应消费者的需求。
易用性
很容易理解:
建立一个统一软件开发过程简单的语言文件,之前和之后的语句是清晰和易于理解。
安全性
从意外或故意接入阻止软件,使用,修改,破坏或披露该软件将能够专注于存储在数据库服务器的总部数据的特性,客户端不保存任何业务数据和数据库连接信息,或什么样的数据同步。
可扩展性
二次开发能满足或改善的功能扩展,并增加适当的安全控制。
3基于微信的网上订餐系统的设计与实现
3.1系统架构设计
由需求分析得出,本系统的模块可以分为顾客前台服务管理模块和商家后台管理模块两大模块。
系统模块图如图4-1所示。
图4-1功能模块图
在商家后台管理模块,该模块对顾客前台服务传来的订单进行显示,由管理员对订单内的菜品进行处理。
将系统中对象分层,可分为三层:
用户界面层、业务层、数据访问层,进而构成系统体系架构图如图4-2所示。
图4-2系统体系架构图
3.2系统详细设计
在完成系统需求和系统体系架构的设计后,根据这些信息将系统按照模块具体划分成顾客前台服务管理模块和商家后台管理模块两部分,为了后期系统开发与维护的便捷,各模块之间相互独立。
下面将对各模块设计进行详细描述。
3.2.1顾客前台服务管理模块
顾客前台管理模块主要包括登录注册、首页、搜索、购物车和个人中心。
以下分别针对具体子模块进行介绍:
(1)登陆注册
微信用户通过账号登陆进行查看和订餐操作。
流程图如图4-3所示。
图4-3系统登录流程图
(2)首页
在首页模块,用户可以选择菜品分类,查看菜品详情,进行添加购物车等操作。
(3)搜索
在搜索模块,用户可以根据自己的喜好搜索相对应的菜品。
(4)购物车
在购物车模块,用户可以添加、删除菜品,对选定的菜品进行结算等操作。
(5)个人中心
在个人中心模块,用户可以我的历史订单等操作。
3.2.2商家后台管理模块
商家后台管理模块由用户管理、餐饮分类、菜品管理和订单查看四个子模块组成。
下面对子模块进行功能介绍:
(1)用户管理
用户管理实现了对订餐顾客的管理,管理者可以通过添加、删除微信用户实现对微信用户登陆的管理。
(2)餐饮分类
管理者通过添加、删除相对应的菜品分类,方便微信用户进行菜品的浏览,进而有更好的用户体验。
(3)菜品管理
管理者通过添加、删除相对应的菜品,确保前台的菜品可以实时的变化。
(4)订单查询
管理者可通过浏览页面,实时查看订餐情况,并进行菜品的配备。
3.3系统数据库设计
本系统主要的数据表由管理员、订单、购物车等实体构成。
菜品分类包括多个菜品,一个菜品只能包含于一个菜品分类;
订单中包含多个菜品;
管理员管理多个用户,接收多个订单,一个用户可以支付多个订单。
图4-4是系统E-R图。
n1
mn
11
图4-4系统E-R图
表4-1是管理员信息表,表中的username是管理者账号,pass是管理者密码,是用来进行登录验证的关键。
表4-1管理员信息表