(桐鄉(xiāng)市實(shí)驗(yàn)小學(xué)教育集團(tuán)鳳鳴小學(xué),浙江桐鄉(xiāng) 314500)
信息技術(shù)教學(xué)中要客觀、全面地評(píng)價(jià)學(xué)生的學(xué)業(yè),免不了對(duì)學(xué)生進(jìn)行考查。身處信息時(shí)代的你如果還停留在傳統(tǒng)的紙筆方式進(jìn)行考試,是不是有點(diǎn)out了。不妨給學(xué)生進(jìn)行一次“無紙化”的特殊考試,為你繁瑣的學(xué)生學(xué)業(yè)評(píng)價(jià)工作減減壓。
說起ASP(Active Server Pages),相信大家并不陌生,它是微軟公司開發(fā)的一個(gè)Web服務(wù)器端的開發(fā)環(huán)境,利用它可以產(chǎn)生和執(zhí)行動(dòng)態(tài)、互動(dòng)、高性能的Web服務(wù)應(yīng)用程序。但想到編寫代碼很多人就會(huì)望而生畏,其實(shí)ASP簡(jiǎn)單易用,支持VBScript和JavaScript腳本語言編寫,寥寥幾行代碼省下的將是你繁重的勞動(dòng)。
系統(tǒng)采用Browser/Server模式,服務(wù)器端選用Windows Server 2003 IIS 6.0作為ASP的運(yùn)行環(huán)境,數(shù)據(jù)庫(kù)采用微軟Access 2003。系統(tǒng)在設(shè)計(jì)時(shí)遵循實(shí)用性原則,根據(jù)考試流程(如圖1)將功能模塊分為登錄模塊、答題模塊、交卷模塊,三個(gè)模塊緊密聯(lián)系構(gòu)成一個(gè)有機(jī)的整體。
學(xué)生填寫班級(jí)、姓名、學(xué)號(hào)等信息登錄考試,系統(tǒng)驗(yàn)證信息是否填寫完整;同時(shí),驗(yàn)證該學(xué)生是否已經(jīng)參加過考試,防止重復(fù)登錄。
學(xué)生進(jìn)入答題頁面,完成答題;提交答卷后,系統(tǒng)驗(yàn)證答題是否完整,避免學(xué)生漏題。
對(duì)學(xué)生提交的答案進(jìn)行評(píng)判,并將學(xué)生考試成績(jī)及學(xué)生班級(jí)、姓名、學(xué)號(hào)等信息添加到數(shù)據(jù)庫(kù)。
利用Access2003建立一個(gè)數(shù)據(jù)庫(kù) TestDb.mdb,其中,包含 2個(gè)表,分別為Question表和Student表。
(1)Question表用來存放試題信息,該表包含如下字段:id(自動(dòng)編號(hào))、q_score(分值)、q_key(答案)(如表1)。
圖1 系統(tǒng)流程圖
表1 Question表
(2)Student表用來存放學(xué)生信息,該表包含如下字段:id(自動(dòng)編號(hào))、s_class(班級(jí))、s_name(姓名)、s_number(學(xué)號(hào))、s_score(成績(jī))(如表2)。
表2 Student表
數(shù)據(jù)庫(kù)的訪問采用ASP與ADO(ActiveXData Object)技術(shù),系統(tǒng)中涉及的主要數(shù)據(jù)庫(kù)操作語句如下。
(1)連接數(shù)據(jù)庫(kù)。建立ADO的Connection對(duì)象,連接支持?jǐn)?shù)據(jù)庫(kù)類型的ODBC驅(qū)動(dòng)程序;并使用該對(duì)象打開要查詢的數(shù)據(jù)庫(kù)。語法格式為:
Conn.Open是數(shù)據(jù)庫(kù)操作最基本的語句,在執(zhí)行insert into、select語句之前必須加上上述連接數(shù)據(jù)庫(kù)代碼。
(2)添加記錄。向指定表指定列中插入數(shù)據(jù),語法格式為:
INSERT INTO Table_name(列 1,列 2,…)VALUES(值 1,值 2,…)
(3)數(shù)據(jù)查詢。指定表中取出符合條件的指定列的數(shù)據(jù),語法格式為:
SELECT SELECT_LIST FROM Table_name[WHERE condition]
系統(tǒng)沒有設(shè)計(jì)獨(dú)立的出題模塊,而是借助網(wǎng)頁制作軟件(如:Dreamweaver、FrontPage)編制獨(dú)立的試卷文件Question.html。再使用“<選--#include file=″question.html″-->”語句將試卷文件包含到答題模塊中。
1.試題編寫
由于試卷允許學(xué)生進(jìn)行交互答題,因此試題中需要添加允許用戶輸入信息的表單元素。通過靈活運(yùn)用文本域、列表框,可以設(shè)計(jì)填空、判斷、選擇、匹配等多種題型(如表3)。
表3 試題舉例
題型 題目 答案 表單元素應(yīng)用A說出鼠標(biāo)的各部分名稱。C匹配題列表框(多個(gè))B左鍵<select name=″q4″><o(jì)ption value=″″>< /option><o(jì)ption value=″A″>A </option><o(jì)ption value=″B″>B </option><o(jì)ption value=″C″>C </option>< /select>滾輪<select name=″q5″><o(jì)ption value=″″>< /option><o(jì)ption value=″A″>A </option><o(jì)ption value=″B″>B </option><o(jì)ption value=″C″>C </option>< /select>右鍵<select name=″q6″><o(jì)ption value=″″>< /option><o(jì)ption value=″A″>A </option>
2.表單元素屬性設(shè)置
為了在試卷批閱時(shí)方便地獲取學(xué)生的答案,試卷中表單元素的name屬性必須唯一,并且需要按一定的規(guī)律依次命名,如表3中采用的是“q1、q2、q3、q4……”這種形式。
除填空題不需要設(shè)置表單元素的value屬性外,其它題型在編寫時(shí),還需要將表單元素的value屬性設(shè)置成備選答案。
應(yīng)用數(shù)據(jù)查詢語句Select依次讀取Question表中的試題答案與分值,同時(shí)利用ASP內(nèi)置對(duì)象Request依次獲取表單元屬的值。將學(xué)生提交的答案與標(biāo)準(zhǔn)答案逐一進(jìn)行比對(duì),如果答案正確得分加上該題目的分值,答案不正確不加分。試卷批閱完畢將學(xué)生班級(jí)、姓名、學(xué)號(hào)、得分等信息添加到Student表。功能實(shí)現(xiàn)代碼如下:
為了保證學(xué)生提交信息的完整性、防止重復(fù)提交,需要建立對(duì)信息進(jìn)行驗(yàn)證的機(jī)制。系統(tǒng)使用JavaScript腳本語言在客戶端對(duì)表單進(jìn)行驗(yàn)證,使用VBScript腳本語言在服務(wù)器端對(duì)獲取的信息進(jìn)行驗(yàn)證。功能實(shí)現(xiàn)代碼如下:
1.驗(yàn)證學(xué)生填寫姓名、學(xué)號(hào)信息是否完整
2.驗(yàn)證學(xué)生答題是否完整
3.驗(yàn)證學(xué)生是否已經(jīng)參加過考試
根據(jù)試卷編制方法,按需求修改試卷文件中的內(nèi)容;同時(shí),將試題的答案、分值按順序錄入到Question表中。完成上述步驟后就可以給學(xué)生考試了。
當(dāng)然本文介紹的只是一個(gè)功能簡(jiǎn)單的信息技術(shù)考試系統(tǒng),還有許多功能有待完善,如成績(jī)查詢功能、答案錄入功能等,有興趣和余力的教師可在本文基礎(chǔ)上進(jìn)一步擴(kuò)展功能。
[1] 百度百科.asp[DB/OL].http://baike.baidu.com/view/2616.htm
[2]郭冬梅.基于Web的網(wǎng)絡(luò)考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦開發(fā)與應(yīng)用,2011.
[3]李志敏,畢芳芳.網(wǎng)絡(luò)考試系統(tǒng)的制作[J].電腦學(xué)習(xí),2011.
[4]周峰,徐曉軍,李德路.ASP開發(fā)技術(shù)原理與實(shí)踐教程[M].北京:電子工業(yè)出版社,2007.
[5]袁理.ASP完全自學(xué)手冊(cè)[M].北京:機(jī)械工業(yè)出版社,2007.