APP下载

基于Highcharts的高职校学生成绩管理系统设计

2024-12-16辛翠平

中国新技术新产品 2024年22期

摘 要:本文针对传统学生成绩管理系统漏检率高、响应时间过长等问题,设计了一种基于Highcharts的学生成绩管理系统。其硬件包括主控器、传感器和转换器。主控器执行数据计算,传感器监测、收集成绩信息,转换器将物理量转换为数字信号。软件部分包括采用KNN算法进行的数据采集、数据预处理、数据转换和特征提取等相关设计。系统测试表明,与传统学生成绩管理系统相比,本系统的漏检率较低,响应时间更短,运行性能良好,具有一定的推广价值。

关键词:Highcharts;高职校学生;成绩管理;KNN算法

中图分类号:TP 311 " " " " " 文献标志码:A

学生成绩管理系统是高职院校构建学生管理体系的重要组成。利用系统功能,教师可对学生成绩信息进行排名、检索、增加和删除等操作,学生也可以自查个人成绩,及时了解学习情况。因此,为实现学生成绩管理数字化,各类系统不断出现,学界对此也进行了积极探讨。例如,汝晓玲[1]开发了一种面向课程的小型成绩管理系统;夏小翔[2]设计了基于Echarts的学生成绩管理系统,对成绩进行查询管理,并采用Echarts技术展示了所获数据;杨洪涛[3]采用前、后端分离技术,设计了一种成绩管理系统,提高了成绩管理效率。综合所述,虽然上述系统提高了工作效率,但是依然漏检率较高且响应时间较长。随着可视化技术发展,Highcharts成为一款强大的可视化库,被广泛应用于信息查询系统中[4]。因此本文设计了一种基于Highcharts的学生成绩管理系统,能够解决多数成绩管理问题,满足广大师生获取信息的基本要求。

1 整体设计

系统设计面向全体师生,结合成绩管理与工作需要,并基于“前端+后端”的思想,整体部署使用Docker容器化应用,并将Nginx作为反向代理,其整体结构如图1所示。系统由显示层、服务层与数据层构成,其中,显示层将Vue.Js作为前端框架,将集成Highcharts作为数据可视化工具,用于展示成绩相关的图表;服务层使用Node.Js和Express.Js构建Restful API,采用成绩统计分析算法处理数据逻辑和业务规则,能够保证数据的正确性,并保障数据安全;数据层使用MySQL存储成绩相关数据。整体设计考虑了系统架构和层次组织,旨在提供稳定、高效的学生成绩管理和可视化服务。

2 硬件设计

硬件设计是保证系统稳定运行和用户满意的关键因素。在设计过程中,应充分考虑性能、可靠性、安全性和成本效益,以满足不同用户的需求和系统的长期运行要求。

2.1 主控器

主控器是系统内核,本系统选择ARM Cortex单片机,能够保证有足够算力处理传感器实时数据,并通过算法使结果返回传感器。单片机电路设计如图2所示,其工作原理如下所示。当电源接入电路时,首先,通过VCC端口提供稳定电压,电压随后经过熔断器,作为首道防线防止异常损伤。其次,电源电压通过变压器转换适应不同电压需求。电容器C3负责平滑电源线,消除波动和噪声,保证敏感元件获得稳定电源。同时,XTAL1与XTAL2开始提供时钟信号。ARM Cortex作为电路大脑,接收时钟信号后开始执行初始化、执行算法等预设程序。通过RXD端口接收传感器数据,用于监测环境或接收指令。当接收数据后,通过TXD端口发送到外部设备,以实现启停、调节等控制动作。在该过程中,电阻器和电容器用于放大、过滤和稳定,以此保证信号可靠性;变压器用于增强系统抗干扰能力,保证数据传输稳定性。最终,主控器电路通过精确的信号处理和逻辑控制,实现了外设自动管理,保证系统的高效运行和稳定控制。

2.2 传感器

传感器用于监测、收集成绩信息,并将数据发送给主控器计算。传感器电路如图3所示。系统采用单向运动传感器电路,用于检测沿某一方向运行的数据,忽略反方向运行数据。该电路使用2个传感器来识别仅沿某一方向运行的数据,Q1传感器用于产生短脉冲,Q2传感器用于阻止变动。在MC140118比较器的运转下,Q2传感器处的光中断,在C点产生短脉冲,只有当A处出现高信号时,该短脉冲才会出现在输出端。如果光到达Q1且满足数据经过Q2时被阻挡,表示方向是从Q1到Q2。由此,主控器便可利用编程逻辑对这些数据做进一步处理,以获得准确的测量结果。

2.3 转换器

由于传感器监测的部分数据以模拟信号输出,ARM Cortex无法直接处理,因此需要转换器进行转换。本文采用AD558KD模数转换器将物理量转换为数字信号。转换后,ARM Cortex可以对这些数据进行滤波、校准和运算,处理后的数据可由串行通信接口发送到其他系统,以此对数据进行实时监控、远程控制或存储分析。转换器管脚如图4所示。传感器监测、收集的模拟信号从引脚1、2输入,处理后的数字信号从引脚3、7输出,同时传至ARM Cortex。总体来看,转换器经过数据转换和处理环节,实现了从模拟信号到数字信号,再到控制信号或模拟输出的全面转换,为嵌入式系统的应用提供了必要的数据接口和处理能力。

3 算法引入

