摘? 要:在線考試系統(tǒng)的出現(xiàn),幫助了教學(xué)工作取得了更好的進(jìn)展。對(duì)于學(xué)生考試,不再受到場(chǎng)地的制約。該課題通過Java語言以及JSP技術(shù),實(shí)現(xiàn)一個(gè)在線的考試平臺(tái)。主要用于學(xué)生在線考試,并可以查看自己的成績(jī)單。教師則在后臺(tái)管理,負(fù)責(zé)題目信息的錄入,并對(duì)試卷進(jìn)行維護(hù)。對(duì)于所有的考題信息、成績(jī)信息都通過MySQL存儲(chǔ)。項(xiàng)目的運(yùn)行則通過Tomcat啟動(dòng)。使用在線考試系統(tǒng),能夠大大提高學(xué)校教學(xué)工作的效率。
關(guān)鍵詞:在線考試;后臺(tái)管理;Java;JSP;MySQL
中圖分類號(hào):TP311? 文獻(xiàn)標(biāo)識(shí)碼:A? ? 文章編號(hào):2096-4706(2023)08-0036-04
Abstract: The emergence of online examination system has helped the teaching work make better progress. For the student examination, it is no longer restricted by the venue. This topic realizes an online examination platform through Java language and JSP technology. It is mainly used for student online examination and students can view their transcripts. Teachers manage the background, and they are responsible for the entry of question information and the maintenance of test papers. For all test questions and scores, the information is stored in MySQL. The operation of the project is started through Tomcat. By using this online examination system, the efficiency of school teaching work can be greatly improved.
Keywords: online examination; back-stage management; Java; JSP; MySQL
0? 引? 言
在線考試的出現(xiàn),一方便是由于計(jì)算機(jī)的發(fā)展,需要與時(shí)俱進(jìn);另一方面是它給人們提供更方便的考試方式,并且提高了閱卷評(píng)分的效率。在各大高校,也都開始使用在線考試這一方式進(jìn)行考核。通過無紙化的方式,實(shí)現(xiàn)在線答題、在線閱卷、在線評(píng)分。
1? 相關(guān)技術(shù)研究
1.1? JSP技術(shù)
JSP本質(zhì)其實(shí)是一個(gè)Servlet。JSP是在Servet規(guī)約下,開發(fā)動(dòng)態(tài)的網(wǎng)頁。JSP和HTML網(wǎng)頁不同,在JSP頁面中,代碼和頁面分離,更好地去編寫Java代碼[1]。
在實(shí)際網(wǎng)頁中,用戶發(fā)出的請(qǐng)求被接受后,被轉(zhuǎn)換成Servlet,最終通過Servlet應(yīng)用程序,執(zhí)行業(yè)務(wù)邏輯層的代碼等,將請(qǐng)求處理后的結(jié)果返回。
1.2? MySQL數(shù)據(jù)庫(kù)
本系統(tǒng)選擇了MySQL作為數(shù)據(jù)庫(kù)。其相比SQL Server更實(shí)用。MySQL只有dos界面,為了更好地使用,選擇Navicat作為管理工具。系統(tǒng)每進(jìn)行一次操作,都會(huì)訪問MySQL。MySQL以表格的形式存儲(chǔ)數(shù)據(jù)。再通過設(shè)置主鍵、外鍵,對(duì)系統(tǒng)的使用更規(guī)范[2]。
1.3? Tomcat服務(wù)器
Tomcat大多用戶將Web應(yīng)用部署到瀏覽器。在本地為Tomcat分配8080端口,訪問的時(shí)候通過端口加項(xiàng)目名訪問。在Eclipse中,則需要配置本地的Tomcat路徑。之后,開發(fā)好項(xiàng)目后,直接啟動(dòng),即可在瀏覽器中使用[3]。
1.4? Eclipse平臺(tái)
Eclipse具有較好的編程工具,在開發(fā)項(xiàng)目的時(shí)候,也會(huì)有報(bào)錯(cuò)自動(dòng)提示,有效低降低BUG的出現(xiàn)。且可移植性強(qiáng),開發(fā)的項(xiàng)目可以闊平臺(tái)使用。并且內(nèi)部集成了多種工具,方便開發(fā)。
2? 系統(tǒng)分析
2.1? 功能需求分析
在線考試系統(tǒng)使用的時(shí)候,分為兩類角色。教師用于后臺(tái)數(shù)據(jù)信息的管理,學(xué)生則在線考試。接下來對(duì)這兩種角色,進(jìn)行功能需求分析。
2.1.1? 教師功能需求分析
教師的主要功能滿足以下要求:
1)登錄退出。使用教師賬號(hào)進(jìn)行;登錄。密碼和賬號(hào)都存在MySQL中。
2)教務(wù)信息管理。能夠統(tǒng)計(jì)班級(jí)的考生人數(shù)。此外還有考試成績(jī)的匯總。試卷的各種信息,包括題型、題庫(kù)也都有統(tǒng)計(jì)。
3)考生管理??忌梢杂山處煘槠滗浫?。其中包括了手動(dòng)錄入和批量錄入。在錄入考生信息以后,學(xué)生可以自行登錄考試。而批量錄入則需要通過外部ExceL表格添加。
4)成績(jī)管理。成績(jī)的管理,可以看到每一個(gè)類型的題目得分。包括選擇題、多選、判斷和主觀題的各種分?jǐn)?shù)。并通過分?jǐn)?shù)的高低,可以生成級(jí)別。級(jí)別包括了“合格”“優(yōu)秀”“不及格”“中等”。教師也能通過學(xué)號(hào)查詢成績(jī)。
5)題庫(kù)錄入。題庫(kù)的錄入可以手動(dòng)添加,也可以批量添加。根據(jù)不同類型的題目,需要在錄入時(shí)填寫不同的信息。并設(shè)置題目的答案信息。批量添加的時(shí)候,直接從Excel上傳就可以實(shí)現(xiàn)。
6)題庫(kù)管理。對(duì)題庫(kù)中的各種題目進(jìn)行再修改??梢孕薷陌}型、序號(hào)、答案、得分等所有的信息。
7)試卷管理。生成試卷的信息。包括設(shè)定試卷的總答題時(shí)間、各項(xiàng)題型的個(gè)數(shù)等。試卷生成以后,學(xué)生可以在線考試。
2.1.2? 學(xué)生功能需求分析
學(xué)生的主要功能滿足以下要求:
1)注冊(cè)登錄。賬號(hào)為教師錄入的學(xué)號(hào)。密碼為初始密碼。
2)密碼修改。登錄以后,可以修改自己的初始密碼。
3)在線考試。參加考試,并需要在規(guī)定時(shí)間內(nèi)完成考試信息。
4)成績(jī)查詢。在完成考試以后,會(huì)自動(dòng)閱卷。根據(jù)閱卷得分,生成自己的成績(jī)。
2.2? 考試模塊分析
試卷的生成,通過ArrayList數(shù)組功能實(shí)現(xiàn)。由于題庫(kù)擁有數(shù)個(gè)不同類型的題目,因此只需要設(shè)定試卷的各種題型數(shù)量,即可自動(dòng)生成試卷。試卷在生成的時(shí)候,從題庫(kù)抽取若干條記錄。這些個(gè)數(shù)都由教師提前設(shè)定好。被選中的題目,存儲(chǔ)在Bean中,之后將其存放在ArrayList數(shù)組。最后將試卷信息存入Session中,學(xué)生進(jìn)行參與答題[4]。
2.3? 閱卷模塊分析
試卷在提交的同時(shí),由后臺(tái)進(jìn)行評(píng)分。試卷評(píng)分主要通過遍歷循環(huán)實(shí)現(xiàn)。并且每一種題型的評(píng)分方法不一樣。首先需要獲取Session中的題目信息。判斷題、單選題、多選題通過匹配各個(gè)題目的正確答案進(jìn)行得分校準(zhǔn)。而簡(jiǎn)單題和主觀題則需要拆分正確答案的關(guān)鍵詞。將考生答案與各個(gè)關(guān)鍵的得分點(diǎn)進(jìn)行比對(duì)進(jìn)行評(píng)分[5]。
2.4? 性能分析
1)系統(tǒng)性能。項(xiàng)目的運(yùn)行時(shí)間在20秒內(nèi)。如果遇到系統(tǒng)中斷等以外,重新部署項(xiàng)目也能夠避免損失。
2)UI交互。設(shè)計(jì)的前端UI與對(duì)應(yīng)功能相符。在刪除、修改等功能上,選擇正確的UI。而頁面信息,則做到美觀。
3)數(shù)據(jù)安全性。在MySQL中存儲(chǔ)的信息,只能由管理員進(jìn)行處理。而其他用戶則無法進(jìn)行刪除操作。
4)可擴(kuò)展性。在基本的功能上,如果有需要添加新模塊,則可以在原有基礎(chǔ)上添加。因此需要將項(xiàng)目的結(jié)構(gòu)整理清晰。
3? 系統(tǒng)設(shè)計(jì)
3.1? 功能結(jié)構(gòu)設(shè)計(jì)
基于需求分析,設(shè)計(jì)出功能結(jié)構(gòu)圖。本系統(tǒng)共分為2類角色,2類角色進(jìn)入系統(tǒng)以后,實(shí)現(xiàn)對(duì)應(yīng)權(quán)限功能。最終,都通過Web將數(shù)據(jù)存入MySQL。并且所有數(shù)據(jù)在對(duì)應(yīng)權(quán)限下都可以查看。系統(tǒng)的功能結(jié)構(gòu)圖如圖1所示。
3.2? 題庫(kù)管理模塊設(shè)計(jì)
教師在對(duì)題庫(kù)進(jìn)行操作的時(shí)候,可以通過兩種方式錄入題目到題庫(kù)中。第一種是通過單個(gè)題目錄入的方式進(jìn)行錄入。第二種則是通過外部的題目文件進(jìn)行一鍵導(dǎo)入。兩種方式都可以是實(shí)現(xiàn)題庫(kù)數(shù)據(jù)的添加。其中單個(gè)添加題目的時(shí)候,需要選擇對(duì)應(yīng)的題目類型。在錄入選擇題的時(shí)候,需要填寫ABCD四個(gè)選項(xiàng)的答案。其他題型也都需要填寫得分點(diǎn)。并且每一個(gè)題目都需要賦予分值[6]。
題庫(kù)管理模塊的流程設(shè)計(jì)如圖2所示。
3.3? 在線考試模塊設(shè)計(jì)
在開始考試以后,學(xué)生需要在規(guī)定時(shí)間內(nèi)完成答題,并交卷。如果在完成答題之后,可以提前交卷。如果到規(guī)定時(shí)間,即使沒有結(jié)束答題,也會(huì)交卷。在交卷的同時(shí),通過數(shù)據(jù)比對(duì),生成成績(jī)。在學(xué)生端,可以看到各個(gè)模塊的答題成績(jī)單[7]。
在線答題模塊的流程設(shè)計(jì)如圖3所示。
3.4? 概念模型設(shè)計(jì)
在線考試系統(tǒng)可以確定5個(gè)實(shí)體。分別是試卷、題目、成績(jī)、學(xué)生、教師。實(shí)體之間都有相關(guān)的關(guān)聯(lián)。在線考試系統(tǒng)的整體E-R圖如圖4所示。
3.5? 邏輯結(jié)構(gòu)表設(shè)計(jì)
輯結(jié)構(gòu)設(shè)計(jì)是將概念結(jié)構(gòu)設(shè)計(jì)階段完成的概念模型,轉(zhuǎn)換成能被選定的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)支持的數(shù)據(jù)模型。這里主要將E-R模型轉(zhuǎn)換為關(guān)系模型。需要具體說明把原始數(shù)據(jù)進(jìn)行分解、合并后重新組織起來的數(shù)據(jù)庫(kù)全局邏輯結(jié)構(gòu),包括所確定的關(guān)鍵字和屬性、重新確定的記錄結(jié)構(gòu)和文件結(jié)構(gòu)、所建立的各個(gè)文件之間的相互關(guān)系,形成本數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理員視圖,各個(gè)數(shù)據(jù)庫(kù)表設(shè)計(jì)如表1~表5所示。
4? 系統(tǒng)實(shí)現(xiàn)
4.1? 登錄模塊設(shè)計(jì)
項(xiàng)目啟動(dòng)以后,訪問的首頁面則是登錄界面,如圖5所示。在登錄界面的form表單內(nèi),輸入賬號(hào)和密碼。選擇身份,在其中的教師和學(xué)生角色登錄時(shí),通過type字段區(qū)分是哪種角色。在登錄以后,在session中存入當(dāng)前的用戶信息。登錄時(shí),密碼和身份都須同時(shí)符合
4.2? 教師端功能實(shí)現(xiàn)
教師登錄以后,在首頁展示了教務(wù)信息的統(tǒng)計(jì)數(shù)據(jù)。其中包括了個(gè)人的基本信息。此外還有班級(jí)學(xué)生的考試情況。總學(xué)生人數(shù)以及完成考試的人數(shù)信息。并通過統(tǒng)計(jì),展示班級(jí)的最高分、最低分和平均分。題庫(kù)、試卷信息也都有相應(yīng)的數(shù)據(jù)展示,如圖6所示。
考生信息的錄入由教師完成。如圖7所示的是考生信息的錄入。在考生成績(jī)錄入以后,考生可以直接登錄考試。在添加完考生,返回學(xué)生信息列表。通過List集合的方式,分頁查詢所有學(xué)生信息。在如圖7所示的學(xué)生信息列表中,也記錄了各個(gè)學(xué)生的考試情況。并且根據(jù)成績(jī)分?jǐn)?shù),顯示其評(píng)分。
5? 結(jié)? 論
在線考試系統(tǒng)在開發(fā)的過程中,通過Eclipse進(jìn)行編程開發(fā)。使用的核心技術(shù)是JSP+Servlet。在開發(fā)系統(tǒng)之前,對(duì)整個(gè)實(shí)際的在線考試工作進(jìn)行了一定的調(diào)研。之后從現(xiàn)實(shí)工作中,確定了大致的開發(fā)方向。并根據(jù)實(shí)際的情況,確定了主要的功能模塊。
參考文獻(xiàn):
[1] 周云,余青松,敬宗儒.基于JSP/Servlet的Web應(yīng)用框架的設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)技術(shù)與發(fā)展,2007(4):243-246.
[2] 蘭旭輝,熊家軍,鄧剛.基于MySQL的應(yīng)用程序設(shè)計(jì) [J].計(jì)算機(jī)工程與設(shè)計(jì),2004(3):442-443+468.
[3] 孫衛(wèi)琴,李洪成. Tomcat與Java Web開發(fā)技術(shù)詳解 [M].北京:電子工業(yè)出版社,2004.
[4] 曾曉,錢明贊.基于JSP的高職院校學(xué)生信息管理系統(tǒng)設(shè)計(jì) [J].現(xiàn)代信息科技,2021,5(23):30-32.
[5] 徐國(guó)輝.基于JSP的網(wǎng)絡(luò)在線考試系統(tǒng) [J].信息與電腦:理論版,2016(1):76+78.
[6] 王莎莎.基于JSP的在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013,16(16):53-54+57.
[7] 張?jiān)轮?,郭秀娟,張?基于jsp的黨員在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].黑龍江科技信息,2016(31):184.
作者簡(jiǎn)介:許家偉(2000—),男,漢族,安徽池州人,碩士在讀,研究方向:機(jī)器人開發(fā)。