论文部分内容阅读
[摘 要]:学校排课在教育管理系统中是一项非常重要和复杂的管理工作,自动排课是计算机应用于学校管理的重要內容。教务排课系统属于数字化校园系统的一部分。它依靠计算机来完成复杂的排课部分,避免了手工排课产生的老师上课时间冲突和教室冲突。
本系统用的前台开发语言是ASP,SQL SERVER做后台数据库。本文重点介绍排课系统的发展趋势、特点及性能要求。
[关键词]:发展趋势;系统特点;性能要求;开发工具
一 排课系统的发展趋势
计算机软件技术应用于学校的课程安排是发展的必然。充分发挥计算机的优势,将大量复杂的判断与运算交给计算机来做,是真正意义上的人脑的“减负”。教师设置好学校基本情况及排课要求,让计算机排出课程表,监测冲突,适度调课后的课表就能满意地应用于新的学期。随着计算机软件技术的不断发展,排课效率高、出错概率低的排课算法也必将会逐渐趋向成熟,功能更加完善的排课系统也将应运而生。
二 系统特点
本教务排课系统是依据本校的网上选排课需求进行设计的。由于在算法上存在难题,且排课问题本身就是组合优化问题里面的一个非常难的问题,所以我们开发的这个系统只是对自动排课算法进行一个初步的研究,目前没有很好的解决办法,以至于没有一个比较理想的近似算法,本教务排课系统主要做的是让排课者手动排课,然后检测、避免这种排课的冲突(其核心是一个存储过程DetectArrangeCollision),在进行选课时,这里也要检测和避免这种实际中可以遇见的冲突(其核心也是用一个存储过程DetectSelectCollision来实现的)。在这套排课系统功能的设计上,教务排课系统可以分为登录,排课和选课3个子系统。登录子系统区分排课者,教师和学生这三者的不同身份,给出不同的权限,在页面中根据身份判断其相应具有的功能来使用这套系统,排课子系统主要供排课者使用,排课者可以在这里进行一切与排课有关的活动,比如添加学生、教师、教室,选择课程信息等;选课系统主要供学生选课使用,在这里可以进行与选课有关的活动。教师可在教师反馈系统中和排课者进行交流,对排课者提出反馈意见,供排课者在排课时可参考使用。
三 求分析与系统分析
需求分析是设计数据库系统的起点,它的分析结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用,它的基本任务是回答“系统必须做什么”的问题。至此,本阶段的主要任务有明确系统的开发目的,分析系统功能的具体要求。
1 系统开发目的
对于每个学校来说,每到一个新学期的开始,首先要做的就是如何为该学期安排合理而又实用的课程表,而课程安排又涉及年级、班级、教师、课程,教室等方方面面的因素,如何合理地利用教室、教师等资源。如何解决好合班时班级间的时间冲突,给每个班排课时,如何避免时间、场地冲突等,排课时还要充分考虑到课程的均匀性(即课程安排尽可能均匀,如英语一周3节,若一周上5天的话尽可能每隔一天安排一节课)和教师授课的均匀性(如张教师一周5天共上15节,则尽可能安排每天3节课,且3节课不连续安排在如123或234节等)。
教务排课系统主要完成基本信息管理、数据处理、数据输出等功能,由于排课算法复杂,而对于海量的数据,算法要求更高,再加上本人能力和时间的限制,本系统设计只是检测冲突,人工解决,因此可以说只是一种试用模型。
2 系统功能及性能要求
作为一个完整的数据库系统,其各种功能也要求比较完善,本排课系统的主要功能有:
1)基本信息管理:教师,教室,学生,课程、教学任务等数据的输入、编辑功能;
2)数据处理:手动排课、冲突检测、课表修改,删除功能、基本数据的查询、浏览等;
3)数据输出:查询教师、教室、课程、学生课程表;
分析目前市场上流行的各种排课软件,它们都具有比较完善的功能,但在真正的排课算法上都会有些问题,因为排课算法最关键的问题是如何解决各式各样的冲突,在做需求分析的过程中,通过调查得知目前排课人员对排课算法的主要要求有:
1)怎样的合班组才能避免冲突?
目前采取的方式是相同或相近的专业的班级组合。
2)什么地方有空能排课?
对教室和班级而言是查询为空,对教师而言是有无排课需求。
3)有两个以上的空哪一个更好?
是要考虑离散和平衡问题。
4)排课前如何考虑教师宏观利用问题?
如:多媒体大班课:C语言,大学物理尽量排上午,思想道德修养尽量排下午。
5)对于数量巨大的信息,系统仍具有较快的响应速度和较小的系统开销。
6)系统要容易维护和升级。
四、前台页面设计开发工具介绍
1 LASP简介
ASP是Active Server Pages(动态服务器主页)的缩写,它是一个服务器端的脚本环境,在站点的w曲服务器上解释脚本,可产生并执行动态,交互式、高效率的站点服务器应用程序。ASP可以胜任基于微软web服务的各种动态数据发布。
2 ASP的工作原理和配置
当用户申请一个*.asp主页时,Web服务器响应HTTP请求,调用ASP引擎,解释被申请文件,当遇到任何与ActiveX Scripting兼容的脚本(如VBScrlDt和Jscript)时,ASP引擎会调用相应的脚本引擎进行处理。若脚本指令中含有访问数据库的请求,就通过ODBC与后台数据库相连,由数据库访问组件执行访问数据库操作。ASP脚本是在服务器端解释执行的,它依据访问数据库的结果集自动生成符合HTML语言的主页,去响应用户的请求,所有相关的发布工作由Web服务器负责。
结论
系统的许多问题都是靠自己看书、实践摸索出来的,加之本人水平有限,只介绍了系统功能,性能要求及开发工具,但随着计算机技术的迅速发展,更先进的技术总是在不断出现,该系统也会不断改进。
本系统用的前台开发语言是ASP,SQL SERVER做后台数据库。本文重点介绍排课系统的发展趋势、特点及性能要求。
[关键词]:发展趋势;系统特点;性能要求;开发工具
一 排课系统的发展趋势
计算机软件技术应用于学校的课程安排是发展的必然。充分发挥计算机的优势,将大量复杂的判断与运算交给计算机来做,是真正意义上的人脑的“减负”。教师设置好学校基本情况及排课要求,让计算机排出课程表,监测冲突,适度调课后的课表就能满意地应用于新的学期。随着计算机软件技术的不断发展,排课效率高、出错概率低的排课算法也必将会逐渐趋向成熟,功能更加完善的排课系统也将应运而生。
二 系统特点
本教务排课系统是依据本校的网上选排课需求进行设计的。由于在算法上存在难题,且排课问题本身就是组合优化问题里面的一个非常难的问题,所以我们开发的这个系统只是对自动排课算法进行一个初步的研究,目前没有很好的解决办法,以至于没有一个比较理想的近似算法,本教务排课系统主要做的是让排课者手动排课,然后检测、避免这种排课的冲突(其核心是一个存储过程DetectArrangeCollision),在进行选课时,这里也要检测和避免这种实际中可以遇见的冲突(其核心也是用一个存储过程DetectSelectCollision来实现的)。在这套排课系统功能的设计上,教务排课系统可以分为登录,排课和选课3个子系统。登录子系统区分排课者,教师和学生这三者的不同身份,给出不同的权限,在页面中根据身份判断其相应具有的功能来使用这套系统,排课子系统主要供排课者使用,排课者可以在这里进行一切与排课有关的活动,比如添加学生、教师、教室,选择课程信息等;选课系统主要供学生选课使用,在这里可以进行与选课有关的活动。教师可在教师反馈系统中和排课者进行交流,对排课者提出反馈意见,供排课者在排课时可参考使用。
三 求分析与系统分析
需求分析是设计数据库系统的起点,它的分析结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用,它的基本任务是回答“系统必须做什么”的问题。至此,本阶段的主要任务有明确系统的开发目的,分析系统功能的具体要求。
1 系统开发目的
对于每个学校来说,每到一个新学期的开始,首先要做的就是如何为该学期安排合理而又实用的课程表,而课程安排又涉及年级、班级、教师、课程,教室等方方面面的因素,如何合理地利用教室、教师等资源。如何解决好合班时班级间的时间冲突,给每个班排课时,如何避免时间、场地冲突等,排课时还要充分考虑到课程的均匀性(即课程安排尽可能均匀,如英语一周3节,若一周上5天的话尽可能每隔一天安排一节课)和教师授课的均匀性(如张教师一周5天共上15节,则尽可能安排每天3节课,且3节课不连续安排在如123或234节等)。
教务排课系统主要完成基本信息管理、数据处理、数据输出等功能,由于排课算法复杂,而对于海量的数据,算法要求更高,再加上本人能力和时间的限制,本系统设计只是检测冲突,人工解决,因此可以说只是一种试用模型。
2 系统功能及性能要求
作为一个完整的数据库系统,其各种功能也要求比较完善,本排课系统的主要功能有:
1)基本信息管理:教师,教室,学生,课程、教学任务等数据的输入、编辑功能;
2)数据处理:手动排课、冲突检测、课表修改,删除功能、基本数据的查询、浏览等;
3)数据输出:查询教师、教室、课程、学生课程表;
分析目前市场上流行的各种排课软件,它们都具有比较完善的功能,但在真正的排课算法上都会有些问题,因为排课算法最关键的问题是如何解决各式各样的冲突,在做需求分析的过程中,通过调查得知目前排课人员对排课算法的主要要求有:
1)怎样的合班组才能避免冲突?
目前采取的方式是相同或相近的专业的班级组合。
2)什么地方有空能排课?
对教室和班级而言是查询为空,对教师而言是有无排课需求。
3)有两个以上的空哪一个更好?
是要考虑离散和平衡问题。
4)排课前如何考虑教师宏观利用问题?
如:多媒体大班课:C语言,大学物理尽量排上午,思想道德修养尽量排下午。
5)对于数量巨大的信息,系统仍具有较快的响应速度和较小的系统开销。
6)系统要容易维护和升级。
四、前台页面设计开发工具介绍
1 LASP简介
ASP是Active Server Pages(动态服务器主页)的缩写,它是一个服务器端的脚本环境,在站点的w曲服务器上解释脚本,可产生并执行动态,交互式、高效率的站点服务器应用程序。ASP可以胜任基于微软web服务的各种动态数据发布。
2 ASP的工作原理和配置
当用户申请一个*.asp主页时,Web服务器响应HTTP请求,调用ASP引擎,解释被申请文件,当遇到任何与ActiveX Scripting兼容的脚本(如VBScrlDt和Jscript)时,ASP引擎会调用相应的脚本引擎进行处理。若脚本指令中含有访问数据库的请求,就通过ODBC与后台数据库相连,由数据库访问组件执行访问数据库操作。ASP脚本是在服务器端解释执行的,它依据访问数据库的结果集自动生成符合HTML语言的主页,去响应用户的请求,所有相关的发布工作由Web服务器负责。
结论
系统的许多问题都是靠自己看书、实践摸索出来的,加之本人水平有限,只介绍了系统功能,性能要求及开发工具,但随着计算机技术的迅速发展,更先进的技术总是在不断出现,该系统也会不断改进。