🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。
- 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹
- 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
- 赠送开题报告模板,帮助书写开题报告。
作者完整代码目录供你选择:
⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
项目展示
本项目旨在设计和开发一个果树的生长信息管理系统,通过该系统,果农能够实时记录和管理果树的生长过程,并且可以管理果树的类型、农场信息、以及向果树专家进行提问,实现从源头到终端的全程管理。
与安卓,iOS相比较起来,果树的生长信息管理系统在流畅性,续航能力,等方方面面都有着很大的优势。这就意味着果树的生长信息管理系统的设计可以比其他系统更为出色的能力,可以更高效的完成最新的用户信息、互动交流、技术动态等管理功能。
此系统设计主要采用的是JAVA语言来进行开发,采用springboot框架技术,框架分为三层,分别是控制层Controller,业务处理层Service,持久层dao,能够采用多层次管理开发,对于各个模块设计制作有一定的安全性;数据库方面主要采用的是MySQL来进行开发,其特点是稳定性好,数据库存储容量大,处理能力快等优势;服务器采用的是Tomcat服务,能够提供稳固的运行平台,确保系统稳定运行,提供了一个多样功能,具有良好实用性的果树的生长信息管理系统。
关键词:果树的生长信息管理系统;springboot框架;JAVA语言;
1 绪 论
近些年来,随着电子科学技术的高速发展,计算机相关行业的发展创新。衍生出了各种各样方便快捷的电子设备。如手机,电脑等。这些电子设备功能强大,方便所有类型的人们使用。但这些年来,人们对手机,电脑等电子高科技产物的依赖和需求也越来越大。现在的人们已经不再满足于它们各式各样的基础功能,例如与他人通讯,上网了解信息等。人们现在更希望的是随着科技的发展,手机、电脑等高科技产品可以给自己带来更多方便快捷、简单实用的功能。同时也希望自己在使用的时候可以更轻松的掌握使用这些设备的技巧。同时,伴随着这些电子设备的出现,操作系统就显的尤为重要,电子设备各式各样功能的顺利运行都要依靠它的稳定运行。操作系统可以管理、控制计算机的硬件资源和软件资源,也是计算机最为基本的系统软件。人们所有能涉及到和使用到的软件运行几乎都离不开它。它就像人类的大脑一样,控制着计算机的各种设备。但同样,操作系统在发展时自身也会出现很多问题,同样的系统不能应用在所有的硬件设备上。这个问题对于大部分的电子科技受益者来说很陌生,处理起来很有困难。会让使用者不能在第一时间使用,因此会造成很多负面的影响。
随着农业现代化进程的加快和信息技术的不断发展,果树种植业也面临着更加复杂的管理需求。传统的果树管理方式已经无法满足果农对果树生长信息的实时监测和科学管理的需求。为了解决这一问题,本论文设计并实现了一个果树的生长信息管理系统,旨在帮助果农科学管理果树生长过程,提高果树产量和质量。
1.1 研究意义
果树的生长信息管理系统的设计与实现具有重要的研究意义和实际应用价值本系统的设计与实现将有效地促进果树种植业的现代化发展。传统的果树管理方式存在信息不对称、管理不精细等问题,难以满足果农对果树生长信息的及时监测和科学管理需求。而本系统通过建立果树生长信息管理平台,可以帮助果农实现对果树生长过程的实时监测、科学管理,提高果树的产量和质量,推动果树种植业向现代化、智能化方向发展。同时,本系统的设计与实现将有助于提高果树种植业的经济效益和竞争力。通过对果树生长信息的科学管理,可以提高果树的产量和品质,降低生产成本,提高果农的收益。同时,系统还可以为果农提供市场信息和技术支持,帮助果农更好地把握市场动态,提高果树种植业的竞争力。此外,本系统的设计与实现将促进果农与果树专家的互动与合作。传统上,果农与果树专家之间的沟通往往存在信息不对称、沟通成本高等问题,难以实现有效的合作。而本系统通过构建果农与果树专家之间的信息交流平台,可以实现果农向果树专家咨询问题、专家为果农提供技术支持和建议等,促进果农与果树专家之间的互动与合作,共同推动果树种植业的发展。最后,本系统的设计与实现对于推动农业信息化进程具有积极意义。随着信息技术的不断发展,农业信息化已成为农业发展的重要趋势。本系统通过将信息技术与果树种植业相结合,实现对果树生长信息的管理与分析,为农业信息化的进程提供了一个成功的案例,对于推动农业信息化的发展具有积极的促进作用。
综上所述,果树的生长信息管理系统的设计与实现具有重要的研究意义和实际应用价值,对于促进果树种植业的现代化发展、提高果树种植业的经济效益和竞争力、促进果农与果树专家的互动与合作、推动农业信息化进程等方面都具有重要的意义和价值。
1.2 系统设计目的
本系统设计的目的在于提供一个科学管理果树生长信息的平台,促进果树种植业的现代化发展。传统果树管理存在信息不对称、管理不精细等问题,无法满足果农对果树生长信息的实时监测和科学管理需求。通过本系统,果农可以实现对果树生长过程的实时监测、科学管理,提高果树的产量和质量,推动果树种植业向现代化、智能化方向发展
1.3 系统设计思想
想要做一个完整的系统,就必须要为其制定一套详细并且规范的原则。这些原则定可以帮助我们在设计过程中能有一个更好的设计理念和设计方向,可以让系统变的更加立体,更加完美。变成更加符合使用者所希望的模样。所以为了能够更好的完成系统,对系统制定了一些原则:
(1) 以人为本原则
果树的生长信息管理系统,它的本质是为人们服务。如何解放需要人工才能完成的部分和提升使用者的使用观感是最为基础的也是最重要的。它的设计宗旨就是为使用者服务。明确使用者的想法和需求,设法让使用者可以真实的感受到科技时代的魅力是设计的初衷。果树的生长信息管理系统可以满足新时代使用者的需求,让使用者能够真实的感受到它的便捷。
(2) 可修改原则
设计系统时并不能确保让所有的功能都达到使用者最理想的要求,在设计的过程中可能会有纰漏。所以在设计时要确保可以及时对不完整,不完美的部分进行修改和补充。同时,也要确保在系统发行后,在出现bug时可以在不影响使用者使用的情况下对系统进行线上维护。同时要确保在修复,更新,维护的同时可以保证使用者的体验。
2 系统需求分析
需求分析的首要是要分析用户的需求,知道用户存在的一些情况,并且要明确用户的使用状况,然后设计规划解决的问题。其中在使用定性的分析以及定量的分析,从这两个方面获取用户的需求。一方面定性的分析获得的应该是用户的基本需求,能够发现现在人们的习惯要求。所以定性的需要主要是为了多与用户交流,从而更为深刻的了解一些存在的需求问题;定量的分析则是发现一些潜在的用户,并且获得不一样的反馈内容。所以定量的需求要让用户来阐述一些情况,一定让使用者清晰的进行客观的描述,这样才能够比较全面的获得用户的需求所在。
2.1 系统性能需求
(1) 鉴于该系统是一款面向全体使用者的系统,管理者需要录入使用者的个人信息、给予使用者应有的权限,让使用者可以更加自由的使用系统。
(2) 要给予用户更高的查询权限,让用户可以全方位的了解本课题,让用户可以使用农场信息、果树知识、公告信息、个人中心等。
(3) 要提升用户的使用效率,让用户可以更加快捷的查询自己想要查询的东西。同时,还要做到同步性,在用户查询信息或者修改信息的同时,系统可以及时反馈到数据库上,进行及时更新和修复。
2.2 系统用例图
本系统采用自上往下的方法开发,基本定位如下功能:
本课题要求实现一套果树的生长信息管理系统,系统主要包括管理员模块和用户的功能模块;
(1) 管理员用例图如下所示:

