django 农作物病害识别与预防系统

题目:  农作物病害识别与预防系统            

    要

本系统为用户而设计制作农作物病害识别与预防系统,旨在实现农作物病害识别与预防管理智能化、现代化管理。本农作物病害识别与预防管理自动化系统的开发和研制的最终目的是将农作物病害识别与预防管理的运作模式从手工记录数据转变为网络信息查询管理,从而为现代管理人员的使用提供更多的便利和条件。使农作物病害识别与预防系统数字化、智能化,是提高工作效率的重要举措。

为了更好地发挥本系统的技术优势,根据农作物病害识别与预防系统的需求,本文尝试以B/S架构设计模式中的Django框架,Python语言为基础,通过必要的编码处理、农作物病害识别与预防系统整体框架、功能服务多样化和有效性的高级经验和技术实现方法,旨在完成一个快速、高效、便捷的农作物病害识别与预防系统。本系统以普通用户、专家用户和管理员三类人,作为目标用户,其中用户主要功能包含普通用户、专家用户的注册与登录,公告信息、新闻资讯、植物识别、病害百科、专家信息、用户反馈等,对账号相关信息的修改;管理员主要功能包括了对普通用户、专家用户的信息以及虫病草害、病害百科、专家信息、用户咨询、用户评分、用户投诉、用户反馈、公告信息等;管理员可以实现最高权限级别的全系统管理。

关键字:农作物病害识别与预防系统。

 

ABSTRACT

This system is designed and made for users to identify and prevent crop diseases, aiming to achieve intelligent and modern management of crop disease identification and prevention management. The ultimate purpose of the development and development of this automatic system for crop disease identification and prevention management is to change the operation mode of crop disease identification and prevention management from manual data recording to network information query management, so as to provide more convenience and conditions for the use of modern managers. Making crop disease identification and prevention system digital and intelligent is an important measure to improve work efficiency.

In order to better play the technical advantages of this system, according to the needs of crop disease identification and prevention system, this paper tries to use Django framework and Python language in B/S architecture design mode as the basis. Through the necessary coding processing, the overall framework of the crop disease identification and prevention system, advanced experience and technical implementation methods of diversified functional services and effectiveness, the aim is to complete a fast, efficient and convenient crop disease identification and prevention system. The system takes ordinary users, expert users and administrators as the target users. The main functions of the users include the registration and login of ordinary users and expert users, announcement information, news information, plant identification, disease encyclopedia, expert information, user feedback, etc., and the modification of account related information; The main functions of the administrator include the information of ordinary users, expert users, insect diseases and grass damage, disease encyclopedia, expert information, user consultation, user rating, user complaints, user feedback, announcement information, etc. Administrators can manage the entire system at the highest permission level.

Key words: Crop disease identification and prevention system.

 

目    录

摘要.................................................................................................................................. I

Abstrac............................................................................................................................ II

1章 绪论.................................................................................................................. 1

  1.1 研究背景........................................................................................................ 1

  1.2 国内外研究现状............................................................................................ 2

  1.3 课题意义........................................................................................................ 3

2章 系统相关技术.................................................................................................. 4

  2.1  Django框架简介........................................................................................... 4

  2.2 PyCharm简介................................................................................................ 4

  2.3 Python编程语言............................................................................................ 5

  2.4  MySQL数据库.............................................................................................. 5

  2.5 系统开发、运行环境.................................................................................... 6

3章 需求分析.......................................................................................................... 8

  3.1 非功能需求分析............................................................................................ 9

  3.2 技术可行性.................................................................................................... 9

  3.3 经济可行性................................................................................................... 10

  3.4 操作可行性................................................................................................... 10

  3.5  系统用例图................................................................................................... 11

4章 系统设计......................................................................................................... 12

  4.1 总体功能设计............................................................................................... 13

  4.2 系统登录模块设计....................................................................................... 14

  4.3 数据库设计................................................................................................... 15

5章 系统实现......................................................................................................... 16

  5.1 前台系统功能模块实现................................................................................. 18

  5.2前台专家用户功能模块实现.......................................................................... 18

  5.3 管理员功能模块实现..................................................................................... 19

   6章 系统测试................................................................................................ 20

  6.1 测试方法与步骤........................................................................................... 21

  6.2 模块测试....................................................................................................... 23

  6.3 测试用例....................................................................................................... 24

结论................................................................................................................................. 25

参考文献......................................................................................................................... 26

致谢................................................................................................................................. 30

第1章 绪论

1.1 研究背景

