







摘 要:本文針對傳統學生成績管理系統漏檢率高、響應時間過長等問題,設計了一種基于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.