唐 华
(眉山职业技术学院,四川 眉山 620010)
随着科技的不断发展和农业生产的日益复杂化,农业生产对于先进技术的需求与日俱增。在农业生产中,玉米作为一种重要的粮食作物,其产量和质量的提升对于粮食安全和农业经济具有重要意义。传统的农业生产管理方式不能满足新技术的生产需求,需要更智能、高效的解决方案来应对复杂多变的生产环境[1]。
神经网络作为人工智能领域的研究热点之一,其强大的学习和模式识别能力为农业决策提供了新的可能。本研究旨在针对玉米水肥管理中存在的问题,借助神经网络算法,开发一套智能决策系统软件,以提升玉米生产的水平和效益。
1.1 功能性需求
玉米水肥智能决策系统旨在为农业从业者提供高效的水肥配施决策,并构建全面的综合系统。系统具备良好的可移植性和可扩展性,以适应未来农业发展需求。用户分为普通用户、管理员和超级管理员,系统包含数据管理、模型管理、信息交互、资料管理、账户管理和系统管理等六大功能模块,具体情况如图1所示。
图1 系统功能模块Fig.1 System function module
1.1.1 数据管理模块
数据管理模块允许经过认证的用户录入和管理数据,涵盖查询、编辑和删除等多项操作。数据录入环节包含9 个关键字段,确保信息的完整性与准确性。此外,系统提供灵活的数据展示和检索功能,以列表形式呈现,支持多条件筛选[2]。
1.1.2 模型管理模块
作为系统的核心,模型管理模块支持用户使用预设或自定义模型来进行水肥决策。它允许用户基于实际生产数据来构建新模型,同时,管理员有责任维护模型库的有效性和可靠性。用户在模型运行时输入必要信息,系统后端处理并返回结果,同时保存运行记录以供查询。
1.1.3 信息交互模块
信息交互模块为用户交流平台,管理员在此发布通知和管理用户内容,包括帖子和留言。用户可在此模块发布农业相关内容,实现知识分享和问题解答。模块设计注重用户体验,提供直观的界面和清晰的功能布局。
1.1.4 资料管理模块
构建权威且全面的农业知识库,内容覆盖种植技巧、病虫害防治及品种信息等。用户可快速检索所需信息,节省时间成本。管理员在此负责内容的更新和维护,确保信息的前沿性和可靠性。
1.1.5 账户管理模块
账户管理模块用于用户注册、登录、维护个人信息及密码更新。角色包括普通用户、系统管理员和超级管理员。注册登录仅需填写用户名、昵称、密码,简洁高效。账户管理核心功能分为“个人信息”“账号管理”,用户可调整昵称、密码等关键信息,密码修改需验证原设定密码,确保账户安全。
1.1.6 系统管理模块
系统管理模块专为管理员和超级管理员设计,提供用户权限设定和管理功能。包括用户添加、信息管理和权限分配等。不同级别用户享有相应的数据操作和系统维护权限,以确保系统的顺畅运行和数据安全。
1.2 非功能性需求
玉米水肥智能决策系统的非功能性需求包括系统性能、可靠性、易用性、安全性、可扩展性和可维护性等方面,归纳起来有以下几方面:一是系统性能要求响应速度快,页面加载时间在3 s 内完成,模型运行和构建功能的响应速度也有具体要求。二是系统可靠性要求系统正常运行时间占比高于95%,月均故障次数不超过1次。三是系统易用性要求操作和界面友好,支持简单操作和模糊查询,具备响应式布局和简洁大方的界面设计[3];
安全性方面,系统要求具备严格的权限控制和加密机制,保障内部和外部安全。四是系统可扩展性,要求系统结构合理,减少耦合,以满足未来可能的新需求。五是系统可维护性,要求代码规范,功能模块相对独立,降低维护难度和故障牵连影响。
2.1 系统架构设计
玉米水肥智能决策系统采用三层架构,分别为表示层、业务层和数据层,构建在B/S 架构上,如图2 所示。其中,表示层作为用户与系统互动的媒介,通过浏览器展示用户可见的系统形式,接收用户请求并将其传递至服务器。用户登录需经过鉴权,确保安全进入系统。业务层承担主要功能,接受表示层请求并处理,依托Django 框架实现业务逻辑。Django 的Models 层使用ORM 框架处理数据事务,Templates 层处理表示层事务,而Views 层作为连接Models 与Templates 的桥梁,共同支持业务层功能。数据层负责存储系统资源数据,主要采用关系型数据库系统MySQL,实现数据的存取。为提高系统性能,采用Redis 技术对session 等长周期数据进行缓存,以减轻服务器压力[4]。
图2 系统总体架构Fig.2 Overall system architecture
2.2 系统流程设计
系统的核心功能模块包括数据管理、模型管理、信息交互、资料管理、账户管理和系统管理等6个方面。
一是数据管理模块。提供规范化的作物生产数据存储和管理平台,分为普通用户、管理员和超级管理员3 种角色。普通用户可对自己的数据进行录入、删除、编辑和查询,而管理员和超级管理员则具有管理所有用户数据的权限,并在得到用户许可的情况下优化系统其他功能,如图3所示。
图3 数据管理模块流程Fig.3 Data management module flow
二是模型管理模块。为用户提供水肥配施方案决策支持,包括个人历史记录和模型管理功能。管理员和超级管理员还能对普通用户的历史记录和模型库进行操作,如图4所示。
图4 模型管理模块流程Fig.4 Model management module flow
三是信息交互模块。提供用户交流互动的平台,包括通知公告浏览、论坛发表文章或提问等功能。管理员和超级管理员可进行论坛业务管理,包括分类、公告、帖子和留言的管理,如图5所示。
图5 信息交互模块流程Fig.5 Information interaction module flow
四是资料管理模块。构建系统知识库,用户可查阅资料,管理员和超级管理员负责录入和更新资料。
五是账户管理模块。提供用户注册、登录、个人信息维护和密码管理功能。
六是系统管理模块。为系统管理人员设计的模块,包括用户管理和权限分配。用户管理涵盖新增、信息查询、信息修改、状态设置和用户删除等操作,状态设置有正常、异常和禁用3种。权限分配操作允许超级管理员设定下级权限用户为普通用户或管理员用户。
以上6 个模块共同构建了完整的玉米水肥智能决策系统,从数据管理到系统管理的全面功能,为用户提供了便捷的决策支持和交流互动平台。
2.3 系统数据库设计
数据库在不仅是维持系统高效运行的核心,更是确保软件系统稳定性和可靠性的要素之一。玉米水肥智能决策系统以MySQL 为基础,构建完备的表格关系模式和底层架构。系统涉及的核心实体对象包括用户数据、农作物生产相关数据、农业模型参数设置、模型运行历史记录、公共信息发布、讨论话题、用户留言、主题类别、种植技术知识、农作物病虫害防治策略及品种系谱等。数据库模型框架图是系统稳定性和高效性的基石,确保了系统在各方面的功能和性能上达到卓越水平。
3.1 账户管理模块功能实现
账户管理模块是系统的核心,包含账号注册、登录、个人信息查看和维护等功能。模型层定义了User模型对应MySQL 的users 表,视图层包含多个函数(如login、dologin、logout 等),模板层有login.html、register.html 等页面。用户访问系统时,经过登录拦截,若无session 信息则重定向至登录页面。已有账号用户在登录界面输入信息,经dologin 函数核对后写入session,加载系统首页(homepage.html)。新用户可注册或联系管理员获取账号。系统首页展示“我的数据库”“我的预测”“我的论坛”“资料库”功能和侧边栏导航。管理员用户有“系统管理”功能。用户可在右上角查看个人信息或退出,左侧“账号管理”用于修改个人信息和密码。点击“账号管理”经useredit 路由,渲染个人信息至前端。其他功能类似,修改后信息经userupdate 路由写入数据库,格式错误则提示。整体设计基于AdminLTE 开源项目,前端界面清晰展示多功能组件和侧边栏导航,提供用户友好的操作体验。
3.2 数据管理模块功能实现
数据管理模块利用Django 应用程序中设计的数据库实现对各种数据的详细呈现、添加、更新、删除和查询等基本操作。一般用户可以方便浏览和操作个人数据,而管理者和超级管理员拥有更广泛的权限,能够管理全体用户的相关数据。
该模块主要涉及Summary of data 模型及对应于MySQL数据库中的Summary of data表。在视图层面,定义了响应数据管理界面各项操作需求的函数,如index、insert、edit等。在模板层面,整合多个页面,用户可以从系统主页或左侧边栏直接访问数据管理界面,以有序的列表形式展示数据。
录入界面要求用户填写各字段,完成输入后,通过单击“提交”按钮将数据以form 表单形式提交到后台服务器。后台服务器会通过database_insert 路由调用insert 函数进行数据录入,成功则给出明确提示,否则提供详细错误信息。
用户可以通过在“操作”栏上点击“编辑”按钮更改数据,同时为防止误操作,提供“删除”按钮,系统会弹出确认对话框。管理者或超级管理员有特权查看所有用户数据,并保留对数据进行编辑和删除的权限。为了增加灵活性,为“按条件查找”的选项增加了“按所属用户ID查询”的细分选项。
3.3 模型管理模块功能实现
管理模块包括水肥配施方案决策子模块和模型库子模块,用户通过水肥配施方案决策子模块选择模型并输入土壤氮、磷、钾元素含量及土壤含水率等字段进行预测。提交后,predict 函数传递参数给ISSARBF 类,执行模型运算和ISSA算法寻优,输出建议的灌水量、施肥量及预测产量,结果显示在水肥配施方案决策界面,并记录到数据库的historical prediction表。
用户可点击“历史记录”按钮查看或删除模型运行历史,跳转至历史记录界面。管理员用户能查看所有用户的模型运行历史,包括“历史记录ID”和“所属用户”字段,同时可删除下级权限用户历史记录。
模型库子模块允许用户在模型库界面查看各模型的简要信息,包括模型名、评价指标、构建及更新时间等字段。用户点击“构建新模型”按钮,自定义模型名称并选择36 个以上的样本数据作为训练集。提交后,insert函数进行数据归一化并以随机抽样划分训练集和测试集,构建模型并将信息写入数据库的models 表。新构建的模型在列表中显示,用户可按条件查找、更新、查看、删除模型。
管理员用户能操作所有用户所属模型,包括默认模型,并查看模型的详细参数。在模型详情界面,管理员用户额外展示“模型ID”和“所属用户”字段。模型更新流程与构建类似,但仅对已存在的模型进行改动。系统提供用户友好的交互体验,通过按钮和搜索框使得模型管理更加灵活和高效。
3.4 信息交互模块功能实现
信息交互模块主要包括查看公告、发表帖子和留言等功能。该模块使用Django 应用forum,并定义了Public_notice、Kind、Post、Reply 等4 个模型对应MySQL数据库中的数据表。前端界面存放于templates/forum目录下,静态文件存放于static/AgriculturalSystem/forum目录下。用户可通过系统首页的“我的论坛”组件或边栏的“论坛”进入信息交互模块主界面。
在主界面,用户可浏览公告并使用导航栏的功能,如发布新帖、查看帖子分类和搜索帖子。管理员用户享有额外的“分类管理”权限。帖子以列表形式展示,信息包括分类、标题、作者、发帖时间等,并按时间顺序排列,支持通过标题或作者等条件进行搜索。
3.5 资料管理模块功能实现
资料管理模块旨在为用户提供详尽易操作的查阅服务,分为普通用户和管理员用户两类。核心应用使用Django,主要应用名称为library,包含3个紧密关联的模型结构:Plantskills、Diseases in insect pests 和Variety typ pedigree,模型对应MySQL 数据库中的数据表。系统包括增、删、改、查等多重函数,以及在模板层创建了相应HTML页面。
主界面分为3 个板块:种植技巧、病虫害防治及品种系谱。用户可通过主页或左侧边栏直接进入资料管理模块。在种植技巧板块,普通用户可浏览与技巧相关资料,管理员在左下角找到录入新资料按钮进行维护。在种植技巧主界面,用户可通过筛选和点击标题查看详细信息。管理员则可在通过重新编辑、删除资料等按钮进行修改或删除操作。该设计保证了系统灵活性和便捷性,普通用户轻松获取知识,管理员高效管理和更新资料,确保数据完备和优质。
3.6 系统管理模块功能实现
系统管理模块是针对持有高权限的用户所设计的,主要包括权限设定与用户管理两个关键环节。高级管理员和超级管理员可通过点击系统主页上的“系统管理”按钮或者进入左侧导航栏目下的“系统管理”标签获取相应界面。用户的基本信息以简洁的列表形式呈现,搜索框支持对用户姓名或者昵称的模糊查找。除此之外,界面还增设了诸如“新增用户”“编辑”“删除”“查阅用户详细资讯”等多种实用按钮。至于角色权限的分配,只需要调整用户信息界面中的“用户权限”字段即可实现。
本研究构建了功能完备、性能卓越的玉米水肥智能决策系统,以满足玉米生长的水肥决策方面的需求。系统设计采用B/S架构和三层架构,确保系统的稳定性和高效性。数据库以MySQL 为基础,构建完备的表格关系模式,包括用户数据、生产相关数据、模型参数、运行历史记录等核心实体对象,为系统的稳定性和可靠性奠定了基石。在系统功能实现方面,各模块均得到实现,包括账户管理、数据管理、模型管理、信息交互、资料管理和系统管理,为用户提供了全面的决策支持和交流互动平台。
猜你喜欢 系统管理水肥管理员 雅苒致力于推动水肥一体化中国化肥信息(2022年8期)2022-12-05“水肥一体”新系统 助力增收有一手今日农业(2022年3期)2022-11-16我是小小午餐管理员儿童时代·快乐苗苗(2022年2期)2022-04-19我是图书管理员少先队活动(2020年8期)2020-12-18我是图书管理员少先队活动(2020年7期)2020-12-18可疑的管理员故事作文·高年级(2020年2期)2020-02-24《系统管理学报》征稿简则系统管理学报(2018年2期)2018-08-13“水肥一体化”这么厉害!中国农资(2018年25期)2018-08-07浅谈水肥一体化技术在北方贫困山区的应用与推广现代园艺(2018年2期)2018-03-15《系统管理学报》征稿简则系统管理学报(2016年5期)2016-09-03