摘 要:在傳統(tǒng)的英語教學模式下,學生對詞匯的掌握情況通常是由教師出題,以書面試卷的形式進行的,教師批閱試卷所耗費的時間比較多,整體效率較為低下,而且難免會出錯。英語詞匯測試軟件正是針對這些問題所設計的。使用Delphi可視化編程工具,基于C/S多層分布式數(shù)據(jù)庫模式,創(chuàng)建高效率的測試系統(tǒng)。
關鍵詞:C/S多層效率
中圖分類號:TP393文獻標識碼:A文章編號:1674-098X(2011)05(c)-0017-01
英語是當今最流行及應用領域最廣的語言種類之一,英語課程是每個學校必開的課程。詞匯作為英語的基礎,是每個學習者必須首先掌握的。目前英語背單詞的方式,還是采用學生先從單詞表中記憶,教師使用紙質的試卷進行測試,然后再進行批閱,無論是從學習興趣、學習質量還是整體的效率上來看,都是比較低下的。為了提高學生的學習效率,減輕教師批閱試卷的負擔,英語詞匯測試軟件是一件非常好的工具。
1 主要功能
1.1 服務端程序的主要功能
英語詞匯測試軟件服務端程序所實現(xiàn)的主要功能是,提供登錄信息驗證,測試試卷信息,單詞庫管理以及測試成績信息等服務。采用SQL Server 2000企業(yè)版作為數(shù)據(jù)庫服務器。
1.2 學生端程序的主要功能
英語詞匯測試軟件學生端程序所實現(xiàn)的主要功能是詞匯的練習及測試。學生端軟件首先從服務器端判斷有沒有新的測試項目,如果有新的測試內容,則隨機從遠程數(shù)據(jù)庫中下載相應的測試詞匯到本地數(shù)據(jù)庫中,系統(tǒng)會將詞匯次序重新排列,顯示在客戶端界面上。測試完成后,系統(tǒng)將測試成績提交至遠程數(shù)據(jù)庫中。若沒有新的測試內容,則需要等待教師端程序指定考試項目。
1.3 教師端程序的主要功能
教師端程序可以對測試的內容進行增加、刪除、修改等操作,規(guī)定學生測試的時限、數(shù)量及難度,系統(tǒng)會從詞庫中按照要求隨機抽取詞匯。當學生完成測試后,系統(tǒng)會自動對成績進行統(tǒng)計,分類匯總,打印或導出本次測試的結果,便于教師進行測試后的分析,學生亦可了解答題的詳細情況。
2 主要實現(xiàn)技術
英語詞匯測試軟件所實現(xiàn)的功能是對服務器端的數(shù)據(jù)進行管理的,因此采用的是多層分布式結構,即客戶端/服務器的C/S模式。
2.1 服務器端的創(chuàng)建
英語詞匯測試軟件服務器端的創(chuàng)建與DCOM服務器端的建立是一樣的,為了提高執(zhí)行效率,將服務器應用程序和數(shù)據(jù)庫服務器配置在同一臺計算機上。打開Delphi,先創(chuàng)建一個應用程序工程,然后在Remote Data Module選項卡中,創(chuàng)建服務器數(shù)據(jù)模塊,保存生成單元名稱為EnglishTestServer。
在遠程數(shù)據(jù)模塊創(chuàng)建過程中,生成一個名為IEnglishTest的接口,在該接口中定義服務器端的函數(shù),下面給出部分函數(shù)的定義:
IEnglishTest = interface(IAppServer)
['{9C26CFF2-3CB3-457D-BCBD-4A8B2C254291}']
procedure Login(const UserNo:WideString;const Password:WideString;); safecall;
procedure DeleteAll; safecall;
procedure HasTest(out Druation: OleVariant; out Units: OleVariant;); safecall;
end;
當接口方法定義完成后,實現(xiàn)接口的遠程服務器類會生成與接口對應的方法,客戶端程序只需要調用的接口函數(shù),即可實現(xiàn)相應的功能。
2.2 學生端軟件的實現(xiàn)
學生端軟件主要使用了Delphi可視化編程工具,并且應用了business skin第三方控件。在程序的實現(xiàn)上,主要應用了不重復的隨機數(shù)算法和網(wǎng)絡間的數(shù)據(jù)傳遞與操作技術。程序首先調用遠程接口函數(shù),從返回的結果判斷有沒有新的測試項目,如果有,則調用隨機函數(shù),從遠程數(shù)據(jù)庫中下載相應的詞匯,測試完成后,調用遠程函數(shù)批閱試卷,最后將成績數(shù)據(jù)提交至遠程數(shù)據(jù)庫中。
2.3 教師端軟件的實現(xiàn)
教師端軟件用于測試內容、詞匯及系統(tǒng)用戶的管理。測試內容可以進行增加、刪除、清空、修改等操作,完成后,通過網(wǎng)絡傳遞至遠程數(shù)據(jù)庫中。學生測試完成后,教師端程序可以查詢相應的成績數(shù)據(jù),程序指定查詢參數(shù),調用服務器接口函數(shù),將參數(shù)傳遞至服務端,返回的結果可以打印或導出。教師端通過參數(shù)傳遞,對遠程數(shù)據(jù)庫服務器中的詞匯進行管理。教師端亦可通過參數(shù)傳遞,對系統(tǒng)用戶進行管理。
3 提高應用系統(tǒng)的執(zhí)行效率
英語詞匯測試軟件是一個分布式的應用軟件,很多學生要同時在線測試,因此,執(zhí)行效率是至關重要的,在本系統(tǒng)中,采取兩種措施,提高應用系統(tǒng)的執(zhí)行效率。
3.1 合理的遠程調用方式
在類型庫中定義的接口函數(shù),都在*.tlb程序文件中,只要客戶端(學生端和教師端)能夠找到這個單元文件,就不需要服務器回傳變量,可以節(jié)省執(zhí)行的時間,因此,將應用程序服務器產(chǎn)生的*.tlb文件,保存在客戶端(學生端和教師端),然后引用該單元文件,此時的調用代碼的格式應該是:(DCOMconnection1.getServer as接口名稱).function(params)。
3.2 合理安排系統(tǒng)結構
本系統(tǒng)是建立在C/S結構基礎上的應用軟件系統(tǒng),如果采用傳統(tǒng)的系統(tǒng)架構,學生端需要4次網(wǎng)絡傳輸才能取得應用程序服務器的數(shù)據(jù),這樣執(zhí)行效率肯定不理想。如果我們對這種架構進行調整,用一個協(xié)調對象分別調用學生信息對象和測試成績對象,客戶端只與對象通信。應用系統(tǒng)只需要客戶端與應用程序服務器通信一次即可,并且是進程內執(zhí)行模式,效率會有顯著的提高。因此,有必要對系統(tǒng)架構作詳細的設計,以達到較高的執(zhí)行效率。
4 結語
英語詞匯測試軟件是采用了Delphi可視化編程工具,基于C/S結構的多層分布式軟件系統(tǒng)。本系統(tǒng)能夠在網(wǎng)絡環(huán)境下,高效地對英語詞匯進行測試,使得學生能夠查漏補缺,提高學習效率;同時能夠減輕教師的教學壓力,提升教學質量,提高教學效率。英語詞匯測試軟件可適用于各類學校及培訓機構,具有一定的市場前景。
參考文獻
[1]劉婷婷,孫志婷.基于C/S模式的遠程在線考試系統(tǒng)的原理及其Delphi實現(xiàn)[J].計算機光盤軟件與應用,2010(11):156-156.
[2]張雨文.利用Delphi實現(xiàn)Office無紙化考試的自動評分[J].福建電腦,2009(3):168-169.
[3]葛亦斌,盛蒙蒙,羅維,邱燁.Delphi在線考試系統(tǒng)[J].硅谷,2009,(21):103.
[4]張立波,顧金寶.基于DataSnap的多層網(wǎng)上考試系統(tǒng)分析與設計[J].科技信息,2009(33):83-84.