摘要:基于土壤肥料專家多年來(lái)在江漢平原地區(qū)開(kāi)展的主要農(nóng)作物營(yíng)養(yǎng)特性、土壤供肥能力以及肥料施用技術(shù)等研究成果,開(kāi)發(fā)了江漢平原主要農(nóng)作物施肥推薦專家系統(tǒng)。系統(tǒng)主要以農(nóng)業(yè)專家提供的農(nóng)田土壤肥力評(píng)價(jià)標(biāo)準(zhǔn)與主要農(nóng)作物優(yōu)化施肥推薦標(biāo)準(zhǔn)為依據(jù),采用Java作為開(kāi)發(fā)語(yǔ)言,將SWT/JFace技術(shù)與農(nóng)業(yè)專家系統(tǒng)技術(shù)集成為推薦咨詢系統(tǒng),給每一塊農(nóng)田提供土壤肥力客觀評(píng)價(jià),以及基于作物產(chǎn)量、質(zhì)量及環(huán)境安全的肥料建議施用方案,系統(tǒng)用戶操作方便。
關(guān)鍵詞:專家系統(tǒng);優(yōu)化施肥;土壤肥力;江漢平原;主要農(nóng)作物;SWT/JFace
中圖分類號(hào):S126;S147.2 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):0439-8114(2012)17-3852-03
The Design and Realization of Major Crops Fertilization Expert Recommendation System in Jianghan Plain
LI Liang1,2,CHEN Yong2,FAN Xian-peng1,YANG Li1,DING Heng-hu3,WU Jia-qiong3
(1. Institute of Plant Protection, Soil and Fertilizer Sciences, Hubei Academy of Agricultural Sciences, Wuhan 430064, China;
2. College of Information Engineering, Northwest Agriculture and Forest University, Yangling 712100, Shaanxi, China;
3. Working Station of Soil and Fertilizer, Qianjiang Agricultural Bureau, Qianjiang 433100, Hubei, China)
Abstract: The system was designed for popularizing the results of nutritional characteristics of major agricultural crops, the soil fertilizer ability and the fertilizer response which were studied by soil and fertilizer experts for many years in the Jianghan Plain. The agricultural expert system based on evaluation criteria of soil fertility and optimal fertilizer recommendation of major crops. SWT / JFace technology and agricultural expert system technology were integrated into the recommended advisory system by using java language. It could integrate soil information and make intelligent decision. The system is mainly used to guide the major crops fertilization, to improve the quality and yield of the crops, to improve the utilization of the fertilizer and to avoid excessive application of fertilizers and the resulting environmental pollution in the Jianghan Plain.
Key words: expert system; optimized fertilization; soil fertility; Jianghan plain; main crops; SWT/JFace.
農(nóng)業(yè)專家系統(tǒng)是專家系統(tǒng)在農(nóng)業(yè)領(lǐng)域的應(yīng)用,是人工智能的一個(gè)最為重要的應(yīng)用領(lǐng)域。它是利用存儲(chǔ)在計(jì)算機(jī)內(nèi)的某一特定領(lǐng)域內(nèi)人類專家的知識(shí)來(lái)解決過(guò)去需要人類專家才能解決現(xiàn)實(shí)問(wèn)題的計(jì)算機(jī)系統(tǒng)[1]。農(nóng)業(yè)專家系統(tǒng)早于1996年在荷蘭舉行的國(guó)際計(jì)算機(jī)技術(shù)應(yīng)用于農(nóng)業(yè)的學(xué)術(shù)會(huì)議上被提出,其中土壤施肥是專家系統(tǒng)應(yīng)用的一個(gè)重要領(lǐng)域。有資料顯示,中國(guó)已經(jīng)成為世界上化肥施用量最大的國(guó)家之一,化肥利用率長(zhǎng)期偏低,氮肥的單季利用率僅為35%左右,導(dǎo)致環(huán)境承載的壓力越來(lái)越大。有研究表明,每年進(jìn)入長(zhǎng)江和黃河的氮素中分別有92%和88%來(lái)自農(nóng)業(yè)生產(chǎn),成為中國(guó)水體氮素污染的主要來(lái)源[2]。因此,針對(duì)不同農(nóng)戶,對(duì)土壤各主要養(yǎng)分含量進(jìn)行測(cè)試分析,并根據(jù)測(cè)定結(jié)果決定施肥量與施肥方法有著重要意義。
江漢平原主要農(nóng)作物施肥推薦專家系統(tǒng)(以下簡(jiǎn)稱“系統(tǒng)”)利用計(jì)算機(jī)技術(shù),整合農(nóng)業(yè)專家在土壤肥料和作物營(yíng)養(yǎng)上多年的研究結(jié)果,實(shí)現(xiàn)對(duì)作物施肥的智能化推薦,減少盲目施肥帶來(lái)的環(huán)境問(wèn)題[3];可以為更多的農(nóng)戶提供合理精準(zhǔn)的施肥方案,提高農(nóng)業(yè)生產(chǎn)管理的智能化決策水平。
1 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
1.1 系統(tǒng)設(shè)計(jì)目標(biāo)
專家系統(tǒng)是一個(gè)基于專門的知識(shí)領(lǐng)域來(lái)求解待定問(wèn)題的計(jì)算機(jī)程序系統(tǒng)。專家系統(tǒng)由兩部分組成:一是稱為知識(shí)庫(kù)的知識(shí)集合,包括要處理問(wèn)題的領(lǐng)域知識(shí);二是稱為推理機(jī)的程序模塊,包含一般問(wèn)題求解過(guò)程所用的推理方法。在施肥推薦過(guò)程中,知識(shí)庫(kù)主要為土壤養(yǎng)分分級(jí)標(biāo)準(zhǔn)、作物養(yǎng)分需求規(guī)律及農(nóng)戶田塊的土壤肥力信息等;推理機(jī)則是將專家施肥推薦流程系統(tǒng)化,將田塊的土壤肥力進(jìn)行分等評(píng)級(jí),將不同作物養(yǎng)分需求、肥料選擇用量進(jìn)行模擬整合。系統(tǒng)最終將實(shí)現(xiàn)對(duì)知識(shí)庫(kù)與推理機(jī)的整合,將專家知識(shí)系統(tǒng)與計(jì)算機(jī)程序有效整合[4]。
1.2 系統(tǒng)業(yè)務(wù)分析
系統(tǒng)是在湖北省農(nóng)業(yè)科學(xué)院植保土肥所近幾年來(lái)關(guān)于作物營(yíng)養(yǎng)特性與施肥技術(shù)研究成果的基礎(chǔ)上開(kāi)發(fā)的。根據(jù)農(nóng)業(yè)專家建立的江漢平原地區(qū)土壤養(yǎng)分分級(jí)指標(biāo),系統(tǒng)首先對(duì)農(nóng)戶田塊的養(yǎng)分測(cè)試結(jié)果進(jìn)行分級(jí)和評(píng)價(jià)(分為土壤常規(guī)分析法和ASI分析法),結(jié)合用戶選擇種植的作物和農(nóng)業(yè)專家提供的不同作物、不同土壤養(yǎng)分水平下的施肥方案,為農(nóng)戶給出科學(xué)合理的推薦施肥建議。
系統(tǒng)計(jì)算過(guò)程可分為3個(gè)步驟:①根據(jù)農(nóng)戶田塊的土壤養(yǎng)分分析結(jié)果對(duì)農(nóng)田進(jìn)行分級(jí)和評(píng)價(jià);②根據(jù)不同作物的養(yǎng)分吸收特性得出該作物的施肥推薦量及不同生育期的施肥用量及比例;③根據(jù)農(nóng)戶的施肥計(jì)劃,為農(nóng)戶提出優(yōu)化的作物不同生育時(shí)期各種肥料的施用量。
1.3 系統(tǒng)數(shù)據(jù)流分析
數(shù)據(jù)流程圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中的流動(dòng)和處理過(guò)程,將現(xiàn)實(shí)中的業(yè)務(wù)邏輯轉(zhuǎn)換為系統(tǒng)內(nèi)部的數(shù)據(jù)流動(dòng)[5]。系統(tǒng)中數(shù)據(jù)流為農(nóng)戶土壤養(yǎng)分信息及農(nóng)戶對(duì)作物和肥料品種的選擇,通過(guò)系統(tǒng)內(nèi)部的業(yè)務(wù)處理轉(zhuǎn)變?yōu)樽魑锏氖┓视昧坎⒁酝扑]單形式提供給農(nóng)戶,系統(tǒng)的頂層數(shù)據(jù)流圖如圖1。
2 系統(tǒng)詳細(xì)設(shè)計(jì)
2.1 系統(tǒng)功能模塊
系統(tǒng)主要分為用戶和后臺(tái)管理兩個(gè)功能模塊,在后臺(tái)管理模塊中又劃分了專家知識(shí)庫(kù)管理、數(shù)據(jù)管理、農(nóng)戶管理、管理員設(shè)置等二級(jí)功能模塊。頂層功能模塊圖如圖2,后臺(tái)管理功能圖如圖3。
2.2 系統(tǒng)流程設(shè)計(jì)
由于系統(tǒng)使用對(duì)象并非計(jì)算機(jī)相關(guān)領(lǐng)域人員,因此系統(tǒng)對(duì)用戶的操作進(jìn)行流程化處理,用戶需按照系統(tǒng)流程要求進(jìn)行操作,在操作過(guò)程中系統(tǒng)對(duì)用戶非法操作予以提示,從而保證系統(tǒng)的正常使用。系統(tǒng)施肥推薦流程圖如圖4。
3 系統(tǒng)實(shí)現(xiàn)
3.1 開(kāi)發(fā)環(huán)境
系統(tǒng)開(kāi)發(fā)環(huán)境為Eclipse+SWTDesigner+JDK1.6,采用最成熟的跨平臺(tái)開(kāi)發(fā)語(yǔ)言Java作為系統(tǒng)開(kāi)發(fā)語(yǔ)言[6],以方便系統(tǒng)的快速開(kāi)發(fā),數(shù)據(jù)庫(kù)采用Access數(shù)據(jù)管理系統(tǒng),以方便用戶安裝使用。
3.2 技術(shù)選擇
系統(tǒng)采用典型的MVC(Model-View-Controller)模式開(kāi)發(fā)的C/S架構(gòu)專家咨詢系統(tǒng)。系統(tǒng)界面采用SWT/JFace工具包,SWT/JFace為用戶界面工具箱,用于構(gòu)建GUI操作界面,實(shí)現(xiàn)系統(tǒng)與用戶之間的交互[7]。后臺(tái)則采用JavaBean、Servlet等技術(shù)處理用戶的操作請(qǐng)求,實(shí)現(xiàn)業(yè)務(wù)邏輯處理。在數(shù)據(jù)處理中,系統(tǒng)使用POI插件進(jìn)行Excel導(dǎo)入導(dǎo)出操作,POI是Apache軟件基金會(huì)的開(kāi)源代碼函數(shù)庫(kù),利用其API可實(shí)現(xiàn)對(duì)Excel格式文檔的讀寫操作[8]。
3.3 系統(tǒng)效果
系統(tǒng)經(jīng)過(guò)測(cè)試,最終以圖5的形式提供推薦方案,用戶可以導(dǎo)出施肥方案進(jìn)行保存打印處理,以方便用戶根據(jù)方案實(shí)施作物施肥。
4 系統(tǒng)評(píng)價(jià)與測(cè)試
4.1 系統(tǒng)測(cè)試
測(cè)試是系統(tǒng)開(kāi)發(fā)中不可缺少的環(huán)節(jié),系統(tǒng)采用JUnit框架進(jìn)行單元測(cè)試,同時(shí)對(duì)其可操作性、可控制性、簡(jiǎn)單性、穩(wěn)定性、易理解性進(jìn)行大量測(cè)試,在系統(tǒng)功能上采用黑盒測(cè)試思想,以滿足完成用戶功能需求為目標(biāo),將系統(tǒng)各項(xiàng)功能與預(yù)期結(jié)果進(jìn)行對(duì)比分析[9]。
4.2 系統(tǒng)評(píng)價(jià)
系統(tǒng)開(kāi)發(fā)采用MVC開(kāi)發(fā)模式,對(duì)系統(tǒng)進(jìn)行了分層設(shè)計(jì),對(duì)顯示層、業(yè)務(wù)邏輯層、控制層進(jìn)行分離,降低了系統(tǒng)各層之間的耦合度,提高了系統(tǒng)應(yīng)用的可擴(kuò)展性,為后期系統(tǒng)開(kāi)發(fā)和維護(hù)奠定了基礎(chǔ)。
系統(tǒng)在開(kāi)發(fā)過(guò)程中,參考相關(guān)系統(tǒng)在用戶使用以及界面效果等方面進(jìn)行了改善。經(jīng)過(guò)測(cè)試和分析,系統(tǒng)具有以下優(yōu)點(diǎn):①系統(tǒng)具有廣泛的適用性,能夠?qū)π←?、水稻、棉花、油菜等作物進(jìn)行施肥推薦,可更改后臺(tái)知識(shí)庫(kù)進(jìn)行跨地區(qū)使用推廣;②系統(tǒng)增加必要的人機(jī)交互,從而保證專家系統(tǒng)施肥推薦的準(zhǔn)確性;③系統(tǒng)具有很好的用戶體驗(yàn),減少了不必要的用戶操作,增加了一些人性化提示功能。
由于知識(shí)和時(shí)間等所限,系統(tǒng)尚存在一些不足之處,相對(duì)B/S架構(gòu)系統(tǒng)部署安裝比較復(fù)雜,系統(tǒng)的健壯性還需要進(jìn)一步改善,數(shù)據(jù)庫(kù)操作仍需優(yōu)化。對(duì)于系統(tǒng)應(yīng)用,如果采用B/S+C/S架構(gòu)進(jìn)行整合開(kāi)發(fā),對(duì)于系統(tǒng)的推廣應(yīng)用有著極大的使用價(jià)值和商業(yè)價(jià)值。
參考文獻(xiàn):
[1] 武 波,馬玉祥.專家系統(tǒng)[M].北京:北京理工大學(xué)出版社,2003.
[2] 劉 渝.農(nóng)戶科學(xué)施肥影響因素的實(shí)證分析——以湖北江漢平原為例[J].科技與管理, 2011,13(2):48-40.
[3] 秦銀英,劉冬碧,陳 勇,等.湖北省蓮藕施肥推薦專家咨詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].湖北農(nóng)業(yè)科學(xué),2011,50(9):1880-1883.
[4] 華少軍,王福林.施肥專家系統(tǒng)的現(xiàn)狀及其分析[J].東北農(nóng)業(yè)大學(xué)學(xué)報(bào),2008,39(4):139-144.
[5] SINGH S K.?dāng)?shù)據(jù)庫(kù)系統(tǒng):概念、設(shè)計(jì)及應(yīng)用[M].何玉潔,王曉波,車 蕾,等譯.北京:機(jī)械工業(yè)出版社,2009.
[6] LIANG Y D. Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)篇[M]. 第六版.萬(wàn) 波,鄭海紅,譯.北京:機(jī)械工業(yè)出版社,2008.
[7] SCARPINO M, HOLDER S,NG S,et al. SWT/JFace in Action[M]. Greenwich: Manning Publications Co.,2004.
[8] 張海波,董槐林.一種基于POI的Web表格生成[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(2):21-23.
[9] JORGENSEN P C.軟件測(cè)試[M].第二版.韓 柯,杜旭濤,譯.北京:機(jī)械工業(yè)出版社,2003.