国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Flash和數(shù)據(jù)庫(kù)技術(shù)構(gòu)建網(wǎng)絡(luò)課程的測(cè)驗(yàn)?zāi)K

2009-03-11 06:49趙志靖
關(guān)鍵詞:網(wǎng)絡(luò)課程數(shù)據(jù)庫(kù)

趙志靖 周 靜

摘 要:本文在分析目前基于Flash技術(shù)開(kāi)發(fā)練習(xí)測(cè)驗(yàn)的四種方法的基礎(chǔ)上,提出了借助數(shù)據(jù)庫(kù)技術(shù),通過(guò)Flash調(diào)用數(shù)據(jù)庫(kù)的方法來(lái)構(gòu)建網(wǎng)絡(luò)課程的測(cè)驗(yàn)?zāi)K,并以網(wǎng)絡(luò)課程測(cè)驗(yàn)?zāi)K中的單選題為例,詳細(xì)闡述了這種方法的實(shí)現(xiàn)過(guò)程。

關(guān)鍵詞:Flash;數(shù)據(jù)庫(kù);XML;網(wǎng)絡(luò)課程

中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1673-8454(2009)04-0072-03

一、網(wǎng)絡(luò)課程的設(shè)計(jì)和開(kāi)發(fā)概述

網(wǎng)絡(luò)課程的設(shè)計(jì)和開(kāi)發(fā)是教育技術(shù)研究的一個(gè)重要內(nèi)容。一個(gè)完整的網(wǎng)絡(luò)課程,其基本模塊通常包括:教學(xué)內(nèi)容的多媒體演示、練習(xí)測(cè)驗(yàn)、檢索查詢(xún)、學(xué)習(xí)指導(dǎo)、幫助導(dǎo)航、討論交流等。其中“練習(xí)測(cè)驗(yàn)”部分作為一種行之有效的教學(xué)手段和測(cè)評(píng)手段,是一個(gè)優(yōu)秀的網(wǎng)絡(luò)課程不可缺少的重要組成部分。開(kāi)發(fā)網(wǎng)絡(luò)課程的技術(shù)有很多,如ASP、ASP.NET、PHP、JSP等,本文研究的是Flash技術(shù)。

目前,基于Flash技術(shù)開(kāi)發(fā)的練習(xí)測(cè)驗(yàn)主要有四種方法:一是利用幀技術(shù),即每一幀編輯一道習(xí)題;[1]二是利用組件,即利用Flash內(nèi)置的“學(xué)習(xí)交互”組件開(kāi)發(fā)練習(xí)測(cè)驗(yàn);[2] 三是利用LoadVariablesNum命令,即利用Flash腳本語(yǔ)言中的LoadVariablesNum命令調(diào)用外部文本文件;[3][4][5] 四是利用XML技術(shù),即利用Flash腳本語(yǔ)言調(diào)用外部XML文件。[6][7]

前兩種方法每道題目都要在Flash源文件中占用一幀,并且題目的內(nèi)容必須在Flash源文件中才能編輯,當(dāng)需要修改練習(xí)題的內(nèi)容時(shí)必須打開(kāi)源文件,一幀一幀地修改才能完成,即如果要修改題目?jī)?nèi)容就要重新做一遍課件,不利于廣泛應(yīng)用。后兩種方法是將試題信息存放在外部文本文件或XML文件中,通過(guò)Flash讀取文本文件或XML文件中的數(shù)據(jù)將試題呈現(xiàn)給用戶(hù),而不必打開(kāi)Flash源文件一幀一幀地修改。但隨著題目總數(shù)的增加,外部文件也會(huì)隨之增加,增加到一定程度時(shí),外部文件的建立和管理都比較困難,通過(guò)調(diào)用外部文件的方法只能解決修改題目?jī)?nèi)容的困難,而無(wú)法解決隨意增添或減少題目數(shù)量的困難。因此,本文借助數(shù)據(jù)庫(kù)技術(shù),通過(guò)Flash間接調(diào)用數(shù)據(jù)庫(kù)來(lái)構(gòu)建網(wǎng)絡(luò)課程的測(cè)驗(yàn)?zāi)K。

二、設(shè)計(jì)思路

本測(cè)驗(yàn)?zāi)K主要由用戶(hù)界面文件、數(shù)據(jù)庫(kù)文件、ASP處理文件和動(dòng)作腳本四部分組成。用戶(hù)界面文件向使用者顯示試題信息、交互信息等;數(shù)據(jù)庫(kù)文件用來(lái)存放試題內(nèi)容,如題干、各備選項(xiàng)及正確答案等;利用ASP與數(shù)據(jù)庫(kù)發(fā)生交互,將數(shù)據(jù)庫(kù)中的數(shù)據(jù)動(dòng)態(tài)生成XML格式的數(shù)據(jù)文件;動(dòng)作腳本則是用戶(hù)界面和數(shù)據(jù)間通信的橋梁,它將動(dòng)態(tài)生成的XML格式的數(shù)據(jù)解析后存放在數(shù)組中,并通過(guò)界面文件將試題顯示在Flash文件中。本測(cè)驗(yàn)?zāi)K的各部分關(guān)系及其流程如圖1所示。

