🔥 毕设别再做"增删改查"了!我用 DeepSeek AI 把学生管理系统做成了导师眼前一亮的样子


📌 写在前面:又到一年毕业季,你是不是还在纠结毕设选题?做个学生管理系统太普通,做个商城太烂大街,做个 AI 项目又怕 hold 不住。本文分享我的毕业设计——一个不止 CRUD 的智能学生信息管理系统。看完你会发现:原来把"传统系统 + 大模型"玩出花样,答辩现场直接能让导师点头三连。


一、这个项目,究竟和普通的学生管理系统差在哪?

先一句话概括:Spring Boot + Vue 2 前后端分离 + DeepSeek 大语言模型集成 + PC 端/移动端双端

别人的学生管理系统通常是这样的:

  • ✅ 新增学生、修改学生、删除学生、查询学生
  • ✅ 成绩录入、列表展示
  • ✅ 加个登录,然后就没了…

我的这个系统,在此基础上做了三件事:

功能 传统系统 我的系统
成绩管理 只是查看和录入 AI 预测下次成绩趋势 + 学习建议
选课 只是展示可选课程 根据历史成绩推荐最匹配的选修课
考勤 只是记录出勤 AI 异常模式识别 + 预警等级
架构 只有 PC 网页 PC 端 Element UI + 移动端 Vant UI 双端
代码质量 大段手写 SQL Spring Data JPA + DTO + 全局异常处理

简单说就是:别人在做 CRUD,我在做 CRUD + AI + 双端 + 工程化。 答辩现场一打开 AI 预测页面,导师的眼神瞬间就不一样了。
在这里插入图片描述在这里插入图片描述


二、技术全景图

2.1 技术栈总览

┌────────────────────────────────────────────────────┐
│                      前端层                          │
│  ┌──────────────┐          ┌──────────────────┐    │
│  │  PC 端        │          │  移动端          │    │
│  │  Vue 2.7     │          │  Vue 2.7         │    │
│  │  Element UI   │          │  Vant UI         │    │
│  │  Vue Router   │          │  Vue Router      │    │
│  └──────┬───────┘          └────────┬─────────┘    │
└─────────┼───────────────────────────┼──────────────┘
          │       Axios (HTTP)         │
          ▼                            ▼
┌────────────────────────────────────────────────────┐
│                      后端层                          │
│  ┌─────────────────────────────────────────────┐  │
│  │  Spring Boot 2.7.x  +  Spring Security      │  │
│  │  Spring Data JPA  +  MySQL 8.0              │  │
│  │  Lombok  +  Validation  +  RestTemplate     │  │
│  └────────────────┬────────────────────────────┘  │
└───────────────────┼────────────────────────────────┘
                    │
                    ▼
┌────────────────────────────────────────────────────┐
│                   AI 服务层 (DeepSeek)              │
│  ┌──────────────────────────────────────────────┐ │
│  │  成绩预测  │  课程推荐  │  考勤异常分析      │ │
│  │  Prompt Engineering + JSON 结构化解析       │ │
│  │  API 降级容错 (Fallback) 机制               │ │
│  └──────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────┘

2.2 后端核心技术亮点

  • Spring Boot 2.7.x:成熟稳定,毕设答辩最常用的框架版本
  • Spring Security:基于角色的权限控制,区分管理员和普通用户
  • Spring Data JPA:告别手写 SQL,Repository 层清爽整洁
  • Lombok@Builder@Data 一把梭,POJO 行数骤减 60%
  • DTO 分层设计:Request / Response 分离,杜绝实体泄露到前端
  • 全局异常处理器:业务异常统一抛出 BusinessException,由 @RestControllerAdvice 兜底
  • AI 降级容错:当 DeepSeek API 超时或 Key 失效时,自动切换到本地模拟数据,系统不会挂掉 —— 这是答辩时能救你命的设计!

2.3 前端亮点

  • PC 端:Vue 2 + Element UI,经典后台管理系统布局(侧边栏 + 顶部导航 + 内容区)
  • 移动端:Vue 2 + Vant UI,同样的 API,不一样的 UI 组件,实现了真正的一套后端、两套前端
  • Axios 统一封装:基础 URL、请求头、错误拦截统一管理

三、最拿得出手的部分:三大 AI 智能功能

这是整个项目的灵魂,也是答辩时最能吹的部分。下面放核心逻辑和效果。

3.1 AI 成绩预测

场景:老师想知道某学生下一次考试大概会考多少分、有没有薄弱科目。

