Web 环境下高校教学任务分配系统的开发
2014-12-30宋静
宋 静
(安庆师范学院 计算机与信息学院,安徽 安庆 246011)
1 需求与前期准备
高等学校进一步提高教学质量的要求越来越迫切,而关系到教学质量的重要一环就是教学任务分配,如何保证教学任务分配的合理性和高效率,就成了高校急需研究和解决的问题.
笔者之前已做了教学任务分配的算法研究[1],接下来本文探讨的是采用JAVA Web 环境[2]下Struts+Hibernate 框架[3]来完成系统的开发.
2 系统总体框架
系统包括用户登陆与验证模块、用户信息管理模块、课程组与专业信息管理模块、教师信息管理模块、课程与实验信息管理模块、教学任务分配模块和信息输出模块.系统总体框架见图1 所示.
3 数据表设计
系统中的大量信息都是保存在数据库中,底层数据库使用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 各数据表之间的对应关系
4 系统功能分析
4.1 用户登陆与验证模块
该模块是系统安全与可靠的重要屏障,本文采用成熟的Struts 框架来实现.本系统包含两种类型的用户,分别赋予不同的权限和功能.管理员用户能管理用户信息,实现后台的用户增删改查功能.普通用户一般是为各个院系的教务员分配的账户,可以完成教学信息管理和教学任务分配等功能.
在系统的用户登陆页面输入登录信息之后,后台进行账户验证,转向不同的操作页面,在Struts 框架下编写一个Action 类可以实现该功能,以下是实现代码:
另外通过web 编程中的session 机制保存登陆的用户信息,在每次打开新的页面时struts 拦截器都会对此进行验证,以保证操作的权限许可.
4.2 用户信息管理模块
由于该系统是教务人员使用,因此只有各院系的教务人员具有登陆系统和操作的权限,该模块只需在后台为相关人员分配账号即可.
4.3 教学信息管理模块
该模块管理课程组、专业与教师的对应关系、教师信息以及课程与实验信息.这些信息是教学任务分配所必须的信息,并且课程组、专业、课程与实验名称等都是直接取自数据字典,因此维护起来相当方便.教师信息数据表可能需要经常变动,特别是职称信息,该信息直接关系到教师与课程组的关联度.
4.4 教学任务分配模块
该模块以遗传算法为基础,完成教学任务分配.其算法是以教师在课程组中的重要程度(负责人、职称等)设定教师和课程组的关联度,教师所在专业设定教师和专业的关联度,同时以教师分配课时数和平均课时数的偏差值之和作为课时数均衡性的评价因素,设计遗传算法的适应度函数,而某种分配方案作为染色体,通过染色体之间的杂交、遗传、变异等手段,最终找到近似最优解.该算法已实现,参见文献[1].
用户需要在页面中设定遗传算法的相关参数,如初始种群大小、选择算子、杂交概率、变异概率等.
4.5 信息输出模块
该模块将相关信息以列表的形式导出到页面供用户查看和打印.
5 总结
Web 环境下高校教学任务分配系统使用方便快捷,提高了教务人员的工作效率,简化了工作流程.以遗传算法为指导的教学任务分配算法最大程度地保证了教学质量和教学效果,同时也有利于课程教学队伍的稳定性.该系统经过测试达到了基本使用要求.
[1]宋静.基于课程组的课程与实验任务安排的算法分析与研究[J].安庆师范学院学报(自然科学版),2013(2):61-63.
[2]许令波.深入分析Java Web 技术内幕[M].北京:电子工业出版社,2012.
[3]陈亚辉,缪勇.Struts2+Spring+Hibernate 框架技术与项目实战[M].北京:清华大学出版社,2012.