在線考試系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
在線考試系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
在線考試系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
在線考試系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
在線考試系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩63頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

在線考試系統(tǒng)的設(shè)計與實現(xiàn)

摘要隨著計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,越來越多的考試開始采用在線考試的形式,如一些職稱考試、招聘筆試等。采用在線考試系統(tǒng),無需印刷試卷,可以有效降低考試成本,也有利于環(huán)保;且老師無需收發(fā)試卷、監(jiān)考、批改試卷,能夠解決繁重的考務(wù)工作;還有學(xué)生在線考試能夠提高考試效率,而且也方便進(jìn)行數(shù)據(jù)統(tǒng)計分析,因此對本課題展開研究是很有意義的。本系統(tǒng)主要特色:本系統(tǒng)可自動組卷,減輕教師工作量,還可對試卷進(jìn)行更換試題,方便老師修改試卷。在考試過程中,學(xué)生斷線重新登錄系統(tǒng)后,系統(tǒng)能夠返回學(xué)生已經(jīng)回答的題目答案。在學(xué)生考完試后,系統(tǒng)能夠自動閱卷,減少閱卷的人工投入。考試結(jié)束后,系統(tǒng)提供圖形方式,方便教師直觀地查看試卷分析,能夠了解學(xué)生對哪些章節(jié)、哪些內(nèi)容掌握的不夠充分,可以有針對性的對試卷進(jìn)行講解。系統(tǒng)采用前后端分離設(shè)計與實現(xiàn),這有助于加快了整體響應(yīng)速度。本文首先分析了課題的研究背景,論述了在線考試系統(tǒng)的國內(nèi)外研究現(xiàn)狀;第二,本文介紹了系統(tǒng)需要用到的技術(shù),接著按照軟件工程的思想進(jìn)行需求分析、總體設(shè)計、詳細(xì)設(shè)計,設(shè)計并實現(xiàn)了學(xué)生的考試、查看成績功能,老師的試卷管理、考試安排、試卷分析、成績管理功能,管理員的用戶管理、班級管理、題庫管理、試卷管理、考試安排、試卷分析、成績管理等功能。關(guān)鍵詞:在線考試系統(tǒng),自動組卷,自動閱卷,試卷分析

AbstractWiththedevelopmentofcomputertechnologyandnetworktechnology,moreandmoreexamshavebeguntotaketheformofonlineexams,suchassomeprofessionaltitles,recruitmentandwrittentests.Onlineexaminationsystem,withoutprintingtestpapers,caneffectivelyreducethecostoftheexamination,butalsoconducivetoenvironmentalprotection;andteachersdonotneedtosendandreceivetestpapers,invigilate,correctingtestpapers,cansolvetheheavyexaminationwork;therearestudentsonlineexaminationcanimprovetheefficiencyoftheexamination,butalsofacilitatethestatisticalanalysisofdata,soitisverymeaningfultocarryoutresearchonthistopic.Themainfeaturesofthissystem:Thesystemcanautomaticallysetupthevolumetoreducetheworkloadoftheteacher.Itcanalsoreplacethetestpapersforthetestpapers,sothattheteacherscanmodifytheautomaticallygeneratedtestpaperswhentheyarenotsatisfied.Duringtheexaminationprocess,afterthestudentdisconnectsandlogsbackintothesystem,thesystemcanreturntheanswerstothequestionsthatthestudenthasalreadyanswered.Afterthestudentshavefinishedthetest,thesystemcanautomaticallycheckthevolumeandreducethemanualinputofthemarking.Aftertheexamination,thesystemprovidesgraphicstofacilitateteacherstoviewtheanalysisofthetestpaperintuitively,andtounderstandwhichknowledgepointsthestudentshavenotmasteredadequatelyandexplainpertinently.Thesystemisdesignedandimplementedbyfront-endandback-endseparation,whichhelpstoacceleratetheoverallresponsespeed.Firstly,thispaperanalysestheresearchbackgroundofthesubject,anddiscussestheresearchstatusoftheonlineexaminationsystemathomeandabroad.Secondly,thispaperintroducesthetechnologythatthesystemneedstouse.Then,accordingtotheideaofsoftwareengineering,itcarriesouttherequirementanalysis,overalldesignanddetaileddesign,designsandrealizesthefunctionsofstudents'examinationandexaminationresults,teachers'examinationpapermanagement,examinationarrangement,examinationpaperanalysis,andsoon.Achievementmanagementfunction,administrator'susermanagement,classmanagement,questionbankmanagement,examinationpapermanagement,examinationarrangement,examinationKeywords:onlineexaminationsystem,frontandrearendseparation,automatictestpapergeneration,automaticmarking,examinationpaperanalysis

目錄1 緒論 緒論項目背景考試不僅是教學(xué)過程中的重要環(huán)節(jié),也是檢查教學(xué)效果和評價教學(xué)質(zhì)量的重要手段[1]。在傳統(tǒng)的考試方式中,一般要經(jīng)過老師找題、出卷、印刷試卷、學(xué)生考試、人工閱卷、公布成績等過程,這需要大量的人力物力資源,而且周期長、工作量大、容易出錯、更受地區(qū)的限制,這就使得組織整個考試的成本和難度大大增加,而且可能存在人工干預(yù)考試公平性的問題。隨著計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,無紙化考試應(yīng)運而生,并逐步成為一種備受關(guān)注的新型考試形式[2]。通過開發(fā)在線考試系統(tǒng),可以有效降低考試成本、解決繁重的考務(wù)工作、提高考試效率、提高考試的公平性。由系統(tǒng)生成試卷、實現(xiàn)閱卷、保存成績和統(tǒng)計分?jǐn)?shù),提高了考試的嚴(yán)密性和安全性。課題正是基于這樣的實際需要背景下提出并展開研究的。在線考試系統(tǒng)的具體優(yōu)勢如下:在線考試系統(tǒng)完全擺脫了紙張、印刷等的消耗,從出題到考試、公布成績到考試分析都是通過互聯(lián)網(wǎng)傳輸數(shù)據(jù),所有的學(xué)生信息、試卷信息、考試成績等都存儲在數(shù)據(jù)庫中。在線考試系統(tǒng)安全性更好,系統(tǒng)可以采用加密方式保證網(wǎng)絡(luò)通訊的數(shù)據(jù)安全;自動組卷是從數(shù)據(jù)庫中隨機抽取題目然后由老師審核、修改,能保證試卷更加科學(xué)。在組卷、閱卷和試卷分析方面自動化,減少人工投入。線上考試更能準(zhǔn)確計時,學(xué)生答題也更加方便,能夠提高學(xué)生的答題效率。國內(nèi)外的研究現(xiàn)狀及發(fā)展趨勢隨著互聯(lián)網(wǎng)的普及,從上世紀(jì)末到現(xiàn)在,國外發(fā)達(dá)國家逐漸開始使用計算機進(jìn)行在線考試。到2000年后,人們通過在線考試系統(tǒng)進(jìn)行考試已經(jīng)變得十分尋常。許多國家廣泛利用計算機技術(shù)進(jìn)行改革,其中一些國家,如著名的“國際注冊會計師協(xié)會”(acca),逐步采用了在線計算機測試模式。2012年,中國學(xué)生熟悉的外語考試項目托福改為在線考試。可以看出,在線考試已成為國際發(fā)展趨勢[3]。而國內(nèi)則從上世紀(jì)90年代開始,逐步由權(quán)威考試部門推行由計算機進(jìn)行在線系統(tǒng)的考試。到目前為止,網(wǎng)上考試系統(tǒng)已在我國許多高校和培訓(xùn)機構(gòu)中得到廣泛應(yīng)用[4]。