三、實(shí)現(xiàn)過(guò)程

本文以單選題為例介紹一下上述思路的實(shí)現(xiàn)過(guò)程。

1.創(chuàng)建用戶(hù)界面

打開(kāi)Flash軟件,在其中創(chuàng)建一影片剪輯元件,命名為question。在question中添加六個(gè)動(dòng)態(tài)文本框和四個(gè)單選按鈕組件,如圖2所示。

設(shè)置六個(gè)動(dòng)態(tài)文本框的名稱(chēng)依次為num_txt、t_txt、k1_txt、k2_txt、k3_ txt和k4_txt,分別用于顯示試題序號(hào)、試題內(nèi)容和四個(gè)備選項(xiàng)內(nèi)容。設(shè)置四個(gè)單選按鈕組件的名稱(chēng)依次為A_btn、B_btn、C_btn和D_btn。

2.設(shè)計(jì)數(shù)據(jù)庫(kù)文件

數(shù)據(jù)庫(kù)文件用來(lái)存放試題內(nèi)容,如題干、各備選項(xiàng)以及正確答案等,其各個(gè)字段名稱(chēng)、數(shù)據(jù)類(lèi)型及含義如圖3所示。

3.編寫(xiě)ASP處理文件

通過(guò)ASP將數(shù)據(jù)庫(kù)中試題數(shù)據(jù)轉(zhuǎn)換成XML文件,再由Flash前臺(tái)讀入XML文件實(shí)現(xiàn)試題的顯示。將數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)換成XML文件的核心代碼如下:

i=1

response.Write("<?xml version='1.0' encoding='utf-8'?><root>")

do while not rs.eof

response.Write("<t"&i&" key='"&rs("key")&"'><question>"&rs("t")&"</question><key1>"&rs("k1")&"</key1><key2>"&rs("k2")&"</key2><key3>"&rs("k3")&"</key3><key4>"&rs("k4")&"</key4></t"&i&">")

i=i+1

rs.movenext

loop

response.Write("</root>")

其中,rs為數(shù)據(jù)庫(kù)記錄集對(duì)象,用于存放數(shù)據(jù)庫(kù)文件中的各條數(shù)據(jù)記錄;rs("key")、rs("t")、rs("k1")、rs("k2")、rs("k3")、rs("k4")用于輸出當(dāng)前試題的正確答案、題干、選項(xiàng)A、選項(xiàng)B、選項(xiàng)C、選項(xiàng)D。上述ASP代碼命名為test.asp,轉(zhuǎn)換成的XML文件的結(jié)構(gòu)如圖4示(以?xún)傻李}為例)。

有兩點(diǎn)需注意,一是上述ASP代碼在保存時(shí)一定要選擇utf-8編碼;二是ASP文件的輸出類(lèi)型一定要是XML格式的,即在代碼中設(shè)置Response.ContentType="text/xml"。

4.編寫(xiě)AS腳本

有了用戶(hù)界面文件和動(dòng)態(tài)生態(tài)的XML數(shù)據(jù)文件,就可以在Flash中顯示試題了。在Flash中利用AS腳本將動(dòng)態(tài)生成的XML文件加載到Flash中,然后解析XML格式數(shù)據(jù),并通過(guò)進(jìn)一步編寫(xiě)腳本將試題顯示在Flash界面中。XML文件解析如圖4所示,核心腳本如下:

myxml = new XML();

myxml.ignoreWhite = true;

myxml.load("test.asp");

key_arr = new Array();//用于存放每道題目的正確答案

t_arr = new Array();//用于存放每道題目的題干及其答案選項(xiàng)

result_arr = new Array();//用于存放題目序號(hào),作用是隨機(jī)出題

mykey_arr = new Array();//用于存放用戶(hù)選擇的答案

myxml.onLoad = function(status) {

if (status) {

trace("XML文件加載成功!");

len = myxml.firstChild.childNodes.length;//題目數(shù)

tt = myxml.firstChild.childNodes;//節(jié)點(diǎn)root下的所有子節(jié)點(diǎn)構(gòu)成了一個(gè)數(shù)組

for (var i = 0; i<len; i++) {

result_arr[i] = i;//用于存放題目序號(hào),作用是隨機(jī)出題

key_arr[i] = tt[i].attributes.key;//用于存放每道題目的正確答案

t_arr[i] = new Object();

t_arr[i].question = tt[i].childNodes[0].firstChild;//用于存放每道題目的題干

t_arr[i].k1 = tt[i].childNodes[1].firstChild;//用于存放每道題目的A答案

t_arr[i].k2 = tt[i].childNodes[2].firstChild;//用于存放每道題目的B答案

t_arr[i].k3 = tt[i].childNodes[3].firstChild;//用于存放每道題目的C答案

t_arr[i].k4 = tt[i].childNodes[4].firstChild;//用于存放每道題目的D答案

}

for (var i = 0; i<len; i++) {

//隨機(jī)排列題目

tmp = random(len);

v1 = result_arr[i];

result_arr[i] = result_arr[tmp];

result_arr[tmp] = v1;

v2 = key_arr[i];

key_arr[i] = key_arr[tmp];

key_arr[tmp] = v2;

}

nextFrame();

} else {

trace("XML文件加載失??!");

}

};

