【基于微信小程序的校园点餐软件的设计与实现6900字(论文)】_第1页
【基于微信小程序的校园点餐软件的设计与实现6900字(论文)】_第2页
【基于微信小程序的校园点餐软件的设计与实现6900字(论文)】_第3页
【基于微信小程序的校园点餐软件的设计与实现6900字(论文)】_第4页
【基于微信小程序的校园点餐软件的设计与实现6900字(论文)】_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

基于微信小程序的校园点餐软件的设计与实现摘要随着人们的生活水平的提高,对饮食的要求已不再是解决温饱问题,很多人在紧张的工作之余会选择享受美食来进行放松。小型外卖业作为一种个性化、多样化的服务产业,随着网络技术的快速发展与普及,形成了方便快捷、个性化的点餐软件,但在校大学生少有软件可以实现线上点餐,本设计便是通过微信小程序使得在校大学生可以通过微信就能进行线上点餐。本系统采用微信小程序及JSP为编程语言,使用MySQL数据库,Tomcat服务器开发完成,设计主要包括用户和商家两个部分,其中用户主要具有选餐,购买,支付,信息维护等功能。商家主要有实现售卖,更新宣传信息,查看菜品信息,更新菜品信息,管理员登陆等功能。关键词:微信小程序;校园点餐软件;MySQL;Tomcat。目录摘要 .引言1.1软件开发背景和意义随着近些年来互联网技术的发展,越来越多传统的产业借助互联网来对产品进行推广和线上销售,以达到盈利最大化,提高市场的竞争力。少数情况下会使用的外卖方式仍然是停留在电话外卖的层面上,毋容置疑,电话外卖方便,随时打一个电话就可以预定餐品。但这类方式体系也存在着一些问题,比如说这种类型效率低,而且对信息的保留和更新还需要人工记录,产生遗漏和出错的可能性巨大[1]。因此,校园点餐软件服务在逐渐兴起,据了解,在全国各地,许多学生对外卖的需求量都是很大的,许多学生因整天忙于学业而无暇去饭店吃饭,因而他们更热衷于校园点餐软件。同时该系统站为消费者提供免费的线上订餐服务,并通过让消费者享受多种优惠的服务,来吸引众多学生和商家使用。总的来说,我校的校园点餐软件仍然有待开发,优化空间还是很大本课题的计划设计实现的目的是使校园就餐更加方便快捷,学生和商家之间信息流通更加容易。本程序的设计实现结合当今销售模式,以及近些年来的计算机发展张杰和,达到信息快速更新,用户方便使用,界面简约明了,从各个方面使得目前使用者获得最好的使用体验,对于餐厅可提升餐馆提升形象,提高商品销售额方便菜单管理达到售卖,价格一体化的地步。对于学生降低学生就餐所用时间,减少时间浪费,把更多的时间用来学习。1.2相关技术分析1.2.1微信小程序及JSP技术微信小程序使用JSP语言,且微信小程序目前由腾讯公司使用代理、多加合作公司共同参与建立而来。其使用了传统的网页HTML文件,并且在其中插入JSP标记合Java程序段,从而形成完整的程序[2]。1.2.2MySQL数据库简介数据库是项目开发及其重要的一环,MySQL是目前为止最受欢迎的开源数据库管理系统,MySQL是一款与Java等主流编程语言结合极其紧密的数据库系统。其功能十分强大,并且支持跨平台操作,运行速度快,安全性较高,成本较低,支持Java等多种语言开发,数据库存储容量大,同时支持强大的内置函数等多种优点[3]。1.2.3Tomcat容器Tomcat作为一个Serlvet容器,使用Java语言经行编写,并且由于Java语言是当今最普遍的开发语言,且其支持多个平台,所以Tomcat也可在多个平台下使用。同时Tomcat不仅仅可以当场一个Servlet容器,它也同时具有处理Html页面等的各项基本功能的能力[4]。1.2.4Eclipse工具Eclipse是一个开放源代码的软件开发项目,提供一个为开发人员开发的软件平台。Eclipse企业级工作平台(EclipseEnterpriseWorkbench,简称Eclipse)是对传统的EclipseIDE的更大一步扩展,可以利用此平台实现对于数据库的链接和各类项目的开发、调试、测试等等,并且因为其具有输入快捷键,代码自动生成,代码自动填充等多项能力,使其可以极大的提高工作效率。因其功能丰富便捷,获得多数Java程序员的认可[5]。1.3软件开发环境(1)硬件要求:处理器:Intel酷睿i5处理器;内存:512M或更大;硬盘:120G或更大。(2)软件要求:操作系统:MicrosoftWindows10;论文撰写:MicrosoftOffice2016;开发平台:微信开发者工具,eclipse;(3)测试环境:IE浏览器、猎豹安全浏览器等。1.4研究方法及设计思路1.4.1研究方法目前就学校而言,学校少有店家会使用线上的方式经行售卖,但这这种售卖方式效率较低并且容易犯错,难以满足现代人们的生活标准。针对上述问题结合所学习的知识内容,根据软件开发的流程规范,依次按照对本次设计进行需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等等过程开发了一个线上的校园点餐软件。在这里,通过B/S模式,即浏览器/服务器模式来实现客户端对服务器端调用。本次设计中,客户端通过运行本地浏览器向Web服务器提出访问数据库的要求,服务器接受到客户端请求后,将命令交给数据库服务器。数据库服务器在经过验证合法性后对数据进行处理,再依次传回,转换成HTML形式,转发给客户端浏览器以Web页面的形式显示给用户[6]。1.4.2设计思路(1)所设计的系统应该合理合法,用户和商家使用时应当操作简单上手,减少应为操作复杂而减少人们使用的情况;(2)系统采用构建流程图的程序设计方法,通过所学知识制作数据流程图,使得对制作的系统有更加清楚的定位,也方便开发者的纠错测试等;(3)采用目前本科所学到的各项开发环境,合理利用资源,使得各项利率得到最大化的使用[7]。

