余彬排课系统二稿修改稿.docx
《余彬排课系统二稿修改稿.docx》由会员分享,可在线阅读,更多相关《余彬排课系统二稿修改稿.docx(20页珍藏版)》请在冰点文库上搜索。
![余彬排课系统二稿修改稿.docx](https://file1.bingdoc.com/fileroot1/2023-6/25/7e761fc6-9321-4ac9-90aa-b5396a1a0b78/7e761fc6-9321-4ac9-90aa-b5396a1a0b781.gif)
余彬排课系统二稿修改稿
编号:
10013222006
南阳师范学院2012届毕业生
毕业论文(设计)
题目:
教学排课系统的设计
完成人:
余彬
班级:
2010-20
学制:
2年
专业:
软件工程
指导教师:
王建芳
完成日期:
2012-3-20
目录
摘要3
1综述4
2系统设计4
2.1需求分析4
2.2开发语言简介5
2.3系统功能及性能要求5
2.3.1系统功能介绍5
2.3.2系统模块介绍6
3数据库设计6
3.1系统数据库设计6
3.2接口设计9
3.2.1系统登录9
3.2.3数据处理9
4运行设计11
4.1运行模块组合11
4.2模块设计12
5运行控制17
6系统功能说明19
6.1功能分析19
6.2系统功能特点20
7结论与展望20
参考文献22
Abstract23
基于WEB排课系统的设计与实现
作者:
余彬
指导老师:
王建芳
摘要:
本文主要研究解决各种教学资源如教室、教师的合理有效利用问题,避免教师、班级在上课时间、地点上的冲突,使排课时间分配均匀。
在算法设计中为排课操作设置了不同的优先级,逐级排课,有效地降低了排课时间冲突的几率,提高了排课的成功率。
另外,系统为教师和教室分别设计了排课级别,从而能够避免教学资源过于集中地使用,实现均衡化利用。
关键词:
自动排课;算法;冲突检测
1综述
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
因此,在计算机技术越来越普及的今天,市场上也出现了不同版本的排课系统,而这些排课系统又大部分是用传统的Visualbasic、VisualFoxpro等语言来开发设计,此类系统有一个共性就是运行的界面单一而且不能发布到网上[1]。
所以在经过各个方面的综合分析后,本人决定用ASP这一目前较为流行的开放式的Web服务器应用程序开发技术。
使用它可以将HTML语言,脚本语言和ActiveX控件组合一起,产生动态、交互、具有数据库访问功能,且高效率的基于Web的应用程序。
传统的人工进行排课,最令人担心的问题就是——出现教室资源冲突或教师资源冲突的情况,而且工作繁琐,工作量巨大,尤其是在给大学校园进行排课时出现的问题更多。
利用回溯算法解决问题的思路是先选择某一可能的线索进行试探,每一步试探都有多种方式,将每一方式都一一试探,如有问题就返回纠正。
回溯算法对空间的消耗较少,当其与分枝定界法一起使用时,对于所求解在解答树中层次较深的问题有较好的效果。
但应避免在后继节点可能与前继节点相同的问题中使用,以免产生循环。
2系统设计
2.1需求分析
随着Internet技术的日益发展,Web应用的逐渐普及,本校校园网建设的逐步扩展,对本校的教务管理提出了新的要求,要求实现教务的网络化管理,并且要求教务人员能从繁杂的传统的手动排课中解脱出来,利用计算机自动的安排合理而又实用的课程表,考虑年级、班级、教师、课程、教室等方方面面的因素,合理地利用教室、教师等资源,解决好班级间的时间冲突,给每个班排课时,避免时间、场地冲突等,能够充分考虑到课程的均匀性问题。
2.2开发语言简
ActiveServerPages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的Web服务器应用程序。
使用ASP可以组合HTML页、脚本命令和ActiveX组件以创建交互的Web页和基于Web的功能强大的应用程序[2]。
ASP应用程序很容易开发和修改。
使用ASP进行计算的Web可转化为有形的利益,它使Web供应商能够提供交互的商业应用而不仅仅是发布内容。
2.3系统功能及性能要求
2.3.1系统功能介绍
作为一个完整的数据库系统,其各种功能也要求比较完善,本系统的主要功能有:
(1)系统登入功能:
在系统授权范围内,用户选择各自的用户名,输入密码后登入系统;
(2)基本信息管理:
教师、教室、班级、课程、课程申请等数据的增、删、改、查;
(3)数据处理:
自动排课、教师、教室、班级、课程、课程申请等数据的输入、编辑、修改、删除等功能;
(4)数据输出:
查询教师、班级课程表,打印教师、班级课程表,查询教师、班级、教室课程以及课程申请的基本信息;
(5)系统设置:
对用户权限的设置和密码的更改。
管理员在此可修改各个用户的密码。
在本系统中,普通用户即教师和学生只能浏览、查询和打印基本信息以及查询课表和打印课表,不能添加、删除、修改基本信息并且无权排课、调课和更改密码。
2.3.2系统模块介绍
以下对系统模块进行大致的介绍:
(1)用户接口模块;
(2)数据库管理模块;
(3)核心功能模块;
①基本信息管理子模块。
该模块包含:
教师设置,教室设置,班级设置,课程设置,课程申请设置。
②系统管理子模块。
该模块包括:
用户界面与系统权限。
③排课管理子模块。
该模块包括:
手动课程管理、自动排课管理、手动调节管理、排课异常管理以及班级、教师课表管理5个部分。
:
3数据库设计
3.1系统数据库设计
深入分析后,确定在本系统中将使用以下几个数据表,同时为了便于使用数据,在各个数据表中增加代码属性作为其主码。
(1)课程信息数据库:
记录课程的基本信息
属性:
(课程名称,课程代码,课程类型,考核方式,课程性质)其中课程代码唯一标识一门课程,课程类型用来确定课程优先级,而课程性质是课程所需教室条件的信息,如:
是否需要多媒体。
表1课程信息表
字段名称
数据类型
字段大小
可否为空
索引
课程名称
文本
10
否
有(无重复)
课程类别
文本
10
否
无
考核方式
文本
10
否
无
课程性质
文本
10
否
无
(2)教师信息数据库:
记录院系教师的基本信息
属性:
(教师姓名,教师代码,职称,学位,住所)其中教师代码唯一标识一位教师,教师职称和学位确定教师优先级,住所判断老师是否在校外居住,排课时给予一定的优先级。
表2教师表
字段名称
数据类型
字段大小
可否为空
索引
教师代码
数字
10
否
有(无重复)
教师姓名
文本
10
否
有(无重复)
职称
文本
10
否
无
学位
文本
10
否
无
住所
文本
10
否
无
(3)教室信息数据库:
记录教室的基本信息
属性:
(教室名称,教师代码,教室容量,教室性质)其中教室代码唯一标识一个教室,教室容量和性质分别判断是否与班级和课程性质的相匹配。
表3教室表
字段名称
数据类型
字段大小
可否为空
索引
教室代码
数字
10
否
有(无重复)
教室名称
文本
10
否
有(无重复)
教室容量
数字
10
否
无
教室性质
文本
10
否
无
(4)班级信息数据库:
记录班级的基本信息
属性:
(班级号,班级代码,班级人数,所在专业,所属年级)其中班级代码唯一标识一个班级,所属年级用来确定该班级有哪些课程:
表4班级表
字段名称
数据类型
字段大小
可否为空
索引
班级名称
文本
10
否
有(无重复)
班级人数
数字
10
否
无
所在专业
文本
10
否
无
所在年级
文本
10
否
无
(5)课程申请库:
记录课程申请的基本信息
属性:
(申请代码,班级名称,课程名称,开始周,周学时,教师姓名,学分,开始周,周数)其中申请代码唯一标识一个申请记录:
表5课程表
字段名称
数据类型
字段大小
可否为空
索引
申请代码
数字
10
否
有(无重复)
课程名称
文本
10
否
有(无重复)
教师姓名
文本
10
否
有(无重复)
班级名称
文本
10
否
有(无重复)
周课数
数字
10
否
无
学分
数字
10
否
无
开始周
数字
10
否
无
周数
数字
10
否
无
(6)班级和教室课表库:
记录班级和教室的课表信息,按班级和教室生成相应的课表
(7)密码表库:
记录用户信息和用户相对应的密码,根据用户的身份设置系统的权限:
表6密码表
字段名称
数据类型
字段大小
可否为空
索引
用户名
文本
10
否
有(无重复)
密码
文本
10
否
无
3.2接口设计
3.2.1系统登录
(1)用户:
用户输入需要登入系统的用户名和密码。
系统:
识别密码,根据用户的选择进行相应的操作。
3.2.2基本信息管理
(2)用户:
用户在主界面这个模块中,可以选择单击“教师设置”、“班级设置”、“教室设置”、“课程设置”等进行相关操作。
系统:
根据用户的选择进行超链接。
3.2.3数据处理
(3)用户:
在教师设置、班级设置、教室设置、课程设置、课程申请设置中都会分别设置编辑、删除、修改、查询的超链接,在按钮下面会有以表格形式出现的教师、班级、教室、课程和课程的总体情况的一览表,用户可以分别浏览所有的教师、班级、教室、课程的信息,同时用户还可通过链接对信息进行编辑、修改、删除、查询。
①单击“编辑”后,系统会自动跳到编辑页面,用户可在页面显示的表单中输入要编辑的信息,输入后按“确认”,在一览表中将会看到此信息;
②在单击“修改”按钮后,系统会自动跳到修改页面,页面会显示要修改的记录的所有信息,用户可在表单中选择要修改的信息,输入后按“确认”,在一览表中将会看到修改后的信息;
③在单击“删除”按钮后,系统会自动跳到删除页面,页面会显示要删除的记录的所有信息,用户可直接按“确认”,在一览表中将会看不到此信息;
④在下拉框中选择以何种查询的关键字进行查询,在查询的文本框中输入要查询的信息,并按“确认”,比如,要查询02信管2班的基本信息,可在“班级设置”中选择班级,在文本框中输入“02信管2班”,“确认”后,在一览表中就可出现该班级的所有信息。
系统:
根据用户选择的按钮进行页面的超链接和后台数据库的导入。
(5)用户:
在自动排课这个模块中,用户可点击“自动排课”按钮,系统在导入数据后会自动进行排课。
在自动排课过程中由于排课设置的等因素,有些课未排,或是某些老师要求上课要调整的,用户就可在这个模块中进行课程的二次编排,即用户可点击“手动调课”按钮,在原有的课表上可根据需要调课。
调好课后,还可点击“检测冲突”按钮,检测调好的课程是否有冲突,如果提示有冲突,则继续调课,直到没有冲突为止[3]。
对排好的课表,如果有必要还可以点击“保存”按钮,将课表保存在数据库中。
系统:
自动导入后台数据库,根据算法和代码,生成课表。
(6)用户:
在高级查询这个模块中,在出现的界面的上边有写着“请输入关键字”,在“字段”中选择“班级名称”或“教师姓名”,点“提交”,在页面的下边就会出现该班或老师的课表。
同时在这个模块中,用户在查询到需要的课表后,可对此课表进行打印,只要点击“打印”按钮。
系统:
自动导入数据库,在页面中显示出要查询的课表并连接打印机进行打印。
(7)用户:
在系统权限这个模块中,用户如想修改密码,可在页面出现的表单中进行修改,该页面上会显示“请输入旧密码:
”、“请输入新密码:
”、“请再次输入新密码:
”这三排字,用户只要在对应的方框中分别输入旧密码和新密码后,点“确认”,密码就可修改成功,用户下次登入时就可输入新密码了。
系统:
系统在此就可验证旧密码,进行修改操作。
(8)用户:
用户在登入每个模块后,如想中止操作,都可返回到主界面,然后退出系统,因为在每个模块中都有“返回”的按钮。
系统:
根据用户的选择进行超链接。
4运行设计
4.1运行模块组合
(1)系统登入功能:
系统登入界面模块,系统主功能界面模块。
(2)基本信息管理功能:
教师设置模块,班级设置模块,教室设置模块,课程设置模块,课程申请设置模块。
(3)数据处理功能:
教师设置模块,班级设置模块,教室设置模块,课程设置模块,课程申请模块,自动排课模块。
(4)数据输出功能:
高级查询模块,班级设置模块,教师设置模块,班级设置模块,教室设置模块,课程设置模块,课程申请设置模块。
(5)系统权限功能:
系统权限模块。
本系统中,系统功能所对应的各个模块的关系:
模块
功能
系统登入模块
主界面模块
教师设置模块
班级设置模块
教室设置模块
课程设置模块
课程申请模块
自动排课模块
高级查询模块
系统权限模块
系统登入
●
●
基本信息
●
●
●
●
●
数据处理
●
●
●
●
●
●
●
●
数据输出
●
●
●
●
●
●
●
系统权限
●
其中●表示该项功能对应模块的主要功能。
图1系统功能和模块关系图
4.2模块设计
(1)本系统是以网页排课方式设计,在制作过程中,就需要对整个排课系统的网站架构进行设计:
一级网页 二级网页
图2系统结构图
(2)模块说明
①系统登入模块
与系统登入模块相关的页面就是主页:
图3登录界面
②主界面模块
此模块涉及到的就是主界面这个页面:
图4主界面
③教师设置模块
与教师设置模块相关的页面有教师信息页面、教师信息添加页面、教师信息删除页面、教师信息修改页面:
图5教师信息
④班级设置模块
与班级设置模块相关的页面有班级信息页面、班级信息添加页面、班级信息删除页面、班级信息修改页面:
图6班级
⑤教室设置模块
与教室设置模块相关的页面有教室信息页面、教室信息添加页面、教室信息删除页面、教室信息修改页面:
图7教室
⑥课程设置模块
与课程设置模块相关的页面有课程信息页面、课程信息添加页面、课程信息删除页面、课程信息修改页面:
图8课程
⑦课程申请模块
与课程申请模块相关的页面有课程申请页面、课程申请添加页面、课程申请删除页面、课程申请修改页面:
图9课程申请
⑧自动排课模块
此模块涉及到的就是自动排课这个页面:
图10自动排课
⑨高级查询模块
此模块涉及到的就是高级查询这个页面:
图11高级查询
⑩系统权限模块
此模块涉及到的就是系统权限这个页面:
图12密码修改
5运行控制
在这个部分,本人将分模块来介绍各个部分的运行控制。
(1)系统登入模块:
在这个页面中会有涉及到用户登入的表单
图13
用户在下拉框中选择了用户名,输入了密码点“登入”,在系统验证后,就可进入到主界面,用户输入的密码错误,这时将会出现错误提示框,“您输入的密码有误,请重新输入!
”,用户就得重新输入密码。
(2)主界面模块:
这个模块的功能主要是为用户提供选择的平台,用户需要什么样的操作就点击相关的模块进行链接。
在该页面上会以竖行的形式显示各个链接。
图14
在这个模块中还有“返回”的链接,用户可以在此中断操作。
需要指出的是由于系统对份为老师或学生的用户的操作权限有所限制,所以以老师或学生身份登入的用户就不能选择“自动排课”和“系统权限”这两个模块。
(3)教师设置、班级设置、教室设置模块、课程设置模块、课程申请模块:
这五个模块的功能和页面设置基本相同。
图15
(4)自动排课模块:
这个模块是整个系统的核心部分,代码也是最复杂的,系统的运行是根据代码和算法来一步步进行,需要人工操作的成分不多,用户在主界面模块中点“自动排课”后,系统跳转到此模块的页面,用户在点击“自动排课”按钮后,系统就会自动的排好课表,如果对排好的课表的某些地方不满意,可以进行点击“手动调课”的按钮,之后进行冲突检测,如果系统提示有冲突就根据提示重新调整课程,直到无冲突为止,最后点击“保存”,系统就将排好的课表导入到数据库中:
图16
(5)高级查询模块:
在这个模块中主要提供的是查询功能,用户在文本框中输入了要查询的班级或老师的名称后,系统会调用后台的数据库,在页面下方会自动显示出查询的课表信息,用户还可对课表进行打印。
(6)系统权限模块:
这个模块是提供密码修改的功能用户在按要求输入了密码,按“提交”后,系统就会修改旧密码。
6系统功能说明
6.1功能分析
在查阅了一些关于排课设计的资料以及试用了几种排课软件之后,我认为在本排课系统的需求及排课设计中需要做到以下几个方面:
(1)根据输入的基本信息,进行自动排课,生成课表。
在自动排课完成后,将排课异常信息给予反馈。
(2)手动调节功能。
完全依赖自动排课排出的课表不能完全符合客观需求,同时我们在算法及优先级确定的精确度方面的水平也有限,因此,应该增加手动调节功能,以进一步确保排课的合理性。
(3)冲突检测方法。
主要是针对自动排课和手动调节功能可能出现的冲突情况,完善手动排课。
(4)统一友好性。
排课系统与使用者应具有交互性,可增加排课向导提示用户的使用。
6.2系统功能特点
(1)排课灵活,课表合理:
采用了局部范围内的动态随机加权,排出的课表具有灵活的特点,使用者可以在多次排课中选择自己认为合适的课表。
(2)操作便捷:
提供了易于理解的帮助文档,用户很容易掌握对排课软件的使用。
(3)人性化:
系统界面美观,并提供可选择外观,同时系统具有很强的交互性。
7结论与展望
排课工作是各级学校在校务办公自动化的过程中,最困难的一环,往往受限于许多技术及其它不确定的因素,无法真正形成信息自动化,甚至于造成许多校务行政上的业务吃重。
大专院校的排课作业尤然,其分科较细,教师、时间、教室及学生选课的差异,都加深了排课的困难度。
在此篇论文中,我们把复杂的排课问题转换成数学规划问题,并采用人工智能方法求解规划问题的近似解。
由于排课系统无论是其综合数据,排课知识还是排课推理都具有一个共同特点:
不够确切,具有较大程度的模糊性:
(1)基础数据模糊;如某课程既可分班上也可合班上,这就导致教室占用情况及所需教师人数均为不确定数据。
(2)排课推理原则及推理过程的模糊性,排课过程是一个不断模糊选择推理的过程。
(3)排课结果的模糊性;排课系统的模糊性特点决定了排课系统在知识表达和排课推理的实现上需要采用合适有效的方法。
由于传统的“数据结构+算法=程序”[7]中规则的前提和结论只能包含确切为真或确切为假的命题,不允许出现模糊命题故不能很好地表达排课系统中的模糊性。
这就导致了模型状态空间的复杂性问题,算法的复杂度将随实际系统规模的增大而呈指数性增长。
如果我们在使用排课系统进行排课时,排课算法的各种参数、初始解是基于原有的一些经验上进行设置,这样排课过程中就可以迅速找到满意解,一定程度上降低了算法的复杂度,提高了系统的运行效率。
换句话说就是我们可以在已有的算法基础上,借用专家系统的相关理论知识,使传统的“数据结构+算法=程序”变成了“知识+数据结构+算法=系统”的新型模式[8]。
我们将这个问题作为公开问题,在以后将作进一步的探讨。
参考文献
[1]石志国,王志良.ASP精解案例教程[M].北京:
北方交通大学出版社,2002.
[2]石志国.ASP动态网站编程[M].北京:
清华大学出版社,2001.
[3]王国荣.ASP网页制作教程[M].北京:
人民邮电出版社,2001.
[4]李建梅.新概念DreamweaverMX教程[M].北京:
北京科海电子出版社,2003.
[5]任胜兵,王国军.现代软件工程[M].北京:
清华大学出版社,2002.
[6]张海潘.软件工程导轮[M].北京:
清华大学出版社,2001.
[7]XiaofengQi,FrancescoPalmieri.TheoreticalAnalysisofEvolutionaryAlgorithmswithanInfinitePopulationSizeinContinuousSpace[J].NeuralNetworks,1994,(5).
[8]M.H.Odochertyetc.MultimediaInformationSystemTheManagementandSemanticRetrievalofallElectronicDataType[J].TheComputerjournal,1997,(34)
BasedonWEBrowofclasssystem
YuBin
Abstract:
Inordertoguaranteeitsadvancedteachingandstudyingquality,auniversitymustdrawupatightandstandardteachingandstudyingplan.Thearrangementofcurriculumscheduleisoneofthekeyquestions.Nothavingarational,accurateandnormalcurriculumschedule,thewholeuniversitywillnothasawellteachingandstudyingorder.Thisshowsthecoursesarrangeisthecoreofteachingandstudyingplan.Accordingly,deeplystudyingthequestionofcurriculumscheduleisverynecessary.Arrangingthecoursesbyhandandtraditionalways,wehavegreatworkload,costmuchtime,useupmanyresources,buttheaccuracyofcurriculumscheduleisLow.Themainofthispaperissolvetheproperanddefectiveusageofvariousteachingresources,suchasclassrooms,teachersandsoon.
Keywords:
autoarrangingcourse;algorithm;conflictinspect