基于Jsp和MySQL实现的学生信息管理系统
一、开发背景
-
软件名称 :学生成绩管理系统(SSMS)
-
使用对象 :小学、初中、高中
二、需求分析
2.1 系统分析
该学生信息管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程的学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生的成绩。
管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程的学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩;学生可以查看班级其他同学的信息(可以看成是班级的同学录)。
考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩。成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。
2.1.1 系统功能菜单
2.1.1 管理员功能菜单
- 学生信息管理
- 学生列表
- 教师信息管理
- 教师列表
- 班级信息管理
- 班级列表
- 年级列表
- 课程信息管理
- 课程列表
- 成绩统计分析
- 考试列表
- 系统管理
- 修改密码
- 系统设置
- 退出系统
2.1.1 学生功能菜单
- 班级信息
- 班级通讯录
- 教学管理
- 成绩查询
- 系统管理
- 个人信息
- 修改密码
- 退出系统
2.1.1 教师功能菜单
- 教师信息
- 教师通讯录
- 教学管理
- 成绩登记
- 考试统计
- 系统管理
- 个人信息
- 修改密码
- 退出系统
三、系统设计
3.1 类对象设计
系统用户(user)
字段 | 类型 | 注释 |
---|---|---|
id | int | ID |
account | String | 账号(学生和老师的学号即为账号) |
password | String | 密码 |
type | int | 账号类型(1 为管理员,2 为学生,3 为老师) |
学生(Student)
字段 | 类型 | 注释 |
---|---|---|
id | int | ID |
number | String | 学号 |
name | String | 姓名 |
sex | String | 性别 |
phone | String | 电话 |
String | ||
photo | String | 照片路径 |
clazz | Clazz | 学生所在班级 |
老师(Teacher)
字段 | 类型 | 注释 |
---|---|---|
id | int | ID |
number | String | 工号 |
name | String | 姓名 |
sex | String | 性别 |
phone | String | 电话 |
String | ||
photo | String | 照片路径 |
courseList |
List
|
所选课程集合 |
课程(Course)
字段 | 类型 | 注释 |
---|---|---|
id | int | ID 值 |
name | String | 课程名称 |
年级(Grade)
字段 | 类型 | 注释 |
---|---|---|
id | int | ID 值 |
name | String | 年级名称 |
clazzList |
List
|
该年级下的班级 |
courseList |
List
|
该年级的课程集合 |
studentList |
List
|
该年级下的学生集合 |
班级(Clazz)
字段 | 类型 | 注释 |
---|---|---|
id | int | ID |
name | String | 班级名称 |
grade | Grade | 年级 |
studentList |
List
|
班级的学生集合 |
考试(Exam)
字段 | 类型 | 注释 |
---|---|---|
id | int | ID |
name | String | 考试名称 |
time | Date | 考试时间 |
remark | String | 备注 |
grade | Grade | 年级 |
clazz | Clazz | 班级(平时考试涉及到某个班级,统考则为所有班级) |
type | int | 考试类型,默认 1(1 为年级统考,2 为平时考试) |
考试成绩(EScore)
字段 | 类型 | 注释 |
---|---|---|
id | int | 记录的 id 值 |
exam | Exam | 考试 |
clazz | Clazz | 班级 |
course | Course | 课程 |
student | Student | 学生 |
score | int | 该门课程的成绩 |
3.2 数据表设计
系统用户表(user)
字段名 | 类型 | 是否主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | 是 | 否 | 主键值 |
account | varchar(30) | 否,不能重复,管理员账号,教师工号,或学生学号 | 账号 | |
password | varchar(30) | 否 | 密码 | |
name | varchar(20) | 用户姓名 | ||
type | tinyint | 否 | 用户类型,默认 2(1 为管理员,2 为学生,3 为老师) |
学生表(student)
字段名 | 类型 | 是否主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | 是 | 否 | 主键值 |
number | varchar(20) | 学号 | ||
name | varchar(20) | 姓名 | ||
sex | varchar(4) | 性别 | ||
phone | varchar(20) | 电话 | ||
varchar(20) | ||||
photo | varchar(200) | 照片路径 | ||
clazzid | int | 外键(班级 ID) | 班级 ID |
教师表(teacher)
字段名 | 类型 | 是否主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | 是 | 否 | 主键值 |
number | varchar(20) | 工号 | ||
name | varchar(20) | 姓名 | ||
sex | varchar(4) | 性别 | ||
phone | varchar(20) | 电话 | ||
varchar(20) | ||||
photo | varchar(200) | 照片路径 |
课程表(course)
字段名 | 类型 | 是否主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | 是 | 否 | 主键值 |
name | varchar(50) | 否 | 课程名称 |
年级(grade)
字段名 | 类型 | 是否主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | 是 | 否 | 主键值 |
name | varchar(50) | 否 | 课程名称 |
班级(clazz)
字段名 | 类型 | 是否主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | 是 | 否 | 主键值 |
name | varchar(50) | 否 | 课程名称 | |
gradeid | int | 外键(年级 ID) | 年级 ID |
年级-课程(grade_course)
字段名 | 类型 | 是否主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | 是 | 否 | 主键值 |
gradeid | int | 外键(年级 ID) | 年级 ID | |
courseid | int | 外键(课程 ID) | 课程 ID |
班级-课程-老师(clazz_course_teacher)
字段名 | 类型 | 是否主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | 是 | 否 | 主键值 |
clazzid | int | 外键(clazz.id) | 班级 ID | |
courseid | int | 外键(grade_course.cid) | 课程 ID | |
teacherid | int | 外键(teacher.id) | 教师 ID |
考试表(exam)
字段名 | 类型 | 是否主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | 是 | 否 | 主键值 |
name | varchar(50) | 考试名称 | ||
time | Date | 考试时间 | ||
remark | varchar(200) | 备注 | ||
type | tinyint(1) | 考试类型,默认 1(1 为年级统考,2 为平时考试) | ||
gradeid | int | 外键(grade.id) | 年级 ID | |
clazzid | int | 外键(clazz.id) | 班级 ID |
考试成绩表(escore)
字段名 | 类型 | 是否主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | 是 | 否 | 主键值 |
examid | int | 外键(exam.id) | 考试 ID | |
studentid | int | 外键(student.id) | 学生 ID | |
clazzid | int | 外键(clazz.id) | 班级 ID | |
courseid | int | 外键(grade_course.id) | 课程 ID | |
score | int | 默认 0 | 成绩 |
四、开发环境
- 系统环境 :Windows
- 开发工具 :Eclipse
- Java 版本 :JDK 1.7
- 服务器 :Tomcat 7.0
- 数据库 :MySQL 5.1
- 系统采用技术 :Servlet+Jsp+Jdbc+H-ui+EasyUI+jQuery+Ajax+ 面向接口编程
五、项目截图
5.1 学生
修改密码
个人信息
学生界面
学生通讯录
成绩查询
5.2 教师
个人信息
成绩登记
成绩统计
教师界面
教师通讯录
5.3 管理员
学生列表
年级列表
成绩统计
教师列表
添加一次考试
班级列表
管理员界面
系统设置
考试列表
课程列表
参考文献
- 高校学生管理信息系统的设计与实现(吉林大学·付雅琴)
- 基于JSP的学生就业信息管理系统设计与实现(吉林大学·马骁)
- 学生综合信息管理平台的设计与实现(吉林大学·刘铁刚)
- 四川文理学院学生管理系统的设计与实现(电子科技大学·贺建英)
- 基于B/S模式和JSP技术的教师办公管理系统的设计与实现(华东师范大学·包子建)
- 基于J2EE的远程网络教育系统研究与实现(电子科技大学·陈南荪)
- 校园网内容管理系统的设计与实现(电子科技大学·蔡群英)
- 校园网内容管理系统的设计与实现(电子科技大学·蔡群英)
- 基于Java技术的学生管理系统研究(电子科技大学·王舒颖)
- 基于J2EE的远程网络教育系统研究与实现(电子科技大学·陈南荪)
- 高校学生管理信息系统的设计与实现(吉林大学·付雅琴)
- 基于B/S结构的学校管理信息系统的研究与开发(四川大学·徐永红)
- 基于J2EE的高校学生基本信息分布式系统的设计(中国海洋大学·冯川)
- 学生管理信息系统的设计与实现(华南理工大学·刘珂)
- 四川文理学院学生管理系统的设计与实现(电子科技大学·贺建英)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设向导 ,原文地址:https://bishedaima.com/yuanma/35410.html