当前位置:文档之家› 基于web排课系统的设计与实现

基于web排课系统的设计与实现

毕业设计(论文)题目基于WEB的排课系统的设计与实现姓名郑如冰学号**********所在学院管理学院专业班级信息管理2班指导教师胡昌龙日期2006年6月6日目录摘要 (I)Abstract (II)1 综述 (1)1.1 课题背景及意义 (1)1.2 课题研究现状 (1)1.3 发展趋势 (2)2 需求分析 (2)2.1 可行性分析 (2)2.2 系统开发目的 (3)2.3 系统功能及性能要求 (3)2.3.1 对功能的规定 (3)2.3.2 对性能的规定 (4)2.4 组织结构图 (5)2.5 管理业务流程 (5)2.6 系统数据结构图 (6)3 系统设计 (7)3.1 需求规定 (7)3.2 运行环境 (7)3.3 开发语言介绍 (8)3.3.1 系统开发环境介绍 (8)3.3.2 开发语言简介 (8)3.4 基本设计概念和处理流程 (9)3.5 结构 (12)3.5.1 系统的物理结构图 (12)3.5.2 系统模块图 (12)3.6 数据库设计 (13)3.6.1 建立数据库的基本工具 (13)3.6.2 设计原则 (14)3.6.3 系统数据库设计 (14)3.6.4 E-R图数据库设计 (17)3.6.5 关系数据库的逻辑设计 (18)3.6.6 数据结构和程序(模块)关系 (19)3.7 算法设计 (20)3.7.1 排课细节及需求 (20)3.7.2 算法说明 (20)3.8 接口设计 (22)3.8.1 用户接口 (22)3.8.2 内部接口 (23)3.9 运行设计 (24)3.9.1 运行模块组合 (24)3.9.2 网页与模块关系 (25)3.9.3 运行控制 (29)3.9.4 运行时间 (34)4 系统功能说明 (34)4.1 功能分析 (34)4.2 系统功能特点 (35)4.3 系统功能介绍 (35)5 系统出错设计处理 (35)5.1 出错信息 (35)5.2 补救措施 (35)5.3 系统维护设计 (36)6 结论与展望 (37)参考文献 (38)致谢 (39)基于WEB排课系统的设计与实现02信管2班郑如冰指导教师胡昌龙摘要:一所学校为了保证其高水平的教学质量,必须制定一套严密、规范的教学计划,并严格执行。

而课表管理是其中最为关键的一环。

没有一个合理、准确规范的课程表,整个学校的教学秩序将混乱不堪,这是不难想象的。

由此可见课程安排在学校教学计划中的核心地位与重要性。

因此,很有必要对排课表问题进行深入研究。

使用手工或传统的方法来排课,不仅工作量巨大,耗时、耗资,且准确率低。

本文主要研究解决各种教学资源如教室、教师的合理有效利用问题,避免教师、班级在上课时间、地点上的冲突,使排课时间分配均匀。

在算法设计中为排课操作设置了不同的优先级,逐级排课,有效地降低了排课时间冲突的几率,提高了排课的成功率。

另外,系统为教师和教室分别设计了排课级别,从而能够避免教学资源过于集中地使用,实现均衡化利用。

小型自动排课系统只是一种尝试,还有很多不完善的地方,需待日后改进。

关键词:自动排课算法冲突检测Abstract:In order to guarantee its advanced teaching and studying quality, a university must draw up a tight and standard teaching and studying plan. The arrangement of curriculum schedule is one of the key questions. Not having a rational, accurate and normal curriculum schedule, the whole university will not has a well teaching and studying order. This shows the courses arrange is the core of teaching and studying plan. Accordingly, deeply studying the question of curriculum schedule is very necessary. Arranging the courses by hand and traditional ways, we have great work load, cost much time, use up many resources, but the accuracy of curriculum schedule is Low. The main of this paper is solve the proper and defective usage of various teaching resources, such as classrooms, teachers and so on. To avoid the confliction 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 areassigned to the operation of the arranging schedule, making it complished priority by priority, and thus bring down the probability of the confliction 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 to realize the average usage, the system designs the arranging levels of the teacher and the classroom.The proposal of the algorithm is just an attempt, so there are lost of defects, which are to be improved in future.Key words:auto arranging course;algorithm; conflict inspect1 综述随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