由于全球气候的异常变化,农作物病虫害的发生频率增加,对农业生产构成了严重威胁。农作物病害种类繁多,且其成因涉及多个方面,包括环境因素、微生物活动等,这些因素共同作用使得病害的预防和识别难度加大[1]。传统的农作物病虫害识别方法大多依赖于人工目视手查,这不仅需要专家经验,而且具有较强的主观性,识别效率和准确性都有待提高。现代农业发展的趋势之一是实现作物病害的精准识别和防治[2]。及时准确地识别作物病害对于实施有效控制和后期精准施药技术至关重要,这有助于减少农药使用量,保护生态环境[3]。

图像处理技术的进步为农作物病害的自动识别提供了新的可能性。深度学习等先进技术在图像识别领域的应用,提高了识别的准确性和效率[4]。高效的病害识别系统能够为农业生产提供大量的数据支撑,这些数据可以用于分析和预测病害发展趋势,从而指导农业生产决策。随着计算机视觉、人工智能和机器学习等技术的不断发展,基于这些技术的农作物病害识别与预防系统研究成为了热点,这些技术的应用有助于提升病害管理的智能化水平。通过研究和开发高效的农作物病害识别与预防系统,可以在保障农业生产效益的同时,减少化学农药的使用,促进环境的可持续发展[5]。

农作物病害识别与预防系统的研究背景可能是多方面的,包括全球气候变化的影响、农作物病种多样性、传统方法的局限性、精准农业需求的增长、图像处理技术的进步、数据支撑的重要性、技术发展的推动作用以及经济与环境可持续性的考量。这些因素共同推动了该领域研究的发展,旨在通过技术创新提高农业生产的效率和可持续性[6]。

1.2 国内外研究现状

中国的研究者注重将全球的先进技术本地化,以适应中国多样化的农作物种植条件和病害种类。中国政府大力支持农业科技创新,包括设置专门的研究基金和项目,鼓励高校和研究机构进行相关技术研发。应用机器学习、深度学习等智能识别技术对农作物的病害图像进行分析,提高识别效率和准确性[7]。开发移动应用程序,利用智能手机等移动设备进行现场病害数据的采集与初步诊断,普及科技知识。使用无人机搭载高分辨率相机或多光谱传感器进行大范围的农田监测,及时检测出作物生长异常区域[8]。

很多国家之间在农作物病害识别与防治方面开展合作,共同应对全球性的问题如气候变化导致的新病害。国外研究通常融合多种技术,比如遥感技术、物联网、智能传感器等,以提高系统的整合性和实时监控能力。欧美等地的精准农业较为发达,通过精细管理减少农药使用,结合GIS(地理信息系统)和GPS(全球定位系统)进行田间管理。人工智能在作物病害识别中发挥重要作用,例如使用卷积神经网络(CNN)进行特征学习和识别[9]。

无论是在国内还是国外,农作物病害识别与预防系统的研究都在迅速发展,且各自有着不同的侧重点。这些研究不仅有助于提升农业生产效率和作物质量,还对环境保护和可持续农业发展具有重要意义。随着技术的不断进步和创新,未来的农作物病害管理将趋向于更加智能化、自动化和精准化[10]。

1.3 课题意义

通过及时准确地识别作物病害,农民和农业管理者可以迅速采取措施,如精准施药,从而减少作物损失,提高农业生产的整体效率。高效的病害检测系统有助于更好地管理作物健康,通过早期诊断和治疗,可以有效控制病害的发展,保护作物免受病虫害的侵害。随着科技的进步,现代农业正朝着更加智能化、自动化的方向发展。农作物病害识别与预防系统的研究和应用是这一趋势的重要体现,有助于推动农业科技的创新和发展。传统的病害识别方法依赖专家经验和视觉判断,容易受到个人经验、作物生长阶段和天气条件等因素的影响。而现代技术的应用,如深度学习,可以大幅提升病害检测与识别的准确率,克服这些局限性。农作物病害识别与预防系统的研究不仅对提升农业生产效率和作物健康管理具有重要意义,而且对于促进环境保护、推动现代农业发展、克服传统方法的局限性以及实现数据支撑与信息化管理等方面也有着深远的影响[11]。

 

                      第2章 系统相关技术

本系统采用了B/S架构的设计思想,通过视图层、模型层及控制层三者的交互,实现系统的功能,软件界面清晰友好美观,系统基本功能一目了然。系统的整体架构为Django应用框架,以Python 作为编程语言,用MySQL存储数据。

2.1 Django框架简介

Django由 Python写成,框架采用了MVT,模型和视图以及模板。将python中一些繁琐的步骤打包,更快速的调用,大大减少了开发时间。

