














摘" 要:隨著信息技術的快速發展,教育領域對在線考試系統的需求持續增長。研究開發了一種基于Java的現代化在線考試系統,旨在優化管理,提高效率和質量。系統整合了前端Vue、后端Spring Boot框架等關鍵技術,采用MVC架構模式實現自動化考試安排和學生信息管理。經過測試,系統能夠滿足用戶需求,為用戶提供高效可靠的服務。相對線下考試模式,在線考試系統更加靈活,實現了考試過程中組卷、改卷、監考等操作全自動化管理。
關鍵詞:Java;在線考試;Spring Boot;系統功能
中圖分類號:TP311" 文獻標識碼:A" 文章編號:2096-4706(2024)12-0056-06
Design and Development of Online Examination System Based on Java
MA Huiqiang, ZENG Songxian, CHEN Yunsheng
(School of Information Engineering, Xinjiang Institute of Technology, Aksu" 843100, China)
Abstract: With the rapid advancement of information technology, the demand for online examination systems in the education sector continues to grow. This paper studies and develops a modern online examination system based on Java, aiming to optimize management, improve efficiency and quality. The system integrates key technologies such as front-end of Vue, back-end of Spring Boot framework, utilizes the MVC architectural mode to automate examination scheduling and student information management. Following rigorous testing, the system could meet user requirements and provide efficient and reliable services. Compared to traditional offline examination mode, online examination system offers increased flexibility, enabling automated management of operation such as question setting, grading, and invigilation.
Keywords: Java; online examination; Spring Boot; system function
0" 引" 言
近年來,隨著在線教育的興起和發展,借助信息化技術的在線考試系統研發在教育領域越來越受關注[1]。傳統的紙質考試存在著諸多問題,如閱卷煩瑣、作弊風險高等,而在線考試系統則可以通過自動化評分、反作弊功能等特點,提高考試效率和安全性,改善教學質量[2]。
面對這一趨勢,設計開發一個方便易用、功能完善的在線考試系統來滿足教學需求是十分重要的。而Java編程語言的獨有優勢,如跨平臺性、穩定性和豐富的開發工具支持,使其成為開發在線考試系統的理想之選。借助Java技術,我們可以實現用戶友好的界面設計、高效的數據處理和靈活的系統擴展,從而提升在線考試系統的整體性能和用戶體驗[3]。因此,本文旨在探討基于Java的在線考試系統設計與實現,以滿足教育機構和學生對于高效考試管理的需求。
1" 系統需求分析
1.1" 功能性需求
功能性需求主要是規定了系統所應具備的功能和行為,為系統的設計提供明晰的指導和框架。本文根據不同角色的用戶進行差異化功能設定,以下詳細闡述不同用戶角色的需求分析[4]。
1.1.1" 學生角色功能需求分析
學生用戶在系統中扮演著主要角色,其功能需求設計至關重要。用戶應具備更新和維護基礎信息(如用戶名、密碼、性別等)的權限,并且能夠實現參加考試、查詢結果等功能。
1.1.2" 教師角色功能需求分析
在線考試系統中,教師可以對教師和學生的信息進行增刪查改,可以通過新增試題和導入試題兩種方式添加題庫的題目,并進行修改組卷,然后將考卷分發給班級學生。學生完成考試后,教師根據系統評分進行試卷分析。這些功能的精心設計有助于教師有效地組織和管理考試流程,確保評分準確。
1.1.3" 管理員角色功能需求分析
作為在線考試系統的管理及維護者,管理員角色擁有系統的最高權限。管理員不僅可以對學生、教師/管理員賬戶進行增刪查改,還具有查看整個系統的題庫和試卷,并進行相關信息維護工作的權限。此外管理員可訪問數據中心,其中包含試卷和題目的數據總覽、系統負載情況以及系統活躍度和考試頻率等數據可視化功能。管理員功能涵蓋了教師的全部功能,并擴展了一些教師未具備的特定功能,主要包括:
1)對各用戶權限進行分配。
2)數據中心的管理,包括系統用戶活躍度、考試頻率等內容。
1.2" 系統非功能性需求分析
與功能需求不同,非功能需求著重于系統或軟件應具備的性能和質量特征,而非具體功能。因此,在線考試系統設計必須充分考慮各類非功能性需求,以保障系統的最佳運行。其中包括可伸縮性、可用性、可靠性、安全性、并發性、兼容性以及可訪問性等方面[5]。通過在設計和開發階段深入思考這些需求,可以確保系統符合用戶期望,提供無縫且安全的在線考試體驗。
2" 系統概要設計
2.1" 系統設計的目標
本系統的設計目標是利用信息化手段優化在線考試管理,通過引入自動化考試安排、評分等功能,顯著提高工作效率,減少人為錯誤和管理漏洞,進而提升在線考試管理的水平和質量。系統將為教師和學生提供便捷和高效的在線考試服務,以確保考試資源的合理利用,為用戶提供優質的在線考試體驗。
2.2" 系統整體架構設計
在線考試系統采用了前后端分離模式進行開發,系統架構如圖1所示。在前端方面,系統基于Vue框架構建用戶界面,并利用雙向數據綁定實現數據與視圖的同步更新[6]。同時,整合了Element-UI作為基于Vue.js的UI組件庫,提升用戶界面的交互性和美觀性。而在后端方面,系統采用了Spring Boot框架以及Spring Security來確保系統的整體安全性。此外,通過RabbitMQ進行消息隊列通信,顯著提高系統的實時性和可靠性。MyBatis-Plus被應用于簡化基于MyBatis的數據庫操作,提高數據訪問層的效率。數據庫方面選擇了MySQL作為數據存儲支持。
此外,項目還集成了人臉識別反作弊功能,該功能利用人臉識別技術進行身份驗證和反作弊監控[7]。前端通過攝像頭獲取用戶圖像數據,并定期上傳至AI開放平臺進行人臉識別檢測。后端接收返回結果,對正確用戶進行身份驗證并監測考試過程中的異常行為。這一功能有效提升了系統的安全性和可信度,確保考試過程的公平性和準確性。
2.3" 系統功能模塊設計
根據功能性需求分析,本文將在線考試系統劃分為四個模塊,包括管理員模塊、教師模塊、學生模塊和在線考試模塊[8]。如圖2所示,管理員模塊作為核心管理者,負責題庫和用戶信息的管理與維護,包括系統信息管理和成績管理等功能;教師模塊是關鍵參與者,涵蓋試題信息管理、學生成績管理和統計等功能;學生模塊作為主要使用者,完成教師和管理員發布的考試任務,功能包括信息查詢和參與考試等。在線考試模塊是系統核心部分,用于進行在線考試,并且為確保學生身份驗證和防止作弊,該模塊引入了人臉識別功能,包含個人身份驗證、考試成績查詢和作弊檢測等功能。這些模塊之間協同工作,實現了系統的全面運行。
3" 數據庫設計
數據庫在許多系統中扮演著存儲數據的關鍵角色,對系統的運行起著決定性作用。因此,在系統設計過程中,最為基礎和至關重要的工作是數據庫設計[9]。
3.1" 數據庫概念設計
在系統分析與設計的前期階段,數據庫的概念設計旨在規劃出符合需求的數據庫實體結構[10]。此過程通常借助E-R圖來表達概念模型。通過深入剖析系統需求,可以為各個用戶群體和特定功能定制一系列策略,進而展開數據庫表的詳細設計。
3.2 系統數據庫表的設計
本系統根據系統功能模塊設計結合用戶需求分析,對數據庫表進行如下設計。
3.2.1" 用戶表
用戶表用于管理存儲用戶信息,包括編號ID、用戶名、密碼等字段,如表1所示。
3.2.2" 學科表
學科表用于存儲學校學科信息,詳細字段內容如表2所示。
3.2.3" 試題表
試題表用來存儲題目信息,此表列出了題目信息相關重要字段,詳細字段內容如表3所示。
3.2.4" 試卷表
試卷表用來存儲試卷信息的數據結構,此表列出了試卷信息相關的重要字段,詳細字段內容如表4所示。
3.2.5" 題目答案表
題目答案表用來存儲用戶作答后的答案信息,此表列出了答案信息相關的重要字段,詳細字段內容如表5所示。
3.2.6" 答卷情況表
答卷情況表用來存儲用戶作答的試卷情況,此表列出了答卷情況相關的重要字段,詳細字段內容如表6所示。
4" 系統界面的實現
4.1" 用戶登錄管理功能
圖3為用戶登錄注冊界面,對于不同角色定位,首頁會將其對應的核心功能展示出來,方便用戶點擊訪問,學生用戶系統首頁如圖4所示,教師/管理員用戶成功登錄后,系統會加載出對應權限的功能模塊,如圖5所示。
4.2" 考試/批改/查閱試卷功能
學生用戶成功登錄后,可點擊對應的考試學科進行考試,圖6展示的是計算機基礎學科的考試界面,完成考試并交卷后,系統可實現批閱試卷,如圖7所示。
4.3" 反作弊監考功能
為了實現考試公平公正,系統中涵蓋反作弊監考功能。學生用戶進入考場開始考試,此時,系統獲取考生攝像頭權限,反作弊功能模塊同時啟動,其會不定時將視頻流截取圖片上傳到AI開放平臺進行檢測,通過檢測人臉情況以及人頭數量來判定考生是否存在作弊嫌疑,如圖8所示,如果作答人員發生變更或者監控區域出現其他無關人員,則觸發報警并提示用戶。
5" 系統測試
5.1" 系統功能測試
對于在線考試系統,從開發到測試會面臨著各種問題出現,因此,通過系統測試可以驗證系統需求和功能的一致性,發現并解決潛在問題,從而確保軟件質量和用戶滿意度[11]。系統部分測試功能結果如表7所示。
5.2" 測試結果分析
經過全面測試,系統的所有功能測試均通過,表明系統在功能實現方面達到了預期目標,并能按照需求規格和設計文檔要求正常運行。測試結果的通過性證明了系統在輸入驗證、功能邏輯驗證、界面驗證、異常處理驗證等方面的穩定性和準確性。這樣的良好測試結果為用戶提供了可靠的使用體驗,使系統能夠滿足在線考試的需求。
6" 結" 論
隨著信息技術的快速發展,網絡教育和在線考試系統逐漸成為教育領域的重要支柱。在這種背景下,本論文開發了一個能夠實現自動化考試安排和學生信息管理的在線考試系統,有效解決了傳統線下考試中組織耗時、不可避免出現錯誤以及難以確保效率和質量等問題。該系統還增強了結果分析能力,使教師更容易獲取基本數據信息。
參考文獻:
[1] 李偉,金梁.基于WAMP架構的Web在線考試系統設計 [J].自動化技術與應用,2023,42(5):162-165.
[2] 楊勤民,江志松.大學數學作業自動批改系統的設計與實踐 [J].華東師范大學學報:自然科學版,2022(2):76-83.
[3] 徐堯.基于J2EE架構的職業院校網上考試報名系統設計與實現 [D].濟南:山東大學,2021.
[4] 魏宜.C語言編程在線考試系統設計與實現 [D].武漢:華中科技大學,2020.
[5] 賈志培.在線考試系統的研究與實現 [D].濟南:山東大學,2021.
[6] 許甜欣.Web前端性能優化技術研究及檢測工具開發 [D].金華:浙江師范大學,2023.
[7] 吳劼.基于人臉識別與AI智能監測的考試系統設計 [J].電子技術,2022,51(12):70-73.
[8] 孫小雪,鐘輝,陳海鵬.基于決策樹分類技術的學生考試成績統計分析系統 [J].吉林大學學報:工學版,2021,51(5):1866-1872.
[9] 李捷.基于分布式爬蟲的在線考試系統設計與實現 [D].廈門:廈門大學,2021.
[10] 吳旭,徐華至,孫彥情,等.通用型高中模擬考試自動化成績分析系統的設計開發 [J].軟件,2023,44(4):59-64.
[11] 任煥海.基于B/S架構的在線考試系統設計與實現 [J].現代信息科技,2021,5(22):13-16.
作者簡介:馬惠強(1996—),男,回族,甘肅平涼人,助教,碩士研究生,研究方向:醫學信息;通訊作者:陳云生(1995—),男,漢族,河南駐馬店人,講師,碩士研究生,研究方向:軟件工程。