陳輝, 劉彧(陜西交通職業技術學院,西安 710018)
計算機上機考試系統的組卷發布與閱卷設計
陳輝, 劉彧
(陜西交通職業技術學院,西安 710018)
為了滿足高??冀谭蛛x的要求和信息化建設的需要,實現基于 WEB 的計算機在線考試,課題組開發了計算機上機考試系統,采用基于MVC4的ASP.NET WEB技術實現。在系統設計中,組卷發布采用基于Dictionary對象專門設計的存儲結構實現試題與試卷在數據庫中的存儲,在閱卷和分析環節采用提交試卷即時閱卷的設計,學生提交試卷后可以立刻查看自己的成績和成績分析,整個系統具備較好的可擴展性,滿足了學院計算機上機考試的需求。
ASP.NET ; MVC軟件構架; 實訓管理系統; WEB平臺
考試是評價教師教學水平和學生的學習效果的重要手段之一,近年來隨著信息技術的發展和教考分離的教學要求,越來越多的學校逐漸開始在教學中應用上機考試,計算機組卷和閱卷就在教學中應用越來越廣泛,但每個學校的具體教學要求不同,學生的學情也各部相同,統一設計開發的考試系統往往不能滿足各個學校個性化的需求,因此學校往往傾向自主研發考試系統,滿足需求的同時可以進行后續的更新和改進[1]。
在計算機上機考試中主要包括計算機組卷、創建考試場次、執行考試、閱卷評分等四個主要的階段,其中的組卷和發布考試是比較重要的環節,在學院的支持下,課題組開發了計算機基礎課程上機考試系統,該系統以自動組卷系統為基礎進行開發[2],實現了全程的計算機上機考試、閱卷過程,下面對系統中主要技術進行分析。
計算機上機考試系統采用C#語言在Visual Studio2012集成開發環境下開發,SQL Server2012提供數據庫支持,系統以B/S的三層框架開發模式,基于MVC4的ASP.NET WEB開發技術實現。
學生上機考試系統在整體架構上分為多個模塊,主要包括用戶管理、試題試卷管理、閱卷管理、成績管理等模塊。用戶分級管理,教師登錄后可以進行組卷和發布考試,還可以審核已經系統閱卷的成績。學生登錄后可以查看可以進行的考試以及已完成考試的成績,系統的執行流程如圖1所示。
整個上機考試系統可以分為組卷、發布、考試、閱卷、審核等五個環節,其中組卷采用了基于最大概率算法的自動組卷系統從試題庫中抽取試題,試題抽取的依據是用戶設置的課程各個知識點分數分布、各種題型數量分布、試題難度、曝光度等參數[2]。
自動組卷的是采用自動組卷系統進行操作,根據用戶選取的題型、試題數量、知識點等參數從試題庫中抽取試題組卷,試卷的題型主要包括選擇、填空、判斷、綜合題等幾類[3],由于組卷的功能是由組卷系統完成的,完成組卷后試卷保存在待考試卷數據表(以下簡稱paper表)中。這些試卷創建完成后,可用于考試,在考試前還需要創建考試,將試卷指定到具體的考試班級中。在paper數據表中,包含試卷的全部信息,主要包括八個字段使用字段內容,如表1所示。

圖1 考試流程

表1 Paper表結構
在paper數據表中,試題數據主要保存在paperSelectQuestions和paperBigTypeList字段中,為了便于保存試題,在系統設計中定義了Question抽象類,派生了不同的試題類實現類保存不同類型的試題。在paperSelectQuestion對象中使用Dictionary類型保存大題的序號和大題中包含的小題對象,每個小題對象又是保存在一個Dictionary對象中,該對象的鍵值是題目的topicid編號,值是小題的Question抽象類的具體實現類對象。
由于試卷的題型多種多樣,每種題型可以包含的題目數量無法預先定義,因此將題目保存到數據庫中比較好的方式是采用集合對象,在本項目中保存試卷的題目使用序列化技術,首先paperSelectQuestions和paperBigTypeList進行序列化操作,得到byte數組,也就是二進制數組,然后將數組保存到數據庫中varbinary類型的字段中[4]。
paperSelectQuestions是自定義的試題集合類型,表示試卷中的試題集合,是鍵值對Dictionary類型,鍵是大題的序號,值是大題中的題目集合,集合元素是鍵值對,鍵是題的topicid,值是題目對象程序定義如下。

