趙曉華,陳輝
(陜西交通職業技術學院陜西西安710018)
二十一世紀是信息化、網絡化的時代,隨著計算機網絡技術的快速發展,計算機已應用到各個領域,培養學生計算機具有較強的操作能力和實際使用能力尤為重要[1-3]。為了較好的考核學生對計算機操作能力的實際情況,我院對該方面的考核采用上機考試方式,但是由于現學生的水平參差不齊,目前已有的考試系統不能較好的滿足考核的實際需求,不能較好的反應學生的學習情況,因此根據學院自身實際情況開發一套上機考試系統以滿足學院計算機教學考核的需求,同時可以進行后續的改進和更新[4-5]。
計算機上機考試的設計主要針對實踐操作性較強的課程,例如,計算機應用基礎課程,其主要講述Windows操作系統、Office辦公軟件等內容。操作題目內容涵蓋Word、Excel、PowerPoint 3種日常辦公軟件的操作和應用,因此考察學生對日常辦公軟件使用熟練程度是該門課程的考核重點。采用上機操作的形式來考核能較為客觀的反應學生的實際水平,因此開發一套能客觀真實反映學生操作能力并進行自動評閱的無紙化考試系統具有較大的現實意義。
根據學院目前的實際情況,在充分進行調研的基礎上,開發了學生上機考核管理系統。該系統具有上機考核與實訓管理兩方面功能。上機考核的功能開發中主要實現了考核管理、學生班級管理、任務管理、授課任務管理、專業課程管理、留言管理和系統管理等功能,可以實現發布試卷、進行考試、自動閱卷、學生實訓任務發布、作業瀏覽和批改等操作,不但可以自動組織日常測驗形式的考試,還可以進行期末考試,并進行比較完善的考試管理、過程管理、成績管理功能,學生使用系統進行考試,教師使用系統進行考試過程管理和閱卷、成績管理;在實訓管理的功能開發中對學生提交實訓作業進行批改和成績的管理。實訓管理涉及了實訓工作中的方方面面,貫穿了教師和學生在實訓中的全過程管理。
計算機上機考試系統是在Visual Studio.net 2012和SQL Server 2012的開發環境下進行開發,基于B/S構架的ASP.Net WEB開發技術,使用MVC4.0中的Razor視圖引擎進行視圖層開發,并在界面搭建技術中采用了JQuery中EasyUI框架進行設計。
計算機上機考試系統有多個模塊組成,主要有賬戶管理、班級管理、題庫管理、試卷管理、過程管理、成績管理等6個方面。
用戶使用分級管理,教師登陸系統可以完成組卷和試題的發布,組織考試并進行閱卷、成績分析匯總、成績導出;學生登陸則可以進行考試和成績查看。系統功能模塊如圖1所示。

圖1 系統功能模塊
計算機上機系統由組卷、發布、考試、閱卷、審核等5個環節組成,采用基于最大概率算法的自動組卷系統從題庫中抽取試題,在組卷中需要設計多項參數來完成組卷,組卷的關鍵是添加組卷策略,根據策略會自動在試題中查詢符合要求的各種難度的試題,用戶只需要選擇不同難度的試題數量即可。
數據庫保存應用系統數據,良好的數據庫架構可以更有效的保存數據,并且有利于系統設計中的數據訪問代碼編寫[6-7]。
數據庫設計的目的是能夠較好地存儲系統的相關數據,針對本系統的具體情況,在數據庫中需要保存教師的組卷,考試發布需要考慮教師進行組卷和發布試卷,學生上機考試要登錄、查看試卷、保存試卷,并且可以在考試結束后進行查詢和閱卷,學生提交的試卷也需要保存在數據庫,并便于檢索,此外數據庫還需要保存教師、學生、班級、課程等信息,應該分別建立數據表保存。
這些數據包括如下這些方面:
1)基本數據保存
主要包括學生信息、教師信息、班級信息、科目信息、新聞管理、題型設置。
2)試題數據保存
數據庫可以進行試題數據保存,每條試題數據包括試題的具體類型,在試題數據保存中,為了便于管理,將所有類似的試題保存在同一張數據表中,依據表中的試題類型字段進行區別。
3)試卷信息
保存用戶組卷的信息,如果用戶采用隨機試卷,那么在試題庫中保存用戶的組卷策略編號,具體的組卷策略保存在組卷策略表中。
4)學生考試考卷信息
學生參加考試后,系統需要保存學生的考試信息,考試信息包括考卷信息和考題信息,采用一對多的兩張表保存。
5)考試過程數據存儲
學生在考試中的狀態信息如未登錄、答卷中、已交卷等狀態,這些信息保存到用戶的考試表中,該表的數據會依據用戶的考試情況進行動態修改。
6)成績管理
考試完成后,系統會自動對客觀題閱卷,其機制就是提交試卷的用戶的考題表,對每個考題中的標準答案與學生提交答案進行比對,進行評分,最后顯示客觀題用戶總分,對于操作題進行手動閱卷后,對教師填入的分數進行保存到該題的得分。
7)數據表字段設計
在設計數據庫中的各個數據表字段的時候,需要具體分析各個字段的類型、長度,例如學號字段需要設置為學院標準的12位,并且需要對各個表之間建立合理的主外鍵關系進行約束。
以用戶需求分析得到的數據庫保存實體信息,分析各個實體信息之間的關系,并進行適當的關系優化,在滿足數據庫設計范式的基礎上設計如下四類數據表。
1)班級-學生-課程-知識點表設計
根據學院的班級-學生-課程-知識點的實際情況,設計數據表,一個班級對應多位學生,每一門課程對應多個知識點,這是兩個一對多的關系。因此,設計了相關的5張數據表,分別是用戶信息(UserInfo),班級信息(DeptInfo),密碼表(UserPower),課程關系(SubjectInfo)、知識點表(LoreInfo),如圖 2所示。