2.可行性分析和需求分析2.1可行性分析2.1.1经济可行性经济可行性的结果是对当前财力进行分析,系统开发所使用的消耗的各项费用进行大致估算,同时对系统建成后所产生的社会价值经行评估最终评定而产生的。此小程序是作为毕业设计由本人开发没有其他人员的各种人工费用,参考代码也为网上寻找的免费开源代码,所以在经济上的投入甚微,小程序设计实现成功后可为今后食堂宣传管理提供巨大的便利条件,因此本次开发在经济上是可行的[8]。2.1.2技术可行性技术可行性是考虑目前个人的能力是否支持独立开发工作,以及软件配置和硬件配置是否可以支持完成该程序。对于本设计的实现,前端使用微信开发者平台经行开发,JSP语言经行开发,后端使用eclipse平台经行操作。经过本科的学习基本掌握其中代码的书写方法因此在技术上是绝对可行的[9]。软件方面:就目前而言,因B/S模型速度快,容量大,可靠性强,使用花费较低等等特点,使其成为本次设计开发模式的首选。结合以上各观点判断,此设计在技术上是可行的。2.1.3法律可行性本次开发所使用的技术资料都合法,论文撰写也由有自己完成,不存在抄袭等问题通过经济,技术,法律等方面考虑问题后得出本次开发是完全可行的。2.2需求分析2.2.1任务概述系统的设计任务:(1)简洁易用的商品显示界面;(2)用户各类信息的管理与选择菜品的实现;(3)商家对与所卖商品信息维护的实现;(4)商家对于用户的吸引的实现。2.2.2功能描述(1)首页:包含首部轮播图的商品吸引,扫码点餐,菜单浏览,以及饭店电话和在线客服点击对应项目进行页面跳转(2)登录与登出:未登录的用户需先进行登录才能进行商品浏览以及扫码点餐等服务,点击扫码点餐和商品预览若没有进行登录则会引导用户到登录界面进行登录。(3)商品展示:进行商品展示首先要进行扫描点餐和用户登录,否则自动跳到对应界面,商品展示界面中分为各大类的菜品以及对应菜品下的食物展示,该界面同时包含购物车功能,把用户选好的商品进行收集以及对与已选好的商品进行删除,同时该界面包含支付链接,通过支付进行订单提交。(4)订单查看以及订单评价:订单查看可以通过前端的微信小程序以及后端的浏览器访问查看。评价界面则由前端的微信用户界面撰写和查看已购商品的评价和全部评价。(5)后端商家管理系统:以管理员的身份可进入后台管理系统,后台管理的主要功能是对于商家,包括:订单基本信息管理、菜单基本信息管理,设置菜品类型的添加和修改、管理员的添加以及信息的修改、轮播图的新增等基本操作2.2.3非功能性描述(1)响应时间:期望系统的各种相应时间不应过长。(2)稳定性:减少bug,要求系统减少崩溃次数。(3)便捷性:系统应容易操作,视图简单明了。

