乐于分享
好东西不私藏

�� 如何借助 AI 工具生成一个计算机专业项目——以教务系统为例

�� 如何借助 AI 工具生成一个计算机专业项目——以教务系统为例

选题难、工期紧、不会写?用对 AI,一套教务管理系统从 0 到能跑,并不遥远。


写在前面

很多同学做毕业设计或课程设计时,卡在这两件事上:

  1. 不知道从哪下手:需求、技术栈、目录结构一脸懵  

  2. 能看懂不会写:框架文档翻了半天,代码还是写不动  

现在有了 Cursor、ChatGPT、通义千问、文心一言等工具,完全可以把「想清楚需求 → AI 生成骨架 → 自己调试完善」变成一套可复用的流程。

本文以经典的 教务管理系统 为例,带你走一遍:

  • 怎么给 AI 写提示词  

  • 后端怎么搭(Spring Boot + MySQL)  

  • 前端怎么搭(Vue3 + Element Plus)  

  • 前后端怎么联调、怎么避免「AI 生成了但答辩讲不清」


一、项目概览:我们要做一个什么样的教务系统?

1.1 功能范围(够用、好讲、易演示)

建议做成 Web 管理端,核心模块控制在 4~6 个,答辩好讲:

角色功能
管理员用户管理、学院/专业管理、课程管理、学期管理
教师查看任教课程、录入成绩、查看选课名单
学生选课、退课、查课表、查成绩

进阶(时间够再加):

  • 登录鉴权(JWT)  

  • 数据统计图表(选课人数、成绩分布)  

  • 导出 Excel  

1.2 推荐技术栈(计算机专业最常见、最好写开题报告)

层级技术说明
前端Vue3 + Vue Router + Pinia + Element Plus + Axios后台管理系统标配
后端Spring Boot 3 + MyBatis-Plus + Spring Security(可选)就业向、资料多
数据库MySQL 8表结构清晰,ER 图好画
接口文档Knife4j / Swagger答辩时可展示接口
AI 工具Cursor / ChatGPT / Claude / 通义千问生成代码 + 修 bug

选题答辩话术:「前后端分离 + RESTful API + 关系型数据库」,非常标准。


二、用 AI 做项目的正确流程

2.1 五步流程(建议收藏)

  1. 需求描述:用自然语言把角色、功能、页面说清楚  

  2. 技术选型:告诉 AI 用什么框架、什么版本  

  3. AI 生成代码:先生成数据库 → 后端 → 前端,不要一口气要整站  

  4. 本地调试:跑通登录、CRUD、联调接口  

  5. 部署与答辩:整理截图、流程图、论文对应章节  

2.2 提示词怎么写才有效?

差提示词:

帮我做一个教务系统。

好提示词(可直接复制改造):

我是计算机专业学生,要做一个前后端分离的教务管理系统。

技术栈:
- 后端:Spring Boot 3 + MyBatis-Plus + MySQL 8
- 前端:Vue3 + Element Plus + Axios + Pinia
- 接口风格:RESTful,统一返回格式 { code, msg, data }

角色:管理员、教师、学生

核心功能:
1. 登录(账号密码,角色区分)
2. 学生/教师/课程的增删改查
3. 学生选课、退课
4. 教师录入成绩,学生查看成绩

请先输出:
1. 数据库表设计(字段、主键、外键)
2. 后端包结构建议
3. 前端路由与页面清单
不要一次性生成全部代码,先确认设计。

和 AI 协作的三条铁律:

  1. 先设计,后代码(表结构不对,后面全白写)  

  2. 一次只生成一个模块(例如先只要「学生管理」)  

  3. 自己要能讲清每一层干什么(否则答辩一问就崩)  


三、数据库设计(先让 AI 出表)

3.1 核心表建议

表名作用
sys_user登录账号、密码、角色
student学号、姓名、班级、专业
teacher工号、姓名、职称、学院
course课程编号、名称、学分、授课教师
course_selection选课记录(学生-课程)
score成绩(平时/期末/总分)

3.2 让 AI 生成建表 SQL 的提示词

根据上面的教务系统需求,生成 MySQL 8 建表 SQL。
要求:
1. 每张表有主键 id(bigint 自增)
2. 合理外键或逻辑关联字段
3. 必要索引(学号、课程号唯一)
4. 附带 10 条测试数据 INSERT
请直接输出可执行 SQL。

📌 配图建议:把 Navicat / DataGrip 里的表结构截图放这里,比纯文字更有说服力。


四、后端搭建(Spring Boot)

4.1 推荐目录结构

jiaowu-server/
├── controller/     # 接口层:接收请求
├── service/        # 业务层:业务逻辑
├── mapper/         # 数据层:SQL / MyBatis
├── entity/         # 实体类:对应数据库表
├── dto/            # 入参出参
├── common/         # 统一返回、异常处理
└── config/         # 跨域、Swagger、Security

4.2 用 AI 生成后端骨架

提示词示例:

请用 Spring Boot 3 + MyBatis-Plus 生成「学生管理」模块后端代码。
包含:
1. Student 实体类(字段与 student 表一致)
2. StudentMapper
3. StudentService / StudentServiceImpl
4. StudentController(分页查询、新增、修改、删除、按 id 查询)
5. 统一返回 Result<T>
说明每个类的作用,代码要能直接粘贴运行。

4.3 关键接口清单(答辩可展示)

