基于SpringBoot+vue的高校学生成绩管理系统

目录

  • 一、绪论
    • 1.1 开发背景
    • 1.2 系统开发平台
      • 1.2.1 Vue简介
      • 1.2.2 IDEA简介
      • 1.2.3 MySQL简介
    • 1.3 系统开发环境
  • 二、需求分析
    • 2.1 系统需求分析
    • 2.2 系统数据流图
  • 三、概要设计
    • 3.1 业务流程分析
  • 四、详细设计
    • 4.1 系统功能结构图
    • 4.2 E-R模型
    • 4.3 数据库表设计
  • 五、模块实现
    • 5.1 管理员主页
    • 5.2 课程表模块
    • 5.3 成绩查询模块
    • 5.4 成绩详情模块
    • 5.5 账号管理模块
    • 5.6 课程录入模块
    • 5.7 用户管理模块
    • 5.8 学生成绩查询模块
  • 六、系统测试
  • 七、总结与展望
  • 八、源码获取

一、绪论

1.1 开发背景

当今世界经济的持续增长对科技发展产生了很大影响。计算机、网络的普及形成了一场全球范围内信息和信息技术的革命,促使着社会发生变革。信息化社会对教育发展提出了新的要求——教育信息化,在教育领域运用计算机、网络技术,促进教育改革的发展。如何在教育行业中规范化的管理信息、加速数据流通、提高信息应用水平,已成为当今教育行业亟待解决的问题。
随着教育改革的不断深化、升学率逐年提高,学校各类信息繁冗、教学人员工作量大、管理学生力度不够。尽管高校引进各种信息管理系统,但针对于学生成绩管理来说,并没起多大作用。现有的学生成绩管理系统仍存在许多不足之处,所以需要改善已有的系统,并利用改良后开发的系统为高校教务工作人员减轻工作量,提高工作效率和准确率,增强管理力度。
高校学生成绩管理系统是高校各种信息管理系统中的一种,传统的手工管理方式需要提取日常教学活动中相关记录,易发生数据统计错误、丢失数据、教师劳动强度高且效率低等问题。网络、计算机的普及很大的解决了这些问题,计算机连入网络后,各类数据在网络上快速流通,实现了数据共享,避免重复劳动,教学管理方式规范化,提高了管理效率和高校办学水平。学生成绩管理系统不但满足了高校的管理者、教师及学生对该方面的需求,极大地减少了管理成本、节约了用户时间,而且完善了学生成绩管理方面的数据存储、数据统计、信息检索、信息分析等功能。为了给高校管理学生成绩提供更优良的技术支持,提高教学质量和水平,所以需要研究和开发新的学生管理系统。

1.2 系统开发平台

1.2.1 Vue简介

Vue.js致力于构建数据驱动的Web应用开发框架,以简洁化、轻量级、数据驱动、模块友好等优势深受企业以及前端开发者的喜爱,成为前端开发人员必备的技能。Vue3.0的出现,又带动周边生态的发展,奠定了Vue在企业级开发的重要地位。
Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
渐进式框架做分层设计,每层都可选,不同层可以灵活接入其他方案。而当你都想用官方的实现时,会发现也早已准备好,各层之间包括配套工具都能比接入其他方案更便捷地协同工作。

1.2.2 IDEA简介

IDEA 全称IntelliJ IDEA,是用于Java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains 公司的产品,IntelliJ IDEA的每个方面都专门设计用于最大限度地提高开发人员的工强大的静态代码分析和符合人体工程学的设计使开发不仅具有高效性,而且还具有令人愉悦的体验。
在IntelliJ IDEA为您的源代码编制索引之后,它通过在每个上下文中提供相关建议提供了快速而智能的体验:即时和巧妙的代码完成,动态代码分析和可靠的重构工具。

1.2.3 MySQL简介

