表和班级的课表进行查询,还可对系统的权限进行设置。
活动者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天