演示视频

是否包含论文文档

技术描述

开发工具: Idea/Eclipse
数据库: mysql
Jar包仓库: Maven
前段框架:Html/Thymeleaf/LayUI
后端框架: Spring+SpringMVC+Mybatis+SpringBoot

项目截图描述

系统界面

 

 

基于 B/S 架构的高校成绩分析与管理系统的设计与实现

第一章 绪论

学生的不断增多,学生的考试管理也增大了教师的负担,现社会尚存的系统功能简单,且缺少分析功能导致学生不能及时了解学生成绩趋势。针对相同课程不同专业成绩情况,系统提供了成绩对比功能,能更好的展示不同专业相同课程成绩的差异。教师还可以了解课程成绩正态分布,了解学生考试成绩分布情况,在线查看课程等功能。

现阶段学生的成绩管理还处于信息半自动化的状态,这种信息半自动化的成绩管理系统已无法满足针对教师对学生成绩的管理与分析学生成绩的问题,为了提高教师对学生成绩的管理效率,减少繁琐的人工管理步骤,能实时监控学生考试动态及趋势分析,可查看同一课程不同专业成绩对比情况,对成绩的正态分布直观浏览,可批量管理用户和成绩信息操作,所以急需开发一款功能完善且实用的成绩管理系统。

1.1 研究背景

目前来说,很多学校对学生成绩的管理尚还处在信息半自动化的操作的状态。这样势必会造成资源浪费,而且有一部分的成绩分析还是需要人工进行操作,错误的机率也是比较高的,人为因素的影响也是非常大的。对于分析一个学生的成绩趋势和学生成绩的正态分布是个模糊的概念,没有一个能够直观的判断出学生最近的学习情况和对学生成绩进行分析展示的平台。

1.2 国内外发展现状

随着网络技术的发展与普及,高等院校普遍对学生考试成绩重视,对学生成绩的管理工作也得到了极大的挑战,成为了重要教学任务之一。

最早成绩管理系统主要立足于学校对学生的成绩管理上,不侧重对学生成绩趋势分析,不能及时发现学生最近的学习状况,更不能了解学生成绩分布和实现不同专业相同课程成绩之间的对比。近几十年,只有小部分公司开发出了成绩管理系统。而这些系统还未占有市场,且功能较为单薄,不具有针对成绩趋势分析能力,只是对成绩进行简单的管理功能。

针对现存问题,人们迫切要求利用网络技术进行管理,以快捷方便的有效的管理模式下,提高工作效率。同时,也可以提高学生的学习质量,激发学生的学习动力。为顺应时代发展,于是开发出了分析型成绩管理系统。

1.3 主要研究内容

分析型成绩管理系统主要解决了高校教师对学生成绩的上传、修改、查看班级内学生的排名情况和系统对学生的近期成绩分析呈现的趋势图进行查看,实现不同专业相同课程成绩对比情况的查看,浏览学生成绩的正态分布情况,系统还提供了课程表的功能。管理员主要维护系统信息,对系统用户的管理,提供可批量操作功能,对用户信息可批量导入导出,设计与实现一款极其人性化的管理系统。

教师可对学生成绩进行编辑,可从系统中导入导出 Excel 中以便批量管理,可将录入好的 Excel 表格文档导入到系统进行分析,针对学生成绩进行排名,系统智能分析每个学生每次考试成绩,将成绩以折线图的形式展示出来。系统将学生成绩进行分析处理,展示出学生成绩正态分布图的效果,针对不同专业相同课程的成绩对比情况查看,有效提高教师对成绩情况的了解与知情。教师对学生成绩的管理不局限于办公室,可在家通过网络办公,实时更改学生成绩信息,有效的提高了教师工作效率和解决了对成绩管理的局限性问题,进一步对学生成绩管理加以完善。教师还可以查看自己的授课安排,合理安排时间备课,极大提高了教师在教学工作中的工作效率和课堂效率。

批量导入功能的实现采用阿里开源框架 EasyExcel 框架进行解析,主要是通过导入文件流来读取文件内容,导入的文件需要遵循一定格式系统才可正确读取文件内容,通过对文档的逐行读取,解析内容,将所需数据插入到对应的数据库中。批量导出功能使用 layui 框架本身包含组件来完成,将勾选的内容读取并输出到 Excel 中,方便用户查看获取。

分析结果趋势图、成绩正态分布图和成绩对比结果图主要使用 ECharts 折线图来实现,通过官方案例,赋值给相应的 X 轴、Y 轴对应的 JSON 串格式的数据即可。后台根据查询条件,组装结果集,将数据封装成相应的 JSON 格式数据发送到前端展示。