图2-1管理员用例图
(2) 用户用例图如下所示:

图2-2用户用例图
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结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1) 跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2) 低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
2.4.3 MySQL介绍
MySQL 是一种关联数据库管理系统,该系统速度快而且灵活性强,主要原因是它将数据保存在不同的表中,MySQL软件的优点是成本低、体积小、速度快,开放源码,所以一般中小型网站的开发都选择 MySQL 作为网站数据库。
2.4.4 Java介绍
Java 最大的两个特点就是功能强大和简单易用。Java可以让程序员进行复杂的编程而不必为储存管理对象等问题所烦恼,把精力和时间更多的放在研发与设计上,极大地提高了开发者的工作效率和工作热情。
2.5 系统流程分析
(1)个人信息流程图
用户在成功进入系统以后,可以获得姓名、性别、头像等个人信息。获得个人信息的流程见图2-3所示。

图2-3个人信息流程图
用户进行登录操作的流程图如图2-4。

图2-4 用户登录界面流程图
用户进行注册操作的流程图如图2-5。

图2-5用户注册流程图
3 系统设计
系统设计要提出具体的软件功能及要求,是系统分析后进行的流程。它的主要目的是提供软件开发的思路和具体流程,是系统运行的根本保障。它要确定软件各个模块的功能,并形成相应的流程图,方便设计者思考。同时要将每个模块需要完成的任务详细的表达出来,并对每个模块进行具体化的设计分析,提供相当数量的设计方案,再通过设计者的详细分析和比对,选择出最佳的方案进行设计开发。并对相应的方案进行验证和拓展。
3.1 系统功能结构
3.1.1系统结构图
系统结构图可以把杂乱无章的模块按照设计者的思维方式进行调整排序,可以让设计者在之后的添加,修改程序内容的过程中有一个很明显的思维方向。同时结构图还可以让设计者以外的其他人更直观的看出整个系统的设计理论和设计过程。让系统的设计变的更直观。该系统的功能架构图如图3-1所示:

