付冬波 李達(dá)志 林燕萍
隨著云計(jì)算、物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能和虛擬現(xiàn)實(shí)等技術(shù)的快速發(fā)展,黨和國(guó)家對(duì)教育信息化工作愈加重視。在2018年4月13日,教育部正式印發(fā)了《教育信息化2.0行動(dòng)計(jì)劃》的通知,提出要加快教育現(xiàn)代化和教育強(qiáng)國(guó)建設(shè)[1]。該通知引領(lǐng)我們要更加堅(jiān)持應(yīng)用驅(qū)動(dòng)、更加堅(jiān)持深度融合,以有效地運(yùn)用信息化工具及技術(shù)來(lái)促進(jìn)教育[2]。
一、開(kāi)發(fā)背景及意義
我校課程重修業(yè)務(wù)由教務(wù)部和各學(xué)院協(xié)同完成。由教務(wù)部負(fù)責(zé)工作組織,各院系部及專(zhuān)業(yè)負(fù)責(zé)組織學(xué)生報(bào)名及審核。之前一直采用的是傳統(tǒng)的紙質(zhì)版流程申請(qǐng)及利用EXCEL報(bào)表進(jìn)行數(shù)據(jù)統(tǒng)計(jì)這一管理模式。每學(xué)期開(kāi)學(xué)之初,需要進(jìn)行課程重修選擇的學(xué)生人數(shù)較多,那么如何合理地將各學(xué)生安排在各開(kāi)課班級(jí),以及根據(jù)重修人數(shù)重開(kāi)教學(xué)班等問(wèn)題,暫時(shí)沒(méi)有得到有效合理的方法解決。學(xué)生與老師之間的交互反饋、各班級(jí)人數(shù)的統(tǒng)計(jì)等工作往往會(huì)耗費(fèi)大量的時(shí)間和精力,且工作效率低下、學(xué)生滿意度低以及數(shù)據(jù)的準(zhǔn)確性也難以得到有效的保障。
通過(guò)開(kāi)發(fā)該系統(tǒng),在教務(wù)部下發(fā)重修報(bào)名通知后,學(xué)生可通過(guò)系統(tǒng)便捷地查詢和選擇本學(xué)期可申請(qǐng)重修的課程和教學(xué)班級(jí);各學(xué)院能通過(guò)專(zhuān)業(yè)、課程、學(xué)生等多重復(fù)合條件查詢本學(xué)院重修申請(qǐng)記錄,批量審閱學(xué)生的重修申請(qǐng),調(diào)整重修教學(xué)班或退回重修申請(qǐng),并能及時(shí)反饋意見(jiàn)給學(xué)生。從而為學(xué)生和老師提供了便利的申請(qǐng)和審批渠道,打破了課程重修的數(shù)據(jù)孤立和數(shù)據(jù)互傳空間問(wèn)題,提高了學(xué)校教育信息化建設(shè)工作。
二、系統(tǒng)設(shè)計(jì)
1.開(kāi)發(fā)工具
本系統(tǒng)運(yùn)用Idea作為開(kāi)發(fā)工具。
2.框架設(shè)計(jì)
系統(tǒng)共分4大模塊,分別為重修申請(qǐng)模塊、專(zhuān)業(yè)負(fù)責(zé)人模塊、開(kāi)課學(xué)院模塊和教務(wù)模塊。
3.基本處理流程
首先將課表數(shù)據(jù)從教務(wù)系統(tǒng)搜集到數(shù)據(jù)平臺(tái)(ETL),通過(guò)ETL工具將數(shù)據(jù)從數(shù)據(jù)集成平臺(tái)服務(wù)器導(dǎo)入到業(yè)務(wù)數(shù)據(jù)庫(kù)中。在導(dǎo)入數(shù)據(jù)庫(kù)后利用接口進(jìn)行獲取,利用頁(yè)面進(jìn)行展示。
4.技術(shù)架構(gòu)
(1)基礎(chǔ)軟件。包括操作系統(tǒng)、Java運(yùn)行環(huán)境、Web服務(wù)器軟件、Oracle 11g、安全組件、單點(diǎn)登錄組件、其他需要的軟件等。
(2)支撐層。采用自主研發(fā)的成熟技術(shù)開(kāi)發(fā)平臺(tái),主要提供界面集成框架、報(bào)表分析、用戶管理及權(quán)限控制、業(yè)務(wù)流程服務(wù)、接口服務(wù)發(fā)布等。
(3)應(yīng)用層。主要采用時(shí)下流程的Java開(kāi)源技術(shù)—SSM框架。其中Mybatis負(fù)責(zé)加載數(shù)據(jù),并將數(shù)據(jù)持久化到數(shù)據(jù)庫(kù);Spring負(fù)責(zé)對(duì)象的依賴(lài)注入及面向切面的日志處理、事務(wù)處理。另外采用SpringMVC作為應(yīng)用的MVC框架。SpringMVC是采用Java Servlet/JSP 技術(shù)實(shí)現(xiàn)了基于Java EE Web的應(yīng)用框架,也是MVC設(shè)計(jì)模式的經(jīng)典實(shí)現(xiàn)。如圖1所示,MVC即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,將單個(gè)應(yīng)用劃分為模型層、視圖層、控制層。
(4)展現(xiàn)層。采用自主設(shè)計(jì)的HTML&CSS,結(jié)合Bootstrap+jQuery+layerui的前端框架組合,提供美觀的界面展示組件和靈活的前端腳本控制。
5.部署架構(gòu)
有一臺(tái)服務(wù)器作為應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器。服務(wù)器上部署了tomcat中間件、oracle數(shù)據(jù)庫(kù),并且根據(jù)備份策略設(shè)定了定時(shí)備份任務(wù)等。
6.接口設(shè)計(jì)原則
專(zhuān)用化原則:接口支持的功能應(yīng)明確,確保單個(gè)接口支持單一功能。
最小化原則:接口的輸入輸出不宜過(guò)大,應(yīng)針對(duì)不同的輸入輸出組合給出不同的接口設(shè)計(jì)。
兼容性原則:接口的更新迭代應(yīng)確保版本兼容,避免對(duì)已開(kāi)發(fā)系統(tǒng)造成太大影響。
健壯性原則:接口應(yīng)對(duì)輸入、輸出數(shù)據(jù)的合法性進(jìn)行檢查,并確保內(nèi)部錯(cuò)誤不對(duì)調(diào)用方造成影響。
7.安全保密設(shè)計(jì)
(1)應(yīng)用安全。
身份驗(yàn)證:要求身份驗(yàn)證貫串在Web程序的各個(gè)頁(yè)面。
授權(quán):對(duì)用戶的授權(quán)要區(qū)分用戶的角色,及要細(xì)分用戶的權(quán)限劃分。
輸入檢驗(yàn):適當(dāng)?shù)妮斎霗z驗(yàn)是對(duì)付現(xiàn)今應(yīng)用程序攻擊的最有力的防范措施之一。適當(dāng)?shù)妮斎霗z驗(yàn)是一個(gè)有效的對(duì)策,它有助于防止 XSS、SQL 注入、緩沖區(qū)溢出以及其他的輸入攻擊。
SQL注入防范:采取必要的sql注入防范措施。
XSS攻擊防范:采取HTTP過(guò)濾器,過(guò)濾XSS危險(xiǎn)字符。
會(huì)話管理:Web應(yīng)用程序是建立在無(wú)狀態(tài)的 HTTP 協(xié)議上的,所以會(huì)話管理是應(yīng)用程序級(jí)需要負(fù)責(zé)的??赏ㄟ^(guò)加密身份驗(yàn)證Cookie的內(nèi)容,以及限制會(huì)話的生命周期,以保護(hù)會(huì)話狀態(tài)不被未經(jīng)授權(quán)訪問(wèn)等來(lái)加強(qiáng)系統(tǒng)的安全。
異常操作:通過(guò)控制,不向客戶端泄漏信息,且記錄詳細(xì)的錯(cuò)誤消息,以及通過(guò)捕獲異常數(shù)據(jù)和行為等方式來(lái)保證系統(tǒng)的安全。
(2)數(shù)據(jù)安全。
備份:通過(guò)備份保證數(shù)據(jù)本身的存儲(chǔ)安全。
數(shù)據(jù)庫(kù)用戶權(quán)限限制:通過(guò)數(shù)據(jù)庫(kù)用戶權(quán)限限制,使用戶只能訪問(wèn)權(quán)限范圍內(nèi)的數(shù)據(jù)。
加密存儲(chǔ):用戶口令、數(shù)據(jù)庫(kù)口令等加密存儲(chǔ)。
授權(quán)體制:業(yè)務(wù)數(shù)據(jù)通過(guò)嚴(yán)格的授權(quán)體制得以保護(hù)。
8.出錯(cuò)處理設(shè)計(jì)
系統(tǒng)出錯(cuò)處理設(shè)計(jì)如表1所示。
9.運(yùn)行環(huán)境
(1)服務(wù)端運(yùn)行環(huán)境:Windows server 2008,Mysql5.7,Tomcat 8服務(wù)器,JDK1.8及以上。
(2)客戶端運(yùn)行環(huán)境:客戶端瀏覽器需要IE9及以上或 Google Chrome 瀏覽器。
web網(wǎng)頁(yè)端在校園網(wǎng)內(nèi)24小時(shí)運(yùn)行,用戶在校園網(wǎng)內(nèi)可以隨時(shí)進(jìn)行訪問(wèn)。
三、系統(tǒng)功能
1.學(xué)生申請(qǐng)功能模塊
學(xué)生能登錄該系統(tǒng)查看自己的學(xué)科歷史成績(jī),且能在教務(wù)部指定的時(shí)間內(nèi)選擇需要重修的課程。重修的課程顯示可申請(qǐng)重修課程的教學(xué)班信息(教學(xué)班上課時(shí)間及與其個(gè)人課程沖突信息),學(xué)生進(jìn)行申請(qǐng)操作。若所選課程無(wú)開(kāi)班記錄,則把信息反饋給專(zhuān)業(yè)負(fù)責(zé)人,由專(zhuān)業(yè)負(fù)責(zé)人負(fù)責(zé)該課程的替換。在審核結(jié)束以后,學(xué)生能查看審核結(jié)果以及駁回反饋信息。開(kāi)課班級(jí)人數(shù)已滿的,可進(jìn)行重修預(yù)報(bào)名操作,供教務(wù)部在課程重修結(jié)束以后統(tǒng)計(jì)各開(kāi)課課程重修申請(qǐng)失敗人數(shù),根據(jù)其實(shí)際情況決定是否重修開(kāi)班。
2.專(zhuān)業(yè)負(fù)責(zé)人功能模塊
學(xué)生所選重修課程沒(méi)開(kāi)課時(shí),專(zhuān)業(yè)負(fù)責(zé)人可根據(jù)實(shí)際情況指定相應(yīng)的課程進(jìn)行課程替換。若無(wú)替換課程,則把結(jié)果反饋給相應(yīng)學(xué)生。
3.開(kāi)課系部功能模塊
開(kāi)課院系負(fù)責(zé)人在規(guī)定的時(shí)間內(nèi)完成學(xué)生重修申請(qǐng)的審批,系統(tǒng)提供批量審批功能,若需退回學(xué)生的申請(qǐng),則需將退回原因反饋給學(xué)生;開(kāi)課院系負(fù)責(zé)人可根據(jù)該學(xué)生的課程沖突情況,為學(xué)生替換其他教學(xué)班。
4.教務(wù)負(fù)責(zé)人功能模塊
教務(wù)部負(fù)責(zé)人可設(shè)置課程重修申請(qǐng)的起止時(shí)間段;查閱已完成審批的課程重修請(qǐng)求,并可對(duì)其進(jìn)行最終審閱并導(dǎo)出課程重修匯總表;查看各開(kāi)課課程重修申請(qǐng)預(yù)報(bào)名人數(shù),根據(jù)其實(shí)際情況決定是否重修開(kāi)班。
四、系統(tǒng)特點(diǎn)
1.程序模塊清晰,界面簡(jiǎn)潔
系統(tǒng)分為學(xué)生、專(zhuān)業(yè)負(fù)責(zé)人、開(kāi)課院系和教務(wù)負(fù)責(zé)人四大功能模塊,層次分明,權(quán)限明了,職責(zé)明確。
2.系統(tǒng)安全及保密性強(qiáng)
該系統(tǒng)在應(yīng)用系統(tǒng)和數(shù)據(jù)層面上均做了安全保護(hù)設(shè)計(jì),能有效保證系統(tǒng)使用的安全性。
目前已通過(guò)墨盒測(cè)試方法,對(duì)系統(tǒng)各模塊功能進(jìn)行檢測(cè)。經(jīng)檢測(cè),該系統(tǒng)能夠滿足我校課程重修管理工作需求,各功能模塊運(yùn)行正常?,F(xiàn)已通過(guò)教務(wù)部和相關(guān)學(xué)院驗(yàn)收,且已投入使用中。
課程重修管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)有效地提高了我校教師的工作效率及學(xué)生對(duì)課程重修選擇的滿意度,側(cè)面也促進(jìn)了我校師生的教學(xué)效果,同時(shí)也是學(xué)校信息化建設(shè)不斷往前發(fā)展的見(jiàn)證。在學(xué)校未來(lái)的發(fā)展進(jìn)程中,我們?nèi)孕杈o跟時(shí)代科技的步伐,用現(xiàn)代先進(jìn)技術(shù)和工具促進(jìn)學(xué)校教與學(xué)的整體效果。
參考文獻(xiàn):
[1] 教育部.教育部關(guān)于印發(fā)《教育信息化2.0行動(dòng)計(jì)劃》的通知[EB/OL].http://www.moe.gov.cn/srcsite/A16/s3342/201804/t20180425_334188.html.2018-04-13.
[2] 任友群.走進(jìn)新時(shí)代的中國(guó)教育信息化——《教育信息化2.0行動(dòng)計(jì)劃》解讀之一[J].電化教育研究,2018,39(06):27-28,60.
責(zé)任編輯 陳春陽(yáng)