学生可以通过系统了解自己的考试成绩和成绩趋势,通过查看系统对成绩的分析结果来判断自己学习状态和近期境况,还可以通过查看所在班级的排名进行判断自己的学习情况。对于学生课程安排情况,学生也可通过系统进行查看。

第二章 系统开发环境简介

2.1 开发环境及工具简介

系统采用 Java 语言开发,使用的 IDE 为 Eclipse,Eclipse 为使用 Java 语言开发的开源开发工具[4],针对不同语言和不同环境,Eclipse 几乎都有相应的版本和对应的集成环境。开发 Java 环境为 JDK1.8,系统采用 B/S 架构开发,使用的服务器为 Tomcat8.5。

Eclipse 最早为 IBM 开发的商业软件,使用 Java 语言开发的 Java 集成开发环境,后来 IBM 把 Eclipse 贡献给开源社区来维护,成立了 Eclipse 基金会,一时间吸引了众多开发者们的关注,众多的开发者对 Eclipse 功能不断完善,使 Eclipse 变成了功能强大、覆盖语言众多的集成开发环境,具有便捷的快捷键和联想功能,受到了广大开发者的青睐,逐渐让 Eclipse 使用者增多。

Tomcat 是由 SUN 公司设计开发的 Web 应用服务器,后来贡献给了 Apache 基金会[6],由于有 SUN 公司的支持,Tomcat 对于很多新特性都能及时的支持,不断的 Web 开发者渐渐增多,成为了 JavaEE 开发者们的青睐[6]。现在也有很多比较规模比较大的,且并发量较高的公司在使用 Tomcat。Tomcat 成为了越来越受欢迎的 Web 应用服务器。

2.2 Java 语言简介

Java 最早所属公司为 SUN 公司开发的,后来被 Oracle 收购,收购后 Oracle 对 JDK 具有较大更新,不断的优化和增加 Java 语言开发功能和特色。Java 是一种跨平台的开发语言,提出了“一处开发,到处运行”的理念[10],广受开发者们的青睐,Java 开发者不断的增加,成为了近几年最受欢迎的语言,Java 拥有庞大的开发者群体,经过市场上的摸爬滚打,不断成为编程语言之首。

Java 在服务器开发拥有较大的优势,因为 Java 性能稳定,且具有强大的工具包,针对 Web 开发也有非常多的框架,例如 Struts、SpringMVC、Spring、Hibernate、MyBatis 等框架,这些框架简化了开发者的开发维护和拓展功能工作,极大的缩短了 Web 后端开发周期,导致 Java 具有庞大的用户群体。

2.3 SpringBoot+SSM 框架简介

JavaWeb 从一开始的 Servlet+JSP 开发,后来提出了 MVC 模式,通过分层来简化模块开发,对于维护项目和开发工作都有较大的改善。后来有了针对 MVC 设计模式的分层框架,SpringMVC 是针对于控制层,也就是 Controller 层的框架,Spring 框架和 MyBatis 框架属于 Model 层,View 层为视图层,展示给用户的界面,例如 HTML 界面等。

SpringMVC 框架主要是控制层请求的框架,是基于 Servlet 开发的轻量级框架,能够和 Spring 框架进行无缝整合。框架支持国际化、格式化转换、类型自动转换等功能,提供了丰富的控制层所用的功能。

MyBatis 框架为业务层之后的持久层,主要作用是操作数据库,是轻量级持久层框架。相对于 Hibernate 框架有很多优点,Hibernate 是一个相对重量级的持久层框架,对于 MyBatis 它是一个完全面向对象自动化的框架。MyBatis 上手快,使用简单,也是目前企业中使用的最多的持久层框架,极大的简化重复连接、断开连接操作过程,使用动态代理技术完成数据库操作的框架,也有较多的基于 MyBatis 的工具框架,丰富了框架的功能、简化了开发流程,促使 MyBatis 成为当前较为流行的持久层框架。

2.4 MySQL 数据库简介

MySQL 数据库是一款体积较小、开源且拥有数据库必需的功能[5],相对于 Oracle、SQLServer 数据库也毫不逊色,由于 MySQL 是一款免费的数据库软件,所以使用者也是非常之多,对于 Oracle 可以完成的功能和性能,企业都可以通过硬件和优化来实现,通过 MySQL 集群来提高数据库性能。MySQL 可以较少商业公司的成本支出,对于研究和学习都有很好的用途。MySQL 作为免费开源的数据库之首,在国内外都有很高的知名度,且用户群体也是相当之大,可以完美支持一个中小型网站的数据仓库,大型网站也可以采用 MySQL 集群的方式来支持,减少每个数据库的压力。MySQL 支持常用平台,例如 Linux、Windows、Mac 等操作系统都有相应的版本支持,对于不同平台的兼容性都很好。所以 MySQL 也是本次毕业设计项目高效成绩分析与管理系统的首选数据库。

