VFP在線學習系統(tǒng)的設計與實現(xiàn)論文_第1頁
VFP在線學習系統(tǒng)的設計與實現(xiàn)論文_第2頁
VFP在線學習系統(tǒng)的設計與實現(xiàn)論文_第3頁
VFP在線學習系統(tǒng)的設計與實現(xiàn)論文_第4頁
VFP在線學習系統(tǒng)的設計與實現(xiàn)論文_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE37摘要在現(xiàn)代的科學信息技術之前,傳統(tǒng)的教學模式已顯露出它尚存的不足之處。隨著科學信息技術飛速發(fā)展,網(wǎng)絡技術的廣泛應用,網(wǎng)上在線學習作為一種新的教學模式也隨之孕育而生。這種新的教學模式,能很好彌補傳統(tǒng)模式存在不足,優(yōu)化教學資源,改善教學環(huán)境,提高教學效率。本次畢業(yè)設計,就是對在線學習模式的一次深刻的探索研究,并在此基礎之上,在DreamwerverMX開發(fā)環(huán)境中,利用ASP,VBbscript、Javascript腳本語言,結合SQLServer2000后臺數(shù)據(jù)庫的運用,開發(fā)出一個操作簡易,界面清晰,具有在線教案管理、在線學習交流、在線作業(yè)管理、在線考試管理、在線用戶信息管理等多種功能的在線學習系統(tǒng)。在該系統(tǒng)的設計實現(xiàn)過程中,主要是以VFP課程在線學習為例,為教師與學生提供一個功能齊全、實用性強的VFP課程在線學習平臺。關鍵詞:在線學習,VFP,DreamweaverMX,SQLServer,ASPABSTRACTThetraditionalmodeofteachinghasshownitsremainingdisadvantagesbeforethemodernscienceandinformationtechnology.Withtherapiddevelopmentofscienceandinformationtechnologyandthewidelyapplicationofnetworktechnology,onlinelearningasanewteachingmodelemerges.Thisnewmodeofteachingcanmakeupthedeficienciesofthetraditionalmodel,optimizeteachingresources,promotetheteachingenvironmentandimproveteachingefficiency.Thegraduationprojectisaprofoundexplorationandresearchofon-linelearningmodel,basedonwhich,asimplyoperatedwithclearinterfacestudysiteincludingonlinemanagementsystem,onlinelearningexchanges,onlinehomeworkmanagement,onlinetestmanagement,onlineuserinformationmanagementandotherfunctionsisdevelopedaccordingtoASP,VBbscript,JavascriptscriptinglanguageandSQLServer2000fordatabaseapplicationinDreamwerverMXdevelopmentenvironment.Duringthedesignandimplementationofthelearningwebsite,anonlinelearningplatformwithfunctionalandpracticalVFPcourseswillbeprovidedforteachersandstudentsbasedonthesampleofonlineleaningofVFPcourses.Keywords:Onlinelearning,VFP,DreamweaverMX,SQLServer,ASP目錄摘要 IABSTRACT II第1章引言 11.1VFP在線學習系統(tǒng)開發(fā)背景與意義 11.1.1背景 11.1.2意義 11.2研究內容 2第2章開發(fā)環(huán)境簡介 32.1Dreamweaver簡介 32.2ASP語言環(huán)境簡介 32.3IIS簡介 42.4ODBC數(shù)據(jù)庫訪問技術 42.5腳本語言的簡介 52.5.1JavaScript腳本語言 52.5.2BScript腳本語言 52.6本章小結 5第3章系統(tǒng)概述 63.1功能需求分析與設計 63.2實體——聯(lián)系圖 63.3網(wǎng)站的邏輯方案 93.4開發(fā)過程分析 103.5數(shù)據(jù)庫設計 113.5.1數(shù)據(jù)表的概要說明 113.5.2主要數(shù)據(jù)表的結構說明 123.6本章小結 15第4章VFP學習網(wǎng)站的總體設計 164.1網(wǎng)站基于B/S體系 164.2網(wǎng)站功能模塊結構的設計 174.3本章小結 18第5章系統(tǒng)詳細設計與實現(xiàn) 195.1關鍵知識點介紹 195.1.1模板 195.1.2openScript函數(shù) 195.1.3Lyfupload文件上載組件 195.1.4頁面導航條 205.1.5分頁顯示 215.1.6數(shù)據(jù)庫中的數(shù)據(jù)表字段導入到EXCEL表 215.2注冊和登錄模塊 215.3教師管理模塊 225.3.1添加教師信息功能實現(xiàn) 235.3.2修改教師信息功能實現(xiàn) 235.3.3刪除教師信息功能實現(xiàn) 245.3.4查詢教師信息功能實現(xiàn) 245.3.5教師信息轉換EXCEL表保存功能 245.3.6管理員對教師留言功能實現(xiàn) 245.4學生管理模塊 255.5教學資料管理模塊 255.5.1教學資料管理模塊教師端功能實現(xiàn) 255.5.2教學資料管理模塊學生端功能實現(xiàn) 265.5.3PPT教案的下載學習功能 275.6考試管理模塊 285.6.1考試管理模塊教師端實現(xiàn) 285.6.2考試管理模塊學生端實現(xiàn) 335.7作業(yè)管理模塊 365.7.1發(fā)布作業(yè)功能實現(xiàn) 365.7.2刪除作業(yè)功能實現(xiàn) 365.7.3下載作業(yè)功能實現(xiàn) 365.7.4上交作業(yè)功能實現(xiàn) 375.7.5批閱作業(yè)功能實現(xiàn) 375.8留言板模塊 385.8.1留言板學生端的實現(xiàn) 385.8.2留言板教師端的實現(xiàn) 395.8.3留言板管理員端的實現(xiàn) 405.9公告欄模塊 405.10答疑教室模塊 415.10.1答疑教室學生端的實現(xiàn) 415.10.2答疑教室教師端的實現(xiàn) 415.11討論區(qū)模塊 425.12個人信息管理模塊 445.13調查管理模塊 445.13.1學生端的實現(xiàn) 445.13.2教師端的實現(xiàn) 445.13.3管理員端的實現(xiàn) 445.14本章小結 45第6章結束語 46致謝 47參考文獻 48第1章引言1.1VFP在線學習系統(tǒng)開發(fā)背景與意義1.1.1背景隨著知識經(jīng)濟的到來,人們的學習模式受到了前所未有的沖擊,各種新的學習模式如潮水般涌現(xiàn),在所有學習模式中,最具有沖擊力的便是隨著網(wǎng)絡技術發(fā)展而出現(xiàn)的網(wǎng)絡化學習,又稱在線學習。它是通過在網(wǎng)上建立教育平臺,學員應用網(wǎng)絡進行學習的一種全新方式。這種學習方式是由多媒體網(wǎng)絡學習資源、網(wǎng)上學習社區(qū)及網(wǎng)絡技術平臺構成的全新的網(wǎng)絡學習環(huán)境。目前,互聯(lián)網(wǎng)正以驚人的速度發(fā)展,其應用的領域幾乎無所不包!人們紛紛上網(wǎng)學習,期望能更有效、更便捷地獲取對自己有用的知識[1]。E-Learning在線學習是一種新型的學習方式。在倡導“自主學習”、“協(xié)作學習”、“繼續(xù)學習”、“終身學習”的今天,越來越多的人加入到E-Learning在線學習的行列中,成為新型學習方式的實踐者和受益者。也許,在不遠的將來,ELearning在線學習將是學習者獲取知識、開闊視野、增長才干最便捷和最有效的途徑[1]。利用網(wǎng)絡為學生提供一個學習的園地,定位于在校學生學習交流的平臺,其面向對象為在校學生。就硬件環(huán)境而言,網(wǎng)絡已經(jīng)基本普及,學生對象的電腦擁有數(shù)也達到了進行網(wǎng)上交流的基本要求,通訊條件可以滿足要求;在青年人對新生事物的接受速度快,工作生活節(jié)奏高,并能充分利用網(wǎng)絡,思想意識形態(tài)上的條件也具備[2]。1.1.2意義在線學習系統(tǒng)為眾多的學習者提供了及時的、個性化的學習機會。在線學習環(huán)境突破了時間和空間的限制,具有自主性、協(xié)作性、非線性、間接性、交互性和開放性等優(yōu)點[3]。在國家教育部對高等教育中信息技術的要求里,要求各高校要使學生掌握基本的計算機操作技能,掌握程序設計的基本概念。針對這個要求,各高校一般都對非計算機專業(yè)的學生開設一門計算機基礎操作(也就是Windows,Word,Excel之類的課程)和一門與程序設計有關的課程(我們學校根據(jù)專業(yè)不同,開設有C語言,VFP數(shù)據(jù)庫操作,VB三門課程)。VFP課程主要是讓學生掌握一些數(shù)據(jù)庫的基本概念和一些簡單的程序設計概念,它的內容比較多,因此僅僅在課堂上的學習時間是不夠學者學好VFP這門課程的,而本系統(tǒng)的設計與實現(xiàn),可以為VFP的學習者另外提供一個簡單,易懂的學習空間,這樣他們不僅在學??梢詫W到相關知識而且在家也可以通過網(wǎng)上來繼續(xù)學習,就可以方便大家,同時還可以提高人們的學習興趣。1.2研究內容學習網(wǎng)站的建設需要將信息技術與VFP課程內容整合在一起,這樣才能充分發(fā)揮信息技術開放性、交互性、共享性、超媒體和大容量的優(yōu)勢。圍繞課程的教學目標組織各種學習資源,創(chuàng)設學習情境,使學習者通過學習網(wǎng)站的學習全面掌握課程的知識、技能,并形成運用知識技能分析、解決問題的能力。因此建設該學習網(wǎng)站應具備以下四個方面的基本內容:學科知識,具體是指圍繞教學目標的要求將相關的文本、圖片、動畫等教學媒體,根據(jù)教學設計組織起來的,制作成以網(wǎng)頁形式呈現(xiàn)的網(wǎng)絡課程。學習資源,具體指按一定分類原則,進行搜集、整理的與VFP內容相關的資源。并為資源的上傳、下載、更新、檢索提供管理系統(tǒng)。學習工具,例如為開展協(xié)作式學習而提供的留言板、討論區(qū)、答疑教室等網(wǎng)絡交流方式。評價學習,評價包含了對學生學習過程進行跟蹤而形成的過程性評價和通過對學生習得知識的效果進行的結論性評價。將兩者結來,形成對學生學習情況客觀的評價結果。第2章開發(fā)環(huán)境簡介2.1Dreamweaver簡介Dreamweaver是美國MACROMEDIA公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是第一套針對專業(yè)網(wǎng)頁設計師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺限制和跨越瀏覽器限制的充滿動感的網(wǎng)頁[4]。其特點有以下幾方面:制作效率高:Dreamweaver可以用最快速方式Fireworks,F(xiàn)reeHand,或Photoshop等檔案移至網(wǎng)頁上。網(wǎng)站管理方便:使用網(wǎng)站地圖可以快速制作網(wǎng)站雛形,設計,更新和重組網(wǎng)頁。改變網(wǎng)頁位置或檔案名稱,Dreamweaver會自動更新所有連結??刂颇芰姡篋reamweaver是唯一提供RoundtripHTML、視覺化編輯與原始碼編輯同步的設計工具。全方位的呈現(xiàn):利用Dreamweaver設計的網(wǎng)頁,可以全方位的呈現(xiàn)在任何平臺的熱門瀏覽器上。DreamweaverMx2004