因此,在计算机技术越来越普及的今天,市场上也出现了不同版本的排课系统,而这些排课系统又大部分是用传统的Visual basic、Visual Foxpro等语言来开发设计,此类系统有一个共性就是运行的界面单一而且不能发布到网上。

所以在经过各个方面的综合分析后,本人决定用ASP这一目前较为流行的开放式的Web服务器应用程序开发技术。

使用它可以将HTML语言,脚本语言和ActiveX 控件组合一起,产生动态、交互、具有数据库访问功能,且高效率的基于Web的应用程序。

1.1 课题背景及意义在高等院校中,培养学生的主要途径是教学。

在教学活动中,有一系列管理工作。

其中,教学计划的实施是一个重要环节。

每学期管理人员都要整理教学计划,根据教学计划下达教学任务书,然后根据教学任务书编排课程表。

在这些教学调度工作中,既有大量繁琐的数据整理工作,更有严谨思维的脑力劳动。

此外,还要填写大量的表格,因此工作非常繁重。

加之教学的改革,招生人数的增加及教室设备的不足,不但增加了工作的难度,而且要求管理工作更加快速、准确。

为此,人们自然希望用先进的管理手段完成这些工作。

随着计算机技术的普及,办公室自动化的先进管理手段被引进到教学调度工作中。

计算机排课与人工排课有一定区别。

人的思维可以是收敛的,也可以是发散的。

因而排课表时非常灵活,随机性很强,没有严格的工作步骤,随情况而变,觉得怎么合理怎么做。

但计算机就不同,它并不具备人的大脑那样的发散思维能力。

它的“大脑”里的一切信息都是由“数据”组成。

每步工作是由人把人的思维抽象成计算机的语言,通过程序进行控制。

所以用计算机进行排课最大的要领就是要掌握系统软件的设计思想,各种数据间的关系及工作先后顺序等,就是要掌握各种课程的要求如何通过数据传输给计算机,让它领会人的意图,达到预期的目的。

也就是说,计算机排课的关键是数据。

1.2 课题研究现状传统的人工进行排课,最令人担心的问题就是——出现教室资源冲突或教师资源冲突的情况,而且工作繁琐,工作量巨大,尤其是在给大学校园进行排课时出现的问题更多。

市场流行的排课系统很多,这些排课软件在解决排课问题时大多数采用的算法都是回溯算法,排课的效果也都很好。

利用回溯算法解决问题的思路是先选择某一可能的线索进行试探,每一步试探都有多种方式,将每一方式都一一试探,如有问题就返回纠正,反复进行这种试探再返回纠正,直到得出全部符合条件的答案或是问题无解为止。

这种解决问题的方法就是回溯算法。

回溯算法对空间的消耗较少,当其与分枝定界法一起使用时,对于所求解在解答树中层次较深的问题有较好的效果。

但应避免在后继节点可能与前继节点相同的问题中使用,以免产生循环。

回溯算法是所有搜索算法中最为基本的一种算法,其采用了一种“走不通就掉头”思想作为其控制结构,其相当于采用了先根遍历的方法来构造解答树,可用于找解或所有解以及最优解(据了解清华大学制作的一种排课软件主要采用时间模式和并行回溯算法,和此算法基本相同,只是在排课前就已经建立的时间库)。

1.3 发展趋势计算机软件技术应用于学校的课程安排是发展的必然。

充分发挥计算机的优势,将大量复杂的判断与运算交给计算机来做,是真正意义上的人脑的“减负”。

教师设置好学校基本情况及排课要求,让计算机排出课程表,适度调课后的课表就能满意地应用于新的学期。

随着计算机软件技术的不断发展,排课效率高、出错概率低的排课算法也必将会逐渐趋向成熟,功能更加完善的排课系统也将应运而生。

2 需求分析2.1 可行性分析系统可行性研究是系统发展过程中的一项重要的工作,其目的就是订出一套选择标准和一套选择程序及组成一个有效能的决策组织,如此,使用者便能依正确的顺序解决相关的问题。

相关主题