相關(guān)技術(shù)介紹SpringbootSpringBoot是由Pivotal團隊開發(fā)的全新的開源開發(fā)框架[5],從一開始它就著一個有明確的目的,就是簡化Spring開發(fā)項目的應(yīng)用。最突出的特性是配置方式,大大簡化了Spring應(yīng)用各個方面的配置。另外SpringBoot能夠集成大量的框架,解決了之前很重要的項目之間包的版本依賴和穩(wěn)定性問題[6]。MySQL數(shù)據(jù)庫MySQL是一種開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言——結(jié)構(gòu)化查詢語言(SQL)進(jìn)行數(shù)據(jù)庫管理。MySQL主要特點是快速、健壯和易用。規(guī)模小、速度快、總擁有成本低,尤其是它具備開源的優(yōu)勢,迅速成為中小型企業(yè)和網(wǎng)站的首選數(shù)據(jù)庫[7]。Shiro安全框架ApacheShiro是一個功能強大但易于使用的Java安全框架,可用于任何應(yīng)用程序環(huán)境,也可以與很多第三方框架實現(xiàn)很好的耦合[9]。Shiro主要能夠?qū)崿F(xiàn)系統(tǒng)用戶的登錄認(rèn)證、授權(quán)認(rèn)證、加密/解密、會話管理、與Web集成和提供緩存接口等[10]。在本系統(tǒng)中,只使用了登錄認(rèn)證與授權(quán)認(rèn)證的功能。在整個Shiro內(nèi)部架構(gòu)中,本系統(tǒng)主要用到Subjlect(主體)、Securitymanager(安全管理器),其中Securitymanager又包括Authenticator(認(rèn)證器)、Authrizcr(授權(quán)器)、SessionManager(會話管理)、CacheManager(緩存控制器)和Realm,各部分介紹如下:Subject:指任何可以與應(yīng)用進(jìn)行交互的“用戶”,如虛擬機中的程序和本地進(jìn)程。本系統(tǒng)的主體是WebMVC。Securitymanager(安全管理器):所有與安全有關(guān)的操作都會與Securitymanager進(jìn)行交互;同時,它負(fù)責(zé)管理Subject、登錄認(rèn)證、授權(quán)認(rèn)證和會話等[11]。安全管理器模塊詳情表如表2.1所示。

表2.1安全管理器模塊圖模塊名稱模塊作用Authenticator該模塊用于登錄認(rèn)證,幫助系統(tǒng)識別用戶身份[12]Authrizer該模塊用于權(quán)限認(rèn)證,在用戶登錄后,識別登錄用戶擁有的角色,角色擁有的資源SessionManager在用戶登錄成功后,即建立了一次會話,直到用戶退出錄前,用戶的信息都存儲在SessionManager該會話中;會話可以是普通JavaSE環(huán)境的,也可以是web環(huán)境的CacheManager緩存管理,存儲登錄用戶的權(quán)限信息Realm至少有1個Realm。由于Shiro不知道系統(tǒng)的用戶權(quán)限存儲位置及以何種格式存儲,所以,一般我們自己實現(xiàn)Realm。axiosaxios是一個基于promise的HTTP庫,可以在瀏覽器和node.js中使用。具有以下特性:從瀏覽器中創(chuàng)建XMLHttpRequests,從node.js創(chuàng)建http請求,支持PromiseAPI,能攔截請求和響應(yīng),轉(zhuǎn)換請求和響應(yīng)數(shù)據(jù),能取消請求,自動轉(zhuǎn)換JSON數(shù)據(jù),瀏覽器端支持防止CSRF(跨站請求偽造)。它支持絕大多數(shù)的瀏覽器,使用非常簡單。

可行性分析技術(shù)可行性本系統(tǒng)前端采用了vue.js技術(shù)、element-UI框架,并使用axios向后臺服務(wù)器發(fā)送請求;后臺采用了Java語言、Springboot框架、MySQL數(shù)據(jù)庫、Mybatis持久層框架、Shiro安全框架。現(xiàn)階段,Java技術(shù)已經(jīng)發(fā)展的很成熟,適合web應(yīng)用開發(fā),Vue.js易于上手,還便于與第三方庫整合,用于web開發(fā)也十分便捷。本人很熟悉以上相關(guān)技術(shù),因此在技術(shù)上實現(xiàn)在線考試系統(tǒng)的開發(fā)是可行的。經(jīng)濟可行性在考試系統(tǒng)開發(fā)過程中,需要的只是一臺普通的筆記本電腦,成本比較低,開發(fā)出來的在線考試系統(tǒng)具有一定的經(jīng)濟價值。因此在經(jīng)濟上實現(xiàn)在線考試系統(tǒng)的開發(fā)是可行的。操作可行性本系統(tǒng)的研發(fā)充分考慮了用戶的工作流程和計算機操作的水平,從而盡可能提供一個更加人性化和直觀的界面,以滿足用戶的需求,操作過程簡單。無需培訓(xùn)。法律可行性本系統(tǒng)的開發(fā)工作所使用的技術(shù)均是開源技術(shù),并且沒有將成果進(jìn)行商用,而僅僅是學(xué)習(xí)調(diào)研,因此避免了侵犯版權(quán)的問題。因此,本系統(tǒng)的開發(fā)以及使用不存在妨礙、侵權(quán)等法律責(zé)任問題,即在法律層面是可行的。

系統(tǒng)需求分析功能需求角色定義在線考試系統(tǒng)要能模擬傳統(tǒng)考試模式的流程,包括教師搜集考題,出卷,安排考試,考生答題,考生交卷和系統(tǒng)閱卷等。因此,本系統(tǒng)主要面向三類用戶:學(xué)生、老師和管理員。學(xué)生需求分析學(xué)生可以登錄系統(tǒng),進(jìn)行考試,查看成績和修改密碼。學(xué)生用例圖如圖4.1所示。圖4.1學(xué)生用例圖