建立

Web

站點和應用程序的專業(yè)工具。它將可視布局工具、應用程序開發(fā)功能和代碼編輯支持組合為一個功能強大的工具,使每個級別的開發(fā)人員和設計人員都可利用它來快速創(chuàng)建界面吸引人并且基于標準的站點和應用程序[4]。2.2ASP語言環(huán)境簡介ASP是ActiveServerPages(動態(tài)服務器主頁——MicrosoftActiveServerPages)的縮寫,它是一個服務器端的腳本環(huán)境,在站點的Web服務器上解釋腳本,可產(chǎn)生并執(zhí)行動態(tài)、交互式、高效率的站點服務器應用程序[5]。ASP可以勝任基于微軟Web服務器的各種動態(tài)數(shù)據(jù)發(fā)布。ASP簡單、易學、容易實現(xiàn),并且支持現(xiàn)今絕大多數(shù)通用數(shù)據(jù)庫,所以ASP是學習Web應用程序開發(fā)的首選。2.3IIS簡介InternetInformationServer的縮寫為(IIS)是一個WorldWideWebserver。Gopherserver和FTPserver全部包容在里面。它是一種Web(網(wǎng)頁)服務組件,其中包括Web服務器、FTP服務器、NNTP服務器和SMTP服務器,分別用于網(wǎng)頁瀏覽、文件傳輸、新聞服務和郵件發(fā)送等方面,使得在網(wǎng)絡(包括互聯(lián)網(wǎng)和局域網(wǎng))上發(fā)布信息成了一件很容易的事[5]。2.4ODBC數(shù)據(jù)庫訪問技術ODBC(OpenDatabaseConnectivity)是由微軟公司提出的一個用于訪問數(shù)據(jù)庫的統(tǒng)一界面標準。ODBC是基于結構化查詢語言(SQL),使用SQL可大大簡化其應用程序設計接口(API)。其接口的優(yōu)勢之一為互操作性,程序設計員可以在不指定特定數(shù)據(jù)源情況下創(chuàng)建ODBC應用程序[6]。ODBC的程序流程圖如圖2-1所示。SQLFreeEnvSQLFreeEnvSQLFreeConnectSQLDisconnectSQLConnectSQLALLocConnectSQLALLocEnvOtherODBCFunction圖2-1ODBC程序流程圖2.5腳本語言的簡介2.5.1JavaScript腳本語言JavaScript是由Netscape公司開發(fā)并隨Navigator導航者一起發(fā)布的、介于Java與HTML之間、基于對象事件驅動的編程語言,通過JavaScript可以做到響應用戶的需求事件(如表單的輸入),這樣當一位使用者輸入一項信息時,它不需要通過網(wǎng)絡傳送到服務器端進行處理再傳回來的過程,而可以直接在客戶端進行事件的處理。因它的開發(fā)環(huán)境簡單,不需要Java編譯器,而是直接運行在Web瀏覽器中,而因倍受Web設計者的所愛[5]。2.5.2BScript腳本語言VBScript是VisualBasicScript的簡稱,即VisualBasic描述語言,有時也被縮寫為VBS。VBScript是微軟開發(fā)的一種腳本語言。VBScript與VB的關系是VBScript是微軟公司推出的一種腳本語言,它源自VisualBasic,可以說是VB的一個簡集,如果學過VB或者學過編程,VBScript將會很容易掌握。如果沒有學過編程,VBScript可以說是最容易入門的語言了。VBScript的唯一數(shù)據(jù)類型VariantVBScript只有一種數(shù)據(jù)類型,即Variant。該類型在使用的時候非常靈活。目前這種語言廣泛應用于網(wǎng)頁和ASP程序制作,同時還可以直接作為一個可執(zhí)行程序。用于調試簡單的VB語句非常方便[5]。2.6本章小結本章主要對系統(tǒng)的開發(fā)環(huán)境和開發(fā)技術做了一個簡要的介紹。通過對Dreamweaver編程環(huán)境的功能介紹來分析選擇系統(tǒng)編譯的環(huán)境;通過對數(shù)據(jù)庫訪問技術的介紹選擇系統(tǒng)采用的ODBC數(shù)據(jù)庫訪問技術;通過對JavaSprict和VBScript的介紹來說明系統(tǒng)采用ASP語言進行開發(fā)的優(yōu)越性。第3章系統(tǒng)概述學習網(wǎng)站是高等學校教學質量與教學改革工程的重要組成部分,是學生自主學習、教學互動、學習交流的重要平臺。建設一個美觀實用、內容豐富、特色鮮明的學習網(wǎng)站,從社會需求,學科的需求,學校的需求,師生的需求幾方面來看,都是有重要意義的。3.1功能需求分析與設計通過查看網(wǎng)上資料、圖書館資料、詢問身邊同學,總結而得:一個學習網(wǎng)站為了能過達到教學和學習的目標,應該具有以下功能:用戶管理子系統(tǒng)功能:對用戶權限和用戶資料進行管理。資源管理子系統(tǒng)功能:主要實現(xiàn)用戶對網(wǎng)站資源的瀏覽、檢索、下載和上傳的功能。包括兩大類資源,一類是針對學生的學習資源;另一類是針對教師教學和進行網(wǎng)絡課程開發(fā)的教學信息資源。調查管理子系統(tǒng)功能:通過問卷調查的形式,就學生對該網(wǎng)站的學習效果,網(wǎng)站的設計及學習能力、學習方法和學習習慣的養(yǎng)成等方面的問題進調查,并對調查結果進行統(tǒng)計。在線練習管理子系統(tǒng)功能:包括網(wǎng)絡考試和網(wǎng)絡練習。這兩種模式都是采用隨機函數(shù)randomize從題庫中提取題目的,從而組成試卷。交流討論子系統(tǒng)功能:向學生和老師提供電子郵件、在線討論、留言板、公告欄等形式的交流方式。管理員管理子系統(tǒng)功能:對整個系統(tǒng)進行管理。提供學生和老師的添加、刪除、修改,個人信息的修改,給老師和學生留言。3.2實體——聯(lián)系圖VFP學習網(wǎng)站的有學生、教師、管理員三種操作用戶,下面我將分別從學生、教師、管理員的角度給出他們的E-R圖:管理員部分的E-R圖,如圖3-1所示。圖3-1管理員部分的E-R圖教師部分的E-R圖,如圖3-2所示。圖3-2教師部分的E-R圖學生部分的E-R圖,如圖3-3所示。圖3-3學生部分的E-R圖3.3網(wǎng)站的邏輯方案數(shù)據(jù)流圖可以用來抽象地表示系統(tǒng),它從信息傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程,同時可以按自頂向下、逐步分解的方法表示內容不斷增加的數(shù)據(jù)流和功能細節(jié)。由于篇幅的問題下面我只給出了關于考試和作業(yè)的數(shù)據(jù)流圖,如圖3-4和圖3-5所示。圖3-4在線考試模塊的數(shù)據(jù)流圖圖3-5作業(yè)管理模塊數(shù)據(jù)流圖3.4開發(fā)過程分析VFP在線學習系統(tǒng)是一個系統(tǒng)工程,一般建設的流程如下圖3-6所示:圖3-6VFP在線學習系統(tǒng)一般建設流程圖初次確定,確定網(wǎng)站建設方案,收集網(wǎng)站建設及課程的有關資料。再次確定,再次收集網(wǎng)站建設及課程的有關資料,并確定網(wǎng)站的定位與整體風格、網(wǎng)站的架構與欄目。概念開發(fā),根據(jù)收集的信息,開始構思,把這些構思跟指導教師講述,聽取教師的建議和意見。內容綜合,同意了設計后,就開始制作一些初始圖樣,這些圖樣用一般PHOTOSHOP制作和創(chuàng)建,然后,將圖樣配合文字制作出來。HTML布局和導航,一旦確定了這些內容綜合,就開始編制Web頁面,導航器要編制到頁面中。測試完善,徹底測試每個Web頁面,并進行修補和完善。3.5數(shù)據(jù)庫設計該學習網(wǎng)站采用了SQLServer2000作為后臺數(shù)據(jù)庫,數(shù)據(jù)庫名為“vfp”,整個網(wǎng)站的實現(xiàn)過程中需要對大量的數(shù)據(jù)完成搜集、整理、存儲、交換等工作。下面給出數(shù)據(jù)表的概要說明和主要數(shù)據(jù)表的結構定義及表之間的關系。3.5.1數(shù)據(jù)表的概要說明網(wǎng)站開發(fā)中的數(shù)據(jù)表可以分為以下類別:用戶性息表:可以分為存儲學生的信息表,以及存儲教師和管理員信息的數(shù)據(jù)表。在表中分別存儲用戶的基本信息及其權限。作業(yè)信息表:主要是存儲教師的發(fā)布作業(yè)、學生的上交作業(yè)和教師批閱作業(yè)的情況。交流互動表:包括留言、公告、答疑三類表,是老師、管理員和學生之間進行交流的信息表。調查信息表:包括了調查題目表、調查選項表、調查統(tǒng)計表,管理員和教師的調查表是分別管理的??荚囅嚓P表:主要是存儲考試的題目,考試的試卷和考試的成績。考試題目是分類(判斷題、單選題、多選題、填空題)存儲的。3.5.2主要數(shù)據(jù)表的結構說明表3-1管理員信息(admin)表字段名類型備注unamenvarchar(10)登錄名passwordnvarchar(16)登錄密碼Admin表存儲管理員的信息,以uname作為主鍵。表3-2學生信息(student)表字段名類型備注snonvarchar(8)學生的學號spasswordnvarchar(16)學生的密碼snamenvarchar(10)學生的姓名sclassnvarchar(20)班級systemnvarchar(20)學院semailnvarchar(20)emailStudent表存儲學生的信息,以sno作為主鍵。表3-3教師信息(teacher)表字段名類型備注tidnvarchar(8)教師的編號tnamenvarchar(10)教師的姓名tpwdnvarchar(16)教師的登錄密碼temailnvarchar(20)emailTeacher表存儲教師的信息,以tid作為主鍵。表3-4公告欄(board)表字段名類型備注idint(4)公告的編號titlenvarchar(20)公告的題目contentnvarchar(100)公告的內容inputdatedatetime(8)公告發(fā)布時間Board表存儲發(fā)布公告的信息,以id作為主鍵。表3-5填空題(filling)表字段名類型備注fiidint題目編號questionnvarchar(100)題目內容answernvarchar(100)題目答案setupdatadatetime(8)題目的入庫時間zhangjienvarchar(20)題目的所屬章節(jié)nandunvarchar(8)題目難度(難、中、基礎)Filling表存儲入庫的填空題信息,以fiid作為主鍵。表3-6單選題(selecting)表字段名類型備注selectidint題目編號questionnvarchar(100)試題內容result1nvarchar(20)選項Aresult2nvarchar(20)選項Bresult3nvarchar(20)選項Cresult4nvarchar(20)選項Danswernvarchar(10)題目答案setupdatadatetime(8)題目的入庫時間zhangjienvarchar(20)題目的所屬章節(jié)nandunvarchar(8)題目難度(難、中、基礎)Selecting表存儲入庫的單選題信息,以selectid作為主鍵。表3-7考試試卷(test)表字段名類型備注exidint(4)試卷編號riidint(8)判斷題數(shù)目riscoreint(4)判斷題每題的分數(shù)seidint(8)單選題數(shù)目sescoreint(4)單選題每題的分數(shù)fiidint(8)判斷題數(shù)目fiscoreint(4)判斷題每題的分數(shù)se2idint(8)多選題數(shù)目se2scoreint(4)多選題每題的分數(shù)ftimeint(4)試卷完成的時間setupdatadatetime(8)試卷發(fā)布時間Test表存儲教師發(fā)布的考試試卷信息,以exid作為主鍵。表3-8考試(examination)表字段名類型備注examinationidint(4)試卷編號studentnumbernvarchar(8)學生的學號scoreint(8)考試的分數(shù)examinationdatadatetime(8)考生參加考試的時間Examination表以examinationid和studentnumber作為聯(lián)合主鍵。表3-9上載ppt表字段名類型備注idint(4)Ppt編號namenvarchar(20)Ppt的名稱ptimeint(4)Ppt的發(fā)布時間ppt表存儲教師發(fā)布的ppt信息,以id作為主鍵。表3-10發(fā)布作業(yè)(homework)表字段名類型備注idint(4)作業(yè)編號namenvarchar(20)作業(yè)的名稱htimeint(4)作業(yè)的發(fā)布時間mesggernvarchar(50)作業(yè)的說明Homework表存儲教師發(fā)布的作業(yè)信息,以id作為主鍵。表3-11上交作業(yè)表(homeworkupload2)字段名類型備注stuidnvarchar(8)學生學號hnamenvarchar(20)作業(yè)的名稱flagint(4)批改標記(1:已經(jīng)批閱)scoreint(8)作業(yè)的分數(shù)uptimedatetime(8)作業(yè)批閱的時間Homeworkupload2表存儲學生作業(yè)上交及上交作業(yè)的批閱信息,以stuid和hname作為聯(lián)合主鍵。表3-12問題(problem)表字段名類型備注idint(4)問題編號titlenvarchar(20)問題的標題detalnvarchar(100)問題的內容answernvarchar(100)問題的答案uptimedatetime(8)問題提交時間flag_answerint(4)回答標記(1:已經(jīng)回答)Problem表是學生提問題和老師回答問題用到的表,其中字段id是主鍵。表3-13留言(teacher_student)表字段名類型備注idint(4)留言編號mesnvarchar(50)留言的內容uptimedatetime(8)留言發(fā)布時間flagnvarchar(8)身份類型teacher_student表存儲學生留言相關的信息,其中字段id是主鍵。3.6本章小結本章主要完成了對系統(tǒng)的功能需求分析,詳細設計了系統(tǒng)的實體-關系圖,用數(shù)據(jù)流圖描繪了系統(tǒng)邏輯方案并對開發(fā)過程進行簡要的分析和說明。介紹了數(shù)據(jù)庫設計的重要性并對系統(tǒng)的數(shù)據(jù)庫進行了分析與設計。通過分析,系統(tǒng)完成了數(shù)據(jù)庫表的設計;通過系統(tǒng)的需求分析來設計每個表的數(shù)據(jù)項;通過對數(shù)據(jù)庫概念結構的設計和邏輯結構的設計清晰地展現(xiàn)了系統(tǒng)的數(shù)據(jù)庫總體設計,以及主要的表中每一個字段屬性。第4章VFP學習網(wǎng)站的總體設計在設計網(wǎng)站之前,要根據(jù)網(wǎng)站建設的目的、網(wǎng)站的功能與網(wǎng)站的訪問對象等進行正確的定位,網(wǎng)站的定位決定了網(wǎng)站的整體風格和色彩搭配、網(wǎng)站提供的內容和表現(xiàn)形式、網(wǎng)站的服務對象和預期效果。根據(jù)傳統(tǒng)的網(wǎng)站分類方法,學習網(wǎng)站屬于教育型的資訊類網(wǎng)站,網(wǎng)站的使用者是廣大的學生和教師,建站的目的是為學生提供自主學習的平臺,為教師提供教學互動的平臺?;谝陨蠋c的考慮,我對整個網(wǎng)站的總體設計如下。4.1網(wǎng)站基于B/S體系整個系統(tǒng)采用Browser/Web/DataBase的3層體系結構。Browser/Server的系統(tǒng)中,用戶可以通過瀏覽器向分布在網(wǎng)絡上的服務器發(fā)出請求,服務器對瀏覽器的請求進行處理,將用戶所需的信息返回到瀏覽器。B/S結構簡化了客戶機的工作,客戶機上只需配置Web瀏覽器即可。服務器將擔負更多的工作,對數(shù)據(jù)庫的訪問和應用程序的執(zhí)行將在服務器上完成。瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求、加工、結果返回以及動態(tài)網(wǎng)頁生成等工作全部由WebServer完成[7]。Browser/Server三層體系結構,如下圖4-1所示??蛻魴CWeb服Web應務器IIS用程序數(shù)據(jù)庫客戶機Web服Web應務器IIS用程序數(shù)據(jù)庫B/S結構的優(yōu)點:維護和升級方式簡單。目前,軟件系統(tǒng)的改進和升級越來越頻繁,B/S架構的產(chǎn)品明顯體現(xiàn)著更為方便的特性[8]。成本降低,選擇更多。windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標準配置,但在服務器操作系統(tǒng)上windows并不是處于絕對的統(tǒng)治地位。現(xiàn)在的趨勢是凡使用B/S架構的應用管理軟件,只需安裝在Linux服務器上即可,且安全性高。而Linux不僅操作系統(tǒng)是免費的,而且數(shù)據(jù)庫也是免費的[8]。4.2網(wǎng)站功能模塊結構的設計VFP學習網(wǎng)站管理系統(tǒng)共包括六個子系統(tǒng),用戶管理子系統(tǒng)、資源管理子系統(tǒng)、調查管理子系統(tǒng)、在線練習管理子系統(tǒng)、交流討論子系統(tǒng)和管理員子系統(tǒng)。這六個子系統(tǒng)包括的主要功能模塊如圖4-2所示。VFP學習網(wǎng)站VFP學習網(wǎng)站教師管理模塊學生管理模塊作業(yè)管理模塊調查管理模塊考試管理模塊個人信息管理模塊公告欄模塊留言板模塊教學資料管理模塊登錄模塊答疑教室模塊討論區(qū)模塊數(shù)據(jù)庫圖4-2系統(tǒng)主要功能模塊圖教師管理模塊:主要實現(xiàn)的功能為:教師的添加、教師信息的修改,教師信息的刪除、教師信息的查詢,該功能是管理員實現(xiàn)的。學生管理模塊:主要實現(xiàn)的功能為:學生的添加、學生信息的修改,學生信息的刪除、學生信息的查詢,該功能是管理員實現(xiàn)的。教學資料管理模塊:分為學生端和老師端進行設計??荚嚬芾砟K:分為學生端和老師端進行設計。作業(yè)管理模塊:分為學生端和老師端進行設計。公告欄模塊:分成學生端和老師端進行設計。留言板模塊:分成學生端、老師端和管理員進行設計。答疑教室模塊:為教師和學生提供“問答”環(huán)境,教師可以針對每位學生的問題做出回答。討論區(qū)模塊:功能類似于聊天室,該模塊中所有用戶都是平等的,學生、教師和管理員可以同時登錄,進行實時的交流。個人信息管理模塊:是為學生、教師和管理員提供了查看個人信息和修改個人信息的功能。調查管理模塊:通過問卷調查的形式,就學生對該網(wǎng)站的學習效果,網(wǎng)站的設計及學習能力、學習方法和學習習慣的養(yǎng)成等方面的問題進調查,并對調查結果進行統(tǒng)計。4.3本章小結本章對系統(tǒng)進行了總體分析與設計,簡要描繪本系統(tǒng)的主要功能模塊并對每個模塊所實現(xiàn)的具體功能進行初步的說明。第5章系統(tǒng)詳細設計與實現(xiàn)在第4章已經(jīng)總體規(guī)劃了該系統(tǒng)的模塊及其功能,本章將詳細的介紹各個模塊的設計與實現(xiàn)過程,以及相應的運行頁面。5.1關鍵知識點介紹5.1.1模板模版可以被理解成一種模型。在制作網(wǎng)站的過程中,為了統(tǒng)一風格,很多頁面會用到相同的布局、圖片和文字元素。為了避免大量的重復勞動,可以使用Dreamweaver中提供的模板功能,將具有相同版面結構的頁面制作為模板,將相同的元素(如導航欄)制作為庫項目,并存放在庫中可以隨時調用。在開發(fā)本系統(tǒng)的過程中,用了toc.dwt(學生模板)、teacher.dwt(教師界面)、study_net.dwt(學習界面模板)、admin.dwt(管理模板)、test.dwt(考試管理模板)5個模板,大大的減少了我的工作量。5.1.2openScript函數(shù)openScript函數(shù)是自己定義的,主要是實現(xiàn)一進入首頁立刻會彈出一個窗口,或者按一個連接或按鈕彈出。下面是這個函數(shù)的定義:<SCRIPTlanguage=javascript>functionopenScript(url,width,height){varWin=window.open(url,"openScript",'width='+width+',height='+height+',resizable=0,scrollbars=yes,menubar=no,status=no');}</SCRIPT>5.1.3Lyfupload文件上載組件Lyfupload組件支持單、多文件上載;可以將上載的文件名改名保存;可以同時使用其他的表單元素信息;支持限制文件大小的上載;支持限制文件類型的上載;可以得到上載文件的大?。恢С謱⑽募热?,如上載圖形文件等各類windows文件保存到數(shù)據(jù)庫中;支持從數(shù)據(jù)庫中讀取上載文件;還可以得到上載文件的MIME類型。在使用Lyfupload時要注意的是:form表單的enctype屬性要設置為"multipart/form-data"。組件的方法介紹:Request方法:得到上一個頁面中表單元素的值;返回值:為元素的值,字符串類型。FileType方法:得到上傳文件的Content-Type;返回值:文件上傳成功,返回文件的Content-Type;不成功,返回為""。SaveFile方法:上傳客戶端選擇的文件;聲明:SaveFile(strTagAsString,strPathAsString,strwayasboolean),參數(shù)介紹:strTag為Form中文件元素的名字,如"File1":strPath為文件保存在本機的目錄;strway為上傳文件方式,覆蓋方式上傳為true,不覆蓋上傳為false;DestFileName(可選參數(shù)),代表文件上傳后重命名保存的名字;組件屬性介紹:ExtName屬性:限制上載文件的類型;MaxSize屬性:限制上載文件的大??;FileSize屬性:得到上載文件的大??;DBContent屬性:得到上載文件的實際內容,為二進制流;5.1.4頁面導航條當光標移動到鏈接時,就會在其下面出現(xiàn)其它的鏈接。實現(xiàn)該功能主要是運用onmouseover事件。主要代碼如下:functionshowdiv(div_id)//顯示的函數(shù){if(document.all.item(div_id).style.display=="block"){document.all.item(div_id).style.display="none";}else為下面分區(qū)號光標移到時事件{document.all.item(div_id).style.display="block";}為下面分區(qū)號光標移到時事件} <tdalign="center"onMouseOver="javascript:ShowSubMenu(6)">問題管理</td><!—光標移到“問題管理”時顯示的分區(qū)—><divclass="SubMenu"id="SubMenu6"style="DISPLAY:none"name="SubMenu6"><tablecellSpacing=0cellPadding=0width="100%"border=0><tr><tdwidth="285"height="25"> </td><td>  <ahref="question_answer.asp">問題管理</a>|<ahref="chat_teacher.asp">在線交流</a></td></tr></table></div>5.1.5分頁顯示在顯示信息的時候,往往是信息很多,在一頁顯示就會使得頁面很長,這樣對于用戶來說是不方便的。分頁顯示就可以規(guī)定每頁的最多顯示信息數(shù),不僅方便了用戶還可以美觀頁面。下面是分頁顯示的實現(xiàn):創(chuàng)建一個Recordset對象rs,然后設置rs的屬性recordcount的值和屬性absolutepage的值(即每頁顯示的最多信息數(shù)rs.recordset=每頁顯示的信息最多數(shù)和當前顯示的頁碼rs.absolutepage=要顯示頁碼)。在顯示信息的時候只要引用“whilenotrs.eofandi<rs.recordcount”就可以實現(xiàn)分頁顯示了。5.1.6數(shù)據(jù)庫中的數(shù)據(jù)表字段導入到EXCEL表該功能的實現(xiàn)是可以方便教師和管理員的信息查看,關于數(shù)據(jù)庫中的數(shù)據(jù)表字段導入到EXCEL表的代碼實現(xiàn)比較長,在后面模塊的詳細設計中會介紹的。5.2注冊和登錄模塊新用戶注冊 新用戶注冊。對于新用戶第一次使用該學習網(wǎng)站,必須要先注冊,如圖5-1所示;注冊成功后將保存注冊的信息,如圖5-2所示。圖5-1注冊頁面圖5-2登錄界面已注冊用戶登錄已注冊的用戶在每次訪問本網(wǎng)站時應首先要通過登錄頁面登錄。本網(wǎng)站的登錄使用了用戶名、密碼和身份類型來判斷用戶的登錄頁面,否則顯示登錄失敗。因此,將除登錄、注冊頁面以外的頁面設為限制訪問的頁面。用戶登錄成功后的用戶名賦與變量usemame,由語句Session("usemame")=usemame實現(xiàn)對頁面的限制訪問,該模塊的工作流程圖如圖5-3所示。登錄界面登錄界面打開學生頁面打開教師頁面打開管理員頁面登錄失敗YNNYYYN用戶名密碼正確是否學生身份是否教師身份是否管理員身份開始圖5-3登錄流程圖5.3教師管理模塊教師管理模塊主要實現(xiàn)的功能為:教師的添加、教師信息的修改,教師信息的刪除、教師信息的查詢,該功能是管理員實現(xiàn)的。教師的信息包括編號、密碼、姓名,管理員可以通過編號來查詢教師的信息,而且管理員還可以將數(shù)據(jù)庫中的教師信息表根據(jù)自己的要求選擇字段保存到Excel表格中。教師是不可以自己注冊登錄的,只有管理員的添加才能使用該網(wǎng)站。管理員還可以給老師留言,這種留言是采用1對1的模式。教師管理模塊的頁面如圖5-4所示。圖5-4教師管理模塊頁面5.3.1添加教師信息功能實現(xiàn)管理員在管理界面單擊“添加教師”按鈕,則進入教師信息添加頁面,如圖5-5所示。在該頁面上添加教師的基本信息,按“添加”按鈕后則將教師信息添加到系統(tǒng)中。圖5-5添加教師信息頁面圖5-6修改教師信息頁面在添加教師的信息之前,需要判斷該教師信息是否已經(jīng)全部填寫以及填寫的信息是否在數(shù)據(jù)庫中已經(jīng)存在,如果教師信息審核不通過,則不能添加;否則采用rs.addnew和rs.update相關語句實現(xiàn)教師信息的添加。并自動的跳轉到教師管理模塊頁面,實現(xiàn)的代碼為:response.Redirect("teacher.asp")。5.3.2修改教師信息功能實現(xiàn)管理員在教師管理模塊頁面單擊“修改”鏈接,則進入教師信息的修改頁面,如圖5-6所示。在該頁面顯示了目前要修改教師的信息,管理員可以重新設置教師的信息。在修改教師的信息之前,需要判斷該教師信息是否已經(jīng)全部填寫以及填寫的信息是否在數(shù)據(jù)庫中已經(jīng)存在,如果教師信息審核不通過,則不能修改;否則用rs.update相關語句將修改后的信息更新到數(shù)據(jù)庫中。5.3.3刪除教師信息功能實現(xiàn)管理員在教師管理模塊頁面選擇某個教師后,單擊“刪除”鏈接,則用rs.delete相關語句完成刪除操作。5.3.4查詢教師信息功能實現(xiàn)管理員在教師管理模塊頁面的搜索功能區(qū)輸入教師的編號,如果存在則顯示該教師的信息,否則輸出“暫時沒有相關的記錄!”5.3.5教師信息轉換EXCEL表保存功能管理員在教師管理模塊頁面的另存為Excel文件功能區(qū),單擊“另存為Excel文件”鏈接,則跳轉到頁面如圖5-7所示,管理員再根據(jù)自己的需求選擇字段,然后單擊“下一步”按鈕,就可以把數(shù)據(jù)庫中的教師信息表中的選中字段的信息保存到teacher.csv文件,這個文件的文件名是根據(jù)數(shù)據(jù)庫中的教師信息表的表名得來的。圖5-7選擇字段圖5.3.6管理員對教師留言功能實現(xiàn)管理員在教師管理模塊頁面點擊教師的姓名,則出現(xiàn)留言頁面。管理員可以在留言頁面的文本域中填寫要留言的內容,內容填寫完成后,按“提交”按鈕就可以了。該操作是顯示該頁面的大小,設定為:width為400,height為300。其實現(xiàn)的代碼如下:<ahref="javascript:openScript('give_teacher_message.asp?id=<%=rs("tid")%>',400,300)"><%=rs("tname")%></a>//其中give_teacher_message.asp就是對老師留言的頁面。5.4學生管理模塊學生管理模塊的功能和教師管理模塊的功能相同,實現(xiàn)方法也類似,只是在處理數(shù)據(jù)的時候面向數(shù)據(jù)庫中數(shù)據(jù)表不同而已,所以在這我對學生管理模塊的功能的實現(xiàn)就不加以介紹了。5.5教學資料管理模塊教學資料管理模塊分為學生端和老師端進行設計。下面先介紹教師端功能的實現(xiàn),再介紹學生端功能的實現(xiàn)。5.5.1教學資料管理模塊教師端功能實現(xiàn)在該模塊教師可以發(fā)布html格式的網(wǎng)頁教案,可以根據(jù)自己的教學進度來發(fā)布PPT教案,當然老師也可以對這些資料進行刪除、修改和查詢。老師發(fā)布的資料是學生學習的主要資源,這些資料是按照章節(jié)來分類的,學生可以根據(jù)自己的需求學習不同進度的教學資料,這樣就可以方便學生的學習。PPT教案的發(fā)布功能在教師工作頁面的導航條(如圖5-8所示)點擊“上載ppt”鏈接則進入教師上載ppt功能頁面(如圖5-9所示),教師要選擇ppt的名稱,瀏圖5-8教師工作頁面的導航條覽ppt文件,再按“上傳”按鈕,如果教師填寫的內容不為空,而且要上載的ppt以前還沒有上載過,則可以上載成功;否則上載失敗。在這里只能上載的是ppt類型的文件,文件上載成功以后是存放在服務器的ppt文件中的。圖5-9上載ppt功能頁面上載ppt文件的功能實現(xiàn)是用了文件上載組件Lyfupload,實現(xiàn)的部分代碼如下:<%setpost=server.CreateObject("lyfupload.uploadfile")post.extname="ppt";//限制文件的類型為pptchangename=post.request("pname")&".ppt"http://獲得文件名filepath=server.MapPath("../ppt")//文件存放的路徑ss=post.savefile("ppt",filepath,false,changename) ifss=""thenresponse.Write("<scriptlanguage=javascript>alert('文件上傳失敗!');history.back(-1);</script>")elseifss="1"thenresponse.Write("<scriptlanguage=javascript>alert('不是ppt文件!');history.back(-1);</script>")elseifss="3" thenresponse.Write("<scriptlanguage=javascript>alert('文件已經(jīng)存在!');history.back(-1);</script>")else……//把ppt上載的信息保存到數(shù)據(jù)庫的ppt表中。%>ppt教案的刪除功能教師在ppt上載頁面可以瀏覽已經(jīng)上載的ppt文件(如圖5-10所示),在該頁面可以看到有個刪除操作,當你選中“第6章.ppt”的“刪除”鏈接,就會把該ppt文件刪除。圖5-10ppt上載瀏覽頁面5.5.2教學資料管理模塊學生端功能實現(xiàn)在該模塊學生可以查看網(wǎng)頁教案,下載教學資料(如:教師的PPT、實驗指導資料)。網(wǎng)頁教案老師直接做成html格式,學生可以在線瀏覽該教案進行學習;ppt教案老師是以ppt文件的格式上載到ppt文件,供學生自己下載瀏覽的。網(wǎng)頁教案的在線學習的導航區(qū)如圖:5-11所示,學生想要學習某章節(jié)的時候,只要點擊該章節(jié)的課題就可以連接到該章節(jié)的htm教案進新學習。該導航區(qū)是分級圖5-11在線學習的導航區(qū)展開的菜單,下面將對此菜單的實現(xiàn)做一些介紹。如圖5.5.2—1所示,當單擊標題“visualfoxpro基礎”的時候,下面子菜單每一小節(jié)的標題就顯示出來了;再次單擊,下面的子菜單又收縮不顯示了。下面的函數(shù)是用來實現(xiàn)顯示和收縮功能的。<scriptlanguage="javascript">functionshowdiv(div_id){//如果原來的子標題部分的屬性是顯示的,那么就將屬性改為不顯示 if(document.all.item("div"+div_id).style.display=="block") {document.all.item("div"+div_id).style.display="none"; }//如果原來的子標題部分的屬性是不顯示的,那么就將屬性改為顯示 else {document.all.item("div"+div_id).style.display="block"; }}</script>對于子菜單的html部分,我定義了一個塊<divid=""style="display:none">根據(jù)風格定義display:none,塊中的內容缺省是不顯示的。當單擊標題的時候,調用了函數(shù)showdiv(div_id),這樣就可以通過子標題部分的display屬性來改變頁面的顯示了。如下所示:<ahref="#"language="javascript"onClick="showdiv('2');">VisualFoxPro系統(tǒng)初步</a>5.5.3PPT教案的下載學習功能PPT教案下載學習頁面只為學生提供了ppt瀏覽和下載功能(如圖5-12所示),在頁面可以顯示教師已經(jīng)發(fā)布的ppt列表,在ppt顯示的時候是按照教師的發(fā)布時間來排列的,教師發(fā)布的時間越近則顯示的時候就越靠前顯示,這樣也可以方便學生的下載。學生在下載ppt的時候,只要單擊要下載的ppt名稱就可以了,例如:下載“第5章.ppt”,點擊后,再根據(jù)學生自己的需求做“打開”、“保存”、“取消”功能的選擇。圖5-12ppt瀏覽頁面關于ppt瀏覽頁面的代碼實現(xiàn)很簡單,就是從數(shù)據(jù)庫的ppt表中讀取數(shù)據(jù)及可以了。下面我只是簡單的介紹ppt下載實現(xiàn)代碼:<ahref="ppt/<%=rs("name")%>"><fontcolor="#FF0000">ppt名稱</font></a>//其中ppt/<%=rs("name")%>是下載文件的路徑。5.6考試管理模塊考試管理模塊分為老師端和學生端進行設計,下面我將分別介紹教師端和學生端的實現(xiàn)。5.6.1考試管理模塊教師端實現(xiàn)教師端主要是對試題(判斷題、單選題、多選題和填空題)進行添加、修改、刪除和查詢;對學生的考試成績可以通過學號來查找,而且教師還可以將數(shù)據(jù)庫中的考試成績信息表根據(jù)自己的要求選擇字段保存到Excel表格中;對試卷進行添加,修改和設置,試卷的屬性包括每種試題的題數(shù)、每種試題的分數(shù)和每張試卷的考試時間。試題管理模塊的實現(xiàn)當教師正確登錄后,進入考試管理頁面,在該頁面,教師可以對試題、試卷、成績進行管理(如圖5-13教師考試管理的功能區(qū))。在試題管理中可以圖5-13教師考試管理的功能區(qū)對判斷題、單選題、多選題、填空題進行管理。下面首先介紹判斷題管理模塊的設計和實現(xiàn)。判斷題管理的實現(xiàn)判斷題管理可以添加、修改及刪除題目。在判斷題管理頁面可以完成題目的查詢功能,并提供了添加、編輯及刪除題目的鏈接,頁面如圖5-14所示。圖5-14判斷題管理頁面判斷題的顯示判斷題管理頁面首先將“rightorwrong”數(shù)據(jù)表中的數(shù)據(jù)全部提取出來,并且按照每頁10條記錄的方式顯示。在本頁面中將題號、題目、答案、章節(jié)和難度分別顯示出來,并在每一條記錄的后面均提供了“編輯”和“刪除”鏈接。判斷題的查詢判斷題管理頁面提供了“查找”功能(如圖5-15所示),該功能的能夠實現(xiàn)查詢條件在題目內容中的模糊查找。該查找方法是將題目中有包含查找關圖5-15查找功能區(qū)字的題目全部查詢出來,并按照分頁顯示。下面給出查找實現(xiàn)的主要代碼:<%keyword=trim(request(“keyword”))ifkeyword=”所有題目”elsekeywords=keyword%><%str="select*fromrightorworngwherequestionlike‘%”keyword”%’orderbyriid"rs.openstr,conn,3,1,1rs.pagesize=10%>上述代碼中的keywords變量是用來在頁面中顯示用戶輸入的查詢條件或者條件為空時顯示“所有題目”的。查詢采用的是按“%”方式的“question”字段的模糊匹配。判斷題的添加在判斷題管理頁面中“添加新題”的鏈接,單擊“添加新題”就會跳轉到判斷題添加頁面,如圖5-16所示。在添加判斷題時,每次可以添加小于等10道試題。試題添加時,要求試題的編號必須連續(xù),因為考試的試卷是隨機組卷的,而我用的隨機組卷方法就是在一定范圍內隨機產(chǎn)生題號并抽取試題。添加的圖5-16判斷題添加頁面試題要求填寫好題目、答案、章節(jié)和難度,單擊“提交”按鈕進行審核,只有這些屬性的值不為空才能添加到判斷題的題庫中。添加題目在題庫中編號分布實現(xiàn)語句如:<%rs(“riid”)=rs.recordcount+1%>。判斷題的刪除與添加功能類似,為了保證試題編號的連續(xù)性,在刪除試題的同時需要修改其他試題的編號。刪除某個試題,只需要單擊試題右側的“刪除”鏈接,即可完成試題的刪除功能。代碼的實現(xiàn)注意點:刪除試題時,如果所刪除的試題不是試題表中最后一條記錄,則要對試題的編號重新排布,這樣就保證了試題編號的連續(xù)性。顯示的主要代碼如下:<%i=1 whilenotrs.eof rs("riid")=i rs.update i=i+1 rs.movenext wend%>判斷題的修改判斷題的修改只需要在判斷題管理頁面上選定試題后,單擊“編輯”鏈接轉入試題編輯頁面。試題的修改頁面比較簡單,關鍵點是答案、章節(jié)和難度在下拉列表中的實現(xiàn)。例如單擊編號為11試題的“編輯”鏈接,則出現(xiàn)如圖5-17所示的修改頁面。在該頁面的“答案”、“章節(jié)”和“難度”下拉列表中,根據(jù)試圖5-17判斷題修改頁面題表中的數(shù)據(jù)來顯示答案、章節(jié)、難度。教師可以重新設置該題目的題目內容、答案、章節(jié)和難度,修改完成后單擊“提交”按鈕,則可以判斷題的修改。下面給出了試題答案再現(xiàn)的關鍵代碼:<selectname="answer"> <optionvalue="對"<%ifrs("answer")="對"thenresponse.Write("selected")endif%>>對</option><optionvalue="錯"<%ifrs("answer")="錯"thenresponse.Write("selected")endif%>>錯</option></select>單選題、多選題和填空題管理的實現(xiàn)單選題、多選題和填空題管理與判斷題管理相類似,實現(xiàn)方法和代碼也是類似的,這里就不再詳細介紹了。試卷管理的實現(xiàn)試卷管理主要是完成試卷各項參數(shù)的設置,例如:總分、考試時間、題型和分值。在教師單擊“試卷管理”鏈接,如果當前還沒有考卷,則進入試卷添加頁面,如圖5-18所示;如果已經(jīng)有編寫好的試卷,則進入如圖5-19所示的頁面,選擇某一試卷編號,進入試卷管理頁面,如圖5-20所示。圖5-18添加試卷頁面圖5-19修改試卷頁面圖5-20試卷管理頁面試卷添加頁面能夠實現(xiàn)試卷各題型的題目數(shù)量、每題的分值,以及考試時間的設置。如果在本章試卷中題型某種不出現(xiàn),則題目數(shù)量和分值分別設置為0即可。設置完成各項參數(shù)后,單擊“增加”按鈕進入判斷各輸入框中的數(shù)據(jù)的合法性,然后取得試卷表中的最大編號,則新加入的試卷編號為最大編號加1;如果試卷表中還沒有試卷則試卷的編號為1。接下來將本張試卷的內容寫入到數(shù)據(jù)表中,并調回到試卷管理頁面。試卷修改頁面的文本框開始是設置為“只讀”,只用選中了修改復選框才能對試卷的參數(shù)進行修改。主要代碼的實現(xiàn)如下:<scriptlanguage="VBScript">suba1_onclick‘a(chǎn)1是復選框的name//這個函數(shù)是單擊復選框事發(fā)生的事件document.form1.num1.readonly="false"document.form1.s1.readonly="false"document.form1.num1.focus()//聚光endsub</script>成績管理模塊的實現(xiàn)教師在考試管理頁面單擊“成績管理”鏈接,進入成績管理模塊頁面,如圖5-21。該頁面可以瀏覽參加考試學生的考試成績以及查詢某一學生的成績。教師可以通過學號、試卷號進行查詢學生的成績,在用試卷號進行查找時選圖5-21成績管理頁面擇菜單中的選項是從數(shù)據(jù)庫中讀取的,如果有記錄則顯示學生的記錄,否則顯示“暫時沒有相關的記錄!”。在該頁面教師還可以將學生的考試成績保存為excel文件實現(xiàn)選擇菜單的選項從數(shù)據(jù)庫中讀取的主要代碼如下:<option>--請選擇試卷號--</option><%whilenotrs.eof%><optionvalue="<%=trim(rs("exid"))%>"><%=rs("exid")%></option><%rs.movenext wend%>5.6.2考試管理模塊學生端實現(xiàn)考試管理模塊學生主要能夠實現(xiàn)隨機組卷、在線判卷,以及成績入庫等功能。進入開始前準備功能的實現(xiàn)學生登錄后,單擊“網(wǎng)絡考試”鏈接,跳入試卷選擇頁面,如圖5-22所示。學生在考試之前可以先查看考試信息,單擊就可以瀏覽考圖5-22考試試卷選擇頁面試相關的須知。單擊就可以查看以前考試的成績,如果該學生已經(jīng)存在考試記錄則顯示考試的記錄,否則顯示“暫時沒有相關的記錄!”。學生根據(jù)考試要求選擇試卷編號,單擊“開始考試”鏈接,如果該學生以前沒有參加過這期的考試,那么就可以成功的進入考試;否則會跳出“這期考試你已經(jīng)考過,請選擇其它期考試?!痹嚲沓槿」δ艿膶崿F(xiàn)試題抽取、隨機組卷是該模塊的關鍵點。組卷時需要根據(jù)試卷的設置分別從判斷題、單選題、多選題和填空題表中抽取規(guī)定數(shù)目的題目,并顯示在學生端瀏覽器上,組成一張試卷。圖5-23考試試卷頁面試題抽取時需要按照規(guī)定的題量,產(chǎn)生隨機數(shù),將該隨機數(shù)作為試題編號從試題表中抽取出來并寫入到學生端頁面。試卷頁面的設計如圖5-23所示。在該頁面中左上角有個剩余時間的顯示,該方框可以隨著頁面的上下移動而保持在頁面的相同位置,即所謂的漂移技術。該功能的實現(xiàn)主要是采用了<div>,設置<div>的位置為absolute,再設定它分區(qū)的寬、高的屬性即可。隨機抽取試題,組成試卷的主要代碼如下:dima()redima(rs("riid")-1)//動態(tài)分配數(shù)組大小i=1t=0randomizeriid=int(total1*rnd+1)//產(chǎn)生隨機數(shù)a(t)=riidwhilei<rs("riid")//隨機數(shù)不能重復randomizeriid=int(total1*rnd+1)forj=0totifriid=a(j)thenwhileriid=a(j) randomizeriid=int(total1*rnd+1)wend上述代碼中產(chǎn)生隨機數(shù)放在a()數(shù)組中,這些數(shù)就作為從題庫中抽取題目的編號。在線閱卷功能的實現(xiàn)在線考試的優(yōu)勢之一就是能夠實時閱卷和記錄考試成績,減輕教師的負擔。實時閱卷的實現(xiàn)方法是:在抽取試卷的同時將答案一并寫入試題頁面,只不過答案采用隱藏文本框的方式寫入。那么在判卷時只需要將考生的答案和隱藏答案匹配一下,如果相同則正確加分,否則錯誤。在瀏覽答案頁面點擊“返回”按鈕,就可以保存考試成績,并且跳轉到考試試卷選擇頁面。5.7作業(yè)管理模塊學習網(wǎng)站要模擬一個真實的教學過程,作業(yè)管理模塊不可缺。在這個模塊中教師要發(fā)布作業(yè)、學生下載作業(yè)、教師要批改作業(yè),以及給出分數(shù)等。5.7.1發(fā)布作業(yè)功能實現(xiàn)教師登錄后,單擊“作業(yè)發(fā)布”鏈接則進入發(fā)布作業(yè)頁面,如圖5-24所示,在該頁面教師可以瀏覽自己已經(jīng)發(fā)布的作業(yè)信息。教師只要填寫好作業(yè)的名稱、作業(yè)內容、作業(yè)說明,按“上傳”按鈕進入上載作業(yè)的信息審核階段,要是信息審核通過就成功的上載了作業(yè),否則會跳出不同的對話框加以說明上載失敗的原因。作業(yè)上載要求是“rar”文件,上載的目錄是“homework”文件。作業(yè)上載成功后,作業(yè)壓縮包存放在homework文件中,而作業(yè)的相關信息則存放在數(shù)據(jù)庫的homework表中。上載作業(yè)用的是Lyfupload組件,其相關的實現(xiàn)代碼在這就不加以顯示了,因為前面有介紹過。圖5-24發(fā)布作業(yè)頁面5.7.2刪除作業(yè)功能實現(xiàn)在發(fā)布作業(yè)頁面中的已發(fā)布作業(yè)顯示模塊中,擁有“刪除”功能,教師想要刪除某次作業(yè)只要點擊該作業(yè)后面的“刪除”鏈接,就會從數(shù)據(jù)庫的homework表中刪除相關的記錄,并對數(shù)據(jù)庫中的作業(yè)編號進行重新的編排。5.7.3下載作業(yè)功能實現(xiàn)下載功能的頁面如圖5-25所示,在該頁面學生可以瀏覽教師已經(jīng)發(fā)布作業(yè)的相關性息,學生點擊作業(yè)名稱可以從homework文件中下載該作業(yè)的壓縮文件。該頁面的實現(xiàn)和教學資料管理的ppt下載頁面實現(xiàn)相類似,不詳細介紹了。圖5-25作業(yè)下載頁面5.7.4上交作業(yè)功能實現(xiàn)學生做完作業(yè)后,要上交作業(yè)等待教師的批閱,學生上交作業(yè)的功能的實現(xiàn)和教師上載ppt類似,用到了Lyfupload文件上載組件。對于已經(jīng)上載的作業(yè),要是教師還沒有批改,那么學生就可以把該記錄刪除重新上載作業(yè)。5.7.5批閱作業(yè)功能實現(xiàn)教師可以對學生已經(jīng)上交的作業(yè)下載批閱,并給出分數(shù),實現(xiàn)該功能的頁面是教師作業(yè)批改頁面,如圖5-26所示。在教師批改作業(yè)的頁面,教師可以瀏覽已經(jīng)上交作業(yè)的信息(學號、作業(yè)名、上載時間、分數(shù)),教師沒有批改的作業(yè)的分數(shù)屬性顯示“未批改”,否則顯示作業(yè)的分數(shù)。在作業(yè)批改頁面,還給教師提供了按“學號”和按“作業(yè)名”查找作業(yè)上交情況的查詢功能,這樣就方便了教師的查找。要是在作業(yè)批改頁面點擊屬性,那么就可以跳轉到教師批改作業(yè)的頁面,例如點擊“062101111的第一章第一節(jié)作業(yè)”的,就會跳轉到如圖5-27所示的判分頁面。在該頁面可以顯示學生的具體信息(學號、姓名、班級和學院),提供作業(yè)文件的下載及對作業(yè)的打分操作。教師在重新打分文本框中填寫要給的分數(shù),按“提交”按鈕就完成了打分操作,這時候頁面會跳轉到教師批改作業(yè)頁面顯示批改后的信息。圖5-26教師批改作業(yè)的頁面圖5-27判分頁面在文本框中輸入學號,要是該學號有上交作業(yè)的記錄就會顯示查找到的記錄。在選項框中選擇作業(yè)名進行查找。5.8留言板模塊留言板模塊分成學生端、老師端和管理員進行設計。它是采用1對1的模式,學生、老師和管理員發(fā)布的留言只有發(fā)布者選擇的對象才可以看到,留言板的顯示是按發(fā)布的時間羅列出的。下面我分別從學生、教師和管理員端進行介紹。5.8.1留言板學生端的實現(xiàn)學生端主要實現(xiàn)功能為:學生可以查看教師或管理員發(fā)布的留言,也可以對教師或管理員留言。學生瀏覽和查看留言功能的實現(xiàn)學生單擊“個人留言”鏈接,則進入如下圖5-28所示的頁面。該頁面是學生“個人留言”的首頁面,學生在該頁面可以方便的瀏覽老師和管理員對自己的留言。顯示的留言信息有序號、留言內容、留言時間和留言者,留言記錄的顯示是按留言時間的排列的,越新的留言排列在越前面。在留言內容顯示的時候,我通過<%=left(rs("mes"),10)%>語句來設定只有留言的前10個字符是可以顯示的。當學生想看留言的具體內容時,只要單擊具體的留言內容就會顯示留言的所有信息,例如,某學生想查看序號為“1”的留言,那么只要單擊鏈接就可以查看該留言的具體內容?!傲粞哉摺睂傩缘男畔⑹菑臄?shù)據(jù)庫message表中flag字段讀取的,當留言者提交留言時,會保存身份到數(shù)據(jù)庫的message表中。圖5-28留言頁面圖5-29個人留言頁面學生留言功能的實現(xiàn)學生在個人留言的首頁面單擊鏈接,就會顯示如圖圖5-29所示的留言頁面,該頁面也是調用了openScript函數(shù)顯示的,實現(xiàn)代碼如下:<ahref=javascript:openScript('give_message.asp?id=<%=num%>',400,300)[我要留言]</a>。學生選擇留言對象(老師或管理員),填寫留言內容,按“提交”按鈕進入信息審核階段,如果填寫的留言內容不為空那么留言成功,留言就可以保存到message表中;否則留言失敗。5.8.2留言板教師端的實現(xiàn)教師端主要實現(xiàn)功能為:教師可以查看學生或管理員發(fā)布的留言,根據(jù)需求可以對學生或管理員留言,對于已經(jīng)發(fā)布的留言還可以進行回復。教師瀏覽、查看、回復留言功能的實現(xiàn)教師在導航條單擊“老師留言”鏈接,進入圖5-30所示的留言顯示頁面。該頁面的功能和學生個人留言頁面功能相類似,它們相同的功能就不再重復介紹。圖5-30教師留言顯示教師對學生留言功能的實現(xiàn)教師在導航條單擊“學生信息”鏈接,則進入鏈接頁面,如圖5-31所示。在該面顯示了學生的相關信息(學號、姓名、班級和郵箱),教師可以單擊學生姓名對學生留言。圖5-31學生信息頁面5.8.3留言板管理員端的實現(xiàn)管理員端主要實現(xiàn)功能為:管理員可以查看學生或教師發(fā)布的留言,根據(jù)需要可以對學生或教師留言。管理員端設計的功能和實現(xiàn)方法與教師端相類似,主要的區(qū)別就是引用asp語言處理的數(shù)據(jù)庫中的表不同,所示對于管理員端的實現(xiàn)我就不做詳細介紹了。5.9公告欄模塊公告欄模塊分成學生端和老師端進行設計。公告欄是采用多對多的模式,它的實現(xiàn)和留言板模塊類似,這里也不再具體介紹了。5.10答疑教室模塊答疑教室模塊為教師和學生提供“問答”環(huán)境,教師可以針對每位學生的問題作出回答,及時掌握學生的學習狀況,下面分別從學生和老師的角度進行設計。5.10.1答疑教室學生端的實現(xiàn)學生端主要實現(xiàn)功能為:可以查看所有同學提的問題,也可以查看老師對問題的回答情況,已經(jīng)回答的問題學生就可以查看問題的答案。學生端的實現(xiàn)和留言板學生端的實現(xiàn)類似,不再介紹了。5.10.2答疑教室教師端的實現(xiàn)教師端主要實現(xiàn)功能為:教師可以查看學生的提問,對于還沒有回答的問題教師可以對問題進行回答、對于已經(jīng)回答的問題教師可以查看答案并進行修改,教師還可以對問題進行刪除,可以刪除的問題只有那些已經(jīng)回答過的問題。問題的顯示是按提問的時間羅列出的,最近時間就顯示在最前面,該功能的實現(xiàn)和學生端類似,就不再介紹了,下面我將介紹教師刪除功能的實現(xiàn)。其實實現(xiàn)界面如圖5-32所示。圖5-32教師答疑主界面教師選中要刪除的記錄,按“刪除”按鈕就可以成功的刪除選中的記錄了,實現(xiàn)的主要代碼如下:<inputname="id"type="checkbox"value="<%=rs("id")%>">//標記復選框<% total=request.Form("id").count//刪除的記錄總數(shù) str="deletefromproblemwhereid="fori=1tototal conn.executestr&request.Form("id")(i)//刪除記錄 next sql="select*fromproblem" rs.opensql,conn,3,3 no=1 whilenotrs.eof rs("id")=no//刪除記錄后對記錄重新編號 rs.update no=no+1 rs.movenext wend%> 5.11討論區(qū)模塊討論區(qū)模塊功能類似于聊天室,該模塊中所有用戶都是平等的,學生、教師和管理員可以同時登錄,進行實時的交流。用戶點擊導航條“在線交流”鏈接,可以進入交流登錄頁面。用戶輸入用戶名,單擊“登錄”按鈕就可以進入在線交流頁面(如圖5-33所示),登入用戶的用戶名保存在session(“user”)中,并不能對后臺數(shù)據(jù)庫的進行操作。圖5-33在線交流頁面討論區(qū)用到了框架,把頁面分成了上下兩幀,其中上邊一幀顯示當前聊天的記錄,下邊一幀為接收用戶輸入信息的內容發(fā)送區(qū)。用戶提交談話內容的時候,上面一幀的聊天信息將會更新。用戶不提交內容的時候,上面一幀就采用“定時刷新”方法使聊天的信息刷新。實現(xiàn)代碼如下:在<head>與</head>標記之間加入<meat>標記:<metahttp-equiv="refresh"content="25;url='1.asp#tail'">它的作用是讓這一個頁面定時的刷新,每隔25秒刷新一次,后面的URL指明了刷新的頁面名稱為1.asp,#tail是頁面中的一個</a>標記,在文件的末尾,每次頁面顯示的時候,缺省顯示到網(wǎng)頁末尾。在服務器上建立了一個文本文件1.txt用戶提交的聊天信息都將記錄在文本1.txt中,瀏覽器中的1.asp頁面將定期刷新,將1.txt中的聊天信息顯示給用戶。下面給出了討論區(qū)的主要代碼:<%filepath=server.MapPath("1.txt")//打開文本文件setfileobject=server.CreateObject("scripting.filesystemobject")//下面是

溫馨提示

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

評論

0/150

提交評論