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