图3-1 果树的生长信息管理系统功能结构图
3.2 数据库设计
3.2.1 数据库概念设计
从系统运行完整的角度出发,设置相应的实体,明确各实体之间的联系。下面列举整个系统中涉及核心功能的实体:
1. 用户信息E-R图

图3-2用户信息E-R图
2. 果树信息评论E-R图

图3-3 果树信息评论E-R图
3. 果树知识E-R图

图3-4果树知识E-R图
4. 生长计划E-R图

图3-5 生长计划E-R图
5. 果树的生长信息管理系统总体E-R图

图3-6 果树的生长信息管理系统总体E-R图
3.2.2 数据逻辑结构
在综合了以上对系统的设计,和对数据库的分析,同时结合了以往对数据库的使用经验后,构建了以下几张表,以下为每张表的内容:
表3-1:用户
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| yonghuzhanghao | varchar | 200 | 用户账号 | ||
| mima | varchar | 200 | 密码 | ||
| xingbie | varchar | 200 | 性别 | ||
| yonghuxingming | varchar | 200 | 用户姓名 | ||
| nianling | varchar | 200 | 年龄 | ||
| youxiang | varchar | 200 | 邮箱 |
表3-2:用户表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| username | varchar | 100 | 用户名 | ||
| password | varchar | 100 | 密码 | ||
| image | varchar | 200 | 头像 | ||
| role | varchar | 100 | 角色 | 管理员 | |
| addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表3-3: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-4:生长计划表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| jihuamingcheng | varchar | 200 | 计划名称 | ||
| guoshumingcheng | varchar | 200 | 果树名称 | ||
| guoshuleixing | varchar | 200 | 果树类型 | ||
| guoshutupian | longtext | 4294967295 | 果树图片 | ||
| shuliang | varchar | 200 | 数量 | ||
| kaishishijian | datetime | 开始时间 | |||
| jieshushijian | datetime | 结束时间 | |||
| jihuaneirong | longtext | 4294967295 | 计划内容 | ||
| dengjiriqi | date | 登记日期 | |||
| nongchangzhanghao | varchar | 200 | 农场账号 | ||
| fuzeren | varchar | 200 | 负责人 |
表3-5:专家表
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| zhuanjiazhanghao | varchar | 200 | 专家账号 | ||
| mima | varchar | 200 | 密码 | ||
| zhuanjiaxingming | varchar | 200 | 专家姓名 | ||
| touxiang | longtext | 4294967295 | 头像 |
表3-6:果树知识
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| guoshumingcheng | varchar | 200 | 果树名称 | ||
| shiyiwendu | varchar | 200 | 适宜温度 | ||
| shiyishidu | varchar | 200 | 适宜湿度 | ||
| zhongzhixiangqing | longtext | 4294967295 | 种植详情 | ||
| shiyiturang | longtext | 4294967295 | 适宜土壤 | ||
| guangaifangshi | longtext | 4294967295 | 灌溉方式 | ||
| shifeixiangqing | longtext | 4294967295 | 施肥详情 | ||
| guoshutupian | longtext | 4294967295 | 果树图片 | ||
| zhuyishixiang | longtext | 4294967295 | 注意事项 | ||
| zhongzhishijian | date | 种植时间 | |||
| storeupnum | int | 收藏数 | 0 |
表3-7:果树信息
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| guoshumingcheng | varchar | 200 | 果树名称 | ||
| guoshuleixing | varchar | 200 | 果树类型 | ||
| tupian | longtext | 4294967295 | 图片 | ||
| shuliang | int | 数量 | |||
| shengzhangzhuangtai | longtext | 4294967295 | 生长状态 | ||
| shengzhangjieduan | varchar | 200 | 生长阶段 | ||
| jiankangzhuangkuang | varchar | 200 | 健康状况 | ||
| nongchangzhanghao | varchar | 200 | 农场账号 | ||
| fuzeren | varchar | 200 | 负责人 | ||
| clicktime | datetime | 最近点击时间 | |||
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 |
表3-8:果树类型
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| guoshuleixing | varchar | 200 | 果树类型 | ||
| image | longtext | 4294967295 | 图片 | ||
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 |
表3-9 农场主
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| nongchangzhanghao | varchar | 200 | 农场账号 | ||
| fuzeren | varchar | 200 | 负责人 | ||
| mima | varchar | 200 | 密码 | ||
| xingbie | varchar | 200 | 性别 | ||
| touxiang | longtext | 4294967295 | 头像 | ||
| dianhuahaoma | varchar | 200 | 电话号码 |
表3-10:农场信息
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
| nongchangmingcheng | varchar | 200 | 农场名称 | ||
| nongchangtupian | longtext | 4294967295 | 农场图片 | ||
| nongchangmianji | double | 农场面积/亩 | |||
| turangzhiliang | varchar | 200 | 土壤质量 | ||
| nongchangsheshi | longtext | 4294967295 | 农场设施 | ||
| nongchangzhanghao | varchar | 200 | 农场账号 | ||
| fuzeren | varchar | 200 | 负责人 |
表3-11:配置文件
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | 主键 | 主键 | ||
| name | varchar | 100 | 配置参数名称 | ||
| value | varchar | 100 | 配置参数值 | ||
| url | varchar | 500 | url |
4 系统详细设计
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专家管理界面图
农场信息功能在视图层(view层)进行交互,比如点击“新增”按钮或填写果蔬信息表单。这些填写动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如搜索、新增、更新或删除农场信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便农场信息功能可以看到最新的信息或相应的操作反馈。在农场信息页面的输入栏中输入农场名称进行搜索,可以查看农场详细信息,并根据需要进行修改或者删除等操作;如图4-10所示。