MySQL是瑞典的MySQL AB公司开发的一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统。MySQL完全适用于网络,用其建造的数据库可在因特网上的任何地方访问,因此,可以和网络上任何地方的任何人共享数据库。MySQL具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点。MySQL用C和C++编写,它可以工作在许多平台(Unix,Linux,Windows)上,提供了针对不同编程语言(C,C++,Java等)的API函数;使用核心线程实现多线程,能够很好的支持多CPU;提供事务和非事务的存储机制;快速的基于线 程的内存分配系统;MySQL采用双重许可,用户可以在GNU许可条款下以免费软件或开放源码软件的方式使用MySQL软件,也可以从MySQL AB公司获得正式的商业许可。
除了以上特点,MySQL还有一个最大的特点,那就是在诸如UNIX这样的操作系统上,它是免费的,可从因特网上下载其服务器和客户机软件。并且还能从因特网上得到许多与其相配的第三方软件或工具。而在 Windows系统上,其客户机程序和客户机程序库是免费的[5]。

1.3 系统开发环境

本系统的开发环境需要满足以下:
网络环境:局域网。
软件环境:Windows10操作系统,IDEA开发平台,Tomcat8.5服务器,MySQL数据库。
硬件环境:内存8G,硬盘512G。

二、需求分析

2.1 系统需求分析

学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息。教师可以通过成绩管理系统查阅学生成绩信息,教师信息管理等相关操作。系统管理员可以实现以上的所有功能。目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。
本系统是针对高等院校的学生成绩管理,因此此系统的用户包括系统管理员、教师和学生。主要涉及班级信息、学生信息、课程信息和成绩等多种数据信息。
系统有以下要求:
(1)管理员、教师和学生登录后可以改自己的密码。
(2)管理员、教师和学生可以查询课程信息。
(3)管理员可以删除学生信息、教师信息、登录用户信息,还可以查询和删除学生成绩,添加、删除课程信息。
(4)管理员批量导入、导出数据
(5)教师可以录入、修改成绩,批量导出数据。
(6)学生可以查询成绩

2.2 系统数据流图

根据系统主要信息的处理功能,整个系统可以看作登陆管理,用户成绩管理两个部分。
在这里插入图片描述

三、概要设计

3.1 业务流程分析

学生根据学校分发给每个人的个人账户和密码登录到自己的账号,首先登陆自己账号,若无账号,可以向学校申请分配,进入系统后可以查询自己的个人成绩详情,也可以查看自己的课表,对自己的密码进行修改。
在这里插入图片描述教师登陆后可查看任教班级学生成绩分布折线图,也可到课程表界面查看任教课程,成绩查询界面进行成绩的导出,成绩详情可看班级的及格不及格等情况
在这里插入图片描述管理员登录进入系统可以对各类用户进行管理,也可以去课程表,学生成绩,
课程,学生账户,学生信息进行增删改查操作。
在这里插入图片描述

四、详细设计

4.1 系统功能结构图

高校学生成绩管理系统系统分为3个大模块,分别是选择角色登录模块、学生端功能模块、教师端功能模块和管理员端功能模块。
在这里插入图片描述

4.2 E-R模型

系统共有教师、学生、管理员3个实体,每个实体还有用户名、密码、姓名、手机号等多个属性,其中实体与属性又是一对多的关系
在这里插入图片描述

4.3 数据库表设计

主要数据库表有学生表,教师表,管理员表等以下分别为它们的表设计。
(1)学生信息表数据中含有学校、用户名、密码等学生信息,其中学号为主键
(2)课程信息表数据中含有课程编号、姓名、成绩等课程信息,其中课程编号为主键
(3)教师信息表数据中含有教师编号、真实姓名、学校等教师信息,其中教师编号为主键
(4)管理员信息表数据中含有管理员编号、真实姓名、学校等管理员信息,其中管理员编号为主键
(5)学生课程表数据中含有课程编号、课程名、成绩等学生课程信息,其中课程编号为主键
(6)教师课程表数据中含有课程编号、课程名、教师编号等教师课程信息,其中课程编号为主键
(7)专业课程表数据中含有课程编号、课程名等课程信息,其中课程编号为主键
在这里插入图片描述

