魯 亮
(安順學院,貴州 安順 561000)
高校學生課程繁多,動態跟蹤學生學業情況,并對其進行有針對性的預警一直以來都是高校教務工作中的重要環節之一。然而,目前很多高校的教務系統都不具備智能識別和自動預警的功能。
基于事件驅動高校學業預警系統的主要思想是要讓教務數據庫系統能夠通過不同的事件觸發,從而具有各種不同的自動服務功能,滿足不同的任務需求[1]。因此本文提出的在教務數據庫系統中引入基于事件驅動的技術,不但可以自動化處理高校的教務學業信息,提高教務預警的工作效率,也可以成為現有教務系統的有益補充。
教務系統是高校管理系統中的重要組成部分。為實現學生學業預警的自動化和智能化,結合高校的實際工作需求,本文設計的系統在傳統教務系統的基礎上,充分利用事件驅動技術,提升和優化了學生學業預警的工作效率和管理水平。
該系統設計遵循以下準則。
(1)實用性,本系統的設計以滿足高校學業預警為主要目的,因此需要保證該系統的實用性。
(2)先進性,在設計構建高校學業預警系統數據庫時,需遵循數據庫的ACID特性[2]。并且通過建立不同的數據庫觸發器機制,實現學業預警數據庫的自動監控實施服務。
(3)可靠性,高校學業信息涉及大量的學校及學生個人信息。該系統要確保其數據庫在運行時的穩定可靠。
(4)可操作性,該系統主要是面向高校學生進行預警,其操作要簡便可行,易于使用。
遵循以上設計準則,確定該系統的設計與構建是基于事件驅動的數據庫技術。通過該系統的設計完成與實現,將極大地提高高校學業預警和管理的綜合水平,為高校學生能夠順利完成學業進行保駕護航,并提供必要的信息支撐。
為與目前的高校教務系統實現無縫對接,本系統采用C/S架構和B/S架構相結合的方式進行設計開發[3-7]。這樣的體系結構便于使用,也便于后期的擴展維護。系統基于Windows 7及以上操作系統,MYSQL為后臺數據庫,JAVA為開發語言。
系統用戶管理采用權限和角色相結合的方式,具有不同權限的用戶角色可以訪問不同的頁面并完成相應的操作。在該模塊中,系統管理員可以為高校不同的人員進行角色劃分并授權[8]。該系統的用戶角色主要有3種:分別是管理員、教師和學生。管理員具有對系統參數進行配置和調整的權限,能管理有關教師和學生的所有事務。教師具有對學生學業情況進行查詢和統計分析的權限。學生具有對學業情況進行查詢以及對預警內容進行查看的權限。
在該模塊中,管理員能夠實現有關教師、學生等個人身份信息錄入和更新的功能。教師和學生也可以通過此模塊,實現有關院系、班級、個人等不同需求的信息查詢功能。
在該模塊中,能夠實現有關學生學業情況的查詢功能。教師和學生都能夠通過此模塊,詳細了解學生課程學習的具體情況,以便對學業預警的內容進行核實與確認。
學業預警是本系統最主要的功能之一,其設計實現是通過在教務數據庫中設置不同的觸發器機制來完成。在該模塊中,當學生重修、補考、掛科的累積門次達到了高校預警的紅線后,觸發器將會被觸發,相應的預警信息就會以不同的形式傳遞至相關的學生[9-11]。
在該模塊中,能夠實現有關高校學業總體情況的數據統計分析功能。學生的學業及預警情況既可以按院系、專業、班級等不同的類別維度進行統計,也可以按學年、學期等不同的時間維度進行統計。呈現方式可以包括柱狀圖、餅圖、散點圖等各種常見的二維圖形。該模塊既實現了數據查詢維度的多樣化,也實現了數據呈現方式的多樣化[12]。
高校學業預警系統完整的功能模塊劃分如圖1所示。

圖1 高校學業預警系統功能模塊圖
本系統采用的數據庫管理軟件是MYSQL8.0,該軟件是目前市面上3大主流關系型數據庫管理系統之一。設計數據庫的時候,在確保本數據庫管理系統功能獨立的同時,還要確保其與高校現有的教務管理系統服務器能夠同步、以便實現信息的共享與流轉[13]。
數據庫邏輯結構設計是否合理,直接影響著數據庫后續的實現、運行與維護。在對數據庫進行需求分析的基礎上,下面給出系統部分數據表的詳細結構,詳見表1-表4。

表1 人員權限表

表4 學業預警表
本系統之所以能夠完成基于事件驅動的操作,其核心就是數據庫觸發器的設計實現機制。觸發器是用戶定義在關系表上的一類由事件驅動的特殊過程。觸發器類似于約束,但是比約束更加靈活,可以實施更為復雜的檢查和操作,具有更加精細和強大的數據控制能力。常見的觸發器種類有基于DML事件、DDL事件和登錄事件的3種不同類型。本系統中觸發器的設計與實現則是基于DML事件的。具體來說,是采用了基于DML事件中的AFTER觸發器。

表2 登錄信息表

表3 學業信息表
基于事件驅動的高校學業預警系統,是在有關高校學業管理的數據庫中引入了觸發器的設計實現機制得以完成。通過采用DML事件中的AFTER觸發器,當學生重修、補考、掛科的累積門次達到了設定的闕值條件,觸發器將會被觸發,相應的預警信息將會通過不同的形式發送并傳遞到每一位學生。AFTER觸發器的關鍵偽代碼示例如下[2]:

對于本系統的測試,主要采取黑盒測試的方法和手段。根據系統前期的需求和設計說明,對系統劃分相
應的測試功能點,并編寫相應的測試用例,完成測試。測試用例見表5。

表5 預警消息測試用例
所有系統測試用例執行完畢后,并未發現能夠導致軟件運行故障的重大缺陷。說明軟件基本功能滿足需求和設計的要求,系統達到了投入使用的標準和條件。
高校學生的學業情況,對他們未來順利畢業和就業有著重要影響和關鍵性決定作用。本文提出的基于事件驅動的高校學業預警系統,是目前很多高校現有教務系統的有益補充和完善。它既能夠動態跟蹤高校學生的學業情況,又能夠及時完成向相關學生發送預警信息的功能。對學生可能出現的學業危機進行干預,從而實現高校學業預警工作的自動化和智能化,成為學校和學生的得力助手。