049JSP+SQL SERVER 2000高校自动排课系统样本
(样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均根据您的要求,把系统上的开发信息,题目等修改成符合您的要求)
本系统开发工具:JSP +SQL
SERVER2000
本设计包含内容:源代码+毕业论文+开题报告+答辩稿
论文大概:
【摘要】
本文是在参考各种市场上流行的排课软件的基础上尝试性地提出了一种大学排课算法,并开发而成小型自动排课系统。排课问题的研究主要是解决各种教学资源如教室、教师的合理有效利用问题,避免教师、班级在上课时间、地点上的冲突,使排课时间分配均匀。在算法设计中为排课操作设置了不同的优先级,逐级排课,有效地降低了排课时间冲突的几率,提高了排课的成功率。另外,系统为教师和教室分别设计了排课级别,从而能够避免教学资源过于集中地使用,实现均衡化利用。
小型自动排课系统只是一种尝试,还有很多不完善的地方,需待日后改进。
【关键词】自动排课,数据库,课程表,java,jsp
【Abstract】
In this paper,an algorithm for arranging
schedule on the campus is tentatively proposed after consulting
these popular software of the same type in the market,and it has
been tried to developed .The problem of arranging schedule is
largely to solve the proper and effective usage of various teaching
resources,such as classrooms,teachers and so on,to avoid the
conflict on the time or the place of the schedule,and to make the
time produced on the average.In the design of the
algorithm,different priorities are assigned to the operation of the
arranging schedule,make it complished priority by priority,and thus
bring down the probability of the conflict of the time arranging
effectively,increase the probability of the successive arranging.
Moreover, in order to make sure the teaching resources won’t be used
too intensively,and realize the average usage,the system designs the
arranging levels for the teacher and the classroom.
The proposal of the algorithm is just an attempt,so there are lots
of defects,which are to be improved in future.
1 第一章 综述
1.1 1.1 课题背景
1.1.1 1.1.1
现状
传统的人工进行排课,最令人担心的问题就是——出现教室资源冲突或教师资源冲突的情况,而且工作繁琐,工作量巨大,尤其是在给大学校园进行排课时出现的问题更多。市场流行的排课系统很多,比如:相似排课CIS,plsn智能排课系统,正信华课程安排管理系统,排课博士,排课无忧等等,这些排课软件在解决排课问题时大多数采用的算法都是回溯算法,排课的效果也都很好。利用回溯算法解决问题的思路是先选择某一可能的线索进行试探,每一步试探都有多种方式,将每一方式都一一试探,如有问题就返回纠正,反复进行这种试探再返回纠正,直到得出全部符合条件的答案或是问题无解为止。这种解决问题的方法就是回溯法。回溯算法对空间的消耗较少,当其与分枝定界法一起使用时,对于所求解在解答树中层次较深的问题有较好的效果。但应避免在后继节点可能与前继节点相同的问题中使用,以免产生循环。
回溯算法是所有搜索算法中最为基本的一种算法,其采用了一种“走不通就掉头”思想作为其控制结构,其相当于采用了先根遍历的方法来构造解答树,可用于找解或所有解以及最优解(据了解清华大学制作的一种排课软件主要采用时间模式和并行回溯算法,和此算法基本相同,只是在排课前就已经建立的时间库)。
1.1.2 1.1.2
趋势
计算机软件技术应用于学校的课程安排是发展的必然。充分发挥计算机的优势,将大量复杂的判断与运算交给计算机来做,是真正意义上的人脑的“减负”。教师设置好学校基本情况及排课要求,让计算机排出课程表,适度调课后的课表就能满意地应用于新的学期。随着计算机软件技术的不断发展,排课效率高、出错概率低的排课算法也必将会逐渐趋向成熟,功能更加完善的排课系统也将应运而生。
1.2 1.2
本系统特点
小型自动排课系统与目前流行的排课系统不同之处在于排课算法的设计上,本系统没有采用回溯算法,虽然它在实际使用中可能不如已有的各种排课软件,但它是本人在应用程序开发和排课算法设计中的一次尝试,并且在今后我会更进一步对此算法进行修改,使它在排课的效果和效率方面有一定的突破。
它在算法上具有如下特点:
首先,排课时设置了排课优先级:优先级最高的是公共课,因为公共课一般合班上课的班级个数较多,最容易产生时间冲突,优先级次之的是每周平均课时最多的课程,同样,因为平均课时多,选择时间时进行排课冲突的机会就大,最后是总课时最多的课程。
其次,产生的时间是在教师和所有上课的班级共同的空闲时间集合中产生,并且尽量保证时间选择上的均匀性,防止一周几次课集中于某一段时间。
再次,对教师的选择,一方面考虑到教师的时间限制(由教师确定一学期中第几周,每周哪天哪节课没空),另一方面,对教师设置排课级别,随着排课时间的增多,级别值就增大,从而再次被选择排课的几率就减小(此时要求同一门课程有多个教师讲授)。
最后,教室也设置了排课级别,同教师类似,这样便可以保证教室资源会得到合理而均匀有效地利用。
1.2.1
1.2.2
1.2.3 2.1.2
系统功能及性能要求
作为一个完整的数据库系统,其各种功能也要求比较完善,小型自动排课系统的主要功能有:
1.基本信息管理:教师、教室、班级、课程、教学任务等数据的输入、编辑功能;
2.数据处理:自动排课、课表修改、删除功能;
3.数据输出:桌面查询教师、教室、班级课程表,报表打印教师、教室、班级课程表;
4.帮助:指导用户使用该系统及其他相关说明。
分析目前市场上流行的各种排课软件,它们都具有比较完善的功能,但在真正的排课算法上都会有些问题,因为排课算法最关键的问题是如何解决各式各样的冲突。在做需求分析的过程中,通过调查得知目前排课人员对排课算法的主要要求有:
1.
怎样的合班组合能避免冲突?
目前采取的方式是相同或相近的专业的班级组合。
2.
什么地方有空能排课?
对教室和班级而言是查空,对教师而言是有无排课需求。
3.
有两个以上的空哪一个更好?
是要考虑离散和平衡问题。
4.
排课前如何考虑教师宏观利用问题?
如:多媒体大班课:C语言、大物尽量排上午,思想道德修养尽量排下午。
5.对于数量巨大的信息,系统仍具有较快的响应速度和较小的系统开销。
1.2.4 2.1.3
界面要求
在使用计算机的过程当中,人和计算机是以人机界面为媒介传递信息的。界面是否亲切、友好、美观、舒适是用户看待计算机的第一印象,因此在设计界面时具有很多要求,本系统的开发过程中主要考虑了以下几点要求:
1.简单:要求用户界面能够很方便的处理各种基本的对话;
2.术语标准化和一致化:要求使用标准化的专业术语,技术用语符合软件工程规则,并且在输入输出的说明中,统一术语涵义应保持一致;
3.用户界面标准化:用户对操作方式不会感到陌生;
4.拥有完善的帮助功能:要求用户能够通过使用帮助在最短的时间内了解系统的总体概况,并能够进行各种相关操作。
1.3 2.2
数据流图
1.3.1 2.2.1 系统数据流图
1.第0层
图2-1
顶层数据流图
2.第1层
图2-2 基本信息管理数据流图
第三章
1.4 4.3 界面设计
4.3.1
系统主界面