五、模块实现

5.1 管理员主页

高校学生成绩管理系统管理员端主页可显示管理员个人信息和学生成绩图表信息,通过点击修改资料可修改该管理员的姓名、性别、电子邮箱和手机号,点击头像可实现头像的修改,点击设置按钮可切换不同专业班级课程的饼状图,点击切换按钮可实现折线图和柱状图的切换
在这里插入图片描述

5.2 课程表模块

通过筛选可查看不同专业、班级、学年、学期和周数的课表信息,点击编辑可修改课表,点击录入可保存修改的课表,点击清空可清空课表
在这里插入图片描述

5.3 成绩查询模块

成绩查询模块可对通过筛选专业、班级和课程来查询学生的成绩。点击编辑可修改学生课程的成绩,然后点击成绩录入进行保存。点击导出可将所有的的学生成绩导出为Excel表格
在这里插入图片描述

5.4 成绩详情模块

选择不同的专业、班级、课程将学生成绩用饼状图、折线图和柱状图展现出来。在饼状图中通过不同颜色将优秀、及格和不及格区分出来,通过鼠标事件显示出各部分百分比。在折线图和柱状图中可以通过鼠标事件查看图表各位置对应的姓名和分数。底部显示最高分、最低分和平均分。
在这里插入图片描述

5.5 账号管理模块

账号管理模块可对学生、教师和管理员账号进行增删改查操作,点击编辑可以修改用户账号,点击删除可以删除用户账号,同时可以在搜索框搜索用户账号。
在这里插入图片描述

5.6 课程录入模块

课程录入模块可对课程信息进行增删改查操作。其中通过对课程名、学分、课时、选择届时、学期、专业和类型进行新增修改。

5.7 用户管理模块

用户管理模块可对学生、教师和管理员信息进行增删改查操作,点击新增可以增加用户信息,点击编辑可以修改用户信息,点击删除可以删除用户信息,同时可以在搜索框搜索用户信息

5.8 学生成绩查询模块

用户在进行登录后进入主页,在主页选择学期,就可以显示对应学期学生自己的成绩,选择学期后进入课表页面就会显示相应学期该学生的课表

六、系统测试

我们要测试的高校学生成绩管理系统是一个基于Spring Boot+Vue的软件,它可以让教师和管理员管理和查看成绩,让学生查看成绩。我们的测试工具是TestRail和Selenium。我们的测试内容包括以下方面:
功能测试:检查系统是否能够正确地执行各项功能,如登录、注册、录入成绩、生成报告、查询成绩等。
性能测试:检查系统是否能够在高负载下保持良好的响应速度和稳定性。
安全性测试:检查系统是否能够防止未授权的访问和数据泄露。
用户体验测试:检查系统是否能够提供友好和易用的界面和交互。 我们的测试目的是验证系统是否符合预期的质量标准,发现并修复潜在的缺陷,提高用户的满意度和信任度。

七、总结与展望

至此,整个高校成绩管理系统开发完毕,在开发过程中有以下心得:
第一,各种开发技术是相通的,通过对高校成绩管理系统的开发总结出的理论和实践经验可以为其他的管理系统开发起到很大的帮助。
第二,前期的需求分析和软件设计工作非常重要,不要怕在这个阶段占用系统开发的时间过长,只有做好需求分析和软件设计才能保证软件的成功率,否则在软件开发后才来修改存在的问题会浪费更多的人力和物力,而且修改会带入新的问题。
第三,在系统设计时,应当考虑到系统应用环境可能发生的变化,应当使系统具有良好的环境适应性。
第五,在系统设计中,即可能多的使用存储过程完成对数据库的操作,可以减少网络流量,提高系统的响应速度,另外还有利于增加系统的安全性。
第六,在系统测试时,采用黑盒法与白盒法综合测试的方法,而且每写一段代码就进行一次测试,将测试与代码编写结合起来,虽然比较费时,但出错率降低不少。
随着现在管理系统的快速发展,为了全面提高管理工作开展的效率,作为技术人员更应奋勇向前,学习更加新颖的技术与方法。为创造更好的管理系统而努力,通过全面的实践与分析,从更多的方面总结有效的设计方法,高校学生成绩管理系统虽然还有非常多的缺陷,但我相信经过不懈的努力,高校学生成绩管理系统一定会更好,更全面。

