案例分析CASEANALYSIS排课系统TimetableSystem1系统简介课程的安排是学校教学系统中的一个重要环节,是维护学校教学秩序正常进行的重要保证。随着在校学生的增多,课程类别的多样化,学生选课的自由度增加,使得课程的安排工作日益复杂和繁琐,所以学校课程安排的合理与否直接体现了教务部门的工作效率和学校的教学质量。课表在整个学校的教务管理越来越显示其重要的地位和核心的作用。由于计算机具有运算速度快、处理能力强等特点,已经成为在教学工作每时每刻离不开的工具,用计算机代替手工排课势在必行。目前使用计算机进行自动排课,可以使教务管理人员迅速掌握全校教学情况,提高教务管理工作的效率,加快其现代化进程,可看出加强学校的课程安排工作对学校教务管理工作具有非常重要的意义。所以,研究高效率、灵活强、自动化程度较高的自动智能排课系统,不仅在高校的教学管理工作中具有重要意义,也是新时代教育背景下和实行学分制方案下的迫切需求。1.1排课系统目的随着网络技术的不断发展,利用网络进行多媒体教学和先进管理,使日常教学与管理得到了蓬勃的发展。在开发项目过程主要适应高校目前以学分制为主的教学改革需求下,使得各学院、教学单位及教务处通过校园网进行各种教学活动和管理,从而很大程度上提高办公的效率和质量。使得更好的适应高校信息化建设的步伐,顺应网络应用教学管理、教学监控等多方面的需求,开发的通用性基于校园网网络教学管理平台,可以使教务人员、教师、学生在任何一台连接校园网的计算机完成大量的各项教学活动和任务。目的在于,为学校提供基于Web的教学和管理方式;实现网络化管理学校硬件资源(教学环境和教学设施)和软件资源(教职工、学生);实现网络管理有利于学校日常教学管理活动(排课、学生选课、考试安排、成绩查询、学生评教等)。1.2现状分析高校的课表安排是一项十分繁重而复杂的工作,它涉及几十甚至上百个专业、几百门课程、几百名教师的合理安排。然而教、实验室等资源又有限,更给排课增加了难度。在整个排课过程中,自始至终充满了冲突,其中包括上课班级、所开课程、任课教师、上课时间、上课地点等5个方面在排列组合中所发生的冲突与矛盾。班级多、课程门类多、教师少、教室少是发生冲突和矛盾的重要因素。为了减轻劳动强度,提高工作效率,人们自然想到利用计算机来解决排课问题。1.3系统目标高校排课系统的目的是利用计算机处理技术对高校排课问题进行高效准确的解决。由于其是“高校教务管理系统”这一综合项目的子项目。排课系统的设计必需建立在对排课流程的详细分析的基础之上。由于各学校自身情况、采用的教学模式(学分制或学年制)的不同,导致各学校排课流程存在差异,以大学为分析对象,设计出适合学分制模式下的高校排课算法。2系统需求分析高校排课系统的目的是利用计算机处理技术对高校排课问题进行高效准确的解决。由于其是“高校教务管理系统”这一综合项目的子项目。排课系统的设计必需建立在对排课流程的详细分析的基础之上。2.1业务流程分析大学排课工作的基本流程如图1所示。2.1.1教务处工作流程教务处根据各年级、各专业的培养方案,学生人数结合考虑课程性质向各个学院下达教学任务书,明确这学期的教学要求。教学任务书中要明确所要开设的课程、应开设班级数目(班别)、课程开设的校区等信息。其中,某课程应开设的班级数,是由要选修该课程的学生总数及该课程的参考容量决定的,各学院可以根据自身情况对其进行调整。教务处工作流程如图2所示。2.1.2学院工作流程教学任务书下达到各学院后,各学院根据自身教师情况,可以适当调整教学任务书中某课程的开课班级数及班级容量。然后,在教学任务书中为每门课程的每个班添加老师,以及该课程对教室的要求,这样形成的信息称之为课元信息。同时学院的老师可以向教务处提交特殊时间要求,如星期三下午,信息学院领导因工作会议,不能安排上课。学院工作流程如图3所示。2.1.3排课流程各学院把课元信息提交给教务处,教务处根据全校教师情况,教室资源情况,老师的特殊要求利用排课系统排出预排课表,学生根据预排课表选课,教务处在学生选课后,根据各个选课班的人数,撤销人数小于15人(特殊课程除外)的选课班。课程表包括全校总课程表、学生课程表、教师课程表和教室课程表。课程表由教务处编制,不得随意变动。如因特殊情况调整,须按学校有关规定办理手续,并由教务处下达调课通知。执行流程如图4所示。2.1.4大学排课总流程排课工作开始后,教务处根据各年级各专业培养方案、各年级各专业学生人数、课程性质,生成教学任务书,其包括要开设的课程名称、该课程要开设的班级数(班别)、校区等信息。教学任务书下达到各学院后,学院根据自身教师情况,修改某些课程的班级数目及相应的班级容量,之后为教学任务书添加老师,并提出课程对教室的要求,及学院老师对上课时间的要求(如某个时间段不能安排课程),这样就形成了课元信息。学院再将课元信息提交教务处,教务处根据教师情况,教室资源情况,教师的特殊要求利用排课系统排出预排课表,学生根据预排课表选课,教务处在学生选课后,根据各个选课班的人数,撤销人数小于巧的选课班。教务处可以根据具体情况调整课程表,并下达调课通知。执行流程如图5所示。排课总流程2.1.5排课约束条件排课问题中,主要任务是将班级、教师、课程安排在一周内某一不发生冲突的时间和教室,保证课表在时间的分配上符合一切共性(时间上不存在冲突)和个性(不与老师的特殊时间要求冲突)的要求,在此基础上,使其安排在各个目标上尽量达到最优。3系统需求分析对排课系统需求分析,主要包括确定系统角色、建立用例模型和用户界面原型设计。从功能上看,排课系统可以分为六个子模块:系统管理、原始数据管理、教室管理、教学任务管理、排课管理、课表管理。3.1功能需求描述(l)能适合学分制对排课的要求,以单个学生作为上课的对象;(2)自动排课:对于普通课程和有特殊要求或者特殊形式的课程,可以处理;(3)手工排课:根据实际需要,进行部分课程的人工排课,并在手工排程中提供冲突检测功能辅助人工排课:(4)可以生成任意班级的上课课表;(5)可以生成任意任课教师的上课课表;(6)可以生成任意任课教室的上课课表;(7)提供用户(教师、学生和教室管理者等)查询课表接口;(8)权限设置:出于对数据安全、数据修改、方便维护和查询等考虑,置不同操作者的系统使用权限;(9)可以形成报表,并能以其它格式进行输出。3.2用例分析可以创建系统管理员、教师、学生和教室管理员四个参与者,在确定好角色的基础上,设计出排课系统的总用例图如图6所示。(1)系统管理实现对用户及其权限的管理。为了确保数据库的安全,为不同的用户提供不同的操作权限。权限不同的用户对数据库的操作范围不同,对于一些权限低的用户,甚至没有处理数据库的权力。用户管理功能的用例图如图所示。用户管理主要是系统中的用户进行管理,可以进行新建、删除、编辑、禁止等操作,其中修改密码功能不但超级管理员能够进行,且普通用户可以进行修改自己的密码操作。用户管理用例的描述。(2)原始数据管理包括数据库设置、学年学期设置、导入数据。(1)数据库设置:用来配置和测试数据库,首先选择数据库的身份验证类型,包括windows身份验证和SQLserver验证,然后输入必要的服务器名称或者地址,数据库名称,用户名及密码等信息,之后可以测试数据库是否配置正确,把正确的配置记录下来。(2)学年学期设置:设置当前要处理和安排的课程是哪个学年和学期的。(3)导入数据:首先,检查所需数据库表是否存在。这些数据库表是要处理的数据来源。然后,创建所需的新数据库表。这些数据库表是要处理的数据的存放地。如果表不存在就创建,存在就不创建。最后,从源数据库表中导入数据到目标数据库表中。导入新数据和更新旧数据。(3)教室管理包括添加、修改、查询、删除教室。在原始的教务管理管理系统中没有教室的管理,为了完成排课新增加了这个子系统。(4)教学任务管理包括设定学期要求、设定校区、设定教学方式。(l)学期要求:可以设定课程安排在前半学期,后半学期,全学期,或者没有前后学期的要求。(2)校区设定:设定课程在哪个校区,可以指定校本部校区,医学院校区。(3)教学方式:设定教学方式,包括传统教学,多媒体教学。(5)排课管理包括排课初始化、自动排课、手工排课三项。(l)排课初始化(包括教室初始化、自动排课初始化、手工排课初始化和设定课程优先级)。初始化教室使用情况。对所有课程,开始排课之前需要初始化教室使用情况。还有学期,多媒体教学,课程优先级等方面的数据需要转换。同时完成教学任务表中课程排课状态的设定。对于自动排课,开始排课之前需要初始化教室使用情况。还有学期,多媒体教学,课程优先级等方面的数据需要转换。同时完成教学任务表中课程排课状态的设定。排课管理对于手工排课,开始排课之前需要初始化教室使用情况。还有学期,多媒体教学,课程优先级等方面的数据需要转换。同时完成教学任务表中课程排课状态的设定。设定优先级共有三种方案。第一种方案:根据课程的学时数,多媒体教学要求,前后学期要求来确定课程的优先级。出现冲突的时候,优先安排学时多,多媒体教学,指定前后学期的班级。第二种方案:根据选课学生人数来确定课程的优先级。出现冲突的时候,优先安排学生多的班级,学生少的班级可能安排不上。第三种方案:前两种方式综合在一起。(2)自动排课:前提是已经导入数据,并且已经初始化。然后自动排课。(3)手工处理:包括取消已经排好的课程,安排没有排好的课程。改变起始周和结束周,冲突检测,查看排课失败的原因。(6)课表管理包括学生课表、教师课表、教室课表、各学院教师课表、总课表的管理。对于这些课表都有查看,导出Excel和打印功能。(1)学生课表可以按照学号或姓名查询。(2)教室课表可以按照编号或名称查询。(3)教师课表按照教师编号或姓名查询。(4)各学院教师课表可以按照学院一次性导出某个学院的所有教师的课表,并且可以打印。(5)总课表显示所有教室的所有课程课表。3.3动态行为模型动态模型描述系统随时间变化的行为,这些行为通过从静态视图中抽取的系统瞬间值的变化来描述。在详细描述用例时,是从用户角度出发的,没有涉及系统内部。通过分析得到了满足系统需求的类以后,就可以根据用例驱动的思想,用这些类之间的交互来“实现”用例。顺序图能更好的说明对象问的交互顺序,有利于理解系统,因此用顺序图来描述主要用例的“实现”。(1)班级课表生成顺序图(2)查看课表顺序图3.4非功能性需求非功能性需求主要规定了系统必须满足的服务水平、系统非运行时间的属性以及系统必须遵守的约束。它不会直接系统功能,但在用户和系统支持人员对系统的认可方面具有很大的影响。其主要包括系统的约定于假设条件,系统地可用性、可靠性、性能、扩展性、可支持性、系统接口。3.4.1安全可靠性系统应能准确、安全、可靠的运行,具备较强的操作弹性能力,保证数据一致性,确保排课的顺利进行。另外,系统中的许多基础信息是学校教学管理中的重要基础信息,为了确保这些信息不被改变或破坏,为系统设计三级安全体系。第一级管理员身份验证第二级操作员身份验证第三级普通用户身份验证针对不同的使用者角色,分配不同的使用权限,以便最大程度地保证数据库中基础数据的安全。3.4.2操作灵活性系统要具有友好的人机界面,要求简单、明了、提示性强,采用友好的图形界面引导教务人员完成整个排课工作。整个系统界面风格要求统一、层次清楚、方便用户使用。3.4.3可维护性和可扩展性在系统使用环境发生某些情况的改变下,系统要能够迅速使用这种变化,而不需要对系统进行大的调整。比如后台数据库的升级问题,如果系统数据库从一种数据库更换为另一种数据库,那么系统的内部应该不能进行大的调整就能使用这种变化。4系统设计高校排课系统是一个系统管理、原始数据管理、教室管理、教学任务管理、排课管理、课表管理等业务的管理系统。系统架构必须从各方面满足实际需求,这是架构的设计目标。