国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MVC模式的在線考試測評系統(tǒng)的設(shè)計與實現(xiàn)

2015-07-22 22:22張水利董軍堂馮敏娜
現(xiàn)代電子技術(shù) 2015年14期
關(guān)鍵詞:在線考試

張水利+董軍堂+馮敏娜

摘 要: 針對傳統(tǒng)考試方式的繁瑣性,提出并設(shè)計實現(xiàn)了一個基于MVC模式的在線考試測評系統(tǒng),整個系統(tǒng)由登陸模塊、考試管理模塊及考試業(yè)務(wù)模塊3個模塊組成??忌鷳{借正確的用戶名和密碼實現(xiàn)正常登陸,進入考試管理模塊;在考試管理模塊中,考生可以瀏覽考試規(guī)則、進入答題環(huán)節(jié)、查詢考試成績、退出系統(tǒng);考試業(yè)務(wù)主要根據(jù)試卷等級的要求,實現(xiàn)從題庫中抽取試題,組織考卷,記錄考生的答案、翻頁、交卷等功能。實踐證明,如果將在線考試測評應(yīng)用于學(xué)??己水?dāng)中,將會有更廣闊的應(yīng)用前景。

關(guān)鍵詞: MVC模式; 在線考試; 測評系統(tǒng); 考試管理

中圖分類號: TN911?34; TP302.1 文獻標(biāo)識碼: A 文章編號: 1004?373X(2015)14?0067?04

0 引 言

在線考試系統(tǒng)的開發(fā)有2種主流模式, 即C/S(Cliene/Server)模式和B/S(Browser/Server)模式。C/S模式是一種傳統(tǒng)的開發(fā)模式,適用于用戶有限的局域網(wǎng)環(huán)境。在這種模式下, 客戶端與服務(wù)器直接相連,因此響應(yīng)速度快,開發(fā)費用較低,周期也較短, 但是缺少通用性??蛻舳耸褂脮r,也需要專門的客戶端安裝程序。另外, 它的代碼可重用性也較差。B/S模式適用于多用戶的廣域網(wǎng)環(huán)境,系統(tǒng)擴展性好、維護簡單,但這種模式的開發(fā)費用較高,周期較長。而且因為技術(shù)還不夠成熟,因此功能弱化,難以實現(xiàn)傳統(tǒng)模式下的特殊功能要求[1]。

以校園網(wǎng)為平臺的在線考試系統(tǒng)能高效、便捷、實時地評價教學(xué)效果和檢測學(xué)生的學(xué)習(xí)情況,因此逐漸受到廣泛重視。在線考試系統(tǒng)在降低考試成本、提高考卷質(zhì)量、維護考試公平等方面都起到了重要的作用。目前,在線考試有國外大公司開發(fā)應(yīng)用的資格認證考試如Microsoft在線認證考試系統(tǒng)、Adobe 中國認證考試系統(tǒng)等、國內(nèi)各類眾多高等學(xué)?;谛@網(wǎng)開發(fā)的在線考試系統(tǒng)和被國內(nèi)很多政府機關(guān)、大型企業(yè)和專業(yè)教育機構(gòu)的選擇通用考試系統(tǒng)WebExam等[2]??荚嚋y評系統(tǒng)采用計算機閱卷,能夠提高閱卷效率,特別是選擇題能夠直接給出成績,并將成績保存在數(shù)據(jù)庫中進行自動統(tǒng)計。實現(xiàn)了組織試卷、考試、控制考試、評分等整個考試過程, 同時可查看考生成績信息,設(shè)定考生考試狀態(tài)等[3]。本文使用B/S結(jié)構(gòu),設(shè)計并實現(xiàn)了基于MVC模式的考試測評系統(tǒng),該系統(tǒng)能根據(jù)教師對于試卷級別的要求組織考卷,設(shè)置考題,并在界面上自動顯示考試剩余時間,學(xué)生正確登陸系統(tǒng)可以查看考試規(guī)則,參加考試及查詢考試分數(shù)。

1 MVC設(shè)計模式