图4-10农场信息界面图
管理员点击果树类型管理;在果树类型页面对类型名称,进行搜索、新增、修改或删除等操作;如图4-11所示。

图4-11果树类型界面图
管理员点击系统管理;在系统管理页面对关于我们、系统简介、公告信息、轮播图管理等信息,进行搜索、新增或删除系统信息等操作;如图4-12所示。

图4-12系统管理界面图
5 软件测试
软件测试(Software Testing)是指在设计基本完成后对软件的各项功能进行测试,检测其能否达到在系统设计之初对其的预期情况。预估系统上线后的情况,对出现问题的地方进行及时修改。软件测试作为系统设计的最终阶段,它的准确性往往影响了系统的最终使用感。因为软件是由数据、文档以及程序代码组成的,所以软件测试的对象就不仅仅是程序的本身,还有包括软件设计过程中形成的数据、文档等。但软件测试也存在着问题,软件测试注重的是软件设计的最终结果,其并没有关心整个系统在开发过程中发生的问题。软件测试必须假设和考虑在设计过程中发生的问题。并对软件测试中发现的问题进行回归测试。要更好的通过软件测试检测系统以更好的找出问题来提高系统的质量。软件测试要以最少的人力和经济消耗来完成系统的设计结尾工作。而且所有的测试都要以人为本,任何的测试都要考虑到用户使用的实际体验感,要确保用户有一个好的使用体验。要确保整个软件测试过程都按照原定的规则进行,以确保最终设计的系统的完整性和实用性。
5.1 软件测试原则
编筐编篓,重在收口。软件测试的完成效果直接影响到整个系统的使用效果。对于软件测试来说,如果能早点发现系统的漏洞,就能及时修改,可以让设计的成本减少。进行软件测试的时候,测试员们需要制定自己的测试脚本,让这个脚本尽可能多的覆盖系统需要测试的各个路径,避免系统疏漏。同时,在软件测试的过程中,要检测程序有没有进行与系统预期功能要求无关的代码运行。避免多余的程序运行对系统产生破坏,降低效率,增加成本。同时在测试后,还要尽量保留所有测试用例,这样可以帮助日后想要修改时可以及时找到原先的用例,可以再直接进行测试。以下是总结下来比较重要的一些软件测试原则:
(1) 要尽可能早的进行软件测试。
随着系统的设计进行,设计过程中每一个阶段发生的错误都有可能导致在后续的开发设计的时候连续出错,如果等到软件设计工作基本全都完成再进行测试,可能会导致大量的错误同时出现,而且很难找到它们出错的源头。因为开发设计的每一步都与后续程序紧密相连,如果不及时找出错误,可能会因一处错误导致后续整个程序瘫痪。所以要坚持尽早进行软件测试的原则,一来可以减少牵一发而动全身的错误,二来可以降低成本。
(2) 软件测试证明软件存在缺陷。
通过软件测试可以检测系统设计时是否存在错误和缺陷,但并不能说明系统是不存在任何缺陷的。软件测试的目的是辅助软件开发,让程序员可以尽可能早的发现错误,提高质量。软件开发的过程或多或少都会产生一些错误,软件测试就是尽可能地发现错误和缺陷,尽可能优化程序。
(3) 缺陷集群效应原则。
一个软件核心的地方可能就只有那么小的一部分,但就是那一小部分,却能引发软件大规模的损坏。当我们进行软件测试的时候要特别注意那一小部分,也就是核心的部分,因为它们几乎控制了整个软件的稳定性,它们是最容易出现错误的,控制好它们几乎就控制了软件的八成稳定性。但我们也不能只仅限于这小部分模块的检查,也要对剩余的地方进行适当的测试。
(4) 以人为本原则。
果树的生长信息管理系统设计的目的就是为人服务,任何的缺陷和错误的修改方向都要在使用者的角度去进行。要做到尽可能贴近使用者的日常模式,从使用者的角度去出发,去修改。
(5) 经常更新测试方式。
测试人员应该尽量避免对系统所有的部分都使用同一种测试方式。一些测试方式只能检测特定的模块,并不能对整个系统都进行有效的测试,甚至无法发现一处错误。所以,为了能更好的发挥软件测试的作用,软件测试的时候应该经常更新测试方法,让测试的质量最大化。
5.2 测试用例
表 5-1 测试用例表
| 测试功能、流程 | 预期结果 | 实际结果 | 结论 |
| 进行登录实验。需要管理员输入相应的信息验证,看能否进入 | 录入信息验证通过, 转入管理员界面 | 登陆成功, 成功跳转页面 | 测试成功 |
| 对用户的登录进行测试。管理员就录入特定的信息,看能否成功登录 | 录入特定信息, 可以登录,可以在数据后台找到信息 | 可以登录,在后台找到了对应信息 | 测试成功 |
| 测试登录功能是否符合规定。测试员要输入错误的登录信息,检查能否登录 | 在输入错误的信息后,系统会发现错误,禁止测试人员登录 | 输入错误信息后,系统禁止登录 | 测试成功 |
| 对兼容性进行测试,让软件在不同的电子类产品上进行登录测试 | 都可以成功打开软件,正常运行 | 可以在不同的设备上和其他软件共存 | 测试成功 |
续表5-1
| 测试功能、流程 | 预期结果 | 实际结果 | 结论 |
| 安装测试,在试验机上登录软件,检测能否按预期正常运行 | 登录后可以进行正常操作,可以发行 | 在试验机上可以正常运行,没有卡顿 | 测试成功 |
果树的生长信息管理系统通过 springboot框架、JAVA语言等技术完成的。系统可以完成用户的基本需求,并且在测试中系统运行情况良好,没有出现异常。但是,还是有许多我需要学习和完善的地方。
果树的生长信息管理系统实现了模块化连接,对应不同的平台可以进行针对性部署,可以进行全方位的覆盖。它实现了跨终端无缝协同体验。但碍于果树的生长信息管理系统进入市场发行不久,它的各项数据,功能还没有达到完美的地步。需要进一步的实际运行来完善有缺陷的地方。在这个信息化的时代大家都希望手里的任何一个电子设备都可以完成平时的常见功能,通过果树的生长信息管理系统的开发可以实现这一目标。果树的生长信息管理系统作为国产系统,它的发展前途十分明亮,未来也会拥有很广泛的市场,通过未来的长时间发展,果树的生长信息管理系统的软件开发一定会成为一种趋势,让中国的操作系统发展得到进一步的提升。
[1] 李乔宇,秦磊磊,穆元杰等.果蔬生产过程追溯平台设计与实现[J].物联网技术,2020,10(07):95-97.DOI:10.16667/j.issn.2095-1302.2020.07.028.
[2] 朱江胜,朱惠明.浅析江心沙农场果蔬生产现状、问题与对策[J].上海农业科技,2015(06):13-14+38.
[3] 王晖,肖建中,薛新伟等.朱家涧村果蔬产业发展的几点思考[J].甘肃农业,2021(03):59-60+64.DOI:10.15979/j.cnki.cn62-1104/f.2021.03.018.
[4] 冯春卫,弓有辉.基于物联网的果蔬追溯系统设计[J].湖北农业科学,2017,56(17):3338-3341.DOI:10.14088/j.cnki.issn0439-8114.2017.17.038.
[5] 晏国生,刘君.基于物联网的河北果蔬产业全程监测与控制信息服务平台研究[J].农业系统科学与综合研究,2011,27(03):371-375.
[6] 濮永仙.基于物联网的果蔬产品溯源系统编码技术研究与实现[J].江苏农业科学,2016,44(08):414-418.DOI:10.15889/j.issn.1002-1302.2016.08.120.
[7] 廖胜,任重.基于物联网框架下的近红外果蔬品质检测及溯源系统研究[J].物联网技术,2017,7(12):56-58+62.DOI:10.16667/j.issn.2095-1302.2017.12.014.
[8] 钟海. 基于物联网的生鲜果蔬产品溯源系统的设计与实现[D].湖南工业大学,2016.
[9] 晏国生, 河北省果蔬安全生产溯源信息管理平台. 河北省,国家半干旱农业工程技术研究中心,2010-06-01.
[10] 何勇, 果蔬生产精准管理与品质快速无损检测关键技术及应用. 浙江省,浙江大学,2018-01-24.
[11] 沈蕴梅. 电子商务网站建设springboot+MySQL项目开发教程[M]. 北京:北京理工大学出版社, 2019:95-102.
[12] Vanier Eric, Malepati Tejaswi, Shah Birju. Advanced MySQL 8[M]. Packt Publishing, 2019: 89-95.
[13] Kromann. springboot and MySQL Recipes[M]. Apress, 2020:20-36.
[14] AlDwairi Mahmoud,Shatnawi Ahmed S.,AlKhaleel Osama,AlDuwairi Basheer. Ransomware-Resilient Self-Healing XML Documents[J]. Future Internet,2022,14(4).
时光飞逝,转眼间四年的大学就要过去了。当我做到了大学里最后任务的最后一个模块时,我意识到自己将要毕业了,将离开陪伴了自己四年快乐时光的校园。回想起在学校的四年,让我有很深的感触。回想起在学校的点点滴滴,让我有太多无法忘记的人和事。学校的室友,同学,朋友,老师,图书馆,教学楼等,当这些东西在我脑里闪过的时候,我的心里很不是滋味。
首先,我要感谢我的亲人。他们无论何时都是我最亲近的人,无论我对他们怎么发脾气,他们都不会生我的气。每次当我因为某些事而无法承受的时候,他们总是会第一时间来关心我,来给我出主意,帮我度过难关。今后,我也会努力前进,回报我的亲人们对我的支持。
当然,还要感谢我的毕设指导老师。他是一位发自内心希望我们以后能功成名的老师。他陪伴了我几乎整个大学时光,他每次上课的时候都会向我们分享他所做过的程序。将他自己的实战经验授予我们。他会将自己觉的最有用的东西交给我们,还会向我们分享他觉得非常实用的软件,如果我们无法下载,他也会帮我们下载软件。记得在大四上学期的时候,他还帮助我们重装系统,给我们安装最实用的软件。他也是一个非常有责任感的老师,他会经常询问我们的论文情况,如果我们有问题,他都会在第一时间给我们解答。或许对于一位老师来讲,学生学有所成是他的期望。
还要感谢我的室友们。虽然这几年的生活会有磕磕绊绊,但是每次我有困难或者不开心的时候,他们都会给我建议,让我不在难过。每当我过生日的时候,他们都会不约而同的为我庆祝。每当我有困难的时候,他们总是站在我这一边,为我考虑。而在和他们沟通后,我都会从坏心情里走出来,变的愉悦。所以,我也很感谢他们这四年的陪伴。
时光飞逝,四年大学生活转眼间就要过去了。这一刻,四年里的时光又在我的脑海里进行了一遍。我的室友,同学,老师,这一刻,我已止不住自己的泪水。我有太多的回忆永远的刻在了脑子里,我不会忘记他们,不会忘记和他们的点点滴滴。于此同时,我会积极备战考研,吸取第一次的失败经验,争取再二战中取得一个好的成绩,考上心目中理想的学校。我一定会加油的!
核心代码展示
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
项目推荐
【计算机毕业设计】基于Springboot的网上购物商城销售系统
⬇️文章末尾可以获取联系方式,需要源码,高清图片,演示视频可以联系(不开源)⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
23

被折叠的 条评论
为什么被折叠?



