摘要
计算机网络如果结合使用信息管理系统,能够提高管理员管理的效率,改善服务质量。优秀的智能点餐系统能够更有效管理用户智能点餐业务规范,帮助管理者更加有效管理用户智能点餐,可以帮助提高克服人工管理带来的错误等不利因素。所以一个优秀的智能点餐系统能够带来很大的作用。
本智能点餐系统使用了计算机语言Java和存放数据的仓库MySQL,采用了微信小程序来实现。本系统使用了框架SpringBoot和微信开发者工具实现了智能点餐系统应有的功能,系统主要角色包括管理员和用户。
关键词: Java;MySQL;SpringBoot
Multifunctional Intelligent Ordering Applet Based on SpringBoot
C ollege of M athematics and C omputer S cience Software Engineering(Upgrade)
A bstract
If the computer network is combined with the information management system, it can improve the efficiency of administrator management and improve the quality of service. An excellent intelligent ordering system can more effectively manage the business specifications of users' intelligent ordering, help managers more effectively manage users' intelligent ordering, and help improve and overcome the disadvantages such as errors caused by manual management. Therefore, an excellent intelligent ordering system can play a great role.
The intelligent ordering system uses the computer language Java and the data warehouse mysql, and uses wechat applet to realize it. The system uses the framework springboot and wechat developer tools to realize the functions of the intelligent ordering system. The main roles of the system include administrator and user.
Keywords: Java;MySQL;SpringBoot
目录
[1 绪论](#1 绪论)
[1.1 课题背景与研究意义](#1.1 课题背景与研究意义)
[1.2 课题研究现状](#1.2 课题研究现状)
[1.3 论文结构](#1.3 论文结构)
[2.1 idea](#2.1 idea)
[2.2 Tomcat](#2.2 Tomcat)
[2.3 MySQL数据库](#2.3 MySQL数据库)
[2.4 MVC框架](#2.4 MVC框架)
[2.5 Spring框架](#2.5 Spring框架)
[2.6 微信开发者工具](#2.6 微信开发者工具)
[2.7 SpringBoot框架](#2.7 SpringBoot框架)
[3 需求分析](#3 需求分析)
[3.1 功能需求](#3.1 功能需求)
[3.2 可行性分析](#3.2 可行性分析)
[3.3 非功能需求](#3.3 非功能需求)
[4 总体设计](#4 总体设计)
[4.1 系统架构设计](#4.1 系统架构设计)
[4.2 功能需求](#4.2 功能需求)
[4.3 数据库设计](#4.3 数据库设计)
[5 系统实现](#5 系统实现)
[5.1 登录](#5.1 登录)
[5.2 菜品管理](#5.2 菜品管理)
[5.3 轮播图管理](#5.3 轮播图管理)
[5.4 菜品类目管理](#5.4 菜品类目管理)
[5.5 订单管理](#5.5 订单管理)
[5.6 菜品展示](#5.6 菜品展示)
[5.7 确认订单](#5.7 确认订单)
[5.8 个人信息修改](#5.8 个人信息修改)
[5.9 我的评价](#5.9 我的评价)
[6 系统测试](#6 系统测试)
[6.1 测试目的](#6.1 测试目的)
[6.2 测试方法](#6.2 测试方法)
[6.3 测试用例](#6.3 测试用例)
[7 结论](#7 结论)
1 绪论
1.1 课题背景与研究意义
随着计算机的普及,国际上智能点餐系统前景良好,而国内上的点餐系统数量上也增加了不少,智能点餐的出现,证明了智能点餐系统具有良好的前景。在当今世界之中,随着科学技术的不断发展和计算机越来越普及,运用计算机对系统进行管理是一种趋势。如今随着社会和生活的信息量在不断地增长中,如何提高xx的管理效率成为了人们关注的话题[1]。
传统人工管理智能点餐系统会消耗过多的人力和物力,很有困难造成管理员管理混乱,从而对智能点餐系统的正常运营造成影响,很多传统的管理模式已经不能够适应人们的要求。我们可以充分利用计算机的资源,完成网上用户智能点餐的信息服务。最后为了方便管理员能够大量处理业务,可以借用于计算机强大的信息资源。在考虑到用户的便处之时还需要考虑到用户使用的安全问题[2]。
随着对各种不同模型的讨论和信息技术的最终发展,并且还讨论了在海量数据中如何安全和高效地存储的问题,人们逐渐发明了一些办法。将计算机软硬件和数据库进行结合起来,研究了一套能够为企业正常运行而提供的功能,这种功能最后带动了信息管理系统的发展。一个智能点餐系统不仅能够解决用户的需求,还能够降低人工的操作出现错误的几率。这能够使得管理员的管理更加标准化。
1.2 课题研究现状
在很多发达国家中,智能点餐系统的进展明显要快于我国很多,在管理方面也建设了很多不同的管理平台,这些管理平台能够为管理员管理提供数据信息,为管理员提供了一个高效的管理平台。这些智能点餐系统原则上的设计能够结合网络软硬件构建出信息系统。
相比较于国外而言,我国网上智能点餐信息化发展是较为缓慢的,最初只是将智能点餐信息作为一个概念进行研究。随着信息技术的不断发展,目前我国在智能点餐管理方面已经有了进步。
以智能点餐系统的应用为基础,可以将软件开发机构分为几个层次:
第一个层次中的国外软件开发机构能够提供较为成熟的智能点餐系统,这些智能点餐系统的主要目标为市场上的高端用户,软件能够满足高端用户对其平台的要求。
第二个层次是我国的一些软件机构在研究智能点餐系统的时候往往引入了国外软件的设计模式,之后结合国内市场的具体需要进行设计软件。设计出的软件一般能够符合大多数用户的认可[3]。
第三个层次为定制的智能点餐系统。一般是结合于用户的实际需求,定制有特殊功能的智能点餐系统,从而满足用户的不同要求。
1.3 论文结构
针对本文的智能点餐系统安排论文的章节如下:
第一章是引言。本章主要介绍了课题研究背景与意义、课题研究现状和论文结构。
第二章是系统开发环境及技术。本章介绍了智能点餐系统开发环境和所涉及到的技术。
第三章是需求分析。本章介绍了智能点餐系统的功能需求和非功能需求,绘制出系统功能模块图。
第四章是系统总体设计。对系统功能模块进行划分和数据库设计。
第五章是系统实现。本章阐述了智能点餐系统功能模块的实现功能。
第六章是系统测试。本章阐述了使用黑盒测试对系统进行测试。
2相关技术简介
2.1 idea
本智能点餐小程序使用的开发工具为idea,idea是Eclipes开发平台的扩展,我们使用idea可以极大地提高数据库和JavaEE结合一起开发使用。idea能够为JavaEE系统提供丰富的继承环境,它包括了测试功能、代码编写功能和打包发布功能。
idea被很多程序开发者认为是一款非常优秀的插件集合能够用于开发JavaEE软件,idea能够支持很多的开源产品。目前idea能够支持JavaEE框架和数据库连接工具等多项功能,idea差不多囊括了Eclipse的所有功能。
2.2 Tomcat
Tomcat属于Web服务器,能够运用由B/S模式编写的Web应用,在本次开发的智能点餐小程序中使用的Web服务器为Tomcat。Tomcat底层由Servlet实现,可以说是一个Servlet容器。
我们基本可以这样认为,假如我们在一台服务器上配置Apache服务器,那么在服务器上就可以利用Apache服务器相应Html页面的请求。Tomcat部分是Apache的扩展,但是Tomcat是完全独立于Apache的。当我们运行Apache的时候,实际Tomcat运行的线程与Apache是不同的,Tomcat独立于Apache运行JSP和Servlet,Apache服务于HTML页面。
2.3 MySQL数据库
MySQL数据库能够存储大量的数据,在操作上不仅方便快捷,如果想加快查询的速度,可以在数据库表上加上索引,MySQL通过SQL语句可以管理系统的信息。如果系统需要添加数据的时候,可以调用insert语句更新数据库记录,通过少量的SQL语句可以管理系统的信息。MySQL是开源免费使用的数据库,通过标准的SQL语句可以操作系统的信息,安装和部署MySQL数据库也较为方便,通过数据库管理工具Navicat for MySQL可以以可视化的方式管理数据库的信息。
本次开发的智能点餐小程序存储数据采用的是数据库MySQL,可以使用开源框架对数据库MySQL进行操作。开源框架可以对JDBC进行封装,提供了许多中对数据库进行操作的方法,从而实现对数据进行增删改查,从而提高了开发智能点餐小程序的效率。开源框架封装的数据库操作语言能够根据开源框架的配置文件转化为数据库的SQL语言。MySQL数据库配合开源框架能够方便对数据库记录进行修改。
2.4 MVC框架
MVC框架能够处理智能点餐小程序的超链接,用户填写表单所发送的请求,不能够直接发送到前端页面中的请求中进行处理,而是需要先发送到后端控制器中进行处理在返回到前端页面当中,由后端框架处理前端页面传递过来的请求。通过后端框架可以避免用户直接访问前端页面,能够较大提高系统的安全性。
2.5 Spring框架
Spring框架是智能点餐小程序的核心部分,Spring框架提供的IOC容器包括了业务逻辑组件和DAO组件。Spring中的IOC容器能够提供不同的实例代表智能点餐小程序。Spring的依赖注入能够使得智能点餐小程序各个部分松耦合在一起,组件与组件结合的方式依赖于Spring框架的依赖注入,Spring框架使用了大量接口编程能够降低重构的成本,方便系统后续的修改。
Spring框架的事务声明框架能够应用于事务之中,如果有了声明式事务则不用将事务策略与代码结合起来,通过配置文件实现以便业务逻辑组件能够专注于业务逻辑的实现,能在一定程度上减少程序员开发的难度。
2.6 微信开发者工具
微信开发者工具发展到现今功能已经相对完善了,随着开发者继续开发,微信开发者功能不断地完善中。由于小程序能够运行在手机上,且不同版本都能够运行,因此不同型号的手机都可以使用微信小程序。在微信开发者工具的控制台上可以观察到系统中不同变量的变化,从而开发者能够快速找出系统中存在的潜在错误。微信开发者工具能够把数据存储在本地的数据库中,这样有利于管理员管理系统中存在的错误。
2.7 SpringBoot框架
经过多年的完善,SpringBoot框架已经发展得很成熟,相比于Spring框架少了很多配置,SpringBoot框架内嵌了Tomcat,不用额外配置Tomcat服务器运行系统,在编写代码操作上也可以利用R对象完成,SpringBoot编写而成的程序能够和前端页面方便交互,对异常也能够很好地处理,能够捕抓到很多异常,SpringBoot框架是利用接口进行实现交互的,因此在后期修改的时候,能够快速方便修改。
3.2 可行性分析
3.2.1 经济可行性研究
如果管理员有了智能点餐小程序,便可以对网上用户智能点餐进行管理,在资金花费上可以节省不少。智能点餐小程序的设计开发与实现目的是解决传统模式带来的多余经济支出,尤其是人力资源带来的成本支出[5]。传统的智能点餐小程序不仅需要消耗大量人力资源,而且往往需要管理员手工记载数据。本智能点餐小程序设计实现的目的为降低开发成本,并且可以节省管理员的时间和提高用户的体验感。考虑到目前的互联网开源框架和硬件设备,所以经济上是可行的[6]。
3.2.2 技术可行性研究
根据前期对智能点餐小程序功能的分析和确定,最后选择合适的软件架构和技术实现系统的开发,系统在设计实现的时候无论是开发工具还是系统架构使用的都是较为方便的开发模型,还包括了较为成熟的解决方法。综合市场上现有的智能点餐小程序,本次所使用的技术基本可行,并且能够满足用较少的开发和学习的成本。此次使用的开发模式能够快速构建系统,有不少现成的系统可供参考,所以后期的系统维护和升级较为容易,因此在技术上是可行的。
3.2.3 操作可行性研究
智能点餐小程序开发出来的目的是为了用户访问的操作的,因此智能点餐小程序在设计的时候需要注意到用户操作和访问的问题,用户群体普遍能够接受信息化的使用操作,所以用户的学习成本不是很高。本智能点餐小程序在设计的时候没有采用过于繁杂的操作,使用的操作界面和按钮在设计上较为简单,参考了不少的主流智能点餐小程序,因此系统在操作性上是可行的。
3.3 非功能需求
智能点餐小程序在设计的时候需要注意非功能性需求,还要满足系统业务流程的需要。
(1)兼容性
一般软件系统可以分为服务器和客户端,服务器需要运行程序,客户端显示程序的界面,系统的机器需要放置在机房中,软件开发者在平常的时候需要对其维护,用户所能接触到的界面其实是由客户端运行的,属于人机交互的接口。为了提高智能点餐小程序的兼容率,需要考虑代码实现的时候和前端界面的样式是否能够相互适配。
(2)易操作性
程序开发人员实现系统的时候,除了保证业务功能的实现之外,还需要注意使得业务功能简化,用户在操作的时候能够简易完成事件流程。很多用户不具备真正的计算机知识,如果设置得过于复杂,那么会影响用户使用的体验感。如果系统具有易操作性的特点,那么用户可以很快熟练使用系统。
(3)可扩展性
软件系统随着事件的推移需要更新系统,本智能点餐小程序也不例外,如果需求发生了改变,那么就需要调整系统的功能。如果采用的是面向对象程序设计方法,那么可以使用接口编程技术,严格遵循软件开发规范,最后对系统进行修改的时候会具有较高的适应性。
所设计的智能点餐小程序需要适应在未来管理的时候能够适应需求的变化。从侧面要求系统需要具有扩展性。因此系统开发的时候需要遵循一定的软件规范从而能够便于后期对系统的修改。
(4)可靠性
软件系统需要由可靠性,否则很多实际对系统的管理会失效,使得业务功能不能够正常地流转。系统的可靠性包括了硬件能力、应用和数据。一个系统可靠性越高那么代表系统从异常到能成功运行的能力和使用价值也会越高,用户的体验感会变得更好。
4 总体设计
4.1 系统架构设计
微信小程序端在向用户提供操作界面的时候还需要保存前端用户输入的各项信息和处理用户提交的请求,业务逻辑执行相关操作处理前端界面传递过来的数据,最后把处理结果显示给用户。服务器端主要处理用户点击页面传递过来的请求,最后去数据库端请求数据库服务器执行相关的操作,从而能够得到相应的数据记录,之后根据情况对取得的数据记录进行处理返回到微信小程序端显示相应的结果。
图4-1 架构设计图
4.2 功能需求
4.2.1 功能需求分析
智能点餐小程序的目的就是管理用户智能点餐的日常事务,通过分析,智能点餐小程序的业务主体包括不同的角色。因此在智能点餐小程序当中首先需要实现角色之间具有不同的权限,要为不同用户分配相应的权限,区分不同角色区别需要使用用户表,用户表中需要设置特殊列区分不同的用户,用户表中存储着用户的个人信息。
(1)注册
在智能点餐小程序中点击注册按钮实现注册功能,用户点击注册按钮之后会跳转到注册界面中,用户在注册的时候需要输入必要的信息。