葉有燦 周 艷 唐 煒 陸健東
(上海市農(nóng)業(yè)農(nóng)村委員會信息中心,上海市長寧區(qū) 200335)
自改革開放以來,上海市農(nóng)業(yè)科技的研究和發(fā)展取得了一定的成就,“科技+信息”成為了農(nóng)業(yè)走出去的“兩翼”,農(nóng)業(yè)信息化為上海都市現(xiàn)代綠色農(nóng)業(yè)的發(fā)展打下了扎實的基礎[1-2]。目前,上海農(nóng)業(yè)的發(fā)展既面臨著難得的發(fā)展機遇,又面臨著巨大的挑戰(zhàn)。如何在已實現(xiàn)小康的基礎上,不失時機地推進農(nóng)業(yè)現(xiàn)代化建設,及如何利用飛速發(fā)展的網(wǎng)絡信息技術(shù)為上海“三農(nóng)”服務和發(fā)展上海都市現(xiàn)代綠色農(nóng)業(yè)已成為上海市促進農(nóng)業(yè)發(fā)展急需解決的問題。在此背景下,隨著上海市民生活水平的提高,鄉(xiāng)村振興戰(zhàn)略的實施,上?!芭蓬^兵”“先行者”作用的發(fā)揮,“上海菜籃子”的地位和要求被擺到了一個新的位置,上海市菜籃子工程信息系統(tǒng)應運而生?,F(xiàn)將上海市菜籃子工程信息系統(tǒng)的設計與應用情況總結(jié)介紹如下,以期促進該系統(tǒng)的進一步應用。
采用集成化的軟件構(gòu)造環(huán)境,全面實現(xiàn)信息系統(tǒng)跨部門構(gòu)建,注重系統(tǒng)的可擴充性、可維護性、廣泛適應性,形成菜籃子工程數(shù)據(jù)倉庫,充分利用業(yè)務部門主抓的田間地頭“第一手”資料的準確性和權(quán)威性,為上?!叭r(nóng)”發(fā)展提供數(shù)據(jù)依據(jù),為領(lǐng)導決策提供科學的信息服務。
根據(jù)不同用戶身份(普通用戶、信息統(tǒng)計員、IT應用主管、項目管理員、業(yè)務應用主管)畫出總體需求例圖,寫出總體需求描敘,確定開發(fā)平臺。選擇應用構(gòu)造器中間件Prop Web Builder進行二次開發(fā),充分利用JAVA語言的一次編寫各處運行的特點,徹底保證平臺無關(guān)性[3]。
配合使用支持UML標準的面向?qū)ο蠼9ぞ逺ational Rose Enterprise Edition(當今軟件開發(fā)較先進的需求分析和邏輯設計的支撐工具)與基于Web的應用構(gòu)造器中間件,以提高構(gòu)造應用的應用效果。同時,通過UML中的類圖進行系統(tǒng)邏輯設計,畫出信息采集子系統(tǒng)包圖,進一步畫出各子系統(tǒng)類圖,并編寫好表名、描敘、列名、數(shù)據(jù)類型、長度、小數(shù)位等。此外,根據(jù)各相關(guān)表之間的聯(lián)系,編號對應的視圖,盡可能地減少冗余。
遵循功能分類科學準確、主次功能劃分明確、重點功能突出且醒目的設計原則,確定菜單、主表單、子表單、功能按鈕的鏈接關(guān)系。
選用Oracle Database Server 10g數(shù)據(jù)庫,前臺JSP文件可通過JDBC驅(qū)動程序連接后臺數(shù)據(jù)庫。
對數(shù)據(jù)源名稱、數(shù)據(jù)源連接、數(shù)據(jù)庫、用戶、JDBC驅(qū)動程序、驅(qū)動程序版本等進行命名和確定,建好數(shù)據(jù)庫框架。
根據(jù)分析階段的邏輯設計所確定的表、視圖及其關(guān)系,建立表(定義表名、字段及其類型)和視圖(將相關(guān)的表通過關(guān)聯(lián)的字段連接起來)。
具體為:(1)設立首頁面,編輯首頁面。(2)根據(jù)要求構(gòu)建功能主表單、報表主表單、圖表主表單、綜合查詢主表單,并把表單和表、視圖捆綁起來。(3)根據(jù)主表單的要求建立子表單。(4)編輯對應的表單,選擇性設立標簽、按鈕、文本框、列表框、單選框、復選框、可選日期、自動簽名、自動日期、超鏈接、多媒體等欄目。(5)設置好欄目的物理位置關(guān)系,根據(jù)功能把它們與對應表中的字段、子表單、系統(tǒng)時間、事件、主表單、功能模塊等有機聯(lián)系起來。
建立并確定主菜單和子菜單的位置關(guān)系,并對主表單定義功能點,通過功能點將主表單和基礎菜單聯(lián)系起來。
建立綜合查詢模塊,構(gòu)建主表區(qū)綜合查詢中涉及到綜合查詢模塊,并通過視圖將表、字段聯(lián)系起來,最終根據(jù)需要交互式地完成綜合查詢功能。
建立報表模塊并設置報表格式(表頭、行高、列寬和表尾),確定報表與視圖的鏈接關(guān)系。構(gòu)建報表中的各元素,包括行變量、列變量、統(tǒng)計變量等,并設置它們的位置關(guān)系,最后通過視圖將它們和表中的字段聯(lián)系起來,最終根據(jù)需要對應生成各種圖表。
要建立圖表功能模塊,首先需建立指標體系,即建成由描敘指標和絕對指標共同構(gòu)成的樹型指標體系。圖表的基礎數(shù)據(jù)來源于絕對指標,絕對指標則反映了視圖、表、計算公式、字段等最基本的數(shù)據(jù)屬性,可通過提取指標量,指定X軸、Z軸,生成圖表。
具體為:(1)建立用戶部門管理體系,即建立樹型的用戶部門和人員結(jié)構(gòu),用戶口令采用明碼、密碼、加密算法的多重保護。(2)建立角色權(quán)限管理體系,即建立不同的角色,確定角色與功能點間的聯(lián)系,一個角色設有多個功能點(功能點在主表單建立時已設置好,與基礎菜單間存在著一一映射的關(guān)系)。(3)建立表單權(quán)限管理體系,即對每個表單選擇操作角色,并根據(jù)角色不同選擇設置表單內(nèi)各元素(字段或功能按鈕)的權(quán)限(包括可寫、只讀、無權(quán)限)。(4)建立用戶權(quán)限管理體系。即給不同部門的人員選擇各自的角色,且用戶菜單動態(tài)合成,使不同的用戶擁有不同的功能菜單,從而符合安全性設計的“不知道的最安全”原則。
管理員是普通用戶的特例,是能通過瀏覽器查看、操作所有菜單、表單、功能鏈接的內(nèi)容的用戶,其他用戶則根據(jù)管理員分配的權(quán)限,通過瀏覽器查看、操作所分配的菜單、表單、功能鏈接的內(nèi)容。
上海市菜籃子工程信息系統(tǒng)有8個主菜單,每個主菜單下有若干個子菜單項,一共有50余個子菜單項。每個子菜單項連接一個主功能塊。
4.2.1 主功能塊
主功能塊從上到下由菜單區(qū)(功能塊圖標、菜單)、主表表體區(qū)(表格的行變量、列變量、時間等查詢條件)、主表表尾區(qū)(新增、刪除、刷新、查詢、報表、圖表、綜合查詢、隱藏或顯示查詢條件等按鈕)、子表表體區(qū)(顯示具體內(nèi)容、修改內(nèi)容的鏈接、前后翻頁按鈕)等部分組成。其中,菜單區(qū)的菜單提供各主菜單間的聯(lián)系,主表表體區(qū)的按鈕又鏈接若干個子功能塊,每個主功能塊的縱向和橫向的鏈接連接著整個系統(tǒng)。
4.2.2 新增子功能塊
新增子功能塊從上到下由主表表體區(qū)(表格的行變量、時間等輸入項)、子表表體區(qū)(表格的列變量、表格的具體數(shù)據(jù))、子表表尾區(qū)(保存、關(guān)閉按鈕)等部分組成。
4.2.3 刪除子功能塊
刪除子功能塊位于主功能塊的子表表體區(qū),選中要刪除記錄前面的標志位,點擊刪除即可刪除該條記錄。
4.2.4 查詢子功能塊
查詢子功能塊位于主功能塊的主表表體區(qū),選擇行變量、列變量,錄入時間變量,點擊查詢,即可查選出符合條件的記錄,并可顯示在子表表體區(qū)。
4.2.5 報表子功能塊
報表子功能塊從上到下由菜單區(qū)(菜單)、主表表體區(qū)(輸入報表時間)、主表表尾區(qū)(確定、打印、返回等按鈕)三部分組成。確定按鈕連接報表,報表提供明細列表、累計匯總、平均值、同期量、同期比、累計本期值等功能。
4.2.6 圖表子功能塊
圖表子功能塊從上到下由菜單區(qū)(菜單)、主表表體區(qū)(表格的行變量、時間項)、子表表體區(qū)(表格的列變量)、子表表尾區(qū)(確定、取消按鈕)等部分組成。其中,各行變量、列變量可單選也可多選。確定按鈕連接圖表,圖表提供圖表、圖、表、切換圖表布局、三維柱狀圖、平行柱狀圖、曲線圖、帶狀圖、返回、取消等功能。
4.2.7 綜合查詢子功能塊
綜合查詢子功能塊從上到下由菜單區(qū)(菜單)、主表表體區(qū)(表格的行變量、列變量、時間、查詢子標量范圍等項)、主表表尾區(qū)(查詢、設置列表字段、只顯示列表按鈕)等部分組成,用戶可根據(jù)自己需要,隨時設置查詢條件和顯示方式。其中,行變量、列變量可自行設定。以上海市蔬菜價格為例,行變量可定為區(qū)縣市場,列變量可定為蔬菜價格,價格范圍即為查詢子標量范圍。點擊查詢按鈕,符合條件的內(nèi)容將顯示在子表表體區(qū),內(nèi)容超過一頁時將會自動分頁。設置列表字段按鈕可定義要顯示的字段和排列順序。只顯示列表按鈕將會隱藏或顯示其他除列表以外的內(nèi)容。
上海市菜籃子工程信息系統(tǒng)經(jīng)過幾年的應用,已延伸到上海9個涉農(nóng)區(qū)200多家蔬菜園藝場、80多家標準化生豬養(yǎng)殖場、10多家奶牛場、8個市境道口。系統(tǒng)用戶包括市區(qū)兩級種業(yè)、種植業(yè)、蔬菜、畜牧獸醫(yī)、漁業(yè)、市境道口等部門的管理人員以及規(guī)模園藝場、養(yǎng)豬場的生產(chǎn)人員350余人,用戶可按照實時、日、周、月、年等頻率填報和審核各類信息。截至2019年底,上海市菜籃子工程信息系統(tǒng)匯聚了上海地產(chǎn)豬禽蛋奶菜的產(chǎn)銷信息和道口流通信息700萬條以上,對畜禽產(chǎn)品的免疫和用藥,以及種植業(yè)中的種子、化肥和農(nóng)藥的使用,起到了很好的監(jiān)管作用,有效保障了上海菜籃子工程的源頭安全,積極地實踐了上海規(guī)模化地產(chǎn)農(nóng)產(chǎn)品從田頭到餐桌的全程監(jiān)管。