陳焜
摘 要:該文采用Visual Studio 2008+SQL Server 2008開發(fā)環(huán)境,結(jié)合ASP.NET、ADO.NET、Ajax等多種技術(shù),實(shí)現(xiàn)了一個(gè)場(chǎng)景教學(xué)系統(tǒng)。通過(guò)C#語(yǔ)言進(jìn)行數(shù)據(jù)庫(kù)編程,實(shí)現(xiàn)了人性化的界面設(shè)計(jì)與功能設(shè)計(jì)。軟件經(jīng)過(guò)測(cè)試,滿足場(chǎng)景教學(xué)的需求,達(dá)到預(yù)期的設(shè)計(jì)效果。
關(guān)鍵詞:ASP.NET 場(chǎng)景教學(xué) ADO.NET
中圖分類號(hào):TP315 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2019)02(b)-0044-02
在線場(chǎng)景教學(xué)系統(tǒng)平臺(tái)是信息化教育資源建設(shè)的關(guān)鍵環(huán)節(jié),學(xué)生通過(guò)網(wǎng)絡(luò)平臺(tái)了解專業(yè)動(dòng)態(tài)、自助學(xué)習(xí)課程知識(shí)、提出學(xué)習(xí)過(guò)程中遇到的問(wèn)題,教師通過(guò)網(wǎng)絡(luò)平臺(tái)與學(xué)生形成交互式教學(xué)。該系統(tǒng)嘗試用ASP.NET在網(wǎng)絡(luò)上架構(gòu)一個(gè)場(chǎng)景教學(xué)系統(tǒng),為學(xué)生提供一個(gè)自主學(xué)習(xí)的平臺(tái),彌補(bǔ)了學(xué)生課后對(duì)學(xué)習(xí)資源的不足。該場(chǎng)景教學(xué)系統(tǒng)采用ASP.NET技術(shù)進(jìn)行開發(fā),選用SQL Server 2008作為后臺(tái)數(shù)據(jù)庫(kù)。
1 系統(tǒng)功能模塊
該系統(tǒng)分如下幾個(gè)模塊。
(1)用戶管理。
用戶包括3種:學(xué)生、教師、管理員。管理員可以執(zhí)行所有操作,教師可以上傳視頻和題目、批改作業(yè)、回復(fù)留言,學(xué)生能在線看視頻、做作業(yè)、提交作業(yè)和留言。用戶管理包括:用戶注冊(cè)、用戶登錄、用戶刪除。
(2)學(xué)生場(chǎng)景教學(xué)管。
學(xué)生登錄后能在線看所選課程的場(chǎng)景視頻,每個(gè)課程包含很多場(chǎng)景視頻,而每個(gè)場(chǎng)景視頻包括1~3個(gè)子視頻,每學(xué)完一個(gè)子視頻必須做完作業(yè)并提交作業(yè)才能進(jìn)入下一子視頻。在學(xué)習(xí)過(guò)程中可針對(duì)場(chǎng)景留言,可以啟動(dòng)外部編程軟件進(jìn)行實(shí)操,做完作業(yè)后要顯示實(shí)操說(shuō)明和錯(cuò)在哪里。
(3)學(xué)習(xí)報(bào)告管理。
學(xué)生學(xué)習(xí)完后可生成學(xué)習(xí)報(bào)告,報(bào)告顯示各個(gè)學(xué)生的學(xué)習(xí)時(shí)長(zhǎng)、平均正確率、教師對(duì)其的點(diǎn)評(píng)等。
(4)教師管理。
學(xué)生在學(xué)習(xí)過(guò)程中可針對(duì)場(chǎng)景留言,教師針對(duì)留言進(jìn)行回復(fù),教師批改作業(yè)并對(duì)作業(yè)進(jìn)行點(diǎn)評(píng)。教師用戶經(jīng)過(guò)資質(zhì)審核后即可擁有構(gòu)建場(chǎng)景權(quán)限。只要遵循場(chǎng)景構(gòu)建協(xié)議,制作好視頻課件、題目、答案、實(shí)操提示上傳,并填寫相應(yīng)參數(shù)提交給場(chǎng)景教學(xué)系統(tǒng),即可動(dòng)態(tài)生成場(chǎng)景,經(jīng)系統(tǒng)管理員審核發(fā)布后供學(xué)習(xí)者學(xué)習(xí)。
2 關(guān)鍵實(shí)現(xiàn)技術(shù)
2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
根據(jù)前面的分析,創(chuàng)建數(shù)據(jù)庫(kù)QCDB,該數(shù)據(jù)庫(kù)至少要包含如下7張表。
(1)用戶表:用戶名、密碼、用戶類型。
(2)課程表:課程號(hào)、課程名。
(3)場(chǎng)景表:場(chǎng)景號(hào)、課程號(hào)、場(chǎng)景名、視頻數(shù)、題目1、題目1答案1、題目1答案2、題目1答案3、題目2、題目2答案1、題目2答案2、題目2答案3、題目3、題目3答案1、題目3答案2、題目3答案3、實(shí)操提示1、實(shí)操提示2、實(shí)操提示3。
(4)學(xué)習(xí)記錄表:用戶名、場(chǎng)景號(hào)、題目1空數(shù)、題目1對(duì)數(shù)、題目2空數(shù)、題目2對(duì)數(shù)、題目3空數(shù)、題目3對(duì)數(shù)、學(xué)習(xí)時(shí)長(zhǎng)。
(5)留言表:留言ID、用戶名、場(chǎng)景號(hào)、留言內(nèi)容、時(shí)間。
(6)回復(fù)表:回復(fù)ID、留言ID、回復(fù)內(nèi)容、用戶名、時(shí)間。
(7)作業(yè)表:作業(yè)ID、課程號(hào)、場(chǎng)景號(hào)、用戶名、文件名、時(shí)間、點(diǎn)評(píng)。
以上冒號(hào)前是表名,冒號(hào)后為字段名,有下劃線的字段為關(guān)鍵字。
2.2 主要用戶界面設(shè)計(jì)
該系統(tǒng)網(wǎng)頁(yè)界面使用DIV+CSS進(jìn)行布局,最主要的頁(yè)面就是學(xué)生場(chǎng)景教學(xué)頁(yè)面,頁(yè)面布局設(shè)計(jì)如圖1所示。
2.3 ADO.NET技術(shù)
System.Data命名空間提供了不同的ADO.NET類,該類庫(kù)包含兩組重要的類:一組負(fù)責(zé)處理軟件內(nèi)部的實(shí)際數(shù)據(jù)(DataSet),一組負(fù)責(zé)與外部數(shù)據(jù)系統(tǒng)通信(Data Provider),具體包括[1]:Connection對(duì)象提供與數(shù)據(jù)源的連接。Command對(duì)象使您能夠訪問(wèn)用于返回?cái)?shù)據(jù)、修改數(shù)據(jù)、運(yùn)行存儲(chǔ)過(guò)程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫(kù)命令。DataReader對(duì)象從數(shù)據(jù)源中提供快速的、只讀的數(shù)據(jù)流。DataAdapter對(duì)象提供連接DataSet對(duì)象和數(shù)據(jù)源的橋梁。該系統(tǒng)定義了一個(gè)數(shù)據(jù)庫(kù)類,使用ADO.NET技術(shù),專門用來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪改查。為了防止SQL注入式攻擊以及方便構(gòu)建SQL語(yǔ)句[2],該系統(tǒng)在登錄及執(zhí)行insert及update語(yǔ)句時(shí)使用參數(shù)化查詢,例如構(gòu)建場(chǎng)景的insert語(yǔ)句為insert into場(chǎng)景表(課程號(hào),場(chǎng)景名,視頻數(shù),題目1,題目1答案1,題目1答案2,題目1答案3,題目2,題目2答案1,題目2答案2,題目2答案3,題目3,題目3答案1,題目3答案2,題目3答案3,實(shí)操提示1,實(shí)操提示2,實(shí)操提示3)values(@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12,@13,@14,@15,@16,@17,@18),然后對(duì)以上18個(gè)參數(shù)賦值并執(zhí)行查詢即可。
2.4 Ajax技術(shù)
AJAX在瀏覽器與Web服務(wù)器之間使用異步數(shù)據(jù)傳輸(HTTP請(qǐng)求)從服務(wù)器獲取數(shù)據(jù)[3]。UpdatePanel可以用來(lái)創(chuàng)建豐富的局部更新Web應(yīng)用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一個(gè)控件,其強(qiáng)大之處在于不用編寫任何客戶端腳本,只要在一個(gè)頁(yè)面上添加幾個(gè)UpdatePanel控件和一個(gè)ScriptManager控件就可以自動(dòng)實(shí)現(xiàn)局部更新。在場(chǎng)景教學(xué)頁(yè)面的留言區(qū)就使用了UpdatePanel,這樣在提交留言時(shí)就不會(huì)影響上面視頻的播放了。另外系統(tǒng)中很多頁(yè)面會(huì)彈出消息框,傳統(tǒng)的消息框會(huì)導(dǎo)致整個(gè)頁(yè)面刷新,效果很不好。該系統(tǒng)使用ASP.NET Ajax擴(kuò)展控件中的ModalPopup顯示模式彈出窗口,整個(gè)頁(yè)面不用刷新,用戶體驗(yàn)好,不過(guò)在使用擴(kuò)展控件之前要添加AjaxControlToolkit,并且就不用再添加ScriptManager了。
3 結(jié)語(yǔ)
該系統(tǒng)的開發(fā)環(huán)境為VS2008,以SQL SERVER2008為后臺(tái)數(shù)據(jù)庫(kù)支撐環(huán)境,設(shè)計(jì)出了有實(shí)用價(jià)值的場(chǎng)景教學(xué)系統(tǒng),該系統(tǒng)與同類系統(tǒng)相比,不僅性能較高、運(yùn)行較為穩(wěn)定,而且可維護(hù)性和可擴(kuò)展型都比較出色。
參考文獻(xiàn)
[1] 周敏,雷彬,趙正凡,等.基于ASP.NET的易大學(xué)服務(wù)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2019(1):25.
[2] 林佳一.ADO.NET中數(shù)據(jù)訪問(wèn)方式的探討[J].電腦知識(shí)與技術(shù),2017(3):13-15.
[3] 郝潔.ASP.NET AJAX框架在Web開發(fā)中的應(yīng)用[J].電子技術(shù)與軟件工程,2017(17):55.