多課程練習自測系統(tǒng)設計 畢業(yè)論文.doc_第1頁
多課程練習自測系統(tǒng)設計 畢業(yè)論文.doc_第2頁
多課程練習自測系統(tǒng)設計 畢業(yè)論文.doc_第3頁
多課程練習自測系統(tǒng)設計 畢業(yè)論文.doc_第4頁
多課程練習自測系統(tǒng)設計 畢業(yè)論文.doc_第5頁
免費預覽已結(jié)束,剩余19頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

目 錄摘要 1前言 21 創(chuàng)作工具的選取 22 設計思想 33 系統(tǒng)總體設計 33.1 系統(tǒng)功能設計 33.2 系統(tǒng)的特點 33.2.1 整個系統(tǒng)的界面風格清新自然,具有統(tǒng)一性 33.2.2 以用戶的角度考慮,集成多種功能 43.2.3 圖文聲像并茂,簡單生動 43.2.4 強大的交互能力 43.2.5 強大的后臺題庫的自主維護能力 43.2.6 后臺題庫管理具有雙重安全保障 43.2.7 廣泛的適用性 43.3 數(shù)據(jù)庫設計 43.3.1 數(shù)據(jù)庫表單設計 43.3.2 數(shù)據(jù)庫安全設置 54 系統(tǒng)設計中的關鍵技術(shù)分析 5 4.1 系統(tǒng)首界面設計 5 4.2 練習&自測模塊設計 6 4.2.1 進入系統(tǒng)選題模塊設計 7 4.2.2 進入練習/自測模塊設計 9 4.2.3 成績模塊設計 11 4.3 后臺管理模塊的實現(xiàn) 14 4.3.1 系統(tǒng)安全性設置 14 4.3.2 題庫設置模塊設計 165 系統(tǒng)設計中的一些體會 175.1 動態(tài)鏈接數(shù)據(jù)庫 175.2 對數(shù)據(jù)庫的操作 175.3 框架圖標的大量使用 175.4 displayicon和goto函數(shù)的區(qū)別 175.5 素材的制作 175.6 系統(tǒng)外部應用程序調(diào)用 185.7 密碼以*號顯示 185.8 刪除窗口中自動生成的“file”(文件)菜單項 185.9 程序的打包 185.10 幾點感觸 196 結(jié)論 19謝辭 20參考文獻 21附錄 22多課程練習自測系統(tǒng)設計 摘要:隨著計算機技術(shù)的發(fā)展,多媒體課件廣泛應用于教學實踐中。authorware作為一個功能強大的多媒體制作工具軟件,在各個行業(yè)中,特別是教育領域中發(fā)揮著巨大的作用。本文概述了在authorware中利用odbc實現(xiàn)對access數(shù)據(jù)庫的操作來制作多課程練習自測系統(tǒng)的設計思想,并介紹了該系統(tǒng)的功能及開發(fā)系統(tǒng)所使用的關鍵技術(shù)。關鍵詞:練習自測;authorware;access;odbcdesign of multi-course on training and self-test system abstract: along with the development of computer technique, multi-media courses are applied in the practice of teaching extensively. authorware has mighty functions, especially in the educated field, authorware plays the enormous functions in each field. this paper summarizes use odbc to operate access database in authorware, by this way to design multi-course on training and self-test system, introduces the function of system and the key technique of developing system.key word: training and self-test;authorware;access;odbc前言隨著計算機多媒體技術(shù)的發(fā)展,多媒體在輔助教學中的應用越來越廣泛。傳統(tǒng)的課程練習或測試過程中,學生做題、教師批改、學生知道批改結(jié)果,需要一個較長的教學周期。開發(fā)及應用多課程練習自測系統(tǒng),可改變傳統(tǒng)的教學方式,寓教于樂,提高了教學效果,學生做完題目后計算機立即批改,即時反饋;而且測試方法靈活、測試內(nèi)容多樣,使得測試更加有效可信;測試還具有直觀性和趣味性,能夠帶動學生的學習積極性和主動性,從而提高學習效率。1 創(chuàng)作工具的選擇一個課件的優(yōu)劣決定于其集成方式和交互性能,為了高效地、有針對性地開發(fā)出一個優(yōu)秀的課件,創(chuàng)作工具的選取極為重要。多課程練習自測系統(tǒng)的開發(fā)可以通過多種軟件開發(fā)平臺來實現(xiàn)。目前在我國市場上對此系統(tǒng)的開發(fā)平臺主要有以下幾種:macromedia公司出品的authorwaremacromedia公司出品的flashborland公司出品的delphimicrosoft公司出品的visual basic(簡稱vb)microsoft公司出品的visual foxpro(簡稱vf)powersoft公司出品的powerbuilder(簡稱pb)在目前市場上這些眾多的程序開發(fā)工具中,各有各的優(yōu)點和特色,也滿足了不同用戶的需求。然而,多課程練習自測系統(tǒng)最顯著的特點就是它的集成性和交互性,authorware是目前公認的交互能力最強的多媒體著作工具之一。它可以使用交互圖標來提供11種交互方式。利用它們可以創(chuàng)作界面非常友好、人性化的多媒體課件。authorware是macromedia出品的一種多媒體制作工具,基于設計圖標和流程線為結(jié)構(gòu)的多媒體軟件編輯平臺,雖然不具有內(nèi)置數(shù)據(jù)庫,但具有許多高級軟件的共性,如dde(動態(tài)數(shù)據(jù)交換)功能,obdc(開放式數(shù)據(jù)庫連接)功能等,還具有豐富的庫函數(shù)和程序控制功能,是開發(fā)交互式應用程序的優(yōu)秀工具,是公認的最佳的多媒體集成工具。它可以使用包括圖形、圖像、文字、動畫、聲音、視頻文件在內(nèi)的多種文件,制作出精美的多媒體作品。以其方便靈活的交互、能夠輕松自如地引入和能控制幾乎所有流行媒體文件格式的優(yōu)越特點,非常適合編輯輔助測試系統(tǒng)。此外,同以上開發(fā)平臺相比,authorware還有下列優(yōu)勢:1. 軟件的普適性。功能強大,卻不需要進行復雜的編程,既適合非專業(yè)開發(fā)者使用,也適合專業(yè)開發(fā)者使用。2. 高效的多媒體集成環(huán)境它對作品的集成功能非常強,可集成并運行多種格式的媒體文件,并將許多軟件的作品引入其中,為眾多同類軟件所不及。3. 易于打包發(fā)行,控制靈活等特點。通過上述分析,最終選擇用authorware來開發(fā)設計多課程練習自測系統(tǒng)。2 設計思想采用authorware軟件與外部數(shù)據(jù)庫的接口,實現(xiàn)多媒體試題的管理和使用。即利用外部數(shù)據(jù)庫軟件存儲試題,通過authorware設計的屏幕界面表現(xiàn)試題的內(nèi)容,以增加題目數(shù)量、測試靈活性和擴充修改題目的方便性。將多媒體制作軟件authorware與數(shù)據(jù)庫軟件access相結(jié)合,用authorware多媒體開發(fā)軟件來開發(fā)前臺的界面及與用戶的交互,采用microsoft公司的access數(shù)據(jù)庫軟件作為后臺數(shù)據(jù)庫支持,用于管理和維護整個作業(yè)題庫,通過odbc數(shù)據(jù)庫驅(qū)動程序?qū)崿F(xiàn)前、后臺之間的通信,最終形成一個可以動態(tài)管理和擴充的多課程練習自測系統(tǒng)的作業(yè)題庫。另外,為了實現(xiàn)寓教于樂,勞逸結(jié)合的目的,本系統(tǒng)還集成了游戲,上網(wǎng)等功能。3 系統(tǒng)總體設計3.1 系統(tǒng)功能設計為了方便用戶的使用,可將系統(tǒng)所有功能都列在系統(tǒng)的菜單欄上,先將菜單欄所有選項排列如下:練習&測試休閑娛樂外部命令后臺管理幫助進入系統(tǒng)界面首界面進入系統(tǒng)成績記錄退出游戲上網(wǎng)題庫設置計算器記事本登錄后臺注銷登錄修改用戶名/口令媒體播放機收發(fā)郵件瀏覽器新建題庫刪除題庫關于幫助圖3-1 系統(tǒng)功能結(jié)構(gòu)圖通過系統(tǒng)的菜單選項可以看出,此系統(tǒng)不但實現(xiàn)了用戶練習自測的關鍵功能,還可以自主進行后臺數(shù)據(jù)庫的維護工作,并集成了休閑娛樂,外部命令及幫助多種功能。具體內(nèi)容可參看有關系統(tǒng)介紹的網(wǎng)站,網(wǎng)址為:/d0000/2006biyesheji/xuxianxian/web/index.htm3.2 系統(tǒng)的特點3.2.1 整個系統(tǒng)的界面風格清新自然,具有統(tǒng)一性多媒體課件一個重要的特點就是較好的圖片處理。對于此系統(tǒng)來說,系統(tǒng)的界面風格符合練習自測的主題,而且界面友好,操作簡單;其次,考慮到用戶長時間對著電腦做題,對視力會有一定的影響,所以采用藍色的色調(diào),可以起到緩解視疲勞的作用。3.2.2 以用戶的角度考慮,集成多種功能在設計此系統(tǒng)之初,首先以用戶的角度充分考慮。一般學習者使用計算機還可能進行的操作有:聽音樂,上網(wǎng)找資料,有時需要用記事本存一些文字資料,有時更需要用計算器算題,學習之余還可以玩會兒游戲為了方便用戶使用,所以將這些功能都集成在了此系統(tǒng)上,用戶只需用鼠標輕輕點擊就可以實現(xiàn)自己需要的操作,大大節(jié)省了用戶的時間。3.2.3 圖文聲像并茂,簡單生動用戶在練習的過程中,可以通過判斷正誤的方式來檢查自己對知識的掌握程度。這時界面總會出現(xiàn)一個舉著顯示“正確”或“錯誤”小牌的頭像告訴用戶答題是否正確。系統(tǒng)轉(zhuǎn)入用戶答題情況界面時都配以相應的聲音,增加的多種界面過渡效果,都使系統(tǒng)顯得生動活潑。3.2.4 強大的交互能力系統(tǒng)提供了強大的交互能力,學習內(nèi)容可以由用戶自行選擇。而且用戶可以通過菜單、按鈕、列表框、下拉列表框、文本框等實現(xiàn)與系統(tǒng)的交互,系統(tǒng)能夠快速響應,返回給用戶一定的信息。3.2.5 強大的后臺題庫的自主維護能力本系統(tǒng)設計了操作簡單、界面清晰的題庫維護模塊,便于用戶管理。這樣對于不熟悉計算機操作的人員,在系統(tǒng)輸入正確的權(quán)限口令后就可以脫離access編輯環(huán)境,直接在系統(tǒng)中進行后臺題庫的增、刪、改等工作。而對于熟悉access基本操作的人,可以直接打開后臺題庫,成批導入題庫數(shù)據(jù)或?qū)?shù)據(jù)進行批量修改。3.2.6 后臺題庫管理具有雙重安全保障本系統(tǒng)不僅適用于學生對平時所學課程的練習、自測,還適用于教師進行隨堂測驗,所以安全性的問題非常重要。為了防止學生在隨堂測驗時進入系統(tǒng)后臺管理模塊對題庫進行查看或破壞性操作,系統(tǒng)增加了登錄后臺模塊,只有擁有正確用戶名及密碼的教師才可以進入后臺管理模塊,實現(xiàn)對后臺題庫的管理操作。另外,為了防止學生以打開access數(shù)據(jù)庫的方式進行查看題庫或更改系統(tǒng)登錄密碼等操作,所以也將access數(shù)據(jù)庫進行了加密設置。后臺題庫管理的雙重安全設置,為教師進行隨堂測驗提供了有利的安全保障。3.2.7 廣泛的適用性后臺的新建課程功能,適合學生平時進行各種課程的練習和自測;安全的后臺管理和成績記錄功能更適合教師進行隨堂測驗,大大推進了學校的無紙化教學進程。3.3 數(shù)據(jù)庫設計題庫建立的好壞,是否科學,直接關系到練習自測系統(tǒng)的優(yōu)劣。首先用access建立名為tiku.mdb的多表單數(shù)據(jù)庫,并將此數(shù)據(jù)庫存在目錄文件夾中。3.3.1 數(shù)據(jù)庫表單設計數(shù)據(jù)庫各表結(jié)構(gòu)如下方所示:表3-2 課程表字段名稱數(shù)據(jù)類型說明id自動編號課程編號kc文本課程名稱表3-3 成績表字段名稱數(shù)據(jù)類型說明id自動編號用戶保存成績后自動生成score數(shù)字成績kc文本用戶選擇的課程timu_num數(shù)字用戶輸入的試題數(shù)量type文本用戶選擇的題型表3-4 passing表字段名稱數(shù)據(jù)類型說明name文本用戶名password文本密碼由于多課程練習自測系統(tǒng)中的后臺中有新建課程的功能,所有課程表可以動態(tài)生成,所以這里只將其一結(jié)構(gòu)列在下方,其他課程表結(jié)構(gòu)類似。表3-5 數(shù)據(jù)結(jié)構(gòu)表字段名稱數(shù)據(jù)類型說明id自動編號試題編號tx文本題型timu備注題目daan文本答案dt文本用戶做題時選擇的答案3.3.2 數(shù)據(jù)庫安全設置為了防止用戶進入數(shù)據(jù)庫進行數(shù)據(jù)信息的查看,修改等破壞性的操作,可對access數(shù)據(jù)庫進行加密操作。將題庫以獨占方式打開后,設其初始密碼為:“admin”,這樣用戶要想訪問數(shù)據(jù)庫必須鍵入正確的密碼才可以對數(shù)據(jù)庫中的表單等內(nèi)容進行更改。用戶打開數(shù)據(jù)庫時出現(xiàn)的輸入密碼提示框界面如下:圖3-6 輸入密碼提示框4 系統(tǒng)設計中的關鍵技術(shù)分析4.1 系統(tǒng)首界面設計此界面主要采用的是按鈕交互的方式實現(xiàn)了用戶與系統(tǒng)之間的交互。其界面與流程圖如下:圖4-1 首界面 圖4-2 首界面流程圖用戶點擊“進入系統(tǒng)”按鈕進入練習&自測模塊。為了防止用戶不小心點擊“退出系統(tǒng)”按鈕而退出系統(tǒng),所以在程序中編入了消息框代碼。用戶點擊“退出系統(tǒng)”后將出現(xiàn)消息框詢問用戶是否退出系統(tǒng),用戶選擇“是”,系統(tǒng)將安全退出,選擇“否”將取消設置。此系統(tǒng)中所有“退出系統(tǒng)”按鈕,都設置了此功能。其代碼如下:xuan:=systemmessagebox(windowhandle,你確定要退出系統(tǒng)嗎?,警告,36)-6=yes,7=noif xuan=6 thenquit()end if4.2 練習&自測模塊設計用戶可以在本系統(tǒng)進行練習和自測才是此系統(tǒng)的核心所在。authorware不僅要實現(xiàn)與后臺access數(shù)據(jù)庫的調(diào)用功能,還要實現(xiàn)系統(tǒng)隨機出題,用戶答題,系統(tǒng)判斷,成績保存及顯示等功能,所以對于這部分的設計顯得尤為重要。由于考慮到程序設計的復雜性,所以首先設計了這部分模塊的主要流程,其流程圖如下:進入系統(tǒng)選題界面選擇課程&填寫題數(shù)測試退出練習成績保存系統(tǒng)自動評分返回上一題提交下一題返回上一題提交判斷正誤下一題下一題正確率=60%界面正確率num then -如果用戶輸入的題數(shù)大于此課程題型的題數(shù)systemmessagebox(windowhandle, 輸入題目數(shù)量超過范圍,請重新輸入!, 錯誤!, 16) - 1=ok goto(iconid進入系統(tǒng))-系統(tǒng)進入“進入系統(tǒng)”設計圖標else if data20|data2= then-如果用戶輸入的題數(shù)小于0或為空systemmessagebox(windowhandle, 輸入題目數(shù)量小于范圍,請重新輸入!, 錯誤!, 16) - 1=ok goto(iconid進入系統(tǒng))else if data1data2 then-如果用戶輸入的題數(shù)不是整數(shù)systemmessagebox(windowhandle, 請重新輸入整數(shù)形式!, 錯誤!, 16) - 1=ok goto(iconid進入系統(tǒng)) -系統(tǒng)進入“進入系統(tǒng)”設計圖標end if為了使每次開始練習或自測時的題目都不相同,通??梢詫⒊鲱}方式設為隨機出題,所以在練習和測試的兩個按鈕交互中的計算圖標里,都編入了隨機抽題的程序語句。通過系統(tǒng)函數(shù)random來產(chǎn)生隨機數(shù),使用repeat循環(huán)語句來產(chǎn)生多個隨機數(shù)。其源程序如下:timu_list:= -定義選擇組repeat with i:=1 to data1 -從1和用戶輸入的題數(shù)之間循環(huán)提取記錄 num1:=random(1, num, 1)-獲得第一個介于1和用戶抽取課程題型的題數(shù)之間的隨機數(shù) num:=num-1 timu:=getline(timu_id,num1,num1,r)-把符合條件的記錄存入數(shù)組timu中 timu_id:=deleteline(timu_id, num1 , num1 , r)-從數(shù)組中刪除調(diào)用過的記錄 addlinear(timu_list, timu)-把數(shù)組timu插入到timu_list線性列表中end repeat4.2.2 進入練習/自測模塊設計用戶只有通過進入系統(tǒng)選題模塊對題目做出正確的選擇操作后,才可以進入此模塊。而且此模塊完成的是人機交互的關鍵所在。本系統(tǒng)只設計了三種題型單選、多選及判斷。如果用戶想在以后的練習或測試中不分題型,只按課程進行,只需在進入系統(tǒng)選題模塊中多加入一項“混合題型”按鈕交互,并在進入練習/自測模塊中的框架圖標中多加入一項“混合”群組圖標,最后拖入相應的設計圖標并編入相應的代碼即可。雖然系統(tǒng)現(xiàn)在只設計了三種題型,但三種題型的程序設計都很相似,而且練習和自測的區(qū)別只在于自測時用戶做題的過程中不能判斷正誤,所以這里只選取了單選練習作一介紹。其界面及流程如下:圖4-6 單選練習界面 圖4-7 單選練習流程圖此模塊主要以按鈕交互的形式來實現(xiàn)人機交互的功能。界面上的題目和題數(shù)都是通過變量的傳遞來實現(xiàn),并通過“上一題”、“下一題”按鈕來實現(xiàn)新試題的顯示。用戶選擇的答案可以通過update更新語句存入到用戶選擇的課程表中的dt字段中,dt字段和系統(tǒng)答案daan字段中的值進行比較,點擊“判斷正誤”按鈕時,系統(tǒng)會給出相應的判斷,并給出正確答案。點擊“提交”按鈕,系統(tǒng)進入成績模塊。第一題即初始題目中主要代碼如下:xz_dan:=-設用戶選擇為空update_dan:=update kmu set dt=xz_danupdate_dan:=odbcexecute(odbchandle, update_dan)odbcclose(odbchandle)-將用戶所選擇課程表中的字段名為dt中的記錄更新為空xz_timu:=select timu from kmu where id=xz_tihaoxz_timu:=odbcexecute(odbchandle,xz_timu)odbcclose(odbchandle)-系統(tǒng)抽題用戶答題,以選項a為例主要代碼如下:checkeda.選 項:=true -將a.選 項設置為選中狀態(tài)checkedb.選 項:=false -將b.選 項設置為選中狀態(tài)checkedc.選 項:=false -將c.選 項設置為選中狀態(tài)checkedd.選 項:=false -將d.選 項設置為選中狀態(tài)xz_dan:=a-如果用戶選擇a.選 項,則變量xz_dan賦值為adbconnstring:=driver=microsoft access driver (*.mdb);dbq=filelocationtiku.mdb;uid=;pwd=admin;odbchandle:=odbcopendynamic(windowhandle,errorvar,dbconnstring)-動態(tài)鏈接到數(shù)據(jù)庫tiku.mdbupdate_dan:=update kmu set dt=xz_dan where id=xz_tihaoupdate_dan:=odbcexecute(odbchandle, update_dan)odbcclose(odbchandle)-將用戶所選課程表對應題目的字段名為dt的值更新為a“上一題”按鈕主要代碼如下:checkeda.選 項:=falsecheckedb.選 項:=falsecheckedc.選 項:=falsecheckedd.選 項:=false-將a、b、c、d四個選項按鈕設置為未選種狀態(tài)num_xz:=num_xz-1 -將用戶做題數(shù)目減一xztm:=timu_listnum_xz -從數(shù)組中取出用戶答題idxz_tihao:=xztm -將用戶答題id賦值給zx_tihao參數(shù)dbconnstring:=driver=microsoft access driver (*.mdb);dbq=filelocationtiku.mdb;uid=;pwd=admin;odbchandle :=odbcopendynamic(windowhandle, errorvar, dbconnstring)-動態(tài)鏈接到數(shù)據(jù)庫tiku.mdbxz_timu:=select timu from kmu where id=xz_tihaoxz_timu:=odbcexecute(odbchandle, xz_timu)-找出用戶選擇課程表中的題目xz_daan:=select dt from kmu where id=xz_tihaoxz_daan:= odbcexecute(odbchandle, xz_daan)-找出用戶選擇課程表中題目的用戶答題時選擇的答案 odbcclose(odbchandle) -關閉數(shù)據(jù)庫xz_daan:=xz_daan.選 項checkedxz_daan:=true-設置用戶選擇的答案按鈕為選中狀態(tài)“下一題”按鈕主要代碼如下:checkeda.選 項:=falsecheckedb.選 項:=falsecheckedc.選 項:=falsecheckedd.選 項:=false-將a、b、c、d四個選項按鈕設置為未選種狀態(tài)num_xz:=num_xz+1 -將用戶做題數(shù)目加一xztm:=timu_listnum_xz -從數(shù)組中取出用戶答題idxz_tihao:=xztm -將用戶答題id賦值給zx_tihao參數(shù)dbconnstring:=driver=microsoft access driver (*.mdb);dbq=filelocationtiku.mdb;uid=;pwd=admin;odbchandle:=odbcopendynamic(windowhandle,errorvar,dbconnstring)-動態(tài)鏈接到數(shù)據(jù)庫tiku.mdbxz_timu:=select timu from kmu where id=xz_tihaoxz_timu:=odbcexecute(odbchandle, xz_timu)-找出用戶選擇課程表中的題目xz_daan:=select dt from kmu where id=xz_tihaoxz_daan:= odbcexecute(odbchandle, xz_daan)odbcclose(odbchandle)-找出用戶選擇課程表中題目的用戶答題時選擇的答案 xz_daan:=xz_daan.選 項checkedxz_daan:=true-設置用戶選擇的答案按鈕為選中狀態(tài)將“判斷正誤”的按鈕激活條件設為anniu=練習,這樣用戶選擇自測時,此按鈕將不在此界面顯示。另外,將“上一題”按鈕的激活條件設為num_xz1,“下一題”按鈕的激活條件設為num_xzxz_list_num。這樣用戶做第一題的時候“上一題”按鈕為非激活狀態(tài),做最后一題的時候,“下一題”為非激活狀態(tài)。4.2.3 成績模塊設計 系統(tǒng)自動評分模塊設計用戶在做題的過程中如果點擊了“提交”按鈕,系統(tǒng)將會自動計算出用戶的答題成績,并通過變量zqcj,cwcj,wzcj,xz_list_num及zql顯示出用戶的答題情況。如果計算出zql(正確率)大于等于60,則跳入及格界面顯示,反之跳入不及格界面顯示。其界面與流程如下:圖4-8 及格界面 圖4-9 不及格界面 圖4-10 系統(tǒng)自動評分流程圖其計算得分的主要代碼如下:zqcj:=0 -將用戶答對題數(shù)的初值設為0cwcj:=0 -將用戶答錯題數(shù)的初值設為0wzcj:=0 -將用戶未做題數(shù)的初值設為0xz_list_num:=0 -將用戶選擇題數(shù)的初值設為0zql:=0 -將用戶做題正確率的初值設為0dbconnstring:=driver=microsoft access driver (*.mdb);dbq=filelocationtiku.mdb;uid=;pwd=admin;odbchandle :=odbcopendynamic(windowhandle, errorvar,dbconnstring)-動態(tài)鏈接到數(shù)據(jù)庫tiku.mdbxz_list_num:=listcount(timu_list)repeat with t:=1 to xz_list_num xztm:=timu_listt xz_tihao:=xztm -得到用戶答過題目的idxz_cj:= select daan,dt from kmu where id=xz_tihaoxz_cj:=odbcexecute(odbchandle, xz_cj)zqda:=getline(xz_cj,1,1,t) -獲得用戶答過題目的正確答案xsda:=getline(xz_cj,2,2,t) -獲得用戶答題時選擇的答案if zqda=xsda then -如果用戶答題答案和正確答案相等 zqcj:=zqcj+1 -將用戶答對的題數(shù)加一else if zqdaxsda then -如果用戶答題答案和正確答案不相等 cwcj:=cwcj+1 -將用戶答錯的題數(shù)加一 if xsda= then -如果用戶答題時未選擇答案 wzcj:=wzcj+1 -將用戶未做的題數(shù)加一 end ifend ifend repeat -結(jié)束循環(huán)odbcclose(odbchandle)-關閉數(shù)據(jù)庫zql:=100*zqcj/xz_list_num -計算出用戶答題正確率if zql=60 then -如果用戶答題正確率大于等于60 displayicon(iconid及格) -系統(tǒng)顯示及格界面 if soundplaying=false then mediaplay(iconid及格音樂) -播放及格音樂 end ifelse displayicon(iconid不及格) -系統(tǒng)顯示不及格界面 if soundplaying=false then mediaplay(iconid不及格音樂) -播放不及格音樂 end ifend if 成績紀錄模塊設計此模塊可以完成用戶歷次答題的記錄顯示,刪除功能。其界面與流程如下:圖4-11 成績記錄界面 圖4-12 成績記錄流程圖如果用戶在“用戶答題情況成績模塊”中選擇了“保存成績”按鈕,用戶答題成績及相關記錄將自動存入數(shù)據(jù)庫中的“成績”表單里。其主要代碼如下:add_chengji:=insert into 成績 (score,kc,timu_num,type) values (zql,kmu,xz_list_num,type&anniu)add_chengji:=odbcexecute(odbchandle, add_chengji)odbcclose(odbchandle)而且此模塊通過變量cj將用戶每次練習或測試后保存的成績及相關記錄以成績的降序排列顯示在界面上。其主要代碼如下:sqlstr:=select * from 成績 order by score desccj:=odbcexecute(odbchandle, sqlstr)odbcclose(odbchandle)另外,用戶每保存一次做題結(jié)果,系統(tǒng)就會自動給用戶分配一個編號,這樣下去,用戶答題記錄將會無限顯示,所以這里設計了用戶答題記錄刪除功能,用戶可以在文本框的控件中輸入要刪除的編號,再點擊“刪除記錄”按鈕,此條記錄將全部刪除。4.3 后臺管理模塊的實現(xiàn) 一個好的設計不僅要實現(xiàn)其練習或自測的目的,后臺的動態(tài)管理也很重要。后臺管理是面向系統(tǒng)管理者的模塊,它主要用來實現(xiàn)對系統(tǒng)題庫的動態(tài)管理,用戶可以很方便地編輯試題和維護試題庫,實現(xiàn)了用戶和系統(tǒng)的動態(tài)交互功能。其結(jié)構(gòu)設計如下:用戶登錄后臺注銷登錄修改用戶名/口令題庫設置新建題庫刪除題庫新增修改刪除圖4-13 后臺管理模塊流程圖4.3.1 系統(tǒng)安全性設置為了防止非授權(quán)用戶對后臺題庫進行題庫查看或其他破壞性操作,所以將系統(tǒng)增加了登錄后臺的模塊。先將其初始密碼設置成“admin”,用戶可以通過點擊“后臺管理”菜單下的子菜單“修改用戶名/口令”或直接打開aceess數(shù)據(jù)庫中的passing表對用戶名及口令的進行修改。其登錄界面及流程如下:圖4-14 后臺管理模塊流程圖圖4-15 后臺管理模塊流程圖用戶只有在登錄狀態(tài)下才可以進行“修改用戶名/口令”、“題庫設置”、“新建題庫”及“刪除題庫”的功能。為了方便編程,我將系統(tǒng)登錄后的狀態(tài)定義為login=true,如果login=true,系統(tǒng)將再次進入登錄界面要求用戶登錄后,才可以進行其他后臺操作?!按_定”按鈕主要代碼如下:name:=getspriteproperty(用戶名,#value)password:=getspriteproperty(密碼,#value)-分別從兩個控件中得到用戶輸入的用戶名及密碼dbconnstring:=driver=microsoft access driver (*.mdb);dbq=filelocationtiku.mdb;uid=;pwd=admin;odbchandle :=odbcopendynamic(windowhandle, errorvar, dbconnstring)-動態(tài)鏈接數(shù)據(jù)庫find_name:=select name from passingfind_password:=select password from passingfind_name:=odbcexecute(odbchandle,find_name)find_password:=odbcexecute(odbchandle,find_password)-分別找到數(shù)據(jù)庫中passsing表里的用戶名及密碼odbcclose(odbchandle) -關閉數(shù)據(jù)庫if find_passwordpassword|find_namename then dl:=systemmessagebox(windowhandle, 你輸入的用戶名或密碼有誤 。rr請重新確認輸入 !, 錯誤, 17) - 1=ok, 2=cancel if dl=1 then goto(iconid登錄后臺界面2) else exit end if end if-判斷登錄密碼是否正確,并給出相應的操作login:=truegoto (iconid主界面背景)-系統(tǒng)狀態(tài)為登錄,系統(tǒng)進入首界面4.3.2 題庫設置模塊設計由于后臺管理的功能模塊過多,而“題庫設置”是重點,所以在此僅將“題庫設置”模塊做介紹。圖4-16 題庫設置界面 圖4-17 題庫設置流程圖從程序流程圖界面就可以看出,“題庫設置”模塊的功能實現(xiàn)主要是以控件及事件、按鈕交互圖標來完成。用戶選擇課程,通過事件交互響應,sql語句將從數(shù)據(jù)庫相應的課程表中抽取所有的試題id并顯示在題目id列表框中;用戶再次點擊任一題目id,sql語句再次從數(shù)據(jù)庫提取滿足條件的試題,并將其內(nèi)容分別顯示在相應的控件里。因為只有在題目選中的情況下才可以進行試題的修改和刪除,所以將“修改”和“刪除”的激活條件設為get_id。因為只有在可編輯的狀態(tài)下,用戶才可以保存自己對題庫的新增、修改操作,所以在“新增”和“修改”按鈕交互下的計算圖標里,我都編入了modify=true的代碼,并將“保存”和“取消編輯”按鈕的激活條件都設為了modify=true。這樣用戶新增加或修改一道試題后按“保存”按鈕,試題才會自動保存在數(shù)據(jù)庫相應的課程表中。其中,以單選題為例,在“保存”按鈕下的計算圖標中,新增試題主要代碼如下:if modi=new then -如果用戶選擇新增if type=1 then -如果用戶選擇單選update:=insert into kcname (timu,daan,tx) values (timu,danx_daan,type)end ifupdate:=odbcexecute(odbchandle, update)-將用戶選擇下拉列表框的課程表中插入新的試題繼續(xù)以單選題為例,修改試題的代碼如下:if modi=mod then -如果用戶選擇修改if type=1 then -如果用戶選擇單選update:=update kcname set timu=timu,daan=danx_daan,tx=type where id=get_idend ifupdate:=odbcexecute(odbchandle, update)-將用戶所選課程試題的相關信息更新為用戶輸入的信息5 系統(tǒng)設計中的一些體會5.1 動態(tài)鏈接數(shù)據(jù)庫之前我用很多種方法來配置數(shù)據(jù)源,但一將此系統(tǒng)文件換個存儲路徑,就不能與數(shù)據(jù)庫實現(xiàn)正常對接了,所以我最終選擇用動態(tài)鏈接數(shù)據(jù)庫的方式實現(xiàn)authorware與odbc數(shù)據(jù)源的對接功能。其代碼如下:dbconnstring:=driver=microsoft access driver (*.mdb);dbq=filelocationtiku.mdb;uid=;pwd=admin;odbchandle :=odbcopendynamic(windowhandle, errorvar,dbconnstring)這里值得說明的一點是:由于aceess數(shù)據(jù)庫進行了加密設置,所以編程時不能忘了將該數(shù)據(jù)庫源合法用戶的對應密碼“admin”鍵入,只有鍵入了正確的密碼,系統(tǒng)才可以與數(shù)據(jù)庫的實現(xiàn)對接。如果用戶忘記了access數(shù)據(jù)庫的密碼,也可以打開系統(tǒng)源程序,并在上述代碼中查看。5.2 對數(shù)據(jù)庫的操作由于此系統(tǒng)最大的特點就是與數(shù)據(jù)庫的交互,所以編程期間有大量與數(shù)據(jù)庫之間的操作交互。由于authorware并沒有提供對數(shù)據(jù)庫操作的系統(tǒng)函數(shù),因此這里需要用到authorware安裝時自帶的第三方用戶自定義函數(shù)odbc.u32。通過調(diào)用它的odbcopendynamic()函數(shù)打開指定的數(shù)據(jù)庫,用odbcexecute()函數(shù)和相關sql語句完成對數(shù)據(jù)庫的操作,最后用odbcclose()函數(shù)關閉數(shù)據(jù)庫,即可完成依次對數(shù)據(jù)庫的操作。而且,每調(diào)用一個數(shù)據(jù)庫就需要同時使用這三個函數(shù),在調(diào)用第二個數(shù)據(jù)庫之前必須關閉前一個數(shù)據(jù)庫,否則數(shù)據(jù)庫操作會失敗。5.3 框架圖標的大量使用由于authorware的一般程序流程是這樣安排的,做一些工作擦除再做一些工作擦除,這樣的流程非常簡單但是存在著很大的問題。比如要調(diào)整流程的結(jié)構(gòu)很麻煩,還有流程線太長了以后不方便操作。每次都要使用擦除,特別是用了交互以后還要制作退出功能。如果使用的時候想要跳回前面一步,有時非編程不可。所以在此系統(tǒng)中我使用了大量的框架圖標,再通過goto (iconidicontitle)和displayicon(iconidicontitle)函數(shù)跳轉(zhuǎn)到“icontitle”指定的設計圖標中,大大降低了程序的復雜性。5.4 displayicon和goto函數(shù)的區(qū)別在編寫程序的過程中,總是將displayicon(iconidicontitle)函數(shù)和goto (iconidicontitle)函數(shù)的區(qū)別分不清,所以經(jīng)常會出現(xiàn)一些調(diào)用的錯誤,后來經(jīng)過總結(jié)發(fā)現(xiàn):displayicon只顯示圖標,顯示完繼續(xù)執(zhí)行當前圖標下的內(nèi)容,而goto則直接轉(zhuǎn)到別的圖標處執(zhí)行。5.5 素材的制作photoshop是一款功能強大的圖形、圖像處理軟件,因此,本系統(tǒng)中的所有圖片均采用photoshop軟件進行處理,這樣既美化了界面,也增強了其立體感。較好的圖片處理和藍色格調(diào)使整個課件風格顯得清新自然,并具有統(tǒng)一性。游戲界面中的gif動畫則采用imageready制作,簡單的動態(tài)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論