楊芳
摘 要:在線考試系統(tǒng)是現(xiàn)階段研究開發(fā)的一個熱點。在線考試系統(tǒng)中,題目的生成、試卷的提交、成績的批閱都可以在網(wǎng)絡(luò)上自動完成。只要有一套成熟的題庫,就可以實現(xiàn)考試的自動化。教師所要做的只是精心設(shè)計題目、維護(hù)題庫,而不是組織考試,從而大大減輕了教師的負(fù)擔(dān)。本文對計算機考試管理系統(tǒng)的設(shè)計及使用作介紹。
關(guān)鍵詞:考試系統(tǒng) 功能設(shè)計 模塊實現(xiàn)
網(wǎng)上考試系統(tǒng)有方便的題庫維護(hù)功能,除本論文中介紹的功能外,用戶可以通過數(shù)據(jù)庫方便地維護(hù)嘗試對理論題、操作題等題目,也可維護(hù)知識點的數(shù)量和內(nèi)容,控制考生需做的題型和題目數(shù)量;還可以為系統(tǒng)添加快速成績查詢、統(tǒng)計和打印功能;閱卷一結(jié)束即可分別按姓名、學(xué)號范圍查詢和統(tǒng)計學(xué)生的分?jǐn)?shù)以及考試時間等信息。
一、ASP系統(tǒng)功能設(shè)計
根據(jù)系統(tǒng)功能的要求,在線考試系統(tǒng)分為在線考試、管理、閱卷系統(tǒng)3個模塊,即在線考試系統(tǒng)、在線賬戶管理系統(tǒng)和在線閱卷系統(tǒng)。因此,可以將系統(tǒng)分解成幾個功能模塊來分別進(jìn)行設(shè)計。
根據(jù)系統(tǒng)功能分析,僅設(shè)置一個單一的流程化頁面。當(dāng)用戶登錄頁面,進(jìn)入試題類別的選擇頁面后,接著就進(jìn)入正式的理論考試頁面。在線管理系統(tǒng)可以具體細(xì)化為考試類別管理頁面、判斷題管理頁面、選擇題管理頁面、填空題管理頁面、試卷管理頁面、成績管理頁面、學(xué)生管理頁面、系統(tǒng)管理頁面、安全退出口。
二、功能模塊的實現(xiàn)
1.數(shù)據(jù)庫設(shè)計
打開數(shù)據(jù)庫“test_admin,mdb”后的窗口,左上角是數(shù)據(jù)庫的名稱。它所包含的數(shù)據(jù)表有下述7個:管理員表(admin)、考生檔案表(student)、考生考試記錄表(report)、考試試卷表(tese)、選擇題表(typc l)、判斷題表(type 2)和填空題表(type3)。
2.數(shù)據(jù)庫表的設(shè)計
下面介紹考試管理數(shù)據(jù)庫中各個數(shù)據(jù)表的結(jié)構(gòu):字段名稱、類型、關(guān)鍵字及其約束條件等等。
(1)管理員表(admin)。管理員表有3個字段,分別為管理員ID、管理員賬號和管理員密碼。
(2)考生檔案表(student)。考生檔案表包含考生的個人信息、姓名、學(xué)號和注冊日期等。
(3)考生考試記錄表(report)。該表記錄考生的編號和考試日期、考試分?jǐn)?shù)等等。如果需要補考,則“是否補考”字段為真,同時記錄補考日期和補考分?jǐn)?shù)。
(4)考試試卷表(test)。每一次考試都將記錄在考生考試記錄表中,可以指定試卷的各種題型的數(shù)量,從試題庫里隨機抽取試題生成一份原始試卷。本程序介紹的實例包括三種不同類型的題目:判斷、選擇和填空題。管理員可以設(shè)置考試卷的題目類型和題目數(shù)。
(5)判斷題表(type 1)。判斷題表記錄了管理員設(shè)置的判斷題的題干和答案。
(6)選擇題表(type 2)。選擇題表記錄管理員設(shè)置的選擇題和答案。
(7)填空題表(type 3)。填空題表記錄管理員設(shè)置的填空題和答案。
4.登錄和注冊頁面
網(wǎng)上考試系統(tǒng)的登錄頁面要求考生輸入姓名和密碼。在本程序中我們采用Session技術(shù)來保存用戶的認(rèn)證標(biāo)記并對用戶進(jìn)行跟蹤。只有認(rèn)證合格以后才能入系統(tǒng),完成相應(yīng)的選題、答題、提交答案等操作。如:
Name=trim(request(“1name”))
passwd=trim(request(“passwd”))
session(“user”)=name
if name<>“”and passwd<>“”then
Set conn=Server.CreateObject(“ADODB.Connection”)
Conn.Open“deriver={Microsoft Access Driver(*.mdb)};dbp=”&Server.MapPath(“../試題庫.mdb”)
set rs=server.createobject(“adodb.recordset”)
(1)在程序前半部分中,首先加入數(shù)據(jù)庫鏈接文件conn.asp。
(2)如果已經(jīng)有輸入信息,就可以判斷他是不是合法的考生。如果是合法的考生則進(jìn)入下一頁面。
(3)如果檔案中找不到這個考生的名字和學(xué)號,就認(rèn)為是該考生可能是輸錯了自己的名字或者考號,以便顯示錯誤的信息,系統(tǒng)將提供用戶注冊的功能。
5.網(wǎng)上考試管理頁面
登錄模塊的具體實現(xiàn)步驟如下。
第一,通過rquest對象接收值如接收前面的兩個參數(shù),然后鏈接數(shù)據(jù)庫到庫中admin表使用SQL語句進(jìn)行記錄的查詢。若沒找到該用戶名和密碼,則出現(xiàn)提示信息,并退回到登錄頁面,重新登錄。若找到相應(yīng)的記錄,則記錄下該記錄信息,如session(“user”)=123,然后進(jìn)入到后臺主頁面。
第二,對于其他頁面如后臺的主頁面,在最開始的地方會有登錄控制語句,也就是說會查詢才定義的session(“user”)變量。若該值為空則說明這個用戶沒有登錄,是非法的,給出提示,返回到登錄頁面,讓用戶進(jìn)行登錄;若該值不為空,說明用戶已經(jīng)登錄完畢,并且是正確的用戶,則該用戶訪問本頁。后臺的其他頁面和主頁的控制方式一樣。
三、程序測試
1.程序的測試
對于軟件來講,不論采用何種技術(shù)和方法,軟件中仍然會有錯。采用新的語言、先進(jìn)的開發(fā)方式、完善的開發(fā)過程,可以減少錯誤的引入,但是不可能杜絕軟件中的錯誤。這些引入的錯誤需要測試來找出。
第一,認(rèn)為測試工作不如設(shè)計和編碼那樣容易取得進(jìn)展,難以給測試人員某種成就感。第二,以發(fā)現(xiàn)軟件錯誤為目標(biāo)的測試是非建設(shè)性的,甚至是破壞性的,測試中發(fā)現(xiàn)錯位是對責(zé)任者工作的一種否定。第三,測試工作枯燥無味,不能引起人們的興趣。第四,測試工作是艱苦而細(xì)致的工作。第五,對自己編寫的程序盲目自信,在發(fā)現(xiàn)錯誤后,顧慮別人對自己的開發(fā)能力的看法。
這些觀點對軟件測試工作是極為不利的,必須澄清認(rèn)識、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。
2.測試的步驟
大型軟件系統(tǒng)的測試基本上由下述幾個步驟組成。
(1) 模塊測試。在這個測試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計的錯誤。
(2)子系統(tǒng)測試。這個步驟著重測試模塊的接口。
(3)系統(tǒng)測試。在這個測試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計中的錯誤,也可能發(fā)現(xiàn)需求說明中的錯誤。
(4)驗收測試。在這個測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯誤。
平行運行時同時應(yīng)用新開發(fā)出來的系統(tǒng)和將被它取代的舊系統(tǒng),以便比較新、舊兩個系統(tǒng)的處理結(jié)果。
3.程序調(diào)試結(jié)果
程序可以網(wǎng)上答卷,也可以在后臺的數(shù)據(jù)庫中隨意更改想要考試的考試題。得到一個考生的考試界面和成績情況。
以上是本人不成熟的觀點,有不足之處仍待商榷。
參考文獻(xiàn):
[1]郭瑞軍,李杰,初曉璐.ASP數(shù)據(jù)庫開發(fā)實例精粹[M].北京:電子工業(yè)出版社.2005.
[2]藏楊,秦冬,李育龍.ASP軟件工程案例精解[M].北京:電子工業(yè)出版社.2004.
[3]何文華,李萍.SQL Server 2000應(yīng)用開發(fā)教程[M].北京:電子工業(yè)出版社.2004.
[4]求是科技.ASP數(shù)據(jù)庫開發(fā)技術(shù)與工程實踐[M].北京:人民郵電出版社.2004.
(作者單位:大連市金融中專)endprint