宋 靜
(安慶師范學院 計算機與信息學院,安徽 安慶 246011)
高等學校進一步提高教學質量的要求越來越迫切,而關系到教學質量的重要一環就是教學任務分配,如何保證教學任務分配的合理性和高效率,就成了高校急需研究和解決的問題.
筆者之前已做了教學任務分配的算法研究[1],接下來本文探討的是采用JAVA Web 環境[2]下Struts+Hibernate 框架[3]來完成系統的開發.
系統包括用戶登陸與驗證模塊、用戶信息管理模塊、課程組與專業信息管理模塊、教師信息管理模塊、課程與實驗信息管理模塊、教學任務分配模塊和信息輸出模塊.系統總體框架見圖1 所示.
系統中的大量信息都是保存在數據庫中,底層數據庫使用MySQL,Hibernate 框架實現數據庫與Web 之間的交互.根據系統功能的分析,該系統要設計如下數據表:數據字典數據表(t_data_dic)、用戶數據表(t_user)、課程組數據表(t_team)、專業數據表(t_major)、教師數據表(t_teacher)、課程與實驗數據表(t_course)、結果數據表(t_result).
數據字典數據表保存一些常用的信息,如課程組名稱、專業名稱、課程組與教師關聯度、專業與教師關聯度、課程與實驗名稱等.用戶數據表保存具有登錄權限的用戶賬戶和密碼信息.課程組數據表和專業數據表保存的是課程組或專業與教師的

圖1 教學任務分配系統總體框圖
對應關系.教師數據表保存教師職稱等一些與教學任務分配密切相關的信息.課程與實驗數據表保存某學期開設的課程與實驗信息.結果數據表保存教學任務分配的結果.
為節省篇幅,以下只列出數據字典數據表和課程組數據表的結構,分別見表1 和表2.

表1 數據字典數據表結構

表2 課程組數據表結構
為了實現Hibernate 自動維護數據庫,必須要在Hibernate 設置文件中確定各數據表之間的對應關系.根據數據表之間的邏輯關系,確定對應關系如表3.

表3 各數據表之間的對應關系
該模塊是系統安全與可靠的重要屏障,本文采用成熟的Struts 框架來實現.本系統包含兩種類型的用戶,分別賦予不同的權限和功能.管理員用戶能管理用戶信息,實現后臺的用戶增刪改查功能.普通用戶一般是為各個院系的教務員分配的賬戶,可以完成教學信息管理和教學任務分配等功能.
在系統的用戶登陸頁面輸入登錄信息之后,后臺進行賬戶驗證,轉向不同的操作頁面,在Struts 框架下編寫一個Action 類可以實現該功能,以下是實現代碼:


另外通過web 編程中的session 機制保存登陸的用戶信息,在每次打開新的頁面時struts 攔截器都會對此進行驗證,以保證操作的權限許可.
由于該系統是教務人員使用,因此只有各院系的教務人員具有登陸系統和操作的權限,該模塊只需在后臺為相關人員分配賬號即可.
該模塊管理課程組、專業與教師的對應關系、教師信息以及課程與實驗信息.這些信息是教學任務分配所必須的信息,并且課程組、專業、課程與實驗名稱等都是直接取自數據字典,因此維護起來相當方便.教師信息數據表可能需要經常變動,特別是職稱信息,該信息直接關系到教師與課程組的關聯度.
該模塊以遺傳算法為基礎,完成教學任務分配.其算法是以教師在課程組中的重要程度(負責人、職稱等)設定教師和課程組的關聯度,教師所在專業設定教師和專業的關聯度,同時以教師分配課時數和平均課時數的偏差值之和作為課時數均衡性的評價因素,設計遺傳算法的適應度函數,而某種分配方案作為染色體,通過染色體之間的雜交、遺傳、變異等手段,最終找到近似最優解.該算法已實現,參見文獻[1].
用戶需要在頁面中設定遺傳算法的相關參數,如初始種群大小、選擇算子、雜交概率、變異概率等.
該模塊將相關信息以列表的形式導出到頁面供用戶查看和打印.
Web 環境下高校教學任務分配系統使用方便快捷,提高了教務人員的工作效率,簡化了工作流程.以遺傳算法為指導的教學任務分配算法最大程度地保證了教學質量和教學效果,同時也有利于課程教學隊伍的穩定性.該系統經過測試達到了基本使用要求.
[1]宋靜.基于課程組的課程與實驗任務安排的算法分析與研究[J].安慶師范學院學報(自然科學版),2013(2):61-63.
[2]許令波.深入分析Java Web 技術內幕[M].北京:電子工業出版社,2012.
[3]陳亞輝,繆勇.Struts2+Spring+Hibernate 框架技術與項目實戰[M].北京:清華大學出版社,2012.