陳志民 許家熙 黃柯偉 黃景祥
摘要:為了加強實驗室安全與環保教育,推動師生共同做好實驗室安全與環保工作,本文提出利用Java EE等現代網絡信息技術構建面向高校實驗室安全與環保知識教育的考試系統。本文介紹了系統的設計理念與目標,詳細闡述了系統的設計架構和功能,系統在華南農業大學實驗室安全與環保教育和首屆廣東省大學生實驗室安全與環保知識競賽中取得了良好的應用效果。
關鍵詞:實驗室安全與環保;考試系統;安全教育;安全與環保
中圖分類號:TP311 文獻標志碼:A 文章編號:1674-9324(2018)38-0142-06
一、引言
實驗室是教學實踐和科學研究的重要基地,是學校全面實施綜合素質教育、培養學生實驗技能、知識創新和科技創新能力的必要場所。近年來,高校實驗室安全事故時有發生,嚴重影響了正常的教學、科研秩序,危害了國家和廣大師生員工的生命財產安全,不利于高校教學科研的可持續發展。加強實驗室安全與環保教育,提高師生的安全環保知識水平和增強師生的安全意識是減少實驗室事故的有效途徑。傳統的安全教育方法主要包括組織安全知識講座、印發學習材料、召開事故現場會、開設實驗室安全課的課堂教學等方式。這些安全教育方法在過去發揮了很好的作用,取得了一定的效果[1],但是傳統的安全教育方式存在著覆蓋面有限、教育內容不夠系統全面、缺乏個性化教育、學生主動學習不夠等缺點[2]??v觀國內外,國際上發達國家和地區的高校非常重視安全、環保的建設,如美國麻省理工大學、澳洲阿德萊德大學、香港科技大學為代表的很多知名高校在實驗室安全與環保的教育方面都建立起相應的培訓與考核系統[3-7]。近年國內也有少數高校開始建立實驗室安全教育與考核系統,如清華大學、江南大學、四川大學、杭州電子科技大學、首都醫科大學等,這些高校所建系統因學校實際不同而各具特
點[8-14]。利用現代網絡信息技術以及豐富的網絡信息資源建立“互聯網+實驗室安全與環保教育”的考試系統,讓學生通過網絡自學并通過網上考試考核,是開展實驗室安全與環保教育的有效途徑。華南農業大學是廣東地區乃至全國最早利用信息技術手段開展實驗室安全與環保教育的高校之一,早在2009年起就開發了實驗室安全與環保知識教育的考試系統并投入使用,成功舉辦過兩屆校級實驗室安全與環保知識競賽和首屆廣東省大學生實驗室安全與環保知識競賽,此后每年均開放給師生使用,至今累計教育人數近10萬人,并取得了顯著的效果。本文將詳細闡述華南農業大學實驗室安全與環保教育考試系統的開發技術、設計思路、系統功能和應用效果。
二、相關技術
系統采用B/S結構、Java EE技術平臺、MVC設計模式和MySQL數據庫,并綜合使用Struts和Hibernate等技術進行開發。
1.B/S結構。B/S(Browser/Server)結構即是瀏覽器/服務器結構模式,它以HTTP為傳輸協議,用戶通過瀏覽器訪問Web服務器和與其相連接的后臺數據庫,服務器接收到瀏覽器的請求后,從數據庫中獲取數據并在Web服務器上按業務邏輯運行處理后將處理結果傳回給瀏覽器的運行模式[15-17]。相對于C/S(Client/Server)結構,它最顯著的優點是系統軟件運行于Web服務器而與客戶端無關,免去用戶安裝客戶端軟件的煩瑣,因而具有較好的易用性,同時易于維護與擴展升級。
2.Java EE技術平臺。Java EE(Java Platform Enterprise Edition)是Java平臺企業版,在Java的基礎上整合了JSP、Java Applet、Java Beans、Servlet、EJB等關鍵技術而形成的一套面向企業應用的體系結構,它已不僅是一門編程語言,更是一個企業級的分布式應用規范。軟件開發人員可以直接在Java EE平臺上進行軟件的開發,同時開發出的程序可以輕易地在不同的兩臺機器上進行移植,即Java可以獨立于操作系統而存在。Java EE應用程序中主要包括客戶端組件、Web層組件、業務層組件三大類型組件[16]。
3.MVC設計模式。MVC(Model View Controller,即模型—視圖—控制器)是設計開發Web應用程序的流行模式。它將整個任務中的對象分成了Model、View和Controller三部分。其中Model就是模型,它是應用程序的核心,用于處理程序的數據邏輯,比如負責對數據庫中資源的訪問;View即視圖,它是應用程序中實現為用戶顯示數據的功能,而視圖的建立往往依賴于模型;Controller即控制器,程序與用戶的交互則由它來完成,負責接收用戶輸入、從視圖讀取數據、向模型發送數據等工作[18,19]。
4.Struts。Struts框架是基于MVC的開源框架,是當前Web開發中最為流行的設計和開發框架。在Struts框架中,模型由實現業務邏輯的Java Bean或EJB組件構成,控制器由Action Servlet和Action來實現,視圖由一組JSP頁面構成[19,20]。Struts包含模型(Model)、視圖(Viewer)、控制器(Controller)和XML配置文件四部分,其主要的設計理念是通過控制器將表現邏輯和業務邏輯解耦,以提高系統的可維護性、可擴展性和可重用性。Struts框架的體系結構,具體如圖1所示。
5.Hibernate。Hibernate是目前最流行的開放源代碼的ORM(Object Relational Mapping)框架,是連接Java對象模型和關系數據模型的橋梁,負責Java對象和關系數據之間的映射。它對JDBC進行了輕量級的封裝,不僅提供ORM映射服務,還提供了數據操作和數據緩存功能。Hibernate將SQL操作完全封裝成對象化的操作,Java開發人員可以方便地通過Hibernate API來訪問數據庫[15,19]。
6.MySQL。MySQL是一個開放源碼的關系型數據庫,它使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性,支持Windows、Linux、Mac OS、Solaris等多種操作系統。相比較其他系統而言,數據庫可以稱得上是目前運行速度最快的SQL語言數據庫之一。更重要的是該數據庫是一種完全免費的產品[17,21]。由于MySQL具有諸多優點,因此選用它作為系統數據庫進行開發。
三、系統開發
1.設計目標。為了加強實驗室安全與環保教育工作,提出利用現代網絡信息技術建立“互聯網+實驗室安全與環保教育”的考試系統,讓學生通過網絡自學并通過網上考試考核提高教育水平。網上考試系統的具體設計目標是能夠實現計算機網絡環境下的命題、組卷、答題和自動評分。教師和管理人員可以通過系統后臺管理題庫、組織出題、管理考試、批改試卷、查閱考試相關統計信息、發布考試公告等??忌梢酝ㄟ^瀏覽器登錄考試系統參加考試和查看成績等。考試結束時系統會自動收取試卷結束考試,并且能夠自動判卷得出成績,同時要求系統具有良好的性能,能支持5—10萬人同時在線答題。
2.設計框架。
(1)系統的設計路線。題目按照所屬類別分類匯聚到題庫,從題庫中按照特定的方式抽取題目從而形成考卷,而考試即由考生信息庫中選取參考人員和選擇生成考卷的方式共同形成。換言之,考試就是為考生分配考卷,同時為了便于管理,對正在或即將進行的考試定義為考場,考場可以實時監控考試狀態并對實時發生的情況提供相應的處理方法。圖2為系統的設計路線圖。
(2)系統的技術框架。系統采用基于Java EE架構的五層Web開發模型[22],即客戶層、Web層、業務層、數據訪問層和數據存儲層,如圖3所示。①客戶層:用戶在使用應用程序過程中的操作界面和數據請求結果的顯示由客戶端及其運行的客戶層組件構成。B/S模式下客戶層的應用變得簡單,可以用瀏覽器進行交互。②Web層:運行在Java EE服務器上,主要是將客戶端發送的請求進行處理,將處理后反饋給客戶端的信息進行描述,主要以HTML文件的格式發送。該層采用Struts技術框架,其功能組件主要包括Servlet和JSP組件。③業務層:運行在Java EE服務器上,它不關心系統的實現細節問題,主要實現與應用系統程序相關的業務邏輯功能,只關注具體的業務邏輯事務分析。業務層組件主要有三種,即Session bean、Entity bean和Message-Driver bean。④數據訪問層:該層提供所有與數據庫操作相關的接口,為業務層提供數據服務,對數據存儲層進行抽象封裝,保證數據存儲層從業務邏輯層看是完全透明的??梢岳肏ibernate框架,通過Hibernate API來訪問數據庫。⑤數據存儲層:運行在數據庫服務器上,主要將數據訪問層的數據處理功能轉換為具體的數據庫或文件操作[23,24]。
3.系統功能。實驗室安全與環保知識教育考試系統是遵循MVC設計模式,采用Java EE技術平臺和基于五層體系架構開發的B/S模式的系統。系統主要分為三個功能模塊:學生模塊、教師模塊和管理員模塊,分別對應三種角色,具有不同的權限和功能。每個大模塊下面又有若干個小功能模塊,實現不同的功能。系統的功能結構如圖4所示。
(1)學生模塊。學生可以通過瀏覽器直接訪問系統,包括修改信息、參加在線考試和查詢成績等。①修改信息:考生在首次使用該系統需要注冊信息,通過教師用戶審核后,注冊的信息開始生效,考生就可以使用注冊賬號和密碼登錄系統,登錄后如果發現信息有誤,還可以修改自己的個人信息。②在線考試:考生成功登錄系統后可以選擇參加在線考試,根據考生選擇的考試,系統會自動從題庫中抽取相應的試題進行組卷,為考生分配相應的考卷并返回到考試界面,由此在線考試開始并進行計時。③成績查詢:考生登錄系統后,可以查詢本次考試和以往考試的成績。
(2)教師模塊。教師用戶的權限由管理員用戶分配。教師用戶經管理員授權后,可以登錄考試系統的后臺管理系統進行考試管理。具體的管理功能包括題庫管理、考生管理、考卷管理、考試管理、考場管理、試卷評分和發布公告等。①題庫管理:題庫是題目按照一定的方式組織起來的題目集合。題目的組織按照多級分類編排入庫,每門考試分為若干知識點,而知識點劃分為一級知識點、二級知識點、三級知識點和四級知識點。為了更加精細地管理題目,根據題目的難度不同,為每道題目標注不同的難度系數。目前,我校的實驗室安全與環保知識題庫已建立起涵蓋“防火防爆”、“電氣安全”、“危險化學品”、“生物安全”、“放射性安全”、“信息安全”、“實驗室事故緊急處理與救援”等十大類知識約2000道題,知識點齊全,難度系數均有標注。題庫的題目分布情況見表1。②考生管理:對學生的基本信息包括學校、學號、姓名、年級、學院、專業名稱等進行管理,除了必備的增刪查改等功能外,還具有數據的批量導入和導出功能以及重置考生密碼的功能。③考卷管理:系統在題庫中按一定方式抽取題目從而形成考卷。在上機考試中有兩種比較常用的考卷模式:普通考卷與隨機考卷,這兩種考卷模式在生成考卷的時候均可選擇。a.普通試卷:同一套題,打亂題目順序(包括題目順序和選項順序);題目均從題庫中抽取,添加題目是可以自動從不同類別的題目中選取若干道或者手工選擇題目。b.隨機試卷:題目從題庫中按一定比例從不同類別的題目中抽取。每份考卷都是自動隨機生成。④考試管理:根據考試時限要求,考試可以分為批次考試和滾動考試。a.批次考試是嚴格的定時考試,開考時間一到就開始啟動考試,晚登錄的考生無法獲得補時,結束時間一到就結束考試。b.滾動考試是考生在允許登錄的時間范圍內的任何時間都可登錄考試,并且保證考試的時間長度不會削減。在設置考試中,可以根據需要選擇不同的考試方式,并設置好考試的開始時間和結束時間以及添加考試人員??荚嚬芾砉δ艹嗽O置功能外,還可以查看考試的相關信息,包括查看考試人員、考卷、考試成績、題目的使用頻率和答題正確率等。⑤考場管理:從時間的完成情況劃分,考試分為兩種:一種是已經完成的考試,另一種是尚未完成的考試,即正在進行或將要發生的考試。為了便于管理,我們把尚未完成的考試定義為考場。對于考場的管理,管理功能包括發布考場公告、重置考生密碼、考場延時、查看當前考試狀態(如考生的答題時間和完成考試的人數)、實時統計考生成績和排名等。⑥試卷評分:試卷評分有兩種情況:一是未到考試結束時間考生提前交卷,此時系統就會對考卷自動進行評分并得出考試成績;二是由于考試時間到了而強制結束考試,系統也會自動把考生的答卷提交上來。批改試卷就意味著考試的完全終結,不管考生有沒有來參加考試,也不管考生是否提交考卷,系統都會對考場的所有考卷進行強行批改,生成成績表,把相關數據記入數據庫。對于個別考生由于網絡等原因造成的斷線異常,系統也提供手動評分功能作為補充。⑦公告發布:主要方便教師用戶把考試相關的信息能批量及時地推送到學生考試終端,讓學生及時掌握考試的相關信息。
(3)管理員模塊。管理員用戶擁有系統的最高管理權,具有用戶管理、權限分配、科目維護和系統參數設置的功能。①用戶管理:管理員用戶可以創建教師用戶、修改教師用戶信息和重置用戶密碼、刪除教師用戶等。②權限分配:為了增強系統安全性和便于管理,設置了多級權限管理功能。系統設置了管理員、教師管理員、考生用戶等不同用戶的管理權限。管理員具有一切權限,可以創建教師用戶和管理員用戶。教師用戶經管理員授權后具有某門科目考試的管理權限,而考生用戶只具有參加考試、查看考試成績、查看考試公告、修改用戶密碼等權限。③科目維護:管理員可以創建和管理不同的考試科目,對教師用戶的授權也是按照科目授權,教師用戶只是具有經授權科目的相關管理功能。④參數設置:對考試系統相關參數進行設置,如是否開啟教師端登錄、是否關閉學生端登錄、是否開通學生的注冊功能等。
四、系統應用
華南農業大學實驗室安全與環保知識教育的考試系統(如圖5—6所示)早在2009年起就開始了研發并投入使用,后來經過不斷錘煉和完善,具有了良好的穩定性。我校利用該系統負責全校學生的實驗室安全與環保知識教育,每年均有1萬多學生參加考試與考核,至今累計教育人數達近10萬人。此外,我校利用該系統已成功舉辦了兩屆校級實驗室安全與環保知識競賽,共吸引了近4000學生參加。隨后,我校在廣東省教育廳的領導下又承辦了首屆廣東省大學生實驗室安全與環保知識競賽,共有來自53所本科院校合計44157人報名參賽,產生了積極廣泛的影響效果。我校先后在全國動植物學科組國家級實驗教學示范中心建設會、廣東省高校實驗室工作年會、廣東省高校實驗室安全管理培訓班及全國農林高校實驗室工作研討會上做了有關“實驗室安全與環?!钡膶n}示范,對廣東省高校和全國農林類高校的實驗室安全與環保教育工作起到了良好的示范作用和輻射效果。
利用該系統通過網絡化方式進行實驗室安全環保教育和考試,突破了時間與空間的限制,學生可以隨時隨地地參加學習與接受網絡考核,省去了教師的許多工作,減少了大量的人力、物力。網絡考試方式不需要人工閱卷,學生通過計算機來答題,待答題結束后計算機立即給出考試結果,大大提高了實驗室安全與環保教育的效率。
五、結語
基于實驗室安全與環保知識教育的考試系統的建設,切合了“互聯網+教育”的時代潮流。在技術層面上,考試系統采取B/S模式和五層架構方式,有利于提高系統的開放性和穩定性;系統運用的“題目—題庫—考卷—考試—考場”功能邏輯結構設計,使得結構清晰,有效降低了軟件的耦合度,提高了內聚性,便于維護和擴展。在應用層面上,系統在我校經過多年的應用和完善,并且歷經了省級大型賽事的檢驗,具有良好的示范作用和應用效果,對于開展實驗室安全與環保工作起到了很好的推動作用,富有推廣價值。
參考文獻:
[1]曹沛,李丁,趙建新,等.新型實驗室安全教育考試系統的研究與實踐[J].實驗技術與管理,2014,31(10):232-234.
[2]趙慶雙,王臻,聞星火,等.實驗室安全課網上學習與考試系統的開發與應用[J].實驗室研究與探索,2009,28(1):128-130.
[3]王孟祿,張鐳.中外高校實驗室安全管理的比較及啟示[J].實驗室研究與探索,2016,359(11):227-231.
[4]黃坤,李彥啟,孟少英.發達國家高校實驗室安全管理及啟示[J].實驗室研究與探索,2015,34(9):145-148.
[5]李五一,谷大豐,胡放.香港高校實驗室安全和環保工作考察及啟示[J].實驗技術與管理,2009,25(9):10-12.
[6]阮慧,項曉慧,李五一.美國高校實驗室安全管理給我們的啟示[J].實驗技術與管理,2009,26(10):5-7.
[7]熊順子,門妍萍.阿德萊德大學的實驗室安全管理體系及啟示[J].實驗室研究與探索,2013,32(8):126-128.
[8]房川琳,鄒清,李靜,等.大學化學實驗室安全在線考試系統的建設與應用[J].實驗科學與技術,2015,13(3):59-78.
[9]陳一星,張偉,王雪,等.高等院校實驗室安全管理系統設計與實現[J].實驗技術與管理,2016,33(11):274-278.
[10]王世強,光翠娥,趙建新,等.高校實驗室安全培訓和考試系統開發和應用模式研究[J].實驗室科學,2012,15(1):198-201.
[11]元文濤,靖楊萍,孫淑強,等.高校實驗室安全信息化管理體系的構建[J].實驗室研究與探索,2015,34(2):294-296.
[12]陳潤,琚生根,周剛,等.實驗室安全與環保信息化系統研究與實現[J].實驗技術與管理,2013,30(4):71-73.
[13]袁哲,李鵬,徐飛.高校實驗室安全準入模式的探索[J].高教研究與實踐,2016,35(2):71-75.
[14]郭萬喜,高惠玲,唐嵐,等.高校實驗室安全準入制度的實踐與探索[J].實驗技術與管理,2013,30(3):198-200.
[15]王添財.基于Java EE的在線考試系統的設計與實現[D].廣州:華南理工大學,2014.
[16]謝翠紅.基于B/S架構的網絡在線考試系統的設計與實現[D].成都:電子科技大學,2012.
[17]冷小鵬.基于JSP技術的網絡考試系統研究及實現[D].成都:電子科技大學,2007.
[18]龔文.復雜組卷條件下的在線考試系統的設計與實現[D].成都:電子科技大學,2016.
[19]張謹.JAVA B/S大規模用戶在線考試系統設計與實現[D].西安電子科技大學,2011.
[20]張苗.基于J2EE的高校在線考試系統的設計與實現[D].長沙:湖南大學,2015.
[21]江澤中.基于JSP技術的在線考試系統設計與實現[D].武漢:華中師范大學,2015.
[22]王正宏,李小平.基于J2EE架構的五層Web開發模型研究[J].現代商貿工業,2008,20(3):272-274.
[23]王文發,馬燕,李紅達.基于.NET的四層結構及其在綜合信息系統中的應用[J].計算機工程與設計,2009,30(4):912-917.
[24]劉陽,曹寶香.基于J2EE考試系統的設計與實現[J].計算機工程與設計,2007,28(4):990-993.