JIANGSU UNIVERSITY
软件开发技术课程设计(II)
选课管理系统
专 业 班 级 :
学 号 :
学 生 姓 名 :
指 导 教 师 : 林 琳
2024 年 6 月
第一章 概 述
1.1 课程设计目的目的
通过本课程设计的准备与总结,复习、领会、巩固和运用课堂上所学的
软件开发方法和知识,为学生综合应用本专业所学习的多门课程知识创造
实践机会,使每个学生了解软件工具与环境对于项目开发的重要性,并且
重点深入掌握好几种较新或较流行的软件工具或计算机应用技术,提高学
生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。
1.2 课程设计任务
假设学校需要大学生创建一个选课管理系统,以便能够进行课程的科学管
理,系统基本功能有:
(1)首页包含课程通知列表(按时间倒序)。使用系统的用户包括一个管理员、
多个教师和多个学生,需要登陆才能操作系统,登录后可以修改个人信息。
(2)管理员可以管理教师(包括工号、姓名、照片、性别、职称、学院等)、
管理学生(包括学号、姓名、照片、性别、专业、班级等)、管理课程(包括课
程号、课程名、学分、课程简介、限制人数等信息)。管理员可以将课程指定给
教师。
(3)教师可以查看某门课的选修学生名单。可以给某门课程的选课学生打分。
教师还可以发布通知。
(4)学生可以根据课程名查询课程情况。学生可以点击选修课程,还可以退选
某门课程。可以查看自己所选的所有课程及其成绩。
(5)管理员统计:按平均分倒排的前十学生列表,按选课人数倒排序的前十课
程列表。
(6)统计结果以柱状图或其他图形展示,还可以导出为 excel 文件。
1.3 使用技术及开发环境
我运用 SpringBoot 框架搭建设备后端服务;利用 Vue.js 构建动态前端界
面,结合 Vuex 管理状态,为管理员、教师及学生提供丰富的交互体验;Echarts
用于数据可视化,展示统计结果如平均分排名、选课人数排名等,并实现图表
导出为 Excel 功能;整个项目在 IntelliJ IDEA 开发环境中完成,充分利用其
对 Java 和 Vue 的支持,实现了包括课程管理、用户管理、选课操作、成绩录入、
通知发布及数据分析在内的多功能选课管理系统。
第二章 需求分析
2.1 功能分析
(1) 选课管理系统综合运用了 SpringBoot、Vue 和 Echarts 技术栈,旨在为高
校提供一个高效、易用的课程管理平台。以下是系统核心功能的深入分析:
(2) 统一登录与个性化首页:系统支持多角色(管理员、教师、学生)登录,
登录后,首页展示按时间倒序排列的课程通知列表,使用户能快速获取最
新信息。
(3) 精细化用户管理:管理员拥有高级权限,可全面管理教师与学生信息。利
用 SpringBoot 的数据访问层 MyBatis,实现对数据库中教师和学生信息的
增删改查操作,保证用户数据的准确性和时效性。
(4) 课程管理体系:管理员不仅管理课程基本信息,还能指定任课教师,体现
了系统对教学资源的有效调配能力。此外,通过 RESTful API 设计,前后
端分离架构确保了课程管理的灵活性和响应速度。
(5) 教师功能模块:教师可查看授课课程的选修学生名单,进行成绩录入,并
能发布课程通知,这些功能通过 Vue 组件动态加载和交互,提高了教师日
常工作的效率。
(6) 学生自助服务:学生用户可以轻松查询课程详情,自主完成选课与退课操
作,查看个人课程表及成绩,充分体现了系统的用户友好性和自主性,有
利于提升学生的学习规划能力。
(7) 统计分析与报表生成:管理员能够获取重要统计数据,如平均分排名倒排
前十的学生和选课人数倒排的十门课程,借助 Echarts 实现数据的直观可
视化展示,增强决策支持能力。同时,系统还支持将这些统计结果导出为
Excel 文件,便于离线分析和存档。
选课管理系统的功能框图如下所示
图 2.1 系统功能结构图
该选课管理系统覆盖了课程管理、用户管理、选课操作、成绩管理、通知发布、
数据统计与分析等关键功能,有效提升了学校的教学管理和学生学习体验。通
过 SpringBoot 的高效开发能力、Vue 的前端交互优化,以及 Echarts 的数据可
视化支持,系统展现了高度的实用性和先进性。
2.2 概念模型分析
选课系统的 ER 图如下所示
图 2.2 系统 ER 图
在这个选课管理系统中,可以识别出以下实体以及它们之间的关系:
实体识别与联系
教师(Teacher):关联课程,可查看选课名单、发布通知、录入成绩。
学生(Student):可选课、退课、查看个人课程表和成绩。
课程(Course) - 包含课程号、课程名、学分等属性。
课程与教师一对多关联(一个教师可教授多门课程,一门课程由一位教师教
授),课程与学生多对多关联(学生可选多门课程,一门课程可被多名学生选
择)。
第三章 系统设计
3.1 数据库设计
(1)课程表 courses
图 3.1 课程表结构图
(2)学生表 students
图 3.2 学生表结构图
(3)教师表 teachers
图 3.3 教师表结构图
(4)选课关联表 stu_course
图 3.4 选课关联表结构图
(5)用户表 sys_user