摘要:隨著互聯(lián)網技術的發(fā)展和參加研究生考試的人數(shù)逐年增加,已經對研究生入學考試和復試的題目的廣度、類型、難度和安全提出更高的要求。系統(tǒng)采用前后端分離技術,前端使用基于Vue.js框架的ElementUI組件庫;后端使用分層概念進行設計和開發(fā),使用框架為Spring Boot。系統(tǒng)包括完整題庫系統(tǒng)和組卷系統(tǒng)兩部分,界面友好和操作簡單,能夠滿足試卷的各種要求。使用黑盒和白盒測試技術對系統(tǒng)的各項性能指標進行測試,證明了系統(tǒng)的可用性、可行性和可靠性。
關鍵詞:研究生考試系統(tǒng);題庫;組卷;Spring Boot;Vue.js
中圖分類號:TP311.1 ? ? ?文獻標識碼:A
文章編號:1009-3044(2021)32-0078-03
1 ?研究現(xiàn)狀和發(fā)展趨勢
1.1 研究現(xiàn)狀
以公平公開公正為前提的研究生入學考試是研究生培養(yǎng)過程中的重要環(huán)節(jié),在這一過程中選拔出能力突出具有創(chuàng)新能力的高層次人才。目前研究生入學考試分為統(tǒng)一命題和自主命題兩種選拔方式。
做好研究生招生考試題庫管理系統(tǒng)建設工作,有利于減輕命題教師的負擔,有利于減少人為因素的干擾,有利于提高試卷質量、實現(xiàn)自命題標準化,有利于推進招生制度改革,有利于進一步衡量考生的專業(yè)素質和創(chuàng)新能力,選拔更加優(yōu)秀的人才。
1.2 發(fā)展趨勢
隨著云技術、安全技術和教育方式的不斷改善,積極探索改進考試方式的新思路。建立研究生考試的自命題題庫系統(tǒng),是對傳統(tǒng)研究生考試模式的改革,為了保證考試的公平性出題的全面性,題庫的建立勢在必行。
2 研究方法與技術方案
2.1 研究方法
為了提高試題的質量和實現(xiàn)命題的標準化,需要建立完善的審核機制。同時也要避免試題裝錯、錯發(fā)、泄露、雷同及內容不符等問題的發(fā)生;保證試卷數(shù)量、分數(shù)、答卷用時的準確和合理;保證閱卷參考內容的正確。因此完善研究生的題庫系統(tǒng)并根據題庫系統(tǒng)自動或手動生成試卷,實現(xiàn)試卷中的試題更具隨機性、合理性與嚴謹性,提高試卷質量。教師可以根據考試科目的章節(jié)的知識點進行試題設計和試題導入,也可以完成試卷組卷。
2.2 技術方案
系統(tǒng)使用前后臺分離技術實現(xiàn)。前端使用Nodejs、Vue、基于Vue的ElementUI和富文本插件ckeditor5。后端使用Spring Boot框架、Mybatis、MySQL、Redis、MongoDB來實現(xiàn)。
Vue.js:Vue.js是漸進式前端開發(fā)框架,將業(yè)務代碼和視圖代碼完全分離,提高代碼的清晰度,也降低了后期維護的成本,相較于傳統(tǒng)JQuery,Vue.js不需要直接操作DOM就能夠實現(xiàn)數(shù)據的綁定[1]。
Spring Boot框架:Spring Boot繼承了Spring框架原有的優(yōu)秀特性,它簡化了Spring大量繁雜的配置工作,使得開發(fā)人員在開發(fā)過程中注重功能的實現(xiàn)而不需要花費大量的時間和精力在配置上,而且內嵌Tomcat服務器,支持jar/war項目打包方式,可以實現(xiàn)項目快速部署[2]。
Redis:Redis是高性能的鍵-值數(shù)據庫并且是基于內存的數(shù)據庫。Reids的優(yōu)勢有:性能極高、豐富的數(shù)據類型、原子和豐富的特性。使用豐富的鍵值數(shù)據類型來滿足多種場景下的存儲需求[3]。在該系統(tǒng)中,Redis主要存儲用戶token以及頻繁使用鍵值對的數(shù)據。
MongoDB:MongoDB是一個基于分布式,文件存儲的非關系型數(shù)據庫。MongoDB中數(shù)據是以文檔的形式進行存儲,文檔為BSON格式,其內部可以包含多種類型的文件、數(shù)據,也可以內嵌別的文檔,模式十分自由[4-5]。在該系統(tǒng)內,MongoDB主要存儲考試科目章節(jié)知識點、題目類型、題目、考試大綱信息、試卷信息以及試卷中的文檔信息。主要是解決在自動生成試卷時,防止頻繁地訪問數(shù)據庫,導致生成試卷速度過慢和防止數(shù)據過多的操作。
3 功能需求分析
為了確保試卷的質量以及安全性,以及在用戶界面友好便于操作。首先需要根據用戶的職責不同,設計不同的權限。權限設計完成后,由管理員維護學院并且為用戶分配權限。院部管理人員維護課程、科目并為本院的老師分配權限。老師主要負責維護課程大綱、課程知識點以及知識點對應的題目。制作試卷時,需要出題老師制作試卷大綱。試卷大綱包括試卷的注意事項、試卷題目的類型、題目的難易度、完成試卷需要的時間、題目分數(shù)等。然后根據紙卷大綱可以自動生成試卷或者手動生成試卷。在試卷管理頁面可以查看試卷的所有題目并且修改題目,調整題目的分數(shù)以及布局。試卷審核完成后,則可以選擇打印設置,完成試卷的打印。在功能方面,主要設計登錄界面管理、用戶權限模塊、學院模塊、學科模塊、課程模塊、課程大綱及知識點模塊、題目模塊、試卷大綱模塊、組卷模塊、試卷模塊、打印配置模塊幾大核心功能。
3.1 系統(tǒng)主功能設計
登錄:使用系統(tǒng)必須先登錄。登錄成功后,系統(tǒng)會給用戶發(fā)放用戶訪問憑證并且會自動跳轉到首頁。登錄的用戶不同,看到的菜單以及頁面的按鈕也會不同。比如老師只能負責完成維護課程大綱、課程知識點以及知識點對應的題目。但是組卷過程中,題目是否可用,首先需要學科負責人對題目進行審核,然后才可能被使用。
用戶權限模塊:該模塊包括用戶信息管理、菜單管理、權限管理。權限管理負責角色信息的維護以及為角色授權;用戶信息管理主要負責用戶信息管理和為用戶分配角色實現(xiàn)用戶的權限管理。
學院模塊:維護學校所有的二級學院。
課程模塊:維護二級學院開設的課程信息。
科目管理:維護研究生入學需要考試的科目,每個科目可以對應多個課程。
課程大綱及知識點模塊:維護每個課程的章節(jié)信息,以及每個章節(jié)對應的知識點。
題目模塊:根據學院、課程配置題目信息。題型包括選擇題(單選題和多選題)、判斷題、填空題、復合題(閱讀理解、完形填空)、簡答、計算、論述等;題目的難度包括易、一般和難;題目的知識點可以對應課程的一個知識點或者多個知識點;題目的內容包括圖文、數(shù)學公式和化學公式等;題目必須提供參考答案;題目需要設置題目使用的間隔年份;配置題目預估完成時間。間隔年份和預估完成時間在組卷時使用。
試卷大綱模塊:試卷大綱包括學院、科目、試卷數(shù)量、用途(初試和復試)、分數(shù)、題目分類數(shù)量、題目編號方式以及考試注意事項。在每一類題目中,配置大題包含的小題數(shù)量、分數(shù)、預估完成時間、難易程度和知識點等信息。
組卷模塊:根據學院科目的試卷大綱配信息,自動生成滿足試卷大綱要求的試卷數(shù)量并且在試卷管理中查看。自動組卷主要是根據課程知識點、大綱要求的難易度、完成時間以及判斷試卷近幾年是否被用過等條件自動生成。
打印配置模塊:打印管理主要是配置不同的試卷要求的紙張大小、頁邊距、字體大小等。
試卷模塊:維護自動生成的試卷和手動生成試卷。手動生成試卷時,首先選擇試卷大綱,否則無法手動生成試卷。
3.2 主要業(yè)務流程
首先需要完成試題的錄入功能。錄入試題需要管理員先維護學院信息以及課程信息。教師選擇負責的課程維護課程大綱及知識點并由學科負責人對課程大綱及知識點審核,只有審核通過后才能完成該課程試圖的錄入。錄入試題時應選擇試題對應的知識點,知識點允許選擇多個。流程圖如圖1所示。
生成試卷時,研究生院負責人首先需要維護考試科目,科目為研究生考試的內容以及科目可以對應多個課程。然后需要教師維護考試大綱以及選擇考試大綱對應的知識點。由科目負責人審核通過后,教師根據科目考試大綱進行自動組卷或者手動組卷。試卷生成后,教師維護試卷內容并提交至學科負責人對試卷審核,審核完成后研究生負責人對試卷進行打印并且保存。流程圖如圖2所示。
4 系統(tǒng)實現(xiàn)與測試
在系統(tǒng)測試前,需要管理員先維護學院信息、用戶信息、學科信息和課程信息;教師維護課程大綱及知識點信息。下邊主要從試題錄入、考試大綱和組卷等核心功能進行測試。
試題錄入:
教師登錄后,在題目列表頁面,點擊【添加】按鈕,打開題目添加頁面。頁面加載時,默認加載學院信息,教師從課程列表選擇課程。選擇完成后,自動加載課程下的所有的知識點并顯示。根據選擇的題目類型,顯示不同題目類型的題目內容,后續(xù)的操作以單選題為例子。輸入試題的題干、選項個數(shù),自動生成選項內容和答案選項下拉列表,選擇內容需要文本和數(shù)學、化學公式;輸入題目允許使用的年限,如果題目超過年限,可以修改年限;輸入題目的難度和預估時間,預估時間以分為單位。點擊【保存】按鈕,題目信息保存成功后,跳轉到題目列表頁面;點擊【添加下一個題目】按鈕,重新打開題目添加頁面。
題目列表頁面,可以導入題目;可以對題目批量地導出、審核、作廢、刪除;點擊試題列表頁面表格中的按鈕,可以修改、刪除、作廢和審核一條試題;
考試大綱:
教師登錄后,在試卷大綱列表頁面,點擊【添加】按鈕,打開試卷大綱添加頁面。頁面加載時,默認加載學院信息。選擇考試科目;填寫用途(初試和復試)、考試時間、有效期和試卷數(shù)量、試卷題目類型數(shù)量等信息;根據試卷題目類型數(shù)量,自動生成題目大題;選擇大題的類型、輸入試題的難易數(shù)量、試題分數(shù)、選擇試題的知識點。點擊【保存】按鈕,考試大綱保存成功后,跳轉到試卷大綱列表頁面。
試卷大綱列表頁面,可以導入大綱;可以選擇考試大綱完成大綱批量的導出、審核、作廢、刪除;點擊考試大綱列表頁面表格中的按鈕,可以修改、查看和審核一條大綱;
組卷:
當考試大綱審核完成后,選擇考試大綱點擊【組卷】按鈕,自動完成組卷并在試卷管理下查看所有的試卷。組卷是由大綱的學院、科目以及科目對應的課程中的知識點自動抽題,需要注意的內容有:1)題目完成的時間應該滿足試卷大綱完成的時間要求;2)題目的難易度應該滿足試卷大綱的要求;3)如果超出題目年限,則題目不滿足要求;4)題目已在歷年真題中使用,近幾年不可以使用;5)題目的類型必須符合大綱題目的類型要求。
5 結束語
系統(tǒng)使用前后端分離技術,降低了系統(tǒng)前后端的依賴。前端使用Node和Vue框架,減少了DOM操作,提高了瀏覽器渲染速度和用戶體驗。后端使用Spring Boot框架和Mybatis技術,也使用了MVC的設計模式。系統(tǒng)后臺使用分層管理,減少各層之間的耦合,提高層次內部的內聚。利用Spring的AOP完成事務的統(tǒng)一管理,防止數(shù)據不安全和臟數(shù)據。保存數(shù)據使用關系型數(shù)據庫(MySQL)和NoSQL(Redis和MongoDB),MySQL負責數(shù)據的存儲,NoSQL用于保存用戶的訪問令牌以及用戶訪問比較頻繁的數(shù)據。
該系統(tǒng)的設計大大提高了系統(tǒng)的維護性、擴展性、重用性;同時也提高了用戶體驗和響應速度。實現(xiàn)了各科題庫統(tǒng)一管理,提高了試卷安全性和保密性。對研究生入學考試和復試都能起到很好的推動作用。
參考文獻:
[1] 李娟,彭劍.基于SpringBoot的高校課程知識庫的設計與實現(xiàn)[J].電腦知識與技術,2021,17(6):70-71.
[2] 張峰.應用SpringBoot改變web應用開發(fā)模式[J].科技創(chuàng)新與應用,2017(23):193-194.
[3] 寧方美,賀雪梅,牟晉娟.SpringBoot集成Redis緩存技術在企業(yè)一卡通系統(tǒng)中的應用[J].電子技術與軟件工程,2019(24):133-134.
[4] 王輝,傅康平,侯毅,等.一種面向MongoDB的數(shù)據庫統(tǒng)一訪問接口設計與實現(xiàn)[J].電子技術與軟件工程,2021(1):171-173.
[5] 任明飛,李學軍,崔蒙蒙,等.基于MongoDB的非關系型數(shù)據庫的設計與開發(fā)[J].電腦知識與技術,2019,15(34):1-2.
【通聯(lián)編輯:謝媛媛】
收稿日期:2021-06-25
作者簡介:焦斌斌(1988—),男,河南三門峽人,碩士,研究方向為多目標優(yōu)化問題、進化算法。