stop();

在Flash界面中顯示題目的核心代碼如下:

attachMovie("question", "qu", 1,{_x:50,_y:50});//加載庫(kù)中帶有題目題干及其答案選項(xiàng)的影片剪輯

var v1 = 0;

qu.t_txt.selectable=false;

qu.t_txt.text = t_arr[result_arr[v1]].question;//顯示題干

qu.k1_txt.text = t_arr[result_arr[v1]].k1;//顯示答案選項(xiàng)A

qu.k2_txt.text = t_arr[result_arr[v1]].k2;//顯示答案選項(xiàng)B

qu.k3_txt.text = t_arr[result_arr[v1]].k3;//顯示答案選項(xiàng)C

qu.k4_txt.text = t_arr[result_arr[v1]].k4;//顯示答案選項(xiàng)D

v1++;

qu.num_txt.text="第"+v1+"題";//顯示第v1道題

……(代碼略)

5.運(yùn)行

將上文生成的swf文件插入到網(wǎng)頁(yè)中并在IIS下測(cè)試運(yùn)行。本測(cè)驗(yàn)?zāi)K在Windows XP+Flash8+IIS5.1下運(yùn)行通過(guò)。

四、結(jié)束語(yǔ)

基于Flash和數(shù)據(jù)庫(kù)技術(shù)構(gòu)建的網(wǎng)絡(luò)課程測(cè)驗(yàn)?zāi)K具有文件體積小、交互性強(qiáng)、表現(xiàn)力豐富、便于維護(hù)、測(cè)驗(yàn)內(nèi)容可實(shí)時(shí)更新等特點(diǎn),該方法對(duì)于網(wǎng)絡(luò)課程的開(kāi)發(fā)及其它Flash應(yīng)用有一定的借鑒意義。

參考文獻(xiàn):

[1]林惠文. 用Flash&Asp技術(shù)開(kāi)發(fā)無(wú)機(jī)化學(xué)網(wǎng)絡(luò)習(xí)題課件[J].計(jì)算機(jī)與應(yīng)用化學(xué),2007(3).

[2]劉海霞. 基于Flash MX的多媒體教學(xué)練習(xí)課件的制作探索[J].新課程研究·職業(yè)教育,2008(5).

[3]徐華. Flash制作動(dòng)態(tài)組卷測(cè)試系統(tǒng)的方法[J].教育信息技術(shù),2006(5).

[4]楊雙麗,丁革建. 基于Flash的簡(jiǎn)易智能題庫(kù)系統(tǒng)開(kāi)發(fā)[J].中國(guó)教育信息化,2008(10).

[5]方艷,劉永福. 應(yīng)用Flash動(dòng)作腳本語(yǔ)言制作多媒體測(cè)試課件[J].廣西輕工業(yè)學(xué)報(bào),2007(1).

[6]張培山. 基于XML的Flash選擇題測(cè)驗(yàn)?zāi)0宓难芯颗c實(shí)踐[J].信息技術(shù)教育,2006(12).

[7]趙航濤. 利用Flash和XML制作通用單選練習(xí)課件[J].中小學(xué)電教,2005(11).

(編輯:隗爽)

猜你喜歡
網(wǎng)絡(luò)課程數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
網(wǎng)絡(luò)課程設(shè)計(jì)中學(xué)習(xí)動(dòng)力培養(yǎng)策略研究
淺析混合學(xué)習(xí)模式下的教師培訓(xùn)網(wǎng)絡(luò)課程設(shè)計(jì)策略
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
宾川县| 浪卡子县| 乌拉特中旗| 肥城市| 新绛县| 岗巴县| 新郑市| 彭阳县| 城口县| 阜康市| 海盐县| 双峰县| 罗甸县| 杂多县| 万年县| 嘉峪关市| 寿宁县| 鹰潭市| 平和县| 上思县| 阳东县| 灵川县| 麻城市| 九江县| 墨江| 黄陵县| 崇州市| 静乐县| 临桂县| 鲜城| 永丰县| 花莲县| 隆安县| 淳化县| 青岛市| 吉木乃县| 安宁市| 民丰县| 中方县| 东海县| 海安县|