2.2 PyCharm简介

   PyCharm是JetBrains公司开发的一款Python集成开发环境,它提供了很多便利于开发者的功能,比如调试、语法高亮、代码跳转、智能提示、自动补全等。除此之外Pycharm还提供了一些支持Web框架的高级功能,适合此次图书管理系统的开发。

2.3 Python编程语言           

Python是由荷兰数学和计算机研究学会的吉多·范罗苏姆于20世纪90年代设计的一款高级语言。Python优雅的语法和动态类型,以及解释型语言的本质,使它成为许多领域脚本编写和快速开发应用的首选语言。Python相比与其他高级语言,开发代码量较小,代码风格简洁优雅,拥有丰富的第三方库。Python的代码风格导致其可读性好,便于维护人员阅读维护,程序更加健壮。Python能够轻松地调用其他语言编写的模块,因此也被成为“胶水语言”[3]。

Python的应用场合非常广泛,在科研领域中,可以用Python训练人工智能模型,也可以对实验数据进行数据分析。在生活中,Python提供了很多优秀的、开源的Web开发框架,例如Django、Django、Pyramid、Tornado等。知乎、豆瓣网、Youtube等知名应用都是由Python为基础进行开发的。相比于其他框架,Django有着更加丰富的插件,作为企业级框架也很好上手,适合本次开发。此次图书管理系统是开发一个Web应用,采用Django框架,将在下一节进行具体介绍。本次开发选用的是Python3.6.4版本。

2.4 MySQL数据库

MySQL 是一种关联数据库管理系统,该系统速度快而且灵活性强,主要原因是它将数据保存在不同的表中,MySQL软件的优点是成本低、体积小、速度快,开放源码,所以一般中小型网站的开发都选择 MySQL 作为网站数据库。

2.5 系统开发、运行环境

预期的物理环境如下:

1)控制系统在正常温度环境条件下运行。

2)控制系统在干净的场所内运行。

预期的生产技术环境条件如下:

1)网络传输速度为1M以上的网络。

2)电脑:CPU双核以上P42.0G及以上,内存二百五十六万M或以上,硬盘大小四十兆G或是以上,10M网卡/一百兆M千兆网卡,Windows2000/2003/NT/XP/Vista/Windows 7以上中文操作系统。

3)数据库农作物病害识别与预防系统:Oracle9g或以上。

环境配置如表2.2:

2.2 环境配置表

序号

配置项

环境要求

1

系统开发工具

Pycharm

2

数据库

Mysql

3

开发语言

Python

4

开发框架

Django

 

第3章 需求分析

需求的分析中用户需求就是比较的重要,而且可以通过各种的路径,以及各用户对于系统的功能需求,你需要对这些内容做出整理以及分类,然后分析这些需求的现实情况下的可能原因,还需要有认真的分析过程,结合现实的情况下最终做出一系列的需求资料。在有关用户的期望分析中能够明确一些可能实现的情况,农作物病害识别与预防管理功能是许多个可以测试的功能相结合的,正是由于这些功能可以使得用户能够更加积极的提供出需求,让系统功能可以变得更加的完善。这样就可以保证所有设计的功能模块都是可以用到的,而且也是可测试的,对于后续系统的开发能够有比较关键的作用,也能快速完成用户所提供的需求[12]。

3.1 非功能需求分析

3.1.1 可靠性与可用性要求

  1. 控制系统中的程序能够每日工作二十四小时,每年工作365天。
  2. 控制系统中的软件故障率不足百分之五。

3.1.2 容错性需求

用户在输入错误信息时,操作系统将提示错误,而不会崩溃。

3.1.3 易用性与易学性

易用性:软件主要适用于十二至七十周岁的,智商、视力、体力和肢体健康并具备有关专业知识的人应用。

易学性:在现在计算机普及的新科技发展阶段,人人都会使用互联网产品,计算机成为了一门必修课,所以我们这个程序的操作会显得特别简单通俗易懂,通过了解或培训的用户可以顺利使用本软件[13]。

3.2 技术可行性

在研究技术可行性的时候,系统的开发环境是可以确定的,所以技术可行性最好与系统功能和性能以及一些实际的情况同时考虑。在可行性研究阶段,结合实际调整开发的内容和选择能够完成的技术体系是一个可用的手段,如果系统进入开发阶段,任何的调整都意味着会耗费更多的经历。需要再次明确的问题是,技术可行性不只是考虑在技术上是否可实现,实际上还包含了在当前的实际的情况下的技术可行性。有很多的因素例如时间不足、预期的开发目标技术难度比较难、不能有充足的技术积累、而且对于技术的掌握不够等这些实际存在的情况,都是要提前部署和认真规划的。

