沙 飛 張 楠 劉文艷 王 珂 楊 淼 翟陽陽 謝 艷
目前,隨著計算機和互聯(lián)網(wǎng)的廣泛應用,電子化的考試方式也在逐步取代傳統(tǒng)考試方式,而電子化考試較之傳統(tǒng)紙質試卷的優(yōu)勢十分明顯。電子化考試是指通過電腦實現(xiàn)考試過程,分為單機考試和聯(lián)網(wǎng)考試兩類。目前的電子化考試以網(wǎng)絡為基礎,在線考試極大地豐富了電子化考試的功能,提高了師生的工作和學習效率,節(jié)約了紙張和印刷成本,使考試相關的各種數(shù)據(jù)以動態(tài)的方式保存,既利于數(shù)據(jù)重復使用和更新,又節(jié)省傳統(tǒng)介質保存的空間,同時還降低了數(shù)據(jù)資料丟失損壞的風險[1-2]。本研究針對在線考試系統(tǒng)的選擇、運行環(huán)境的搭建、結構功能設計及應用、再開發(fā)及優(yōu)化展望等方面,結合醫(yī)學院校的特點研究和實現(xiàn)在線考試系統(tǒng)。
對于各種硬件終端和軟件操作系統(tǒng)下的網(wǎng)絡應用程序(軟件)而言有兩大種類:①客戶端程序與服務器端程序(client/server,C/S);②瀏覽器與服務器端程序(browser/server,B/S)[3-4]。兩種應用程序運行模式存在一些區(qū)別,從用戶體驗角度而言,其主要區(qū)別是用戶終端的使用界面不同,C/S使用單獨開發(fā)的客戶終端程序,B/S使用通用的客戶終端程序—瀏覽器。從設計結構角度而言,C/S相對復雜,除了真正意義上的服務器和客戶終端外,在其之間還存在中繼服務器或網(wǎng)關來分擔功能和訪問的壓力;而B/S的結構更簡單,服務器和客戶終端未直接參與其他元素。C/S和B/S在結構上的差別使得其適用于不同的場合,前者適用大型的考試環(huán)境,通常是基于互聯(lián)網(wǎng)的大型考試,如省市甚至全國范圍的考試。而B/S更適合局域網(wǎng),如校園內部的小范圍考試。雖然C/S模式的功能更加強大,運行穩(wěn)定性更好,但是B/S同樣具備搭建門檻低,更新維護便利的優(yōu)勢。兩種模式各具特點,各有利弊,無法完全互相取代,關鍵在于應用到合適的環(huán)境里,其各自的優(yōu)勢才能得到體現(xiàn)。
通過B/S模式考試系統(tǒng)的應用,使得醫(yī)學院校的考試更加高效便捷。目前已開發(fā)運行的考試系統(tǒng)有很多,包括商業(yè)和開源[5]項目,本研究最終選擇的是開源B/S項目TCExam系統(tǒng)。開源項目除節(jié)省購買成本外,更重要的是具備二次開發(fā)的可能,使得其功能可以根據(jù)用戶的需要不斷擴展。
TCExam是國外的一款基于LAMP(Linux+Apache+MySQL+PHP)架構[6]的開源軟件項目,于2004年問世,經(jīng)歷多次更新升級,是一款運行穩(wěn)定的院校級考試系統(tǒng)。開源項目的最顯著優(yōu)勢是代碼公開,更改升級方便,功能擴展空間廣闊,使用成本低廉,甚至非商業(yè)場合可免費使用。TCExam是由PHP編程語言代碼編寫,默認連接MySQL數(shù)據(jù)庫的考試及管理平臺。PHP與C、C++及Java等編程語言的語法非常相似,并且同時支持面向對象和面向過程的編程邏輯結構,有類似語言編程經(jīng)驗的開發(fā)者極易適應PHP的代碼編寫。相對于其他高級編程語言,PHP省去了編譯的步驟,而是由服務器對PHP代碼解釋運行,方便了開發(fā)者[7]。以上這些特點使得PHP被公認為當今最優(yōu)秀的網(wǎng)絡編程語言之一,被國內外廣泛使用。運行平臺方面,PHP可搭配多種伺服系統(tǒng)和操作系統(tǒng),具備突出的跨平臺性[8]。雖然PHP更多時候被推薦在Unix/Linux平臺上運行,但其在Windows平臺上運行的穩(wěn)定性也較好,降低了TCExam用戶的技術門檻,使得對Unix/Linux平臺的維護開發(fā)不太擅長的用戶也能輕松使用,以Windows作為替代平臺,降低了本地開發(fā)的成本。
MySQL同樣被視為LAMP項目的經(jīng)典開發(fā)工具。MySQL數(shù)據(jù)庫繼承了標準SQL語言,其建立的數(shù)據(jù)庫具備很強的可移植性。MySQL同樣具有很好的跨平臺性,在Unix/Linux和Windows平臺上的運行性能都很好。MySQL在功能模塊加載方面具有突出的靈活性,其與Oracle、SQLServer等大型關系數(shù)據(jù)庫相比,功能定制更加自由,通常體現(xiàn)為更快的運行速度。對于TCExam這類院校級的中型項目,選擇MySQL作為后臺數(shù)據(jù)庫很恰當。
在線考試系統(tǒng)的應用目標是醫(yī)學院校的日常測試及期末上機考試,同時在線考生人數(shù)分別為300人以內。為了降低應用開發(fā)門檻,且早日投入使用,將TCExam系統(tǒng)運行在Windows平臺上,其版本選擇TCExam-12.1.012。
編程語言PHP和后臺數(shù)據(jù)庫MySQL已確定前提下,首先要選擇伺服器[9]—Apache或互聯(lián)網(wǎng)信息服務(internet information services,IIS)工具。Apache在世界范圍內已被眾多項目所驗證,其在Unix/Linux和Windows平臺都能正常工作,但在Unix/Linux平臺上可以發(fā)揮出更加出眾的性能。而IIS工具是微軟平臺下默認伺服器,雖然具有配置方便的優(yōu)勢,但是現(xiàn)實中幾乎無法與Unix/Linux平臺搭配??紤]到日后將TCExam系統(tǒng)向Unix/Linux平臺上移植擴展,以獲得更加出色的性能和更加穩(wěn)定的運行狀態(tài),選擇Apache,版本號為2.2.14。TCExam采用完全的面向對象模式編寫,不需要支持面向過程,因此編程語言PHP的版本選擇5.2.17;數(shù)據(jù)庫MySQL的服務器版本為5.5.8。
由于本項目的定位不僅在于對TCExam的應用,未來必將涉及代碼修改、功能擴展等再開發(fā)領域,因此除以上核心軟件外,還安裝了后臺數(shù)據(jù)庫管理維護工具phpMyAdmin,以便直觀深入了解數(shù)據(jù)庫的設計結構,便于再設計。phpMyAdmin數(shù)據(jù)庫管理維護工具安裝的版本為3.3.9.1。安裝部署完成后的主界面如圖1所示。
圖1 在線考試系統(tǒng)運行平臺界面圖
(1)TCExam平臺。TCExam目前的主要功能包括測試和管理兩大板塊。測試為前臺應用層面,即用戶參加考試;管理體現(xiàn)在多個層面或功能上,分為題庫創(chuàng)建及維護、試卷組題及考試設置維護、考試實時監(jiān)控管理、試卷分析及成績管理以及后臺用戶數(shù)據(jù)維護管理,不同的功能針對不同性質或權限的用戶。TCExam是個多權限多用戶的平臺,預設置了0~10共11個權限等級,等級越高權限越大。
(2)TCExam在實際應用中0~10級的11個等級歸結為4種權限:①系統(tǒng)管理員,10級是具有所有操作權限的系統(tǒng)管理員用戶;②普通管理員,9、8、7、6、5級是具有相同的限制管理權限的管理員用戶;③普通用戶,4、3、2、1級是無管理權限,但可以登錄系統(tǒng)參加考試的用戶;④匿名用戶,0級則只能登錄無法進行任何操作。將權限細化為11個級別,是為系統(tǒng)再開發(fā)時的功能擴充預留接口,以滿足不同用戶多樣的需求[10]。同級權限下可注冊多個用戶,系統(tǒng)管理員擁有全部權限,可以進行任何操作;普通管理員的權限可以完成題庫創(chuàng)建及維護、試卷組題及考試設置維護、試卷分析及成績管理等操作;普通用戶能參加測試以及進行與本人賬戶相關的信息操作;匿名用戶目前只能登錄系統(tǒng),無任何操作權限,可為今后再開發(fā)擴充功能留出接口。
通過TCExam系統(tǒng)來滿足醫(yī)學院校日常測驗或期末考試的需求,提高考試和閱卷的效率。為達到這個目標,需要完成3個基本步驟:①建立用戶信息和權限分配;②題庫結構設計和題目信息創(chuàng)建;③試卷生成和考場信息設定。采用TCExam系統(tǒng)進行分子生物學考試的界面如圖2所示。
圖2 分子生物學考試界面圖
系統(tǒng)中默認的頂級權限用戶admin,一切操作從開始admin屬于系統(tǒng)的默認組default。將具備題庫創(chuàng)建管理權限的教師設置為7級用戶,將參加考試的學生設置為1級用戶。與操作系統(tǒng)類似,用戶在創(chuàng)建時必須指定一個或多個組。教師組名可以學院名或學系名指定,亦或是兩者組合命名;而學生組名按照其所在教學班來設置。當學生學籍變動時,此類學生將被設置在曾經(jīng)所在的班所命名的多個組中,這樣既保留了變化的痕跡,數(shù)據(jù)更新操作也非常簡單。要求具備唯一性的用戶名,分別以教師職工號和學生學號命名。
(1)TCExam的題庫自上而下有模塊、主題和題目3層結構,依次向下包含。命名方式會因環(huán)境和思路不同而不同,但無論采用何種方式命名,3層所屬關系需要保持。本項目中,將模塊設計成各門課程,如分子生物學、計算機基礎等。將主題設計成同一課程中針對不同對象或者不同難度級別的題目,目的是在生成試卷時,可以針對不同性質學生靈活有效地控制題目的難易比例。將1級設計為夜大書本題目,2級為本科書本題目,3級為低等難度題目,4級為中等難度題目,5級為高等難度題目,難度級別升序排列。
(2)題目創(chuàng)建。采用界面創(chuàng)建和導入創(chuàng)建兩種方式創(chuàng)建題目,教師(次級管理員)和頂級管理員均具有操作權限。對系統(tǒng)不熟悉的用戶或者首次創(chuàng)建題目時,推薦采用界面創(chuàng)建方式,此種方式直觀明確,按部就班不容易出錯。而對于系統(tǒng)管理員和有經(jīng)驗的教師用戶而言,使用具備批處理性質的導入創(chuàng)建題目的方式更高效。TCExam支持兩種題目文件導入XML和TSV格式,且均為文本格式。前者兼容性更好,很容易移植到其他系統(tǒng)和數(shù)據(jù)庫中;后者則格式更加直觀,便于理解。導入創(chuàng)建方式是直接向數(shù)據(jù)庫寫入大量數(shù)據(jù),需要頂級管理員權限。
(3)TCExam中默認的題型有單選、多選、問答和排序4種類型,可以滿足日??荚囆枰?。對于醫(yī)學院校而言,試題中常會出現(xiàn)圖像甚至動態(tài)圖像。TCExam支持各種常見文件格式,可以將圖片、動畫圖片甚至視頻上傳到指定用戶文件目錄中,并將其運用到題目的題干或答案選項中。因為瀏覽器作為TCExam系統(tǒng)的客戶端,許多格式的圖像、動畫或視頻都被默認支持,特殊的格式文件可以通過安裝瀏覽器插件[11]方式解決,此種優(yōu)勢明顯提高了在線考試題目內容的豐富性,而多媒體方式呈現(xiàn)的試題是傳統(tǒng)紙質試卷無法比擬的,充分滿足了醫(yī)學院校師生的需求。
(1)題庫生成后,通過TCExam系統(tǒng)可以將各模塊下的任何主題中的題目自由地組合在一起,最終生成學生使用的考卷。此種方式可以將不同難度,不同形式的題目組合起來,既方便又高效,并且實現(xiàn)了題庫資源的高度共享和重復利用。同主題下題目的順序以及某一題目中的選項順序,都可以設定隨機生成。從考試角度而言,每位考生看到的試題都不盡相同,在保證考試公正的同時還提高了教室空間的利用率。
(2)考場信息設定方面,根據(jù)TCExam的功能設計,可以通過對考試時間、地點、對象等方面進行設置,更加充分地保證考試的安全性??荚嚂r間指考試生效的時間范圍,通常將生效時間范圍設置為包含且大于實際考試時間段,開始前和結束后都留有富余時間應對突發(fā)和特殊情況;對于考試地點的限制通過IP范圍的設定來實現(xiàn),只有在有效IP地址范圍內的電腦才有權限參加考試;對于參加考試對象的限制,通過設置特定組(教學班)來實現(xiàn),非此范圍內的組無權限參加考試。此外,設置考試密碼加以配合,即開考前監(jiān)考老師統(tǒng)一宣布考試密碼,全體考生同時開始考試,以確??荚嚨墓?。
(3)通過TCExam系統(tǒng),已經(jīng)將本學院的多門課程以及其他醫(yī)學專業(yè)課程考試成功上線。目前考試系統(tǒng)主要針對以客觀題目為主的科目。對于成績提取和統(tǒng)計方面,系統(tǒng)實現(xiàn)更加便捷。TCExam可以以班級(組)或個人的方式索引提取成績,并且可以對每位考生的試卷進行還原,也可以進行多種形式的信息統(tǒng)計。
TCExam系統(tǒng)的優(yōu)勢是安裝、使用、維護及擴展方便,成本低廉,因此非常適合中小型網(wǎng)絡環(huán)境。安全性方面和穩(wěn)定性方面是短板,如考生身份驗證,數(shù)據(jù)、網(wǎng)絡突發(fā)情況的應對方面,與大型的商業(yè)化的C/S模式系統(tǒng)無法相比[12]。因此,這些方面需要人工輔助完成??荚囅到y(tǒng)無絕對的好壞,關鍵在于針對不同環(huán)境條件選擇最合適的工具。
實現(xiàn)在線考試系統(tǒng)在Widows平臺上的應用,就LAMP項目本身而言,想獲得更高的穩(wěn)定性、更好的用戶體驗以及更多的功能擴展,Unix/Linux系統(tǒng)是最優(yōu)選擇。嘗試將TCExam向Unix/Linux平臺移植,使其運行更加穩(wěn)定,功能更加完善,以便更好的服務于醫(yī)學院校的師生。無論何種考試系統(tǒng)、何種工作模式以及何種運行平臺,在線考試系統(tǒng)必然會逐步取代傳統(tǒng)紙質試卷。對于課程多信息量的醫(yī)學院校而言,是今后發(fā)展的必然趨勢。