农业专家系统.docx
《农业专家系统.docx》由会员分享,可在线阅读,更多相关《农业专家系统.docx(23页珍藏版)》请在冰豆网上搜索。
农业专家系统
湖北民族学院
毕业论文(设计)
农业专家系统
学生姓名:
******学号:
*********
系别:
计算机系专业:
计算机科学与技术
指导教师:
******评阅教师:
论文答辩日期2011-12-24
答辩委员会主席
摘要
随着中国加入WTO及全球经济一体化进程的加快,世界经济已由工业化经济逐步进入网络信息化时代,传统型农业将面临巨大的挑战,因而必须依靠先进的科学技术,向信息化、现代化农业迈进。
在信息时代来临之季,各行业都紧跟时代的脚步,转变着行业的经营模式、管理模式,从传统的人工管理体制,向信息自动化管理体制过渡。
信息技术的广泛应用,为精确农业的发展提供了技术支持。
精确农业在美国等发达国家已取得长足发展,但在我国尚处于起步阶段。
精确农业代表农业的发展方向,以农业专家系统为特征,发展精确农业是我国农业信息化、现代化的一条新路。
农业专家系统也可叫农业智能系统,是一个具有大量农业专门知识与经验的计算机系统。
它应用人工智能技术,依据一个或多个农业专家提供的特殊领域知识、经验进行推理和判断,模拟农业专家就某一复杂农业问题进行决策。
目前国际上有近百个农业专家系统,广泛应用于作物生产管理、灌溉、施肥、品种选择、病虫害控制、温室管理、畜禽饲料配方、水土保持、食品加工、财务分析、农业机械选择等方面,有些系统(如哥伦比亚大学的梯田管理系统)已成为商品进入市场。
与欧美等发达国家相比较来看,我国农户生产规模小而分散,农业科技素质差,习惯于传统粗放的经营方式,对农业生产知识技术有很大的需求。
再加上农业专家的缺乏,因此广泛推广运用农业专家系统对我国农业和农村发展有着十分重要的意义。
本设计课题是农业专家系统,能够初步分析各种农业数据并对这些数据进行保存。
本系统是基于VC++设计的,执行效率高,实时性强,系统相对稳定,能够较迅速的应对农业中各种问题。
本系统数据库采用的使sqlServer数据库,以C++作为开发语言,可以应对并保存大量的农业数据,使农业管理人员从繁杂的数据中解放出来,并确保了数据的准确性,提高了农业管理的的质量和效益,减轻劳动强度从而全面提高农业的管理水平。
关键词:
农业专家系统,精确农业,农业智能系统
Abstract
WithChina'saccessiontotheWTOandtheaccelerationofglobaleconomicintegration,theindustrializedeconomiestheworldeconomyhasbeengraduallyenterthenetworkinformationage,traditionalagriculturewillfaceenormouschallenges,andthereforemustrelyonadvancedscienceandtechnology,toinformationtechnology,modernagricultureforward.Intheinformationeraofthequarter,theindustryisthepaceofthetimes,transformingtheindustry'sbusinessmodel,managementmodel,fromthetraditionallabormanagementsystem,automatedinformationmanagementsystemtothetransition.
Extensiveapplicationofinformationtechnologyforthedevelopmentofprecisionagriculturetoprovidetechnicalsupport.PrecisionagricultureintheUnitedStatesandotherdevelopedcountrieshavemadeconsiderableprogress,butinChinaisstillinitsinfancy.Precisionagricultureonbehalfofagriculturaldevelopment,agriculturalexpertsystemischaracterizedbythedevelopmentofprecisionagricultureisChina'sagriculturalinformation,anewpathofmodernization.Agriculturalexpertsystemcanalsobecalledintelligentsystemsofagriculture,isalargenumberofagriculturalexpertiseandexperienceofcomputersystems.Itusesartificialintelligencetechnology,accordingtoagriculturalexpertstoprovideoneormorespecificdomainknowledge,experience,reasoningandjudgments,simulationofacomplexofagriculturalexpertstomakedecisionsonagriculturalissues.Currentlytherearenearlyahundredinternationalagriculturalexpertsystem,widelyusedincropproductionmanagement,irrigation,fertilization,varietyselection,pestcontrol,greenhousemanagement,livestockandpoultryfeedformulation,soilandwaterconservation,foodprocessing,financialanalysis,selectionandotheraspectsofagriculturalmachinerySomesystems(suchasColumbiaUniversity'sterracedmanagementsystem)hasbecomeacommoditymarket.ComparedwithEuropeandotherdevelopedcountries,China'sfarmersandscatteredsmall-scaleproduction,agriculturaltechnology,poorquality,accustomedtothetraditionalextensivemodeofoperation,knowledgeandtechnologytoagriculturalproductioningreatdemand.Coupledwiththelackofagriculturalexperts,sowidelyusedagriculturalexpertsystemonChina'sagriculturalandruraldevelopmenthasgreatsignificance.
Theexpertsystemdesignissuesinagriculture,toavarietyofagriculturaldataandpreliminaryanalysisofthesedatatobesaved.ThissystemisdesignedbasedonVC++,andhighefficiency,real-time,thesystemisrelativelystable,relativelyfastresponsetoproblemsinagriculture.ThesystemdatabaseusedintheSqlserverdatabasetoC++asdevelopmentlanguages,youcandealandsavealotofagriculturaldata,sothatagriculturalmanagersfromthecomplexdataofliberation,andtoensuretheaccuracyofthedatatoimprovetheagriculturalmanagementofthequalityandefficiency,reducelaborintensitytherebyimprovingtheoverallmanagementofagriculture.
Keywords:
Agriculturalexpertsystem,Precisionagriculture,AgricultureIntelligentSystem
1绪言
本章阐述农业专家系统的研究背景、现状以及发展方向,明确指出了当前农业管理管理中所面临的问题。
1.1课题背景
随着信息化的快速发展,和企业一样,农业部门也不断的探索和发展先进的管理经验,学习好的管理方法。
伴随着国力的增强,国家在农业上的投入的增多,国内农业管理水平的建设有了很大的发展,各地农业管理的条件得到了不同程度的改善,比较先进的精确农业项目的数量逐年增加,传统的设备管理办法越来越不能满足现在的农业管理管理需求,一个精确农业项目的管理模式以及设备从侧面反映了该项目的先进程度,也直接影响到各种农作物的产量。
如何管理精确农业项目,科学地配置先进管理装备,充分发挥其效益,对精确农业具有十分重要的意义。
长期以来各地农业部门对先进的仪器设备和管理模式的重视不够,普遍存在“重数量,轻管理”的现象,缺乏对先进仪器设备购置和有效管理方法使用能够直接影响效益的概念。
部分部门在耗费了大量有限的经费购入各种农业管理仪器设备后,对仪器设备的完好率、使用情况、功能开发缺乏应有的重视和监督管理,造成设备管理不严、保管不善、利用率低、损失严重的情况。
有些农业部门的设备管理人员没有利用好现代化网络手段来进行设备管理,大量的时间被入库验收、打印帐目报表等传统工作方式占用。
降低了工作效率和工作质量。
农业专家系统的主要工作是为了方便有关农业部门能够非常方便的管理精确农业项目,比较科学的处理农作物的各种指标数据,以期能够使用最小的资源获得最大的收成。
该系统并且能够记录农作物生长过程中的各项数据,方便农业部门的有关专家研究农作物生长过程中的各个过程,为以后的农作物研究提供宝贵的第一手资料。
本设计课题是农业专家系统,能够初步分析各种农业数据并对这些数据进行保存。
本系统是基于VC++设计的,执行效率高,实时性强,系统相对稳定,能够较迅速的应对农业中各种问题。
本系统数据库采用的使sqlServer数据库,以C++作为开发语言,可以应对并保存大量的农业数据,使农业管理人员从繁杂的数据中解放出来,并确保了数据的准确性,提高了农业管理的的质量和效益,减轻劳动强度从而全面提高农业的管理水平。
1.2课题研究的目的和意义
课题研究的意义:
(1)给出解决传统农业中数据的实时性不好控制的解决方法,本系统通过各种传感器实时的在系统中反映农作物生长的各项参数。
(2)给出解决信息搜集后针对各种需求进行整理困难大的问题的解决方法,方便精确农业的发展。
(3)对系统的合理性进行探讨,说明在VC++平台下,对精确农业进行多角度、全方位的控制。
(4)对数据安全性和数据完整性进行验证,证明VC++平台下的农业管理管理系统在数据安全以及数据完整性上的突出成就
1.3国内外概况
国际上对农业专家系统的研究开始于上世纪70年代末80年代初,最早用于农作物的病虫害诊断,这也许是受到医疗诊断专家系统的启迪。
例如比较早的农业专家系统美国伊利诺斯大学于1978年所研制的大豆病虫害诊断专家系统和于1982年开发的玉米螟虫虫害预测专家系统,以及日本千叶大学于1983年研制的西红柿病虫害诊断专家系统等。
但从整体看,农业专家系统在当时尚未引起普遍的重视。
直到上世纪80年代中期,专家系统技术获得了迅速发展,农业专家系统相应的在国际逐渐被认可,这一时期的农业专家系统不再局限在单一的病虫害诊断,而是逐步转向作物生产综合管理、农业经济预测决策、生态环境等更为广泛的领域。
美国、日本、中国和欧洲等国在这时期发展最为突出。
我国是国际上研究农业专家系统比较早的国家之一。
早在1980年前后,中国农科院蚕桑研究所就与浙江大学共同合作开展了蚕育种专家系统的研究;随后中科院合肥智能机械研究所于1983年也与安徽省农科院土壤肥料研究所合作研制开发了砂姜黑土小麦施肥专家咨询系统。
在“七五”建设期间,国家对专家系统的研究给予了极大的支持,伴随着涌现出了一大批水平较高的农业专家系统,例如中科院合肥智能机械研究所开发的作物施肥专家系统;中国农科院作物研究所开发的品种选育专家系统;植保研究所开发的粘虫测报专家系统;华中理工大学开发的柑桔园艺专家系统;以及浙江大学与中国农科院蚕桑研究所进一步合作研究的蚕育种专家系统等。
值得一提的是中科院合肥智能机械研究所在此期间研制开发了面向农业领域的雄风系列专家系统开发工具,它为农业专家系统的开发提供了通用的工具,使专家系统的研究迈入了新的阶段。
与此同时,各地高校、科研院所也相继研制开发了为数不少的农业专家系统。
比较有代表性的有辽宁省农科院的水稻新品种选育专家系统;宁夏农林科学院利用VP-EXPERT开发的春小麦条锈病预测专家系统;北京农业大学的作物病虫害预测专家系统和农作制度专家系统;安徽省计算中心与安徽农业大学合作的水稻病虫害专家系统等。
这些充分展现出我国农业专家系统在此阶段的活跃局面。
进入上世纪90年代,我国农业专家系统研究又有了新的进展。
其不仅体现在广度方面,更重要的是体现在深度上,尤其是进一步将智能技术综合集成应用于农业领域。
比较有代表性的有浙江大学与中国农科院畜牧研究所开发的饲料配方专家系统,它将基于案例推理和面向对象技术进行了较好地融合;另外,新疆农业大学、南京农业大学、北京农业大学等高校在农业专家系统技术与作物生理生态过程模拟方面的结合也取得了可喜地进展。
近些年,在信息技术飞速发展的带动下,农业信息技术愈来愈受到各级部门的重视,同时众多国内、国际学术会议的召开为农业专家系统的应用与研究做了深入的探讨。
可以预见,未来一个时期以农业专家系统为重要手段的智能化农业信息技。
1.4课题的主要研究工作
本文首先介绍农业专家管理系统以及VC++开发的相关概念,从理论上阐述基于VC++的农业专家管理系统在现今的精确农业项目日常运作中的重要作用。
深入的剖析在农业专家管理系统中实施基于VC++的系统时的优点和缺点,探讨在未来基于VC++企业级农业专家管理系统的可拓展的方向,用以提供针对于不同行业、不同需求的解决方案。
接着会针对于精确农业管理的需求,给出系统的概要设计,确定系统应该具有的模块以及模块与模块之间的关联关系,同时探讨系统具有的公共功能需求。
再接着会介绍该系统的详细设计,详细分析精确农业项目内部的相关数据交换和业务流程,以及各种传感器之间的协作式数据处理和业务流程。
最后完成该农业专家管理系统的具体实现,就其中的关键技术和关键问题进行阐述。
2研究方法及相关技术简介
2.1MFC的概念
2.1.1什么是MFC
MFC,微软基础类(MicrosoftFoundationClasses),同VCL类似,是一种应用程序框架,随微软VisualC++开发工具发布。
目前最新版本为10.0(截止2011年3月),并且发布了中文版。
该类库提供一组通用的可重用的类库供开发人员使用。
大部分类均从CObject直接或间接派生,只有少部分类例外。
MFC应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。
MFC提供了MFCAppWizard自动生成框架。
Windows应用程序中,MFC的主包含文件为"Afxwin.h"。
此外MFC的部分类为MFC/ATL通用,可以在Win32应用程序中单独包含并使用这些类。
由于它的易用性,初学者常误认为VC++开发必须使用MFC。
这种想法是错误的。
作为ApplicationFramework,MFC的使用只能提高某些情况下的开发效率,只起到辅助作用,而不能替代整个Win32程序设计。
2.1.2MFC的发展以及特点
MFC实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是Windows下开发人员使用的专业C++SDK(SDK,StandardSoftWareDevelopKit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:
C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器,或者说是一种编译器+源程序编译器的IDE,WS,PlatForm,这跟Pascal和Delphi的关系一个道理,Pascal是Delphi的语言基础,Delphi使用Pascal规范来进行Win下应用程序的开发和编译,却不同于Basic语言和VB的关系,Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范,VB新加的Basic语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使VB既是一个IDE,又成长成一个新的程序设计语言),MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC++专配的.MFC是WinAPI与C++的结合,API,即微软提供的Windows下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第三方(如我是一方,微软是一方,Borland就是第三方)的编程语言来进行对Windows下应用程序的开发,使这些被开发出来的应用程序能在Windows下运行,比如VB,VC++,java,Delhpi编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在Windows的消息机制和绘图里,遵守Windows作为一个操作系统的内部实现,这其实也是一种必要,微软如果不提供API,这个世上对Windows编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾,上面说到MFC是微软对API函数的专用C++封装,这种结合一方面让用户使用微软的专业C++SDK来进行Windows下应用程序的开发变得容易,因为MFC是对API的封装,微软做了大量的工作,隐藏了好多程序开发人员在Windows下用C++&MFC编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价(这是微软的一向作风),因此就造成了MFC对类封装中的一定程度的的冗余和迂回,但这是可以接受的.. 最后要明白MFC不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在Windows(用MFC编写的程序绝大部分都在Windows中运行)中实现内部处理的类,如数据库的管理类等,学习中最应花费时间的是消息和设备环境,对C++和MFC的学习中最难的部分是指针,C++面向对象程序设计的其它部分,如数据类型,流程控制都不难,建议学习数据结构C++版。
MFC是微软封装了的API。
什么意思呢?
windows作为一个提供功能强大的应用程序接口编程的操作系统,的确方便了许多程序员,传统的win32开发(直接使用windows的接口函数API)对于程序员来说非常的困难,因为,API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。
MFC是面向对象程序设计与Applicationframework的完美结合,他将传统的API进行了分类封装,并且为你创建了程序的一般框架,MFC是对WindowsAPI的封装,大大简化了我们的工作;学VC主要就是要学MFC,大约有100多个类,但常用的也就二三十个。
2.2VC++相关知识
2.2.1什么是VC++
MicrosoftVisualC++是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。
它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。
2.2.2VC++的特点
它以拥有“语法高亮”,intelLiSense(自动编译功能)以及高级除错功能而著称。
比如,它允许用户进行远程调试,单步执行等。
还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。
其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。
这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。
2.3面向对象思想
2.3.1什么是面向对象思想
面向对象(ObjectOriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。
面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。
如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
2.3.2面向对象的特点
对象唯一性:
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。
在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
抽象性:
抽象性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。
一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。
任何类的划分都是主观的,但必须与具体的应用有关。
继承性:
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。
在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。
在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重用性。
采用继承性,提供了类的规范的等级结构。
通过类的继承关