目录
第一阶段:开发前的设置和思考 4
题目要求: 4
需求分析 4
概念结构设计 5
逻辑结构设计 6
实体(红色表示主键) 6
联系(红色表示主键) 6
数据库物理结构设计 6
概览: 6
学生表 7
教师表 7
管理员 7
课程表 8
选课表 8
课程安排表 8
教师授课表 8
课程时间表 9
学期表 9
消息表 9
公告表 9
选课清单表 10
用户登录信息表 10
第二阶段:开发编码调试工作 10
开发环境相关: 10
开发所用技术: 10
源代码目录简介: 10
项目典型代码讲解 12
数据库连接工具类:DB 12
登录Servlet 14
首页初始化Servlet: 18
第三部分:系统演示和说明 21
用户登录 21
学生相关 21
学生首页 21
修改密码 22
选课 22
查看课表 24
查看个人信息 25
联系老师 25
成绩查询 26
教师相关 26
教师首页 26
个人信息维护 26
修改密码 27
申请新课 27
课程评分和修改 27
查看公告 28
查看学生信息 28
授课查看 29
管理员相关 30
管理员首页 30
安排课程 30
添加人员 31
运行控制 31
创建选课清单 32
新课审核 32
学生求助信息 33
发布公告 33
课程信息 34
第四部分:总结与反思 34
第一阶段:开发前的设置和思考
题目要求:
建立一个学生选课系统, 编写应用程序完成系统开发。
1.建立基本表:
学生(学号,姓名,性别,年龄,系别)
课程(课程号,课程名,开课系,任课教师)
学习(学号,课程号,成绩)
2.要求有以下子系统
(1)基本信息查询子系统
要求:能够显示出学生表、课程表、带参数学生详细信息和选课情况
(2)学生、课程信息维护子系统
要求:能够维护学生表和课程表
(3)学生选课子系统
要求:考虑参照完整性以及用户自定义完整性,实现学生选课功能
(4)系统维护
需求分析
1.根据描述,这个系统不仅是选课系统,而是有其他教务管理和信息查询和维护的教务管理系统,选课系统只是这个教务管理系统的一个子系统。
2.使用教务管理系统的用户有三种,一种是学生,一种是任课教师,另外一种损失教务处的老师,可以认为是管理员,所以可以将用户也分为这三种,不同的用户登录到这个系统中要有不同的界面,不同的功能。
3.学生登录后有相关的信息查询和部分信息修改的权限,信息查询包括查询自己的个人信息,(自己的学号,班级,专业,籍贯,政治面貌,邮箱,联系方式等)选课信息(选了哪些课,课程表查看,每门课上课的时间,地点,任课教师,教学周起始等),成绩信息(查看自己的成绩信息,包括课程名称,分数,哪一个学期选修的这门课,任课教师等)。修改权限包括学生部分个人信息的修改(比如学生的联系电话,qq和微信,家庭住址,政治面貌等),在选课阶段修改自己的所选课程信息(在选课阶段,自由的增加选课和取消选课),修改自己的登录密码等。另外,仿照现有教务管理系统,增加私信老师的功能,使得学生可以向老师提交反馈,老师可以根据反馈进行相应的操作,学生可以不用打电话或者到教务处办公室寻求帮助。
4.任课教师登录后功能和学生不同,任课教师可以查看自己现在这个学期教授哪些课程,可以查看这门课的详细教学安排时间表,这门课的上课地点等信息,可以查看选修了这门课的所有学生的信息(教务相关等基本信息,其他私人信息不会看到,另外,只有选修了自己所教授课程的学生的信息老师才可以查看,其他学生的不可以),查看自己的个人信息,和学生一样。任课教师可以修改自己部分的个人信息,修改自己的登录密码,在一个时间范围内给选修了自己课程的学生进行评分以及修改分数等操作,另外,任课教师还可以申请新开一门课程,在得到教务处的允许后方可成为正式的课程。
5.教务处教师登录后的功能比较多,可以审核通过任课教师提出的新课的审核,可以发布系统公告,查看学生的求助并作出相应的处理,可以进行课程的安排,可以创建每个专业的选课清单,可以对每个选课清单进行控制(停止选课和开始选课等),可以添加新的教职工信息和学生信息。
6.所有的信息查看功能都有搜索功能,可以在信息比较多的情况下根据用户输入的学号,工号,专业,以及状态等进行结果的缩减,达到快速检索到信息的目的,支持模糊搜索。