#region試題信息 ///
paperBigTypeList類型表示試卷的大題集合,也是Dictionary類型,鍵值是大題序號,整型。值是BigQuestion類型,表示大題的分值、類型信息。

//大題集合,鍵是大題序號,值是大題對象,包含大題的分值,大題類型 privateDictionary
將自動組卷的試卷保存到數據庫的paper數據表中,就完成了待考試試卷的設計。
考試發布是依據paper數據表中已經創建的在線試卷,教師登陸后,可以查看已有的待考試試卷,如圖2所示。
在圖2中的表中,主要數據來自paper表的內容,第五列的“試卷狀態”數據來自paperTest數據表內容,paperTest數據表主要保存考試信息,Paper表和paperTest表的關聯的。paper表的id字段就是paperTest表的paperId字段。在paperTest表中,主要保存以下信息:

圖2 在線考試管理
·試卷答案
·考試狀態(未發布、未考試、考試進行中三種狀態)
·考試時間
·試卷名稱
在圖2中,點擊選中試卷的操作功能,可以發布考試,考試發布操作界面如圖3所示。

圖3 考試發布界面
在發布考試操作中,可以設置考試時間、考試班級并指定該考試是否啟動,如果考試啟動,學生登錄系統后就會看到已發布的考試并進行答題,沒有發布的考試學生無法答題。因此在本操作中可以發布考試,但不啟動考試,待學生到齊后或者到指定的時間后再啟動考試,學生開始答題。
設置的考試時間是在考試中學生答題的時間,每個學生開始答題后,在答題頁面中會顯示倒計時,待答題時間結束后,系統會自動交卷。
班級選擇中所列的班級是在系統中已經選擇該課程的全部班級,選中的班級學生登錄系統后可以看到考試信息,否則就無法看到考試信息。
在整個系統設計中使用MVC4技術開發,主要設計了Teacher和Student控制器[5],實現系統中教師和學生的程序功能,在Teacher控制器中,包括了教師組卷、發布試卷、閱卷、審核試卷等等功能的不同Action,發布試卷的功能設計名稱為AddPubPaperTest的Action實現程序功能,用戶在發布考試界面中選擇考試時間設定、考試班級后,設定是否發布考試的同時啟動考試,就可以發布考試。發布考試會將這些信息提交到Teacher控制器的AddPubPaperTest Action,該Action根據提交的信息創建paperTest對象,然后根據提交的paperid讀取paper表中的試卷答案后,創建paperAnswer對象,寫入paperTest表中??荚嚢l布結束。
向指定的班級發布考試后,學生登錄后就可以答題,學生點擊考試后,服務器會自動根據試卷創建動態頁面顯示考試試題。
在線考試管理頁面設計思想是首先從paper數據表中讀取所有的在線測試試卷,封裝到List
顯示已經創建的試卷后,教師就可以選擇合適的試卷創建考試??荚嚢l布的設計原理是在paperTest創建一條記錄,該記錄的paperid字段是相應的考試試卷paper表的id字段,這樣就將考試與試卷關聯,記錄的paperAnswer字段是試卷的答案信息。記錄的paperStatus字段是考試狀態。paperAnswer字段在實體類中對應的字段有兩個,分別是paperAnswer和paperAnswerByte。具體類型如下。

圖4 在線測試管理表格動態創建流程