3.系统体系结构3.1软件总述经过初步研究,结合基于微信小程序的校园点餐系统的实际效果,决定将系统分为用户管理、订餐管理、菜单管理、评价展示、轮播图管理等主要模块。在该模式下,采用微信小程序及JSP开发技术,Mysql数据库技术进行设计开发,实现了用户点餐,登陆,浏览,查询,支付,以及商家的管理等基本功能。3.2系统功能结构图与流程图用户可以进行菜品选购,添加购物车,订单查询,订单评价,更改个人信息等操作如图3-1所示。3-1就餐人员功能结构图管理员可以进行后台管理,订单查询,更改,添加菜品信息,添加更改轮播图如3-2图所示:3-2管理员功能结构图菜品购买流程图如下图3-3所示,选购商品进入购物车,且可以选择删除已选商品,选择购买数量,后再购物车中查询选择信息。图3-3菜品购买程序流程图3.3系统数据库设计3.3.1数据库选择MySQL是最受欢迎的开源SQL数据库管理系统,对于其他大型的数据库使用相比,使用更加简单方便,可操作性也很出色,多数软件设计都会选用MySQL数据库作为数据支撑,结合本系统特点,数据量不会太大,所以采用了MySQL数据库作为支撑。3.3.2数据库表设计(1)product_info菜品展示表:用于进行对于所售卖的食物的菜品进行信息记录,如价格,所属菜品类型,创建时间,是否出售,剩余量,以及照片展示,系统中需要对此表进行增删改查操作如图3-4所示。图3-4product_info菜品展示表(2)user用户表:主要用于记录消费者信息包含就餐人数,选择餐桌,电话号码,创建时间的记录,如图3-5所示。图3-5user用户表(3)comment评论表:主要记录已购买用户对于本次商品的评价,包含客户名字,编号,评论内容,头像网址等信息如图3-6所示。图3-6comment评论表(4)order_master订单表:主要记录创建订单的个人信息,包含订餐者名字,手机号,选择餐桌,编号,订单状态等基本信息如图3-7所示。图3-7order_master订单表(5)order_detail订单详情表:包含已卖出的订单中具体的每道菜的基本信息,包括订单编号,支付者编号,菜品名字,价格,数量等信息如图3-8所示。图3-8order_detail订单详细表(6)product_category餐品分类信息表:包含对于商品进行分类的各大种类包括名字序号等信息如图3-9所示。图3-9produ_category餐品分类信息表(7)seller_info管理员表:用于记录商家的各管理员信息,包含名字密码手机号等如图3-10所示。图3-10seller_info管理员表

