摘" 要:隨著信息技術(shù)的快速發(fā)展,教育領(lǐng)域?qū)υ诰€考試系統(tǒng)的需求持續(xù)增長。研究開發(fā)了一種基于Java的現(xiàn)代化在線考試系統(tǒng),旨在優(yōu)化管理,提高效率和質(zhì)量。系統(tǒng)整合了前端Vue、后端Spring Boot框架等關(guān)鍵技術(shù),采用MVC架構(gòu)模式實現(xiàn)自動化考試安排和學(xué)生信息管理。經(jīng)過測試,系統(tǒng)能夠滿足用戶需求,為用戶提供高效可靠的服務(wù)。相對線下考試模式,在線考試系統(tǒng)更加靈活,實現(xiàn)了考試過程中組卷、改卷、監(jiān)考等操作全自動化管理。
關(guān)鍵詞:Java;在線考試;Spring Boot;系統(tǒng)功能
中圖分類號:TP311" 文獻(xiàn)標(biāo)識碼: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" 引" 言
近年來,隨著在線教育的興起和發(fā)展,借助信息化技術(shù)的在線考試系統(tǒng)研發(fā)在教育領(lǐng)域越來越受關(guān)注[1]。傳統(tǒng)的紙質(zhì)考試存在著諸多問題,如閱卷煩瑣、作弊風(fēng)險高等,而在線考試系統(tǒng)則可以通過自動化評分、反作弊功能等特點,提高考試效率和安全性,改善教學(xué)質(zhì)量[2]。
面對這一趨勢,設(shè)計開發(fā)一個方便易用、功能完善的在線考試系統(tǒng)來滿足教學(xué)需求是十分重要的。而Java編程語言的獨(dú)有優(yōu)勢,如跨平臺性、穩(wěn)定性和豐富的開發(fā)工具支持,使其成為開發(fā)在線考試系統(tǒng)的理想之選。借助Java技術(shù),我們可以實現(xiàn)用戶友好的界面設(shè)計、高效的數(shù)據(jù)處理和靈活的系統(tǒng)擴(kuò)展,從而提升在線考試系統(tǒng)的整體性能和用戶體驗[3]。因此,本文旨在探討基于Java的在線考試系統(tǒng)設(shè)計與實現(xiàn),以滿足教育機(jī)構(gòu)和學(xué)生對于高效考試管理的需求。
1" 系統(tǒng)需求分析
1.1" 功能性需求
功能性需求主要是規(guī)定了系統(tǒng)所應(yīng)具備的功能和行為,為系統(tǒng)的設(shè)計提供明晰的指導(dǎo)和框架。本文根據(jù)不同角色的用戶進(jìn)行差異化功能設(shè)定,以下詳細(xì)闡述不同用戶角色的需求分析[4]。
1.1.1" 學(xué)生角色功能需求分析
學(xué)生用戶在系統(tǒng)中扮演著主要角色,其功能需求設(shè)計至關(guān)重要。用戶應(yīng)具備更新和維護(hù)基礎(chǔ)信息(如用戶名、密碼、性別等)的權(quán)限,并且能夠?qū)崿F(xiàn)參加考試、查詢結(jié)果等功能。
1.1.2" 教師角色功能需求分析
在線考試系統(tǒng)中,教師可以對教師和學(xué)生的信息進(jìn)行增刪查改,可以通過新增試題和導(dǎo)入試題兩種方式添加題庫的題目,并進(jìn)行修改組卷,然后將考卷分發(fā)給班級學(xué)生。學(xué)生完成考試后,教師根據(jù)系統(tǒng)評分進(jìn)行試卷分析。這些功能的精心設(shè)計有助于教師有效地組織和管理考試流程,確保評分準(zhǔn)確。
1.1.3" 管理員角色功能需求分析
作為在線考試系統(tǒng)的管理及維護(hù)者,管理員角色擁有系統(tǒng)的最高權(quán)限。管理員不僅可以對學(xué)生、教師/管理員賬戶進(jìn)行增刪查改,還具有查看整個系統(tǒng)的題庫和試卷,并進(jìn)行相關(guān)信息維護(hù)工作的權(quán)限。此外管理員可訪問數(shù)據(jù)中心,其中包含試卷和題目的數(shù)據(jù)總覽、系統(tǒng)負(fù)載情況以及系統(tǒng)活躍度和考試頻率等數(shù)據(jù)可視化功能。管理員功能涵蓋了教師的全部功能,并擴(kuò)展了一些教師未具備的特定功能,主要包括:
1)對各用戶權(quán)限進(jìn)行分配。
2)數(shù)據(jù)中心的管理,包括系統(tǒng)用戶活躍度、考試頻率等內(nèi)容。
1.2" 系統(tǒng)非功能性需求分析
與功能需求不同,非功能需求著重于系統(tǒng)或軟件應(yīng)具備的性能和質(zhì)量特征,而非具體功能。因此,在線考試系統(tǒng)設(shè)計必須充分考慮各類非功能性需求,以保障系統(tǒng)的最佳運(yùn)行。其中包括可伸縮性、可用性、可靠性、安全性、并發(fā)性、兼容性以及可訪問性等方面[5]。通過在設(shè)計和開發(fā)階段深入思考這些需求,可以確保系統(tǒng)符合用戶期望,提供無縫且安全的在線考試體驗。
2" 系統(tǒng)概要設(shè)計
2.1" 系統(tǒng)設(shè)計的目標(biāo)
本系統(tǒng)的設(shè)計目標(biāo)是利用信息化手段優(yōu)化在線考試管理,通過引入自動化考試安排、評分等功能,顯著提高工作效率,減少人為錯誤和管理漏洞,進(jìn)而提升在線考試管理的水平和質(zhì)量。系統(tǒng)將為教師和學(xué)生提供便捷和高效的在線考試服務(wù),以確??荚囐Y源的合理利用,為用戶提供優(yōu)質(zhì)的在線考試體驗。
2.2" 系統(tǒng)整體架構(gòu)設(shè)計
在線考試系統(tǒng)采用了前后端分離模式進(jìn)行開發(fā),系統(tǒng)架構(gòu)如圖1所示。在前端方面,系統(tǒng)基于Vue框架構(gòu)建用戶界面,并利用雙向數(shù)據(jù)綁定實現(xiàn)數(shù)據(jù)與視圖的同步更新[6]。同時,整合了Element-UI作為基于Vue.js的UI組件庫,提升用戶界面的交互性和美觀性。而在后端方面,系統(tǒng)采用了Spring Boot框架以及Spring Security來確保系統(tǒng)的整體安全性。此外,通過RabbitMQ進(jìn)行消息隊列通信,顯著提高系統(tǒng)的實時性和可靠性。MyBatis-Plus被應(yīng)用于簡化基于MyBatis的數(shù)據(jù)庫操作,提高數(shù)據(jù)訪問層的效率。數(shù)據(jù)庫方面選擇了MySQL作為數(shù)據(jù)存儲支持。
此外,項目還集成了人臉識別反作弊功能,該功能利用人臉識別技術(shù)進(jìn)行身份驗證和反作弊監(jiān)控[7]。前端通過攝像頭獲取用戶圖像數(shù)據(jù),并定期上傳至AI開放平臺進(jìn)行人臉識別檢測。后端接收返回結(jié)果,對正確用戶進(jìn)行身份驗證并監(jiān)測考試過程中的異常行為。這一功能有效提升了系統(tǒng)的安全性和可信度,確??荚囘^程的公平性和準(zhǔn)確性。
2.3" 系統(tǒng)功能模塊設(shè)計
根據(jù)功能性需求分析,本文將在線考試系統(tǒng)劃分為四個模塊,包括管理員模塊、教師模塊、學(xué)生模塊和在線考試模塊[8]。如圖2所示,管理員模塊作為核心管理者,負(fù)責(zé)題庫和用戶信息的管理與維護(hù),包括系統(tǒng)信息管理和成績管理等功能;教師模塊是關(guān)鍵參與者,涵蓋試題信息管理、學(xué)生成績管理和統(tǒng)計等功能;學(xué)生模塊作為主要使用者,完成教師和管理員發(fā)布的考試任務(wù),功能包括信息查詢和參與考試等。在線考試模塊是系統(tǒng)核心部分,用于進(jìn)行在線考試,并且為確保學(xué)生身份驗證和防止作弊,該模塊引入了人臉識別功能,包含個人身份驗證、考試成績查詢和作弊檢測等功能。這些模塊之間協(xié)同工作,實現(xiàn)了系統(tǒng)的全面運(yùn)行。
3" 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫在許多系統(tǒng)中扮演著存儲數(shù)據(jù)的關(guān)鍵角色,對系統(tǒng)的運(yùn)行起著決定性作用。因此,在系統(tǒng)設(shè)計過程中,最為基礎(chǔ)和至關(guān)重要的工作是數(shù)據(jù)庫設(shè)計[9]。
3.1" 數(shù)據(jù)庫概念設(shè)計
在系統(tǒng)分析與設(shè)計的前期階段,數(shù)據(jù)庫的概念設(shè)計旨在規(guī)劃出符合需求的數(shù)據(jù)庫實體結(jié)構(gòu)[10]。此過程通常借助E-R圖來表達(dá)概念模型。通過深入剖析系統(tǒng)需求,可以為各個用戶群體和特定功能定制一系列策略,進(jìn)而展開數(shù)據(jù)庫表的詳細(xì)設(shè)計。
3.2 系統(tǒng)數(shù)據(jù)庫表的設(shè)計
本系統(tǒng)根據(jù)系統(tǒng)功能模塊設(shè)計結(jié)合用戶需求分析,對數(shù)據(jù)庫表進(jìn)行如下設(shè)計。
3.2.1" 用戶表
用戶表用于管理存儲用戶信息,包括編號ID、用戶名、密碼等字段,如表1所示。
3.2.2" 學(xué)科表
學(xué)科表用于存儲學(xué)校學(xué)科信息,詳細(xì)字段內(nèi)容如表2所示。
3.2.3" 試題表
試題表用來存儲題目信息,此表列出了題目信息相關(guān)重要字段,詳細(xì)字段內(nèi)容如表3所示。
3.2.4" 試卷表
試卷表用來存儲試卷信息的數(shù)據(jù)結(jié)構(gòu),此表列出了試卷信息相關(guān)的重要字段,詳細(xì)字段內(nèi)容如表4所示。
3.2.5" 題目答案表
題目答案表用來存儲用戶作答后的答案信息,此表列出了答案信息相關(guān)的重要字段,詳細(xì)字段內(nèi)容如表5所示。
3.2.6" 答卷情況表
答卷情況表用來存儲用戶作答的試卷情況,此表列出了答卷情況相關(guān)的重要字段,詳細(xì)字段內(nèi)容如表6所示。
4" 系統(tǒng)界面的實現(xiàn)
4.1" 用戶登錄管理功能
圖3為用戶登錄注冊界面,對于不同角色定位,首頁會將其對應(yīng)的核心功能展示出來,方便用戶點擊訪問,學(xué)生用戶系統(tǒng)首頁如圖4所示,教師/管理員用戶成功登錄后,系統(tǒng)會加載出對應(yīng)權(quán)限的功能模塊,如圖5所示。
4.2" 考試/批改/查閱試卷功能
學(xué)生用戶成功登錄后,可點擊對應(yīng)的考試學(xué)科進(jìn)行考試,圖6展示的是計算機(jī)基礎(chǔ)學(xué)科的考試界面,完成考試并交卷后,系統(tǒng)可實現(xiàn)批閱試卷,如圖7所示。
4.3" 反作弊監(jiān)考功能
為了實現(xiàn)考試公平公正,系統(tǒng)中涵蓋反作弊監(jiān)考功能。學(xué)生用戶進(jìn)入考場開始考試,此時,系統(tǒng)獲取考生攝像頭權(quán)限,反作弊功能模塊同時啟動,其會不定時將視頻流截取圖片上傳到AI開放平臺進(jìn)行檢測,通過檢測人臉情況以及人頭數(shù)量來判定考生是否存在作弊嫌疑,如圖8所示,如果作答人員發(fā)生變更或者監(jiān)控區(qū)域出現(xiàn)其他無關(guān)人員,則觸發(fā)報警并提示用戶。
5" 系統(tǒng)測試
5.1" 系統(tǒng)功能測試
對于在線考試系統(tǒng),從開發(fā)到測試會面臨著各種問題出現(xiàn),因此,通過系統(tǒng)測試可以驗證系統(tǒng)需求和功能的一致性,發(fā)現(xiàn)并解決潛在問題,從而確保軟件質(zhì)量和用戶滿意度[11]。系統(tǒng)部分測試功能結(jié)果如表7所示。
5.2" 測試結(jié)果分析
經(jīng)過全面測試,系統(tǒng)的所有功能測試均通過,表明系統(tǒng)在功能實現(xiàn)方面達(dá)到了預(yù)期目標(biāo),并能按照需求規(guī)格和設(shè)計文檔要求正常運(yùn)行。測試結(jié)果的通過性證明了系統(tǒng)在輸入驗證、功能邏輯驗證、界面驗證、異常處理驗證等方面的穩(wěn)定性和準(zhǔn)確性。這樣的良好測試結(jié)果為用戶提供了可靠的使用體驗,使系統(tǒng)能夠滿足在線考試的需求。
6" 結(jié)" 論
隨著信息技術(shù)的快速發(fā)展,網(wǎng)絡(luò)教育和在線考試系統(tǒng)逐漸成為教育領(lǐng)域的重要支柱。在這種背景下,本論文開發(fā)了一個能夠?qū)崿F(xiàn)自動化考試安排和學(xué)生信息管理的在線考試系統(tǒng),有效解決了傳統(tǒng)線下考試中組織耗時、不可避免出現(xiàn)錯誤以及難以確保效率和質(zhì)量等問題。該系統(tǒng)還增強(qiáng)了結(jié)果分析能力,使教師更容易獲取基本數(shù)據(jù)信息。
參考文獻(xiàn):
[1] 李偉,金梁.基于WAMP架構(gòu)的Web在線考試系統(tǒng)設(shè)計 [J].自動化技術(shù)與應(yīng)用,2023,42(5):162-165.
[2] 楊勤民,江志松.大學(xué)數(shù)學(xué)作業(yè)自動批改系統(tǒng)的設(shè)計與實踐 [J].華東師范大學(xué)學(xué)報:自然科學(xué)版,2022(2):76-83.
[3] 徐堯.基于J2EE架構(gòu)的職業(yè)院校網(wǎng)上考試報名系統(tǒng)設(shè)計與實現(xiàn) [D].濟(jì)南:山東大學(xué),2021.
[4] 魏宜.C語言編程在線考試系統(tǒng)設(shè)計與實現(xiàn) [D].武漢:華中科技大學(xué),2020.
[5] 賈志培.在線考試系統(tǒng)的研究與實現(xiàn) [D].濟(jì)南:山東大學(xué),2021.
[6] 許甜欣.Web前端性能優(yōu)化技術(shù)研究及檢測工具開發(fā) [D].金華:浙江師范大學(xué),2023.
[7] 吳劼.基于人臉識別與AI智能監(jiān)測的考試系統(tǒng)設(shè)計 [J].電子技術(shù),2022,51(12):70-73.
[8] 孫小雪,鐘輝,陳海鵬.基于決策樹分類技術(shù)的學(xué)生考試成績統(tǒng)計分析系統(tǒng) [J].吉林大學(xué)學(xué)報:工學(xué)版,2021,51(5):1866-1872.
[9] 李捷.基于分布式爬蟲的在線考試系統(tǒng)設(shè)計與實現(xiàn) [D].廈門:廈門大學(xué),2021.
[10] 吳旭,徐華至,孫彥情,等.通用型高中模擬考試自動化成績分析系統(tǒng)的設(shè)計開發(fā) [J].軟件,2023,44(4):59-64.
[11] 任煥海.基于B/S架構(gòu)的在線考試系統(tǒng)設(shè)計與實現(xiàn) [J].現(xiàn)代信息科技,2021,5(22):13-16.
作者簡介:馬惠強(qiáng)(1996—),男,回族,甘肅平?jīng)鋈?,助教,碩士研究生,研究方向:醫(yī)學(xué)信息;通訊作者:陳云生(1995—),男,漢族,河南駐馬店人,講師,碩士研究生,研究方向:軟件工程。