表4.1考試用例規(guī)格說明用例編號01用例名考試用例描述學(xué)生參加考試參與者學(xué)生前置條件學(xué)生進(jìn)入考試列表頁面后置條件返回考試列表主事件流1.用戶進(jìn)入考試頁面;2.回答完試卷所有題目;3.點擊提交按鈕,完成考試備用事件流?2a.未完成所有題目,點擊提交提示試卷未完成,無法提交?2b.未完成所有題目,考試結(jié)束時間已到系統(tǒng)強制交卷學(xué)生在考試開始后參加考試,完成試卷并提交后,系統(tǒng)會自動評分。在考試過程中,系統(tǒng)會定時提交答案,防止斷網(wǎng)或電腦關(guān)機后重新開始考試答案丟失。考試結(jié)束時間到若未完成所有題目,系統(tǒng)將會強制提交答案。但考試時間未結(jié)束前,若未完成所有題目,不允許主動提交試卷。表4.2查看成績用例規(guī)格說明用例編號02用例名查詢成績用例描述用戶查詢考試成績參與者學(xué)生前置條件進(jìn)入成績管理頁面后置條件顯示學(xué)生成績主事件流1.用戶輸入搜索條件;2.點擊搜索按鈕,搜索學(xué)生成績備用事件流學(xué)生只能查看自己的考試成績。老師需求分析老師能夠登錄系統(tǒng),修改密碼,管理題庫信息,管理試卷、管理考試安排和管理成績信息等。老師用例圖如圖4.2所示。圖4.2老師用例圖登錄、修改密碼、退出功能與學(xué)生用戶一致,這里不再贅述。試卷管理的主要用例有自動組卷、修改試卷和刪除試卷。老師只需選擇科目,輸入試卷名、單選題數(shù)目和分?jǐn)?shù)、判斷題數(shù)目和分?jǐn)?shù),系統(tǒng)就能根據(jù)要求自動組卷。老師只能修改和刪除由自己創(chuàng)建的試卷。修改試卷時,可以刪除試卷中的題目,然后再增加題目。點擊增加題目按鈕后,可以進(jìn)入題庫中,選擇想要添加的題目。刪除試卷操作與管理題庫的刪除題目操作類似。

表4.3自動組卷用例規(guī)格說明用例編號03用例名自動組卷用例描述用戶自動組卷參與者老師前置條件用戶進(jìn)入試卷管理頁面后置條件在試卷列表中顯示試卷信息主事件流1.用戶點擊自動組卷按鈕;2.顯示自動組卷彈窗;3.填寫試卷基本信息;4.點擊確認(rèn)按鈕,確認(rèn)組卷備用事件流?3a.信息填寫有誤或不全提示“XX不能為空”?4a.點擊取消按鈕,取消操作自動組卷可以方便老師出卷,老師只需填寫試卷的基本信息,就可以自動生成試卷,不需要一道道的選題。

表4.4修改試卷用例規(guī)格說明用例編號04用例名修改試卷用例描述用戶修改試卷參與者老師前置條件用戶進(jìn)入試卷管理頁面后置條件顯示修改后的試卷主事件流1.用戶點擊修改試卷按鈕;2.進(jìn)入修改試卷頁面,顯示試卷信息;3.刪除試卷中的題目;4.點擊增加按鈕,進(jìn)入題庫;5.選擇題目,點擊增加題目到試卷中備用事件流?3a.點擊取消按鈕,取消刪除?5a.點擊返回修改試卷頁面按鈕,取消增加修改試卷用例規(guī)格說明描述了修改試卷時需進(jìn)行的操作。增加題目時需時打開題庫,進(jìn)入題庫時,后臺會自動將已經(jīng)在這張試卷中的題目剔除,防止重復(fù)添加題目;也可以查詢指定題目進(jìn)行添加。考試安排的主要用例有增加考試安排、修改考試安排、刪除考試、查看考試安排、試卷分析。填寫科目、考試開始時間、考試結(jié)束時間、試卷名、考試名,選擇班級就可以安排考試。在考試未開始之前可以修改考試安排信息也可以刪除考試,老師只能查看、修改或刪除由自己創(chuàng)建的考試。當(dāng)考試開始時間大于當(dāng)前時間時,考試的狀態(tài)為未進(jìn)行。當(dāng)當(dāng)前時間在考試開始時間和考試結(jié)束時間之間時,考試的狀態(tài)為正在進(jìn)行。當(dāng)考試結(jié)束時間小于當(dāng)前時間時,考試的狀態(tài)為已結(jié)束。考試的狀態(tài)由后臺定時執(zhí)行存儲過程來修改。當(dāng)考試結(jié)束后,老師能夠查看這次考試中每道題學(xué)生的回答情況,且根據(jù)題目難度來定制提示信息,如:試題難度為【困難】,若超過60%的學(xué)生回答錯誤,就提示該道題需重點講解。刪除考試安排和查看考試安排與題庫管理的刪除、查詢功能類似,這里不再介紹。表4.5增加考試安排用例規(guī)格說明用例編號05用例名增加考試安排用例描述用戶安排考試參與者老師前置條件用戶進(jìn)入考試安排頁面后置條件在考試安排列表中顯示考試信息主事件流1.用戶點擊增加按鈕;2.顯示增加考試安排彈窗;3.填寫考試科目、時間、考試班級等信息;4.點擊確認(rèn)按鈕,確認(rèn)安排考試備用事件流?3a.信息填寫有誤或不全提示“XX不能為空”?4a.考試時間早于當(dāng)前時間提示考試開始時間有誤表4.6修改考試安排用例規(guī)格說明用例編號06用例名修改考試安排用例描述用戶修改考試安排參與者老師前置條件用戶進(jìn)入考試安排頁面后置條件在考試安排列表中顯示考試信息主事件流1.用戶點擊對應(yīng)的考試安排后面的修改按鈕;2.進(jìn)入修改考試安排彈窗;3.修改考試安排相關(guān)信息;4.點擊確定按鈕,更新考試安排備用事件流?4a.點擊取消按鈕,取消刪除當(dāng)考試已經(jīng)開始或者結(jié)束,就無法修改。表4.7試卷分析用例規(guī)格說明用例編號07用例名試卷分析用例描述用戶查看學(xué)生答題情況參與者老師前置條件考試已結(jié)束后置條件顯示整份試卷,并在每道題下圖表顯示學(xué)生回答情況主事件流1.用戶點擊對應(yīng)的考試安排后面的試卷分析按鈕;2.進(jìn)入試卷分析頁面,顯示整份試卷和分析情況;3.點擊“需重點講解”標(biāo)簽,顯示需要重點講解的題目和學(xué)生回答情況備用事件流試卷分析用例規(guī)格說明描述了查看試卷分析時需進(jìn)行的操作。老師只能查看由自己創(chuàng)建的考試對應(yīng)的試卷分析。成績管理的主要用例有查詢成績和導(dǎo)出成績。查詢成績與學(xué)生用戶的查看成績用例類似,只是老師的查詢條件較多,老師能夠查看所有學(xué)生的成績,也能通過班級、科目、試卷名、考試名查詢部分成績并導(dǎo)出成績。表4.8導(dǎo)出成績用例規(guī)格說明用例編號08用例名導(dǎo)出成績用例描述用戶導(dǎo)出學(xué)生考試成績參與者老師前置條件進(jìn)入成績管理頁面后置條件學(xué)生成績以Excel文件形式導(dǎo)出主事件流1.點擊導(dǎo)出按鈕,導(dǎo)出所有學(xué)生成績備用事件流?1a.用戶輸入搜索條件點擊導(dǎo)出按鈕,導(dǎo)出指定學(xué)生成績管理員需求分析管理員能夠登錄系統(tǒng),修改密碼,管理用戶信息,管理班級,管理題庫信息,管理試卷、管理考試安排和管理成績信息等。管理員用例圖如圖4.3所示。圖4.3管理員用圖登錄、修改密碼、退出用例與學(xué)生用戶一致,這里不再介紹。管理試卷、管理考試安排和管理成績信息等與老師用戶類似,只是管理員能查看、修改和刪除所有用戶創(chuàng)建的東西,查詢時,管理員還能通過創(chuàng)建者來查詢,這里也不再贅述這些用例。題庫管理按題型又分為單選題管理和判斷題管理。在不同的題型中,包含的用例主要有模板下載,導(dǎo)入題目,增加題目,查詢題目,修改題目、刪除題目。下載題型對應(yīng)的Excel文件,在Excel文件中填寫好內(nèi)容然后就可以導(dǎo)入系統(tǒng)中。單選題管理和判斷題管理的操作流程基本一致,這里以單選題為例,介紹題庫管理各個用例的用例規(guī)格說明。表4.9導(dǎo)入題目用例規(guī)格說明用例編號09用例名導(dǎo)入題目用例描述用戶將題目導(dǎo)入到題庫中參與者老師前置條件用戶進(jìn)入單選題管理頁面后置條件在題目列表中顯示新增的題目信息主事件流1.用戶點擊導(dǎo)入題目按鈕;2.顯示導(dǎo)入題目彈窗;3.在彈窗中選擇導(dǎo)入已經(jīng)填寫好題目信息的Excel文件;4.點擊確認(rèn)按鈕,確認(rèn)導(dǎo)入題目備用事件流?3a.文件類型不是.xlsx提示文件類型錯誤?3b.導(dǎo)入的Excel文件不是從系統(tǒng)下載的模板中添加完數(shù)據(jù)再導(dǎo)入回系統(tǒng)提示文件格式錯誤

