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