前言
在高校教学管理工作中,学生成绩是教学质量评估、学生学业监测的核心数据。传统 Excel 表格管理或单机版系统常面临数据同步滞后、权限管控缺失、成绩分析低效等问题。为解决这一痛点,我们基于 Spring Boot 3.0 和 MySQL 8.0 构建了一套学生成绩管理系统,实现从需求分析到系统落地的全流程开发。
一、需求分析与规划
1. 功能需求
系统需满足三类核心用户(教学管理员、教师、学生)的差异化需求:
- 教学管理员端:负责用户管理(新增账号、分配权限)、课程管理(创建课程、关联教师)、成绩模板配置(设置平时/期末比例)、数据导出及系统日志查看。
- 教师端:支持成绩录入(批量或单个)、审核锁定、成绩分析(平均分、及格率图表)及学生反馈处理。
- 学生端:提供成绩查询(按学期/课程)、趋势分析、异议申请及官方成绩单下载。
2. 核心模块
系统划分为五个联动模块,职责如下:
| 模块名称 | 核心功能 |
|---|---|
| 用户权限模块 | 账号注册登录、角色权限分配、密码重置、状态管理 |
| 课程管理模块 | 课程信息维护、班级 - 课程 - 教师关联、学期管理 |
| 成绩管理模块 | 成绩录入计算、审核锁定、修改审批、异常标注 |
| 数据统计模块 | 成绩分析、趋势图表生成、报表导出 |
| 消息通知模块 | 录入提醒、审核推送、异议反馈、公告发布 |
二、系统设计与实现
1. 数据库设计
接口设计完成后,推导核心表结构。主要包含用户信息、课程信息、选课关系及成绩记录表。
CREATE TABLE user_info (
user_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '用户唯一标识',
username VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名',
password VARCHAR(255) NOT NULL COMMENT '密码(加密存储)',
user_role ENUM('admin', 'teacher', 'student') NOT NULL COMMENT '用户角色',
status TINYINT DEFAULT 1 COMMENT '用户状态',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME
) COMMENT;
course_info (
course_id AUTO_INCREMENT,
course_name () ,
course_code () ,
teacher_id COMMENT ,
credits ,
status TINYINT ,
create_time DATETIME ,
update_time DATETIME
) COMMENT;
student_course (
relation_id AUTO_INCREMENT,
student_id ,
course_id ,
select_time DATETIME
) COMMENT;
score_record (
score_id AUTO_INCREMENT,
student_id ,
course_id ,
score_type ENUM(, , , ) ,
score_value (,) ,
score_weight (,) ,
is_reviewed TINYINT ,
review_time DATETIME,
reviewer (),
create_time DATETIME ,
update_time DATETIME
) COMMENT;