表4.10增加題目用例規(guī)格說明用例編號10用例名增加題目用例描述用戶增加新的題目參與者管理員前置條件用戶進(jìn)入單選題管理頁面后置條件在題目列表中顯示新增的題目信息主事件流1.用戶點擊增加題目按鈕;2.顯示增加題目彈窗;3.在彈窗中填寫題目信息并選擇題目難度;4.點擊確認(rèn)按鈕,確認(rèn)增加題目備用事件流?3a.信息填寫不完整提示“XX不能為空”取消添加或?qū)⑿畔⒀a充完整表4.11查詢題目用例規(guī)格說明用例編號11用例名查詢題目用例描述用戶通過科目、章節(jié)、題目關(guān)鍵字查詢題目參與者老師前置條件用戶進(jìn)入單選題管理頁面后置條件顯示查詢到的題目信息主事件流1.用戶在搜索欄中填入搜索條件;2.點擊搜索按鈕,搜索班級備用事件流

表4.12修改題目用例規(guī)格說明用例編號12用例名修改題目用例描述用戶修改題目信息參與者老師前置條件用戶進(jìn)入單選題管理頁面后置條件在班級列表中顯示修改后的題目信息主事件流1.用戶點擊對應(yīng)題目后的修改按鈕;2.顯示修改題目彈窗;3.在彈窗中修改題目信息;4.點擊確認(rèn)按鈕,確認(rèn)修改題目備用事件流?4a.點擊取消按鈕,取消操作表4.13刪除題目用例規(guī)格說明用例編號13用例名刪除題目用例描述用戶刪除題目參與者老師前置條件用戶進(jìn)入單選題管理頁面后置條件將該題目從題目列表中刪除主事件流1.用戶點擊對應(yīng)題目信息后面的刪除按鈕;2.顯示提示彈窗;3.點擊確認(rèn)按鈕,確認(rèn)刪除題目備用事件流?3a.點擊取消按鈕,取消操作用戶管理主要是給管理員管理用戶信息的,主要用例有增加用戶、刪除用戶、查看用戶信息、修改用戶信息。

表4.14增加用戶用例規(guī)格說明用例編號14用例名增加用戶用例描述管理員添加系統(tǒng)用戶參與者管理員前置條件管理員進(jìn)入用戶管理頁面后置條件新增用戶顯示在用戶列表中主事件流1.管理員點擊新增用戶按鈕;2.在新增用戶彈窗中填入用戶信息(賬號、姓名、密碼、角色);3.點擊確定按鈕,確定添加用戶信息備用事件流?2a.管理員填入的用戶信息不完整提示“XX不能為空”管理員取消添加或?qū)⑿畔⒀a充完整表4.15修改用戶信息用例規(guī)格說明用例編號15用例名修改用戶信息用例描述管理員修改用戶姓名、密碼或用戶類型參與者管理員前置條件管理員進(jìn)入用戶管理頁面后置條件修改后的用戶信息顯示在用戶列表中主事件流1.管理員點擊對應(yīng)用戶信息后面的編輯按鈕;2.在修改用戶彈窗中更新用戶信息(姓名、密碼、角色);3.點擊確定按鈕,確定修改用戶信息備用事件流?2a.管理員填入的用戶信息不完整提示“XX不能為空”管理員取消添加或?qū)⑿畔⒀a充完整

表4.16查找用戶信息用例規(guī)格說明用例編號16用例名查找用戶信息用例描述管理員通過賬號、姓名或用戶類型查找用戶參與者管理員前置條件管理員進(jìn)入用戶管理頁面后置條件顯示查找到的用戶信息主事件流1.管理員在搜索欄中填入搜索條件;2.點擊搜索按鈕,搜索用戶信息備用事件流表4.17刪除用戶信息用例規(guī)格說明用例編號17用例名刪除用戶信息用例描述管理員刪除用戶參與者管理員前置條件管理員進(jìn)入用戶管理頁面后置條件將該用戶信息從用戶列表中刪除主事件流1.管理員點擊對應(yīng)用戶信息后面的刪除按鈕;2.顯示提示彈窗;3.點擊確認(rèn)按鈕,確認(rèn)刪除用戶信息備用事件流?3a.點擊取消按鈕,取消操作班級管理主要是給管理員管理班級信息的,管理員可以新增班級并選擇學(xué)生加入到該班級中;也可以下載模板(Excel文件),在模板中填入學(xué)生數(shù)據(jù)后,再將學(xué)生信息導(dǎo)入到新增的班級中;也能修改該班級下的學(xué)生;當(dāng)班級下沒有學(xué)生時,可以將班級刪除。

表4.18新增班級用例規(guī)格說明用例編號18用例名新增班級用例描述管理員增加新的班級參與者管理員前置條件管理員進(jìn)入班級管理頁面后置條件在班級列表中顯示新增的班級和班級里的學(xué)生主事件流1.管理員點擊新增班級按鈕;2.顯示新增班級彈窗;3.在彈窗中填寫班級名稱并選擇學(xué)生;4.點擊確認(rèn)按鈕,確認(rèn)新增班級備用事件流?3a.只填入班級名稱,不選擇學(xué)生1.新增一個班級,但班級里還沒有學(xué)生當(dāng)管理員進(jìn)入新增班級頁面后,填入班級名稱并選擇學(xué)生,就可以新增班級。也可以不選擇學(xué)生,直接新增一個空的班級,之后通過導(dǎo)入學(xué)生來給班級中增加學(xué)生。

