随着科技的不断发展,农业生产方式也在不断变革。在现代农业生产中,农业病虫害是影响农业生产的重要因素之一,它直接关系到农产品的产量和质量,病虫害的防治是一个重要的环节。传统的病虫害防治方法主要依靠农民的经验和直觉,这种方法往往不够准确和科学,导致农药的过量使用,不仅对环境造成污染,还农产品的质量安全。为此本文提出了一种农业病虫害科普小程序。本文采用小程序作为前端开发工具,使用基于Java语言的Spring Boot框架进行后端开发。在开发过程中,充分利用Spring Boot框架的优势,实现了快速开发和部署。设计开发农业病虫害科普小程序旨在为广大农民提供及时、准确、科学的病虫害识别和防治知识,不仅有助于农民解决农业生产中的病虫害问题,提高农业生产效率和农产品质量,同时也有利于推动农业生产的现代化进程。
关键词:农业;病虫害科普小程序;Spring Boot
Abstract
With the continuous development of technology, agricultural production methods are also constantly changing. In modern agricultural production, agricultural diseases and pests are one of the important factors affecting agricultural production, which directly affects the yield and quality of agricultural products. The prevention and control of diseases and pests is an important link. The traditional methods of pest control mainly rely on the experience and intuition of farmers, which are often not accurate and scientific enough, leading to excessive use of pesticides, not only causing pollution to the environment, but also ensuring the quality and safety of agricultural products. This article proposes an agricultural pest and disease science popularization mini program. This article uses mini programs as front-end development tools and uses the Spring Boot framework based on the Java language for back-end development. During the development process, the advantages of the Spring Boot framework were fully utilized to achieve rapid development and deployment. The design and development of agricultural pest and disease science popularization mini program aims to provide timely, accurate, and scientific pest and disease identification and prevention knowledge for farmers. It not only helps farmers solve pest and disease problems in agricultural production, improve agricultural production efficiency and product quality, but also promotes the modernization process of agricultural production.
Keywords:Agriculture; Disease and pest science popularization mini program; Spring Boot
1 绪论
1.1 研究背景
随着中国农业现代化的推进,对农业技术、管理和信息的需求日益增加。其中,病虫害防治是农业生产中的重要环节,直接关系到农作物的生长和产量。然而,传统的农业病虫害科普方法已经不能满足现代农业生产的需求,因此需要借助现代科技手段来提高科普效率。
微信小程序作为一种轻量级的应用程序,具有易于推广、用户粘性强、使用门槛低等特点,成为了健康信息化领域的重要载体。利用微信小程序为用户提供农业病虫害科普,符合农业信息化的发展趋势。Spring Boot是一个开源的Java框架,它简化了Spring应用的初始搭建以及开发过程。通过Spring Boot,开发者可以更加高效地开发出健壮、可靠的后端应用。使用Spring Boot作为小程序后端服务的支持框架,能够保证服务的稳定性和扩展性。
结合Spring Boot后端开发技术和微信小程序前端开发技术,可以开发出一套功能全面、交互友好的农业病虫害科普小程序。开发一款基于移动互联网的农业病虫害科普小程序,能够让农民更方便地获取相关信息。
随着科技的进步,农业领域对于信息技术的应用需求日益增强。农业病虫害科普小程序的研究意义主要体现在以下几个方面:
首先,农业病虫害科普小程序能够实现对病虫害的快速识别。通过用户上传的病虫害图片,小程序能够迅速识别出病虫害的种类。这一功能不仅能够帮助农民及时发现病虫害,还能够避免因误诊而导致的农药滥用和农业生产损失。
其次,农业病虫害科普小程序具备良好的用户体验。通过简洁的界面设计和流畅的用户交互,小程序能够吸引更多的用户使用。同时,小程序还可以通过发布农业知识的方式及时向用户传递最新的病虫害信息和防治知识,帮助农民做好预防工作。此外,小程序还包括交流论坛界面,给用户提供一个交流分享经验的平台。
最后,农业病虫害科普小程序具有广泛的应用前景。随着我国农业现代化的推进和农村互联网的普及,农民开始使用智能手机和移动互联网。因此,小程序能够覆盖更广泛的用户群体,为农业生产提供有力的技术支持。同时,还可以与其他农业管理系统和平台进行集成,实现数据的共享和分析,为农业科研和政策制定提供数据支持。
1.3研究方法
- 需求分析:首先需要明确小程序的主要功能,比如用户注册与登录、用户管理、农业知识管理、交流管理、资源管理等。
- 技术选型:选择Spring Boot作为后端框架,利用它的快速开发、易于维护的特性。前端则可以选择微信小程序框架,利用它的跨平台、易上手的特点。数据库选择MySQL来存储和管理系统数据。
- 设计系统架构:根据需求分析,设计系统的整体架构,包括前后端交互方式、数据库设计等。
- 开发环境搭建:安装并配置Java开发环境,创建Spring Boot项目,安装并配置微信小程序开发工具。
- 编码实现:后端开发使用Spring Boot实现用户管理、数据存储、业务逻辑等功能。前端开发使用微信小程序开发框架,实现用户界面和交互逻辑。
- 测试与调试:在开发过程中进行测试和调试,确保程序的正确性和稳定性。
1.4论文结构与章节安排
论文将分层次进行编排,除去论文摘要致谢文献参考部分,正文部分主要结构如下:
第一章:绪论,此章节对所设计和实现的系统的背景和意义以及研究方法进行详细的论述以及说明,同时进行了论文整体框架的结构的简要介绍。
第二章:系统分析,此章节所做的主要的工作是对系统进行了技术、经济等方面可行性的分析;对系统实行了总体功能的需求、用例分析。
第三章:系统总体设计,主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。
第四章:系统详细设计与实现,根据系统功能的划分,分别的对系统所需要实现的前台客户功能和后台管理员功能进行了分析和说明。
第五章:系统测试,主要介绍了系统测试目的和对系统的部分功能界面进行测试并对测试结果作出总结。
第六章:结论,主要对系统的开发设计工作进行总结。
2系统分析
2.1 可行性分析
1. 技术可行性
(1)成熟的技术栈:Spring Boot作为后端框架,具有成熟稳定的生态系统和丰富的功能库,能够满足小程序后端服务的各种需求。而微信小程序的前端技术也经过了多年的发展和验证,具有良好的用户体验和广泛的用户基础。
(2)高效的开发流程:Spring Boot的自动配置和简化开发流程的特点可以极大地提高开发效率,减少开发时间。同时,微信小程序的开发工具也提供了丰富的组件和API,能够加速开发过程。
(3)可扩展性和可维护性:Spring Boot框架的设计注重代码的可扩展性和可维护性,便于后续的功能迭代和升级。微信小程序也提供了良好的版本控制和更新机制,能够方便地管理和发布更新。
2. 经济可行性
(1)较低的开发成本:Spring Boot和微信小程序都是开源技术,可以免费使用。
(2)提高效率:通过小程序提供信息,可以迅速普及农业知识,提高农民的生产效率。
3. 社会可行性
(1)农民在生产过程中常常遇到病虫害问题,他们急需获取相关信息。开发这样的小程序能够满足这一需求,提高农业生产效益。
(2)政府支持:多数国家政府都支持农业信息化的发展,因为这有助于提高农业生产力。因此,政府可能会为此类项目提供资金支持。
(3)教育普及:小程序不仅能为农民提供即时的病虫害信息,还可以作为农业教育的平台,提高农民的科技素养。
2.2 系统流程分析
2.2.1 用户注册流程
要成为系统用户,首先要通过注册,用户注册流程图如下图2-1所示
图2-1 用户注册流程图
用户通过登录才能访问系统及权限以内的功能,对此将实现各种应用及管理等功能,用户登录流程图如下图2-2所示。
图2-2 用户登录流程图
2.2.3 数据删除流程
如果系统里面存在一些没用的数据,相关的管理人员还可以对这些数据进行删除,数据删除时流程图如下图2-3所示。
图2-3 数据删除流程图
2.3.1 功能性分析
按照农业病虫害科普小程序的功能模块,主要包括用户端(普通用户)和管理端(管理员)这两大功能模块。
- 普通用户功能
- 注册登录:新用户可以通过注册成为系统用户,注册后可以用账号密码登录系统。
- 首页:用户可以查看首页展示的轮播图、通知公告、农业资讯、农业知识、动物识别等信息。如点击“农业知识”进入页面选可以查看农业知识列表中某一知识的详情并可以点赞、收藏和评论;点击“动物识别”进入页面点击“点击选择文件”后上传动物图片会自动识别动物。
- 交流论坛:用户可以查看交流论坛列表中某一帖子详情并可以进行文章点评和发表评论。点击“发布内容”进入页面填写标题、分类、正文等信息后点击“发表内容”即可完成帖子的发布。
- 农业资讯:用户可以查看农业资讯列表中某一资讯详情并可以进行文章点评和发表评论操作。
- 我的:用户点击首页右下角“我的”进入页面可以查看和管理基本信息和收藏信息。点击“基本信息”可进入页面可以修改个人资料和登录密码;点击“收藏”进入页面可以查看或删除收藏列表信息;点击“退出登录”即可退出系统登录。
- 管理员功能
- 登录:管理员可以通过在后台输入正确的账号和密码进行登录。管理员的账号和密码是事先在数据库中设定好的,并且只有正确的账号和密码才能成功登录。
- 后台首页:管理员可以查看后台首页展示的相关内容。
- 系统用户:管理员可以查看系统用户(管理员、普通用户)列表中某个用户的详情,可以对系统用户信息进行查询、重置、添加和删除操作。
- 农业知识管理:管理员可以查看农业知识列表中某个知识的详情和评论信息,可以对农业知识列表进行查询、重置、添加和删除操作
- 系统管理:管理人员在“系统管理”这一菜单下对轮播图进行管控,可以对轮播图信息进行查询、重置、添加和删除操作。
- 通知公告管理:管理员可以查看通知公告列表中某一通知公告的详情,可以对通知公告信息进行查询、添加和删除操作。
- 资源管理:管理员可以查看资讯列表中某一资讯的详情和评论信息,可以对资讯列表、资讯分类信息进行查询、重置、添加和删除操作。
- 交流管理:管理员可以查看论坛列表中某个帖子的详情和评论信息,可以对论坛列表、论坛分析信息进行查询、重置、添加和删除操作。
- 权限管理:管理员负责对不同的用户角色在访问系统时设置不同的访问权限,管理员可以对用户权限进行查询、添加、修改或删除操作。
2.3.2 非功能性分析
农业病虫害科普小程序的非功能性需求比如农业病虫害科普小程序的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表2-1农业病虫害科普小程序非功能需求表
安全性 |
主要指农业病虫害科普小程序数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 |
可靠性是指农业病虫害科普小程序能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 |
性能是影响农业病虫害科普小程序占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 |
比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 |
用户只要跟着农业病虫害科普小程序的页面展示内容进行操作,就可以了。 |
可维护性 |
农业病虫害科普小程序开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.4用例分析
通过2.3功能的分析,得出了农业病虫害科普小程序的用例图:
普通用户用例图如下图2-4所示。
图2-4 普通用户用例图
管理员用例图如下图2-5所示。
本章主要讨论的内容包括农业病虫害科普小程序的功能模块设计、数据库系统设计。
3.1 系统功能模块设计
3.2.1整体功能模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本系统中的用例。那么接下来就要开始对本系统的主要功能和数据库开始进行设计。根据前面章节的需求分析得出,其总体设计模块图如图4-1所示。
图3-1 系统功能模块图
3.2.2系统用户模块设计
用户模块是系统中一个重要的功能模块,它涉及用户的注册、登录、个人信息管理等操作。在用户模块设计中,我们将定义用户数据的结构和属性,包括用户名、密码、邮箱等。同时,还需要实现用户注册、登录、修改密码等功能,并对用户输入进行验证和处理。用户模块的结构图如下图所示。如下图:
图3-2系统用户模块结构图
3.2.3农业知识管理模块设计
农业知识管理模块是本系统中的重要功能之一。该模块的设计旨在提供对农业知识的发布、编辑、删除和查看等管理功能,以便及时、准确地向系统用户发布相关的农业知识信息等。其模块功能结构,具体的结构图如下:
图3-3农业知识管理模块结构图
3.2.4评论管理模块设计
农业病虫害科普小程序是一个交流性质的公开平台,用户可以对农业资讯、论坛贴等进行评论,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,管理员可以删除不合适的评论,其模块功能结构图如下图3-4所示:
图3-4评论管理模块结构图
3.2 数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.2.1 数据库概念结构设计
在数据库概念模型设计的时候,一般都采用E-R实体图进行展示,在实体图中可以展示出数据库表中的所有字段名称,农业病虫害科普小程序中的主要的数据库E-R模型图如下图3-5、3-6、3-7所示。
图3-5 用户注册信息E-R图
图3-6 农业知识信息E-R图
图3-7 农业资讯信息E-R图
3.2.2 数据库逻辑结构设计
通过上一小节中农业病虫害科普小程序中总E-R关系图上得出一共需要创建很多个数据表。在此主要罗列几个主要的数据库表结构设计。
表access_token (登陆访问时长)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
token_id |
int |
10 |
0 |
N |
Y |
临时访问牌ID |
|
2 |
token |
varchar |
64 |
0 |
Y |
N |
临时访问牌 |
|
3 |
info |
text |
65535 |
0 |
Y |
N |
||
4 |
maxage |
int |
10 |
0 |
N |
N |
2 |
最大寿命:默认2小时 |
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
7 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户编号: |
表agricultural_knowledge (农业知识)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
agricultural_knowledge_id |
int |
10 |
0 |
N |
Y |
农业知识ID |
|
2 |
knowledge_name |
varchar |
64 |
0 |
Y |
N |
知识名称 |
|
3 |
knowledge_picture |
varchar |
255 |
0 |
Y |
N |
知识图片 |
|
4 |
release_time |
date |
10 |
0 |
Y |
N |
发布时间 |
|
5 |
knowledge_content |
text |
65535 |
0 |
Y |
N |
知识内容 |
|
6 |
knowledge_files |
varchar |
255 |
0 |
Y |
N |
知识文件 |
|
7 |
knowledge_video |
varchar |
255 |
0 |
Y |
N |
知识视频 |
|
8 |
knowledge_details |
text |
65535 |
0 |
Y |
N |
知识详情 |
|
9 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
10 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
11 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
12 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表article (文章:用于内容管理系统的文章)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
article_id |
mediumint |
8 |
0 |
N |
Y |
文章id:[0,8388607] |
|