智能排课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以智能排课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对排课信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。
在学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。
一、系统功能:系统设置、课程计划、排课管理、课表管理四个模块。
课程维护 对各学科主课、普通课、副课进行设置,课程安排按照主课、副课、普通课的先后顺序进行排课 周课时 年级课时 场所名 系统 设置 学科不排 教师不排 固定课 合并课 连堂课 设置各年级周作息天数、上午课时和下午课时 设置各个年级的各个学科的课时数 录入场所名称和该场所可同时上课的班级数 对全校学科不排课进行设置 对部门教师不排课和教师个人不排课进行设置 对年级固定课进行设置 对教师多个班级合班上课和合班上课的连堂次数进行设定 设置各班级学科的连堂课次数 为班级设置开课信息 教师根据班级开课信息,申请教学岗位 教师任教课程和任教班级的设置 班级开课 课程 教师申请 计划 教师任课 1
自动排课 排课 根据设置条件进行自动排课 对自动排课后的课程进行手动调整 自动排课和手动调课后还不合理的,进行手动录入和课表修改 查询年级、班级教师课表,课表可进行打印和导出 统计出各年级、各学科课表中的课时,统计各部门教师的课表课时 手动调课 管理 课表录入 课表 管理 课表查询 课表统计 二、具体设计目标如下:
(1)界面友好,操作简单,帮您轻松上手。
(2)系统具有灵活、严格的权限设定功能,采用非常周密有效的权限设置,确保学校各类资料的可靠性和保密性,防止错误和违规操作。
(3)智能排课系统,资料详细周到,同窗多页的界面方式让你轻松完成所有工作。 (4)友善的用户界面,让您轻松实现智能排课。 三、数据库设计:
1、课程信息表(Course_Info)
用于存放课程信息,设置记录号Course_No为主键,以便与各排课信息表建立关系,具体字段设置如下: 字段名 Course_No Course_Name Course_Subject Course_Order Course_Grade Course_Semester Course_Nature Course_Type Course_Credits Course_Classhours Course_Theoryhours Course_Practicehours Course_Planehours Course_Weekhours 数据类型 int varchar varchar int varchar int char char int int int int int int 允许为空 不允许 允许 允许 允许 允许 允许 允许 允许 允许 允许 允许 允许 允许 允许 说明 课程编号,主键 课程名称 所属科目 序号 开课年级 开课学期 课程性质 课程类型 课程学分 总学时 理论学时 实验学时 上机学时 周学时 2 Course_Remarks Course_Open text char 允许 允许 课程简介 是否开设 2、班级教学计划表(Teaching_Plan)
班级教学计划是班级开设课程的唯一依据。只要班级教学计划发生变更,班级课程信息须重新设置,以保证班级教学计划与实际开设课程数据对应。
用于存储各班级教学计划,设置记录号Plan_No为主键,以便与各排课信息表建立关联,具体字段设计如下: 列名 Plan_No Course_No Class_No Plan_Year Plan_Semester 数据类型 Int Int Int Vchar(10) Vchar(10) 允许为空 不允许 不允许 不允许 允许 允许 说明 记录编号,主键 课程编号,外键 班级编号,外键 年度 学期 3、工作岗位信息表(Position_Info)
用于存储工作岗位信息,主要分教学岗位和非教学岗位,其中教学岗位来自班级开课计划。设置记录编号Position_No为主键,以便与各排课信息表建立关联,具体字段设置如下: 列名 Position_No Course_No Class_No Department_No Position_Year Position_Semester Position_Name Position_Type Position_Workload Position_Statement Position_State 数据类型 Int Int Int Int Vchar(10) Vchar(10) Vchar(50) Vchar(10) Float Vchar(max) Char(10) 允许为空 不允许 不允许 不允许 不允许 允许 允许 允许 允许 允许 允许 允许 说明 工作编号 课程编号 班级编号 部门编号 学期 年度 岗位名称 岗位类型 工作量 声明 状态 4、教师工作岗位申请表(Application_Info)
用于存储教师课程申请信息,设置记录号Application_No为主键,以便与各排课信息表建立关联,具体字段设计如下:
3
列名 Application_No Position_No Teacher_No Application_State 数据类型 Int Int Int Char(10) 允许为空 不允许 不允许 不允许 允许 说明 记录编号,主键 岗位编号,外键 教师编号,外键 申请状态 5、班级课程信息表(Teaching_Info)
用于存储班级开课信息,设置记录编号Teaching_No为主键,以便与各排课信息表建立关联。其中Teaching_period用于标记排课过程已排课时,其值必须小于等于Course_No制定周课时,通过该值判断是否完成排课。注意:Teaching_Info表中的Teaching_ period仅仅用于排课表。在排课之前务必将其置零,以免排课数据有误。 列名 Teaching _No Class_No Course_No Teacher_No Teaching_Year Teaching_Semester Teaching_LianTang Teaching_Weight Teaching_False Teaching_Must Teaching_ period 数据类型 Int Int Int Int Vchar(10) Vchar(10) Boole Int Vchar(max) Vchar(max) Int 允许为空 不允许 不允许 不允许 不允许 允许 允许 允许 允许 允许 允许 允许 说明 记录编号,主键 班级编号,外键 课程编号,外键 教师编号,外键 年度 学期 是否连堂 权重 不排 必排 已排 6、班级课表信息(CSchedule_Info)
用于存储班级课表信息,设置记录编号CSchedule_No为主键,以便与各排课信息表建立关联,具体字段设计如下: 列名 CSchedule_No Class_No CSchedule_Morning CSchedule_Afternoon CSchedule_Days CSchedule_Info
数据类型 Int Int Int Int Int Vchar(max) 允许为空 不允许 不允许 允许 允许 允许 允许 说明 记录编号,主键 班级编号,外键 上午课时 下午课时 天数 课表信息 4
CSchedule_Early CSchedule_Night CSchedule_Year CSchedule_Semester CSchedule_State Int int Char(10) Char(10) Char(10) 允许 允许 允许 允许 允许 早自习课表 晚自习课表 学年 学期 课表状态 备注:课表信息(CSchedule_Info)保存课程编号Course_No,课程之间用”|”隔开,课程之和=(上午课时+下午课时)*天数。课程位置用序号i表示,可根据课程所处位置判断当前课程在课表的位置。i/days,整数+1表示星期,余数表示当天的第几节课;早自习课表(CSchedule_Early)保存本班级每天早自习值班教师,各教师之间用”|”隔开,人数=天数;晚自习课表(CSchedule_Night)保存本班级每天晚自习值班教师,各教师之间用”|”隔开,人数=天数;
7、教师课表信息(TSchedule_Info)
用于存储教师课表信息,设置记录编号TSchedule_No为主键,以便与各排课信息表建立关联,具体字段设计如下: 列名 TSchedule_No Teacher_No TSchedule_Morning TSchedule_Afternoon TSchedule_Days TSchedule_Info TSchedule_Early TSchedule_Night TSchedule_Year TSchedule_Semester TSchedule_State 四、逻辑设计
整个排课过程必须严格按分以下步骤操作且不可逆。 A) 确定某学期某班级的教学计划; B)根据班级教学计划生成教学岗位; C) 任课教师申请教学岗位;
D) 学校审核、审批教师教学岗位申请;
5
数据类型 Int Int Int Int Int Vchar(max) Int Int Char(10) Char(10) Char(10) 允许为空 不允许 不允许 允许 允许 允许 允许 允许 允许 允许 允许 允许 说明 记录编号,主键 教师编号,外键 上午课时 下午课时 天数 课表信息 早自习课表 晚自习课表 学年 学期 课表状态 E)确定班级开课信息;
F) 根据排课参数,自动或手动排课。 五、操作流程
排课基本参数设置 设置教学计划 根据计划生成 生成教学岗位 同步教务数据 教师待选 申请教学岗位 审核、审批申请 班级开课 确定排课方式 人工智能排课 机器智能排课 生成排课结果 合理性运算 生成排课结果 打印课表 6
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务