魯 亮
(安順學(xué)院,貴州 安順 561000)
高校學(xué)生課程繁多,動(dòng)態(tài)跟蹤學(xué)生學(xué)業(yè)情況,并對(duì)其進(jìn)行有針對(duì)性的預(yù)警一直以來都是高校教務(wù)工作中的重要環(huán)節(jié)之一。然而,目前很多高校的教務(wù)系統(tǒng)都不具備智能識(shí)別和自動(dòng)預(yù)警的功能。
基于事件驅(qū)動(dòng)高校學(xué)業(yè)預(yù)警系統(tǒng)的主要思想是要讓教務(wù)數(shù)據(jù)庫系統(tǒng)能夠通過不同的事件觸發(fā),從而具有各種不同的自動(dòng)服務(wù)功能,滿足不同的任務(wù)需求[1]。因此本文提出的在教務(wù)數(shù)據(jù)庫系統(tǒng)中引入基于事件驅(qū)動(dòng)的技術(shù),不但可以自動(dòng)化處理高校的教務(wù)學(xué)業(yè)信息,提高教務(wù)預(yù)警的工作效率,也可以成為現(xiàn)有教務(wù)系統(tǒng)的有益補(bǔ)充。
教務(wù)系統(tǒng)是高校管理系統(tǒng)中的重要組成部分。為實(shí)現(xiàn)學(xué)生學(xué)業(yè)預(yù)警的自動(dòng)化和智能化,結(jié)合高校的實(shí)際工作需求,本文設(shè)計(jì)的系統(tǒng)在傳統(tǒng)教務(wù)系統(tǒng)的基礎(chǔ)上,充分利用事件驅(qū)動(dòng)技術(shù),提升和優(yōu)化了學(xué)生學(xué)業(yè)預(yù)警的工作效率和管理水平。
該系統(tǒng)設(shè)計(jì)遵循以下準(zhǔn)則。
(1)實(shí)用性,本系統(tǒng)的設(shè)計(jì)以滿足高校學(xué)業(yè)預(yù)警為主要目的,因此需要保證該系統(tǒng)的實(shí)用性。
(2)先進(jìn)性,在設(shè)計(jì)構(gòu)建高校學(xué)業(yè)預(yù)警系統(tǒng)數(shù)據(jù)庫時(shí),需遵循數(shù)據(jù)庫的ACID特性[2]。并且通過建立不同的數(shù)據(jù)庫觸發(fā)器機(jī)制,實(shí)現(xiàn)學(xué)業(yè)預(yù)警數(shù)據(jù)庫的自動(dòng)監(jiān)控實(shí)施服務(wù)。
(3)可靠性,高校學(xué)業(yè)信息涉及大量的學(xué)校及學(xué)生個(gè)人信息。該系統(tǒng)要確保其數(shù)據(jù)庫在運(yùn)行時(shí)的穩(wěn)定可靠。
(4)可操作性,該系統(tǒng)主要是面向高校學(xué)生進(jìn)行預(yù)警,其操作要簡(jiǎn)便可行,易于使用。
遵循以上設(shè)計(jì)準(zhǔn)則,確定該系統(tǒng)的設(shè)計(jì)與構(gòu)建是基于事件驅(qū)動(dòng)的數(shù)據(jù)庫技術(shù)。通過該系統(tǒng)的設(shè)計(jì)完成與實(shí)現(xiàn),將極大地提高高校學(xué)業(yè)預(yù)警和管理的綜合水平,為高校學(xué)生能夠順利完成學(xué)業(yè)進(jìn)行保駕護(hù)航,并提供必要的信息支撐。
為與目前的高校教務(wù)系統(tǒng)實(shí)現(xiàn)無縫對(duì)接,本系統(tǒng)采用C/S架構(gòu)和B/S架構(gòu)相結(jié)合的方式進(jìn)行設(shè)計(jì)開發(fā)[3-7]。這樣的體系結(jié)構(gòu)便于使用,也便于后期的擴(kuò)展維護(hù)。系統(tǒng)基于Windows 7及以上操作系統(tǒng),MYSQL為后臺(tái)數(shù)據(jù)庫,JAVA為開發(fā)語言。
系統(tǒng)用戶管理采用權(quán)限和角色相結(jié)合的方式,具有不同權(quán)限的用戶角色可以訪問不同的頁面并完成相應(yīng)的操作。在該模塊中,系統(tǒng)管理員可以為高校不同的人員進(jìn)行角色劃分并授權(quán)[8]。該系統(tǒng)的用戶角色主要有3種:分別是管理員、教師和學(xué)生。管理員具有對(duì)系統(tǒng)參數(shù)進(jìn)行配置和調(diào)整的權(quán)限,能管理有關(guān)教師和學(xué)生的所有事務(wù)。教師具有對(duì)學(xué)生學(xué)業(yè)情況進(jìn)行查詢和統(tǒng)計(jì)分析的權(quán)限。學(xué)生具有對(duì)學(xué)業(yè)情況進(jìn)行查詢以及對(duì)預(yù)警內(nèi)容進(jìn)行查看的權(quán)限。
在該模塊中,管理員能夠?qū)崿F(xiàn)有關(guān)教師、學(xué)生等個(gè)人身份信息錄入和更新的功能。教師和學(xué)生也可以通過此模塊,實(shí)現(xiàn)有關(guān)院系、班級(jí)、個(gè)人等不同需求的信息查詢功能。
在該模塊中,能夠?qū)崿F(xiàn)有關(guān)學(xué)生學(xué)業(yè)情況的查詢功能。教師和學(xué)生都能夠通過此模塊,詳細(xì)了解學(xué)生課程學(xué)習(xí)的具體情況,以便對(duì)學(xué)業(yè)預(yù)警的內(nèi)容進(jìn)行核實(shí)與確認(rèn)。
學(xué)業(yè)預(yù)警是本系統(tǒng)最主要的功能之一,其設(shè)計(jì)實(shí)現(xiàn)是通過在教務(wù)數(shù)據(jù)庫中設(shè)置不同的觸發(fā)器機(jī)制來完成。在該模塊中,當(dāng)學(xué)生重修、補(bǔ)考、掛科的累積門次達(dá)到了高校預(yù)警的紅線后,觸發(fā)器將會(huì)被觸發(fā),相應(yīng)的預(yù)警信息就會(huì)以不同的形式傳遞至相關(guān)的學(xué)生[9-11]。
在該模塊中,能夠?qū)崿F(xiàn)有關(guān)高校學(xué)業(yè)總體情況的數(shù)據(jù)統(tǒng)計(jì)分析功能。學(xué)生的學(xué)業(yè)及預(yù)警情況既可以按院系、專業(yè)、班級(jí)等不同的類別維度進(jìn)行統(tǒng)計(jì),也可以按學(xué)年、學(xué)期等不同的時(shí)間維度進(jìn)行統(tǒng)計(jì)。呈現(xiàn)方式可以包括柱狀圖、餅圖、散點(diǎn)圖等各種常見的二維圖形。該模塊既實(shí)現(xiàn)了數(shù)據(jù)查詢維度的多樣化,也實(shí)現(xiàn)了數(shù)據(jù)呈現(xiàn)方式的多樣化[12]。
高校學(xué)業(yè)預(yù)警系統(tǒng)完整的功能模塊劃分如圖1所示。
圖1 高校學(xué)業(yè)預(yù)警系統(tǒng)功能模塊圖
本系統(tǒng)采用的數(shù)據(jù)庫管理軟件是MYSQL8.0,該軟件是目前市面上3大主流關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一。設(shè)計(jì)數(shù)據(jù)庫的時(shí)候,在確保本數(shù)據(jù)庫管理系統(tǒng)功能獨(dú)立的同時(shí),還要確保其與高校現(xiàn)有的教務(wù)管理系統(tǒng)服務(wù)器能夠同步、以便實(shí)現(xiàn)信息的共享與流轉(zhuǎn)[13]。
數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)是否合理,直接影響著數(shù)據(jù)庫后續(xù)的實(shí)現(xiàn)、運(yùn)行與維護(hù)。在對(duì)數(shù)據(jù)庫進(jìn)行需求分析的基礎(chǔ)上,下面給出系統(tǒng)部分?jǐn)?shù)據(jù)表的詳細(xì)結(jié)構(gòu),詳見表1-表4。
表1 人員權(quán)限表
表4 學(xué)業(yè)預(yù)警表
本系統(tǒng)之所以能夠完成基于事件驅(qū)動(dòng)的操作,其核心就是數(shù)據(jù)庫觸發(fā)器的設(shè)計(jì)實(shí)現(xiàn)機(jī)制。觸發(fā)器是用戶定義在關(guān)系表上的一類由事件驅(qū)動(dòng)的特殊過程。觸發(fā)器類似于約束,但是比約束更加靈活,可以實(shí)施更為復(fù)雜的檢查和操作,具有更加精細(xì)和強(qiáng)大的數(shù)據(jù)控制能力。常見的觸發(fā)器種類有基于DML事件、DDL事件和登錄事件的3種不同類型。本系統(tǒng)中觸發(fā)器的設(shè)計(jì)與實(shí)現(xiàn)則是基于DML事件的。具體來說,是采用了基于DML事件中的AFTER觸發(fā)器。
表2 登錄信息表
表3 學(xué)業(yè)信息表
基于事件驅(qū)動(dòng)的高校學(xué)業(yè)預(yù)警系統(tǒng),是在有關(guān)高校學(xué)業(yè)管理的數(shù)據(jù)庫中引入了觸發(fā)器的設(shè)計(jì)實(shí)現(xiàn)機(jī)制得以完成。通過采用DML事件中的AFTER觸發(fā)器,當(dāng)學(xué)生重修、補(bǔ)考、掛科的累積門次達(dá)到了設(shè)定的闕值條件,觸發(fā)器將會(huì)被觸發(fā),相應(yīng)的預(yù)警信息將會(huì)通過不同的形式發(fā)送并傳遞到每一位學(xué)生。AFTER觸發(fā)器的關(guān)鍵偽代碼示例如下[2]:
對(duì)于本系統(tǒng)的測(cè)試,主要采取黑盒測(cè)試的方法和手段。根據(jù)系統(tǒng)前期的需求和設(shè)計(jì)說明,對(duì)系統(tǒng)劃分相
應(yīng)的測(cè)試功能點(diǎn),并編寫相應(yīng)的測(cè)試用例,完成測(cè)試。測(cè)試用例見表5。
表5 預(yù)警消息測(cè)試用例
所有系統(tǒng)測(cè)試用例執(zhí)行完畢后,并未發(fā)現(xiàn)能夠?qū)е萝浖\(yùn)行故障的重大缺陷。說明軟件基本功能滿足需求和設(shè)計(jì)的要求,系統(tǒng)達(dá)到了投入使用的標(biāo)準(zhǔn)和條件。
高校學(xué)生的學(xué)業(yè)情況,對(duì)他們未來順利畢業(yè)和就業(yè)有著重要影響和關(guān)鍵性決定作用。本文提出的基于事件驅(qū)動(dòng)的高校學(xué)業(yè)預(yù)警系統(tǒng),是目前很多高?,F(xiàn)有教務(wù)系統(tǒng)的有益補(bǔ)充和完善。它既能夠動(dòng)態(tài)跟蹤高校學(xué)生的學(xué)業(yè)情況,又能夠及時(shí)完成向相關(guān)學(xué)生發(fā)送預(yù)警信息的功能。對(duì)學(xué)生可能出現(xiàn)的學(xué)業(yè)危機(jī)進(jìn)行干預(yù),從而實(shí)現(xiàn)高校學(xué)業(yè)預(yù)警工作的自動(dòng)化和智能化,成為學(xué)校和學(xué)生的得力助手。