第三章 系统分析

系统分析是设计系统和系统实现的基本条件,其主要是从系统用户的角度和用户的需求对系统需求彻底的分析和设计[1]。系统分析是对系统进行充分了解和设计实现系统不可或缺的过程,把复杂的系统通过分析来找出问题并解决问题,得到的结论和设想,并提出准确且有效的解决方案。

3.1 系统目标

本系统通过深入调查现在我国高校成绩管理业务和管理工作流程,最终确定了该系统的详细需求。通过本系统不但减少了教学成本的支出,而且便于学校及教师对学生成绩进行管理和分析学生成绩。本系统主要适用考试成绩管理需求的高校,为有学校管理成绩与教师分析学生成绩提供了极大的便利。

3.2 系统的需求分析

在软件设计中比较关键的一步就是需求分析,只有通过需求分析了解到用户的需要,才能设计出令用户满意的软件[1]。需求分析有利于减少软件成本,在需求分析过程中往往会发现系统不足,还可充分了解明确系统的需求功能,从而增加系统设计和开发过程中的效率。需求分析从以下两方面进行分析。

3.2.1 性能需求分析

系统的性能需求分析可以从性能、安全性、可靠性、易用性、兼容性、可移植性和可扩展性可维护性七方面进行分析[1],分析如下。

(1) 性能

系统配置的硬件环境应该高于系统必须要求的最低标准,系统运行时应有足够空间和完善的配置[1],以便能够充分发挥系统运行时的性能。

(2) 安全性

对于用户信息的安全保密,系统会保证用户的密码采用加密形式存储,在未登录未授权未系统认证通过的用户不可访问浏览系统内部数据,保证用户信息的安全。通过权限控制的方式限制角色拥有的权限,进而控制用户的功能,保证系统数据安全。

(3) 可靠性

当任何用户在任何时间访问系统时,系统都可以使用并能准确无误的完成操作,所有功能保持可用状态,保证用户随时访问。

(4) 易用性

对于学生或老师登录后,系统会提供一个简单舒适的页面效果,针对布局满足了人性化设计,能够让用户上手即可熟练操作,产品的设计充分考虑到了使用者的习惯,能够让用户很容易的上手操作。

(5) 兼容性

系统服务采用 Java 语言开发,所谓一处编译到处运行的理念,可以运行在 Linux、Windows、Mac OS 等可安装 Java 虚拟机的平台上,对于提供的服务是一样[4]。

用户在使用过程中可能会习惯于不同的浏览器,对于兼容不同的浏览器,系统需要支持主流浏览器的使用。

(6) 可移植性

由于 Java 开发系统可以跨平台使用,所以对于不同平台部署时,计算机的配置不尽相同,所以只需修改 Java 虚拟机的内存配置参数即可完成部署,可移植性良好。

(7) 可扩展可维护性

系统服务层采用接口与实现类的形式开发,对于后期要扩展相应的功能只需实现相应的接口编写对应的实现类接口,有效的降低了代码的耦合性,对系统的可扩展提供了保障。

系统中添加了日志跟踪,对于运行时可能会出现系统异常通过日志跟踪记录即可定位到异常的代码段,修改后重新部署到服务中,即可完成对系统的修复和改进。

3.2.2 功能需求分析

系统的主要功能主要是实现了管理员管理系统的基本信息,教师对学生信息的维护,学生查看和维护个人信息等功能,下面针对这三个身份登录后的功能来分析,分析如下:

(1) 管理员登录功能分析

管理员维护教师、学生用户信息,对学生成绩的上传和查看,成绩单的导入导出。可以查看指定学生的学习情况。可查看不同专业相同课程成绩对比结果,还可查看不同年级之间成绩对比情况。可通过成绩正态分布图可直观了解学生成绩分布情况,课程模块则可以对课程进行管理,安排课程学习周数和周长。管理员可维护系统的基础信息,例如学院专业班级信息、用户信息、角色权限信息、系统监控信息等功能。

系统管理员拥有系统的所有权限。

(2) 教师登录功能分析