設(shè)計模式是指一系列從實踐中總結(jié)出來的、可重復(fù)使用的面向?qū)ο蟮脑O(shè)計方法。MVC設(shè)計模式是許多交互和界面系統(tǒng)的構(gòu)成基礎(chǔ),實現(xiàn)模型與數(shù)據(jù)、界面設(shè)計、控制功能的分離,使得各部分修改時相對獨立,代碼的可維護性增強;同時也提高了應(yīng)用程序的重用性,便于擴展,開發(fā)速度也有了顯著提高[4]。隨著網(wǎng)絡(luò)應(yīng)用的快速發(fā)展,MVC模式已成為Web應(yīng)用開發(fā)先進模式之一,被廣泛應(yīng)用于Java 應(yīng)用程序中。本系統(tǒng)是基于MVC模式的B/S系統(tǒng),數(shù)據(jù)存取時采用3層結(jié)構(gòu)的層次模型[5],其模型圖如圖1所示。其中,Model(模型)表示業(yè)務(wù)邏輯層; View(視圖)代表表示層;Controller(控制器)代表控制層。

圖1 MVC模式結(jié)構(gòu)圖

2 模塊功能設(shè)計

2.1 業(yè)務(wù)功能分析

本系統(tǒng)主要業(yè)務(wù)功能是實現(xiàn)考生在線測評,其主要業(yè)務(wù)包括:

(1) 初始化工作:系統(tǒng)啟動;

(2) 考生登錄;

(3) 查看考試紀(jì)律;

(4) 實現(xiàn)考生在線測評,獲得測評分數(shù);

(5) 查詢測評分數(shù);

(6) 退出系統(tǒng)。

根據(jù)業(yè)務(wù)需求分析,系統(tǒng)總體可分為3個層次:表現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)層。系統(tǒng)結(jié)構(gòu)如圖2所示。

2.2 系統(tǒng)模塊分析

根據(jù)業(yè)務(wù)功能及流程分析,系統(tǒng)可分為 3 個模塊:登陸模塊、考試管理模塊及考試業(yè)務(wù)模塊。

2.2.1 登陸模塊

登錄模塊的功能主要是實現(xiàn)考生登錄。考生憑借正確賬號和密碼進行登錄。登陸模塊流程如圖3所示。

圖2 系統(tǒng)結(jié)構(gòu)圖

圖3 登陸模塊流程圖

2.2.2 考試管理模塊

考試管理模塊實現(xiàn)對考試業(yè)務(wù)的管理??忌诘卿浵到y(tǒng)之后,通過該模塊,可以查看考試規(guī)則、完成考試和成績查詢以及退出系統(tǒng)??荚嚬芾砟K流程如圖4所示。

圖4 考試管理模塊流程圖

3 圖形用戶界面設(shè)計

系統(tǒng)共包括7個UI界面:歡迎界面、登錄考試系統(tǒng)界面、主菜單界面、考試規(guī)則界面、在線答題界面、分數(shù)查詢界面以及退出系統(tǒng)界面。啟動系統(tǒng)時,利用閃屏技術(shù)呈現(xiàn)歡迎界面,3 s后該界面自動關(guān)閉,體現(xiàn)了該系統(tǒng)的友好交互性,歡迎界面如圖5所示。

歡迎界面關(guān)閉后,系統(tǒng)自動彈出登錄界面,界面上包括編號和密碼兩個編輯框以及登錄和取消兩個按鈕。當(dāng)輸入正確的編號和密碼后便可以進入到考試系統(tǒng),若輸入信息錯誤,則會在界面上進行提示。登錄界面如圖6所示。

[圖5 歡迎界面 圖6 登陸界面]

正確登錄后,進入系統(tǒng)主菜單界面如圖7所示。主菜單包括:考試規(guī)則、開始答題、查詢分數(shù)和退出系統(tǒng)。

在圖7所示界面上,點擊某個菜單,則進入相應(yīng)的界面,例如點擊開始答題,系統(tǒng)進入考試測評系統(tǒng)如圖8所示,考生可以開始進行答題,同時啟動定時器按鈕。

[圖7 主菜單界面 圖8 在線測評界面]

