实战—基于SpringBoot+shiro+Vue前后端完全分离的简易教务系统

总体流程

​ (1)需求分析

​ (2)系统设计

​ (3)功能开发

​ (4)项目部署

​ (5)总结

技术选型与工具

技术选型

  • 前端:Vue 、 Element UI 、 Vue router 、 Vuex 、axios
  • 后端:SpringBoot 、Mybatis plus 、 shiro
  • 数据库:MySQL
  • 版本管理:git
  • 项目管理:Maven

工具

  • 集成开发环境:IDEA
  • 数据库操作工具:Navicat
  • 服务器操作工具:Xshell 7、Xftp 7

需求分析

数据库设计

概念设计

逻辑设计

  • 课程(课程id、课程代码、课程名称、课程类别、学院id、教师id、是否为本学期课程、课程学期id、课程学期名、上课时间、上课地点、教学班号、学分、平时成绩占比、最终成绩占比)其中学院id、教师id为外键

  • 用户(用户id、用户名、密码、盐值、姓名、学院id、性别、电话、班级)其中学院id为外键

  • 角色(角色id、角色名称)

  • 权限(权限id、权限码、权限名称、父权限id、路径、是否为菜单)

  • 学院(学院id、学院名称)

  • 学期(学期id、学期名称、学期状态)

  • 用户角色(用户id、角色id)其中用户id、角色id都为外键

  • 角色权限(角色id、权限id)其中角色id、权限id都为外键

  • 选课(用户id、课程id、平时成绩、期末成绩、总成绩、是否出成绩、是否通过)其中用户id、课程id为外键

  • 说明:本次从概念设计到逻辑设计的转换最终的逻辑模型满足第三范式。

效果展示

源码下载