黃世國 張飛萍 王 榮 徐 通
(1.福建農(nóng)林大學計算機與信息學院,福州 350002;2.福建農(nóng)林大學林學院,福州 350002)
基于web的昆蟲教學標本管理系統(tǒng)的設(shè)計與實現(xiàn)
黃世國1張飛萍2王 榮2徐 通1
(1.福建農(nóng)林大學計算機與信息學院,福州 350002;2.福建農(nóng)林大學林學院,福州 350002)
農(nóng)林高校昆蟲教學標本室中標本種類多、數(shù)量大,在標本柜中有固定的位置。鑒于教師和學生難以準確掌握昆蟲標本存放的位置,給標本使用、保存、更新和管理造成困難,擬開發(fā)昆蟲標本管理系統(tǒng)解決該問題。分析了系統(tǒng)的標本管理功能,設(shè)計了系統(tǒng)的框架及數(shù)據(jù)庫模式,并用合適的軟件架構(gòu)實現(xiàn)了基于web系統(tǒng)及手機APP的標本管理系統(tǒng)的架構(gòu)。通過本系統(tǒng)可以在線查詢昆蟲標本的存放位置、瀏覽相應的昆蟲圖片,也可以遠程增加、刪除昆蟲標本圖片和修改昆蟲標本的存放位置等。本系統(tǒng)有效減輕了實驗員管理標本的工作負擔,是學生和授課教師在線學習昆蟲標本知識的軟件平臺。
昆蟲標本;信息管理系統(tǒng);互聯(lián)網(wǎng);手機APP
昆蟲標本是“普通昆蟲學”“昆蟲分類學”“森林昆蟲學”“農(nóng)業(yè)昆蟲學”等課程教學的直觀教材,也是相關(guān)研究不可或缺的材料。同時,昆蟲標本種類多、數(shù)量大,其保存、更新和使用均存在困難。手工管理不僅工作量大、耗時耗力,而且很難形成規(guī)范管理。同時,昆蟲標本是昆蟲學相關(guān)學科最直觀的教具,與其他教具或?qū)嶒灪牟囊粯有枰谋Wo,適時更新、科學使用與規(guī)范管理,這無疑增加了實驗教輔人員的工作量。因此,引進計算機技術(shù)改進昆蟲標本管理方式成為昆蟲標本管理的有效途徑之一。近年來,已有許多專家應用不同的計算機技術(shù)建立了各種各樣的昆蟲標本管理系統(tǒng),如昆蟲標本數(shù)據(jù)庫管理系統(tǒng)[1]、館藏昆蟲標本管理系統(tǒng)[2]、昆蟲標本電子化管理系統(tǒng)[3]、昆蟲三維標本網(wǎng)絡信息系統(tǒng)[4]、昆蟲圖片庫管理系統(tǒng)[5]、陜西省動物研究所標本檢索系統(tǒng)[6]。上述系統(tǒng)提供的主要功能是瀏覽查詢昆蟲分類地位、形態(tài)特征、生態(tài)習性及其昆蟲圖像等信息。
但上述系統(tǒng)均未涉及在課堂教學和實驗室管理過程中對昆蟲標本的管理需求。在高校教學過程中,昆蟲標本通常存放于標本柜中的固定位置,具有種類多、數(shù)量大、使用頻率高且使用人數(shù)多等特點,管理不善極易造成存放和使用的混亂。多數(shù)高校實驗室和昆蟲標本室標本存放位置信息采用人工方式標注,實驗員則通過紙質(zhì)材料記憶昆蟲標本存放的位置。理想情況下,學生和教師均按照實驗員的交待將標本取出,用完后放回正確位置。但從教學過程看,學生和教師,特別是學生往往難以準確記住標本存放位置,造成取標本困難且放回標本混亂的情況發(fā)生,給實驗員增加了較大的工作負擔。由于昆蟲標本室中的昆蟲標本數(shù)量眾多,實驗員準確記憶標本存放位置也有一定的困難。同時,單機版的昆蟲標本管理系統(tǒng)難以滿足用戶的需要。為此,筆者開發(fā)了基于web的昆蟲教學標本管理系統(tǒng)解決上述問題,同時考慮到移動端用戶的應用,也開發(fā)了相應的手機APP系統(tǒng)。
(一)系統(tǒng)框架
近年來互聯(lián)網(wǎng)技術(shù)發(fā)展迅速,通過電腦、手機等移動設(shè)備即可登錄網(wǎng)站查詢信息。為了方便師生利用互聯(lián)網(wǎng)使用昆蟲教學標本,筆者引入了互聯(lián)網(wǎng)技術(shù),開發(fā)了基于B/S架構(gòu)的昆蟲教學標本管理系統(tǒng)。該系統(tǒng)由實驗室標本管理子系統(tǒng)和昆蟲標本室標本管理子系統(tǒng)組成,用戶可通過該系統(tǒng)瀏覽昆蟲標本圖片、分類階元以及標本存放位置等信息。該系統(tǒng)框架主要分為查看實驗室標本、管理實驗室標本、查看標本室標本、管理標本室標本、管理用戶等5個模塊,其框架結(jié)構(gòu)見圖1。
圖1 昆蟲教學標本管理系統(tǒng)的框架
(二)數(shù)據(jù)庫設(shè)計
昆蟲標本管理系統(tǒng)數(shù)據(jù)信息主要包括實驗室標本信息表、標本室標本信息表和用戶表,表和表之間不具有關(guān)聯(lián)關(guān)系。實驗室標本信息表有6個屬性:標本Id、名稱、類別、位置、圖片地址、屬于。在實驗室標本信息表中名稱屬性有2種含義:一是昆蟲物種名稱,二是器官名稱。類別屬性也分2種情況,當名稱是指昆蟲物種名稱時,類別指的是昆蟲物種所屬科目信息,當名稱是指器官名稱時則類別信息為無。位置屬性是指標本在實驗室中的存放位置。圖片地址屬性是指標本圖片在服務器上的存放路徑。屬于屬性是指標本屬于實驗室還是標本室的。
標本室標本信息表也有6個屬性:名稱、科、目、位置、圖片地址、屬于。在標本室標本信息表中,名稱屬性僅指昆蟲物種名稱,與實驗室標本信息表中名稱屬性的含義不同。位置屬性是指標本在標本室中的存放位置。科屬性是指昆蟲所屬科。目屬性是指昆蟲所屬目。圖片地址屬性、屬于屬性與實驗室標本信息表中的含義相同。
用戶表屬性信息:用戶Id、用戶名、用戶密碼。
(一)實驗室標本管理功能
實驗室標本管理系統(tǒng)分2類用戶:用戶(學生和教師)和實驗員。用戶僅具有查詢功能,實驗員則具有查詢、增加、刪除、修改功能。
為了完成查詢功能,用戶進入圖2所示頁面,在搜索框中輸入標本名稱(物種名稱或者器官名稱),單擊搜索按鈕則得到圖2所示的搜索結(jié)果。從搜索結(jié)果頁面中可獲得標本名稱及其對應的位置信息等。同時,該系統(tǒng)提供了模糊查詢功能,即用戶可輸入昆蟲名稱的部分信息進行結(jié)果的查詢,然后再由用戶在查詢結(jié)果頁面確認所需要的標本及其位置信息。
圖2 實驗室標本查詢功能
與查詢功能不同,為了添加實驗室標本信息,用戶首先必須以實驗員身份先登錄系統(tǒng),其次在實驗室標本主頁面中單擊添加按鈕,跳轉(zhuǎn)到圖3所示頁面,最后分別在文本框中輸入相關(guān)信息,其中標本名稱和標本位置的信息必須填寫,其他信息可為空。如要上傳圖片則單擊選擇文件按鈕進行操作,輸入完所有信息后單擊確定按鈕完成實驗室標本信息添加功能。
圖3 實驗室標本添加功能
為了完成刪除和修改實驗室標本功能,用戶必須以實驗員身份登錄系統(tǒng)后,輸入待刪除和修改的實驗室標本名稱,跳轉(zhuǎn)到查詢結(jié)果頁面圖4后,單擊刪除按鈕,從系統(tǒng)中刪除該標本信息;單擊修改按鈕,修改標本名稱和標本位置信息,但其他信息不能修改,同時修改后的內(nèi)容不能為空,否則系統(tǒng)給出出錯信息。
圖4 實驗室標本刪除和修改功能
(二)標本室標本管理功能
標本室標本系統(tǒng)分2類用戶:用戶(學生和教師)和實驗員。用戶僅具有查詢功能,實驗員則具有查詢、增加、刪除、修改功能。
為了進行標本室標本查詢,用戶首先打開標本室標本查詢界面,在界面上方位置出現(xiàn)一個文本框及搜索按鈕,在該文本框中輸入標本名稱,可以是昆蟲種的名稱,也可以是屬、科、目的名稱,然后單擊搜索按鈕或者直接回車即可。同時,當用戶未準確記住昆蟲名稱時,也可以輸入昆蟲名稱的一部分,如用戶想查找松墨天牛的昆蟲標本圖片,但未記住松墨天牛完整名稱,只記住它屬于天???,用戶可在文本框中輸入天牛這2個字,利用系統(tǒng)的模糊查詢功能,就可查到含天牛這2個字的所有昆蟲相關(guān)信息。在該系統(tǒng)中,查詢結(jié)果與查詢界面分別屬于不同的頁面。當在查詢界面完成相應操作后,該系統(tǒng)就從標本查詢界面跳轉(zhuǎn)到查詢結(jié)果顯示頁面。在查詢結(jié)果顯示頁面中,左邊區(qū)域顯示想尋找的昆蟲標本圖片;右邊區(qū)域則分成4行,分別顯示標本所屬科的名稱、目的名稱、標本位置以及標本屬于標本室還是實驗室。
與查詢功能不同,為了進行標本室標本的刪除和修改,用戶首先以實驗員身份登錄到系統(tǒng)中,打開標本室標本查詢界面完成昆蟲標本查詢操作。該頁面與無需登錄直接查詢得到的查詢結(jié)果頁面不同,其區(qū)別在于登錄后的查詢結(jié)果頁面除了顯示用戶得到的查詢結(jié)果外,還在頁面的右邊標本信息的下方增加了刪除和修改2個按鈕。單擊刪除按鈕,則該昆蟲所有信息及其對應的圖片將從標本室標本數(shù)據(jù)庫中刪除;單擊修改按鈕,則跳轉(zhuǎn)到與普通用戶查詢結(jié)果相似的頁面,但此時在該頁面右邊部分顯示的昆蟲信息區(qū)域由標簽變更為文本輸入框,在該框中輸入修改信息后確認,即可把修改后的結(jié)果顯示在頁面上并保存到數(shù)據(jù)庫中。
為了進行標本室標本添加,用戶首先以實驗員身份登錄該系統(tǒng),并打開標本室標本管理系統(tǒng)的主頁,在該頁面上方位置設(shè)有添加按鈕,單擊該按鈕后跳轉(zhuǎn)到標本室標本添加頁面。該頁面上與昆蟲相關(guān)的信息分5行,分別輸入標本所屬目的名稱、標本所屬科的名稱、標本位置、標本屬于標本室還是實驗室以及要上傳的昆蟲圖片就能完成相關(guān)信息的輸入。其中,昆蟲標本所屬科的名稱以及標本位置信息必須輸入。如果要上傳昆蟲圖片,則單擊第5行上的選擇文件按鈕,就可跳轉(zhuǎn)到文件對話框,在該對話框中選擇需上傳的昆蟲圖片后,單擊確定按鈕即可完成操作。
(三)基于手機APP的標本管理功能
基于手機APP的昆蟲標本管理功能與基于B/S架構(gòu)的昆蟲標本管理功能相同,但基于手機APP的昆蟲標本管理系統(tǒng)更適合于手機應用。其實驗室標本管理系統(tǒng)的主界面如圖5所示。當使用實驗室標本查詢功能時,在實驗室主界面搜索欄中輸入標本名稱后,跳轉(zhuǎn)到查詢結(jié)果手機頁面,在該手機頁面上顯示匹配該名稱的標本所有信息。當使用實驗室添加、刪除和修改功能時,則必須以實驗員身份登錄該系統(tǒng),在手機上選擇不同的管理功能(如添加、刪除和修改等)完成后續(xù)的工作。另外,在APP查詢功能中輸入相關(guān)查詢信息即可完成查詢,無需再次點擊搜索。
當用戶需要從實驗室標本管理系統(tǒng)切換到標本室標本管理系統(tǒng)時,則點擊頁面下方的標本室標簽就可進入到標本室標本管理系統(tǒng)頁面。通過該頁面可完成標本室標本管理的查詢功能。同時,用戶如果想要完成其他管理功能,則需要以實驗員身份登錄該系統(tǒng)后才能進行操作。
圖5 基于手機APP的實驗室標本管理系統(tǒng)
昆蟲標本管理系統(tǒng)采用Tomcat6.0應用服務器,MYSQL5.0數(shù)據(jù)庫以及Spring+MVC框架。Tomcat是由Apache軟件基金會下屬的Jakarta項目組開發(fā)的一個Servlet容器,它支持Servlet和Java Server Page,提供了web服務器的一些特有功能[7]。MYSQL5.0是一個多線程的結(jié)構(gòu)化查詢語言(SQL)數(shù)據(jù)庫服務器,具備開放源碼的優(yōu)勢,其執(zhí)行性能高、運行速度快、易于使用[8]。Spring+MVC是一個模型-視圖-控制器的web框架,將Http處理流程抽象為不同的處理單元,定義了一系列組件(接口)與所有的處理單元對應起來,由DispatcherServlet貫穿始終,并將所有的組件串聯(lián)起來[9]。
為適應移動應用APP開發(fā),筆者采用XCode 7.0開發(fā)工具、SQLite數(shù)據(jù)庫開發(fā)手機APP系統(tǒng)。Xcode是開發(fā)iOS應用程序最快捷的方式,它的用戶界面設(shè)計統(tǒng)一。同時,編碼、測試、調(diào)試均可在一個簡單的窗口內(nèi)完成[10]。SQLite數(shù)據(jù)庫是輕型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),占用資源很少,能夠支持各種主流的操作系統(tǒng),可以嵌入到很多程序設(shè)計語言中,并具有相應的數(shù)據(jù)庫接口[11]。在開發(fā)手機APP時,筆者還使用了PULLTableView框架、網(wǎng)絡請求框架、JDBC數(shù)據(jù)庫框架以及JsonKit框架,其為昆蟲教學標本管理系統(tǒng)的實現(xiàn)提供了良好的開發(fā)平臺及軟件工具。
目前,昆蟲標本管理系統(tǒng)已布署在福建農(nóng)林大學現(xiàn)代教育技術(shù)與信息管理中心分配的服務器資源上。該系統(tǒng)已被林學和森林保護2個專業(yè)學生、教師和昆蟲標本室的實驗員使用。學生、教師反映該系統(tǒng)使用方便,可以輔助他們準確取放昆蟲標本,同時通過該系統(tǒng)他們能夠?qū)W到大量昆蟲分類的知識。實驗員反映,使用該系統(tǒng)明顯減少了他們整理昆蟲標本的工作量。
[1] 劉長明,趙景瑋.昆蟲標本計算機管理系統(tǒng)的設(shè)計與實現(xiàn)[J].華東昆蟲學報,1997,6(1):77-83.
[2] 嚴乃勝.昆蟲標本數(shù)據(jù)庫管理系統(tǒng)[J].云南農(nóng)業(yè)大學學報,1997,12(1):12-14.
[3] 張建民,張長青,宋偉華,等.館藏昆蟲標本管理系統(tǒng)的研制與開發(fā)[J].信陽農(nóng)業(yè)高等??茖W校學報,2003,13(3):1-3.
[4] 劉桂陽,齊瑛,林志偉,等.昆蟲三維標本網(wǎng)絡信息系統(tǒng)設(shè)計[J].農(nóng)業(yè)工程學報,2009,25(8):164-168.
[5] 范一峰,王義平,黃俊浩.昆蟲標本圖片庫系統(tǒng)的設(shè)計與應用[J].實驗技術(shù)與管理,2011,28(11):90-91.
[6] 張洪峰,劉楚光,權(quán)清轉(zhuǎn),等.陜西省動物研究所標本檢索系統(tǒng)的開發(fā)研究[J].陜西師范大學學報(自然科學版),2007,35(專輯):5-8.
[7] 孫衛(wèi)琴.Tomcat與Java web開發(fā)技術(shù)詳解[M].2版.北京:電子工業(yè)出版社,2009:3-19.
[8] 唐漢明,翟振興,關(guān)寶軍,等.深入淺出MySQL:數(shù)據(jù)庫開發(fā)、優(yōu)化與管理維護[M].2版.北京:人民郵電出版社,2014:20-65.
[9] 戴克.Spring MVC學習指南[M].林儀明,崔毅,譯.北京:人民郵電出版社,2015:60-120.
[10]弗里茨·安德森.Xcode實戰(zhàn):Apple平臺開發(fā)實用技術(shù)、技巧及最佳流程[M].北京:機械工業(yè)出版社,2016:1-246.
[11]GENE D R.Learning SQLite for iOS[M].Birmingham:Packt Publishing Limited Press, 2016:100-150.
(責任編輯 孫艷玲)