Dictionary
paperAnswer是Dictionary鍵值對,鍵值表示試題的topicid值,值表示試題的答案,paperAnswerByte字段表示paperAnswer的序列化后的字節數組,用于保存如數據庫。
試卷是動態創建的,其設計的過程如下:
(1) 用戶提交進行考試的試卷id,服務器根據id查詢paper表的試卷記錄,分別讀取各類試題。
(2) 如果是選擇題,輸出題干后,將每個選項分別創建為單選按鈕,并且每題的單選按鈕的name屬性為該題的topicid。
(3) 如果是填空題,輸入題目后,輸出文本框用于用戶填寫答案,文本框的name屬性也是該題目的topicid。
(4) 如果該題是選擇題,輸出題目后,數據一組兩個分表表示對錯的單選按鈕。
上述的這些信息全部以html格式保存在字符串中,將字符返回考試頁面,顯示為HTML頁面,通過用戶請求后顯示在瀏覽器中。
系統閱卷的設計原理是讀取用戶在考試時選擇和填寫的內容,提交試卷后與試題答案比較,如果相同,該題得分,否則不得分。用戶提交試卷后即時顯示考試成績。其時序圖如圖5所示。

圖5 試卷分析界面
基本設計思路如下:
(1) 應用服務器接收到學生提交的考試試卷結果,根據試卷ID,向數據庫請求試卷答案序列。
(2) 數據庫根據試卷ID獲取數據庫的試題對象,根據試卷對象中每道試題每題的tipicid字段,查詢相應試題表,獲取試題的答案。
(3) 服務器比較試卷答案與舒適查詢的試題答案,進行分數計算。
(4) 完成計算,根據分數、正確答案創建試卷結果頁面返回學生端查看。
在線考試系統的開發目標是實現考試的自動化和自動閱卷,減輕教師的工作強度,提升考試的客觀性,在本系統開發應用中,基本實現了計算機應用基礎上機考試的自動化,實現了各類題型的自動組卷、頁面動態創建、學生答題后自動閱卷,較大的提升的實訓考試的易用性,這也是目前信息化教學手段在教學中的成功應用。
[1] 廖瑞華,文海英,胡英.《大學計算機應用基礎》考試系統自動閱卷研究[J].西安文理學院學報,2010,13(1):103-106.
[2] 陳輝,趙曉華.學生上機實訓考核系統中數據庫設計與實現[J].電子設計工程,2016,24(18):4-7.
[3] 簡靖韡,吳菊花. 高校在線學評教系統模塊及數據庫設計[J].電子制作,2015,22(5):23-26.
[4] 唐健. ADO.net數據庫訪問技術及性能優化[J].電子技術與軟件工程,2015, 8(21):18-21.
[5] 陳輝, 丁春莉,孫悅.ASP.NET MVC軟件架構模式在學生實訓管理系統的應用[J].電子設計工程,2015,23(13):11-14.
Testpaperreleaseandmarkingdesignofcomputerexaminationsystem
Chen Hui, Liu Yu
(Shaanxi College of Communication Technology, Shaanxi, Xi'an 710018)
In order to meet the needs of separation between the teaching and the examination, and informational construction, so as to achieve the online computer test based on Web, project term develop the computer test system. The system uses the ASP.NET WEB technology based on MVC4. In the design of system, test paper issued by specially designed storage structure based on Dictionary object implementation and test papers stored in the database. The instant assessment is used on marking and analysis processes. After students submit papers, they can instantly access performance and the analysis of performance. The system has good scalability, which meets to meet the demand of computer examination.
ASP.NET; MVC framework; Training management system; WEB platform
2016.12.20)
陜西交通職業技術學院院級科研項目(YJ15002);陜西高等教育教學改革研究項目(15Z26).
陳輝(1970-),男,藍田人,博士,副教授.研究方向:無線網絡和軟件開發.
劉彧(1989-),男,碩士,助教,研究方向:數據挖掘.
1007-757X(2017)10-0043-04