摘 要: 運用Visual C++程序設計技術與SQL Server2000數據庫技術相結合,開發了學生網上考試系統。根據學生考試的特點和學校的實際情況,網上考試系統中設置兩種用戶,分別是學生和教師。學生進入考試界面抽取試卷、網上考試、交卷、查看成績。教師進入后臺可以設置試卷科目和考試的試題、查看學生的考試成績和各題得分,以及進行學生成績的統計、學生的信息管理等,實現了教考分離以及考務工作全自動化管理,在一定程度上減少了影響考試的人為主觀因素,同時減少了教師的工作量。
關鍵詞: 網上考試; 數據庫; 試卷; 題庫
隨著計算機網絡技術和網絡教育的不斷發展,傳統的基于紙筆的考試形式已不能適應現在的教育發展需要,而網絡考試則是一個很重要的發展方向。網絡考試是傳統考試的延伸,它充分利用了數據技術,大大簡化了傳統考試的過程,提高了教學的靈活性,是電子化教學不可缺少的一個重要環節。網絡考試系統具有很大的優勢:考試時間和地點靈活,考生可以在規定時間段內的任意時間參加;網上考試閱卷快,系統可以在考試結束時當場給出考試結果;計算機判卷,避免人為錯誤,又節約成本,并且縮短傳統考試要求老師打印試卷、安排考試、監考、收集試卷、評改試卷、講評試卷這個漫長而復雜的過程,使考試更趨于客觀、公正。
1 系統分析
網上考試基于網絡環境,試卷應該從服務器的數據庫中抽取試題生成。另外,考生選擇答案提交后,應該由計算機自動閱卷,得到成績后顯示出來;其次,應該能夠方便、快捷地對網上考試系統進行后臺管理。如圖1所示系統功能需求圖。
2 系統設計
2.1繪制用例圖設計系統功能
考生登錄客戶端考試系統后,可以抽取試卷、網上考試、提交試卷,之后還可以查看本次考試成績,如圖2所示學生用例圖。教師作為考試系統進行管理員,在考試系統后臺可以對考試系統進行試卷管理、試題庫管理、學生信息管理、成績管理,如圖3所示教師用例圖。
2.2 系統流程圖
進入本系統需首先選擇登錄身份,如果是學生登錄,則驗證成功后進入考試系統答題或者查詢成績;如果是教師登錄,則登錄成功后會進入系統管理界面,網上考試系統流程圖如圖4所示。
3 數據庫設計
網上考試系統中對數據的安全性和穩定性要求較高,因此采用SQL Server2000作為本系統的數據庫。
3.1數據庫需求分析
通過上述對系統設計分析,根據網上考試系統的需求,共需創建以下信息:
(1)考試信息表:用來記錄考試信息;
(2)客觀題信息表:用來記錄客觀題信息;
(3)主觀題信息表:用來記錄主觀題信息;
(4)考生信息表:用來記錄考生的基本信息;
(5)客觀題臨時表:用來記錄考生抽取的客觀題;
(6)考生主觀題做答表:用來記錄考生主觀題作答信息;
(7)成績信息表:用來記錄考生的成績;
(8)教師信息表:用來記錄教師的基本信息。
3.2 數據庫表之間關系
根據前面對數據庫的需求分析,創建8個表的關系圖,如圖5所示。
4 系統的實現
4.1登錄模塊設計
系統主框架是使用MFC創建向導創建的基于對話框的應用程序,根據用戶的身份(考生或教師)構建兩種不同的主界面窗口。系統啟動時,首先彈出登錄對話框。只有輸入正確的用戶類型、用戶名和密碼后,才能進入系統。
4.2 考生考試模塊設計
考生考試模塊主要窗口包括答題主界面窗口、選擇試卷對話框和考試結果顯示對話框,主要功能包括選擇試卷、顯示試題、答題、交卷、查看考試結果等。
4.2.1 答題主界面窗口
答題主界面窗口對應的對話框類為CExanSystemDlg。當登錄用戶的權限為學生時,系統就會創建答題主界面窗口。在窗口初始化時,首先彈出試卷選擇對話框,選擇考試試卷,然后顯示答題主界面窗口。此時,主界面窗口顯示的。該試卷的第一題及答案選項。
4.2.2 選擇試卷對話框
考生登陸系統后,彈出選擇試卷對話框。該對話框實現的功能是通過下拉列表框列出所有試卷供用戶選擇,用戶選擇后,將該試卷的ID及第一題的題目傳遞給答題對話框。選擇試卷對話框對應的對話框類為CExamInfo,在其初始化函數onInitDialog中,從subject表中查詢所有試卷名稱,并將其添加到對話框的下拉列表框中。
4.2.3 考生答題模塊
考生答題對話框創建完畢,考生就可以實現答題了。答題操作是通過單擊相應的單選鈕實現的,考生答題時,從第一題開始依次作答,在完成當前試題后,可以通過單擊“上一題”和“下一題”按鈕,遍歷作答考試試題。
4.2.4 考生交卷模塊
考生在以下3種情況下可以實現交卷操作:(1)考生答題做到最后一題單擊“下一題” 按鈕,系統彈出提示 ,詢問是否交卷,此時可實現交卷操作; (2)考生單擊“交卷”按鈕,則實現交卷操作,退出考試;(3)考試時間到,自動實現交卷操作,退出考試。答題結束后,考生提交試卷,系統會彈出考試結果對話框,通過列表框的形式顯示考生的答題狀態和最終得分。
4.3 教師試題管理模塊設計
教師可以通過試題管理模塊對試卷、試題進行管理和維護,能夠實現查看試卷和試題、增加或刪除試卷以及增加、刪除和修改試題等操作。
4.3.1 教師后臺管理對話框的創建
教師后臺管理對話框對應的對話框類為Cback,當登錄用戶的權限為教師時,系統就會創建教師后臺管理對話框窗口。在教師后臺管理對話框中,包含了一個標簽控件,用于試題管理、學生信息管理、成績查詢標簽頁創建。其中,標簽頁的創建是在Cback類的初始化函數OnInitDialog中實現的。
4.3.2 試題管理標簽頁窗口的創建
試題管理標簽頁窗口對應的對話框類為CTertManage ,在樹形控件中,顯示試題科目,而在列表框中,則顯示該試卷包含的試題和試題答案。通過對話框下方的功能按鈕,實現對試卷和試題的操作。
4.3.3 增加、刪除試卷
要添加考試試卷,教師只需單擊“增加試卷”按鈕,將彈出“新增試卷”窗口,在窗口中輸入新增試卷的名稱后,單擊“增加”按鈕,即實現了向數據庫中添加試卷,“增加試卷”按鈕的響應函數為ObAddsubject。教師如果要刪除試卷,只需要在樹形控件中選中試卷,然后單擊“刪除試卷”按鈕,按鈕的響應函數為ObDelsubject。首先獲得要刪除試卷的名稱(即樹形控件選中節點的標題),而后通過Delete語句刪除Subject表中該試卷的記錄即可。
4.3.4 增加、修改和刪除試題
(1)增加試題。要為考試試卷增加試題,教師只需要單擊“增加試題”按鈕,將彈出“新增試題”窗口,在窗口的下拉框中選擇試卷,輸入試題題目、答案選項、正確答案及分值后,單擊“增加”按鈕,即實現了試卷中添加試題。
(2)修改試題。教師要修改試題,只需在列表框中選中要修改的試題,單擊“修改試題”按鈕,即彈出“試題修改”窗口,在窗口可以修改題目和答案。“修改試題”按鈕響應函數為OnChange。
(3)刪除試題。教師要刪除試題,只要在列表框中選中要刪除的試題,單擊“刪除試題”按鈕,即可刪除試題。“刪除試題”按鈕響應函數為OnDel。
4.3.5 學生信息模塊設計
教師在學生信息管理標簽頁中,可以添加、修改、刪除學生的基本信息。
4.3.6 成績查詢模塊
教師可以通過考生成績查看模塊查詢所有考生的考試成績,并可按照分數進行查詢操作。
(1)考生成績查詢窗口的創建
考生成績查詢窗口標簽頁對應的對話框類為CResultSelect,窗口創建時,在列表框中列出所有考生的成績。
(2)成績查詢功能
在考生成績查詢窗口中,教師可以查詢大于或者小于某一成績的所有考生成績記錄,“查詢”按鈕的響應函數為OnSelect。
該系統是面向學校以及社會各種形式的網上考試,所以所設置的模塊基本可以滿足考試的要求。本系統使用身份驗證機制,能更好地保護頁面防止非法訪問。考試結束后,客觀題部分由系統自動閱卷,主觀題部分由教師網上閱卷后提交成績,系統對兩部分成績匯總后存入數據庫中,提供學生查詢成績。系統不足之處是:現在的系統只限于客觀題的自動閱卷,主觀題需教師手工完成,離全面自動閱卷還有一定的差距。因此,在今后的工作中,需要不斷完善該系統,讓系統功能更齊全,更利于學生與老師之間的交流。
參考文獻
[1] 張莉, 王強, 趙文,等. SQL Server數據庫原理及應用教程[M].北京:清華大學出版社,2003.
[2] 吳俊良.管理信息系統開發與應用[M]. 北京:科學出版社,2006.
[3] 丁貴廣,郭寶龍.ASP動態網站建站實例與技巧[M]. 成都:電子科技大學出版社,2001.
[4] 思志學.程序天下J2EE[M].北京:電子工業出版社,2008.
[5] 雷進輝,范秀平,高守傳,等.Visual C++項目開發案例精粹[M].北京:電子工業出版社,2010.
[6] 劉銳寧,梁水,李偉明.Visual C++項目開發案例全程實錄[M].北京:清華大學出版社,2011.
[7] 王改書,胡書敏.Visual C#2008程序設計與項目實踐[M]. 北京:電子工業出版社,2011.
[8] 王小科,呂雙.C#開發典型模塊大全[M].北京:人民郵電出版社,2010.
[9] 吳明輝,胡煜,竇亮.ASP網絡辦公室商務應用系統開發實例導航[M]. 北京:人民郵電出版社,2003.