姚孝生,姚兴平
(1.安徽农业大学经济技术学院,安徽合肥230011;2.安徽涉外经济职业学院,安徽合肥230011)
高校自动排课系统研究与应用
姚孝生1,2,姚兴平1,2
(1.安徽农业大学经济技术学院,安徽合肥230011;2.安徽涉外经济职业学院,安徽合肥230011)
在当今这个时代,高校的教育事业在逐渐发展,课程究竟如何去编排将会对对学生能力的培养与文化素养的提高产生影响.学生人数越来越多,排课这项教学工作变的比较麻烦和棘手.每个教学管理者最重要的一项工作就是怎样科学并且合理的编排课程表.课程表是作为一个学校每天教学工作的"指挥表",是教学管理中的重要环节.通过手工去排课,不仅浪费时间和人力,而且用人工方式去编制一份合理可靠并且可以充分利用学校现有资源的课表也是很不容易得一件事.因此非常需要开发一套既合理又方便的高校排课系统.
排课系统;B/S;ASP.NET
人们已经深刻认识到计算机功能的强大.高校排课系统这个软件非常切实可用,对于学校课程管理来说非常重要,很好的展现出了计算机在教学工作中发挥的作用.
学校排课系统克服了传统教育模式所产生的各种缺陷,课程的编排是学校的教学系统中的一个关键环节,是学校教学秩序能够正常进行的最重要的保证.随着学院规模不断扩大,招生数量不断增加,定会导致教师数量增加、新课程的开设以及新教学的设施增设等各种问题的出现.所有的这些都将会增加学校制定课程以及学院各个系负责教学工作人员对课程编排工作的负担,如果负责教学的部门仍然用现有的人工的方式来管理排课,一定会更加加重教学负责人在排课时所承受的负担,如任课教师冲突、课程冲突、随机性不够等等.
自动排课系统一定会使学校的全部课程规划的工作管理显得更为体系化,规范化,程序化,大大提升了处理信息的准确度和速度,并且能够及时、精确、高效的查询和修改课程的情况.
当前来说人为排课实在浪掷了好多人力,物力.在信息化的时代,以计算机作为基础的信息化管理必然会取而代之传统的管理方式.采用自动排课系统已逐渐成为学校治理现代化,科学化的主要标志,它使学校的教学管理工作带来了特别好的的经济以及社会效益.主要体现在:大大提高了课程管理的效率大大减少了每门课程的课程安排过程中流程琐碎、杂乱、长周期滥用的弊病.通过计算机自动排课,使教学管理人员快速掌握整个学校的教学情况,极大的提高了教务管理的工作效率,加快了现代化进程.排课自动生成的系统管理的自动化操作以及信息电子化全面的提高了学校对课程安排的一个管理水平.因此,针对高校管理的特点和要求,我设计并开发了一套切实可用的排课系统.2.系统环境与开发工具的简介
这是基于B/S模式来设计的一套排课系统,前台的开发工具是ASP.NET 2.0,后台数据库的管理工具是SQL Server 2005,开发环境是Microsoft Visual Studio 2005,其Web服务器是IIS 5.1及以上版本.
B/S结构是自WEB出现后的一种网络结构模式,WEB浏览器主要应用在客户端.这类结构模式使得客户端趋于统一,而且使系统功能都集中到服务器上,简化系统的开发、维护和使用.
在客户机上仅仅只需要安设一个浏览器(Browser),比方Netscape Navigator,或者Internet Explorer,服务器安设Oracle、Sybase、Informix或者SQL Server等数据库.B/S架构的模型如图1所示,浏览器是通过Web Server和数据库之间交互.
图1 B/S模式体系结构原理图
B/S结构的优点:维护起来非常容易且方便,仅仅只要改动一下网页,就能使全部的用户可以同步更新.开发不仅简单且有较强的共享性.
页面框架:母版页的特性可以辅助用户建立起统一布局以及外观的页面.主题以及皮肤可以使ASP.NET一次性设置一种服务器控件的外观风格.在应用程序的编译器中,ASP.NET 2.0也提供了几种可供选择的解决方案,从而大大扩展了编译的范围选择,开发人员能够根据具体需要选择.
从排课系统的整体设计来说,系统分析是很重要的.首先在性能方面排课系统是要求在稳定的基础上能够作出快速的反应,操作平台是拿WindowsXP专业版作为标准,硬件的配置是用内存2GB来作为标准.应该将基本信息的添加以及修改部分的反应时间控制在3秒钟以内,查询部分的时间至少应该控制在5秒钟之内,关于课表这一部分的信息最主要的原因是由于工作量比较大,而且处理起来方法很多,因此响应时间相对来说会比较慢,但是在添加以及修改部分响应时间不能够太长.系统总的占用硬盘所需空间尽量不能超过50MB,系统在总的运行过程中所占用的内存不能够过多,并且在功能的运行期间CPU的利用率高达70%以上的时间不能持续时间太久,课程表在数据库的存储中,单条记录最好不要超过0.5KB.
经济可行性是衡量一个正在开发的系统的成本效益的一个指标.这是最关键的可行性分析.我们的目标是以低成本创造高效率.排课系统是通过用计算机来自动的解决各类教学资源在利用上的冲突以及不均衡等问题,使排课时间的分配更加均匀,这就极大的节约了时间且提高了工作效率.减少了了人力、物力和财力的浪费,因此可见,在经济上来说开发此系统是完全可行的.
在对排课系统进行了详细的分析之后,需要对系统的功能模块和数据库进行设计.
3.1 功能设计
排课系统主要是分为四个模块:系统管理模块、用户登录以及密码管理等功能;资源管理模块:完成教师,教室,班级以及课程等基本信息的增添、删除或修改等功能;排课管理模块:包括自动排课管理和手动调课管理两个部分;输出管理模块:按照用户的权限,根据相应的需求,实现了班级、教师和教室的查询和打印输出管理模块:该模块可以实现课程查询,并可打印操作.
3.2 数据库设计
班级课程表是对数据信息的一个集合.最关键的用处都是为了方便人查看对不清楚的条目的诠释,班级课程表的作用也是在软件分析、设计过程中为人提供描述数据的信息.
班级课程表(ClassCourse)
通过一系列的准备工作,已经完成了系统总体设计分析.以下则是对排课系统进行的详细设计,也就是系统实现与应用.
图2 排课主界面
4.1 排课主界面
管理员用户可以通过使用他们的用户名和密码,通过排课系统登陆界面,进入管理员的主界面,能够完成系统设置、排课管理、资源管理和输出管理功能的界面.点击一下某个模块的标志之后,在页面的左侧就会出现这个模块能够完成的一个功能操作,能够通过点击在左侧栏中的相应的功能,在右侧栏就会出现相应的一个操作界面,能够根据自己的需求来信息进行管理.本论文主要是对于管理员的界面中的许多主要功能的实现进行一个详细的介绍.图2表示管理员排课的主界面.
4.2 添加班级功能实现
首先要对表中的一些资源信息进行一个初始化的操作,在数据库中需要分别建立新的班级信息表、课程信息表、教室信息表、教师信息表.然后把数据库中原来所存储的信息都分别要进行查询且要读取到各个新建立的表中,进行初始化自动排课.
接下来对课程表进行组合,先要随机的选择一个课时通过预先定义好的课时表,并且将通过一个变量存储这个课时,之后再对课程进行选择,在新建的课程信息表里随机选择一门课程,同时可以在教师的信息表里选择能够教授这门课的老师,并且依据课时的信息来计算这门课程和已经所选择的课时的适应度,假如适应度可以达到预先定义的那个数值时将可以继续进行下一步,如果没有办法达到适应度,那么就需要再次的随机的选择一门课程而且要将上一次已经选好的记录从新建的课程信息表中给删除.在选择课程与教师之后再对教室进行选择,在新创建的教室信息表里通过使用随机数选择一个教室的信息同时要根据课程信息以及教室的信息来计算适应度,判断该门课程能否在这个教室里进行授课,假如该教室不能满足已经选定的课程的要求,那么将要重新选择教室,而且要在新建立的那张教室信息表里将刚选择过的那条记录给删除.假如适应度能够满足要求,就可以继续的进行下一个阶段,继续所进行的工作是选择上课班级,同样需要通过随机数在暂存的那张班级信息表里选择一个班级,同时和已经选择过的资源信息来对适应程度进行计算,达到一定要求之后,就可以生成一条基本完整的课程表信息,并且存入到课程表中.
教师资源是包括在编教师与每个教师所要教授的课程,以及所上过的课程的一个评价值.同一课程也许会有多名教师可以开课,在资源分配能够允许的状态下,会自然的选择评价值较高的教师来上这门课.时间资源则是指允许可用的一个时间段.除此之外,根据每学期的教学大纲,本学期各个班级(专业)所要上的课程及每个科目一周的课时都要进行预定.同时,我们还必须考虑到不同时间段内的上课效果.适当定义相应的评价系数后,排课问题就相当于优化时间表的问题.
本次系统开发主要是利用计算机来求解学校课表的一个安排问题,设计的结果大体上还是令人比较满意的.在自动排课的编码方案方面,今后可能还要准备考虑更加复杂的课程安排的要求.
〔1〕石俊萍.高校自动排课系统的设计[J].软件导刊,2010(5).
〔2〕陈建平,李坚,令疯,崔振兵,黄春艳.高校自动排课系统核心算法的设计与实现[J].肇庆学院学报,2007(2).
〔3〕王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006.
TP31
:A
:1673-260X(2017)03-0025-02
2016-11-12
安徽省质量工程一般研究项目(2013jyxm500)