圖2 用戶-班級-密碼,課程-知識點表設計
2)試題相關表設計
在設計題庫試題中,每條試題都有相關的科目和知識點、試題類型、出題人信息,因此在時間相關表中包括試題、試題類型、用戶、科目、知識點,在試題表設計中,考慮為了方便管理,試題沒有分類存儲,將所有的試題全部放入試題表(RubricInfo),在試題表中,通過類型id、用戶id與類型表與用戶表關聯,如圖3所示。

圖3 實訓考核數據表
3)試卷-考題-組卷策略表設計
在系統設計中,考慮采用隨機組卷的方式,因此在組卷的時候,可以不指定具體的考試題目,只用設定具體的題型、知識點、題目數量即可,這些設定體現在組卷策略表中,在組卷策略表中保存多條組卷策略,這些策略可能都是針對同一題型的,例如可以從科目的4個知識點中的每個知識點抽取4個選擇題,那么就需要設計4個組卷策略,這4個組卷策略共同組成一組選擇題,這一組選擇題的信息保存在組卷中的試題類型表中。具體如圖4所示。

圖4 試卷-試題表
4)考試過程和考卷數據設計
學生登錄系統后可以查看對自己發布的作業和試卷,使用試卷進行考試,學生考試中使用的試卷是系統依據教師發布的組卷策略抽取的試題,數據庫設計主要包括如圖5所示。

圖5 考試相關表表設計
組卷設計是依據試題庫中的試題,用戶通過設置試題類型、試題數量、知識點等相關參數后,依據自動組卷系統完成試題的生成。教師可以進行組卷操作,組卷操作是考試系統設計的關鍵功能,在組卷的功能設計中,依據考試的形式,設計了兩類試卷。
1)選題試卷
在組卷中選擇所需的試題,試卷的試題固定,學生考試中可以亂序出題,也可以按固定順序出題。
2)組卷策略試卷
在組卷中選擇組卷策略,不選擇具體的題目,組卷完成后,會依據策略為每位用戶創建符合組卷策略的試卷,組卷界面如圖6所示。

圖6 組卷界面
在組卷中,需要設計多項參數:
試卷名稱:試卷的名稱,可以說明試卷的學年學期、科目和考試對象。
試卷類型:指定是考試試卷還是作業試卷,一般日常作業發布可以使用作業試卷,各類測驗和考試應使用考試試卷。
出題方式:指定試題是固定還是隨機試題,對于考試,一般應該指定為隨機試題,便于監督公正考試。
試卷總分、通過分數:指定試卷的卷面總分和及格分數。
考試開始時間和結束時間:指定的開始和結束時間,這個時間段用戶可以登錄系統后查看試卷,不在這個時間段,用戶無法查看試卷。通常在考試試卷的組卷中,應該將試卷的時間指定為考試的實際時間段。
組卷策略:組卷的關鍵是添加組卷策略,在組卷策略中需要選擇科目、知識點、題型,系統會自動在試題庫查詢符合要求的各種難度的題型,用戶只需要選擇不同難度的試題數量即可。界面如圖7所示。

圖7 添加隨機策略
參考人員:添加參考人員界面如圖8所示,可以選擇一個或多個班級與指定試卷關聯進行考試,也可以指定單個學生或多個學生進行考試。

圖8 選擇參考人員
閱卷人員:閱卷人員選擇與參考人員類型。
閱卷設計依據用戶在考試時填寫的相關內容來進行試卷的評閱。在試卷提交后,系統會將試卷中的作答內容與系統提供的答案進行比對,如果與系統提供答案的內容相同,則得分,否則,該題不予得分,手動評分流程圖如圖9所示。學生在提交試卷后,系統可以自動進行客觀題目閱卷,學生當即就可查看客觀題的考試成績。客觀題部分由授課教師手動閱卷。

圖9 評分流程圖
計算機上機考試系統是一個功能要求比較特殊的B/S系統,依據學院當前計算機基礎考試的實際需求,進行了用戶需求分析、數據庫設計、系統概要設計、詳細設計,軟件測試等流程。使用了目前基于.NET平臺的主流技術,采用基于ASP.NET的開發技術,結合HTML界面設計技術,整個系統界面簡潔,功能完善,具有計算機應用基礎課程考核和管理的基本功能,該系統不但可以自動組織日常測驗形式的考試,還可以進行期末考試,并進行比較完善的考試管理、過程管理、成績管理功能,學生使用系統進行考試,教師使用系統進行考試過程管理和閱卷、成績管理,這些功能較好的滿足學了院計算機應用課程上機考試的需求,解決了教師閱卷強度大的問題,實現了計算機應用基礎課程考試及閱卷的自動化,用戶體驗較好。