活动者1:
用户(管理员),系统的最大使用者,可操作系统的全部功能,即使用系统对全校的班级进行排课,首先获得相应的基本信息(教师信息,班级信息,教室信息,课程信息,课程申请信息,预先课程申请信息),根据基本信
息进行自动排课和手动调课适当性,合理性结合,并对教师的课表和班级的课表进行查询。
活动者2:
用户(学生),作为系统的一般使用者,他们能进行查询和打印课表,并能看到教师、班级、教室、课程基本信息。
学生可以查询自己班级的课表和自己关注的老师的课表;
活动者2:
用户(教师),作为系统的一般使用者,他们能进行查询和打印课表,并能看到教师、班级、教室、课程和课程申请基本信息。
老师可以查询自己的课表,也可查询自己所教的班级的课表。
用况说明:
(1)用况名称:
主界面参与者:
用户(管理员、教师、学生)主要事件流:
用户在这里根据自己的需要选择需要的操作,其中以管理员身份登入的就可选择此界面上的所有功能操作,而以老师和学生身份登入的就只能浏览各个模块的基本信息并可选择查询这个模块。
(2)用况名称:
教师设置参与者:
用户(管理员、教师、学生)主要事件流:
管理人员对教师的基本情况如姓名、职称、学位、住所等进行编辑、添加、删除、查询等操作;教师和学生能够浏览和查询基本信息。
(3)用况名称:
班级设置参与者:
用户(管理员、教师、学生)主要事件流:
管理员对班级的基本情况如班级名称、班级人数、专业、年级等进行编辑、添加、删除、查询等操作;教师和学生能够浏览和查询基本信息。
(4)用况名称:
教室设置参与者:
用户(管理员、教师、学生)主要事件流:
管理员对教室的基本情况如教室名称、教室容量、教室性质等进行编辑、添加、删除、查询等操作;教师和学生能够浏览和查询基本信息。
(5)用况名称:
课程设置参与者:
用户(管理员、教师、学生)主要事件流:
管理员对课程的基本情况如课程名称、课程类别、考核方式、课程性质等进行编辑、添加、删除、查询等操作;教师和学生能够浏览和查询基本信息。
(6)用况名称:
课程申请参与者:
用户(管理员、教师、学生)主要事件流:
管理员对课程的基本情况如课程名称、教师姓名、班级名称、周课数、学分、开始周、周数等进行编辑、添加、删除、查询等操作;教师能够浏览和查询基本信息。
(7)用况名称:
自动排课参与者:
用户(管理员)主要事件流:
管理员在输入教师信息、班级信息和教室信息、课程信息后系统就可根据算法和代码自动的安排各班和各老师的课程表。
(8)用况名称:
手动排课参与者:
用户(管理员)主要事件流:
在自动排课后,教务处的管理人员可调整课表的一些冲突问题如场地冲突、时间冲突等进行改正,或是对某些老师由于特殊情况要课程调动的预先课程申请表进行重新安排。
(9)用况名称:
高级查询参与者:
用户(教务处、教师、学生)主要事件流:
系统的所有默认用户都可使用这个模块查询他们各自关注的课表信息并且打印课表。
用户输入查询的关键字(查询班级课表的可以输入班级名称,查询老师课表的可以输入老师姓名),系统搜索所需的课表,显示课表信息,用户可对课表进行打印。
6.系统的物理结构图
教师
7.系统模块图
以下对系统模块进行大致的介绍:
(1)用户接口模块;
(2)数据库管理模块;
(3)核心功能模块;
1基本信息管理子模块。
该模块包含:
教师设置,教室设置,班级设置,课程设置,课程申请设置。
2系统管理子模块。
该模块包括:
用户界面与系统权限
3排课管理子模块。
该模块包括:
手动课程管理、自动排课管理、手动调节管理、排课异常管理以及班级、教师课表管理5个部分
8.数据库设计
设计原则
要设计出一个好的管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:
(1)基本表的个数越少越好。
(2)主键的个数越少越好。
键是表间连接的工具,主键越少,表间的连接就越简单。
(3)字段的个数越少越好。
(4)所有基本表的设计均应尽量符合第三范式。
在数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。
系统数据库设计
(1)课程信息数据库:
记录课程的基本信息
属性:
(课程名称,课程代码,课程类型,考核方式,课程性质)其中课程
代码唯一标识一门课程,课程类型用来确定课程优先级,而课程性质是课程所需
教室条件的信息,如:
是否需要多媒体。
如表所示:
课程信息表
字段名称
数据类型
字段大小
可否为空
索引
课程名称
文本
10
否
有(无重复)
课程类别
文本
10
否
无
考核方式
文本
10
否
无
课程性质
文本
10
否
无
(2)教师信息数据库:
记录院系教师的基本信息
属性:
(教师姓名,教师代码,职称,学位,住所)其中教师代码唯一标识
一位教师,教师职称和学位确定教师优先级,住所判断老师是否在校外居住,排课时给予一定的优先级。
如表3-2所示:
表教师表
字段名称
数据类型
字段大小
可否为空
索引
教师代码
数字
10
否
有(无重
复)
教师姓名
文本
10
否
有(无重
复)
职称
文本
10
否
无
学位
文本
10
否
无
住所
文本
10
否
无
(3)教室信息数据库:
记录教室的基本信息
属性:
(教室名称,教师代码,教室容量,教室性质)其中教室代码唯一标识一个教室,教室容量和性质分别判断是否与班级和课程性质的相匹配。
如表所
示:
教室表
字段名称
数据类型
字段大
小
可否为空
索引
教室代码
数字
10
否
有(无重复)
教室名称
文本
10
否
有(无重复)
教室容量
数字
10
否
无
教室性质
文本
10
否
无
(4)班级信息数据库:
记录班级的基本信息
属性:
(班级号,班级代码,班级人数,所在专业,所属年级)其中班级代
码唯一标识一个班级,所属年级用来确定该班级有哪些课程。
如表所示:
班级表
字段名称
数据类型
字段大
小
可否为空
索引
班级名称
文本
10
否
有(无重复)
班级人数
数字
10
否
无
所在专业
文本
10
否
无
所在年级
文本
10
否
无
(5)课程申请库:
记录课程申请的基本信息
属性:
(申请代码,班级名称,课程名称,开始周,周学时,教师姓名,学
分,开始周,周数)其中申请代码唯一标识一个申请记录。
如表所示:
课程表
字段名称
数据类型
字段大小
可否为空
索引
申请代码
数字
10
否
有(无重复)
课程名称
文本
10
否
有(无重复)
教师姓名
文本
10
否
有(无重复)
班级名称
文本
10
否
有(无重复)
周课数
数字
10
否
无
学分
数字
10
否
无
开始周
数字
10
否
无
周数
数字
10
否
无
(6)班级和教室课表库:
记录班级和教室的课表信息,按班级和教室生成
相应的课表
(7)密码表库:
记录用户信息和用户相对应的密码,根据用户的身份设置系统的权限,如表所示:
密码表
字段名称
数据类型
字段大小
可否为
空
索引
用户名
文本
10
否
有(无重
复)
密码
文本
10
否
无
E-R图数据库设计
实体和属性的定义:
班级(班级号,学院名,专业名,班级人数)
课程(课程代码,课程名称,学时,学分,所属专业,任课教师编号)
教师(教师编号,姓名,职称,所属系别)
时间(上课时间,教学日,教学周,学期)
9.关系数据库的逻辑设计
(1)导出初始关系模式
班级(班级号,学院名,专业名,班级人数)
学习(班级号,课程代号)
课程(课程代码,课程名称,学时,学分,所属专业,任课教师编号)
教师(教师编号,姓名,职称,住所)
教室(上课地点,容纳人数,是否为多媒体教室)
排列(课程代码,上课地点)
(2)产生