王紹清 嚴(yán)光銀
摘要:根據(jù)Visual Basic程序設(shè)計語言上機(jī)考試的實(shí)際需求,用Visual Basic語言和Access數(shù)據(jù)庫設(shè)計開發(fā)了一款“Visual Basic程序設(shè)計上機(jī)考試系統(tǒng)”,實(shí)現(xiàn)了Visual Basic程序設(shè)計上機(jī)考試的自動組卷、自動計時和自動評分功能。
關(guān)鍵詞:Visual Basic;上機(jī)考試;自動評分
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)14-0090-03
Abstract: According to the examination on Computer Operation needs of Visual Basic programming language, using Visual Basic language and Access database was designed and developed a "Visual Basic programming computer test system", realized the computer Visual Basic programming test Automatic component test paper, automatic timing and automatic grade
Key words: Visual Basic; programming computer test;automatic grade
Visual Basic語言是全國計算機(jī)二級考試語言之一,也是目前高校廣泛開設(shè)的計算機(jī)程序設(shè)計課程中的一門主要語言。對于程序設(shè)計課程的上機(jī)考試,客觀公正的評分一直是個難題。為此,對于該門課程的上機(jī)考試,一般是采用印制上機(jī)試卷,學(xué)生完成程序設(shè)計操作后,再由閱卷教師人工閱卷評分的方式進(jìn)行。這種考核方式,費(fèi)時費(fèi)力,如果參加考試的學(xué)生較多,分了很多批次,則所有批次學(xué)生的考試時間加上評分時間累計起來,可能會需要一至兩天才能完成考試。同時,由于參與閱卷評分的教師較多,即使有評分標(biāo)準(zhǔn),也很難使每個教師的評分做到完全一致,這樣,學(xué)生的上機(jī)考試成績就難免會有一些主觀因素,很難做到真正的客觀公正。
針對這種情況,我們用Visual Basic程序設(shè)計語言和Access數(shù)據(jù)庫,設(shè)計、開發(fā)了一款“Visual Basic程序設(shè)計上機(jī)考試系統(tǒng)”來代替手工閱卷,并且使用效果良好。下面,我們就介紹一下該系統(tǒng)的主要設(shè)計方法。
1 系統(tǒng)目標(biāo)設(shè)計
結(jié)合我校Visual Basic程序設(shè)計上機(jī)考試多年的需求,我們設(shè)計的“Visual Basic程序設(shè)計上機(jī)考試系統(tǒng)”要達(dá)到的主要目標(biāo)如下:
1)實(shí)現(xiàn)Visual Basic上機(jī)考試的自動抽卷、自動計時和自動評分。系統(tǒng)自動評分時既要看程序的運(yùn)行結(jié)果,也要看程序的設(shè)計過程。即運(yùn)行結(jié)果不正確,如果設(shè)計過程有一部分正確,也可以得相應(yīng)的分?jǐn)?shù)。
2)考生需輸入自己的學(xué)號和姓名進(jìn)行登錄,在考試進(jìn)行過程中,學(xué)號和姓名需要一直顯示考試系統(tǒng)的界面上方。這樣方便監(jiān)考教師核對考生的身份,防止代考。
3)考生登錄后,系統(tǒng)隨機(jī)抽取上機(jī)試卷,并在考生文件夾下自動生成該套上機(jī)試卷為考生提供的源程序文件,并提示考生:考生所有的操作,均需在考生文件夾下進(jìn)行。
4)系統(tǒng)運(yùn)行時,同一臺計算機(jī)默認(rèn)的抽卷方式為循環(huán)抽卷。即所有上機(jī)試卷隨機(jī)抽完后,再重新抽。這樣做的目的是保證前后批次考生的上機(jī)試卷在本機(jī)上不會相同,防止后面批次的學(xué)生參考前面學(xué)生考試時留下的內(nèi)容。
5)考生一旦進(jìn)入考試,抽取了上機(jī)試卷,即使其退出考試系統(tǒng)再重新進(jìn)入,仍然會是以前抽取的那套上機(jī)試卷,但系統(tǒng)會從上次退出的時間開始繼續(xù)計時。
6)考試設(shè)置的時間到后,系統(tǒng)自動提交并評分。為了提醒考生存盤,在考試時間還有5分鐘和1分鐘時,系統(tǒng)會彈出提示對話框提示考生將程序文件存盤。
7)交卷評分后,系統(tǒng)給出考試成績和答題情況中的正確與錯誤分析,讓考生明白對與錯的地方。
對于上機(jī)考試成績的記錄,我們設(shè)計的流程如下:
考生分批進(jìn)行考試→考生完成考試后舉手→監(jiān)考教師過來→ 考生自己進(jìn)行交卷評分→ 在監(jiān)考老師的見證下,考生自己在上機(jī)考試成績單上寫上自己的考試成績并簽名。
采用這種流程來記錄上機(jī)考試成績,比成績直接提交到網(wǎng)絡(luò)上更便于原始成績資料的存檔。同時,也避免了考生覺得成績不理想,不提交成績就離開的情況。因?yàn)槿绻忌x開,沒有簽名,就是缺考。相反,如果成績直接提交到網(wǎng)絡(luò),當(dāng)出現(xiàn)學(xué)生沒有成績時,不知是網(wǎng)絡(luò)原因還是學(xué)生看到自己這次沒考好,沒有“交卷評分”就直接走了的情況。
2 系統(tǒng)功能模塊設(shè)計
根據(jù)系統(tǒng)目標(biāo)設(shè)計,考慮到又是Visual Basic語言的考試,我們決定采用Visual Basic+Access數(shù)據(jù)庫來開發(fā)這個上機(jī)考試系統(tǒng)。
系統(tǒng)功能分為兩大模塊:題庫管理模塊和考試模塊。其中題庫管理模塊用于完成上機(jī)試卷和評分標(biāo)準(zhǔn)的創(chuàng)建、上機(jī)試卷和評分標(biāo)準(zhǔn)的修改、上機(jī)試卷和評分標(biāo)準(zhǔn)的導(dǎo)入等功能,屬于出卷人員使用的管理模塊;考試模塊用于考生考試,提供考生登錄界面、考試主界面、交卷評分后查看考試成績和答題情況分析等功能。整個系統(tǒng)功能模塊設(shè)計如圖1所示。
3 數(shù)據(jù)庫設(shè)計
根據(jù)系統(tǒng)目標(biāo)和功能模塊的設(shè)計,對Access數(shù)據(jù)庫進(jìn)行如下設(shè)計。新建數(shù)據(jù)庫DATA,并在其中設(shè)計四個表,表名分別為System、Paper、Answer和Users,其中表Syetem用于存放系統(tǒng)設(shè)置信息,如考試系統(tǒng)的名稱、考試時間長度和考生文件夾等;表Paper用于存放題庫中提供的各套上機(jī)試卷信息,如上機(jī)試卷名稱、考試的操作要求、提供給考生的各個源程序文件(本系統(tǒng)設(shè)計了最多10個文件)等;表Answer用于存入各套上機(jī)試卷的評分標(biāo)準(zhǔn),如上機(jī)試卷名稱、源程序文件及其對應(yīng)的各個評分關(guān)鍵字、分值等;表Users用于存放考生考試時的相關(guān)信息,如抽取的考生學(xué)號、姓名、抽取的上機(jī)試卷名稱、考試剩余時間、考試成績、答題情況分析等。四個表的表結(jié)構(gòu)和相關(guān)說明分別如表1、表2、表3、表4所示。
上機(jī)試卷格式說明:
1)上機(jī)試卷文件中的第一行(非空行)為上機(jī)試卷名稱。
2)從第二個非空行開始為該上機(jī)試卷提供給考生看的操作要求,一直到行首出現(xiàn) “試卷文件”幾個字才結(jié)束。
3)行首出現(xiàn) “試卷文件”,則從第7個字符開始,為該上機(jī)試卷在考生文件夾下提供給考生的源程序文件名,該源程序文件的內(nèi)容在文件名后面,直到出現(xiàn)下一個“試卷文件”標(biāo)識為止。由于Visual Basic語言程序中的窗體文件、工程文件、模塊文件等均屬于文本文件,因此提供給考生的源程序文件內(nèi)容可以很方便的以這種形式添加到試卷格式文件中。
這樣設(shè)計上機(jī)試卷格式的好處是一個文件中包含了這套試卷的全部內(nèi)容,便于修改和將試卷中的各部分內(nèi)容導(dǎo)入數(shù)據(jù)庫,同時,每套試卷的難易度也完全由出卷人員控制,比較容易做到各套試卷的難易度相近。
5 上機(jī)試卷評分標(biāo)準(zhǔn)格式設(shè)計
上機(jī)試卷評分標(biāo)準(zhǔn)格式說明:
1) 上機(jī)試卷評分標(biāo)準(zhǔn)文件中的第一行(非空行)為上機(jī)試卷名稱。
2) 從第二行開始,行首出現(xiàn) “試卷文件”,則從第7個字符開始,為該上機(jī)試卷要求考生在考生文件夾下完成的源程序文件名。該源程序文件后面key、err、score含義如下:
① key:源程序文件中的關(guān)鍵語句。該關(guān)鍵語句在源程序文件中找到則得分;若key內(nèi)容與源程序文件名相同,則是判斷文件是否存在;如果有多個答案,則答案之間用漢字“或”分隔。
② err:上面關(guān)鍵語句涉及的知識點(diǎn)說明,用于生成答題情況分析信息。
③ score:該關(guān)鍵語句的分值。
6 結(jié)束語
利用上面的設(shè)計思想開發(fā)的“Visual Basic程序設(shè)計上機(jī)考試系統(tǒng)”,實(shí)現(xiàn)了自動抽卷、自動計時、自動評分功能,解決了上機(jī)考試人工評分占用較多時間的問題,減輕了教師的工作量。該系統(tǒng)在我校已使用多年,效果良好。