學(xué)生考試管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
學(xué)生考試管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
學(xué)生考試管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
學(xué)生考試管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
學(xué)生考試管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章前言在因特網(wǎng)茁壯成長(zhǎng)的當(dāng)下,互聯(lián)網(wǎng)已經(jīng)家喻戶曉,人類社會(huì)融入大數(shù)據(jù)時(shí)代,大數(shù)據(jù)和人工智能逐漸成為推動(dòng)社會(huì)飛速前進(jìn)的強(qiáng)大動(dòng)力。我們可以在網(wǎng)上簡(jiǎn)便地獲取數(shù)不勝數(shù)的信息。除了企業(yè)、政府的日常工作需要網(wǎng)絡(luò)協(xié)助,教育機(jī)構(gòu)也是需要網(wǎng)絡(luò)支撐來完善教育模式。在線教育方式已經(jīng)成為當(dāng)今教育領(lǐng)域重要前進(jìn)方向,線上考試是在線教育的一個(gè)關(guān)鍵組成,也慢慢變成一個(gè)重要的研究領(lǐng)域[1]。我國作為一個(gè)教育大國,考試模式在整個(gè)教育環(huán)節(jié)中有著無可替代的位置,在線考試、網(wǎng)上面試等全新的選拔人才的方式得到普遍使用。然而,我國的考試模式還有待更好改善,線上考試的方式在目前教育環(huán)境下不普及。就當(dāng)前國內(nèi)的學(xué)校而言,大部分考試仍采用傳統(tǒng)筆試模式,線上考試的實(shí)際運(yùn)用只在少數(shù)網(wǎng)上報(bào)名和國家級(jí)重大考試,至今我國也沒有線上考試計(jì)劃藍(lán)圖。線上考試系統(tǒng)作為現(xiàn)代教育的重要成員,是提高我國教學(xué)水平的重要保障[2]。因特網(wǎng)技術(shù)的飛速前進(jìn)帶動(dòng)考試的技術(shù)手段和模式產(chǎn)生歷史性的轉(zhuǎn)折,因特網(wǎng)的便捷性、廣泛性和強(qiáng)大的計(jì)算能力促使考試擺脫了時(shí)間和空間的約束。大數(shù)據(jù)時(shí)代下,考試系統(tǒng)的新模式開始成為人們研究的焦點(diǎn)。在傳統(tǒng)考試模式的襯托下,線上考試具有更多的優(yōu)勢(shì),它容納傳統(tǒng)考試過程中的試卷組織、發(fā)放、回收、統(tǒng)計(jì)、批改等每個(gè)步驟,從根本上解決了人為直接干預(yù)考試的問題,即節(jié)省時(shí)間,釋放出更多的人力、財(cái)力和物力,還優(yōu)化考試的科學(xué)性和公平性。線上考試系統(tǒng)的出現(xiàn)是由于目前教育形式信息化和教育信息化建設(shè)的實(shí)施,主要為了采取學(xué)校擁有的網(wǎng)絡(luò)資源實(shí)現(xiàn)在線考試的模式致力于彌補(bǔ)筆試考試模式的缺陷[3]。信息化線上考試模式作為網(wǎng)上遠(yuǎn)程教育的關(guān)鍵性成員,在國外發(fā)達(dá)地區(qū)已經(jīng)得到廣泛的運(yùn)用,人們選修課程、做作業(yè)和考試都是借助網(wǎng)絡(luò)來實(shí)現(xiàn)的。尤其是在互聯(lián)網(wǎng)服務(wù)廣泛運(yùn)用之下,低成本高效率的線上考試,無論是技術(shù)上還是應(yīng)用上都已經(jīng)趨于成熟[4]。第一章是緒論,對(duì)系統(tǒng)背景、研究意義、國內(nèi)外有關(guān)的研究狀況和本文的研究?jī)?nèi)容進(jìn)行介紹。第二章是系統(tǒng)相關(guān)技術(shù)介紹,闡述了選擇該技術(shù)的理由,分析相關(guān)技術(shù)的優(yōu)勢(shì)。第三章是系統(tǒng)分析與設(shè)計(jì),對(duì)系統(tǒng)的具體實(shí)施,包括需求、技術(shù)選擇、體系架構(gòu)的構(gòu)建、業(yè)務(wù)模型設(shè)計(jì)、模塊設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì),分析三種基本模型、建立數(shù)據(jù)表、梳理各個(gè)表之間的邏輯關(guān)系。第四章是系統(tǒng)實(shí)現(xiàn),從登錄功能、考試功能、組卷功能、用戶管理功能、成績(jī)查詢功能進(jìn)行介紹。第五章是系統(tǒng)測(cè)試及部署,主要闡述了系統(tǒng)的測(cè)試和配置。對(duì)功能進(jìn)行測(cè)試,從用戶登錄運(yùn)行、學(xué)生在線考試、教師自動(dòng)組卷、學(xué)生成績(jī)查詢功能進(jìn)行測(cè)試,并對(duì)系統(tǒng)在當(dāng)?shù)夭渴疬M(jìn)行介紹。第六章為小結(jié),對(duì)本文進(jìn)行了總體概括,并對(duì)本文的研究結(jié)果進(jìn)行了總結(jié),分析不足之處以及對(duì)研究?jī)?nèi)容的展望。第二章系統(tǒng)相關(guān)技術(shù)介紹通過上文對(duì)系統(tǒng)各方面的分析、思考、總結(jié)。本章介紹系統(tǒng)的相關(guān)技術(shù),系統(tǒng)采用SpringBoot進(jìn)行實(shí)現(xiàn),以SpringBoot和MySQL數(shù)據(jù)庫為后端開發(fā),Tomcat為服務(wù)器,vue作為前端開發(fā)技術(shù)的總體技術(shù)路線。2.1.Java介紹Java是Sun公司面向?qū)ο缶幊痰男乱淮幊陶Z言,它尤其適用于互聯(lián)網(wǎng)應(yīng)用,Java的出現(xiàn)和普及是當(dāng)前互聯(lián)網(wǎng)發(fā)展的必然趨勢(shì)。java是一種性能優(yōu)良的語言,具有語言簡(jiǎn)單、面向?qū)ο?、分布式呈現(xiàn)、結(jié)構(gòu)中立、可移植、性能優(yōu)異、多線程、動(dòng)態(tài)、安全、穩(wěn)健的優(yōu)點(diǎn),尤其適用于互聯(lián)網(wǎng)環(huán)境下應(yīng)用系統(tǒng)的開發(fā)。SpringFramework是一個(gè)在Java平臺(tái)上開放的開放源碼應(yīng)用程序,它為用戶提供了豐富的Web架構(gòu)。本課題使用IDEA編程,在代碼自動(dòng)提示、代碼分析等方面具有很好的功能。2.2.Tomcat介紹Tomcat服務(wù)器是一種自由免費(fèi)開源的Web程序服務(wù)器,是一種輕型的服務(wù)器。廣泛用于中小規(guī)模及同時(shí)存取的使用者較少的情況下,具有強(qiáng)大的性能、適合多種應(yīng)用、具有處理HTML頁面的能力、同時(shí)也是Servlet的容器。Tomcat是Apache服務(wù)器的一個(gè)擴(kuò)展,但是在本地它是獨(dú)立運(yùn)行的。本考試系統(tǒng)屬于小型的系統(tǒng),而且大部分的時(shí)候都不會(huì)被廣泛且同時(shí)的使用。2.3.MySQL介紹MySQL是一種把數(shù)據(jù)存儲(chǔ)到多張表格中的關(guān)系式數(shù)據(jù)庫,它可以加快處理的效率,提高靈活性。MySQL為普通用戶和中小企業(yè)所提供的能力是足夠的,并且因?yàn)樗情_源的,所以它可以極大地減少成本。SQL是MySQL中最常見的一種規(guī)范的語言,它可以用來存取數(shù)據(jù)庫。它優(yōu)化了SQL查詢、為java語言提供了API、支持Window操作系統(tǒng)、可以作為一個(gè)獨(dú)立的程序、擁有龐大的數(shù)據(jù)庫??荚嚬芾硐到y(tǒng)是一個(gè)將各種數(shù)據(jù)在各種表格之間進(jìn)行直接傳遞、添加、刪除、修改的流程的系統(tǒng),系統(tǒng)后端采用SpringBoot+MySQL極大提高系統(tǒng)性能。2.4.MyBatis介紹MyBatis是一個(gè)出色的持久性架構(gòu),支持SQL定制化,以及先進(jìn)的映射。可以用sql來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的全部操作,提供xml標(biāo)簽,支持編寫動(dòng)態(tài)sql,和MySQL互補(bǔ),更易維護(hù)。本系統(tǒng)是前后端分離,需要MyBatis服務(wù)數(shù)據(jù)庫。2.5.Vue介紹vue是一個(gè)漸進(jìn)的架構(gòu)。建立使用者介面,方便與第三方庫結(jié)合,而核心則專注于圖層,適于建立簡(jiǎn)單的應(yīng)用程序。它擁有非常靈活的API、輕型的結(jié)構(gòu)、雙向的數(shù)據(jù)鎖、以及強(qiáng)大的組件等。vue易于其他項(xiàng)目整合,通過簡(jiǎn)單的API實(shí)現(xiàn)數(shù)據(jù)響應(yīng)和組合的視圖組件展現(xiàn)。2.6.SpringBoot介紹SpringBoot擁有Spring優(yōu)秀的框架,最主要是SpringBoot簡(jiǎn)化了Spring應(yīng)用的配置。內(nèi)置Tomcat、能夠創(chuàng)建獨(dú)立的spring程序、簡(jiǎn)化maven配置、對(duì)編程沒有限制等良好的性能使得SpringBoot在諸多應(yīng)用領(lǐng)域蓬蓽生輝。2.7.本章小結(jié)通過相關(guān)技術(shù)的介紹,確定本系統(tǒng)的基本架構(gòu)以及呈現(xiàn)模式。前端vue+后端SpringBoot為整個(gè)項(xiàng)目框架,后端項(xiàng)目SpringBoot+MySQL介于MyBatis和前端打通,實(shí)現(xiàn)數(shù)據(jù)交互,最后通過vue組件展示頁面。第三章系統(tǒng)分析與設(shè)計(jì)繼上文系統(tǒng)相關(guān)技術(shù)介紹和技術(shù)路線的確定,本部分主要從系統(tǒng)的需求分析、架構(gòu)、功能、數(shù)據(jù)庫等方面展開細(xì)致的論述。3.1.需求分析3.1.1需求概述在線考試系統(tǒng)功能模塊主要為三個(gè)部分:一個(gè)是面向?qū)W生端,包括賬號(hào)登錄、查看考試信息、參加考試、留言評(píng)論等功能。第二個(gè)是針對(duì)教師端,主要是賬號(hào)登錄和教師服務(wù)。第三部分是管理員,擁有教師功能以及權(quán)限管理。3.1.2研究目標(biāo)實(shí)現(xiàn)一個(gè)考試管理系統(tǒng);該系統(tǒng)主要包括身份驗(yàn)證、在線考試、信息編輯、成績(jī)查詢等功能;該系統(tǒng)必須以互聯(lián)網(wǎng)為基礎(chǔ)。(1)該系統(tǒng)主要面向管理員類用戶、教師類用戶和學(xué)生類用戶。不同使用者可以使用不同的功能。管理員使用者擁有管理員功能;教師使用者擁有教師功能;學(xué)生使用者擁有學(xué)生功能。(2)系統(tǒng)主要目標(biāo)是實(shí)現(xiàn)學(xué)生在線考試、教師服務(wù)管理。(3)及時(shí)更新考題,考題類型包含三種題型。通過系統(tǒng)管理員或教師來進(jìn)行題庫的更新,學(xué)生不可以管理題庫。(4)實(shí)現(xiàn)系統(tǒng)網(wǎng)絡(luò)化。3.1.3功能描述學(xué)生端模塊登錄功能:學(xué)生使用賬號(hào)、密碼登錄。考試功能:學(xué)生可以在我的考試板塊里,選擇或搜索所需科目進(jìn)行考試,查看試題信息、開始考試、選擇題號(hào)、標(biāo)記題號(hào)、提交試卷。成績(jī)查詢功能:學(xué)生可以在成績(jī)板塊進(jìn)行成績(jī)查看。留言功能:學(xué)生可以在留言板塊進(jìn)行留言評(píng)論。教師端模塊登錄功能:老師必須要有賬號(hào)和密碼才能登錄,賬號(hào)密碼由管理員統(tǒng)一管理??荚嚬芾砉δ埽汗δ芙榻B、考試查詢、編輯或刪除考試信息。題庫管理功能:功能介紹、題庫查詢、編輯題庫、在線組卷。成績(jī)查詢功能:對(duì)學(xué)生成績(jī)進(jìn)行查詢。學(xué)生管理功能:編輯、刪除學(xué)生信息。管理員模塊登錄功能:管理員必須要有賬號(hào)和密碼才能登錄系統(tǒng)。教師管理功能:管理員除了有教師的功能外,還可以編輯、刪除教師信息。3.1.4登錄與授權(quán)用戶登錄功能目的是為了控制使用者進(jìn)出系統(tǒng)入口,只有那些達(dá)到了安全標(biāo)準(zhǔn)的人,方可使用。3.1.5性能需求(1)系統(tǒng)通過登錄驗(yàn)證,來確保系統(tǒng)的安全性,防止非法用戶進(jìn)入系統(tǒng),造成系統(tǒng)破壞;(2)系統(tǒng)可以被多用戶使用;(3)對(duì)于小數(shù)據(jù)量的數(shù)據(jù)記錄要在短時(shí)間內(nèi)實(shí)現(xiàn)各種操作和傳送數(shù)據(jù)信息;(4)系統(tǒng)響應(yīng)速度快,不能有延遲,防止建立關(guān)系列表錯(cuò)誤;(5)對(duì)輸入輸出的數(shù)據(jù)必須有相應(yīng)的格式類型、數(shù)值范圍及精度說明;(6)系統(tǒng)上手簡(jiǎn)單,不過于復(fù)雜,適用于絕大多數(shù)用戶;(7)框架清晰,簡(jiǎn)潔大方,不能出現(xiàn)生字,怪子;(8)系統(tǒng)要符合法律條文,不應(yīng)含有違法信息。3.1.6技術(shù)可行性分析目前的資源是否能夠支持系統(tǒng)的研究和實(shí)現(xiàn)。人力、環(huán)境、設(shè)備、技術(shù)等,能夠達(dá)到本工程的執(zhí)行需求,如不符合,則要采取相應(yīng)的補(bǔ)救辦法,并最終決定該工程的技術(shù)可行性。(1)導(dǎo)師具有豐富的實(shí)踐知識(shí)和良好的教學(xué)技能,并且學(xué)生有足夠的時(shí)間和能力來進(jìn)行學(xué)習(xí)。(2)項(xiàng)目將采用IDEA進(jìn)行開發(fā),軟件穩(wěn)定,應(yīng)用范圍廣,主要應(yīng)用vue、MyBatis、maven、MySQL、SpringBoot等。(3)目前,本課題所要求的軟件、網(wǎng)絡(luò)環(huán)境均已實(shí)現(xiàn)。(4)可利用的資源能夠滿足工程的需要,具有技術(shù)上的可行性。3.1.7用戶使用可行性分析從在線考試系統(tǒng)的使用人員來看,可大致分為3類:(1)學(xué)生;(2)老師;(3)管理員;使用者的素質(zhì)比較高,大多數(shù)都是學(xué)生,在校老師,在校領(lǐng)導(dǎo)等,因此可以很方便地使用系統(tǒng)。它具有良好的人機(jī)交互和簡(jiǎn)單的運(yùn)行方式,能夠很好地適應(yīng)用戶對(duì)系統(tǒng)的需求。3.1.8其他需求分析開放性:具有優(yōu)秀的可擴(kuò)展性和可移植性,系統(tǒng)遵循主流標(biāo)準(zhǔn)和協(xié)議。可用性:系統(tǒng)應(yīng)功能齊全,操作簡(jiǎn)單便捷。規(guī)范性:系統(tǒng)應(yīng)該符合主流系統(tǒng)的標(biāo)準(zhǔn),界面、快捷鍵、語言、基本操作流程、交互等系統(tǒng)設(shè)置。3.1.9資料調(diào)研用戶訪談?wù){(diào)研,訪談是指在調(diào)研人與使用者進(jìn)行面談時(shí),以獲得使用者的實(shí)際需要的調(diào)研方式。采用招聘訪問或走訪訪問的方式,可以方便、直觀地獲得多方面的信息。訪談準(zhǔn)備:(1)用戶職業(yè)背景;(2)現(xiàn)有管理系統(tǒng)環(huán)境的問題;(3)選擇該系統(tǒng)的理由;(4)用戶想要的功能,對(duì)系統(tǒng)的期望。3.1.10預(yù)期目標(biāo)(1)系統(tǒng)使用人性化的人機(jī)交互,具有良好的用戶界面、方便快捷的系統(tǒng)操作。(2)實(shí)現(xiàn)了管理員和老師獨(dú)立管理考試、題庫和學(xué)生等功能。(3)實(shí)現(xiàn)了學(xué)生在線考試,成績(jī)查詢等功能。(4)系統(tǒng)可維護(hù)性和可用性最大化。(5)實(shí)現(xiàn)系統(tǒng)自動(dòng)組卷、自動(dòng)批卷。3.2.架構(gòu)設(shè)計(jì)3.2.1系統(tǒng)層次圖系統(tǒng)層次是指在使用者介面與數(shù)據(jù)資料層的連結(jié),而非單純的連結(jié),而是透過使用者的具體需要加以細(xì)致的歸類。該體系由人員管理、考試管理、試題庫管理、試卷管理和成績(jī)管理五大部分組成。各子單元按照需要進(jìn)行單元間的劃分,以保證整個(gè)單元的完整??荚嚬芾硐到y(tǒng)的系統(tǒng)層次圖如圖3-1所示:圖3-1系統(tǒng)層次圖3.2.2系統(tǒng)結(jié)構(gòu)圖系統(tǒng)結(jié)構(gòu)圖是一種用于對(duì)結(jié)構(gòu)設(shè)計(jì)進(jìn)行說明的方法。該圖反映了一個(gè)體系(或函數(shù))的層次劃分、各組件間的聯(lián)系、各組件間的數(shù)據(jù)、控制流程等的傳輸。系統(tǒng)結(jié)構(gòu)圖如圖3-2所示:圖3-2系統(tǒng)結(jié)構(gòu)圖3.2.3系統(tǒng)流程圖系統(tǒng)流程圖是一種傳統(tǒng)描述系統(tǒng)的基本方法,它是系統(tǒng)的基本結(jié)構(gòu),通過流程圖可以清楚的看到整個(gè)系統(tǒng)的運(yùn)行狀態(tài)。在這個(gè)體系中,考題和使用者都是基本數(shù)據(jù)信息,在數(shù)據(jù)層面上,支持了整個(gè)系統(tǒng)的運(yùn)行??荚嚁?shù)據(jù)庫和用戶信息數(shù)據(jù)庫是整個(gè)數(shù)據(jù)庫的最基本部分。其中,試題庫的內(nèi)容包括試題庫表、試卷信息表等與試題有關(guān)的資料。用戶包括三種用戶信息表,這些信息的作用是確定使用者的信息和所擁有的權(quán)利。系統(tǒng)流程圖如圖3-3所示:圖3-3系統(tǒng)流程圖3.3.業(yè)務(wù)模型設(shè)計(jì)3.3.1業(yè)務(wù)模型指導(dǎo)思想本系統(tǒng)的功能設(shè)計(jì)遵循使用者的觀點(diǎn),既要滿足使用者的實(shí)際需要,又要滿足使用者的合理要求。系統(tǒng)在滿足用戶要求、不改變整體系統(tǒng)的前提下,能夠?qū)ζ溥M(jìn)行二次開發(fā)。3.3.2數(shù)據(jù)流程圖數(shù)據(jù)流程圖是指把數(shù)據(jù)獨(dú)立抽取、用圖表形式表示的系統(tǒng)的過程。從該模型中可以清晰地看到數(shù)據(jù)在系統(tǒng)流程中的流向和存儲(chǔ)情況。數(shù)據(jù)流程圖如圖3-4所示:圖3-4數(shù)據(jù)流程圖3.3.3系統(tǒng)前后臺(tái)結(jié)構(gòu)功能圖前臺(tái)主要是在線考試,學(xué)生瀏覽主頁面、查看考試信息、選擇考試科目、學(xué)生在線考試、學(xué)生成績(jī)查詢與其他同學(xué)互動(dòng)留言,如圖3-5所示:圖3-5前臺(tái)結(jié)構(gòu)功能圖后臺(tái)主要是為教師端和管理員服務(wù),包括教師登錄、考試管理、學(xué)生管理、題庫管理、管理員登錄、教師管理,如圖3-6所示:圖3-6后臺(tái)結(jié)構(gòu)功能圖3.4.模塊設(shè)計(jì)(1)學(xué)生模塊:學(xué)生進(jìn)行登錄,登錄成功后就可以對(duì)首頁瀏覽,也可以直接開始考試、查看成績(jī)或者留言,考試結(jié)束后繼續(xù)瀏覽頁面或退出系統(tǒng),結(jié)束。流程圖如下:圖3-7學(xué)生功能模塊(2)教師模塊:教師進(jìn)行登錄,登錄成功后可以對(duì)首頁瀏覽,也可以直接對(duì)學(xué)生信息、學(xué)生成績(jī)、數(shù)據(jù)庫管理、考試信息進(jìn)行操作,之后可以繼續(xù)選擇瀏覽頁面或退出系統(tǒng),結(jié)束。流程圖如下:圖3-8教師功能模塊(3)管理員模塊:管理員進(jìn)行登錄,登錄成功后可以對(duì)首頁瀏覽,也可以直接對(duì)教師信息進(jìn)行管理,同時(shí)也有教師功能服務(wù),之后可以繼續(xù)瀏覽頁面或退出系統(tǒng),結(jié)束。流程圖如下:圖3-9管理員功能模塊(4)添加信息模塊:使用者根據(jù)自身權(quán)限和功能添加信息。流程圖如下:圖3-10添加信息模塊(5)刪除信息模塊:使用者根據(jù)自身功能,實(shí)現(xiàn)信息刪除,教師對(duì)學(xué)生、題庫的管理,管理員對(duì)教師的管理等。流程圖如下:圖3-11刪除信息模塊3.5.數(shù)據(jù)庫設(shè)計(jì)3.5.1模型分析建立數(shù)據(jù)模型數(shù)據(jù)對(duì)象:學(xué)生,教師,管理員。屬性:共同屬性:賬號(hào),密碼。學(xué)生:姓名,性別,電話號(hào)碼及其他個(gè)人信息。教師:姓名,性別,職稱,院系,身份證號(hào)碼,電話號(hào)碼。管理員:權(quán)限。聯(lián)系:學(xué)生和教師是多對(duì)一的關(guān)系,教師和管理員是多對(duì)一的關(guān)系,學(xué)生和管理員也是多對(duì)一的關(guān)系。根據(jù)數(shù)據(jù)模型的屬性及聯(lián)系構(gòu)建系統(tǒng)E-R圖,如圖3-12所示:圖3-12E-R圖建立行為模型(1)學(xué)生服務(wù);(2)教師服務(wù);(3)管理員服務(wù)。建立功能模型實(shí)現(xiàn)簡(jiǎn)單的考試管理系統(tǒng),學(xué)生不僅可以考試,還能夠發(fā)言;教師和管理員共同服務(wù)此系統(tǒng),還有管理員不定時(shí)的管理,維護(hù),更新系統(tǒng)。圖3-13學(xué)生功能模型3.5.2數(shù)據(jù)表的建立系統(tǒng)中,在登錄或測(cè)試過程中,都需要對(duì)本地MySQL數(shù)據(jù)庫進(jìn)行存取和修改。因此,在數(shù)據(jù)庫設(shè)計(jì)中,合理、有效的數(shù)據(jù)庫設(shè)計(jì)可以保證系統(tǒng)運(yùn)行更加平穩(wěn)、快速。為加快數(shù)據(jù)庫的存取,本系統(tǒng)使用數(shù)據(jù)集合的方法來存取數(shù)據(jù)庫,使數(shù)據(jù)庫的數(shù)據(jù)資料能被臨時(shí)儲(chǔ)存在已建好的數(shù)據(jù)庫中,增加存取數(shù)據(jù)的快捷性,尤其適合一個(gè)需要多人使用的系統(tǒng)。從學(xué)生、教師、管理員的數(shù)據(jù)模型、行為模型、和功能模型分析,創(chuàng)建數(shù)據(jù)表。如下面三張表所示,每位用戶都有自己的賬號(hào)和密碼進(jìn)行系統(tǒng)登錄,以及對(duì)應(yīng)的相關(guān)屬性。管理員的賬號(hào)、密碼、名字不能為空,擁有最高權(quán)限,數(shù)據(jù)庫中的“admin”表擁有管理員的相關(guān)信息,如下表3-1中的信息:表3-1“admin”表教師的信息管理是由管理員設(shè)置,主要包括賬號(hào)、密碼、名字和其余附加信息,數(shù)據(jù)庫中“teacher”表如下表3-2中的信息:學(xué)生的信息管理是由管理員和教師共同設(shè)置,主要包括賬號(hào)、密碼、名3.5.3數(shù)據(jù)庫的邏輯實(shí)現(xiàn)多個(gè)測(cè)試模塊都是在網(wǎng)頁上進(jìn)行數(shù)據(jù)庫的操作,數(shù)據(jù)庫設(shè)計(jì)非常重要,并且采用了一個(gè)統(tǒng)一的數(shù)據(jù)庫來進(jìn)行設(shè)計(jì)和維護(hù),需要在不同表格之間實(shí)現(xiàn)各種功能,實(shí)現(xiàn)對(duì)應(yīng)的業(yè)務(wù)邏輯。各個(gè)數(shù)據(jù)表間的業(yè)務(wù)邏圖3-16數(shù)據(jù)表的邏輯流程3.6.本章小結(jié)從需求概述、功能模塊、登錄與授權(quán)、性能需求、技術(shù)可行性、用戶使用可行性、資料調(diào)研、技術(shù)路線選取多角度分析和設(shè)計(jì)一個(gè)功能齊全、操作簡(jiǎn)易的考試管理系統(tǒng)。通過數(shù)據(jù)、行為、功能模型的建立,以及數(shù)據(jù)表三種用戶基本信息的構(gòu)建,梳理關(guān)鍵數(shù)據(jù)表之間的邏輯實(shí)現(xiàn)。在數(shù)據(jù)庫的管理中,對(duì)這些表格進(jìn)行了細(xì)致的設(shè)計(jì)。第四章系統(tǒng)實(shí)現(xiàn)通過前幾章的論述,本章是對(duì)前面論述的總結(jié)并運(yùn)用于實(shí)踐,進(jìn)行考試管理系統(tǒng)的實(shí)現(xiàn)。主要從系統(tǒng)的頁面設(shè)計(jì),功能實(shí)現(xiàn)兩方面講解。整個(gè)系統(tǒng)有視圖層,控制層,業(yè)務(wù)邏輯層,數(shù)據(jù)持久層4部分構(gòu)成,vue負(fù)責(zé)視圖層,SpringBoot負(fù)責(zé)控制層和業(yè)務(wù)邏輯層,MyBatis負(fù)責(zé)數(shù)據(jù)持久層,最后還有一個(gè)MySQL數(shù)據(jù)庫。4.1.登錄功能1path:'/',2name:'login',3component:()=>import('@/components/common/login')vue前端頁面顯示以動(dòng)態(tài)路route中組件的形式展現(xiàn),一個(gè)頁面可以由多個(gè)組件嵌套構(gòu)成,即界面加彈窗、界面加界面的樣式。瀏覽器訪問系統(tǒng),用瀏覽器搜索localhost:8088。第1行代碼表示該路徑為默認(rèn)路徑,訪問成功后會(huì)跳轉(zhuǎn)到第2行代碼所指定的頁面,即訪問系統(tǒng)默認(rèn)到登錄頁面,第3行代碼表示目標(biāo)組件所在位置。達(dá)到登錄頁面,可以通過點(diǎn)擊事件和鍵盤事件在文本框里輸入賬號(hào)和密碼,點(diǎn)擊“登錄”按鈕進(jìn)行登錄。4login(){5console.log("登錄操作執(zhí)行");6this.$axios({7url:`/api/login`,8method:'post',9data:{10...this.formLabelAlign11}“登錄”按鈕的點(diǎn)擊事件由click來監(jiān)聽,@click="login()",當(dāng)用戶點(diǎn)擊按鈕時(shí),就會(huì)調(diào)用“l(fā)ogin()”方法。login()方法根據(jù)9到11行代碼獲取的用戶信息,通過第6行的axios的http請(qǐng)求訪問第7行api的接口。12@PostMapping("/login")13publicApiResultlogin(@RequestBodyLoginlogin){14Integerusername=login.getUsername();15Stringpassword=login.getPassword();16AdminadminRes=loginService.adminLogin(username,password);17if(adminRes!=null){18returnApiResultHandler.buildApiResult(200,"請(qǐng)求成功",adminRes);19}20returnApiResultHandler.buildApiResult(400,"請(qǐng)求失敗",null);21}后端的controller層通過第12行代碼的接口接受請(qǐng)求,14、15行為前端輸入的賬號(hào)、密碼,以管理員為例,然后通過16行代碼訪問業(yè)務(wù)邏輯層的loginSevice中adminLogin方法獲得的數(shù)據(jù),17到21行是對(duì)返回結(jié)果的處理。22@Override23publicAdminadminLogin(Integerusername,Stringpassword){24returnloginMapper.adminLogin(username,password);25}23行代碼是adminLogin方法,24行是service層獲得DAO層返回的信息。26@Select("selectadminId,adminName,sex,tel,email,cardId,rolefromadminwhereadminId=#{username}andpwd=#{password}")27publicAdminadminLogin(Integerusername,Stringpassword);數(shù)據(jù)持久層依據(jù)業(yè)務(wù)邏輯層發(fā)送的“id”和“psw”通過26行的sql語句進(jìn)行數(shù)據(jù)庫信息查找。如果找到對(duì)應(yīng)的管理員,就會(huì)將該管理員的信息全部返回給service層,即第16行代碼中“adminRes”為管理員的信息;如果沒有找到對(duì)應(yīng)的管理員,則會(huì)通過第20行返回一個(gè)“null”。service層通過17到19行或20行返回給前端請(qǐng)求api的頁面一個(gè)“adminRes”或“null”。28switch(resData.role)29case"0":30this.$cookies.set("cname",resData.adminName)31this.$cookies.set("cid",resData.adminId)32this.$cookies.set("role",0)33this.$router.push({path:'/index'})第28行代碼表示“resData”為后端發(fā)送的“adminRes”或“null”。通過判斷“resData”是否為空,若為空,前端會(huì)彈出提示框“用戶名或密碼錯(cuò)誤”;若不為空,通過28行獲取用戶信息中的“role”屬性,29行判斷“role”的值為“0”、“1”、“2”,若為“0”,則通過30到32行拉取對(duì)應(yīng)管理員的信息,最后以33行路由跳轉(zhuǎn)到符合“id”的管理員頁面。教師和學(xué)生原理相同,教師“role”=1,學(xué)生“role”=2。4.2.考試功能1this.$axios(`/api/paper/${paperId}`).then(res=>{2this.topic={...res.data}3letkeys=Object.keys(this.topic)4keys.forEach(e=>{5letdata=this.topic[e]6this.topicCount.push(data.length)7letcurrentScore=08for(leti=0;i<data.length;i++){9currentScore+=data[i].score10}11this.score.push(currentScore)通過學(xué)生的賬號(hào)和密碼輸入,前端會(huì)接收“role”=2,系統(tǒng)會(huì)跳轉(zhuǎn)到path:'/student'。學(xué)生系統(tǒng)主頁還包括其他的組件,即主頁面包含子頁面?!皊tudent/index”是學(xué)生主頁面,主頁面還包括“myExam”、“startExam”、“manager”、“examMsg”、“message”等其他組件。path:"/"表示“myExam”組件默認(rèn)隨著學(xué)生主頁面“index”一起展現(xiàn),其他組件則需要對(duì)應(yīng)的點(diǎn)擊事件才能進(jìn)行頁面跳轉(zhuǎn),原理與上文登錄的流程相同。整個(gè)系統(tǒng)頁面的形成都是由vue框架、element-ui組件構(gòu)成。第1行代碼表示請(qǐng)求試卷信息,3到5行把試卷的信息以數(shù)組的形式存儲(chǔ),7到9行算出抽取試卷的總分。學(xué)生點(diǎn)擊一門考試跳轉(zhuǎn)到“examMsg”試卷詳情頁面,再通過“toAnswer”點(diǎn)擊事件跳轉(zhuǎn)到path:"/answer"考試頁面。12publicApiResultfindById(@PathVariable("examCode")IntegerexamCode){13System.out.println("根據(jù)ID查找");14ExamManageres=examManageService.findById(examCode);15if(res==null){16returnApiResultHandler.buildApiResult(10000,"考試編號(hào)不存在",null);17}18returnApiResultHandler.buildApiResult(200,"請(qǐng)求成功!",res);}到達(dá)考試頁面,通過created()方法初始化頁面信息,獲取學(xué)生、考試、時(shí)間信息展示在系統(tǒng)頁面。通過14行代碼實(shí)現(xiàn)試卷信息的獲取,若沒有找到對(duì)應(yīng)試卷則提示16行的“考試編號(hào)不存在。4.3.批卷功能根據(jù)學(xué)生主頁面所點(diǎn)擊考試的“試卷編號(hào)”,通過axios的http請(qǐng)求“試卷編號(hào)”的api獲取該編號(hào)試卷的信息,獲取后端的“試卷信息”,再通過axios請(qǐng)求以考試信息中的“試題號(hào)”去獲取題庫中對(duì)應(yīng)題號(hào)的“題目信息”,把獲取到的試題信息中的答案以數(shù)組的形式儲(chǔ)存。1letlen=this.topicCount[1]2letfather=[]3for(leti=0;i<len;i++){4letchildren=[null,null,null,null]5father.push(children)要用1到2行的二維數(shù)保存上面獲取到試題中填空題的答案,最后要初始化試題信息,即展示第一題題目信息和第一題作答信息。用vue中的語法框架把type=1、2的試題以題目加點(diǎn)擊選項(xiàng)和輸入框的形式展現(xiàn),因?yàn)槭沁x擇題,所以點(diǎn)擊事件為change事件,填空題為鍵盤事件,通過事件把學(xué)生答案保存到數(shù)組。學(xué)生作完卷后,可以提交試卷,通過點(diǎn)擊事件調(diào)用commit()方法,系統(tǒng)會(huì)根據(jù)學(xué)生所做答案與之前試卷信息中的答案一一對(duì)比,計(jì)算總分。以選擇題為例:6topic1Answer.forEach((element,index)=>{7letright=null8if(element!=null){9switch(element){10case1:11right="A"12break//省略其余3個(gè)case13}通過“結(jié)束考試”點(diǎn)擊事件,實(shí)現(xiàn)系統(tǒng)的自動(dòng)批卷。選擇題會(huì)根據(jù)點(diǎn)擊事件所選的1、2、3、4保存到數(shù)組,對(duì)應(yīng)到試題答案的A、B、C、D。把學(xué)生通過change事件保存的答案與正確答案比較,最后以正確答案?jìng)€(gè)數(shù)乘以分值累加得出該題型的總分,以上是選擇題的自動(dòng)批卷,填空題、判斷題類似。但填空題不是switch()方法,要使用includes(),即所寫答案必須包含于正確答案,系統(tǒng)才會(huì)判定為正確;否則答案錯(cuò)誤。4.4.組卷功能教師在“添加題庫”板塊,可以選擇所需試卷,通過手動(dòng)添加題目或以組卷的方式給試卷組織試題。在“在線組卷頁面”,教師可以根據(jù)需求給試卷設(shè)置參數(shù),即“難度”、三種題型的“數(shù)量”。填寫好參數(shù)要求后,通過點(diǎn)擊事件“立刻組卷”引用create()方法實(shí)現(xiàn)組卷。1List<Integer>changeNumbers=multiQuestionService.findBySubject(item.getSubject(),changeNumber);2if(changeNumbers==null){3returnApiResultHandler.buildApiResult(400,"選擇題數(shù)據(jù)庫獲取失敗",null);}4for(Integernumber:changeNumbers){5PaperManagepaperManage=newPaperManage(paperId,1,number);6intindex=paperService.add(paperManage);7if(index==0)8returnApiResultHandler.buildApiResult(400,"選擇題組卷保存失敗",null);}通過發(fā)送http請(qǐng)求給item控制層,controller層根據(jù)前端的幾個(gè)參數(shù)分別向三種題型的service層請(qǐng)求方法,若返回信息為空,則組卷失敗;否則就把所獲試題信息存入“papermanage”表中,提供給學(xué)生端在線考試。9@Override10publicList<Integer>findBySubject(Stringsubject,IntegerpageNo){11returnmultiQuestionMapper.findBySubject(subject,pageNo);12}第30行代碼表示service層接收DAO層的返回所求信息。第11行指選擇題service層請(qǐng)求DAO層以“findBySubject”查找返回信息。13@Select("selectquestionIdfrommulti_questionwheresubject=#{subject}orderbyrand()desclimit#{pageNo}")14List<Integer>findBySubject(Stringsubject,IntegerpageNo);DAO層響應(yīng)service層,以13行sql語句按科目尋找目標(biāo)試題,并“orderbyrand()desclimit”方法限制,“rand()”方法是從數(shù)據(jù)庫隨機(jī)不重復(fù)的抽取,比如以“計(jì)算機(jī)網(wǎng)絡(luò)”為“subject”通過multiquestionmapper的sql按“pageNo”的數(shù)量抽取,最后返回給service層不同順序的題目組合信息。4.5.用戶管理功能用戶管理分為教師端和管理員端2種管理。教師只能管理學(xué)生,管理員既可管理學(xué)生,也可管理教師。教師到達(dá)學(xué)生管理頁面,頁面初始化獲取學(xué)生信息。教師可以選擇“編輯”和“刪除”學(xué)生信息,點(diǎn)擊事件“編輯”調(diào)用“checkGrade”方法。方法請(qǐng)求“student”控制層:1@GetMapping("/student/{studentId}")2publicApiResultfindById(@PathVariable("studentId")IntegerstudentId){3Studentres=studentService.findById(studentId);4if(res!=null){5returnApiResultHandler.buildApiResult(200,"請(qǐng)求成功",res);6}else{7returnApiResultHandler.buildApiResult(404,"查詢的用戶不存在",null);8}9}第1行代碼表示controller層接收http請(qǐng)求,第3行為service層返回的學(xué)生信息,4到9行判斷學(xué)生信息是否存在。10@Override11publicStudentfindById(IntegerstudentId){12returnstudentMapper.findById(studentId);13}第12行表示service層接收DAO層所查找的結(jié)果。14@Select("select*fromstudentwherestudentId=#{studentId}")15StudentfindById(IntegerstudentId);數(shù)據(jù)持久層通過sql語句以“studentId”查找學(xué)生全部信息。教師通過“編輯”事件獲取到了學(xué)生信息,更改完信息后,通過“submit”事件完成對(duì)學(xué)生信息的更新。更新的信息傳遞與查找相同,這里以DAO層為例,代碼如下:16@Update("updatestudentsetstudentName=#{studentName},grade=#{grade},major=#{major},clazz=#{clazz},"+"institute=#{institute},tel=#{tel},email=#{email},pwd=#{pwd},cardId=#{cardId},sex=#{sex},role=#{role}"+"wherestudentId=#{studentId}")17intupdate(Studentstudent);4.6.成績(jī)查詢功能教師選擇“成績(jī)查詢”中的“學(xué)生成績(jī)查詢”可以查看學(xué)生的考試信息,通過“查看成績(jī)”的點(diǎn)擊事件可以跳轉(zhuǎn)到“學(xué)生成績(jī)折線圖”,以echarts組件為核心,x軸為考試次數(shù),y軸為分?jǐn)?shù)。教師端通過組件實(shí)現(xiàn)學(xué)生成績(jī)可視化,學(xué)生端則是通過“我的分?jǐn)?shù)”板塊直接查詢考試分?jǐn)?shù),“score”表中的數(shù)據(jù)是由自動(dòng)批卷累加所得分?jǐn)?shù)獲得。4.7.系統(tǒng)功能展現(xiàn)圖4-2學(xué)生頁面考試科目及相關(guān)信息通過分頁查詢展示在學(xué)生端首頁。圖4-3考試頁面圖4-4在線組卷每個(gè)試題都有獨(dú)立的“id”,教師選擇試卷,再通過“number”、“l(fā)evel”以rand()方法實(shí)現(xiàn)自動(dòng)組卷。圖4-5用戶管理教師通過鍵盤和點(diǎn)擊事件對(duì)學(xué)生信息進(jìn)行修改和添加,以DAO層的sql的add、delete、update方法實(shí)現(xiàn)對(duì)學(xué)生信息的管理。圖4-6成績(jī)查詢用戶在系統(tǒng)前端通過點(diǎn)擊事件向后端發(fā)送http請(qǐng)求,數(shù)據(jù)從視圖層傳到控制層,再請(qǐng)求服務(wù)層的業(yè)務(wù)邏輯方法,通過數(shù)據(jù)持久層的sql語句操作數(shù)據(jù)庫,最后返回?cái)?shù)據(jù)或者結(jié)束。系統(tǒng)執(zhí)行流程如下結(jié)構(gòu)圖所示:圖4-7系統(tǒng)執(zhí)行流程4.8.本章小結(jié)系統(tǒng)登錄功能實(shí)現(xiàn)學(xué)生、教師、管理員3種不同用戶的登錄;學(xué)生在線考試,系統(tǒng)實(shí)現(xiàn)自動(dòng)批卷;教師端還可以通過參數(shù)選擇實(shí)現(xiàn)自動(dòng)組卷;還有其他的功能,教師對(duì)學(xué)生信息、試題信息的編輯,管理員對(duì)教師信息的編輯等等類似的功能組成一個(gè)完整的考試管理系統(tǒng)。5.系統(tǒng)測(cè)試與部署經(jīng)過上章對(duì)系統(tǒng)的實(shí)現(xiàn)。本章開始對(duì)系統(tǒng)關(guān)鍵功能展開測(cè)試,從用戶登錄、頁面操作、各用戶的具體功能實(shí)現(xiàn)展示進(jìn)行測(cè)試、分析測(cè)試結(jié)果,以及如何把系統(tǒng)部署在本地運(yùn)行。5.1.系統(tǒng)測(cè)試5.1.1登錄功能測(cè)試使用系統(tǒng)之前需要進(jìn)行登錄,使用各自賬號(hào)密碼完成登錄,之后就可以使用系統(tǒng)功能。在前端主頁面,填寫信息,通過“登錄”的點(diǎn)擊事件向后端傳遞信息請(qǐng)求。圖5-1登錄頁面在填寫框中輸入“20154084”和“123456”,通過點(diǎn)擊事件響應(yīng)后端的登錄功能,DAO層通過sql的全局查找,找到對(duì)應(yīng)的“id”和“password”返回“data!=null”,然后根據(jù)學(xué)生信息中的“role=2”,系統(tǒng)成功由登錄頁面跳轉(zhuǎn)到學(xué)生“大咸魚”主頁面;在填寫框中輸入“20081001”和“123456”,通過點(diǎn)擊事件響應(yīng)后端的登錄功能,返回“role=1”,系統(tǒng)成功由登錄頁面跳轉(zhuǎn)到教師“Mr張”主頁面;在填寫框中輸入“9527”和“123456”,通過點(diǎn)擊事件響應(yīng)后端的登錄功能,返回“role=0”,系統(tǒng)成功由登錄頁面跳轉(zhuǎn)到管理員主頁面;使用數(shù)據(jù)庫擁有的賬號(hào)和密碼才能登錄成功,否則會(huì)提示“用戶名或密碼錯(cuò)誤”。隨便輸入“23245”和“12345”,全局查找沒有搜索到所填信息,返回“data=null”,前端收到“data=null”,顯示提示信息“用戶名或密碼錯(cuò)誤”。圖5-3不同用戶登錄5.1.2考試功能測(cè)試在完成正確的的登錄之后,會(huì)進(jìn)入系統(tǒng)主頁面,學(xué)生、教師、管理員三類不同主頁面。學(xué)生登錄成功后,可以從“我的試卷”、“我的練習(xí)”、“我的分?jǐn)?shù)”、“給我留言”幾個(gè)板塊選擇,也可以直接點(diǎn)擊科目考試,最后點(diǎn)擊退出系統(tǒng)。以“大咸魚”同學(xué)的賬號(hào)的首頁第一門考試《計(jì)算機(jī)網(wǎng)絡(luò)》為測(cè)試對(duì)象。圖5-4學(xué)生考試頁面選擇題第1到10題全部選擇“A”,判斷題45到50題全部選擇“T”,點(diǎn)擊“結(jié)束考試”提前交卷,系統(tǒng)將所選答案保存到數(shù)組,與頁面信息獲取到的答案一一對(duì)比,通過count計(jì)數(shù)器累加算出最后總分為“8”;以同份試卷再做一次測(cè)試,這次選擇題1到10全部選擇“B”,判斷題45到50題全部選擇“F”,點(diǎn)擊“結(jié)束考試”,獲取最后分?jǐn)?shù)為“16”。查看數(shù)據(jù)庫中試題答案分析,自動(dòng)批卷的結(jié)果是正確的。學(xué)生考試信息會(huì)保存在數(shù)據(jù)庫中的“score”表中,“我的分?jǐn)?shù)”頁面獲取表中信息。學(xué)生在線考試功能和自動(dòng)批卷功能成功實(shí)現(xiàn)。圖5-5“score”表信息5.1.3組卷功能測(cè)試以“Mr張”賬號(hào)為測(cè)試對(duì)象,首先通過“添加考試”新建2門試卷,在“在線考試”頁面為新建的2門考試設(shè)置相同的參數(shù),即難度“一般”、選擇題“5”、填空題“5”、判斷題“5”,通過“立刻組卷”的點(diǎn)擊事件,讓DAO層調(diào)用rand()方法抽取對(duì)應(yīng)“subject”、“l(fā)evel”的fillquestion、judgequestion、multiquestion三個(gè)試題數(shù)據(jù)庫各5個(gè)題目,即后端完成2次條件相同的組卷;返回“大咸魚”同學(xué)的賬號(hào)進(jìn)行確認(rèn)。圖5-6組卷實(shí)現(xiàn)同一門科目在2次參數(shù)相同的條件下進(jìn)行組卷,試卷1的選擇題1“交換機(jī)”與試卷2的選擇題1“G(x)”不同,試卷1的選擇題2“DNS”與試卷2的選擇題2“幀類型”不同,填空題和判斷題以此類推,試卷1和試卷2是不同考卷。在線自動(dòng)組卷功能成功實(shí)現(xiàn)。5.1.4用戶管理功能測(cè)試以“Mr張”賬號(hào)為測(cè)試對(duì)象,首先通過“學(xué)生管理”中“添加學(xué)生”加入一名學(xué)生“李偉”及相關(guān)信息,通過“立刻創(chuàng)建”點(diǎn)擊事件,讓DAO層執(zhí)行insert的sql語句,添加學(xué)生信息到數(shù)據(jù)庫中。圖5-7添加學(xué)生在教師的“學(xué)生管理”和數(shù)據(jù)庫中都可以看出學(xué)生“李偉”成功添加。在“學(xué)生管理”頁面有“編輯”和“刪除”學(xué)生信息,選擇把“李偉”同學(xué)的性別由男改成女,班級(jí)由2改成1,點(diǎn)擊確認(rèn),DAO層執(zhí)行update語句。頁面的學(xué)生信息和數(shù)據(jù)庫中學(xué)生屬性全部變化,用戶管理功能實(shí)現(xiàn)。圖5-8學(xué)生信息編輯5.1.5成績(jī)查詢功能測(cè)試以“大咸魚”同學(xué)為學(xué)生端測(cè)試對(duì)象,讓同學(xué)再進(jìn)行一次“計(jì)算機(jī)網(wǎng)絡(luò)”考試,提交試卷,獲取分?jǐn)?shù)為10分,“score”表中新增一條分?jǐn)?shù)數(shù)據(jù)。登錄“Mr張”賬號(hào),點(diǎn)擊“成績(jī)查詢”,選擇“大咸魚”的“查詢?cè)斍椤?,獲取到最新的成績(jī)折線圖,與原先的成績(jī)圖進(jìn)行對(duì)比,折線延長(zhǎng),考試次數(shù)由10加到11次,16分后面多了一個(gè)10分。學(xué)生成績(jī)可視化功能實(shí)現(xiàn)。圖5-9成績(jī)折線圖5.2.系統(tǒng)部署基于SpringBoot+vue考試管理系統(tǒng),本地部署MySQL。通過在后端項(xiàng)目運(yùn)行“main”下的“perties”,啟動(dòng)后端,后臺(tái)項(xiàng)目啟動(dòng)與本地?cái)?shù)據(jù)庫連接,前臺(tái)通過npmrundev指令將項(xiàng)目放到服務(wù)器上,在瀏覽器中搜寫localhost:8088,點(diǎn)擊跳轉(zhuǎn),若成功到達(dá)系統(tǒng)的登錄頁面并且可以進(jìn)行登錄,則項(xiàng)目運(yùn)行成功。圖5-10后臺(tái)項(xiàng)目運(yùn)行圖5-11前臺(tái)項(xiàng)目啟動(dòng)圖5-12前后端分離5.3.本章小結(jié)通過測(cè)試目標(biāo)的完成,可以確認(rèn)系統(tǒng)實(shí)現(xiàn)了用戶登錄,在線考試,用戶管理,自動(dòng)組卷等功能,但由于數(shù)據(jù)庫本身數(shù)據(jù)的稀少,所以需要擴(kuò)大數(shù)據(jù)庫,嘗試做更多的實(shí)驗(yàn)去測(cè)試系統(tǒng)的功能可行性,技術(shù)可行性。前后端分離,前端負(fù)責(zé)view層;后端負(fù)責(zé)controller層、mapper層、service層;后臺(tái)錯(cuò)誤不會(huì)直接反映到前臺(tái),互不干擾。6.1設(shè)計(jì)成果成功設(shè)計(jì)出了一種前后端分離考試管理系統(tǒng),可以切換3種賬號(hào)操作系統(tǒng),能夠在線考試、成績(jī)查詢、自動(dòng)組卷、自動(dòng)批卷等考試功能服務(wù),也可以管理用戶信息,具有一定現(xiàn)實(shí)價(jià)值;有能力者或是想要學(xué)習(xí)之人可以以此系統(tǒng)去更深一步優(yōu)化和創(chuàng)造。6.2展望雖然實(shí)現(xiàn)了基本的考試系統(tǒng),但是還缺少一些必要的功能,比如,添加一個(gè)視頻教學(xué)欄目,學(xué)生可以自主學(xué)習(xí),教師和管理員也能夠二次教學(xué),這是一個(gè)遺憾的地方;希望可以添加其他算法的組卷系統(tǒng);希望讓考試變得更有挑戰(zhàn)性,變更考試模式,從總體限時(shí),轉(zhuǎn)變到每道題限時(shí);本人沒有學(xué)過其他的圖像設(shè)計(jì),希望可以將其他圖表與系統(tǒng)有機(jī)結(jié)合,便于管理數(shù)據(jù)和數(shù)據(jù)可視化。6.3本章小結(jié)本畢設(shè)所完成的基于SpringBoot+vue前后端分離的考試管理系統(tǒng)的項(xiàng)目,在不同用戶的使用方面,系統(tǒng)頁面管理及功能實(shí)現(xiàn)取得一定成果,希望以后有更多學(xué)習(xí)的機(jī)會(huì)去自主創(chuàng)新,獨(dú)立思考,在已有的基石上

溫馨提示

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

評(píng)論

0/150

提交評(píng)論