在答題過程中,考生通過點擊“上一題”或“下一題”按鈕,保存當(dāng)前考題所選答案,并獲取上一道或下一道考題呈現(xiàn)在界面上,更新“上一題”、“下一題”按鈕狀態(tài),刷新考題數(shù)量和考生選項;

當(dāng)考試時間結(jié)束或考生點擊“交卷”按鈕,則保存所選答案,同時處理試卷中的每道題,將每道題的正確答案和考生的答案進行比較,如果相同則加上該試題的分數(shù),否則處理下一題,直至算出考生的得分。實現(xiàn)程序如下:

//初始化分數(shù)

score = 0;

for (QuestionInfo info : paper)

{

Question q = info.getQuestion();

//從Question對象中獲取正確答案

List answers = q.getAnswers();

//從QuestionInfo對象中獲取考生答案

List userAnswers = info.getUserAnswers();

//判斷2個List集合中的數(shù)值是否相同,相同則添加該題的分數(shù)

if (answers.equals(userAnswers))

{

score += q.getScore();

}

}

//標(biāo)識答題結(jié)束并返回分數(shù)

finish = true;

return score;

4 主要數(shù)據(jù)模塊配置

Java中的properties文件是一種用于表達配置信息的文件,文件類型為“*.properties”,內(nèi)容格式為“鍵=值”,并用“#”進行注釋。由于其操作簡單,在Java編程中廣泛使用,本系統(tǒng)也采用properties配置文件形式存儲數(shù)據(jù)。主要操作方法有:

從輸入流中加載文件鍵值對:

load(InputStream inStream);

根據(jù)key查找相應(yīng)的value:

getProperty(String key);

將鍵值對寫入輸出流:

store(OutputStream out, String comments);

清除所有裝載的鍵值對:clear()。

系統(tǒng)中使用配置文件存放與服務(wù)器IP、端口號、用戶、試題等相關(guān)的信息,內(nèi)容如下:

#client.properties

ServerIP=127.0.0.1

ServerPort=8080

UserFile=user.txt

QuestionFile=corejava.txt

系統(tǒng)啟動時,自動調(diào)用已有的API、使用文件流的方式加載配置文件,再根據(jù)key獲取存放有用戶信息和試題信息的文件目錄,以便執(zhí)行后續(xù)操作。

4.1 用戶模塊

系統(tǒng)用戶User對象共包括5個屬性:考生姓名、登錄賬號、登錄密碼、聯(lián)系電話以及電子郵件,并使用user.txt存放所有考生信息,其格式為:

1001:王五:592312:85712340:Jay Zhou@yahoo.com.cn

對應(yīng)項依次是賬號:名稱:密碼:聯(lián)系電話:電子郵件。

系統(tǒng)啟動時,將user.txt文件中的所有數(shù)據(jù)讀入內(nèi)存,并利用Map結(jié)構(gòu)進行維護,其中key為登錄賬號,value為用戶對象。考生登錄系統(tǒng)時,若輸入賬號存在且密碼正確,則會成功登錄,3 s自動關(guān)閉登錄界面,彈出主菜單界面,并在界面上顯示該考生信息;反之登錄失敗,給出提示錯誤界面。

4.2 試題模塊

系統(tǒng)試題Question對象包括7個屬性:試題編號、難易程度、類型、題干、選項、正確答案及分數(shù)。其中難易程度分為5個等級,級別越小考題就越難;目前試題類型只支持單項選擇和多項選擇兩種;題干中包括了題目的所有描述信息。系統(tǒng)根據(jù)考生的選擇與正確答案進行匹配,計算出考生的得分。

系統(tǒng)使用corejava.txt存放考題,試題格式如下:

Java語言中字符串“學(xué)Java”所占的內(nèi)存空間是:

6個字節(jié);

7個字節(jié);

10個字節(jié);

11個字節(jié)。

@answer=1,score=5,level=8

其中第一行為題干,中間四行為選項,最后一行表示正確答案、分數(shù)和難易程度。系統(tǒng)啟動時,將corejava.txt中的所有試題讀入內(nèi)存,并將每道試題解析為Question對象,再用Map結(jié)構(gòu)進行維護,其中key為難易程度,value為同一級別的一組Question試題對象,格式為:Map> questions。

