基于课程分类数量划分的自动排课系统

 2022-01-17 11:01

论文总字数:16759字

目 录

1  引言 2

1.1  开发背景 2

1.2  国内外研究现状 2

2  相关技术介绍 3

2.1  JSP简介 3

2.2  oracle 10g简介 4

2.3  Ajax技术简介 5

3 需求分析 5

3.1 系统的主要功能 5

3.2 排课的约束条件 6

4 系统总体设计 6

4.2  系统功能模块划分 7

4.3  数据库结构的设计 7

5 系统详细设计 8

5.1  登录系统设计 8

5.2  主界面及课表编排设计 8

5.2.1  班级管理设计 8

5.2.2  班级课程处理设计 9

5.2.3  课表生成部分设计 10

5.3  数据表设计 23

5.4  其它模块设计 25

6  系统的实现 25

6.1  调课功能的具体设计 25

6.2  管理与维持 29

1.数据库数据管理 29

2.授权管理 29

7  结论 30

7.1  总结报告 30

7.2  设计心得 30

参 考 文 献 31

基于课程分类数量划分的自动排课系统

缪建祥

摘要:自动排课系统属于数字化校园系统的一部分,它依靠计算机来完成复杂的排课部分,有效的避免了人工排课产生的教师冲突和上课时间冲突。此系统着重介绍自动排课系统的设计构思和实现过程。首先,通过文献资料了解排课算法研究的历史及目前国内外的研究状况,对目前的算法进行详细的研究,从中汲取算法的精华,为课题的算法设计打好坚实的基础,在结合实际情况,以基于贪心算法为主要思想,根据具体的实际情况对算法进行修改与完善,设计出合适的排课算法;其次,参考已经设计完成的排课算法开发相应的排课系统,用面向对象的方法对排课系统进行分析,系统创建时尽量做到用户界面友好,基本功能齐全,操作简单易上手,方便维护,系统采用单机模式,利用Java作为前台开发工具,采用oracle数据库管理系统设计的数据库作为后台,实现系统需求中相应的功能;最后使用该系统实学教室自动排课的功能。

关键词   Java  oracle  自动排课 贪心算法 

Abstract :

Automatic course scheduling system is a part of the digital campus system, which relies on the computer to complete the complex course of the course, and effectively avoid the conflict between the teachers and class time. This system focuses on the design and implementation of automatic course scheduling system. First, through the literature understanding course algorithm research of history and current domestic and foreign research status, for detailed studies on the current algorithm, drawing algorithm from the essence, the subject of algorithms designed for playing a good solid foundation, in combined with the actual situation, based on greedy algorithm as the main idea, according to the actual situation of the algorithm for modification and improvement, design appropriate course scheduling algorithm; Secondly, reference has been designed to complete the row of class algorithm is developed for the corresponding row of class system, oriented object method carries on the analysis to the row of class system, while creating the system as far as possible user friendly interface, complete functions, simple operation and easy to get started, convenient maintenance, the system uses single machine model, using Java as foreground development tool, using Oracle database management system design of the database as a background, to realize the corresponding function in the system requirements. In the end, we use the system practical, automatic timetabling function.

Key words  : Java  ;Oracle  ; Automatic course scheduling;  Greedy algorithms; 

1  引言 

1.1  开发背景 

到了二十一世纪,信息技术的快速发展加快了各行业信息化的趋势,提高了生产效率。对于学校而言,如何在信息化的大背景下,如何提高教学效率,充分满足教务需求,跟上信息化的步伐,是学校不得不面对的重要问题。

在现实的教学应用中,人们想出了各种各样用来解决排课问题的方法,但因为排课问题的过于复杂,至今尚未找到合适的算法来获得NP问题的最优解。因此,如何运用贪心算法与软件相结合来解决排课过程出现的问题具有一定的挑战性[8]。 

过去的手工排课存在许多问题,如效率比较低下、重复劳动较多、分配资源不合理等,产生大量的数据文件,这给后续的许多操作都带来了很多的困难。最让人担忧的问题就是——出现教室或教师资源冲突的情况,而且操作冗余,工作任务繁重,尤其是对大学进行排课时发现的问题更加多,过去的手工排课已无法满足现在的排课需求。 

