大家好,欢迎来到IT知识分享网。
摘 要
外卖管理系统的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。
与安卓,iOS相比较起来,外卖管理系统在流畅性,续航能力,等方方面面都有着很大的优势。这就意味着外卖管理系统的设计可以比其他系统更为出色的能力,可以更高效的完成最新的套餐类型、套餐、菜品类型、菜品、员工、用户、商品订单等管理功能。
此系统设计主要采用的是JAVA语言来进行开发,采用springboot框架技术,框架分为三层,分别是控制层Controller,业务处理层Service,持久层dao,能够采用多层次管理开发,对于各个模块设计制作有一定的安全性;数据库方面主要采用的是MySQL来进行开发,其特点是稳定性好,数据库存储容量大,处理能力快等优势;服务器采用的是Tomcat服务,能够提供稳固的运行平台,确保系统稳定运行。通过外卖管理系统来提升本课题的各项功能的工作效率,提供了一个多样功能,具有良好实用性的外卖管理系统。
关键词:外卖管理系统;springboot框架;JAVA语言;
The purpose of takeaway management system is to make it more convenient for users to connect people, equipment and scenes more three-dimensional together. It can allow users to use the product in a more sci-fi way, experience the convenience brought to people in the high-tech era, and also allow users to experience a different experience style from the conventional products in the past.
Compared with Android and iOS, the delivery management system has great advantages in fluency, battery life, and other aspects. This means that the design of the takeout management system can be more excellent than other systems, and can more efficiently complete the latest set meal types, set meals, dish types, dishes, employees, users, product orders and other management functions.
This system design mainly adopts JAVA language for development and springboot framework technology. The framework is divided into three layers, namely control layer Controller, business processing layer Service, and persistence layer dao. It can adopt multi-level management and development, and has certain security for the design and production of each module. Database is mainly used to develop MySQL, which is characterized by good stability, large database storage capacity, fast processing power and other advantages; The Tomcat service is used to provide a stable operating platform to ensure the stable running of the system. Through the take-out management system to improve the work efficiency of the various functions of the subject, to provide a variety of functions, with good practical take-out management system.
Keywords: Takeaway management system; springboot framework; JAVA language;
目 录
1 绪 论
近些年来,随着电子科学技术的高速发展,计算机相关行业的发展创新。衍生出了各种各样方便快捷的电子设备。如手机,电脑等。这些电子设备功能强大,方便所有类型的人们使用。但这些年来,人们对手机,电脑等电子高科技产物的依赖和需求也越来越大。现在的人们已经不再满足于它们各式各样的基础功能,例如与他人通讯,上网了解信息等。人们现在更希望的是随着科技的发展,手机、电脑等高科技产品可以给自己带来更多方便快捷、简单实用的功能。同时也希望自己在使用的时候可以更轻松的掌握使用这些设备的技巧。同时,伴随着这些电子设备的出现,操作系统就显的尤为重要,电子设备各式各样功能的顺利运行都要依靠它的稳定运行。操作系统可以管理、控制计算机的硬件资源和软件资源,也是计算机最为基本的系统软件。人们所有能涉及到和使用到的软件运行几乎都离不开它。它就像人类的大脑一样,控制着计算机的各种设备。但同样,操作系统在发展时自身也会出现很多问题,同样的系统不能应用在所有的硬件设备上。这个问题对于大部分的电子科技受益者来说很陌生,处理起来很有困难。会让使用者不能在第一时间使用,因此会造成很多负面的影响。
什么是外卖管理系统?外卖管理系统区别于人们司空见惯的安卓系统和iOS系统,外卖管理系统希望只用一整套系统就解决使用的硬件设备需要有不同的系统的繁琐问题。它的出现不仅让使用者在使用时更加方便,还可以让使用者在使用选项上有了更多选择的余地。外卖管理系统十分流畅,可以让使用者在使用时几乎没有任何的延迟和卡顿,可以给使用者带来十分轻松的体验。并且可以在几乎我们能看到的所有电子设备上使用,大幅度的增加了外卖管理系统的使用范围。同时,外卖管理系统可以同步全部的连接对象,对于使用者来说这样的系统更加方便。它可以很精准的将使用者所需的各方面的外卖信息需求通过该系统提供给使用者,并且它的使用普遍性可以让各个年龄段的使用者都能有一个良好的使用体验。
1.1研究意义
伴随着科技的进步,时代的发展,越来越多的电子设备也随之出现在人们的眼前,在电子设备,软件技术成熟之前,人们可以选择使用电子设备,通过信息软件的帮助,找到最适合自己,最符合自己的管理方式。而外卖管理系统的普及也伴随着很多问题,有的信息软件不能适应用户使用的电子设备的系统,这会让部分使用者对这款软件彻底否认,会导致该系统失去预想的市场竞争力,面临淘汰。使用者更希望自己使用的外卖管理系统可以在完成最基本的功能需求的基础上变的更加稳定,流畅,并且没有任何因兼容性而引发的复杂问题。
而外卖管理系统的出现也渐渐让这种类似的问题有了一个相对明确的解决方案,外卖管理系统可以使软件的运行速度变的更快,并且可以同步全部的连接对象,可以确保项目的正确运行,同时,在如此信息化的时代里,使用者对软件的各项要求也越来越多,在如此广阔的信息量之下,使用者更希望自己使用的系统可以畅通无阻的浏览每个网页上的信息,可以全方位的了解套餐、菜品、订单等信息管理的特点,根据自己的需求,选择最适合自己的方案。并且让整个电子信息时代都注入了新鲜的血液,且能更好的流向各个领域,各个行业,为电子信息时代继续发光发热。
1.2系统设计目的
为了适应电子信息时代和科技化时代的到来,并且应对今后可能越来越广泛的信息化的发展,需要做出了更加超前时代的功能应对。在这个高速发展的时代里,使用者对信息管理系统的要求也是越来越高,使用者都希望自己可以有拥有一款符合当今科技发展时代,且具有科技感,功能齐全的系统。希望可以只通过一个系统就可以轻松完成自己的需求,而不再因为信息的复杂而不知如何做出最佳选择。科技时代带给了人们轻松,立体的体验,而外卖管理系统就符合大家对科技时代的系统所拥有的期待,它可以提升用户的使用体验。
1.3系统设计思想
想要做一个完整的系统,就必须要为其制定一套详细并且规范的原则。这些原则定可以帮助我们在设计过程中能有一个更好的设计理念和设计方向,可以让系统变的更加立体,更加完美。变成更加符合使用者所希望的模样。所以为了能够更好的完成系统,对系统制定了一些原则:
(1)以人为本原则
这个外卖管理系统,它的本质是为人们服务。是希望其可以实现并满足广大使用者对科技时代下的外卖管理系统的憧憬与向往。如何解放需要人工才能完成的部分和提升使用者的使用观感是最为基础的也是最重要的。它的设计宗旨就是为使用者服务。明确使用者的想法和需求,设法让使用者可以真实的感受到科技时代的魅力是设计的初衷。外卖管理系统可以满足新时代使用者的需求,让使用者能够真实的感受到它的便捷。
(2)可修改原则
设计系统时并不能确保让所有的功能都达到使用者最理想的要求,在设计的过程中可能会有纰漏。所以在设计时要确保可以及时对不完整,不完美的部分进行修改和补充。同时,也要确保在系统发行后,在出现bug时可以在不影响使用者使用的情况下对系统进行线上维护。同时要确保在修复,更新,维护的同时可以保证使用者的体验。
需求分析的首要是要分析用户的需求,知道用户存在的一些情况,并且要明确用户的使用状况,然后设计规划解决的问题。其中在使用定性的分析以及定量的分析,从这两个方面获取用户的需求。一方面定性的分析获得的应该是用户的基本需求,能够发现现在人们的习惯要求。所以定性的需要主要是为了多与用户交流,从而更为深刻的了解一些存在的需求问题;定量的分析则是发现一些潜在的用户,并且获得不一样的反馈内容。所以定量的需求要让用户来阐述一些情况,一定让使用者清晰的进行客观的描述,这样才能够比较全面的获得用户的需求所在。
2.1系统性能需求
(1)鉴于该系统是一款面向全体使用者的系统,管理者需要录入使用者的个人信息、给予使用者应有的权限,让使用者可以更加自由的使用系统。
(2)要给予用户更高的搜索权限,让用户可以全方位的了解本课题,让用户可以搜索到套餐、菜品等信息。
(3)要提升用户的使用效率,让用户可以更加快捷的搜索自己想要搜索的东西。同时,还要做到同步性,在用户搜索信息或者修改信息的同时,系统可以及时反馈到数据库上,进行及时更新和修复。
2.2系统用例图
本系统采用自上往下的方法开发,基本定位如下功能:
本课题要求实现一套外卖管理系统,系统主要包括管理员模块、员工模块和用户的功能模块;
(1)管理员用例图如下所示:
图2-1管理员用例图
(2)员工用例图如下所示:
图2-2员工用例图
(3)用户用例图如下所示:
图2-3用户用例图
2.3可行性分析
2.3.1经济可行性
任何系统在开发之前,经济方面的问题都是最应该被考虑的,经济问题主要体现在两个方面。一方面是在开发时,现有可使用的设计资源能否满足系统的预计开发消耗;另一方面是在开发以后,系统的盈利能否保证系统的正常运行和日复一日的更新消耗。
开发方面,因为在开发系统时使用的开发工具基本都是免费的,只有一些少量的人工费。所以,开发工具上的经济消耗都是很少的,都是在可控范围内的。另外,可以在确保质量的前提下,尽可能的减少设计成本,可以为开发之后的工作留下更多的经济资源。
在最大限度降低开发成本的同时,也可以让使用者最大限度的从系统中获利,对双方来说都是一个可行的外卖管理系统。总结下来就是,该系统的各项开发费用都处于可控范围内。经过了种种分析和考虑后证明,该系统软件可以行得通的,经济方面的压力是在预料之内的。
2.3.2技术可行性
在研究技术可行性的时候,系统的开发环境是可以确定的,所以技术可行性最好与系统功能和性能以及一些实际的情况同时考虑。在可行性研究阶段,结合实际调整开发的内容和选择能够完成的技术体系是一个可用的手段,如果系统进入开发阶段,任何的调整都意味着会耗费更多的经历。需要再次明确的问题是,技术可行性不只是考虑在技术上是否可实现,实际上还包含了在当前的实际的情况下的技术可行性。有很多的因素例如时间不足、预期的开发目标技术难度比较难、不能有充足的技术积累、而且对于技术的掌握不够等这些实际存在的情况,都是要提前部署和认真规划的。
开发外卖管理系统的技术内容分析,目前的状况是从网络硬件和相关技术上看是可行的。该系统采用了JAVA和 MySQL技术。到现在可以知道,很多的基础知识都是经过学习使用的,在后续的设计中还需要不断的练习,学习更多相关的技术经验来充实自己对于系统的开发。
2.3.3社会可行性
在社会可行性分析中,首先能结合国家经济和社会发展的实际情况,还需要能够让用户更加的便利,给使用者带来多方面的高效益,使得可以比较快速的发展以及应用,随着很多领域的发展,尤其是智能化的社会下,据统计许多的人都拥有属于自己的系统,这种情况下就带来很多的问题,比较突出的就是管理上的不足,从而出现低效率的原因。
在可行性分析中的收益分析,是比较清晰地发掘开发的系统带来的各种直接的有效的利益以及一些隐藏起来的好处,以便在后续的设计中更加的坚定和确信系统开发的意义。解决一些社会方面存在的问题,设计并开发系统肯定是要发现某类社会存在的问题,并且能够带来一定的社会价值。还有一些社会的影响力,是通过系统想优势和切实的好处来产生的,能够在一定的情况下提高效率,肯定会增加一些社会的进步和发展。社会上的可行性,包括法律上的可行性,也包括法律上的可能性,法律上的可行性,需要社会上的许多因素,可以来实现系统建设的现实性。如果所开发的系统与国家法律或政策等相关的因素不相符合,在某些信息化的邻域中使用的是一些加密的信息或者技术问题,还有不经过正常的操作使用其他的一些公开的信息等这些情况,这样的系统的开发在法律的范围中就是不能被允许的。
其中还有一个比较重要的用户使用可行性也是通过执行系统时的可行性,是从所有情况下用户的角度来考虑系统的可行性,由于设计开发相关的系统就是站在社会中广大的用户体验考虑的,所以在这个层面考虑也是符合的。
2.4系统开发技术
2.4.1 SpringBoot框架介绍
现如今后台开源框架主流的有SSH、SpringBoot、SpringBoot,但是SSH、SpringBoot框架的环境配置项较多,而SpringBoot主要的设计思想就是约定大于配置,故而SpingBoot在设计时几乎达到零配置。SpringBoot整合了业界上的开源框架。具体采用技术框架描述如下:
(1)Mybatis:Mybatis:提供自动映射,动态SQL,级联,缓存,注解,代码和SQL分离等特性,使用方便,同时也对SQL进行优化。
(2)SpringMVC:通过一套MVC注解,让POJO成为处理请求的控制器,无需实现任何接口,同时,SpringMVC还支持REST风格的URL请求。
(3)SpringBoot:从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。
SpringBoot是一款非常强大后台框架,因为SpringBoot开发时可以基本不用写配置文件,所以使用SpringBoot搭建网站的后台环境,在SpringBoot的yml配置文件中写入项目启动端口,项目就可以启动。项目的Java文件还有静态文件都是由SpringBoot来管理。
2.4.2 B/S架构
B/S(Browser/Server,浏览器/服务器)模式,是一种架构模式,属于WEB发展后的所出现的一种网络构造,而WEB又是主要的浏览器应用商品软件。B/S架构模式不仅将系统的重新开发、维修及利用等简单化,更将其重点放到了服务器上。它使客户端得到了统一,服务器上集中了系统功能的最关键部分。
B/S架构的工作模式是浏览器发出请求后服务器进行相应的响应。Internet上文本、图片、动画等信息主要由Web服务器产生,而用户主要是通过浏览器访问这些信息。在Web服务器上下载程序时,如果在下载过程中遇到某些与数据库相关的指令,可以将这些指令交给数据库服务器来解释、进行执行。
2.4.3 MySQL介绍
数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。其中非关系型数据库又分为网络数据库和层级数据库。网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,用户与网络中的数据库数据交互也借此得以进行。IMS也是最早研制成功的数据库系统。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。
大家常用的其他关系形数据库系统大多是MySQL AB公司开发的,其中MySQL也是由这家开发的,所应用的分布式数据库管理系统是客户机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数针对不同的语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。
MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性。因此,MySql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。
2.4.4 Java介绍
Java,目前Internet中最流行的编程语言之一。它吸取了C++编程语言的长处的同时还摒弃了许多复杂抽象,不易掌握的问题,使得Java编程语言不但功能强大而且使用方便。
Java技术在使用过程中有优势也有劣势。其优势在于,因为Java本身相对严格的语法,所以可以强化程序员在编程时的规范性问题,不容易出现明显结构错乱的问题。因此,规范将是Java的巨大优势。但是它也有劣势,就是不太适应互联网模式下的不断修改,总是修改容易破坏架构。
面向对象的三种特征:封装,继承和多态。
密封:主要是指对数据信息的隐藏,通过把数据信息类别与通过数据信息的功能密封在一块,让数据信息被保存在数据信息类别的里面,只留下一部分可以对外的接口,以便于尽可能的地隐蔽里面的数据信息。因此好处也就十分的明显就是实现了专业的分工,同时也隐藏了信息,保证了安全。
继承:这就像是实际人生中的父子关系一样,孩子要承袭父母的特点。类似的,一个种类同时也继承了另一个种类的某些特性,其父属之间有一种特别的一般性的联系,是is-a的关系,从根本上来说都属于同一个实体。
多态:多态系统是以封装和继承为基础的。由于所传输的父类对象能够引入各种各样的子类对象,因而能够显示出各种各样的现象,给多态的编程带来了良好的扩展。
2.5系统流程分析
(1)个人信息流程图
用户在成功进入系统以后,可以获得手机、昵称、性别、头像、等个人信息。获得个人信息的流程见图2-4所示。
图2–4个人信息流程图
(2)添加信息流程
系统的正常运行离不开数据的支撑,因此,在本系统中添加了数据插入功能,数据库中数据的缺失,会直接影响到数据的搜索结果,搜索结果错误又会导致逻辑处理出现偏差,最终导致系统性错误或故障,所以在对系统进行数据添加操作时,必须要对数据进行合法性校验,确定此条数据是否有惟一的主关键字和字段是否允许为空等等,若数据库表中不允许某字段为空,而程序没有进行该字段非空逻辑校验,那么就会出现数据存储失败,可能因此造成严重系统后果。添加信息流程如图2-5所示。
图2-5添加信息流程图
(3)修改信息流程
因为使系统的使用者是人,所以难免会有疏忽,从而造成系统输入的信息有误。或者由于其他原因导致数据发生改变,使得必须对系统内的数据进行相应的调整,所以在程序运行中,数据的修改操作是不可缺少的重要环节。
在进行数据更新时,必须要有一个惟一的主关键字,以便数据库能够搜索到相应的数据;另外,还必须遵守数据插入过程的操作规范,以确保数据的正确性。修改信息流程图如图2-6所示。
图2-6修改信息流程图
(4)删除信息流程
删除操作在系统中并非是必须的,可根据用户及系统的需要来决定是否添加删除功能,删除操作就是使用delete语句将数据库中的某一匹配数据删除,因为此操作会导致用户数据丢失,所以为了避免使用者误按删除键,应在用户点击删除按钮时添加一个提示确认弹窗,当用户确定要删除时,再进行数据库的操作,并且在删除操作完成后要对用户进行反馈。删除信息流程图如图2-7所示。
图2-7删除信息流程图
3系统设计
系统设计要提出具体的软件功能及要求,是系统分析后进行的流程。它的主要目的是提供软件开发的思路和具体流程,是系统运行的根本保障。它要确定软件各个模块的功能,并形成相应的流程图,方便设计者思考。同时要将每个模块需要完成的任务详细的表达出来,并对每个模块进行具体化的设计分析,提供相当数量的设计方案,再通过设计者的详细分析和比对,选择出最佳的方案进行设计开发。并对相应的方案进行验证和拓展。
3.1系统功能结构
3.1.1系统结构图
系统结构图可以把杂乱无章的模块按照设计者的思维方式进行调整排序,可以让设计者在之后的添加,修改程序内容的过程中有一个很明显的思维方向。同时结构图还可以让设计者以外的其他人更直观的看出整个系统的设计理论和设计过程。让系统的设计变的更直观。该系统的功能架构图如图3-1所示:
图3-1 外卖管理系统功能结构图
3.2.1 数据库概念设计
从系统运行完整的角度出发,设置相应的实体,明确各实体之间的联系。下面列举整个系统中涉及核心功能的实体:
- 用户信息E-R图
图3-2用户信息E-R图
- 员工信息E-R图
图3-3员工信息E-R图
- 套餐E-R图
图3-4套餐E-R图
4、菜品信息E-R图
图3-5菜品信息E-R图
5、外卖管理系统总体E-R图
图3-6 外卖管理系统总体E-R图
3.2.2数据逻辑结构
在综合了以上对系统的设计,和对数据库的分析,同时结合了以往对数据库的使用经验后,构建了以下几张表,以下为每张表的内容:
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
menujson |
longtext |
菜单 |
表3-2:套餐评论表
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
refid |
bigint |
关联表id |
|||
userid |
bigint |
用户id |
|||
avatarurl |
longtext |
头像 |
|||
nickname |
varchar |
200 |
用户名 |
||
content |
longtext |
评论内容 |
|||
reply |
longtext |
回复内容 |
表3-3:菜品评论表
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
refid |
bigint |
关联表id |
|||
userid |
bigint |
用户id |
|||
avatarurl |
longtext |
头像 |
|||
nickname |
varchar |
200 |
用户名 |
||
content |
longtext |
评论内容 |
|||
reply |
longtext |
回复内容 |
表3-4:配置文件
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
name |
varchar |
100 |
配置参数名称 |
||
value |
varchar |
100 |
配置参数值 |
表3-5:员工
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
yuangongzhanghao |
varchar |
200 |
手机 |
||
mima |
varchar |
200 |
密码 |
||
yuangongxingming |
varchar |
200 |
员工姓名 |
||
xingbie |
varchar |
200 |
性别 |
||
touxiang |
longtext |
头像 |
表3-6:购物车
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
tablename |
varchar |
200 |
商品表名 |
||
goodid |
bigint |
商品id |
|||
goodname |
varchar |
200 |
商品名称 |
||
picture |
longtext |
图片 |
|||
buynumber |
int |
购买数量 |
|||
price |
double |
单价 |
|||
discountprice |
double |
折扣价 |
|||
userid |
bigint |
用户id |
|||
yuangongzhanghao |
varchar |
200 |
商户名称 |
表3-7:用户
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
zhanghao |
varchar |
200 |
手机 |
||
mima |
varchar |
200 |
密码 |
||
nicheng |
varchar |
200 |
昵称 |
||
xingbie |
varchar |
200 |
性别 |
||
touxiang |
longtext |
头像 |
|||
pquestion |
varchar |
200 |
密保问题 |
||
panswer |
varchar |
200 |
密保答案 |
||
money |
double |
余额 |
0 |
表3-8:管理员
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
username |
varchar |
200 |
用户名 |
||
password |
varchar |
200 |
密码 |
||
role |
varchar |
200 |
角色 |
表3-9:菜品类型
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
leixing |
varchar |
200 |
类型 |
表3-10:token表
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
userid |
bigint |
用户id |
|||
username |
varchar |
100 |
用户名 |
||
tablename |
varchar |
100 |
表名 |
||
role |
varchar |
100 |
角色 |
||
token |
varchar |
200 |
密码 |
|
|
addtime |
timestamp |
新增时间 |
CURRENT_TIMESTAMP |
||
expiratedtime |
timestamp |
过期时间 |
CURRENT_TIMESTAMP |
表3-11:菜品
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
caipinmingcheng |
varchar |
200 |
菜品名称 |
||
leixing |
varchar |
200 |
类型 |
||
tupian |
longtext |
图片 |
|||
guige |
varchar |
200 |
规格 |
||
caipinxiangqing |
longtext |
菜品详情 |
|||
storeupnum |
int |
收藏数量 |
|||
price |
double |
价格 |
|||
yuangongzhanghao |
varchar |
200 |
员工账号 |
||
yuangongxingming |
varchar |
200 |
员工姓名 |
表3-12:套餐类型
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
leixing |
varchar |
200 |
类型 |
表3-13:地址
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
address |
varchar |
200 |
地址 |
|
|
name |
varchar |
200 |
收货人 |
||
phone |
varchar |
200 |
电话 |
||
isdefault |
varchar |
200 |
是否默认地址 |
||
userid |
bigint |
用户id |
表3-14:套餐
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
taocanbiaoti |
varchar |
200 |
套餐标题 |
||
taocanleixing |
varchar |
200 |
套餐类型 |
||
taocantupian |
longtext |
套餐图片 |
|||
taocanguige |
varchar |
200 |
套餐规格 |
||
taocanxiangqing |
longtext |
套餐详情 |
|||
storeupnum |
int |
收藏数量 |
|||
price |
double |
价格 |
|||
yuangongzhanghao |
varchar |
200 |
员工账号 |
||
yuangongxingming |
varchar |
200 |
员工姓名 |
表3-15:我的收藏
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
refid |
bigint |
refid |
|||
tablename |
varchar |
200 |
表名 |
|
|
name |
varchar |
200 |
名称 |
||
picture |
longtext |
图片 |
|||
type |
varchar |
200 |
类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) |
||
inteltype |
varchar |
200 |
推荐类型 |
||
remark |
varchar |
200 |
备注 |
||
userid |
bigint |
用户id |
表3-16:商品订单
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
orderid |
varchar |
200 |
订单编号 |
||
tablename |
varchar |
200 |
商品表名 |
||
goodid |
bigint |
商品id |
|||
goodname |
varchar |
200 |
商品名称 |
||
picture |
longtext |
图片 |
|||
buynumber |
int |
购买数量 |
|||
price |
double |
单价 |
|||
discountprice |
double |
折扣价 |
|||
total |
double |
总价 |
|||
discounttotal |
double |
折扣总价格 |
|||
type |
varchar |
200 |
支付类型 |
||
status |
varchar |
200 |
订单状态 |
||
address |
varchar |
200 |
地址 |
||
tel |
varchar |
200 |
电话 |
||
consignee |
varchar |
200 |
收货人 |
||
remark |
varchar |
200 |
备注 |
||
logistics |
longtext |
物流 |
|||
userid |
bigint |
用户id |
|||
yuangongzhanghao |
varchar |
200 |
商户名称 |
4.1登录模块设计
这个功能模块用来让工作人员进行后端登录。管理人员通过网站。在输入自己的用户名和密码、角色进行登录,登录后管理人员就可以对后台的信息相关的操作。
首先,设计后端管理的登陆页面。对页面的各个板块进行详细的设计,规划它们的字体大小,背景颜色,字体颜色和板块大小等。还要加上图片,让页面被设计的更加美观。以便让以后需要登陆的管理员可以直观的使用。
4.2 前台用户功能模块
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到外卖管理系统的导航条显示首页、套餐、套餐、个人中心。系统首页界面如图4-1所示:
图4-1系统首页界面
在注册流程中,用户在Vue前端填写必要信息(如昵称、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。如图4-2所示:
图4-2用户注册界面
在登录流程中,用户首先在Vue前端界面输入帐号和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图4-3所示:
图4-3 用户登录界面
用户点击套餐,在套餐页面的输入栏填写套餐标题,进行搜索,然后查看套餐标题、套餐类型、套餐图片、套餐规格、价格、员工帐号、员工姓名、收藏数量等信息;如有需要可以点击购买、加入购物车、收藏或者评论等操作如图4-4所示:
图4-4套餐页面
用户点击菜品,在菜品页面的输入栏填写菜品名称,进行搜索,然后查看菜品名称、类型、图片、规格、价格、员工帐号、员工姓名等信息;如有需要可以点击购买、加入购物车、收藏或者评论等操作如图4-5所示:
图4-5菜品页面
用户点击个人中心,在个人中心页面可以更新个人详细信息,还可以对修改密码、订单管理、地址管理、购物车管理、我的收藏管理进行详细操作,并对余额进行充值,如图4-6所示:
图4-6个人中心界面
4.3后台管理员功能模块
管理员通过登录页面填账号和密码,完成后进行登录,如图4-7所示。
图4-7管理员登录页面
管理员登录进入外卖管理系统可以查看系统首页、套餐类型管理、套餐管理、套餐类型管理、套餐管理、员工管理、用户管理、管理员管理、轮播图管理、商品订单等信息,如图4-8所示。
图4-8管理员功能界面图
员工功能在视图层(view层)进行交互,比如点击“重置”按钮或填写员工常识表单。这些员工动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如搜索、重置、修改或删除员工,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便员工功能可以看到最新的信息或相应的操作反馈。在员工页面的输入栏中输入员工姓名进行搜索,可以查看到员工详细信息,并根据需要进行修改或者删除等操作;如图4-9所示。
图4-9员工管理界面图
管理员点击套餐管理;在套餐页面对套餐名称、类型、图片、规格、价格、员工帐号、员工姓名等信息,进行搜索、修改或者删除套餐信息的操作;如图4-10所示。
图4-10套餐管理界面图
管理员点击套餐类型管理;在套餐类型页面对套餐类型等信息,进行搜索、修改或删除套餐类型等操作;如图4-11所示。
图4-11套餐类型管理界面图
管理员点击套餐管理;在套餐页面对套餐标题、套餐类型、套餐图片、套餐规格、价格、员工帐号、员工姓名等信息,进行搜索、修改或者删除套餐信息的操作;如图4-12所示。
图4-12套餐管理界面图
管理员点击套餐类型管理;在套餐类型页面对套餐类型等信息,进行搜索、修改或者删除套餐类型的操作;如图4-13所示。
图4-13套餐类型管理界面图
在注册流程中,用户在Vue前端填写必要信息(如用姓名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。员工通过注册页面填手机、密码、确认密码、员工姓名、性别、头像等信息,完成后进行注册,如图4-14所示。
图4-14员工注册页面
在登录流程中,员工首先在Vue前端界面输入员工帐号和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许员工访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程员工通过登录页面填账号和密码,完成后进行登录,如图4-15所示。
图4-15员工登录页面
员工登录进入外卖管理系统可以查看系统首页、套餐类型管理、套餐管理、套餐类型管理、套餐管理、商品订单等信息,如图4-16所示。
图4-16员工功能界面图
5 软件测试
软件测试(Software Testing)是指在设计基本完成后对软件的各项功能进行测试,检测其能否达到在系统设计之初对其的预期情况。预估系统上线后的情况,对出现问题的地方进行及时修改。软件测试作为系统设计的最终阶段,它的准确性往往影响了系统的最终使用感。因为软件是由数据、文档以及程序代码组成的,所以软件测试的对象就不仅仅是程序的本身,还有包括软件设计过程中形成的数据、文档等。但软件测试也存在着问题,软件测试注重的是软件设计的最终结果,其并没有关心整个系统在开发过程中发生的问题。软件测试必须假设和考虑在设计过程中发生的问题。并对软件测试中发现的问题进行回归测试。要更好的通过软件测试检测系统以更好的找出问题来提高系统的质量。软件测试要以最少的人力和经济消耗来完成系统的设计结尾工作。而且所有的测试都要以人为本,任何的测试都要考虑到用户使用的实际体验感,要确保用户有一个好的使用体验。要确保整个软件测试过程都按照原定的规则进行,以确保最终设计的系统的完整性和实用性。
编筐编篓,重在收口。软件测试的完成效果直接影响到整个系统的使用效果。对于软件测试来说,如果能早点发现系统的漏洞,就能及时修改,可以让设计的成本减少。进行软件测试的时候,测试员们需要制定自己的测试脚本,让这个脚本尽可能多的覆盖系统需要测试的各个路径,避免系统疏漏。同时,在软件测试的过程中,要检测程序有没有进行与系统预期功能要求无关的代码运行。避免多余的程序运行对系统产生破坏,降低效率,增加成本。同时在测试后,还要尽量保留所有测试用例,这样可以帮助日后想要修改时可以及时找到原先的用例,可以再直接进行测试。以下是总结下来比较重要的一些软件测试原则:
(1)要尽可能早的进行软件测试。
随着系统的设计进行,设计过程中每一个阶段发生的错误都有可能导致在后续的开发设计的时候连续出错,如果等到软件设计工作基本全都完成再进行测试,可能会导致大量的错误同时出现,而且很难找到它们出错的源头。因为开发设计的每一步都与后续程序紧密相连,如果不及时找出错误,可能会因一处错误导致后续整个程序瘫痪。所以要坚持尽早进行软件测试的原则,一来可以减少牵一发而动全身的错误,二来可以降低成本。
(2)软件测试证明软件存在缺陷。
通过软件测试可以检测系统设计时是否存在错误和缺陷,但并不能说明系统是不存在任何缺陷的。软件测试的目的是辅助软件开发,让程序员可以尽可能早的发现错误,提高质量。软件开发的过程或多或少都会产生一些错误,软件测试就是尽可能地发现错误和缺陷,尽可能优化程序。
(3)缺陷集群效应原则。
一个软件核心的地方可能就只有那么小的一部分,但就是那一小部分,却能引发软件大规模的损坏。当我们进行软件测试的时候要特别注意那一小部分,也就是核心的部分,因为它们几乎控制了整个软件的稳定性,它们是最容易出现错误的,控制好它们几乎就控制了软件的八成稳定性。但我们也不能只仅限于这小部分模块的检查,也要对剩余的地方进行适当的测试。
(4)以人为本原则。
外卖管理系统设计的目的就是为人服务,任何的缺陷和错误的修改方向都要在使用者的角度去进行。要做到尽可能贴近使用者的日常模式,从使用者的角度去出发,去修改。
(5)经常更新测试方式。
测试人员应该尽量避免对系统所有的部分都使用同一种测试方式。一些测试方式只能检测特定的模块,并不能对整个系统都进行有效的测试,甚至无法发现一处错误。所以,为了能更好的发挥软件测试的作用,软件测试的时候应该经常更新测试方法,让测试的质量最大化。
表 5-1 测试用例表
测试功能、流程 |
预期结果 |
实际结果 |
结论 |
进行登录实验。需要管理员输入相应的信息验证,看能否进入 |
录入信息验证通过, 转入管理员界面 |
登陆成功, 成功跳转页面 |
测试成功 |
对用户的登录进行测试。管理员就录入特定的信息,看能否成功登录 |
录入特定信息, 可以登录,可以在数据后台找到信息 |
可以登录,在后台找到了对应信息 |
测试成功 |
测试登录功能是否符合规定。测试员要输入错误的登录信息,检查能否登录 |
在输入错误的信息后,系统会发现错误,禁止测试人员登录 | 输入错误信息后,系统禁止登录 |
测试成功 |
对兼容性进行测试,让软件在不同的电子类产品上进行登录测试 |
都可以成功打开软件,正常运行 |
可以在不同的设备上和其他软件共存 |
测试成功 |
续表5-1
测试功能、流程 |
预期结果 |
实际结果 |
结论 |
安装测试,在试验机上登录软件,检测能否按预期正常运行 |
登录后可以进行正常操作,可以发行 |
在试验机上可以正常运行,没有卡顿 |
测试成功 |
外卖管理系统通过 springboot框架、JAVA语言等技术完成的。系统可以完成用户的基本需求,并且在测试中系统运行情况良好,没有出现异常。但是,还是有许多我需要学习和完善的地方。
外卖管理系统实现了模块化连接,对应不同的平台可以进行针对性部署,可以进行全方位的覆盖。它实现了跨终端无缝协同体验。但碍于外卖管理系统刚进入市场发行不久,它的各项数据,功能还没有达到完美的地步。需要进一步的实际运行来完善有缺陷的地方。在这个信息化的时代大家都希望手里的任何一个电子设备都可以完成平时的常见功能,通过外卖管理系统的开发可以实现这一目标。外卖管理系统作为国产系统,它的发展前途十分明亮,未来也会拥有很广泛的市场,通过未来的长时间发展,外卖管理系统的软件开发一定会成为一种趋势,让中国的操作系统发展得到进一步的提升。
- 张荣超.鸿蒙应用开发实战[M].人民邮电出版社.2021(1):34-70.
- 董昱.HarmonyOS鸿蒙应用程序开发[M].清华大学出版社.2021:30-45.
- HarmonyOSIoT设备开发实战[M].人民邮电出版社,2021(1):40-56.
- 鸿蒙操作系统开发入门经典[M].人民邮电出版社,2021(1)60-75.
- 武延军.鸿蒙第三方组件库应用开发实战[M].人民邮电出版社,2021(12):40-78.
- 华为软件技术有限公司.移动应用开发[M].清华大学出版社,2021:15-25.
- 李亚玲, 韩奥, 鲁建丽, 张航.软件测试初探[J]. 数码世界, 2020: 68-69.
- 郑明秋, 蒙连超, 赵海侠. MySQL数据库实用教程[M].北京理工大学出版社, 2019: 4.
- 胡巧儿.MySQL数据库原理与应用项目化教程微课版[M].电子工业出版社.2021:74-79.
- 周小娟.基于springboot框架与XML技术的工业锅炉智能化监控系统设计[J].工业加热,2020,49(12):31-34.
- 沈蕴梅. 电子商务网站建设springboot+MySQL项目开发教程[M]. 北京:北京理工大学出版社, 2019:95-102.
- 向桂玲.XML数据库强制访问控制策略探讨[J].信息与电脑,2022,34(04):186-188.
- Vanier Eric, Malepati Tejaswi, Shah Birju. Advanced MySQL 8[M]. Packt Publishing, 2019: 89-95.
- Kromann. springboot and MySQL Recipes[M]. Apress, 2020:20-36.
- AlDwairi Mahmoud,Shatnawi Ahmed S.,AlKhaleel Osama,AlDuwairi Basheer. Ransomware-Resilient Self-Healing XML Documents[J]. Future Internet,2022,14(4).
时光飞逝,转眼间四年的大学就要过去了。当我做到了大学里最后任务的最后一个模块时,我意识到自己将要毕业了,将离开陪伴了自己四年快乐时光的校园。回想起在学校的四年,让我有很深的感触。回想起在学校的点点滴滴,让我有太多无法忘记的人和事。学校的室友,同学,朋友,老师,图书馆,教学楼等,当这些东西在我脑里闪过的时候,我的心里很不是滋味。
首先,我要感谢我的亲人。他们无论何时都是我最亲近的人,无论我对他们怎么发脾气,他们都不会生我的气。每次当我因为某些事而无法承受的时候,他们总是会第一时间来关心我,来给我出主意,帮我度过难关。今后,我也会努力前进,回报我的亲人们对我的支持。
当然,还要感谢我的毕设指导老师。他是一位发自内心希望我们以后能功成名的老师。他陪伴了我几乎整个大学时光,他每次上课的时候都会向我们分享他所做过的程序。将他自己的实战经验授予我们。他会将自己觉的最有用的东西交给我们,还会向我们分享他觉得非常实用的软件,如果我们无法下载,他也会帮我们下载软件。记得在大四上学期的时候,他还帮助我们重装系统,给我们安装最实用的软件。他也是一个非常有责任感的老师,他会经常询问我们的论文情况,如果我们有问题,他都会在第一时间给我们解答。或许对于一位老师来讲,学生学有所成是他的期望。
还要感谢我的室友们。虽然这几年的生活会有磕磕绊绊,但是每次我有困难或者不开心的时候,他们都会给我建议,让我不在难过。每当我过生日的时候,他们都会不约而同的为我庆祝。每当我有困难的时候,他们总是站在我这一边,为我考虑。而在和他们沟通后,我都会从坏心情里走出来,变的愉悦。所以,我也很感谢他们这四年的陪伴。
时光飞逝,四年大学生活转眼间就要过去了。这一刻,四年里的时光又在我的脑海里进行了一遍。我的室友,同学,老师,这一刻,我已止不住自己的泪水。我有太多的回忆永远的刻在了脑子里,我不会忘记他们,不会忘记和他们的点点滴滴。于此同时,我会积极备战考研,吸取第一次的失败经验,争取再二战中取得一个好的成绩,考上心目中理想的学校。我一定会加油的!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/153646.html