核心思路是把学生历史成绩 + 当前课程信息拼装成 Prompt,喂给 DeepSeek,让 LLM 输出一个结构化的 JSON 结果:

学生姓名:张小明
预测课程:高等数学
历史成绩:85, 78, 92, 70, 88

请输出JSON格式结果,包含predictedScore、confidence、trend、suggestion。

AI 返回的结果示例:

{
  "predictedScore": 86.5,
  "confidence": 92,
  "trend": "上升",
  "suggestion": "学生高等数学整体表现良好,建议重点复习极限与积分章节。"
}

后端用 Jackson 解析后封装成 AiScorePredictionResponse,直接返回给前端页面展示。页面上会显示:预测分数 86.5 | 置信度 92% | 趋势:上升 ↗

3.2 AI 智能课程推荐

场景:学生不知道该选修什么课,系统根据历史成绩推荐匹配度最高的课程。

Prompt 设计:

学生姓名:李华
已修课程及成绩:大学物理:85; 英语:72; 程序设计:91
可选课程:数据结构(学分:4); 人工智能(学分:3); 概率论(学分:3) ...

请推荐最多5门课程,输出JSON:recommendations[courseName, matchRate, reason]

前端页面以卡片形式展示推荐课程和匹配度,学生一眼就能看到**“数据结构 匹配度 94%”** 这种直观结果。

3.3 AI 考勤异常分析

场景:辅导员想知道哪些学生有出勤问题,以及问题出在哪。

Prompt 设计:

学生姓名:王强
总课次数:40
出勤次数:32
考勤详情:出勤:32次,缺勤:5次,迟到:3次

请输出JSON:status、warningLevel、suggestion、patterns[]

AI 会识别出类似"周一上午课程缺勤率较高"的模式,并给出改进建议。系统根据出勤率自动划分 优秀 / 正常 / 警告 / 危险 四个等级,方便辅导员批量关注。

3.4 AI 核心代码(节选)

AiServiceImpl 中的核心调用逻辑非常简洁:

// 构造 Prompt → 调用 DeepSeek API → 解析 JSON → 失败降级
String prompt = String.format("作为一名教育AI助手,请帮我预测学生的成绩...", ...);

try {
    String response = callDeepSeekApi(prompt);          // RestTemplate 调用
    return parseScorePrediction(response, studentId, ...); // Jackson 解析 JSON
} catch (Exception e) {
    return generateMockPrediction(studentId, ...);       // 降级:本地规则生成
}

callDeepSeekApi 内部就是一次标准的 HTTP POST,带上 Authorization: Bearer <API_KEY> 请求头。整个 AI 集成层不到 500 行代码,却让整个系统的"科技感"瞬间拉满。


四、项目结构一览

project-01/
├── backend/                        # Spring Boot 后端
│   ├── src/main/java/com/example/app/
│   │   ├── config/                 # AiConfig、SecurityConfig、WebConfig
│   │   ├── controller/             # 7 个模块的 REST 接口
│   │   ├── dto/                    # request / response 分层
│   │   ├── entity/                 # 6 个 JPA 实体
│   │   ├── repository/             # Spring Data JPA
│   │   ├── service/                # 业务逻辑 + AiServiceImpl 是核心
│   │   └── exception/              # BusinessException + 全局处理器
│   ├── src/main/resources/
│   │   ├── application.yml         # 数据库 + DeepSeek API 配置
│   │   └── sql/schema.sql         # 建表脚本
│   └── pom.xml
├── pc/                             # Vue 2 + Element UI PC 端
│   └── src/views/
│       ├── student/                # 学生管理
│       ├── class/                  # 班级管理
│       ├── course/                 # 课程管理
│       ├── score/                  # 成绩管理
│       ├── attendance/             # 考勤管理
│       ├── user/                   # 用户管理
│       └── ai/                     # ⭐ 成绩预测 / 课程推荐 / 考勤分析
├── app/                            # Vue 2 + Vant UI 移动端
└── sql/init.sql                    # 初始化数据

数据库设计了 6 张核心表usersstudentsclassescoursesscoresattendances,结构清晰、外键关联合理。


五、毕设答辩避坑指南(真实经验分享)

分享几个我在做这个项目时踩过的坑,别再踩了:

🚫 坑一:AI API 在答辩现场突然挂掉