在学校网络技术不断进步背景下,设计出满足学校教务要求的排课系统显得非常重要。根据了解,排课管理是学校教务处迫切需要解决的高重复率的工作,高安全性、高交互性、处理数据繁琐等是排课系统用人工操作难以解决的问题。 

所以,通过编写算法并结合软件智能完成一个满足各方面需求的排课系统是十分困难的。 

1.2  国内外研究现状 

早在上世纪五十年代末,国外就有人开始研究课程表的编排问题。一九六三年,Gotlieb曾提出一个课表问题的数学模型,但由于排课问题容易被现实情况所影响,得到的结果很难令人满意[7]。上世纪七十年代,美国人S.Even等就已经证明了排课问题是一个NP完全问题,其算法的时间复杂度呈指数增长。S.Even的论证正式确立了排课问题的学术地位,把人们对于排课问题的认识上升到了理论高度[14]。 

在国内,在20世纪80年代初期,国内有研究者开始用从模拟手工排课,当然也有人工智能构建的专家系统等等,具有代表性的有:南京工学院的UTSS(A University Timetable Seheduling System)系统,大连理工大学的智能教学组织管理与课程调度系统等。这些系统大都是模拟手工排课过程,以“班”为单位,运用启发式函数来进行编排的[11]。但是这些排课系统往往只适合于所排院校自身的实际情况,并不适合进行广泛推广。

2  相关技术介绍 

2.1  JSP简介 

JSP应用程序不是单一性程序。在运用Jsp时,要先了解Jsp的原理。响应触发后,用户需要自己来编写各种响应触发事件的代码。 

将数据库数据展现在Jsp上的一般步骤如图2.1-1所示:

 

图2.1-1 Jsp交互图

使用JSP的优点如图2.1-2: 

图2.1-2 Jsp优点图

 2.2  oracle 10g简介 

Oracle 在白皮书上已说明,Oracle 10g数据库关键目标有两个:1 降低管理开销,2 提高性能。

其加强方面如图2.2-1所示:

图2.2-1 oracle加强图

性能与扩展能力如图2.2-2所示:

图2.2-2性能与扩展能力图

2.3  Ajax技术简介 

由于系统里面大部分涉及到数据前后台交互的操作(例如用户,教师,教室,课程,班级等数据的录入,删除,修改)都是通过Ajax技术实现的,所以在这里简单介绍下Ajax的工作原理如图2.3所示:

图2.3 Ajax原理图

Ajax的优点如图2.3-2所示:

 图2.3 Ajax优点图

3 需求分析 

3.1 系统的主要功能  

1 录入学校所有的课,教师,班级,教室的信息。 

2 赋予用户两种权限。可提供给教师,学生进行查询与浏览权限,赋予管理员修改权限。  

3 可以对已经排课好的课程进行主动修改,可以变动课程时间与空间,更加人性化。

4 为各种操作提供了安全验证,提供错误信息提示,保证了数据库信息的安全与系统运行的流畅性与正确性。  

5 用户级别分为普通用户和GM(管理员 )。普通用户如学生,老师只能对相关信息进行查询操作。而对于GM来说可进行操作相对来说就比较丰富了,如(数据的录入、修改与删除,用户的注销等)。用户级别的分辨通过登陆来辨别。

6 通过比较划分类型的课程数量,从而自动选择使用哪种课程分配方法,自动管理课程对应的上课时间段,并且依据每门课程的优先时间段来进行排列(例如:某个班级普通课程只有四大节,由于普通课程优先安排在上午上课,所以安排在周一到周五中随机四天上一节普通课程)。

3.2 排课的约束条件 

在此排课系统,课程主要划分为普通课程和多媒体课程,普通课程优先于多媒体课程。通过课程类型对不同类型的课程使用不同的算法进行排课,可以最大限度的解决许多限制条件。例如教师和教室冲突、班级冲突、教师上课时间等各种各样的约束。同时该系统还能够比较迅速地得到排课结果。

硬性约束性条件:

剩余内容已隐藏,请支付后下载全文,论文总字数:16759字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;