方法路径说明
POST/api/login登录
GET/api/students学生分页列表
POST/api/students新增学生
PUT/api/students/{id}修改学生
DELETE/api/students/{id}删除学生
GET/api/courses课程列表
POST/api/selections学生选课
POST/api/scores录入成绩

4.4 后端调试 checklist

  • application.yml 数据库账号密码正确  
  • 跨域已配置(前端才能调通)  
  • Swagger/Knife4j 能打开并试调接口  
  • 选课要做「重复选课」校验(体现业务逻辑)  
  • 密码不要明文存(至少 MD5/BCrypt)  

📌 配图建议:1)IDEA 项目结构截图2)Swagger 接口列表截图3)Postman 调通登录接口截图  


五、前端搭建(Vue3 + Element Plus)

5.1 推荐页面结构

jiaowu-web/
├── src/
│   ├── api/           # 接口封装
│   ├── views/
│   │   ├── Login.vue
│   │   ├── student/   # 学生管理
│   │   ├── teacher/   # 教师管理
│   │   ├── course/    # 课程管理
│   │   ├── selection/ # 选课
│   │   └── score/     # 成绩
│   ├── router/
│   ├── stores/        # Pinia(存 token、用户信息)
│   └── layout/        # 侧边栏 + 顶栏布局

5.2 用 AI 生成前端页面

提示词示例:

请用 Vue3 + Element Plus + Axios 生成「学生管理」页面。
要求:
1. 顶部搜索(学号/姓名)+ 新增按钮
2. 表格展示学生列表,支持分页
3. 新增/编辑用 Dialog 表单
4. 删除前二次确认
5. 调用后端 /api/students 接口
给出完整单文件组件代码,并说明关键逻辑。

5.3 侧边栏菜单建议

  • 首页(数据概览)  

  • 学生管理  

  • 教师管理  

  • 课程管理  

  • 选课管理  

  • 成绩管理  

  • 个人中心  

5.4 前端调试 checklist

  • .env 里配置好后端地址(如 http://localhost:8080)  
  • Axios 请求拦截器带上 Token  
  • 401 自动跳转登录页  
  • 表格空数据、加载中状态都有  
  • 不同角色登录看到不同菜单(加分项)  

📌 配图建议:1)登录页截图2)学生管理列表页截图3)选课/成绩录入页截图  


六、前后端联调:把系统「跑起来」

6.1 联调顺序(别乱点)

  1. 先用 Swagger 确认后端接口正常  

  2. 前端只连一个模块(如学生 CRUD)  

  3. 再做登录鉴权  

  4. 最后做选课、成绩等关联业务  

6.2 常见报错与处理(可直接问 AI)

现象可能原因怎么跟 AI 说
前端跨域报错后端未放行 CORS「Spring Boot 配置允许 localhost:5173 跨域」
401 一直跳登录Token 没带上或过期「检查 Axios 拦截器与后端 JWT 校验」
选课重复成功缺少唯一约束/业务校验「选课表加唯一索引,并在 Service 判重」
页面空白路由/组件报错「把浏览器 Console 报错贴给我」

6.3 演示脚本(答辩/视频录屏用)

  1. 管理员登录 → 新增课程  

  2. 学生登录 → 选课成功  

  3. 教师登录 → 录入成绩  

  4. 学生登录 → 查看成绩  


七、AI 能帮你,但这些必须自己懂

用 AI 不是抄作业,而是 加速实现。至少要能讲清楚:

  1. 为什么前后端分离?

  2. Controller / Service / Mapper 各干什么?

  3. 选课表为什么需要学生 ID + 课程 ID?

  4. Token 登录比 Session 有什么好处?

  5. 哪一段是你改过/调试过的?(最容易被问)

论文里建议单独写一节「开发工具与 AI 辅助」,体现你是「会用工具的工程能力」,而不是「完全不会写代码」。


八、完整提示词模板包(收藏即用)

模板 A:总体设计

请为「高校教务管理系统」输出:功能模块图、用例说明、数据库 ER 说明、技术架构图文字版。面向本科毕业设计,表述正式。

模板 B:后端单模块

生成 Spring Boot 的【课程管理】模块,含 Entity/Mapper/Service/Controller,支持分页与条件查询,附测试接口说明。

模板 C:前端单页面

生成 Vue3 + Element Plus 的【成绩管理】页面:教师可录入/修改成绩,学生只读查看,按角色显示不同按钮。

模板 D:修 Bug

下面是报错信息和相关代码,请定位原因并给出最小修改方案(不要重写整个项目):
【粘贴报错】
【粘贴相关代码】

九、总结

借助 AI 做计算机专业项目,关键不是「让 AI 一次生成整站」,而是:

  1. 需求讲清楚

  2. 技术栈定死

  3. 先库表,再后端,后前端

  4. 模块化生成 + 自己调试

  5. 能讲清原理,才算真正完成

教务系统功能经典、表结构清晰、演示路径顺,非常适合作为:

  • 课程设计  

  • 毕业设计  

  • 作品集项目  

如果你需要,我可以继续出下一篇:

  • 《教务系统:从开题报告到论文目录怎么写》  

  • 《教务系统:部署到云服务器保姆教程》  

  • 《教务系统:答辩 PPT 一页一页怎么讲》  


关注本公众号,持续更新计算机专业项目实战与毕业设计避坑指南。

相关学习资料