八、源码获取

大家点赞、收藏、关注、评论啦 ,私信获取联系方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/64429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker--Docker Image(镜像)

什么是Docker Image? Docker镜像(Docker Image)是Docker容器技术的核心组件之一,它包含了运行应用程序所需的所有依赖、库、代码、运行时环境以及配置文件等。 简单来说,Docker镜像是一个轻量级、可执行的软件包&…

RabbitMQ的核心组件有哪些?

大家好,我是锋哥。今天分享关于【RabbitMQ的核心组件有哪些?】面试题。希望对大家有帮助; RabbitMQ的核心组件有哪些? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 RabbitMQ是一个开源的消息代理(Messag…

[OpenGL] Transform feedback 介绍以及使用示例

一、简介 本文介绍了 OpenGL 中 Transform Feedback 方法的基本概念和代码示例。 二、Transform Feedback 介绍 1. Transform Feedback 简介 根据 OpenGL-wiki,Transform Feedback 是捕获由顶点处理步骤(vertex shader 和 geometry shader&#xff0…

【Linux】—简单实现一个shell(myshell)

大家好呀,我是残念,希望在你看完之后,能对你有所帮助,有什么不足请指正!共同学习交流哦! 本文由:残念ing原创CSDN首发,如需要转载请通知 个人主页:残念ing-CSDN博客&…

什么是Apache日志?为什么Apache日志分析很重要?

Apache是全球最受欢迎的Web服务器软件,支持约30.2%的所有活跃网站。凭借其可靠性、灵活性和强大的功能,Apache数十年来一直是互联网的中坚力量。 一、Apache Web服务器的工作原理 Apache Web服务器的工作原理如下: 接收HTTP请求&#xff1…

Spring Security 6 系列之一 - 开篇入门

之所以想写这一系列,是因为之前工作过程中使用Spring Security,但当时基于spring-boot 2.3.x,其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0,结果一看Spring Security也升级为6.3.0,关键是其风…

docker 搭建自动唤醒UpSnap工具

1、拉取阿里UpSnap镜像 docker pull crpi-k5k93ldwfc7o75ip.cn-hangzhou.personal.cr.aliyuncs.com/upsnap/upsnap:4 2、创建docker-compose.yml文件,进行配置: version: "3" services:upsnap:container_name: upsnapimage: crpi-k5k93ldwf…

7.Linux - 安装MySQL、Tomcat、Nginx、RabbitMQ、Redis

Linux - 安装MySQL 文章目录 Linux - 安装MySQL一、MySQL 5.71.1 安装1.2 配置 二、MySQL 8.x2.1 安装2.2 配置 三、Tomcat安装3.1 安装 JDK3.2 Tomcat(整的不行) 四、Nginx4.1 安装 五、RabbitMQ5.1 安装 六、Redis6.1 安装 一、MySQL 5.7 1.1 安装 我…

python | linux | ModuleNotFoundError: No module named ‘WFlib‘ |找不到模块

问题&#xff1a; (base) beautyby521-7:~/Website-Fingerprinting-Library-master$ bash scripts/NetCLR.sh Traceback (most recent call last):File "/home/beauty/Website-Fingerprinting-Library-master/exp/pretrain.py", line 8, in <module>from WFli…

AI Agent:重塑业务流程自动化的未来力量(2/30)

《AI Agent&#xff1a;重塑业务流程自动化的未来力量》 摘要&#xff1a;整体思路是先介绍 AI Agent 的基本情况&#xff0c;再深入阐述其实现业务流程自动化的方法和在不同领域的应用&#xff0c;接着分析其价值和面临的挑战&#xff0c;最后得出结论&#xff0c;为读者全面…

机器学习之 K-Means

1. 什么是 K-Means&#xff1f; K-Means 是一种常用的无监督学习算法&#xff0c;主要用于聚类分析任务。其目标是将数据集划分为 K 个不同的簇&#xff0c;使得同一簇内的数据点之间的相似性更高&#xff0c;而不同簇的数据点差异更大。K-Means 算法使用了一个简单而有效的迭…

上传文件时获取音视频文件时长和文本文件字数

获取音视频文件时长和文本文件字数 一、获取音视频文件时长二、计算文本文件字数 最近有个需求&#xff0c;要求上传文件时获取音视频文件时长和文本文件字数&#x1f436;。 发现这样的冷门资料不多&#xff0c;特做个记录。本文忽略文件上传功能&#xff0c;只封装核心的工具…

【AIGC】与模型对话:理解与预防ChatGPT中的常见误解

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;模型的工作原理和用户期望差异人工智能模型的基本工作原理认知上的局限与误解用户期望与模型实际能力的差距精确理解用户意图的重要性实际应用中的建议 &…

AI视频配音技术创新应用与商业机遇

随着人工智能技术的飞速发展&#xff0c;AI视频配音技术已经成为内容创作者和营销人员的新宠。这项技术不仅能够提升视频内容的吸引力&#xff0c;还能为特定行业带来创新的解决方案。本文将探讨AI视频配音技术的应用场景&#xff0c;并讨论如何合法合规地利用这一技术。 AI视频…

信创改造-Spring Boot 项目部署至 TongWeb

打 war 包参考&#xff1a;https://blog.csdn.net/z1353095373/article/details/144330999

JAVA:代理模式(Proxy Pattern)的技术指南

1、简述 代理模式(Proxy Pattern)是一种结构型设计模式,用于为其他对象提供一种代理,以控制对这个对象的访问。通过代理模式,我们可以在不修改目标对象代码的情况下扩展功能,满足特定的需求。 设计模式样例:https://gitee.com/lhdxhl/design-pattern-example.git 2、什…

【C++】set和map的使用

set和map的使用 1.序列式容器和关联式容器1.1序列式容器:1.2关联式式容器: 2.set的使用2.1set和multiset参考文档2.2set类的介绍2.3set的构造和迭代器2.4set的增删查2.5multiset和set的差异 3map系列的使用3.1 map和multimap参考文档3.2map类的介绍3.3pair类型介绍3.4map的构造…

[LeetCode-Python版]206. 反转链表(迭代+递归两种解法)

题目 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1] 示例 3&#xff1…

快速上手Neo4j图关系数据库

参考视频&#xff1a; 【IT老齐589】快速上手Neo4j网状关系图库 1 Neo4j简介 Neo4j是一个图数据库&#xff0c;是知识图谱的基础 在Neo4j中&#xff0c;数据的基本构建块包括&#xff1a; 节点(Nodes)关系(Relationships)属性(Properties)标签(Labels) 1.1 节点(Nodes) 节点…

window.getSelection() 获取划线内容并实现 dom 追随功能

功能&#xff1a;鼠标对一段文本中某些文字进行划线之后&#xff0c;需要在当前划线文本处出现一个功能按钮显示对划线内容进行操作&#xff0c;比如收藏、添加样本库等功能。 一、需要了解的鼠标事件对象属性 给 dom 元素注册鼠标事件之后&#xff0c;会有 event 属性&#…