排课管理系统建设方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教学排课管理系统建设方案
一、需求分析
1.功能的要求:
(1)系统登入功能:在系统授权范围内,用户选择各自的用户名,输入密码后登入系统;(2)基本信息管理:教师、教室、班级、课程、校历日期、课程申请等数据的增、删、改、查;
(3)数据处理:自动排课、教师、教室、班级、课程、校历日期、课程申请等数据的输入、编辑、修改、删除等功能;
(4)数据输出:查询教师、班级课程表,打印教师、班级课程表,查询教师、班级、教室课程以及课程申请的基本信息;
(5)系统设置:对用户权限的设置和密码的更改。
管理员在此可修改各个用户的密码。
在本系统中,普通用户即教师和学生只能浏览、查询和打印基本信息以及查询课表和打印课表,不能添加、删除、修改基本信息并且无权排课、调课和更改密码。
(6)显示界面:要求教学安排与校历相结合,希望做到当光标放在校历的某个日期上(或者点击某个日期)时,即会显示(或链接)该日期安排上课的教学点及其课程、教师信息。
2.教学排课要求:
(1)教师和学生都不能发生课时冲突,即没有教师要同时给两个(或两个以上的)班上课,也没有一个班要同时上两门(或两门以上)不同的课程;
(2)教师和学生合理的不排课时间要求一定要满足;
(3)要求排连堂的课一定要连堂;
(4)主课(大学英语、高等数学、大学物理等)课程排晚上和双休日期间,副课(思想道德修养、文献检索等)课程排在周一至周五白天期间,其它课程随机分布;
(5)满足教师教案的周期性,教师备一次课后应在他授课的所有班上都讲授一遍之后才进入到下一阶段的备课和授课;
(6)尽量避免断点,即不出现一天内前、后节次有课,中间无课的现象;
(7)文、理课(如高等数学和大学英语)相间,以使学生智力得到调整,提高学习效率;(8)同一门课一周内在节次上要均匀分布;
(9)排课前考虑老师的时间问题。
张教师一周5天共上20节,则尽可能安排每天4节课
且4节课不连续安排在如1234或5678节等;
(10)排课时还要充分考虑到课程的均匀性问题。
即课程安排尽可能均匀,英语一周3节,若一周上5天的课,尽量每隔一天安排一次课程;
(11)排课时要充分考虑到课程对教室的要求,包括是否使用多媒体教室,多媒体教室的类别,上课的学生人数是多少等等。
(12)对于数量巨大的信息,系统仍具有较快的响应速度和较小的系统开支。
3.管理业务流程:
业务流程图
下图是排课系统的业务流程图。
管理员在进行教师、班级、教室、课程、课程申请、校历日期的信息登记汇总后提交到教务处,教务处的工作人员根据这些信息,利用计算机自动排出课表,之后再对有冲突的课程进行调整,使课程安排均匀最后生成正式的课表,再将课表分发到各个班级,并同时在显示界面上达到希望做到当光标放在校历的某个日期上(或者点击某个日期)时,即会显示(或链接)该日期安排上课的教学点及其课程、教师信息的效果。
如图2-2所示:
图1-1 业务流程图
系统数据结构图
(1)顶级数据流动图
图1-2 基本信息管理数据流动图
(2)第二级数据流动图
图1-3 排课数据流动图
二、系统设计
1. 运行服务器环境
适合的环境:Windows 2003 Sever、Windows 2008 Sever等的运行环境并且要安装WEB服务器即IIS信息服务器。
2.系统开发环境介绍
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。
B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript
等)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
目前大多数应用软件系统都是Client/Server形式的两层结构,现在的软件应用系统正在向分布式的Web应用发展;内部的和外部的用户都可以访问新的和现有的应用系统,Web和Client/Server 应用都可以进行同样的业务处理;不同的应用模块共享逻辑组件;通过现有应用系统中的逻辑可以扩展出新的应用系统。
这也就是目前应用系统的发展方向。
随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
3.开发语言简介
Active Server Pages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的Web服务器应用程序。
使用ASP可以组合HTML页、脚本命令和ActiveX组件以创建交互的Web页和基于Web的功能强大的应用程序。
ASP应用程序很容易开发和修改。
使用ASP进行计算的Web可转化为有形的利益,它使Web供应商能够提供交互的商业应用而不仅仅是发布内容。
用ASP访问WEB 数据库时,必须使用ADO组件,ASP与ADO是一种完全的WEB 数据库访问解决方案。
首先浏览器向Web服务器发出请求,服务器会自己解释ASP文件(若不是ASP文件,则会直接下载)中的Script段,而把其余的部分交给用户执行。
若是执行中使用了ADO对象设置的参数来启动对应的ODBC驱动程序,在启动ODBC驱动程序之后,程序可以直接利用ADO对象来访问数据库,或通过ADO对象来发送SQL指令,进而达到存取数据库的目的。
4 基本设计概念和处理流程
系统用况如图3-1所示:
用户(教师和学生)浏览信息
系统用况图
活动者1:用户(教务处),作为系统的最大使用者,可操作系统的全部功能,即使用系统对全校的班级进行排课,可进行基本的信息设置(教师信息设置,班级信息设置,教室信息设置,课程设置,课程申请),根据基本信息进行自动排课和手动调课,并对教师的课
表和班级的课表进行查询,还可对系统的权限进行设置。
活动者2:用户(教师和学生),作为系统的一般使用者,他们能进行查询和浏览,并能看到教师、班级、教室、课程、课程申请的基本信息。
学生可以查询自己班级的课表和自己关注的老师的课表;老师可以查询自己的课表,也可查询自己所教的班级的课表。
用况说明:
(1)用况名称:主界面
参与者:用户(教务处、教师、学生)
主要事件流:
用户在这里根据自己的需要选择需要的操作,其中以教务处身份登入的就可选择此界面上的所有功能操作,而以老师和学生身份登入的就只能浏览各个模块的基本信息并可选择高级查询这个模块。
(2)用况名称:教师设置
参与者:用户(教务处、教师、学生)
主要事件流:
教务处的管理人员对教师的基本情况如姓名、职称、学位、住所等进行编辑、添加、删除、查询等操作;教师和学生能够浏览和查询基本信息。
(3)用况名称:班级设置
参与者:用户(教务处、教师、学生)
主要事件流:
教务处的管理人员对班级的基本情况如班级名称、班级人数、专业、年级等进行编辑、添加、删除、查询等操作;教师和学生能够浏览和查询基本信息。
(4)用况名称:教室设置
参与者:用户(教务处、教师、学生)
主要事件流:
教务处的管理人员对教室的基本情况如教室名称、教室容量、教室性质等进行编辑、添加、删除、查询等操作;教师和学生能够浏览和查询基本信息。
(5)用况名称:课程设置
参与者:用户(教务处、教师、学生)
主要事件流:
教务处的管理人员对课程的基本情况如课程名称、课程类别、考核方式、课程性质等进
行编辑、添加、删除、查询等操作;教师和学生能够浏览和查询基本信息。
(6)用况名称:课程申请设置
参与者:用户(教务处、教师、学生)
主要事件流:
教务处的管理人员对课程的基本情况如课程名称、教师姓名、班级名称、周课数、学分、开始周、周数等进行编辑、添加、删除、查询等操作;教师和学生能够浏览和查询基本信息。
(7)用况名称:自动排课
参与者:用户(教务处)
主要事件流:
教务处的管理人员在输入教师信息、班级信息和教室信息、课程信息后系统就可根据算法和代码自动的安排各班和各老师的课程表,在自动排课后,教务处的管理人员可调整课表的一些冲突问题如场地冲突、时间冲突等进行改正,或是对某些老师由于特殊情况要课程调动的课表进行重新安排。
(8)用况名称:高级查询
参与者:用户(教务处、教师、学生)
主要事件流:
系统的所有默认用户都可使用这个模块查询他们各自关注的课表信息并且打印课表。
用户输入查询的关键字(查询班级课表的可以输入班级名称,查询老师课表的可以输入老师姓名),系统搜索所需的课表,显示课表信息,用户可对课表进行打印。
(9)用况名称:系统权限
参与者:用户(教务处)
主要事件流:
系统管理员可对系统的权限进行设置,用户可对原有的密码进行修改。
教务处在登入系统后可输入旧密码,再二次输入新密码进行密码的修改。
5.结构
2.5.1 系统的物理结构图
图3-2 系统物理结构
2.5.2系统模块
以下对系统模块进行大致的介绍:
(1)用户接口模块;
(2)数据库管理模块;
(3)核心功能模块;
①基本信息管理子模块。
该模块包含:教师设置,教室设置,班级设置,课程设置,课程申请设置。
②系统管理子模块。
该模块包括:用户界面与系统权限。
③排课管理子模块。
该模块包括:手动课程管理、自动排课管理、手动调节管理、排课异常管理以及班级、教师课表管理5个部分。
三、数据库设计(略)
四、系统功能说明
4.1 功能分析
在查阅了一些关于排课设计的资料以及试用了几种排课软件之后,我认为在本排课系统的需求及排课设计中需要做到以下几个方面:
(1)根据输入的基本信息,进行自动排课,生成课表。
在自动排课完成后,将排课异常信息给予反馈。
(2)手动调节功能。
完全依赖自动排课排出的课表不能完全符合客观需求,同时我们在算法及优先级确定的精确度方面的水平也有限,因此,应该增加手动调节功能,以进一步确保排课的合理性。
(3)冲突检测方法。
主要是针对自动排课和手动调节功能可能出现的冲突情况,完善手动排课。
(4)统一友好性。
排课系统与使用者应具有交互性,可增加排课向导提示用户的使用。
4.2 系统功能特点
(1)排课灵活,课表合理:
采用了局部范围内的动态随机加权,排出的课表具有灵活的特点,使用者可以在多次排课中选择自己认为合适的课表。
(2)操作便捷:
提供了易于理解的帮助文档,用户很容易掌握对排课软件的使用。
(3)人性化:
系统界面美观,并提供可选择外观,同时系统具有很强的交互性。
4.3 系统功能介绍
(1)自动排课动能:该功能利用用户提供的课程,教师,教室,班级等信息,对课程做总体的安排。
(2)手动调节功能:该功能用于使用者对已生成课表的调节,使课表更加合理有效。
(3)冲突检测功能:包括自动排课时的动态冲突检测以及课表手动调节时的静态冲突检测。
(4)合班功能:该功能根据用户需要,对一些特殊课程进行特殊安排。
(5)异常管理动能:当前资源无法满足需求时,排课系统将把无法排入的课程放入排课异常管理中。
(6)课表存储功能:该功能用于存储已排课表,将课表保存在数据库中,便于用户使用以及打印。
五、系统调试
完成对流程的编码后,最重要的是对系统的测试工作。
测试在系统设计阶段有两个时期,一个时期是在编码写完每个模块后做单元测试,另一个是对系统做综合测试。
第一、模块测试:在模块测试的时候,设计者从下面几个方面考虑:模块的结构;局
部数据结构;重要执行通道;出错的处理通道;影响上述方面的边界条件。
第二、整体测试:总体测试是组装软件的系统技术,本系统采用渐增集成测试,即测
试单一模块,再将测试完的模块加入到系统中,进行一次系统测试,以此类推将所以模块
加入系统中,在具体测试时,采用自顶向下的结合方式,从主控模块开始,沿各控制层向
下移动,逐渐把所以模块结合。
第三、评估运行可靠性的问题:结果正确;运行速度;空间利用率;算法的可靠性
六、系统经费概算
系统开发费用为100000元。
七、系统开发计划
本系统计划拟计划2011年12月15日-2012年2月15日(因节假日顺延),具体时间安
排计划如下:
系统分析:5天
系统设计(含概念设计、数据库设计):15天
系统程序设计:30天
系统调试:5天
系统试运行:5天。