解决:一定要做降级机制(Fallback)。我在 AiServiceImpl 里用 try-catch 包住 API 调用,如果失败就用本地算法(基于历史成绩均值 + 随机扰动)生成一个合理结果。答辩演示时万一演示场地网络抽风、API Key 突然失效,系统照样能跑。

🚫 坑二:大模型返回的不是纯 JSON

解决:LLM 偶尔会输出 json ... 代码块,或者夹杂解释性文字。我写了一个 cleanJsonResponse() 方法专门做清洗,去掉 Markdown 标记、取最外层大括号之间的内容。

🚫 坑三:Spring Security 默认拦截所有请求

解决:在 SecurityConfig 里对 /api/auth/login、静态资源等放行,并且配置 CORS 支持。踩过这个坑的同学都懂,调试半天登录 403 就是因为这个。

🚫 坑四:前端 Axios 调不通后端

解决:一是后端加 @CrossOrigin 或 WebConfig 里统一配置 CORS;二是 Axios baseURL 不要写死,方便开发和部署切换。

🚫 坑五:密码明文存储

解决:用 BCryptPasswordEncoder 加密存储,登录时再比对。虽然是毕设,但这些安全细节一讲出来,答辩分就上去了。


六、为什么推荐这样选题?

  1. 难度可控,亮点突出:CRUD 部分简单易上手,AI 部分作为加分项,不会出现"做不完"的尴尬
  2. 可讲的东西多:从前后端分离架构、JPA 数据访问、DTO 分层、安全框架、Prompt 工程、AI 降级容错……每一项都能单独讲 5 分钟
  3. 符合当下趋势:大模型 + 行业应用是现在最火的方向,导师本身就感兴趣
  4. 好扩展:后续想加 ECharts 数据可视化、Redis 缓存、Docker 部署,都能无缝接上
  5. 有真实使用场景:不是凭空捏造的 Demo,而是高校里真的会用到的功能

七、关于源码

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

这个项目从需求分析 → 架构设计 → 后端开发 → 前端开发 → AI 集成 → 测试优化 → 技术文档,前前后后花了 两个多月 时间打磨,代码规范、注释齐全,可以直接作为本科/专科毕业设计使用

🎁 购即送(省去你自己折腾的时间)

  • 在线数据库:已搭建好的 MySQL 8.0 在线实例,导入 SQL 脚本即可使用,无需自己搭建数据库服务器,省去安装配置的各种坑
  • DeepSeek API 免费额度:随源码赠送 DeepSeek API Key,含 1000 次免费调用额度,足够完成毕设演示和答辩全部环节
  • 代码下载即跑:后端 Spring Boot、前端 Vue,一键启动。全套启动脚本 + 视频教程,跟着步骤走 10 分钟内跑起来
  • 远程调试支持:代码跑不起来?接口报错了?配置搞不定?支持远程帮你排查问题(TeamViewer / 向日葵 / QQ远程),不再为环境问题焦头烂额

📦 交付清单

  • ✅ Spring Boot 后端完整源码(7 大模块)
  • ✅ Vue 2 + Element UI PC 端完整源码
  • ✅ Vue 2 + Vant UI 移动端完整源码
  • ✅ MySQL 建表脚本 + 初始化测试数据(已接入在线数据库,导入即用
  • ✅ DeepSeek API Key(含 1000 次免费额度,手把手教你配置
  • ✅ 项目启动部署文档(后端 + 前端 + 数据库一条龙,视频 + 文档双保险)
  • ✅ 中英文论文大纲(1.5w 字模板,照着填就行)
  • ✅ 答辩 PPT 模板(已设计好,替换截图即可用)
  • 远程调试服务(代码问题、环境问题均可协助解决)

💡 说明:制作不易,源码会收取少量费用作为对作者劳动的认可,介意的同学就不必私信了。欢迎真正想把毕设做出亮点的同学交流~

私信方式:CSDN 私信 / 博客评论区留言,看到就回。


八、结语

做毕设,不是比谁做的功能多,而是比谁做的"有亮点、会讲故事"。把一个普通的学生管理系统,加上 AI 成绩预测、智能课程推荐、考勤异常分析,再配上 PC/移动双端架构,瞬间就从"及格线"拉到了"优秀候选人"的水平。

如果这篇文章对你有启发,欢迎 点赞 👍 收藏 ⭐ 关注 👀,后续还会分享更多毕设实战经验。祝大家顺利通过答辩,毕业快乐!


本文作者:一名刚刚踩完所有毕设坑的学长
更新时间:2026 年

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