表4.19導(dǎo)入學(xué)生信息用例規(guī)格說明用例編號19用例名導(dǎo)入學(xué)生信息用例描述管理員將學(xué)生信息導(dǎo)入到班級中參與者管理員前置條件管理員進(jìn)入班級管理頁面后置條件在班級列表中顯示班級和班級里的學(xué)生主事件流1.管理員點擊導(dǎo)入學(xué)生按鈕;2.顯示導(dǎo)入學(xué)生彈窗;3.在彈窗中選擇班級名稱并選擇已經(jīng)填寫好學(xué)生信息的Excel文件;4.點擊確認(rèn)按鈕,確認(rèn)導(dǎo)入學(xué)生備用事件流?3a.文件類型不是.xlsx提示文件類型錯誤?3b.導(dǎo)入的Excel文件不是從系統(tǒng)下載的模板中添加完數(shù)據(jù)再導(dǎo)入回系統(tǒng)提示文件文件格式錯誤導(dǎo)入學(xué)生信息用例規(guī)格說明描述了導(dǎo)入學(xué)生到班級時需要進(jìn)行的操作和流程,管理員需要先下載模板,在模板中填寫好學(xué)生信息,然后在系統(tǒng)中選擇班級,再選擇模板文件,就可以導(dǎo)入學(xué)生到系統(tǒng)中;以及當(dāng)管理員操作不符合系統(tǒng)要求時系統(tǒng)做出的響應(yīng)和提醒。

表4.20修改班級學(xué)生用例規(guī)格說明用例編號20用例名修改班級學(xué)生用例描述管理員修改班級名稱或班級下的學(xué)生參與者管理員前置條件管理員進(jìn)入班級管理頁面后置條件在班級列表中顯示班級和班級里的學(xué)生主事件流1.管理員點擊對應(yīng)班級后的修改按鈕;2.顯示修改班級彈窗;3.在彈窗中修改班級名稱并選擇要刪除或增加的學(xué)生姓名;4.點擊確認(rèn)按鈕,確認(rèn)修改班級備用事件流?4a.點擊取消按鈕,取消操作修改班級學(xué)生用例規(guī)格說明描述了修改班級學(xué)生時需要進(jìn)行的操作,以及當(dāng)管理員操作不符合系統(tǒng)要求時系統(tǒng)做出的響應(yīng)和提醒。管理員可以修改班級名稱,也可以刪除或增加該班級下的學(xué)生。表4.21查詢班級用例規(guī)格說明用例編號21用例名查詢班級用例描述管理員通過班級名稱查詢班級參與者管理員前置條件管理員進(jìn)入班級管理頁面后置條件顯示查找到的班級信息主事件流1.管理員在搜索欄中填入搜索條件;2.點擊搜索按鈕,搜索班級備用事件流

表4.22刪除班級用例規(guī)格說明用例編號22用例名刪除班級用例描述管理員刪除班級參與者管理員前置條件管理員進(jìn)入班級管理頁面后置條件將該班級從班級列表中刪除主事件流1.管理員點擊對應(yīng)班級信息后面的刪除按鈕;2.顯示提示彈窗;3.點擊確認(rèn)按鈕,確認(rèn)刪除用戶信息備用事件流?3a.班級下還有學(xué)生提示該班級下還有學(xué)生,無法刪除?3b.點擊取消按鈕,取消操作刪除班級用例規(guī)格說明描述了刪除班級時需要進(jìn)行的操作,以及當(dāng)管理員操作不符合系統(tǒng)要求時系統(tǒng)做出的響應(yīng)和提醒,當(dāng)班級下還有學(xué)生時,不允許刪除班級。性能需求能支持大量并發(fā)用戶訪問;系統(tǒng)響應(yīng)時間不高于5秒;數(shù)據(jù)查詢,要求查詢結(jié)果在5s內(nèi)展示給用戶;在網(wǎng)絡(luò)穩(wěn)定的環(huán)境下,操作性界面單一操作的系統(tǒng)響應(yīng)時間小于5s;

開發(fā)環(huán)境需求開發(fā)環(huán)境相關(guān)需求如表4.23所示。表4.23開發(fā)環(huán)境序號名稱工具說明1操作系統(tǒng)Windows2開發(fā)架構(gòu)J2EE項目采用Java開發(fā)3編碼eclipse,VSCode4后臺項目管理Maven4Java環(huán)境Jdk版本1.85容器Tomcat版本8.06數(shù)據(jù)庫MySqlMySQL8.07瀏覽器GoogleChrome