教师登录后可以对所授学生进行管理,主要是对学生成绩的维护管理等功能,可以查看班级内学生的排名情况,对指定学生成绩查看分析结果,通过分析结果进行因材施教。可查看本专业学生成绩分布图,快速了解学生成绩情况,可对比指定课程不同专业之间成绩差异情况。教师还可以对课程进行查看,可查看自己所授课程和所在专业的课程,方便教师能更好的合理安排时间备课。

(3) 学生登录功能分析

学生登录后可以查看自己的考试成绩,并可以浏览所在班级内的排名和其他同学的成绩,系统会通过成绩分析生成学生成绩趋势图,学生可以通过浏览自己的成绩趋势图来判断自己的学习状态。学生可查看本班级课程表。

3.3 可行性分析

(1) 技术可行性研究

由于系统主要面向的是学校的学生,所以对系统的并发要求不是太高,所以对服务器的性能要求不高,对于一般的服务器即可能承受住访问,所以硬件条件要求不是太高。

使用现在 B/S 架构主流的 SpringMVC、Spring、MyBatis、SpringBoot 等框架开发,使用 Druid 连接池,使用框架极大的提高了开发效率,对后期维护有很大帮助。系统对成绩分析功能实现主要使用百度的 ECharts 实现折线图来展示成绩趋势图、成绩对比图和成绩分布图。批量导出使用 layui 内嵌组件实现文件的导出功能。批量导入实现使用阿里的 EesyExcel 工具实现,在 Apache 开源 POI 解析 Excel 基础上做了进一步优化,完美实现批量导入用户和成绩信息的功能。

综上所述,该系统的设计开发完全符合用户需求,技术上能够达到功能上和性能上的需求[12],在技术上是可行的。

(2) 经济可行性

系统适合大多数学校使用,且大大提高了工作效率,主要体现在以下几个方面:

首先,该系统的运行可以代替人工减少许多重复和复杂的工作;

第二,系统的运行可以节省大量的费用及时间;

第三,现学校经济条件较优越,办公电脑普遍;

因此,本系统在经济上是可行的。

(3) 社会可行性

学生人数也逐年增加,学校的管理工作日益繁多,学生成绩管理涉及到大量的数据处理,针对学生成绩趋势分析需要有新的突破,迫切需要一个分析型成绩管理系统来完成这项工作。

第四章 系统设计

4.1 系统设计原则及目标

分析型成绩管理系统主要为了解决学校管理学生成绩问题,为了提高学校教师工作效率,实时查看分析学生成绩趋势,学校对学生成绩达到统一管理的目的。严格按照软件工程学步骤进行系统设计,通过系统设计提高系统实现效率与质量。

4.2 系统架构设计

系统采用 B/S 架构实现,使用应用服务器 Tomcat 部署,前端采用 layui 实现,后端使用 SpringBoot+SSM 框架开发,数据库连接池使用 Druid 框架,前后端分离思想开发。

分析型成绩管理系统主要分为三个身份,管理员、教师、学生,不同身份权限不同,采用 Shiro 框架实现权限控制功能。前后端交互使用异步请求方式实现,提高用户体验度。

4.3 系统功能模块设计

分析型成绩管理系统是根据角色不同来划分的功能模块,每个角色有不同的功能。因此,一个功能完善、满足基本需要的学生成绩管理系统需要包含管理员功能模块、教师功能模块和学生功能模块。系统的功能结构图,如图 4-1 所示。

图 4-1 系统功能结构图

系统所有有功能流程图,如图 4-2 所示。

图 4-2 系统功能流程图

4.3.1 用户管理

系统用户的管理可通过管理员和教师来操作,管理员可对系统所有用户进行管理,教师只可对本专业学生进行管理操作,系统提供批量操作功能,可批量导入导出用户列表,极大提高了用户管理工作的效率。

批量导出功能是通过前端框架 layui 自带组件实现,可选择性的导出所需数据到 Excel 文档中。批量导入功能使用 EasyExcel 工具来实现,导入文档只需按照一定格式编写,系统会自动识别内容,将内容记录逐条插入到数据库中,优化了管理工作中只可单条添加的局限性。

用户管理模块中,可查看指定学生的成绩趋势图,当点击指定用户时,系统通过获取用户编号来查询数据库,通过学生每学期的考试成绩计算出学生每学期的总成绩,通过 ECharts 来展现成绩趋势图。

4.3.2 成绩管理

管理员和教师可对成绩进行管理,管理员可管理所有专业的成绩,而教师只可管理本专业成绩。成绩管理提供批量导入导出功能,每一条记录都可点击查看详细信息。系统提供批量删除功能和成绩录入修改功能,优化了教师对学生成绩管理的流程。

