趙雪輝 王金峰 于善彬 董普祥 張雪玉
摘? 要:隨著網(wǎng)絡(luò)的不斷發(fā)展,互聯(lián)網(wǎng)的普及范圍越來越廣泛,教育行業(yè)更是受到了很大的影響和改變。在線考試管理系統(tǒng)是基于B/S架構(gòu)模式,使用SSM框架技術(shù),運(yùn)用MYSQL數(shù)據(jù)庫管理技術(shù),適用于一般類考試的在線考試系統(tǒng)。相較傳統(tǒng)考試模式而言,該系統(tǒng)不僅能滿足各類考試的一般需求,而且能夠極大地提高考試管理的效率。學(xué)生用戶可以進(jìn)行作業(yè)練習(xí)、在線考試、查看成績等操作;教師用戶可以錄入試題、組織考試、上傳資料;管理員用戶可以查看考試數(shù)據(jù)可視化統(tǒng)計結(jié)果。系統(tǒng)后端基于MyBatis、Spring、Spring MVC經(jīng)典框架組合開發(fā),前端基于當(dāng)前流行的Bootstrap響應(yīng)式布局框架,開發(fā)的網(wǎng)頁能自動適應(yīng)不同分辨率。本文從數(shù)據(jù)庫設(shè)計、業(yè)務(wù)流程設(shè)計、系統(tǒng)功能設(shè)計與實(shí)現(xiàn)等軟件開發(fā)的關(guān)鍵階段闡述了系統(tǒng)的開發(fā)過程,為傳統(tǒng)教育考試模式的更新提供技術(shù)支持。
關(guān)鍵詞:在線考試系統(tǒng);SSM框架技術(shù);Java Web技術(shù)
中圖分類號:TP311.52? ? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2019)07-0082-03
Abstract:With the development of the internet,the popularity of the internet is very extensive,and the education industry has been greatly affected and changed. Online examination management system is based on B/S mode,using SSM framework technology,using MYSQL database management technology,suitable for general online examination system. Compared with the traditional examination mode,the system can not only meet the general needs of all kinds of examinations,but also greatly improve the efficiency of examination management. Student users can do homework exercises,online exams and check results;teacher users can input questions,organize exams and upload data;administrator users can view the visual statistical results of test data. The back end of the system is based on the combination of MyBatis,Spring and Spring MVC classical frameworks. The front end is based on the Bootstrap responsive layout framework,which is currently popular. The web pages developed can automatically adapt to different resolutions. This paper describes the development process of the system from the key stages of software development,such as database design,business process design,system function design and implementation,to provide technical support for the updating of the traditional educational examination mode.
Keywords:online examination system;SSM framework technology;Java Web technology
0? 引? 言
隨著“互聯(lián)網(wǎng)+教育”的不斷普及和深化,提高考試管理效率、提升判卷質(zhì)量以及加強(qiáng)試卷的管理工作迫在眉睫。傳統(tǒng)的考試要經(jīng)過繁雜的步驟,例如出卷、評閱試卷、成績統(tǒng)計、試卷分析等,顯然已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。
在線考試系統(tǒng)延伸了傳統(tǒng)考試考場的涵義,利用網(wǎng)絡(luò)的廣闊空間,加上數(shù)據(jù)庫技術(shù)的支持,減輕了教師的工作負(fù)擔(dān),同時提高了考試相關(guān)工作的效率。網(wǎng)絡(luò)在線考試實(shí)現(xiàn)了傳統(tǒng)考試與現(xiàn)代科技的完美結(jié)合,使考試變得更公平公正、更具權(quán)威性和可靠性,符合新形勢下現(xiàn)代教育體制的要求,代表著現(xiàn)代教育考試的發(fā)展方向。
1? SSM框架技術(shù)
1.1? Spring框架
Spring是于2003年興起的一個輕量級的Java開源框架,是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而出現(xiàn)的。簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架,不僅用于服務(wù)器端的開發(fā),還可用于市場上多重耦合Web應(yīng)用程序的研發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java項目都可從中獲益,因此本系統(tǒng)選擇基于Java語言的Spring框架作為研發(fā)的底層。
1.2? Spring MVC框架
Spring MVC框架是一個開源的Java平臺,為開發(fā)強(qiáng)大的基于Java語言的Web應(yīng)用程序提供全面的基礎(chǔ)架構(gòu)支持。SpringMVC框架是以請求為驅(qū)動,圍繞Servlet設(shè)計,將請求發(fā)給控制器,然后通過模型對象、分派器來展示請求結(jié)果視圖。其中DispatcherServlet是請求的核心類,它是前端控制器設(shè)計模式的實(shí)現(xiàn),提供Spring Web MVC的集中訪問點(diǎn),負(fù)責(zé)職責(zé)的分派,而且能夠與Spring IoC容器無縫集成。因此,本系統(tǒng)采用Spring MVC框架的設(shè)計模式靈活地實(shí)現(xiàn)將多個視圖依賴于多個業(yè)務(wù)對象,在處理業(yè)務(wù)數(shù)據(jù)的對象和顯示業(yè)務(wù)數(shù)據(jù)的視圖之間存在松耦合和可測試性。
1.3? MyBatis框架
MyBatis是一個基于Java的持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索,使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJOs映射成數(shù)據(jù)庫中的記錄,它讓數(shù)據(jù)庫底層操作變得透明。MyBatis通過配置文件關(guān)聯(lián)到各實(shí)體類的Mapper文件,Mapper文件中配置了每個類對數(shù)據(jù)庫所需進(jìn)行的sql語句映射。元素集合之間相互的對應(yīng)關(guān)系映射對于本系統(tǒng)的研究十分重要,因此本系統(tǒng)選用MyBatis框架來實(shí)現(xiàn)配置和代碼語句映射。
2? 系統(tǒng)設(shè)計與實(shí)現(xiàn)
2.1? 系統(tǒng)總體架構(gòu)設(shè)計
該系統(tǒng)項目采用SSM框架構(gòu)建,分為Controller、Ser-vice、ServiceImpl、Model、DAO和Mapping層。前端使用Jsp技術(shù)、Boostrap和Jquery等前端開發(fā)的開源工具包,以及Jstl標(biāo)簽庫來實(shí)現(xiàn)前端自適應(yīng)頁面的構(gòu)建。
Mapping層采用My Batis持久層框架,通過簡單的XML文件將數(shù)據(jù)庫數(shù)據(jù)關(guān)聯(lián)到各實(shí)體類,以及配置映射對應(yīng)每個實(shí)體類所需的數(shù)據(jù)庫操作。業(yè)務(wù)層采用Spring框架的依賴注入方法和AOP技術(shù)事物隔離法在配置文件中指定特定參數(shù)來實(shí)例化對象,并作為表示層和數(shù)據(jù)層之間的橋梁,通過接口方式與它們通信。表示層采用Spring MVC框架,Spring MVC通過前端控制器接收處理用戶發(fā)送過來的web請求,并對其進(jìn)行解析,通過映射關(guān)系選擇相應(yīng)的Controller。系統(tǒng)框架設(shè)計圖如圖1所示。
2.2? 系統(tǒng)部分功能的實(shí)現(xiàn)
2.2.1? 題庫管理功能
題庫管理功能的實(shí)現(xiàn):該系統(tǒng)顯示試題數(shù)據(jù)列表頁時用Laypage分頁控件將所有數(shù)據(jù)取出,為方便用戶查看和合理展示數(shù)據(jù),在前端Js上對數(shù)據(jù)進(jìn)行分頁。該系統(tǒng)在管理題庫和試題類型時采用Layer彈窗組件,Layer盡可能地在選擇管理題庫中的試題信息以更少的代碼展現(xiàn)易用和實(shí)用性,使添加試題和編輯試題每一種彈層模式各具特色。系統(tǒng)在前端頁面采用了Ajax、JQuery技術(shù)對網(wǎng)頁進(jìn)行渲染,使教師能夠更為便捷地對試題進(jìn)行操作。在添加試題功能模塊中,系統(tǒng)運(yùn)用Java I/O流等技術(shù)實(shí)現(xiàn)了試題批量導(dǎo)入(支持Excel、Word等格式)和手動錄題的功能。此外,系統(tǒng)通過Mybatis持久層框架技術(shù)實(shí)現(xiàn)了對試題的多功能檢索、以Excel文件導(dǎo)出、編輯、刪除功能。
2.2.2? 試卷管理和發(fā)布考試功能
考試功能的實(shí)現(xiàn):考試組卷功能部分運(yùn)用兩種方法,一是教師手動從題庫中檢索試題生成試卷;二是教師選定試題的類型以及數(shù)量,然后系統(tǒng)后臺采用自主設(shè)計的不重復(fù)隨機(jī)抽題算法生成隨機(jī)試卷,增加試卷的隨機(jī)性、客觀性。系統(tǒng)還具有試卷概覽模塊,該模塊運(yùn)用JQuery開源插件實(shí)現(xiàn)了試卷編輯、預(yù)覽、試卷導(dǎo)出、刪除等功能,以便于更好地管理試卷。系統(tǒng)根據(jù)需求設(shè)計了多種考試模式,增強(qiáng)了系統(tǒng)的靈活性。下面是考試功能模塊,該模塊實(shí)現(xiàn)了不同的考試模式,通過采用多種隨機(jī)分發(fā)試卷算法實(shí)現(xiàn)了隨機(jī)試卷、按IP地址分發(fā)試卷、相同試卷等多種模式。
2.2.3? 在線考試功能
在線考試功能的實(shí)現(xiàn):系統(tǒng)通過檢測學(xué)生用戶登錄成功后新建的Session會話,從考試數(shù)據(jù)表檢索出符合條件的考試??忌x擇考試科目進(jìn)入考試頁面,系統(tǒng)將開啟防作弊功能,具體實(shí)現(xiàn)方式包括防刷新處理、限制考生上網(wǎng)、屏蔽電腦USB接口等。完成相應(yīng)科目考試,系統(tǒng)能夠通過后臺將數(shù)據(jù)庫考生答案與試題正確答案進(jìn)行對比,以實(shí)現(xiàn)對客觀題的在線評分,運(yùn)用Ajax異步刷新技術(shù)、JQuery技術(shù)能夠?qū)崿F(xiàn)時間倒數(shù)計時和自動交卷功能。功能實(shí)現(xiàn)如圖2所示。
3? 結(jié)? 論
本文的在線考試系統(tǒng)不需要安裝應(yīng)用程序,考生直接通過網(wǎng)絡(luò)瀏覽器即可隨時隨訪問;此外該系統(tǒng)可以使考試更加規(guī)范、客觀和公平,與此同時,能夠在一定程度上減少教師的工作量,并能夠改變傳統(tǒng)的考試模式,實(shí)現(xiàn)了無紙化考試的模式,提高考試相關(guān)工作的效率。因而,在未來教育中,在線考試系統(tǒng)將會得到廣泛的應(yīng)用。
參考文獻(xiàn):
[1] 李剛.輕量級JavaEE企業(yè)應(yīng)用實(shí)戰(zhàn) [M].第4版.北京:電子工業(yè)出版社,2015.
[2] 李洋.SSM框架在Web應(yīng)用開發(fā)中的設(shè)計與實(shí)現(xiàn) [J].計算機(jī)技術(shù)與發(fā)展,2016,26(12):190-194.
[3] 籍慧文.Web應(yīng)用開發(fā)中JAVA編程語言的應(yīng)用探討 [J].科技創(chuàng)新與應(yīng)用,2017(7):90.
[4] [美]David Flanagan.JavaScript權(quán)威指南 [M].第6版.北京:機(jī)械工業(yè)出版社,2012.
[5] 蘇航.接口的意義及在java web三層架構(gòu)中的作用分析 [J].西部皮革,2016,38(24):19.
[6] 洪奎.基于Struts框架的Java Web應(yīng)用開發(fā)研究 [J].通訊世界,2016(13):14.
[7] 張麗.基于Java Web在線考試系統(tǒng) [J].江西科學(xué),2016,34(4):526-528+550.
作者簡介:趙雪輝(1997-),男,漢族,河北張家口人,本科在讀,研究方向:計算機(jī)科學(xué)與技術(shù);王金峰(1987-),男,漢族,河北邯鄲人,講師,碩士,研究方向:大數(shù)據(jù)深度學(xué)習(xí)。