您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 实验室排课系统的设计与实现
实验室排课系统的设计与实现作者计家瑞指导教师赵会洋[摘要]为提高实验室的资源利用率,减轻管理人员的劳动强度,方便学生、实验室管理人员与教师之间的交互和沟通,系统提出了用计算机代替手工排课的方法,设计了一个利用计算机实现实验室排课的系统。通过对手工排课过程的调研与分析,设计出了实验室排课系统的功能结构,在此基础上,给出并利用回溯算法实现了实验室排课及课表的导出与打印等功能。实验结果表明,该方法具有很高的可行性和有效性。[关键词]导出与打印;自动排课;回溯算法1.引言自动排课是在传统人工排课经验的基础之上,利用计算机模拟人脑来选择合适的方案进行排课。许昌学院计算机科学与技术学院计算机机房承担着计算机科学与技术学院、软件学院的教学实验任务,由于近两年来学院的办学规模不断扩大,实验室的建设也在逐步发展。高质量的教学需要高效率的管理支持,随着开放式实验教学管理模式的改革和学院办公信息化项目的推广,传统的实验室人工管理模式已经不能满足我们工作学习的需求,无法有效合理的提高实验室资源的利用率。实验室自动排课系统的实施,不仅可以提高计算机机房的管理水平、教学质量,而且可以使实验室达到高效、有序、网络化的管理。2.系统需求分析排课是高等院校教学管理中一项重要而复杂的工作,自动排课算法是一个NP完全问题,集成了时间、空间的双重约束,从数学上来讲,排课问题是一个在时间、教师、学生和教室四维空间,以教学计划和各种特殊要求(如指定时间、指定教室、排课等级)为制约条件的组合规划问题,其实质是解决各个因素之间的冲突。2.1系统的功能分析本系统的最终用户是学生、教师和管理员,处理要求如下所示。(1)先排有指定要求的课程,指定要求包括指定教室和指定时间、只指定时间没有指定教室、只指定教室没有指定时间,最后对既没有指定时间又没有指定教室的课程进行安排。(2)周五下午不能排课,排课时间为周一至周五,每天上午、下午各两节课,共十八个上课时间段。(3)满足周课时要求。(4)可根据使用用户的不同,将课表分为班级课表、教室课表、教师课表和总课表。(5)管理员可以设置用户权限、用户初始密码及添加、删除用户。(6)可分别将基本信息和课表信息导出到Word或者Excel。(7)可打印基本信息、教学计划和课表信息。(8)设置一个简易留言板,用户可以进行留言,管理员可以对留言板进行管理。(9)不同级别的用户,具有不同级别的用户权限。2.2系统的性能需求(1)系统使用方便、简单,基于实验室排课系统的面向对象是所有使用实验室的教师、学生及实验室管理人员,因此要求系统应该是使用方便、简单且尽量适合不同层次、不同使用习惯的用户使用。(2)系统操作上应该简单、方便、界面简洁美观。(3)系统在结构上应该具有很好的可扩展性,以便于以后的进一步开发和维护。2.3数据库设计数据库的构架是应用系统研制成功的基石,整个系统的操作都是围绕着数据库表进行的,因而如何建立数据库表,每个表应具有哪些项目等,对节省存储内存、减少运算量、简化程序设计等都是非常重要的【1】。本系统建立了数据库表LRS,在LRS数据库表中设立了以下几张表结构,包括教师信息表(teacher)、教室信息表(lab)、班级信息表(class)、课程信息表(course)、任课信息表(lessons)、教学计划表(plan2)、用户信息表(userinfo)、留言信息表(liuyan)、时间表(t_info)、排课单元表(unit)。3.系统总体设计3.1系统功能结构本系统是一个基于WEB的实验室排课系统,它主要包括登陆界面,管理员主界面,教师主界面,学生主界面,登陆时系统会根据使用者角色的不同,系统会进入不同的操作界面,系统总体结构如图1所示。实验室排课系统基本信息管理教学计划管理数据处理自动排课留言板用户管理关于我们教师信息教室信息班级信息课程信息任课信息查询或删除教学计划添加教学计划数据导出与查询打印信息基本信息教学计划课表信息导出到Word导出到Excel基本信息教学计划课表信息班级课表教师课表教室课表总课表自动排课清除排课添加留言查看留言管理留言修改密码管理用户信息帮助技术支持课表信息图1系统结构图3.2排课流程自动排课系统的运行是在基本信息录入完毕之后进行的,基本信息包括教师信息,教室信息,班级信息,课程信息,任课信息,因此在排课之初,需要对基本信息进行正确的录入及处理。进入到自动排课页面,页面首先会提醒用户选择要排课的学年和学期,选择之后单击确定进行排课,单击清除对已经存在的排课信息进行清除。自动排课算法设计的排课流程如图2所示。开始选择学年按排课优先级任课表进行排序查找无冲突的时间、教室和班级查找无冲突的时间和班级插入排课单元(学年、学期、课程、教师、班级、教室、时间)NNNNYYYY是否既指定时间又指定教室是否只指定时间是否只指定教室结束查找无冲突的班级和教室是否已排课选择学期查找无冲突的班级图2排课流程图3.3登录子系统系统设有三级用户:学生用户、教师用户和管理员用户,登录系统时,系统将判断用户身份,根据用户身份的不同进入不同的功能界面。3.4用户管理子系统本子系统的功能根据使用者权限的不同而有所不同。其具体的介绍如下所示。(1)管理员用户:具有最高权限,其可以对各信息进行查看、编辑、删除、添加、导出和打印。另外作为实验室排课系统的最高级别用户,其可以进行自动排课,并能对排课进行清除。(2)教师用户:教师作为教学活动的重要指导者和参与者,其可以对各信息进行查看、编辑、删除、添加、导出和打印。其主要特点是可以根据自身的需要指定教室,指定时间等,以提高排课的有效性。(3)学生用户:学生是教学活动的重要参与者,在该实验室排课系统中,学生用户可以对相关部分信息进行查看、导出和打印,但是对各信息无权修改或者删除。学生用户拥有最低权限。4.系统详细设计4.1母版页设计实验室排课系统是一个基于WEB的系统,名称为LRS。母版页可以极大地简化为站点创建一致外观的任务,ASP.NET2.0提供的母版页功能,为提高工作效率、降低开发和维护强度提供了有利的支持【2】。母版页设计界面如图3所示。图3母版页设计在母版页中添加了Web用户控件top.ascx、menu.ascx、link.ascx、bottom.ascx。(1)用户控件top.ascx用来显示页面顶部的logo、联系管理员、收藏本站、设置主页等内容。(2)用户控件menu.ascx用来显示登录日期以及一些常用的链接。(3)用户控件link.ascx用来显示到许昌学院和百度的友情链接。(4)用户控件bottom.ascx用来显示与本系统有关的一些基本的联系方式。4.2登录页面设计本系统的功能根据使用者的不同而不同,主要有三种用户:学生用户、教师用户和系统管理员。用户登录时系统将判断用户身份,根据使用者的不同进入不同的功能界面。登录界面设计如图4所示。图4登录页面设计4.3管理员用户功能设计管理员用户作为实验室排课系统的最高权限管理者。管理员用户的管理模块主要有基本信息管理模块、教学计划管理模块、自动排课模块、课表信息模块、数据处理模块、留言板、用户管理模块和关于我们模块。(1)基本信息管理基本信息包括教室信息、教师信息、班级信息、课程信息、任课信息,管理员用户可以对此类信息进行查看、编辑、修改、添加或删除,其中教师信息管理界面如图5所示。图5教师信息管理页面(2)教学计划管理教学计划是实验室排课的重要依据,管理员用户可以对教学计划进行查询、添加和删除。(3)自动排课自动排课是实验室排课系统的核心,是系统开发和研究的关键所在。系统根据用户输入的教室、教师、班级、课程、任课、教学计划等信息,对各课程进行自动排课,并生成排课单元unit表。管理员可以选择要进行排课的学年、学期,单击“确定”开始排课,如果排课单元unit表中已经存在该学年学期的课程安排则显示提示信息,提醒用户此学年学期的课程已经安排过,否则进行排课,成功后提示用户排课成功信息。当基本信息发生更改后,管理员需要对课程进行重新安排,此时单击“清除”则可以对排课单元中已经存在的各信息进行清除。(4)课表信息根据课表使用者的不同,可以把课表分为教师课程表、班级课程表、教室课程表、总课表,其中教师课表如图6所示。图6教师课表(5)数据处理数据处理部分主要是对基本信息、教学计划信息和各课表信息进行的导出或打印等操作,其中导出包括导出到Word和Excel。教学计划导出与打印页面如图7所示。图7教学计划导出与打印页面(6)留言板实验室作为教学活动的一个特殊地点,对教学活动的正常进行起着不可或缺的作用,但实验室经常会遇见设备损坏或者由于用户使用不当而照成的软硬件不能正常运行等问题,此类问题单靠管理人员发现后再维护耗时长且不便,因此在这里设立留言板的作用不仅仅是为了给用户提供了一个交流平台,更重要的是提供一个用户将需求及设备现状反馈给管理员的途径。管理员可以添加留言信息、查看留言信息、修改或者删除留言信息。(7)用户管理考虑到参与实验室排课系统人员的特殊性,在此系统中没有新用户注册功能,以防止非法用户窃取教务信息。管理员用户在用户管理模块拥有的功能包括自身密码的修改和管理用户信息,在管理用户信息中,管理员可以对用户的用户名、密码进行修改,并可以通过修改用户的角色达到修改用户权限的目的。(8)关于我们为了提高系统的可操作性,系统创建了一个关于我们模块,主要是为用户提供系统相关信息。4.4教师用户功能设计教师用户可以对基本信息进行修改、删除或者添加,但是不能进行自动排课、管理用户信息、教学计划和留言信息,除此之外,教师用户几乎拥有管理员的所有的权限。与管理员用户相比,教师用户具有的权限功能如表1所示。表1教师用户与管理员用户权限对比表基本信息管理教学计划管理自动排课课表信息数据处理留言板用户管理关于我们管理员※※※※※※※※教师※★※※★★※注:※代表用户拥有该模块的所有操作权限,★代表用户拥有该模块的部分操作权限,不做标注的代表用户没有此模块的任何权限,如教师用户在教学计划管理模块只能对教学计划进行查询,而不能对教学计划进行添加或删除。4.5学生用户功能设计学生用户在实验室自动排课系统中拥有的权限级别最低,可以对部分基本信息、教学计划信息进行查看,但不能对其进行添加、修改或删除操作,与管理员用户相比,学生用户具有的权限功能如表2所示。表2学生用户与管理员用户权限对比表基本信息管理教学计划管理自动排课课表信息数据处理留言板用户管理关于我们管理员※※※※※※※※学生★★★★★★※注:※代表用户拥有该模块的所有操作权限,★代表用户拥有该模块的部分操作权限,不做标注的代表用户没有此模块的任何权限,如学生用户在基本信息管理模块只能查看基本信息,而不能对基本信息进行添加、修改或删除。5系统总结本文通过对实验室排课问题的研究与分析,设计了一种基于B/S架构的实验室排课系统,在排课的前置作业中,教师用户可以结合自身排课的需求,指定教室、时间,另外基于Web使得排课作业协调、课程安排以及系统维护都能在网络的任一地方进行,不再受限于特定机器或地点。虽然系统的完成有了一定的成果,但是碍于笔者自身知识的局限性和自动排课问题规模大、约束复杂等特点,本系统还有很多需要改进的地方,如得到的课表的适应度低且算法复杂,没有考虑到合班问题,没有考虑人工调整课表问题。系统实现了实验室的自动排课功能,为实验室自动排课提供了有利的支持,下一步的工作将致力于算法的改进与实现手动调整上,从而提高系统的实用性。参考文献[1]段德亮,余健,张仁才等.C#课程设计案例精编[M].北京:清华大学出版社,2008.1~3[2]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2007.117[3]李纯莲,刘玉宝.C#使用开发教程[M].北京:北京交通大学出版社,2008.220~245[4]张泊平.现代软件工程[M].北京:北京交通大学出版社,2009.08[5]王小科,梁冰,吕双等.C#开发典型模块大全[M].北京:人民邮电出版社,2009.27~52[6]丁士锋.C#实
本文标题:实验室排课系统的设计与实现
链接地址:https://www.777doc.com/doc-6353811 .html