期刊VIP學(xué)術(shù)指導(dǎo) 符合學(xué)術(shù)規(guī)范和道德
保障品質(zhì) 保證專業(yè),沒有后顧之憂
來源:期刊VIP網(wǎng)所屬分類:計(jì)算機(jī)應(yīng)用時(shí)間:瀏覽:次
在新科技的發(fā)展中有哪些地方都用到了現(xiàn)在的新科技技術(shù)呢?在線考試的新科技管理模式有哪些技巧呢?本文是一篇計(jì)算機(jī)應(yīng)用論文呢。文章對現(xiàn)在在線考試必須實(shí)現(xiàn)時(shí)間顯示、定時(shí)存盤、自動(dòng)交卷等時(shí)間控制功能。時(shí)間控制技術(shù)是在線考試的關(guān)鍵技術(shù),傳統(tǒng)的Web技術(shù)難以實(shí)現(xiàn)時(shí)間控制功能,AJAX技術(shù)能有效地實(shí)現(xiàn)時(shí)間控制功能。ASP.NET將AJAX技術(shù)作為標(biāo)準(zhǔn)配置,提供一組AJAX組件,使用ASP.NET的AJAX組件能方便地應(yīng)用AJAX技術(shù)實(shí)現(xiàn)在線考試系統(tǒng)的時(shí)間控制功能。本文具體論述了AJAX組件應(yīng)用于在線考試系統(tǒng)時(shí)間控制功能的分析、設(shè)計(jì)和關(guān)鍵代碼。經(jīng)實(shí)踐證明,本技術(shù)方案切實(shí)可行,有效地實(shí)現(xiàn)了在線考試系統(tǒng)的時(shí)間控制功能。由于本技術(shù)方案基于AJAX組件,因此頁面顯示和實(shí)現(xiàn)功能受AJAX組件限制,這還要在今后的實(shí)踐中加以完善,擴(kuò)展其功能,提高在線考試系統(tǒng)的性能。
摘要:時(shí)間控制技術(shù)是在線考試的關(guān)鍵技術(shù)。時(shí)間控制技術(shù)實(shí)現(xiàn)考試剩余時(shí)間實(shí)時(shí)顯示、每隔一定時(shí)間自動(dòng)保存答題結(jié)果和考試時(shí)間到自動(dòng)交卷等時(shí)間控制功能。本文介紹了實(shí)現(xiàn)時(shí)間控制功能的AJAX技術(shù),具體說明了在線考試系統(tǒng)AJAX組件的設(shè)計(jì)、實(shí)現(xiàn)和關(guān)鍵代碼。
關(guān)鍵詞:在線考試系統(tǒng),控制管理技術(shù),計(jì)算機(jī)應(yīng)用論文
1 引言(Introduction)
傳統(tǒng)考試采用人工的考試方式。隨著計(jì)算機(jī)和網(wǎng)絡(luò)的普及,計(jì)算機(jī)考試系統(tǒng)使用越來越廣泛。計(jì)算機(jī)考試系統(tǒng)具有試題管理、自動(dòng)組卷、在線考試、自動(dòng)評分等功能,和傳統(tǒng)考試方式相比,計(jì)算機(jī)考試系統(tǒng)具有工作效率高、資源消耗低和管理方便等優(yōu)點(diǎn)[1]。
論文網(wǎng)推薦:《計(jì)算機(jī)與數(shù)字工程》,《計(jì)算機(jī)與數(shù)字工程》1973年創(chuàng)刊,是學(xué)術(shù)、技術(shù)性國家正式刊物,主要刊登國內(nèi)外計(jì)算機(jī)方面的新理論、新技術(shù)、訂報(bào)工藝、新成果。堅(jiān)持為社會(huì)主義服務(wù)的方向,堅(jiān)持以馬克思列寧主義、毛澤東思想和鄧小平理論為指導(dǎo),貫徹“百花齊放、百家爭鳴”和“古為今用、洋為中用”的方針,堅(jiān)持實(shí)事求是、理論與實(shí)際相結(jié)合的嚴(yán)謹(jǐn)學(xué)風(fēng),傳播先進(jìn)的科學(xué)文化知識(shí),弘揚(yáng)民族優(yōu)秀科學(xué)文化,促進(jìn)國際科學(xué)文化交流,探索防災(zāi)科技教育、教學(xué)及管理諸方面的規(guī)律,活躍教學(xué)與科研的學(xué)術(shù)風(fēng)氣,為教學(xué)與科研服務(wù)。
計(jì)算機(jī)考試系統(tǒng)分為B/S和C/S兩種工作模式。C/S模式稱為客戶機(jī)服務(wù)器模式,是由客戶機(jī)應(yīng)用程序和數(shù)據(jù)庫服務(wù)器組成。B/S模式稱為瀏覽器服務(wù)器模式,是由瀏覽器、Web服務(wù)器和數(shù)據(jù)庫服務(wù)器組成。B/S模式是當(dāng)前主流的應(yīng)用模式,和C/S模式相比,B/S模式具有安裝簡單、容易使用、管理方便等優(yōu)點(diǎn)。本文采用ASP.NET技術(shù)實(shí)現(xiàn)基于B/S模式的在線考試系統(tǒng)。
2 AJAX技術(shù)概述(AJAX overview)
傳統(tǒng)的Web技術(shù)基于“請求-刷新”機(jī)制。當(dāng)瀏覽器刷新頁面的時(shí)候,瀏覽器向Web服務(wù)器提出請求,Web服務(wù)器接受并處理請求,向?yàn)g覽器發(fā)送全部頁面數(shù)據(jù),瀏覽器接受返回的數(shù)據(jù),刷新整個(gè)頁面。當(dāng)頁面只有局部區(qū)域需要刷新的時(shí)候,傳統(tǒng)的Web技術(shù)也要發(fā)送全部頁面數(shù)據(jù),刷新整個(gè)頁面,當(dāng)網(wǎng)速較慢的時(shí)候,整個(gè)過程要消耗較長的時(shí)間,造成頁面的響應(yīng)速度變慢,整個(gè)頁面刷新還會(huì)帶來明顯的頁面閃爍。
AJAX的中文名稱是“異步的JavaScript和XML”,AJAX技術(shù)是一種頁面局部刷新和異步回發(fā)的Web開發(fā)技術(shù)[2]。當(dāng)采用AJAX技術(shù)的網(wǎng)頁刷新頁面局部區(qū)域的時(shí)候,瀏覽器向Web服務(wù)器提出所需數(shù)據(jù)的請求,Web服務(wù)器只需向?yàn)g覽器發(fā)送所需頁面的數(shù)據(jù)。瀏覽器和Web服務(wù)器的交互是一種異步回發(fā)的過程,瀏覽器發(fā)出請求并不等待Web服務(wù)器返回?cái)?shù)據(jù),而是繼續(xù)進(jìn)行HTML文檔的解析顯示和接受用戶的輸入操作。瀏覽器收到所需的頁面數(shù)據(jù)并不刷新整個(gè)頁面,而是刷新頁面的局部區(qū)域。整個(gè)過程只有需要的數(shù)據(jù)在網(wǎng)絡(luò)中傳送,這既提高了頁面的響應(yīng)速度,又不影響頁面的正常顯示和用戶操作,所以AJAX技術(shù)特別適合應(yīng)用于交互多、數(shù)據(jù)需頻繁提交的在線考試系統(tǒng)[3]。
AJAX技術(shù)在ASP.NET開發(fā)平臺(tái)有著重要的作用。ASP.NET將AJAX作為系統(tǒng)的標(biāo)準(zhǔn)配置,ASP.NET提供了一組AJAX Extensions控件,開發(fā)人員使用這組AJAX組件可以方便地在ASP.NET網(wǎng)頁中應(yīng)用AJAX技術(shù)。AJAX組件實(shí)現(xiàn)頁面局部刷新和異步回發(fā)的核心技術(shù)是UpdatePanel控件和ScriptManager控件。UpdatePanel控件用于定義頁面的可更新區(qū)域,當(dāng)頁面區(qū)域需要局部更新的時(shí)候,就將這塊區(qū)域包圍在UpdatePanel中。ScriptManager控件用于解決客戶端JavaScript腳本程序與Web服務(wù)器之間相互通信的問題。Timer控件用于實(shí)現(xiàn)定時(shí)刷新頁面的功能,Timer控件的Interval屬性用于設(shè)置定時(shí)的時(shí)間間隔,單位為毫秒,Tick事件用于編寫代碼實(shí)現(xiàn)時(shí)間控制功能。UpdateProgress控件用于頁面發(fā)生異步回發(fā)的時(shí)候給予用戶一個(gè)友好的提示,UpdateProgress控件的AssociatedUpdatePanelID屬性用于設(shè)置UpdateProgress控件關(guān)聯(lián)的UpdatePanel控件,當(dāng)UpdatePanel控件發(fā)送異步回發(fā)的時(shí)候,頁面顯示UpdateProgress控件,當(dāng)UpdatePanel控件收到web服務(wù)器發(fā)回的數(shù)據(jù)的時(shí)候,頁面隱藏UpdateProgress控件。
3 時(shí)間控制設(shè)計(jì)與實(shí)現(xiàn)(Time control design andimplementation)
時(shí)間控制功能是在線考試的基本功能。在線考試系統(tǒng)必須能夠顯示當(dāng)前剩余的考試時(shí)間,對考試時(shí)間自動(dòng)進(jìn)行倒計(jì)時(shí),考試時(shí)間到自動(dòng)進(jìn)行交卷操作。考生在考試過程中,當(dāng)遇到意外情況如數(shù)據(jù)庫連接失敗、交卷失敗、網(wǎng)絡(luò)中斷等情況時(shí),如果不加以處理,一般會(huì)造成數(shù)據(jù)的丟失,很容易造成考生考試失敗[4]。為了提高系統(tǒng)的容錯(cuò)性,系統(tǒng)必須能夠按照一定的時(shí)間間隔自動(dòng)保存考生的答題結(jié)果和考試的剩余時(shí)間。在系統(tǒng)異常退出的情況下,考生能夠進(jìn)行二次考試,系統(tǒng)自動(dòng)讀取最近一次考生的答題結(jié)果和考試的剩余時(shí)間,最大限度地減少意外情況對考試的影響。由于定時(shí)存盤是在系統(tǒng)后臺(tái)完成,為了方便考生查看存盤狀態(tài),系統(tǒng)在進(jìn)行存盤操作的時(shí)候,頁面顯示“正在存盤”的提示信息。在線考試系統(tǒng)時(shí)間控制處理流程如圖1所示。
圖1 時(shí)間控制處理流程圖
Fig.1 Time control processing flow chart
傳統(tǒng)的Web技術(shù)實(shí)現(xiàn)在線考試的時(shí)間控制功能存在諸多問題。服務(wù)器需要每隔一段時(shí)間向客戶端發(fā)送時(shí)間,校正客戶端顯示的剩余時(shí)間,考生每做一題,答案立即保存到服務(wù)器,這樣會(huì)導(dǎo)致客戶端考試頁面頻繁刷新,影響考生考試操作[5]。AJAX組件能方便有效地實(shí)現(xiàn)在線考試系統(tǒng)的時(shí)間控制。時(shí)間顯示定義為頁面的局部刷新區(qū)域,則時(shí)間顯示只刷新頁面的局部區(qū)域,不會(huì)刷新整個(gè)頁面。定時(shí)存盤定義為異步回發(fā)操作,則定時(shí)存盤由系統(tǒng)在后臺(tái)自動(dòng)完成,不會(huì)影響用戶操作。在考試頁面添加一個(gè)UpdatePanel控件,建立一個(gè)頁面局部刷新區(qū)域。在UpdatePanel控件中,分別添加Label控件、ScriptManager控件和Timer控件。Label控件用于考試時(shí)間倒計(jì)時(shí)顯示,Timer控件用于考試過程的時(shí)間控制。Timer控件的Interval屬性設(shè)置為1000毫秒,表示定時(shí)操作的時(shí)間間隔為1秒鐘。在Timer控件的Tick事件中編寫代碼,實(shí)現(xiàn)時(shí)間控制功能。在考試頁面添加一個(gè)UpdateProgress控件,在UpdateProgress控件中添加存盤提示信息,設(shè)置UpdateProgress控件的AssociatedUpdatePanelID屬性為UpdatePanel控件ID,當(dāng)系統(tǒng)在后臺(tái)進(jìn)行定時(shí)存盤的時(shí)候, 頁面顯示UpdateProgress控件的存盤提示信息。頁面設(shè)計(jì)顯示效果如圖2所示。
圖2 考試頁面效果圖
Fig.2 Examination page effect chart
4 時(shí)間控制關(guān)鍵代碼(Time control key codes)
Timer控件的Tick事件實(shí)現(xiàn)了考試過程時(shí)間顯示、定時(shí)存盤和自動(dòng)交卷等時(shí)間控制功能。時(shí)間顯示功能每隔一秒鐘將當(dāng)前剩余時(shí)間秒數(shù)減一,并將當(dāng)前剩余時(shí)間秒數(shù)轉(zhuǎn)換為時(shí)間格式在頁面顯示。定時(shí)存盤功能每隔一秒鐘將定時(shí)時(shí)間變量加一,若定時(shí)時(shí)間變量為300,即定時(shí)時(shí)間間隔為5分鐘,則進(jìn)行存盤操作,保存當(dāng)前答題結(jié)果和考試時(shí)間,并將定時(shí)時(shí)間變量重置為0。自動(dòng)交卷功能每隔一秒鐘將當(dāng)前剩余時(shí)間秒數(shù)減一,若當(dāng)前剩余時(shí)間秒數(shù)為0,表示考試已經(jīng)結(jié)束,則進(jìn)行自動(dòng)交卷操作,保存考生答題結(jié)果,更新考生考試狀態(tài)為“考試結(jié)束”,重定向當(dāng)前頁面為開始考試頁面。時(shí)間控制關(guān)鍵代碼如下:
protected void Timer1_Tick(object sender,
EventArgs e)
{
extime--;//考試時(shí)間減一
if (extime==600||extime==testtime*0.1)//考試結(jié)束前十分鐘提示
{
etime.ForeColor=System.Drawing.Color.Red;
etime.Font.Bold=true;
}
if (++savetime==30&&extime!=0)//每隔五分鐘定時(shí)存盤
{
SaveTest();
savetime=0;
}
if (extime==0)//考試時(shí)間到自動(dòng)交卷
{
SaveQuestion(currentquestion);
SaveTest();
Session["testing"]=0;
Response.Redirect("starttest.aspx");
}
etime.Text=Convert.ToString(extime/60)+
":"+Convert.ToString(extime-extime/60*60);//
顯示考試時(shí)間
}