KNN(K-Nearest Neighbors)算法是一种基本回归算法,能够根据输入样本的特征,将其划分到离其最近的邻居中并进行预测。运用算法前,应综合判断学生成绩,为后期评估做好优化。在工作中,如果信息分类合理,那么需要进行动态调整,分析错误信息,发现问题参数。如果变化对分类未产生较大影响,那么应在调整后判断其他参数。由于成绩信息多样,因此运用KNN算法可有效提升处理效率。以成绩排名为例,如果部分学生的成绩相差较小,其排序相对接近,那么可将其划分为“簇”,运用KNN算法检索这些“簇”,并根据不同“簇”进行排名,主要流程包括收集成绩信息并构建相似矩阵u,如公式(1)所示。

(1)

式中:|l1,l2|为各“簇”的交集;|l1|、|l2|分别对应不同成绩。

计算|l1|、|l2|后得出成绩近似水平,数值越低,表示成绩相似度越高,这样便可对成绩信息进行分类,使其更好地辅助软件设计。

4 软件设计

在硬件设计基础上,结合上述KNN算法相似矩阵进行软件设计。软件设计主要包括数据采集、数据预处理、数据转换以及特征提取等流程。通过这些步骤,可将原始数据转化为符合系统需求的可用数据,并最终进行展示。在系统中,这些数据可用于生成各种图表,帮助用户更直观地理解和分析成绩信息。

4.1 数据采集

收集学生成绩数据,包括学生信息(姓名、学号和班级)以及成绩数据(各科分数、考试时间和学期)。管理员手动输入成绩数据,允许通过CSV文件格式批量导入数据,接口与教务系统对接,自动同步学生成绩数据。

4.2 数据预处理

因为收集的数据类型多样,所以应对初始数据进行预处理。待采集完成后,对数据进行清洗,处理缺失值、异常值和重复值。缺失值可使用填充、删除或插值的方法;异常值可使用识别异常高或异常低的方法;重复值应检测并删除重复记录。预处理结果如公式(2)所示。

(2)

式中:f为预处理结果;ω为处理因子;s为学生信息;g为成绩数据。

定义学生信息与成绩数据,设置信息表,将其代入后计算预处理结果,保证预处理的安全性和完整性,并采用适当的备份策略。

4.3 数据转换

得到预处理结果后,将数据缩放到特定范围(例如0~1),以此消除不同特征间的量纲影响。对于分类数据,例如性别、年级等,将独热编码转换为数值数据。利用KNN算法对数据进行转换处理,使其具有零均值,以提高算法的性能和准确性。选择最相关和有区分性的特征,以此减少维度和噪声。一个简单的数据转换代码如下所示。

#加载数据

data=[1,2,3,4,5]

#创建转换器

scaler=StandardScaler()

#转换数据

print(standardized_data)

4.4 特征提取

KNN算法对特征尺度比较敏感,应先对特征进行缩放,利用特征重要性评估来选择与问题具有区分性的特征。分析特征与目标变量(成绩)间的相关性,剔除不相关或弱相关的特征。由于特征提取涉及数据较多,可能会出现溢出情况,因此可利用线性判别分析(LDA),在保留多数信息的同时减少特征数量,以此降低过拟合风险。提取过程如公式(3)所示。

(3)

式中:x为特征提取参数;a为特征因子;r为数据类型;i为不稳定因子。

得到特征提取参数后,对数据进行归纳,剔除列中值,减少空值与冗值,以此提高模型的数据表达能力,自此本系统的软件设计工作完成。

5 系统测试

5.1 测试配置

为验证系统设计的有效性,本文在Wokwi平台上进行仿真测试。CPU选用Intel Core Ultra 5134U,GPU选择RTX 3090。将传统学生成绩管理系统与本系统进行比较,测试环境相同,以此保证变量唯一。数据来自某校教务中心,本文收集了相关成绩信息,并比较漏检率与响应时间。

5.2 漏检率

本系统与传统学生成绩管理系统的漏检情况比较结果见表1。由测试可知,本系统的漏检率较低,由于本系统可有效检索数据,因此能够精准查询到成绩信息。而传统学生成绩管理系统在待检人数较少情况下的漏检率较低,但当待检人数增多时,漏检率也随之提高。原因是传统学生成绩管理系统在待检人数较多情况下的工作效率较低,导致无法精准查询到成绩信息。由此可见,本系统比传统学生成绩管理系统的漏检率低,表明本系统有效性较好。

5.3 响应时间

设置5、10、15、20、25和30个并发用户数,在相同网络条件下统计2个系统的响应时间(见表2)。由纵向比较可知,用户数越多,系统响应时间越长;由横向比较可知,无论是增加还是删除信息,本系统的响应时间均少于传统学生成绩管理系统,运行性能更好。

6 结语

学生成绩信息管理系统是建设智慧校园的重要构成。为便于成绩管理,本文利用KNN算法,设计了一种基于Highcharts的学生成绩管理系统,根据任务需求分别完成了软、硬件的相关设计工作。测试表明,与传统学生成绩管理系统相比,本系统漏检率更低,响应时间也较短,能够有效提升信息掌控力,实现成绩信息的无纸化管理。但是目前的研究尚处于初期,后续随着技术不断升级,将结合大数据技术,进一步优化处理能力,实现人性化服务。

参考文献

[1]汝晓玲.一种面向高校的小型课程成绩管理系统的研究与设计[J].西安文理学院学报(自然科学版),2023,26(4):55-58.

[2]夏小翔.基于Echarts学生成绩管理系统设计[J].鄂州大学学报,2023,30(5):99-101.

[3]杨洪涛.基于Python+MySQL的学生成绩管理系统的设计与实现[J].电脑编程技巧与维护,2023(5):86-89.

[4]周超.基于Spring微服务与Highcharts整合架构的Web应用[J].无线互联科技,2023,20(16):109-111,123.