劉娟
摘要:互聯(lián)網(wǎng)與大數(shù)據(jù)時代需要職校的教務(wù)管理與時俱進(jìn)。在分析職校教務(wù)管理的流程和需求后,采用SSH2架構(gòu)進(jìn)行分層設(shè)計,并對各模塊進(jìn)行了功能設(shè)計,然后對開發(fā)的關(guān)鍵技術(shù)包括數(shù)據(jù)庫連接、安全控制、報表管理等進(jìn)行了闡述。實踐表明,“互聯(lián)網(wǎng)+”下的教務(wù)管理平臺實現(xiàn)了對傳統(tǒng)職校信息化建設(shè)的重塑。
關(guān)鍵詞: 互聯(lián)網(wǎng)+;教務(wù)管理平臺;SSH框架;關(guān)鍵技術(shù)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)25-0065-03
近年來,隨著計算機(jī)、互聯(lián)網(wǎng)+、大數(shù)據(jù)、Wireless Fidelity等技術(shù)的高速發(fā)展,職校校園網(wǎng)建設(shè)也日趨完善,整體信息化進(jìn)程不斷推進(jìn)。學(xué)校規(guī)模的擴(kuò)大與層次的多樣化,使得校園也成為大數(shù)據(jù)應(yīng)用的地方,其中以教務(wù)管理尤為突出。借助互聯(lián)網(wǎng)和信息化手段管理教務(wù)工作,可以有效整合教學(xué)資源,規(guī)范數(shù)據(jù)儲存與共享,使用戶訪問不受時間和地域限制,高效解決問題。因此,從職校的實際需求出發(fā),構(gòu)建了一個“互聯(lián)網(wǎng)+”下的一體化教務(wù)管理平臺。
1 業(yè)務(wù)流程分析
職校教務(wù)管理是從學(xué)生入學(xué)到畢業(yè)的一系列繁雜業(yè)務(wù)的操作,主要包括新生從報到建立學(xué)籍到組織資源安排課程、從發(fā)放教材安排上課到組織考試、管理成績等一系列的業(yè)務(wù)流程。教務(wù)管理流程如圖1所示。
2 功能需求分析
根據(jù)教務(wù)工作實際需求,得出平臺主要使用對象為教務(wù)管理員、教師和學(xué)生。
教務(wù)管理員需求:能進(jìn)行學(xué)籍、成績、排課、考務(wù)和教材等教務(wù)信息的錄入、查詢、修改、刪除、導(dǎo)出等操作;
教師需求:能進(jìn)行學(xué)生成績錄入、修改、導(dǎo)出等操作;可以查詢其他教務(wù)信息和維護(hù)個人信息;
學(xué)生需求:可以查詢個人成績、學(xué)籍信息、課表和考試安排,維護(hù)個人信息。
此外,還需設(shè)置系統(tǒng)管理員進(jìn)行平臺和用戶管理。并且還應(yīng)具有用戶登錄、日志記錄、數(shù)據(jù)備份、安全退出等功能。
3 總體設(shè)計
3.1 技術(shù)方案
平臺基于B/S模式,選用Tomcat為Web服務(wù)器、MS SQL Server為后臺數(shù)據(jù)庫,以MyEclipse為開發(fā)環(huán)境,使用Java語言、JSP等技術(shù)開發(fā)。
采用輕量級的J2EE架構(gòu)—SSH2(Struts2+Spring+Hibernate)框架,將平臺分為Web表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和數(shù)據(jù)庫層。SSH2框架分層體系圖如圖2所示。
其中,Web表示層是與用戶的交互界面,采用Struts2框架,通過JSP和Action類來實現(xiàn),主要負(fù)責(zé)收集用戶請求、返回結(jié)果頁面。業(yè)務(wù)邏輯層是整個平臺的核心,采用Spring框架實現(xiàn),并負(fù)責(zé)與Struts2和Hibernate整合;主要進(jìn)行業(yè)務(wù)邏輯處理,為表示層提供業(yè)務(wù)方法。數(shù)據(jù)持久層,采用Hibernate框架實現(xiàn),負(fù)責(zé)把數(shù)據(jù)庫層中的數(shù)據(jù)轉(zhuǎn)換成類持久對象和對應(yīng)的DAO實現(xiàn),供業(yè)務(wù)邏輯層調(diào)用[1]。數(shù)據(jù)庫層負(fù)責(zé)存放系統(tǒng)的應(yīng)用數(shù)據(jù),提供訪問的數(shù)據(jù)源。
分層設(shè)計使得每層職能明確,各層間通信通過接口互聯(lián),降低了各層間的耦合度,提高了組件的復(fù)用性,有利于平臺的維護(hù)和擴(kuò)展。
3.2 功能設(shè)計
本教務(wù)管理平臺由系統(tǒng)管理、基礎(chǔ)信息管理、學(xué)籍管理、成績管理、教學(xué)資源管理、排課管理、考務(wù)管理和教材管理八個模塊組成,具有用戶登錄、分權(quán)訪問、信息存儲、維護(hù)、查詢導(dǎo)出,安全退出等功能。平臺功能結(jié)構(gòu)圖如圖3所示。
1) 系統(tǒng)管理
實現(xiàn)權(quán)限管理、用戶管理以及系統(tǒng)相關(guān)的維護(hù)??梢詫巧x權(quán),完成用戶創(chuàng)建維護(hù)、角色分配以及系統(tǒng)菜單設(shè)置、日志記錄、數(shù)據(jù)備份、安全控制等維護(hù)功能。
2) 基礎(chǔ)信息管理
實現(xiàn)專業(yè)和班級信息的管理??梢栽O(shè)置專業(yè)名稱、代碼及學(xué)制信息;能進(jìn)行編班、分配班主任等班務(wù)管理。
3) 學(xué)籍管理
實現(xiàn)學(xué)生學(xué)籍信息、學(xué)籍異動、在校獎懲和畢業(yè)信息的管理。能夠進(jìn)行學(xué)籍信息的批量管理,可以對學(xué)生休學(xué)、轉(zhuǎn)專業(yè)等學(xué)籍異動及在校獎懲情況進(jìn)行記錄和查詢導(dǎo)出;能進(jìn)行畢業(yè)審核并生成畢業(yè)生信息表。各類信息可以進(jìn)行組合查詢后以報表形式導(dǎo)出。
4) 成績管理
可以實現(xiàn)成績錄入、修改、查詢、分析統(tǒng)計等功能。能在規(guī)定時間內(nèi)錄入和修改成績,可以按條件進(jìn)行成績查詢、導(dǎo)出;并能對成績進(jìn)行分類統(tǒng)計生成圖形化報表或者補(bǔ)考、重修名單等文檔報表。
5) 教學(xué)資源管理
實現(xiàn)教師管理和教室管理。能對教師個人信息、主講課程、教學(xué)成果等進(jìn)行統(tǒng)一管理,并對全校的教室大小、使用情況進(jìn)行分類管理。
6) 排課管理
主要實現(xiàn)教學(xué)計劃管理、課程安排和課表查詢功能??梢怨芾黹_設(shè)課程的代碼、名稱、學(xué)時,性質(zhì)等信息,并制定每學(xué)期各專業(yè)教學(xué)計劃用于課程安排;能根據(jù)教師、班級(職校每個班級有固定教室)、時間的需求,按照一定條件自動排課,然后檢驗沖突手動調(diào)整,最終生成合理可行的總課表、教師課表和班級課表;并可以按照條件查詢、導(dǎo)出不同類型的課表。
(7) 考務(wù)管理
實現(xiàn)考試安排及查詢導(dǎo)出。能根據(jù)課程、班級、學(xué)生人數(shù)、教室信息,安排考試時間、科目、班級、考場及監(jiān)考教師,并生成考試表安排供用戶查詢導(dǎo)出。
8) 教材管理
實現(xiàn)教材的集中管理。主要包括教材信息與征訂、教材發(fā)放、庫存管理等功能,實現(xiàn)了教材的進(jìn)銷存管理。
3.3 數(shù)據(jù)庫設(shè)計
主要包括數(shù)據(jù)庫表設(shè)計和表間關(guān)聯(lián)設(shè)計。本平臺設(shè)計了用戶表、角色表、用戶角色表、學(xué)生表、成績表、教師表等多個數(shù)據(jù)庫表,以MS SQL Server為后臺數(shù)據(jù)庫管理系統(tǒng),運(yùn)用Power Designer將數(shù)據(jù)庫表映射到數(shù)據(jù)庫中。endprint
3.4 包結(jié)構(gòu)設(shè)計
平臺在My Eclipse下開發(fā),通過建立目錄樹的包結(jié)構(gòu)來分類管理類文件。主要的包結(jié)構(gòu)如下:
1) cn.zx.jwgl.domain包:存放需要進(jìn)行映射轉(zhuǎn)換的實體類;
2) cn. zx.jwgl.dao包:存放DAO接口;
3) cn.zx.jwgl.dao.impl包:存放DAO 接口的實現(xiàn)類;
4) cn.zx.jwgl.service包:存放Service接口;
5) cn.zx.jwgl.service.impl包:存放Service接口的實現(xiàn)類;
6) cn.zx.jwgl.action包:存放Struts2的Action類;
7) cn.zx.jwgl.util包:存放所有工具類;
8) cn.zx.jwgl.cfg包:存入所有配置文件;
9) cn.zx.jwgl.filter包:存入所有過濾器類。
4 關(guān)鍵技術(shù)
4.1 數(shù)據(jù)庫連接池技術(shù)
平臺使用時會頻繁地訪問數(shù)據(jù)庫,例如在成績錄入時期,用戶數(shù)和并發(fā)量的劇增會造成數(shù)據(jù)庫連接瓶頸,故采用“數(shù)據(jù)庫連接池”技術(shù)來加快響應(yīng)時間,提高訪問效率。連接池的思想是將一定數(shù)量已建好的連接預(yù)先存入“連接池”中,若要建立連接,則直接從“連接池”中取出,用完后再放回池中供它用[2]。
本平臺使用c3p0連接池,在Tomcat 中配置數(shù)據(jù)源時,在sevrer.xml中添加
4.2 用戶登錄
各類用戶通過Web頁面登錄,輸入用戶名、密碼和驗證碼后,點擊登錄按鈕,登錄表單里的驗證數(shù)據(jù)會提交至服務(wù)器與數(shù)據(jù)庫中保存的數(shù)據(jù)做比較,驗證成功后,會根據(jù)用戶角色進(jìn)入相應(yīng)的用戶主頁面。如果登錄信息有誤驗證失敗,則返回參數(shù)提示用戶信息錯誤等待重輸,用戶登錄時序圖如圖4所示。
平臺采用模糊錯誤提示,即不論用戶名或者密碼有誤,都只給出“登錄信息錯誤,請重輸”的提示信息,以防止用戶信息暴露被攻擊者偵測[3]。登錄時使用驗證碼校驗,防止客戶機(jī)被惡意軟件自動登錄等暴力破解攻擊,提高服務(wù)器和數(shù)據(jù)庫的穩(wěn)定性。
4.3 安全控制
4.3.1 權(quán)限控制
本平臺采用RBAC(Role Based Access Control) 進(jìn)行權(quán)限控制,在角色分配中,把權(quán)限控制分為模塊級與數(shù)據(jù)級兩種,如果角色具有模塊級權(quán)限,可以瀏覽模塊;如果具有數(shù)據(jù)級權(quán)限,則還可以對數(shù)據(jù)進(jìn)行增刪查改等操作[4]。
平臺用戶分為系統(tǒng)管理員、教務(wù)管理員、教師、學(xué)生四類角色。系統(tǒng)管理員擁有最高的權(quán)限;教務(wù)管理員擁有教務(wù)各個模塊管理權(quán)限,能進(jìn)行信息增刪查改和導(dǎo)出操作;教師可以進(jìn)行授課成績的錄入、修改、導(dǎo)出操作,可以對授權(quán)模塊查詢;學(xué)生可以查詢個人成績、學(xué)籍信息、課表和考試安排。
權(quán)限控制通過數(shù)據(jù)庫中設(shè)計用戶表、角色表、權(quán)限表、用戶-角色表、角色-權(quán)限表來描述。RBAC降低授權(quán)管理的復(fù)雜性和管理開銷,保證了系統(tǒng)安全環(huán)境。
4.3.2 數(shù)據(jù)加密
本平臺使用DES(Data Encryption Standard)加密算法。它是一種對稱加密算法,加密性能高,處理速度快,顯著提高系統(tǒng)安全性。使用JCE (Java Cryptography Extension) —Java內(nèi)置密碼擴(kuò)展包,完成數(shù)據(jù)加密/解密[5],具體算法用Bouncy Castle的JCE來實現(xiàn),設(shè)計了EncryptorDES類,由它提供加密/解密的接口。
4.3.3 日志記錄
日志用來記錄用戶登錄信息和各種操作以及異常信息(如攻擊者的痕跡)、程序錯誤原因等。管理員需要經(jīng)常查看日志并且備份。日志記錄可以使管理員了解系統(tǒng)運(yùn)行情況,準(zhǔn)確定位故障,排除安全隱患。
4.4 Ajax技術(shù)
Ajax是對JavaScript、DOM和XMLHttpRequest等技術(shù)的整合,利用Ajax技術(shù)可使Web應(yīng)用系統(tǒng)與服務(wù)器進(jìn)行異步交互,實現(xiàn)局部刷新而不需重載頁面[6],讓用戶可以無縫使用系統(tǒng),提高了用戶體驗并減少帶寬占用。
本平臺廣泛采用Ajax技術(shù)來優(yōu)化用戶操作。例如在新增班級時,會對輸入的班級名稱進(jìn)行檢驗,若輸入的班級已經(jīng)存在,則提示“此班級已存在”,不允許新增。又如輸入學(xué)生信息時,會對身份證號碼進(jìn)行檢查,符合規(guī)則才允許輸入其他信息后保存;否則顯示紅色提示:“身份證號有誤”,且“保存”按鈕呈灰色不可用狀態(tài)。
4.5 報表管理
1) 導(dǎo)出文檔報表。本平臺主要采用Java的開源項目來生成Excel和PDF兩類格式報表。其中,Excel格式選用功能和效率均較好的PIO創(chuàng)建,PDF格式采用開源站點SourceForge的項目iText生產(chǎn)。
2) 生成圖形報表。除了文檔報表,對于成績信息等還可以生成圖形報表。以Java Servlet為后臺服務(wù)組件,借助JFreeChart組件生成統(tǒng)計分析表圖片,并將圖片直接下載到瀏覽器中,實現(xiàn)了餅狀、柱狀和曲線三種分析圖顯示功能,直觀、清晰地顯示統(tǒng)計結(jié)果,對了解學(xué)生成績等信息的分布及變化趨勢有重要的參考價值。
4.6 中文編碼和分頁顯示
平臺的頁面都做了中文編碼處理避免出現(xiàn)亂碼。但若在每個頁面中均編寫代碼會產(chǎn)生大量的重復(fù)代碼,故使用過濾器處理,同時在 web.xml 中配置好統(tǒng)一字符編碼。
平臺使用Struts2實現(xiàn)分頁顯示。把數(shù)據(jù)庫表中的每行數(shù)據(jù)封裝成對象,用類型為List的方法返回它們,并在Action里定義一個List屬性,用這個List接收查詢后封裝的對象,最后通過Logic標(biāo)簽遍歷集合里的對象,可以查詢集合對象的屬性使之顯示在頁面上。
5 結(jié)束語
從職校教務(wù)管理信息化的要求出發(fā),開發(fā)了基于“互聯(lián)網(wǎng)+”的教務(wù)管理平臺,測試結(jié)果總體達(dá)到預(yù)期目標(biāo),仍有細(xì)節(jié)有待完善。運(yùn)用此網(wǎng)絡(luò)平臺極大地提高了教務(wù)管理的效率,實現(xiàn)了數(shù)據(jù)與資源共享,推進(jìn)了職校的信息化進(jìn)程。
參考文獻(xiàn):
[1] 李剛.輕量級J2EE企業(yè)應(yīng)用實戰(zhàn):Struts Spring Hibernate整合開發(fā)[M].北京:電子工業(yè)出版社,2007:423-453.
[2] 王萍.基于Web的教務(wù)管理信息系統(tǒng)的研究與設(shè)計[J].中國管理信息化:綜合版,2006,9(3):90-93.
[3] 林萍.基于SSH+DWR的高??蒲泄芾硐到y(tǒng)研究與實現(xiàn)[J].計算機(jī)應(yīng)用與軟件,2014,31(7):66-68
[4] 杜建彬.基于角色的訪問控制在教務(wù)系統(tǒng)中的應(yīng)用探究[J].科教導(dǎo)刊,2010,31(2):134-135
[5] 360百科.DES算法[EB/OL].[2017-07-20].https://baike.so.com/doc/5429347-5667575.html.
[6] Ryan Asleson. AJAX基礎(chǔ)教程[M]. 金靈,譯.北京:人民郵電出版社,2006.