开发农作物病害识别与预防系统的技术内容分析,目前的状况是从网络硬件和相关技术上看是可行的。该系统采用了Python和 MySQL技术。到现在可以知道,很多的基础知识都是经过学习使用的,在后续的设计中还需要不断的练习,学习更多相关的技术经验来充实自己对于系统的开发。

3.3 经济可行性

此系统是由在校大学生开发的农作物病害识别与预防系统。此系统在开发方式上对系统的需求,由于农作物病害识别与预防系统是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用是作为系统开发的指导思想。

本系统完全能够在农作物病害识别与预防管理工作中发挥重要作用,而作为个人,能在软件开发能力方面得到锻炼和提高也是十分重要的,本系统在此不注重任何社会经济目标。

基于成本(效益)分析法,本系统所需要的软硬件资料均已掌握,该系统简洁易懂,本系统也具备了生产成本相对较少、效益最高的优点,在经济上可行。

3.4 操作可行性

本系统开发平台的总体开发理念,是以安全、便捷、使用为工作中心。开发成熟后采用的本机操作系统还应具备漂亮、大方、简洁,易于管理、运行、维护等许多优点,就算是完全不懂得电脑操作的人士,也一定能够熟练按照本操作系统的提示正确应用、维护、使用和管理好本系统。它所提供的简便易学的功能特性也能够使本系统真正在用户实际使用、管理中方便可行[14]。

3.5系统用例图

一个用例图就能对应出系统中的一个功能过程,系统中完整的功能都是由许多不同的用例图所组成的。

系统用例图如图3-1、图3-2、图3-3所示。

图3-1 管理员用例图

    

图3-2普通用户用例图

    

图3-3专家用户用例图

第4章 系统设计

4.1 总体功能设计

一般普通用户、专家用户和管理员都需要登录才能进入农作物病害识别与预防系统,使用者登录时会在后台判断使用的权限类型,包括一般使用者和管理者,一般使用者只能对植物识别提供查阅和个别使用信息内容的查看,而管理者则能对多个信息内容提供使用。

整体系统的主要功能模块如图4-1:

图4-1 农作物病害识别与预防系统功能图

4.2 系统登录模块设计

用户在启动操作系统时会调用的一个模块。该模型通过用户输入的账号、密码来确定应用的类别,切换到该类应用的页面。

本模块的功能点包括:

1)确定账号与密码是否一致。

2)完全按照系统所规定使用权限的权限类型,,直接通过登陆进入到系统权限的制定管理页面中即可进行授权使用。

登录模块流程图如图4-2:

        

登录流程图

图4-2 登录模块流程图

4.3 数据库设计

管理静止网站时是由WEB客户端向Web传送静态页面,而Web客户端直接对所传送的静态页面进行管理。

实现动态网页数据库信息查询请求的最基本处理流程概括为:当一个WEB用户成功向动态网页服务器数据库发送信息请求成功后,对其动态页面库的一种主要的处理实现方法之一是,屏蔽掉其中所有动态vue代码,只须使用一个动态的动态网页文件,由动态Web浏览器程序直接地在该数据库服务器上进行传递动态信息,然后再通过该数据库服务器的处理程序返回到信息集,由该Web应用服务器处理程序再一次将包含动态程序代码在内的动态页面,转化为一个静态页面信息并自动返回到网页浏览器。也就是网站在这个动态页里对网页信息自动进行检索并最终把这些信息自动返回传递到网站用户处的这个全自动化过程。

数据库查询示意图如图4-3:

wps

图4-3 数据库查询示意图

数据库设计阶段目标表见表4-4:

表4-4 数据库设计阶段目标表

阶段

目标

概念设计

了解功能需求,通过分析系统功能定义出系统有哪些实体联系图(即E-R图)

逻辑设计

把E-R图转换成能处理的逻辑模型,检查是否满足第三范式的要求

物理设计

基于基本数据模型,生成适用于应用系统的物理结构

4.3.1 E-R图设计

根据以上分析,本系统中包含多个实体,根据他们以及他们的关系绘制出E-R图如下:

  1. 普通用户信息实体E-R如下图4-5:

图4-5普通用户实体E-R图

  1. 专家信息实体E-R如下图4-6:

图4-6专家信息实体E-R图

  1. 用户投诉实体E-R如下图4-7:

图4-7用户投诉实体E-R图

  1. 病害百科实体E-R如下图4-8:

图4-8病害百科实体E-R图

  1. 农作物病害识别与预防系统总体E-R如下图4-9:

图4-9农作物病害识别与预防系统总体E-R图

4.3.2  数据库关系表设计

数据库关系表如下:

表4-1: (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

用户编号:

表4-:2 (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表4-3:(评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表4-4: (病害百科)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

encyclopedia_of_diseases_id

int

10

0

N

Y

病害百科ID

2

disease_title

varchar

64

0

Y

N

病害标题

3

insect_disease_and_grass_damage

varchar

64

0

Y

N

虫病草害

4

disease_classification

varchar

64

0

Y

N

病害分类

5

cause_of_onset

varchar

64

0

Y

N

发病原因

6

disease_symptoms

varchar

64

0

Y

N

疾病症状

7

treatment_plan

varchar

64

0

Y

N

治疗方案

8

cover_photo

varchar

255

0

Y

N

封面图片

9

disease_details

longtext

2147483647

0

Y

N

病害详情

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表4-5: (专家信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

expert_information_id

int

10

0

N

Y

专家信息ID

2

expert_users

int

10

0

Y

N

0

专家用户

3

expert_name

varchar

64

0

Y

N

专家姓名

4

expert_title

varchar

64

0

Y

N

专家职称

5

expert_fields

varchar

64

0

Y

N

专家领域

6

age_of_employment

varchar

64

0

Y

N

从事年龄

7

expert_images

varchar

255

0

Y

N

专家图片

8

expert_introduction

longtext

2147483647

0

Y

N

专家简介

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表4-6:(专家用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

expert_users_id

int

10

0

N

Y

专家用户ID

2

expert_name

varchar

64

0

Y

N

专家姓名

3

expert_gender

varchar

64

0

Y

N

专家性别

4

expert_age

varchar

64

0

Y

N

专家年龄

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表4-7: (虫病草害)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

insect_disease_and_grass_damage_id

int

10

0

N

Y

虫病草害ID

2

insect_disease_and_grass_damage

varchar

64

0

Y

N

虫病草害

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表4-8: (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表4-9:(点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表4-10:(普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

user_age

varchar

64

0

Y

N

用户年龄

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表4-11:(轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表4-12: (用户投诉)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_complaints_id

int

10

0

N

Y

用户投诉ID

2

expert_users

int

10

0

Y

N

0

专家用户

3

expert_name

varchar

64

0

Y

N

专家姓名

4

expert_title

varchar

64

0

Y

N

专家职称

5

expert_fields

varchar

64

0

Y

N

专家领域

6

age_of_employment

varchar

64

0

Y

N

从事年龄

7

regular_users

int

10

0

Y

N

0

普通用户

8

complaint_time

datetime

19

0

Y

N

投诉时间

9

complaint_content

text

65535

0

Y

N

投诉内容

10

complaint_feedback

text

65535

0

Y

N

投诉反馈

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表4-13: (用户咨询)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_consultation_id

int

10

0

N

Y

用户咨询ID

2

expert_users

int

10

0

Y

N

0

专家用户

3

expert_name

varchar

64

0

Y

N

专家姓名

4

expert_title

varchar

64

0

Y

N

专家职称

5

expert_fields

varchar

64

0

Y

N

专家领域

6

age_of_employment

varchar

64

0

Y

N

从事年龄

7

regular_users

int

10

0

Y

N

0

普通用户

8

consultation_time

datetime

19

0

Y

N

咨询时间

9

user_consultation

text

65535

0

Y

N

用户咨询

10

expert_response

text

65535

0

Y

N

专家回复

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表4-14: (用户反馈)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_feedback_id

int

10

0

N

Y

用户反馈ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

feedback_time

datetime

19

0

Y

N

反馈时间

5

feedback_content

text

65535

0

Y

N

反馈内容

6

feedback_reply

text

65535

0

Y

N

反馈回复

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表4-15: (用户评分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_rating_id

int

10

0

N

Y

用户评分ID

2

expert_users

int

10

0

Y

N

0

专家用户

3

expert_name

varchar

64

0

Y

N

专家姓名

4

expert_title

varchar

64

0

Y

N

专家职称

5

expert_fields

varchar

64

0

Y

N

专家领域

6

age_of_employment

varchar

64

0

Y

N

从事年龄

7

regular_users

int

10

0

Y

N

0

普通用户

8

rating_time

datetime

19

0

Y

N

评分时间

9

rating_level

varchar

64

0

Y

N

评分等级

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

 
  1. 系统实现

5.1 前台系统功能模块实现

当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到农作物病害识别与预防系统的导航栏显示首页、公告信息、新闻资讯、植物识别、病害百科、专家信息、用户反馈、我的帐户、个人中心。系统首页界面如图5-1所示:

图5-1系统首页界面

在系统首页点击中间的注册/登录按钮,然后页面跳转到注册登录界面,后来输入信息完成后,单击注册或者登录操作,如图5-2所示:

图5-2 普通用户注册、普通用户登录界面

普通用户点击专家信息,在专家信息页面的可以查看专家用户、专家姓名、专家职称、专家领域、从事年龄、专家图片、专家简介信息详情,并进行咨询专家或收藏的操作;如图5-3所示:

图5-3专家信息页面

 

普通用户点击病害百科:在病害百科页面的搜索栏输入病害标题、虫病草害、病害分类,进行查询,还可以查看病害标题、虫病草害、病害分类、发病原因、疾病症状、治疗方案、封面图片、病害详情等内容,并可以进行收藏的操作;如图5-4所示:

图5-4病害百科页面

普通用户点击个人中心,在个人中心页面可以对个人首页、用户咨询、用户评分、用户投诉、用户反馈、收藏进行详细操作,如图5-5所示。

  图5-5个人中心界面图

5.2前台专家用户功能模块实现

在登录流程中,专家首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Python后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许专家访问系统。这个过程涵盖了从专家输入到系统验证和响应的全过程。专家登录主页面如图5-6所示:

图5-6专家用户登录主页面

专家用户进入系统主页面,主要功能包括对系统首页、公告信息、新闻资讯、植物识别、病害百科、专家信息、用户反馈、我的帐户、个人中心等进行操作。专家主页面如图5-7所示:

图5-7专家用户主界面

专家用户点击个人中心,在个人中心页面可以对个人首页、专家信息、用户咨询、用户评分、用户投诉、收藏进行详细操作,如图5-8所示。

  图5-8个人中心界面图

5.3管理员功能模块实现

本模块主要是使用者可以通过农作物病害识别与预防系统的首页进入该系统。用户输入正确的账号名和密码,一旦输入信息有错,将在系统显示错误提示,同时严禁系统用户做出其他动作。如果注册信息正确无误,系统就会按照使用者的身份信息做出有关权利的判定,用户进入前台系统,管理者则进入后台系统。管理员登录主页面如图5-9所示:

图5-6管理员登录主页面

管理员进入系统主页面,主要功能包括对后台首页、系统用户、虫病草害管理、病害百科管理、专家信息管理、用户询管理、用户评分管理、用户投诉管理、用户反馈管理、系统管理、公告信息管理、资源管理等进行操作。管理员主页面如图5-10所示:

图5-10管理员主界面

普通用户信息管理功能实现是在Django后端部分,您需要创建一个新的应用,然后在该应用下创建一个模型(models.py)来定义普通用户的数据结构,使用Django的ORM来处理与MySQL数据库的交互,包括普通用户信息的增删改查等操作。接着,在views.py中编写视图逻辑来处理前端请求,使用Django的URL路由(urls.py)将请求映射到相应的视图函数。对于数据的验证和序列化,可以使用Django的表单或序列化器来实现。在前端Vue.js部分,将创建相应的Vue组件,在这些组件中使用axios或其他HTTP库与Django后端的API进行交互,实现普通用户信息的展示、新增普通用户、编辑普通用户信息和删除普通用户等功能。状态管理可以通过Vuex来维护,比如在store目录下定义普通用户模块的状态、突变、动作和获取器。如图5-11所示:

图5-11普通用户界面

管理员点击虫病草害管理,在虫病草害管理页面虫病草害、创建时间、更新时间等信息,可以查询、添加或删除虫病草害等操作。如图5-12所示:

图5-12虫病草害管理界面

 

管理员点击病害百科管理,在病害百科管理页面对病害标题、虫病草害、病害分类、发病原因、疾病症状、治疗方案、封面图片、病害详情等信息,可以查询或者添加、删除病害百科等操作。如图5-13所示:

图5-13病害百科管理界面

管理员点击专家信息管理,在专家信息管理页面对专家用户、专家姓名、专家职称、专家领域、从事年龄、专家图片等信息,可以查询、添加或删除专家信息等操作。如图5-14所示:

图5-14专家信息管理界面

 

管理员点击用户咨询管理,在用户咨管理页面对专家用户、专家姓名、专业职称、专家领域、从事年龄、普通用户、咨询时间等信息,可以查询、评分、投诉或删除用户咨询等操作。如图5-15所示:

图5-15用户咨管理界面

管理员点击用户投诉管理,在用户投诉管理页面对专家用户、专家姓名、专家职称、专家领域、从事年龄、普通用户、投诉时间等信息,可以查询或删除用户投诉信息等操作。如图5-16所示:

图5-16用户投诉管理界面

 

管理员点击公告信息管理,在公告信息管理页面对标题、创建时间、更新时间等信息,可以查询、添加或删除等操作。如图5-17所示:

图5-17公告信息管理界面

管理员点击资源管理,在资源管理页面对新闻资讯、资讯分类模块信息进行操作;在新闻资讯页面对标题、封面图、文章分类、标签、创建时间、更新时间等信息,可以查询、添加、修改详情、查看评论或删除新闻资讯等操作。如图5-18所示:

图5-18资源管理界面

 

第6章 系统测试

6.1 测试方法与步骤

本系统首先在本地服务器上进行了安装和测试,之后鉴于对系统的结构和处理方法的充分熟悉和对系统特性的充分了解,对系统进行了白盒测试和黑盒试验[15]。

在发展软件系统的整个过程中,人们必须面临错综复杂性的实际问题,所以,在软件系统生存周期的各个过程中都必然地会形成错误。应用软件检测目的在于:出现出错并运行某个程序的步骤,而应用软件检测的最重要目的便是找到其中尚未发生的出错。

为了制定出合理的测试计划,根据以下原则开始了测量;任何测试都要追溯到客户需要;当确定了客户使用模型后就要着手制定测试计划,并在编码以前就对整个软件测试工作做出规划和制定;御用Pareto原理,主要对占出了百分之八十九以上的最易于出错的约百分之二十的模板实施了检测,并从小规模开始逐步实施大量检测,范围一般从主要检测单编程模板再到完全集成的模板;同时精心设计了检测方法,尽可能地全面覆盖所有程序逻辑并使其满足要求的能力[16]。

测试环境,软件和硬件的配置清单见下表。

测试环境表6-1:

表6-1 测试环境表

设备名称

硬件配置

应用程序

服务器端

处理器

1.6GHz 双核 Intel Core i5 (Turbo Boost 最高可达 3.6GHz),配备 4MB 三级缓存

jdk1.8,

Django0.12,

Mysql8.0

maven3.5

内存

8 GB

主硬盘

128GB PCIe 固态硬盘

网卡

802.11a/b/g/n

客户端

处理器

1.6GHz 双核 Intel Core i5 (Turbo Boost 最高可达 3.6GHz),配备 4MB 三级缓存

macOS

内存

8 GB

主硬盘

128GB PCIe 固态硬盘

显卡

Intel UHD Graphics 617

网卡

802.11a/b/g/n

6.2 模块测试

6.2.1 登录模块测试

进入本系统时,根据不同登录方式区分普通用户、专家用户以及管理员的登录。三者登录均需填写用户名和密码。当填写了错误的用户名或密码时,将提示“用户名或密码错误”,按确认按钮返回注册窗口。登录界面简介且高效,输入错误后返回注册窗口也不会卡顿。

6.3 测试用例

本农作物病害识别与预防系统在采用单元测试的方法,对系统各模块进行测试,检测流程必须严格遵循检测的标准流程,进行单位检测,子系统检测和控制系统检测。经过单位检测,就检查出了控制系统中各个模块内在的错误;经过子系统检测,发现了模板之间相互协作与沟通上的出错;经过集成测试,发现了流程中出现的错误。通过修正,确定了农作物病害识别与预防系统能够实现需求分解中确定的技术要求。根据单元测试对系统进行集成测试,判断各功能组合完成后是否存在逻辑和功能上的错误,保证系统集成后不会出现bug。最后,对系统进行系统测试,确保整个系统的完整性和功能的流通性。

通过管理员和普通用户、专家用户三个角色对系统进行完整的系统测试,并对相应的测试进行了详细的测试用例制作,同时记录了详细测试过程,形成了相关的系统测试文档。

具体测试用例如下:

表6-2 注册测试用例表

测试对象

测试案例

操作说明

实际结果

是否通过

注册

用户

未注册用户登录提示请注册

得到相应信息提示

表6-3 后台管理员测试用例表

测试对象

测试案例

操作说明

实际结果

是否通过

后台管理员管理权限

添加管理员

点击后台管理员/管理员列表/添加管理员按钮

显示添加管理员弹框

点击后台管理员/管理员列表/取消管理员按钮

关闭弹框

搜索管理员

在输入框中输入要找的管理员(用户名/手机号/邮箱)点击搜索按钮

显示搜索到的管理员结果

编辑管理员权限/信息

点击要编辑的管理员

显示要编辑管理员的弹框

删除管理员

点击删除管理员

显示删除管理员弹窗/确认删除

结 论

本系统相对于我查阅到的其他农作物病害识别与预防系统具有如下优点:其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好。

本系统在技术层面具有如下优点:第一,用Python实现动态页面,使软件系统具备了很好的可维护性和可复用性。其次,在本系统的编写流程中使用的是Django框架,该框架将更有效的把显示功能与逻辑分开,使得模块更易于管理,尤其适用于大型项目的编写。第三,后台使用的MySQL数据库系统,MySQL的数据库系统引擎主要集中在了对XML标准的支持,同时具备可扩充、容易应用和安全性高的优点。

综上所述,通过这次从零开始的毕业设计是一次全新的开始,也期待圆满结束。我也希望这次的设计能通过我后期的自主学习把它趋向于完美,成为我的自主创作经验。

参考文献

  1. 杨艳华. 探讨高质量Python项目开发技巧 [J]. 电子技术与软件工程, 2019(02): 197.
  2. 何继安. 标准化与质量管理结合提升家政服务水平 [A]. 中国标准化协会. 第十四届中国标准化论坛论文集 [C]. 中国标准化协会, 2020: 5.
  3. 杨阳. 对《Python程序设计》课程的教学改革研究和探索 [J]. 软件, 2019, 38(06): 146-149.
  4. 石坤泉, 杨震伦. 基于MySQL数据库的数据隐私与安全策略研究 [J]. 网络安全技术与应用, 2020(01): 79+81.
  5. 牛小宝. 基于MySQL的云数据库设计与实现 [D]. 南京邮电大学, 2019: 23-45.
  6. 王晓华. 试析MySQL数据库性能的调优 [J]. 电脑编程技巧与维护, 2021(22): 48+82.
  7. 刘学芬, 孙荣辛, 夏鲁宁, 李伟. 面向MySQL的安全隐患检测方法研究 [J]. 信息网络安全, 2019(09): 1-5.
  8. 韩兵, 王照清, 廖联军. 基于MySQL多表分页查询优化技术 [J]. 计算机系统应用, 2020, 25(08): 171-175.
  9. 马帅. 论MySQL数据库教程开设的必要性 [J]. 现代交际, 2019(13): 252.
  10. 郭静. 基于Python的动态网页开发技术 [J]. 科技展望, 2021, 26(03): 10-11.
  11. 杨艳华. 探讨高质量Django项目开发技巧 [J]. 电子技术与软件工程, 2019(02): 197.
  12. 刘晓峥. 浅析基于Python技术的PythonBean和Servlet [J]. 科技视界, 2020(34): 241+269.
  13. 李罡. 计算机网络安全分层评价防护体系研究 [D]. 吉林大学, 2019: 230+245.
  14. Andrew S.Tanenbaum著, 潘爱民译. 计算机网络(第4版) [M]. 北京: 清华大学出版社,  2020: 101-163.
  15. 崔娜. Django的网络数据库连接技术探讨 [J]. 黑龙江科技信息, 2019(36): 259.
  16. 陈孝威, 陈凌云. 三层体系结构的客户机/服务器 [J]. 计算机应用, 2019(01): 23-26.
  17. 杨秀斌, 李岩琦, 景慎艳. 海天家政服务管理系统设计与实现 [J]. 电子世界, 2021(09): 179+182.
  18. 苏蒙蒙. 基于移动互联网的家政服务系统的设计与实现 [D]. 北京邮电大学, 2020: 10-45.
  19. 万佳. 南昌市家政服务订单管理系统分析与设计 [D]. 云南大学, 2019: 34-78.
  20. 王子元. 浅析家政服务行业技能的培养与发展 [J]. 知识经济, 2020(20): 58-59.
  21. Camelia Muñoz-Caro, Alfonso Niño, Sebastián Reyes, Miriam Castillo. APINetworks Python. A Python approach to the efficient treatment of large-scale complex networks [J]. Computer Physics Communications, 2019: 207-218.
  22. Simone Hanazumi, Ana C.V. de Melo. A Formal Approach to implement Python exceptions in cooperative systems [J]. The Journal of Systems & Software, 2020: 200-268.

致  谢

时光荏苒,岁月如梭。大学美好的四年学涯生活即将结束,但仔细想想,这四年之间发生了很多故事。曾经与同学、老师、亲朋好友在大学里所有美好的事物都将成为回忆,心中浮满好多不舍。如果让我总结大学四年生活,我会说我成长了,这四年时光非常值得!感谢所有相遇的老师、朋友们!

首先,我要感谢我的指导老师,谢谢您这段时间对我的论文修改,是您的耐心、细心辅助我顺利的完成了论文的编写,也感谢您的奉献精神,让我学习到了职业精神,希望我以后也能对我的工作同样的负责。

其次,我要感谢我的同学,四年里分享我的情感生活,让我们成为了志同道合的朋友,感谢在大学认识你们。

最后,我要感谢我的父母和亲戚,是你们这些年的耐心的陪伴,让我成为了现在能独立思想的个人,有思想、有理想的人。谢谢所有感谢曾经帮助过我的人,谢谢你们,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值