4.3 試卷模塊

系統(tǒng)試卷為一組QuestionInfo對象集合,即List paper。QuestionInfo是表示問題和考生答案的對象,包括3個屬性,分別是試題Question對象、該試題在試卷中的序號及考生答案。

5 結(jié) 語

本文實現(xiàn)了一種基于MVC模式的考試測評系統(tǒng),考生通過學(xué)號和用戶名進入系統(tǒng),選擇課程后,系統(tǒng)根據(jù)教師設(shè)定考試原則,自動從后臺數(shù)據(jù)庫中選擇相應(yīng)難度系數(shù)的各類題型的試題,生成試卷,供考生考試, 這種測試主要支持客觀題型。設(shè)計定時器,考試到時自動提交試卷,未答試卷自動提醒,動態(tài)地顯示考試剩余時間,并當(dāng)考試剩余時間用盡時,系統(tǒng)自動把考生的答案提交給應(yīng)用服務(wù)程序進行處理。在數(shù)據(jù)存儲方面,采取時間片存儲考試數(shù)據(jù)的方法,防止意外故障造成考試數(shù)據(jù)完全丟失的現(xiàn)象。本系統(tǒng)主要以客觀試題為主,在試題的類型上缺乏靈活性,同時缺乏對考試的分析與評價,因此在以后的工作中要逐步提高專業(yè)技術(shù)水平,將主觀性試題和分析評價部分引入到測評系統(tǒng)中,以提高該系統(tǒng)的實用性。

參考文獻

[1] 陳愛明,董朝霞.用Winsock實現(xiàn)在線考試[J].計算機應(yīng)用,2005,25(2):490?492.

[2] 廖汗成.智能化在線考試測評系統(tǒng)的設(shè)計[J].科技廣場,2006(2):60?62.

[3] 張春霞.利用Java 實現(xiàn)在線考試系統(tǒng)[J].電腦編程技巧與維護,2011(19):40?44.

[4] 張原,張昭,劉蕊.基于MVC設(shè)計模式的虛擬實驗平臺模塊化設(shè)計[J].計算機工程與科學(xué),2013,35(8):125?129.

[5] 楊新艷,蘇愛玲.Java設(shè)計模式在基于MVC模式系統(tǒng)中的應(yīng)用研究[J].計算機光盤軟件與應(yīng)用,2014(7):128?129.

[6] 宋榮杰,楊彥榮,胡德福.基于MVC模式的教學(xué)質(zhì)量評測系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2008,31(10):39?41.

猜你喜歡
在線考試
氣象業(yè)務(wù)考試系統(tǒng)的應(yīng)用
基于Java的考場管理系統(tǒng)的研究與實現(xiàn)
大學(xué)物理在線考試與分析系統(tǒng)
效率觀下高校課程考試形式的改革探索
高職院校移動互聯(lián)自主學(xué)習(xí)考試平臺的設(shè)計與實現(xiàn)
基于iOS 平臺的智慧課堂管理系統(tǒng)的設(shè)計與實現(xiàn)
特種設(shè)備作業(yè)人員培訓(xùn)考核系統(tǒng)實現(xiàn)方法研究
在線考試系統(tǒng)分析與設(shè)計
大數(shù)據(jù)背景下在線評教與在線考試融合的思路探討
基于JAVA的在線考試系統(tǒng)的設(shè)計與實現(xiàn)
旺苍县| 仙桃市| 新河县| 武安市| 元阳县| 咸宁市| 灵寿县| 百色市| 梅河口市| 北辰区| 郓城县| 江达县| 沙田区| 靖宇县| 万年县| 阳春市| 富顺县| 宾川县| 年辖:市辖区| 上杭县| 高州市| 永善县| 民勤县| 广南县| 肇庆市| 太仓市| 香港| 陈巴尔虎旗| 雷波县| 江永县| 乌拉特后旗| 平泉县| 宣威市| 闽清县| 昌吉市| 荥阳市| 贞丰县| 温泉县| 青海省| 当雄县| 长武县|