排课毕业设计需求分析草稿Word格式.docx
《排课毕业设计需求分析草稿Word格式.docx》由会员分享,可在线阅读,更多相关《排课毕业设计需求分析草稿Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
(6)一个大学有多少个教师(教师类);
(7)一个大学有多少个教室(教室类);
(8)教师和学生都不能发生课时冲突,即没有教师要同时给两个(或两个以上的)班上课,也没有一个班要同时上两门(或两门以上)不同的课程;
(9)教师和学生合理的不排课时间要求一定要满足;
(10)要求排连堂的课一定要连堂;
(11)主课(大学英语、高等数学、大学物理等)课程排上午,副课(思想道德修养、文献检索等)课程排下午,其它课程在上、下午随机分布;
(12)满足教师教案的周期性,教师备一次课后应在他授课的所有班上都讲授
一遍之后才进入到下一阶段的备课和授课;
(13)尽量避免断点,即不出现一天内前、后节次有课,中间无课的现象;
(14)文、理课(如高等数学和大学英语)相间,以使学生智力得到调整,
提高学习效率;
(15)同一门课一周内在节次上要均匀分布;
(16)排课前考虑老师的时间问题。
张教师一周5天共上20节,则尽可能
安排每天4节课且4节课不连续安排在如1234或5678节等;
(17)排课时还要充分考虑到课程的均匀性问题。
即课程安排尽可能均匀,
英语一周3节,若一周上5天的课,尽量每隔一天安排一次课程;
(18)对于数量巨大的信息,系统仍具有较快的响应速度和较小的系统开支。
3、逻辑设计
整个排课的过程分成一下步骤:
(1)管理员通过教师信息,班级信息,教室信息,课程信息,课程申请信息确定所对应的的教师表,班级表,教室表,课程表以及课程申请表。
(2)管理员首先根据教师预先排课申请表手动确定合适部分课程的时间。
(3)自动排课。
从教师表,班级表,教室表,课程表提取相应信息、寻找合适
的节次进行合理有序的安排。
或者
(2)和(3)颠倒进行。
(4)对确定的课表根据反馈适当性修改,最终确定。
4.系统数据结构图
(1)顶级数据流动图
(2)第二级数据流动图
课表
课表使用者
课表库
5.基本设计概念和处理流程
申户悄隊如
<
'
申由亡曬'
include
活动者1:
用户(管理员),系统的最大使用者,可操作系统的全部功能,即使用系统对全校的班级进行排课,首先获得相应的基本信息(教师信息,班级信息,教室信息,课程信息,课程申请信息,预先课程申请信息),根据基本信
息进行自动排课和手动调课适当性,合理性结合,并对教师的课表和班级的课表进行查询。
活动者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
否
有(无重复)
课程类别
无
考核方式
课程性质
(2)教师信息数据库:
记录院系教师的基本信息
(教师姓名,教师代码,职称,学位,住所)其中教师代码唯一标识
一位教师,教师职称和学位确定教师优先级,住所判断老师是否在校外居住,排课时给予一定的优先级。
如表3-2所示:
表教师表
教师代码
数字
有(无重
复)
教师姓名
职称
学位
住所
(3)教室信息数据库:
记录教室的基本信息
(教室名称,教师代码,教室容量,教室性质)其中教室代码唯一标识一个教室,教室容量和性质分别判断是否与班级和课程性质的相匹配。
如表所
示:
教室表
字段大
小
教室代码
教室名称
教室容量
教室性质
(4)班级信息数据库:
记录班级的基本信息
(班级号,班级代码,班级人数,所在专业,所属年级)其中班级代
码唯一标识一个班级,所属年级用来确定该班级有哪些课程。
班级表
班级名称
班级人数
所在专业
所在年级
(5)课程申请库:
记录课程申请的基本信息
(申请代码,班级名称,课程名称,开始周,周学时,教师姓名,学
分,开始周,周数)其中申请代码唯一标识一个申请记录。
课程表
申请代码
周课数
学分
开始周
周数
(6)班级和教室课表库:
记录班级和教室的课表信息,按班级和教室生成
相应的课表
(7)密码表库:
记录用户信息和用户相对应的密码,根据用户的身份设置系统的权限,如表所示:
密码表
可否为
空
用户名
密码
E-R图数据库设计
实体和属性的定义:
班级(班级号,学院名,专业名,班级人数)
课程(课程代码,课程名称,学时,学分,所属专业,任课教师编号)
教师(教师编号,姓名,职称,所属系别)
时间(上课时间,教学日,教学周,学期)
9.关系数据库的逻辑设计
(1)导出初始关系模式
学习(班级号,课程代号)
教师(教师编号,姓名,职称,住所)
教室(上课地点,容纳人数,是否为多媒体教室)
排列(课程代码,上课地点)
(2)产生