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