宋 靜
(安慶師范學(xué)院 計算機與信息學(xué)院,安徽 安慶 246011)
高等學(xué)校進一步提高教學(xué)質(zhì)量的要求越來越迫切,而關(guān)系到教學(xué)質(zhì)量的重要一環(huán)就是教學(xué)任務(wù)分配,如何保證教學(xué)任務(wù)分配的合理性和高效率,就成了高校急需研究和解決的問題.
筆者之前已做了教學(xué)任務(wù)分配的算法研究[1],接下來本文探討的是采用JAVA Web 環(huán)境[2]下Struts+Hibernate 框架[3]來完成系統(tǒng)的開發(fā).
系統(tǒng)包括用戶登陸與驗證模塊、用戶信息管理模塊、課程組與專業(yè)信息管理模塊、教師信息管理模塊、課程與實驗信息管理模塊、教學(xué)任務(wù)分配模塊和信息輸出模塊.系統(tǒng)總體框架見圖1 所示.
系統(tǒng)中的大量信息都是保存在數(shù)據(jù)庫中,底層數(shù)據(jù)庫使用MySQL,Hibernate 框架實現(xiàn)數(shù)據(jù)庫與Web 之間的交互.根據(jù)系統(tǒng)功能的分析,該系統(tǒng)要設(shè)計如下數(shù)據(jù)表:數(shù)據(jù)字典數(shù)據(jù)表(t_data_dic)、用戶數(shù)據(jù)表(t_user)、課程組數(shù)據(jù)表(t_team)、專業(yè)數(shù)據(jù)表(t_major)、教師數(shù)據(jù)表(t_teacher)、課程與實驗數(shù)據(jù)表(t_course)、結(jié)果數(shù)據(jù)表(t_result).
數(shù)據(jù)字典數(shù)據(jù)表保存一些常用的信息,如課程組名稱、專業(yè)名稱、課程組與教師關(guān)聯(lián)度、專業(yè)與教師關(guān)聯(lián)度、課程與實驗名稱等.用戶數(shù)據(jù)表保存具有登錄權(quán)限的用戶賬戶和密碼信息.課程組數(shù)據(jù)表和專業(yè)數(shù)據(jù)表保存的是課程組或?qū)I(yè)與教師的
圖1 教學(xué)任務(wù)分配系統(tǒng)總體框圖
對應(yīng)關(guān)系.教師數(shù)據(jù)表保存教師職稱等一些與教學(xué)任務(wù)分配密切相關(guān)的信息.課程與實驗數(shù)據(jù)表保存某學(xué)期開設(shè)的課程與實驗信息.結(jié)果數(shù)據(jù)表保存教學(xué)任務(wù)分配的結(jié)果.
為節(jié)省篇幅,以下只列出數(shù)據(jù)字典數(shù)據(jù)表和課程組數(shù)據(jù)表的結(jié)構(gòu),分別見表1 和表2.
表1 數(shù)據(jù)字典數(shù)據(jù)表結(jié)構(gòu)
表2 課程組數(shù)據(jù)表結(jié)構(gòu)
為了實現(xiàn)Hibernate 自動維護數(shù)據(jù)庫,必須要在Hibernate 設(shè)置文件中確定各數(shù)據(jù)表之間的對應(yīng)關(guān)系.根據(jù)數(shù)據(jù)表之間的邏輯關(guān)系,確定對應(yīng)關(guān)系如表3.
表3 各數(shù)據(jù)表之間的對應(yīng)關(guān)系
該模塊是系統(tǒng)安全與可靠的重要屏障,本文采用成熟的Struts 框架來實現(xiàn).本系統(tǒng)包含兩種類型的用戶,分別賦予不同的權(quán)限和功能.管理員用戶能管理用戶信息,實現(xiàn)后臺的用戶增刪改查功能.普通用戶一般是為各個院系的教務(wù)員分配的賬戶,可以完成教學(xué)信息管理和教學(xué)任務(wù)分配等功能.
在系統(tǒng)的用戶登陸頁面輸入登錄信息之后,后臺進行賬戶驗證,轉(zhuǎn)向不同的操作頁面,在Struts 框架下編寫一個Action 類可以實現(xiàn)該功能,以下是實現(xiàn)代碼:
另外通過web 編程中的session 機制保存登陸的用戶信息,在每次打開新的頁面時struts 攔截器都會對此進行驗證,以保證操作的權(quán)限許可.
由于該系統(tǒng)是教務(wù)人員使用,因此只有各院系的教務(wù)人員具有登陸系統(tǒng)和操作的權(quán)限,該模塊只需在后臺為相關(guān)人員分配賬號即可.
該模塊管理課程組、專業(yè)與教師的對應(yīng)關(guān)系、教師信息以及課程與實驗信息.這些信息是教學(xué)任務(wù)分配所必須的信息,并且課程組、專業(yè)、課程與實驗名稱等都是直接取自數(shù)據(jù)字典,因此維護起來相當方便.教師信息數(shù)據(jù)表可能需要經(jīng)常變動,特別是職稱信息,該信息直接關(guān)系到教師與課程組的關(guān)聯(lián)度.
該模塊以遺傳算法為基礎(chǔ),完成教學(xué)任務(wù)分配.其算法是以教師在課程組中的重要程度(負責(zé)人、職稱等)設(shè)定教師和課程組的關(guān)聯(lián)度,教師所在專業(yè)設(shè)定教師和專業(yè)的關(guān)聯(lián)度,同時以教師分配課時數(shù)和平均課時數(shù)的偏差值之和作為課時數(shù)均衡性的評價因素,設(shè)計遺傳算法的適應(yīng)度函數(shù),而某種分配方案作為染色體,通過染色體之間的雜交、遺傳、變異等手段,最終找到近似最優(yōu)解.該算法已實現(xiàn),參見文獻[1].
用戶需要在頁面中設(shè)定遺傳算法的相關(guān)參數(shù),如初始種群大小、選擇算子、雜交概率、變異概率等.
該模塊將相關(guān)信息以列表的形式導(dǎo)出到頁面供用戶查看和打印.
Web 環(huán)境下高校教學(xué)任務(wù)分配系統(tǒng)使用方便快捷,提高了教務(wù)人員的工作效率,簡化了工作流程.以遺傳算法為指導(dǎo)的教學(xué)任務(wù)分配算法最大程度地保證了教學(xué)質(zhì)量和教學(xué)效果,同時也有利于課程教學(xué)隊伍的穩(wěn)定性.該系統(tǒng)經(jīng)過測試達到了基本使用要求.
[1]宋靜.基于課程組的課程與實驗任務(wù)安排的算法分析與研究[J].安慶師范學(xué)院學(xué)報(自然科學(xué)版),2013(2):61-63.
[2]許令波.深入分析Java Web 技術(shù)內(nèi)幕[M].北京:電子工業(yè)出版社,2012.
[3]陳亞輝,繆勇.Struts2+Spring+Hibernate 框架技術(shù)與項目實戰(zhàn)[M].北京:清華大學(xué)出版社,2012.