4.界面设计4.1系统微信前台--首页包括导航栏包括首页、餐品介绍、订单查看、新品推荐、点餐单如图4-1,顶部使用blockwx:for实现图片转换实现轮播图的图片转换,进行商家对于菜品的宣传,底部扫码点餐,菜单浏览,饭店电话,在线客服使用view嵌套实现完成,使得结构更加简约合理,如图4-1所示:图4-1小程序首页4.2系统微信前台--菜品展示页面点击导航栏-新品推荐,链接餐品列表页面,显示所有餐品信息使用forEach方法循环便利订单信息,并且需要确认判断if是否获得餐桌号码判定是否扫码成功且只有扫码成功才能进行点餐如图4-2所示:图4-2菜品展示页面4.3系统微信前台--购物车页面用户登录后可以将选购餐品放入购物车,在此界面用户可以修改购买餐品数量、删除某一餐品或选择清空购物车,点餐完成后用户可以查看购物车内信息选择继续购买或提交订单结束购买,使用setStorageSync函数对选择的,进行鼠标点击的数据进行收集,createAnimation创建动画实例显示购物车动画。运行界面如下图4-3所示:图4-3购物车页面4.4系统微信前台--订单页面点击导航栏-订单查看,显示用户购买的订单信息。通过getDinnerNUM方法获取就餐人数,currentTarget方法对输入的信息进行记录读取如下图4-4所示:图4-4订单提交页面订单支付包含三种类型的支付方式打开动画使用createAnimation方法创建动画实例,关闭使用translate方法进行平移变换关闭如下图4-5所示:4-5订单支付界面等待上餐的信息,包含数量,各各价格总价格,催上餐等信息如图4-6所示,编号由随机数生成。图4-6上餐信息界面4.5系统微信前台--用户评价用户评价包含全部评价和个人评价两种,使用globalData全局数据获取数据信息Url+CommentList格式显示信息,如下图4-7所示图4-7用户评价界面4.6系统后台管理—登录页面后台管理界面通过:8080地址进入后台管理,当管理员登录时。需要手机号和密码共同输入如下图4-6所示。使用@RequestParam,且密码正确才能登陆成功使用put方法传递信息,如下图4-8所示。图4-8后台管理员登录页面4.7系统后台管理—商品页面菜品展示使用MadeAndView方法整体传输数据,并展示。商品的上架下架设计使用onSale和offSale方法,判断productStatus状态是否为0,0则正常1为下架如下图4-9所示。图4-9商品总览页面商品新增界面以及商品修改界面区别是判断productId值是否为空,为空则为新增项目,创建新的ProductInfo对象,包括名字、单价、库存、描述、小图、状态初始默认为0、类目编号等信息,若productId不为空则可使用save方法直接保存如下图4-10所示。图4-10商品信息修改页面4.8系统后台管理—菜品类型页面商品类型使用设计使用ProductCategory方法包含类目id,类目名字,类目编号信息,可添加和修改信息,添加界面如下图4-11所示,类型总览界面如下图4-12所示。图4-11商品类型添加页面图4-12商品类型总览4.9系统后台管理—订单管理页面订单页面则显示商品的各种信息包括订单id,订餐人的姓名,手机号,订餐所确定的地址,花费的金额,订单目前状态等信息。构造ModelAndView对象进行数据传输,构建使用finished方法实现订单完结,如下图4-13,4-14所示。图4-13后台订单管理页面图4-14后台订单状态4.10系统后台管理—管理员页面管理员页面包含名字密码手机号等信息,并且使用@ExceptionHandler注解抛出异常put函数收集信息,注册界面如下图4-15,总览界面如下图4-16所示。图4-15管理员注册页面图4-16管理员总览页面4.11系统后台管理--轮播图页面轮播图界面需要输入图片描述和图片地址两部分,在微信小程序平台中调用数据使用,轮播图当前状态如下图4-17所示,添加界面如下图4-18所示。图4-17轮播图当前状态页面图4-18轮播图新增页面

5.系统测试结果与分析5.1功能测试与分析在设计开发程序的过程之中,存在一些错误,问题是难以避免的。而对于在书写过程中的语法问题出现时,程序运行时便能自动提示,并且可以通过上网搜索等途径得以解决,这类问题相对来说容易修改。但另一类错误是在程序执行时的错误操作或者语法正确但逻辑出现了严重错误。这类错误隐蔽性强,开发环境难以查询出来。因此,对这发生的错误的修改时是费时费力的,现对目前开发过程中产生的问题经行简要的的总结和分析[10]。问题描述:用户登录时出现登录出错、秒退等问题解决方法:之前使用getUserInfo接口进行用户的信息调用,不需要每次经过用户的同意,并且无法获取用户的一些个人信息,改用wx.getUserProfile接口进行调用,需要每次对登录进行确认,但是可以获得到头像,昵称等信息。问题描述:使用手机进行真机调试时,无法获取数据库内的信息,菜单界面显示为空白。解决方法:根据出现的问题在网上进行了大量搜索后了解到,在手机真机调试时和电脑的服务器无法进行数据交互,所以商品无法显示,通过花生壳软件使用内网穿透,即NAT穿透,使得当计算机是局域网内时,外网与内网之间数据成功传递。

6.结束语通过几个月的毕业设计的学习,使得我在本科阶段所学习的内容得到了大幅度的升华和巩固,更加了解了微信下程序的开发过程和方法,且也从原先的书本上的理论知识转变成为了实际可以运用起来的知识,同时为以后做出更多的更好的程序积累了宝贵的经验,虽说Java是站在巨人的肩膀上编程,但是其中还是有很多的接口,方法需要自己重写才能实现。本次毕业设

温馨提示

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

最新文档

评论

0/150

提交评论