目录
第一章 系统需求简介 4
1.1需求分析 4
1.2 数据结构需求分析 4
1.3系统功能设计 5
第二章 需求描述 8
2.1 数据流图 8
2.2 数据字典 9
第三章 概念设计 10
3.1 实体 10
3.2 系统全局E-R图 11
3.3 概念数据模型设计 12
第四章 逻辑设计 13
4.1 ER图到关系模式的转换 13
4.2 各个数据表的表结构设计 13
第五章 物理设计 15
5.1 数据库软件 15
5.2 创建数据表 15
第六章 处理数据 18
6.1 数据需求 18
6.2 读取数据 18
6.3 处理数据 19
6.4 制作Sql语句 22
第七章 智能排课算法 28
7.1 排课要求 28
7.2 准备工作 28
7.3 遗传算法 30
7.4 适应度函数 32
7.5 排课效果 33
第八章 系统实现 35
8.1 登陆界面 35
8.2 学生界面 35
8.2.1 学生个人信息界面 35
8.2.2 学生个人课表界面 36
8.2.3 学生选课界面 36
8.2.4 学生退课界面 37
8.2.5 学生查看成绩界面 37
8.3 教师界面 37
8.3.1 教师信息界面 37
8.3.2 任教课程和调课系统界面 37
8.3.3 课程学生名单界面 38
8.3.4 登分、排分系统界面 38
8.4 系主任界面 39
8.4.1 查看所有学生界面 39
8.4.2 班级成绩、专业成绩排序 39
8.4.3 查看所有老师 40
8.4.4 查看所有课程 40
8.4.5 查看所有班级课程表 42
第九章 附录 45
9.1 遗传算法代码 45
9.2 数据库连接、增删改代码 53
9.3 前端设计代码 55
9.4 执行代码 55
第一章系统需求简介
1.1需求分析
实现一个具体的课程管理系统。按照软件工程思路设计简化的专业课数据库,尽量模拟现有专业课程一个学期的选课排课原型实际情况。(注:本系统由本人单独设计、开发完成)
1.2 数据结构需求分析
课程管理系统需要完成功能主要有:
(1) 学生基本信息的查询,学生可以对本人的系统登陆密码进行修改。
(2) 学生定制专属课表,可以查看整个学期本人的课程安排,包括课程名称、上课时间、上课地点、任课老师、学分等等。
(3) 学生可以进行选课,专业必修课程系统会提前帮助学生们选上。
(4) 学生可以进行退课,专业必修课程不允许退课。
(5) 学生可以查看自己选上的课的成绩,以及各个课程的得分、绩点,并给出其平均绩点,但不允许查看年级其他人的成绩。
(6) 任课教师基本信息的查询,老师可以对本人的系统登陆密码进行修改。
(7) 任课教师可以查看本人所任教课程信息,包括课程名称、上课时间、上课地点、上课班级等等。
(8) 任课教师可以对其任教课程进行调课,调课在全部课程时间无冲突下可以成功调课。
(9) 任课教师可以查看其教的每一个课程的学生名单。
(10) 任课教师可以对其教的课程的学生进行登分以及修改分数。
(11) 任课教师可以对其任教的班级成绩进行排序。
(12) 系主任拥有包括以上所有任课教师所拥有权限,以及以下的额外权限。
(13) 系主任可以查看整个系的全部学生以及他们的平均绩点,可以对每个班进行排名,或者也可以对整个系进行排名。
(14) 系主任可以查看整个系的任教教师名单,以及他们所负责的课程数目。
(15) 系主任可以查看整个学期所开设的所有课程,包括这些课程的全部详细信息。
(16) 系主任可以查看每个班的课程安排表。
1.3系统功能设计
课程管理系统主要分为三个客户端登陆,分别是学生、任课教师和系主任,每个客户端的功能是不同的。这三个客户端的登陆拥有自己的功能实现。下面三个图分别是三个客户端的功能模块图。