批量导入的文档需要按照指定格式编写,系统会分析文档内容进行数据库录入,系统会将按照成绩排名展示成绩列表。可按照学号、姓名模糊搜索学生成绩,可通过学年、学期来筛选指定学生成绩。系统自动统计排名,可对录入好的成绩进行修改操作。

学生只可查看本班级同学的成绩和排名情况,教师可查看本专业的成绩,管理员可查看所有学生的成绩。成绩展示列表以每学期总成绩计算。

4.3.3 成绩分析

系统会将学生成绩通过每个学期考试成绩进行分析统计,根据每个学期考试成绩绘制折线图,很直观的展示出学生的趋势走向。

不同专业不同年级相同课程之间成绩对比的实现是通过柱状图的形式展示,直观了解到成绩的差异性,柱状图的值代表成绩的平均分,通过不同专业间平均分的高低来衡量成绩的差异。通过对比条件不同来筛选该课程不同条件下的平均成绩结果。

成绩的正态分布图的实现是通过指定专业班级课程信息来展示成绩的分布情况,使用柱状图与折线图的形式展示,不同分数段之间人数的差异与分布情况。通过每隔 10 分一组进行检索该成绩段的人数,响应数据并展示。

分析功能的图表主要使用 ECharts 工具完成,将后台响应数据填充到图表中进行展示。

4.3.4 课程管理

管理员可管理课程,指定专业班级填写课程名称即可添加课程信息,提供增、删、改、查等功能。课程主要涉及到的信息有所属学院、专业、班级、年级、学年、学期、课程名称等信息。

4.3.5 课程表管理

课程表根据设置的上课时间、教师、周数、节数来展示课程安排,可对已安排的课程进行编辑删除操作。

课程表展示 jQuery 插件 Timetables 实现,获取课程表数据通过查询数据库当前专业信息和周数来查询指定课程表数据,并展示到前端界面。

4.3.6 系统信息管理

系统信息包括学院专业信息、年级信息、角色权限信息、登录日志信息和系统监控进行管理维护。管理员可对系统信息进行维护管理,以便系统能够正常运行。

4.4 数据库设计

数据库技术是互联网必需的基础,也是互联网项目不可或缺的重要技术。数据库的诞生,大大提高了计算机操作复杂数据的效率,简化了数据管理的复杂度。数据库设计也是完成一个拥有可扩展性、易操作性的系统不可或缺的重要环节。

4.4.1 数据库设计步骤

数据库设计按照系统使用用户角色进行模块化分析,主要针对管理员、教师、学生身份进行逐个分析,不同身份不同权限,通过建立索引进一步优化数据库设计。

针对以上涉及的表进行概念上和逻辑上的分析,完成对表间的关系及表内的字段进行分析。不断完善数据库设计,从而能够更顺利的支持成绩管理系统的开发工作。

4.4.2 数据库概念设计

(1) 系统用户、成绩、课程之间是有联系的,三者关系为一对多。关系如图 4-2 所示。

图 4-2 用户成绩课程关系图

(2) 系统用户、学院专业班级、年级之间是有联系的,学院专业班级与系统用户是,一对多的年级与系统用户是一对多的关系。关系如图 4-3 所示。

图 4-3 系统用户学院专业班级年级关系图

(3) 系统用户、角色、权限之间是有联系的,三者关系是 1 对多的关系。关系如图 4-4 所示。

详细描述

分析型成绩管理系统主要解决了高校教师对学生成绩的上传、修改、查看班级内学生的排名情况和系统对学生的近期成绩分析呈现的趋势图进行查看,实现不同专业相同课程成绩对比情况的查看,浏览学生成绩的正态分布情况,系统还提供了课程表的功能。管理员主要维护系统信息,对系统用户的管理,提供可批量操作功能,对用户信息可批量导入导.出,设计与实现一款极其人性化的管理系统

分享地址

复制地址转发给你的小伙伴: https://code99.top/1131.html

主题授权提示:请在后台主题设置-主题授权-激活主题的正版授权,授权购买:RiTheme官网

注册登录网站->在项目页面点击“立即购买”按钮->支付订单->网页内点击“点我下载”按钮(支付后可见)->完成下载

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

在项目页面的右上角,标题左方,会有“免费安装”或者“付费安装”字眼提示,如果是免费安装不需要付费即可安装,需要配合站长下载工具包等事项,操作步骤如下,http://code99.top/423.html,如果是付费则需要另外付费,站长提供了安装部署文档,可以自行安装。不想麻烦,则需要购买安装服务。购买地址如下:http://code99.top/453.html