郭廣軍,彭香輝,王劍波
(湖南人文科技學(xué)院計(jì)算機(jī)科學(xué)技術(shù)系,湖南婁底 417001)
國(guó)家精品課程建設(shè)項(xiàng)目是我國(guó)高等教育質(zhì)量工程的重要組成部分,是在我國(guó)高等教育在快速發(fā)展、規(guī)模不斷擴(kuò)大、進(jìn)入大眾化階段以及教育信息化進(jìn)程不斷深入的背景下開(kāi)展的一項(xiàng)重大的教育教學(xué)改革工程[1]。在線考試系統(tǒng)是精品課程中學(xué)生學(xué)習(xí)評(píng)價(jià)模塊的重要組成部分,是完善教學(xué)評(píng)價(jià)體系,提高教學(xué)管理水平的重要手段,也是一種考核學(xué)生學(xué)習(xí)情況的便捷方式[2],它作為高效、安全可靠、公平公正的考試系統(tǒng)越來(lái)越受到師生的重視。
本文針對(duì)程序設(shè)計(jì)精品課程建設(shè),基于 B/S模式,以SQL Server 2000為后臺(tái)數(shù)據(jù)庫(kù),運(yùn)用 ASP技術(shù)編程實(shí)現(xiàn)了程序設(shè)計(jì)精品課程在線考試系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了考生在線注冊(cè)、在線考試、考生信息管理、試題管理和考試成績(jī)管理等基本功能。它對(duì)探索推動(dòng)高校課程考試的網(wǎng)絡(luò)化進(jìn)程具有重要的現(xiàn)實(shí)意義。
根據(jù)課程考試業(yè)務(wù)邏輯分析,本系統(tǒng)功能需求[3]如下:
1.1.1 前臺(tái)考生端功能需求
考生注冊(cè):未注冊(cè)的考生須先注冊(cè),再登錄。
在線考試:考生登錄后,系統(tǒng)在開(kāi)始考試計(jì)時(shí)前,先根據(jù)試題生成規(guī)則,從試題庫(kù)中隨機(jī)抽取試題生成一套試卷,然后考生開(kāi)始考試作答,考試結(jié)束時(shí)間到或考生提交答案結(jié)束本次考試后,系統(tǒng)根據(jù)提交答案自動(dòng)閱卷評(píng)分,給出本次考試成績(jī),同時(shí)考生還可以根據(jù)系統(tǒng)提供的參考答案對(duì)比分析自己的作答情況。
成績(jī)查閱:考生可以查詢所考課程的成績(jī)。1.1.2 后臺(tái)管理端功能需求
考生管理:可以對(duì)考生進(jìn)行增加、修改、刪除、查詢等基本操作。
成績(jī)管理:可查詢某個(gè)考生成績(jī),可對(duì)各期考試成績(jī)的最高分、最低分和不及格門(mén)次數(shù)等信息進(jìn)行統(tǒng)計(jì)分析。
試卷管理:可設(shè)置考試試卷的題型、題量、考試總分?jǐn)?shù)、考試總時(shí)間等。
試題管理:可以對(duì)判斷題、選擇題、填空題、閱讀程序題、程序填空題、程序改錯(cuò)題、程序設(shè)計(jì)題等各種試題進(jìn)行增加、修改、刪除、查詢等基本操作。
圖1 系統(tǒng)用例圖
根據(jù)前述需求分析得出系統(tǒng)主要用例如圖1所示。教師用例主要包括教師注冊(cè)、教師登錄、題庫(kù)管理、試卷管理、考生管理和成績(jī)管理;考生用例主要包括考生注冊(cè)、考生登錄、在線考試、成績(jī)查詢、成績(jī)統(tǒng)計(jì)等。
1.3.1 系統(tǒng) E-R圖
根據(jù)需求分析,系統(tǒng) E-R圖[4]如圖2所示。
圖2 系統(tǒng) E-R圖
1.3.2 SQL Server數(shù)據(jù)表
根據(jù)圖2示所示 E-R圖,在MS SQL Server 2000里創(chuàng)建數(shù)據(jù)庫(kù)并設(shè)計(jì)的物理數(shù)據(jù)表及關(guān)系如圖3所示。
圖3 數(shù)據(jù)表及關(guān)系
1.3.3 數(shù)據(jù)表結(jié)構(gòu)
下面給出圖3所示數(shù)據(jù)表的結(jié)構(gòu)定義及有關(guān)說(shuō)明。
1.3.3.1 教師表admin
如表1所示。
表1 教師表admin
1.3.3.2 考生表student
如表2所示。
表2 考生表student
1.3.3.3 考試成績(jī)表examination
如表3所示,其中字段 pass默認(rèn)值為 0,表示不需要補(bǔ)考。
表3 考試成績(jī)表examination
1.3.3.4 考試題型表test
如表4所示,其中試卷編號(hào)是添加題型時(shí)由系統(tǒng)自動(dòng)產(chǎn)生。
表4 考試題型表test
1.3.3.5 判斷題表rightorwrong
如表5所示,其中判斷題編號(hào)是添加試題時(shí)由系統(tǒng)自動(dòng)產(chǎn)生。
表5 判斷題表rightor wrong
1.3.3.6 選擇題表selecting
如表6所示,其中選擇題編號(hào)是添加試題時(shí)系統(tǒng)自動(dòng)產(chǎn)生。
表6 選擇題表selecting
1.3.3.7 填空題表filling
如表7所示,其中填空題編號(hào)是添加試題時(shí)系統(tǒng)自動(dòng)產(chǎn)生。
表7 填空題表filling
1.3.3.8 程序閱讀題表programyd
如表8所示,其中程序閱讀題編號(hào)是添加試題時(shí)由系統(tǒng)自動(dòng)產(chǎn)生。
表8 程序閱讀題表programyd
prograydid int 4 程序閱讀題編號(hào)question nvarchar 2500 試題內(nèi)容answer nvarchar 100 參考答案setupdata s malldatatime 4 入庫(kù)日期
1.3.3.9 程序改錯(cuò)題表programgc
如表9所示,其中程序改錯(cuò)題編號(hào)是添加試題時(shí)由系統(tǒng)自動(dòng)產(chǎn)生。
表9 程序閱讀題表programgc
1.3.3.10 程序填空題表programtk
如表10所示,其中程序填空題編號(hào)是添加試題時(shí)由系統(tǒng)自動(dòng)產(chǎn)生。
表10 程序填空題表programtk
1.3.3.11 編程題表programing
如表11所示,其中編程題編號(hào)是添加試題時(shí)由系統(tǒng)自動(dòng)產(chǎn)生。
表11 編程題表programing
2.1.1 系統(tǒng)前臺(tái)主界面
系統(tǒng)前臺(tái)主界面如圖4所示,主要包括頂部 Logo(Top.h tm)、考生登陸 (Login.asp)區(qū)、考生注冊(cè) (Register.asp)鏈接和后臺(tái)管理入口 (Admin.asp)鏈接等。
圖4 系統(tǒng)前臺(tái)主界面
2.1.2 考生注冊(cè)
考生注冊(cè)頁(yè)面 (Register.asp)如圖5所示。其主要功能是注冊(cè)新的考生,并更新數(shù)據(jù)庫(kù)。系統(tǒng)先判斷該考生是否已注冊(cè),以免重復(fù)注冊(cè),再檢查考生信息是否符合數(shù)據(jù)規(guī)范,內(nèi)容是否完整,否則修改或重新填寫(xiě)。若考生注冊(cè)成功,則將考生信息存入數(shù)據(jù),并提示注冊(cè)成功。同時(shí)使用Session變量保存考生信息,以便其模塊調(diào)用。
圖5 考生注冊(cè)界面
2.1.3 考生登錄
在考生登錄頁(yè)面中通過(guò)輸入考生號(hào)和密碼,以登錄驗(yàn)證。驗(yàn)證算法:先通過(guò)考生號(hào)檢索數(shù)據(jù)庫(kù)中的 Student表,若檢索結(jié)果記錄集為空,則登錄失敗;若結(jié)果記錄集非空,則進(jìn)入在線考試頁(yè)面。在線考試頁(yè)面包括考試答題頁(yè)面和以往考試成績(jī)查詢。2.1.4 在線答題
單擊登陸成功頁(yè)面中的“進(jìn)入在線考試”超鏈接,即可進(jìn)入在線答題頁(yè)面,如圖6所示。系統(tǒng)先按試題生成規(guī)則隨機(jī)抽取試題組成試卷,然后開(kāi)始考試計(jì)時(shí),考生在答題頁(yè)面中作答。在答題頁(yè)面頂部顯示了考生的基本信息,并使用 Flash時(shí)鐘顯示考試剩余時(shí)間。
考生答題完畢單擊“提交”按鈕,或者考試結(jié)束時(shí)間到系統(tǒng)自動(dòng)提交后,轉(zhuǎn)至成績(jī)與答案頁(yè)面。在該頁(yè)面中系統(tǒng)先自動(dòng)評(píng)分并將成績(jī)寫(xiě)入數(shù)據(jù)庫(kù),然后在本界面顯示各題得分與本次考試總成績(jī),同時(shí)考生可比較對(duì)照所作答案與參考答案差異,幫助考生發(fā)現(xiàn)鞏固不足之處。
圖6 在線答題界面
在線考試試卷隨機(jī)生成技術(shù)中使用了初始化隨機(jī)生成函數(shù) Randomize。Randomize使用 number參數(shù)初始化 Rnd函數(shù)的隨機(jī)生成器,賦給它新的種子值。若省略 number,則使用系統(tǒng)計(jì)時(shí)器的返回值作為新的種子值。
2.1.5 成績(jī)查詢
考生單擊登陸成功頁(yè)面上的“查詢以往考試成績(jī)”即可進(jìn)入考生成績(jī)查詢頁(yè)面。在該頁(yè)面中可查看該考生各次考試的成績(jī)以及補(bǔ)考情況,并給出了該考生各科考試成績(jī)的最高分、最低分和不及格門(mén)次數(shù)。
2.2.1 教師登錄
教師在登錄頁(yè)面中輸入姓名、密碼,確認(rèn)后登錄。系統(tǒng)首先通過(guò)姓名在數(shù)據(jù)庫(kù)的 admin表中進(jìn)行檢索,若檢索到的記錄集為空,則說(shuō)明賬號(hào)錯(cuò)誤,登錄失敗;若記錄集非空則進(jìn)入在線考試后臺(tái)管理頁(yè)面。
2.2.2 試題管理
2.2.2.1 判斷題管理
判斷題管理頁(yè)面如圖7所示。它顯示當(dāng)前試題庫(kù)中的所有判斷題,并可以對(duì)判斷題進(jìn)行查找、增加、刪除和修改等操作。共分為判斷題管理、判斷題增加、判斷題刪除和判斷題修改四個(gè)子頁(yè)面。
圖7 判斷題管理頁(yè)面
判斷題查詢頁(yè)面:用于顯示數(shù)據(jù)庫(kù)中所有判斷題,并對(duì)其進(jìn)行查詢。
判斷題增加頁(yè)面:用于教師向試題庫(kù)中增加判斷題。判斷題刪除頁(yè)面:用于教師刪除已經(jīng)入庫(kù)的判斷題。判斷題修改頁(yè)面:用于教師對(duì)選定的判斷題進(jìn)行修改。2.2.2.2 選擇題管理
選擇題管理頁(yè)面顯示當(dāng)前試題庫(kù)中的所有選擇題,并可以對(duì)選擇題進(jìn)行查找、增加、刪除和修改等操作。共分為選擇題管理、選擇題增加、選擇題刪除和選擇題修改四個(gè)子頁(yè)面。
2.2.2.3 填空題管理
填空題管理頁(yè)面顯示當(dāng)前試題庫(kù)中的所有填空題,并可以對(duì)填空題進(jìn)行查找、增加、刪除和修改等操作。共分為填空題管理、填空題增加、填空題刪除和填空題修改四個(gè)子頁(yè)面。
2.2.2.4 閱讀程序題管理
程序閱讀題管理頁(yè)面顯示當(dāng)前試題庫(kù)中的所有程序閱讀題,并可以對(duì)程序閱讀題進(jìn)行查找、增加、刪除和修改等操作。共分為程序閱讀題管理、程序閱讀題增加、程序閱讀題刪除和程序閱讀題修改四個(gè)子頁(yè)面。
2.2.2.5 程序填空題管理
程序填空題管理頁(yè)面顯示當(dāng)前試題庫(kù)中的所有程序填空題,并可以對(duì)程序填空題進(jìn)行查找、增加、刪除和修改等操作。共分為程序填空題管理、程序填空題增加、程序填空題刪除和程序填空題修改四個(gè)子頁(yè)面。
2.2.2.6 程序改錯(cuò)題管理
程序改錯(cuò)題管理頁(yè)面顯示當(dāng)前試題庫(kù)中的所有程序改錯(cuò)題,并可以對(duì)程序改錯(cuò)題進(jìn)行查找、增加、刪除和修改等操作。共分為程序改錯(cuò)題管理、程序改錯(cuò)題增加、程序改錯(cuò)題刪除和程序改錯(cuò)題修改四個(gè)頁(yè)面。
2.2.2.7 程序設(shè)計(jì)題管理
程序設(shè)計(jì)題管理頁(yè)面顯示當(dāng)前試題庫(kù)中的所有程序設(shè)計(jì)題,并可以對(duì)程序設(shè)計(jì)題進(jìn)行查找、增加、刪除和修改等操作。共分程序設(shè)計(jì)題管理、程序設(shè)計(jì)題增加、程序設(shè)計(jì)題刪除和程序設(shè)計(jì)題修改四個(gè)子頁(yè)面。
2.2.3 考生管理
主要對(duì)考生信息進(jìn)行管理,考生管理界面如圖8所示。包括考生信息查詢、考生信息統(tǒng)計(jì)、考生修改、考生增加和考生刪除等。
圖8 考生管理頁(yè)面
2.2.4 成績(jī)管理
成績(jī)管理主要對(duì)考生考試成績(jī)進(jìn)行統(tǒng)計(jì)和查詢,并可審批考生是否補(bǔ)考,如圖9所示。包括成績(jī)統(tǒng)計(jì)、成績(jī)查詢和批準(zhǔn)補(bǔ)考等。
圖9 成績(jī)管理頁(yè)面
2.2.5 試卷管理
試卷管理用于展示試卷信息,可增加、修改、重置考試試卷信息,如圖10所示。主要包括試卷管理和試題增加,可完成考試專(zhuān)業(yè)選擇和考試試卷的生成規(guī)則的設(shè)置。
圖10 試卷管理頁(yè)面
本在線考試系統(tǒng)實(shí)現(xiàn)了試題編輯、試題入庫(kù)、試卷自動(dòng)生成、系統(tǒng)自動(dòng)評(píng)分、考試成績(jī)查詢統(tǒng)計(jì)、考生管理等基本功能,實(shí)現(xiàn)了程序設(shè)計(jì)課程的無(wú)紙化考試,能客觀公正評(píng)價(jià)考生學(xué)業(yè)成績(jī)、提高了教學(xué)考試評(píng)價(jià)效率。本系統(tǒng)開(kāi)發(fā)和有效應(yīng)用是程序設(shè)計(jì)精品課程建設(shè)的重要組成部分,完善了教學(xué)評(píng)價(jià)體系,提高了教學(xué)質(zhì)量,對(duì)其他課程考試的網(wǎng)絡(luò)化起到了推動(dòng)和示范作用。
[1]吳美嬌,項(xiàng)國(guó)雄.國(guó)家精品課程網(wǎng)絡(luò)教學(xué)資源現(xiàn)狀分析與優(yōu)化[J].現(xiàn)代遠(yuǎn)程教育研究,2009(2):39-44.
[2]趙玉蘭,許薇,姜春風(fēng).基于在線考試系統(tǒng)的研究與應(yīng)用[J].吉林農(nóng)業(yè)科技學(xué)院學(xué)報(bào),2009,18(1):81-82.
[3]強(qiáng)鋒科技.ASP+SQL Server典型網(wǎng)站建設(shè)案例[M].北京:清華大學(xué)出版社,2007:3-20.
[4]S ILBERSCHZTZA,KORTH H F,SUDARSHAN S.Database system concepts[M].8th ed.Beijing:Higher Education Press,2006:129-137.