系統(tǒng)總體設(shè)計系統(tǒng)整體結(jié)構(gòu)在線考試系統(tǒng)分為三大類角色:學(xué)生、老師和管理員。學(xué)生可以登錄系統(tǒng),進(jìn)行考試,查看成績和修改密碼。老師和管理員能夠登錄系統(tǒng),管理題庫信息,管理試卷、管理考試安排和管理成績信息等。管理員還能管理用戶信息,管理班級。系統(tǒng)的整體結(jié)構(gòu)圖如圖5.1所示。圖5.1系統(tǒng)結(jié)構(gòu)圖系統(tǒng)架構(gòu)設(shè)計本系統(tǒng)采用四層架構(gòu)模式,視圖層(View),控制層(Controller),業(yè)務(wù)層(Service)和數(shù)據(jù)訪問層(Dao)。視圖層(即圖中的前端UI)用于展示數(shù)據(jù),與用戶進(jìn)行交互。控制層(即圖中的展示層)用于分發(fā)控制到來的請求,并將請求分發(fā)給相應(yīng)的業(yè)務(wù)層。以及將數(shù)據(jù)返回給視圖層展示。業(yè)務(wù)層用于業(yè)務(wù)處理,調(diào)用數(shù)據(jù)訪問層與數(shù)據(jù)庫進(jìn)行交互。數(shù)據(jù)訪問層與數(shù)據(jù)庫進(jìn)行交互,封裝了對數(shù)據(jù)庫的CURD操作。后臺的架構(gòu)設(shè)計如圖5.2所示。圖5.2架構(gòu)設(shè)計圖模塊設(shè)計學(xué)生功能模塊設(shè)計學(xué)生端功能應(yīng)該包括登錄、修改密碼、考試和成績查詢,功能模塊圖如圖5.3所示。圖5.3學(xué)生功能模塊圖1、考試根據(jù)學(xué)生班級、考試時間等列出學(xué)生參加考試的試卷列表;學(xué)生在登錄系統(tǒng)后完成參加考試、答卷、交卷等完整過程;同時該功能支持考試自動倒計時,考試結(jié)束時間到自動交卷,交卷后自動生成成績。在線考試流程:打開登錄界面、輸入姓名密碼、進(jìn)入答題界面、答題、主動上交。考試時序圖如圖5.4所示。圖5.4考試時序圖2、查詢成績學(xué)生可以通過科目、考試名等來查詢自己的考試成績。成績查詢流程為:進(jìn)入成績查詢頁面、輸入查詢條件。成績查詢時序圖如圖5.5所示。圖5.5成績查詢時序圖老師功能模塊設(shè)計老師端功能包括登錄、修改密碼、題庫管理、試卷管理、考試安排、成績管理,功能模塊圖如圖5.6所示。圖5.6老師功能模塊圖試卷管理試卷管理功功能包括自動組卷、修改試卷和刪除試卷等相關(guān)功能。老師只需選擇科目,輸入試卷名、單選題數(shù)目和分?jǐn)?shù)、判斷題數(shù)目和分?jǐn)?shù),系統(tǒng)就能根據(jù)要求自動組卷。老師只能修改和刪除由自己創(chuàng)建的試卷。修改試卷時,可以刪除試卷中的題目,然后再增加題目。點擊增加題目按鈕后,可以進(jìn)入題庫中,選擇想要添加的題目。試卷管理時序圖如圖5.7所示。圖5.7試卷管理時序圖考試安排考試安排功能包括增加考試安排、修改考試安排、刪除考試、查看考試安排、試卷分析等相關(guān)功能。填寫科目、考試開始時間、考試結(jié)束時間、試卷名、考試名,選擇班級就可以安排考試。在考試未開始之前可以修改考試安排信息也可以刪除考試,老師只能查看、修改或刪除由自己創(chuàng)建的考試。當(dāng)考試結(jié)束后,老師能夠查看試卷分析。考試安排時序圖如圖5.8所示。圖5.8考試安排時序圖成績管理成績管理功能包括查詢成績和導(dǎo)出成績等相關(guān)功能。查詢成績與學(xué)生端的查看成績功能類似,只是老師的查詢條件較多,老師能夠查看所有學(xué)生的成績,也能通過班級、科目、試卷名、考試名查詢部分學(xué)生成績并導(dǎo)出成績。管理員功能模塊設(shè)計管理員端功能包括登錄、修改密碼、用戶管理、班級管理、題庫管理、試卷管理、考試安排和成績管理,功能模塊圖如圖5.9所示。圖5.9管理員功能模塊圖試卷管理、考試安排和成績管理等與老師端類似,只是管理員能查看、修改和刪除所有用戶創(chuàng)建的東西,查詢時,管理員還能通過創(chuàng)建者來查詢。題庫管理題庫管理按題型又分為單選題管理和判斷題管理。題庫管理功能主要有模板下載,導(dǎo)入題目,增加題目,查詢題目,修改題目,刪除題目等相關(guān)功能。題庫管理時序圖如圖5.10所示。圖5.10題庫管理時序圖在查詢題目時可根據(jù)科目、章節(jié)、題目關(guān)鍵字來查詢題目。模板下載只要點擊【模板下載】按鈕,就能下載題型對應(yīng)的Excel文件,在Excel文件中填寫好內(nèi)容然后就可以導(dǎo)入系統(tǒng)中。用戶管理用戶管理主要是給管理員管理用戶信息(包括:用戶賬號、姓名、密碼、用戶類型)的,主要有增加用戶、刪除用戶、查看用戶信息、修改用戶信息等相關(guān)功能。班級管理班級管理功能包括新增班級、修改班級信息或?qū)W生、導(dǎo)入學(xué)生到班級中、查詢班級信息、刪除班級等相關(guān)功能。管理員新增班級時,可以選擇學(xué)生加入到該班級中;也可以下載模板(Excel文件),在模板中填入學(xué)生數(shù)據(jù)后,再將學(xué)生信息導(dǎo)入到新增的班級中;也能修改該班級下的學(xué)生;當(dāng)班級下沒有學(xué)生時,可以將班級刪除。班級管理時序圖如圖5.11所示。圖5.11班級管理用例圖數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫概念模型設(shè)計E-R圖也稱實體-聯(lián)系圖,提供了表示實體類型、屬性和聯(lián)系的方法,是用來描述現(xiàn)實世界的概念模型。數(shù)據(jù)庫的E-R圖如圖5.12所示。圖5.12數(shù)據(jù)庫E-R圖數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計將數(shù)據(jù)庫概念模型轉(zhuǎn)換成MySQL支持的數(shù)據(jù)模型。用戶信息表(user)用戶信息表(user)如表4.1所示。表5.1用戶信息表字段名字段說明類型長度備注ID用戶idint10PrimaryKeyUserCode用戶賬號varchar20Name用戶姓名varchar30Password密碼varchar20Role角色varchar20classId所在班級int11班級信息表班級信息表(classes)如表5.2所示。

表5.2班級信息表字段名字段說明類型長度備注classId班級idint11PrimaryKeyclassName班級名稱varchar255單選題題庫表單選題題庫表(singleselect)如表5.3所示。表5.3單選題題庫表字段名字段說明類型長度備注QuestionID題目編號int20PrimaryKeyQuestion題目內(nèi)容varchar500ChoiceOne選項一varchar100ChoiceTwo選項二varchar100ChoiceThree選項三varchar100ChoiceFour選項四varchar100Answer參考答案varchar100Subject科目varchar30Chapter章節(jié)varchar30Difficulty難度int10easynormalhardCreateUser創(chuàng)建者varchar20判斷題題庫表判斷題題庫表(saq)如表5.4所示。表5.4判斷題題庫表字段名字段說明類型長度備注SAQID題目編號int20PrimaryKeyQuestion題目內(nèi)容varchar1000Answer答案varchar10Subject科目varchar30Chapter章節(jié)varchar30Difficulty難度int10easynormalhardCreateUser創(chuàng)建者varchar20試卷信息表試卷信息表(examinationpaper)如表5.5所示。表5.5試卷信息表字段名字段說明類型長度備注PaperID試卷編號int20PrimaryKeyQuestionIds題目原編號varchar255Name試卷名varchar50SAQIds判斷題題目原編號varchar255TotalSelect單選題總數(shù)int10SelectNum單選題數(shù)量int10SelectScore單選題分?jǐn)?shù)int10TotalSAQ判斷題總數(shù)int10SAQNum判斷題數(shù)量int10SAQScore判斷題分?jǐn)?shù)int10Score分?jǐn)?shù)int10Subject科目varchar30CreateUser創(chuàng)建者varchar20考試安排信息表考試安排信息表(examination)如表5.6所示。表5.6考試安排信息表字段名字段說明類型長度備注examId考試編號int11PrimaryKeyexamName考試名varchar255paperId試卷編號int11subject科目varchar255beginTime開始時間datetime0endTime結(jié)束時間datetime0classids考試班級varchar255status考試狀態(tài)char1未開始進(jìn)行中已考完createUser創(chuàng)建者varchar255學(xué)生答案表學(xué)生答案表(user_answer)如表5.7所示。

表5.7學(xué)生答案表字段名字段說明類型長度備注examId考試編號int11PrimaryKeypaperId試卷編號int11PrimaryKeyquestionId題目編號int11PrimaryKeyuserId用戶idint11PrimaryKeytype題目類型char1PrimaryKey判斷題單選題userAnswer學(xué)生答案varchar255Answer正確答案varchar255isCorrent是否正確bit1是否成績表成績表(score)如表5.8所示。表5.8成績表字段名字段說明類型長度備注examId考試編號int11PrimaryKeypaperId試卷編號int11PrimaryKeyuserId用戶idint11PrimaryKeyscore成績varchar255

詳細(xì)設(shè)計與實現(xiàn)學(xué)生端考試功能說明學(xué)生進(jìn)入系統(tǒng)進(jìn)行考試,在考試過程中,系統(tǒng)會定時提交答案,防止斷網(wǎng)或電腦關(guān)機后重新開始考試答案丟失。考試結(jié)束時間到若未完成所有題目,系統(tǒng)將會強制提交答案。但考試時間未結(jié)束前,若未完成所有題目,不允許主動提交試卷。學(xué)生完成試卷并交卷后系統(tǒng)會自動評分給出成績。實現(xiàn)難點在考試中途掉線,重新登錄系統(tǒng)后如何返回已經(jīng)回答的試題答案。解決方案系統(tǒng)在考試過程中定時提交答案,將答案存入數(shù)據(jù)庫學(xué)生答案表中。然后在打開考試頁面時,無論是否是第一次進(jìn)入,后臺都查詢學(xué)生答案表,獲取答案數(shù)據(jù),若答案數(shù)據(jù)存在,則返回學(xué)生答案字段。然后由前端判斷是否存在學(xué)生答案字段,若存在則說明這道題已經(jīng)回答,將學(xué)生答案顯示到頁面,若不存在則由前端添加該字段。實現(xiàn)過程考試一般流程的流程圖如圖6.1所示。圖6.1考試流程圖定時提交答案為預(yù)防意外,在考試過程中,系統(tǒng)會定時自動保存答案。在前端中設(shè)置定時器,每隔一分鐘就調(diào)用submitApi()方法,將學(xué)生考試信息和試題答案傳給后臺,然后后臺再將數(shù)據(jù)存入數(shù)據(jù)庫學(xué)生答案表中。關(guān)鍵代碼如圖6.2所示。圖6.2定時提交答案強制提交答案考試結(jié)束時間到,無論是否完成試卷,系統(tǒng)都會強制提交答案。設(shè)置watch監(jiān)聽考試剩余時間time,若當(dāng)前值為“小時分鐘秒”,即說明考試結(jié)束時間已到,設(shè)置isMust為真,然后調(diào)用submit()方法,最終提交學(xué)生答案。關(guān)鍵代碼如圖6.3所示。圖6.2強制提交答案主動提交考試過程中,學(xué)生可以主動提交答案,但系統(tǒng)會判斷學(xué)生是否完成所有題目,若未完成,則不允許提交。用some()方法循環(huán)判斷每一道題的學(xué)生答案是否存在,若存在,則提交答案,否則提示“考試時間未到,請完成所有題目”。關(guān)鍵代碼如圖6.3所示。圖6.3主動提交校驗斷線重連學(xué)生考試過程中掉線,然后重新登錄需返回學(xué)生已回答的答案。從學(xué)生答案表中查詢學(xué)生每一道題的答案,關(guān)鍵代碼如圖6.4所示。圖6.4獲取學(xué)生答案自動評分學(xué)生提交答案后,后臺自動評分。通過equals()方法判斷學(xué)生答案與正確答案是否一致,若一致,再判斷題型,根據(jù)題型計算分值。關(guān)鍵代碼如圖6.5所示。圖6.5自動評分效果展示考試界面如圖6.6所示。圖6.6考試界面查詢成績功能說明學(xué)生可以通過這個功能查詢自己的考試成績。實現(xiàn)過程前端傳學(xué)生id到后臺服務(wù)器,后臺接收到請求后調(diào)用getScoreList()函數(shù)關(guān)聯(lián)查詢數(shù)據(jù)庫成績表、用戶表、班級表、考試安排表和試卷表,然后將數(shù)據(jù)返回給瀏覽器。關(guān)鍵代碼如圖6.7所示。圖6.7查詢成績效果展示成績展示頁面如圖6.8所示。圖6.8成績展示頁面老師端老師端擁有的主要功能有題庫管理、試卷管理、考試安排、成績管理。自動組卷功能說明這個功能主要是給用戶自動組卷用的,用戶輸入組卷信息以后,系統(tǒng)會自動組卷。實現(xiàn)過程把將該科目的全部題目按照章節(jié)排序從數(shù)據(jù)庫中查詢出來,得到總共數(shù)目allCount獲取到老師對科目設(shè)置的題目類型,每個題目類型的個數(shù)count設(shè)置隨機數(shù)begin(范圍可設(shè)置為10;如果設(shè)置為10,老師設(shè)置的卷子板塊為2的話,理論上就會有10的2次方那么多套不一樣的題)設(shè)置每次遞增數(shù)next為(allCount-begin)/count,有效防止了超出了題目的總數(shù)目個數(shù)通過begin+next抽取出題目,放入列表中將列表轉(zhuǎn)換成字符串然后再存入數(shù)據(jù)庫只要每個章節(jié)擁有的題目數(shù)目差別不大,通過這個辦法取出的題目一般都包含了全部章節(jié),。就算差別很大,結(jié)果也會是:章節(jié)擁有的題目數(shù)目越多抽取出來的概率越大,這也是符合現(xiàn)實的,一般重要章節(jié)擁有的題目數(shù)才會越大。例如單選題總數(shù)為100,題目id按章節(jié)排序為1到100,要抽取的題目總數(shù)為10,開始隨機數(shù)為7,那么抽取出來的題目id分別為:7,16,25,34,43,52,61,70,79,88,分布較為均勻,不會出現(xiàn)抽取的題目集中在哪一部分的情況。自動組卷流程圖如圖6.9所示。組卷關(guān)鍵代碼如圖6.10所示。圖6.10自動組卷效果展示自動組卷界面如圖6.11所示。圖6.11自動組卷界面自動組成的試卷如圖6.12所示。圖6.12試卷頁面試卷管理用戶能夠通過這個功能修改試卷、刪除試卷、查詢試卷。1、修改試卷功能說明在自動組卷完成后,若用戶對試卷不滿意,可以修改試卷。實現(xiàn)過程用戶進(jìn)入修改試卷頁面后可以刪除試卷中的題目,然后增加題目。點擊增加題目按鈕,進(jìn)入題庫,進(jìn)入題庫時,后臺會自動剔除已經(jīng)在試卷中的題目。修改試卷流程圖如圖6.13所示。實現(xiàn)代碼如圖6.14所示。圖6.14剔除題目圖6.9自動組卷流程圖圖6.13修改試卷流程圖效果展示修改試卷界面如圖6.15所示圖6.15修改試卷頁面刪除試卷功能說明這個功能用于刪除試卷。實現(xiàn)過程前端將試卷id傳給后臺,后臺通過id從數(shù)據(jù)庫試卷表中刪除試卷信息。關(guān)鍵代碼如圖6.16所示。圖6.16刪除試卷查詢試卷功能說明這個功能用于用戶通過科目查詢試卷。實現(xiàn)過程前端輸入查詢條件,將查詢條件傳給后臺,然后后臺按要求從數(shù)據(jù)庫試卷表中查詢并返回相關(guān)數(shù)據(jù)。關(guān)鍵代碼如圖6.17所示。圖6.17查詢試卷效果展示查詢試卷如圖6.18所示。6.18查詢試卷頁面考試安排功能說明考試安排包括增加、修改、刪除、查詢考試安排等。實現(xiàn)難點考試開始時間大于當(dāng)前時間時,考試的狀態(tài)為未進(jìn)行。當(dāng)前時間在考試開始時間和考試結(jié)束時間之間時,考試的狀態(tài)為正在進(jìn)行。考試結(jié)束時間小于當(dāng)前時間時,考試的狀態(tài)為已結(jié)束。如何及時更改考試狀態(tài),是需要解決的一個問題。解決方案在數(shù)據(jù)庫中創(chuàng)建存儲過程,然后由后臺定時調(diào)用存儲過程,改變考試狀態(tài)。實現(xiàn)過程用戶填寫考試相關(guān)信息,選擇班級,將這些信息傳給后臺,后臺調(diào)用addExam()方法將數(shù)據(jù)insert進(jìn)考試安排表里,就完成安排考試。在考試未開始之前可以修改考試安排信息,調(diào)用updateExam()判斷當(dāng)前考試狀態(tài),若未開始則再判斷考試安排時間是否在當(dāng)前時間之后,沒問題就更新考試安排表里的考試安排信息。刪除考試調(diào)用deleteExam()方法,首先判斷當(dāng)前考試狀態(tài),若未開始就調(diào)用deleteByPrimaryKey()通過主鍵從數(shù)據(jù)庫考試安排表中刪除考試安排。考試結(jié)束后,可以查看這次考試的試卷分析。考試安排流程圖如圖6.19所示。圖6.19考試安排流程圖存儲過程代碼如圖6.20所示。圖6.20存儲過程效果展示考試安排頁面如圖6.21所示。圖6.21考試安排頁面考試分析功能說明在考試結(jié)束后,用戶能夠查看這次考試中每道題學(xué)生的回答情況,且根據(jù)題目難度來定制提示信息,如:試題難度為【困難】,若超過60%的學(xué)生回答錯誤,就提示該道題需重點講解。通過這個功能,用戶可以方便、直觀的查看考試分析,不用自己做統(tǒng)計。實現(xiàn)過程后臺查詢數(shù)據(jù)庫學(xué)生答案表,計算并返回每道題正確人數(shù)、錯誤人數(shù)和答題總?cè)藬?shù),然后查詢試卷表,得到試卷信息。前端取到數(shù)據(jù)后,通過echarts將數(shù)據(jù)轉(zhuǎn)換為柱狀圖,使數(shù)據(jù)更直觀地顯示給用戶。后臺計算正確、錯誤人數(shù)關(guān)鍵代碼如圖6.22所示。圖6.22計算正確、錯誤人數(shù)效果展示試卷分析頁面如圖6.23所示。圖6.23試卷分析成績管理功能說明老師能查看學(xué)生成績,還能通過班級、科目、試卷名、考試名查詢部分學(xué)生成績并導(dǎo)出成績。實現(xiàn)過程用戶將班級、科目等查詢條件傳到后臺,若是查詢則調(diào)用getGradePage()方法,分頁查詢學(xué)生成績。若是導(dǎo)出,則調(diào)用downLoadGrade()方法,先將學(xué)生成績信息查詢出來,然后將數(shù)據(jù)寫入Excel文件中,最后下載文件。導(dǎo)出成績關(guān)鍵代碼如圖6.24所示。圖6.24導(dǎo)出成績效果展示成績管理頁面如圖6.25所示。圖6.25成績管理頁面管理員端管理員擁有的主要功能有用戶管理、班級管理、題庫管理、試卷管理、考試安排、成績管理。試卷管理、考試安排和成績管理等功能與老師端基本一致,管理員能夠查看、修改、刪除所有人創(chuàng)建的試題、試卷、考試、成績等,這里不再介紹。題庫管理用戶能夠通過這個功能管理題目,對題目進(jìn)行增、刪、查、改,還能批量導(dǎo)入題目。題庫管理包括單選題管理和判斷題管理。題庫管理流程圖如圖6.26所示。圖6.26題庫管理流程圖導(dǎo)入題目功能說明這個功能主要用于批量導(dǎo)入題目,不需用戶一道題一道題的手工錄入。實現(xiàn)難點批量導(dǎo)入題目時,若在模板中每道題目后面都加一個創(chuàng)建者字段太過累贅,不加這個字段時,要如何在導(dǎo)入數(shù)據(jù)庫中判斷是哪個老師導(dǎo)入的,是實現(xiàn)功能時的難點。解決方案在登錄時使用shiro做權(quán)限驗證,并設(shè)置CurrentUser,然后在導(dǎo)入題目時獲取當(dāng)前用戶。其他需要添加創(chuàng)建者字段的也可以通過同樣的方法來獲取當(dāng)前用戶信息。實現(xiàn)過程導(dǎo)入題目時,要先下載題型對應(yīng)的Excel文件,在Excel文件中填寫好內(nèi)容然后再導(dǎo)入系統(tǒng)中。導(dǎo)入系統(tǒng)時,后臺調(diào)用importExcel()方法,首先判斷導(dǎo)入的文件類型是不是.xlsx.xls文件,然后判斷導(dǎo)入的題型是什么,然后根據(jù)題型調(diào)用不同的Mapper接口將數(shù)據(jù)插入到題庫表中。導(dǎo)入題目關(guān)鍵代碼如圖6.27所示。圖6.27導(dǎo)入題目效果展示題庫管理頁面如圖6.28所示。圖6.28題庫管理頁面添加題目功能說明這個功能用于在系統(tǒng)中逐道錄入題目。實現(xiàn)過程前端錄入題目信息,將題目信息傳給后臺,然后后臺調(diào)用insert()方法將數(shù)據(jù)插入數(shù)據(jù)庫題庫表中。關(guān)鍵代碼如圖6.29所示。圖6.29添加題目效果展示添加題目界面如圖6.30所示。圖6.30添加題目界面刪除題目功能說明這個功能用于刪除題庫中的題目。實現(xiàn)過程前端發(fā)起刪除題目請求,將題目id傳給后臺,然后后臺調(diào)用delete()方法通過Mapper接口類中的deleteByPrimaryKey()方法通過主鍵將題目從數(shù)據(jù)庫題庫表中刪除。關(guān)鍵代碼如圖6.31所示。圖6.31刪除題目查詢題目功能說明這個功能用于用戶通過題目關(guān)鍵字、科目、章節(jié)等查詢題目信息。實現(xiàn)過程前端輸入查詢條件,將查詢條件傳給后臺,然后后臺調(diào)用page()方法按要求從數(shù)據(jù)庫中分頁查詢并返回相關(guān)數(shù)據(jù)。關(guān)鍵代碼如圖6.32所示。圖6.32查詢題目效果展示查詢題目頁面如圖6.33所示。圖6.33查詢題目頁面修改題目功能說明這個功能用來給用戶在題目錄入有誤時修改題目信息。實現(xiàn)過程前端修改題目信息,將修改后的題目信

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論