張占強(qiáng)
(淮海工學(xué)院計算機(jī)工程學(xué)院,江蘇連云港 222005)
Linux操作系統(tǒng)憑借安全性高、穩(wěn)定性強(qiáng)以及開源性的特點(diǎn)[1],必將會得到廣泛的應(yīng)用。目前在高校普遍開設(shè)Linux課程。該課程由于其實(shí)踐性強(qiáng)的特點(diǎn),如果采用傳統(tǒng)的考試方式,達(dá)不到考查學(xué)生動手能力的目的。本文針對Linux操作系統(tǒng)在線考試展開研究,系統(tǒng)使用Java語言進(jìn)行開發(fā),采用C/S結(jié)構(gòu),DBMS使用Mysql。系統(tǒng)實(shí)現(xiàn)了出題、組卷、考試、批改、成績管理等功能。題目類型分為客觀題目和主觀題目,客觀題目包括選擇題、判斷題,主觀題目包括常用命令操作和服務(wù)器配置。本系統(tǒng)的主要特點(diǎn)是能夠?qū)ι鲜霾僮餍灶}目實(shí)現(xiàn)自動批改,極大地提高了考試的準(zhǔn)確性和考試效率。
本系統(tǒng)需要解決的主要問題是如何在考試中對考生們的操作能力進(jìn)行測試,操作能力測試包括常用命令的操作及服務(wù)器配置操作。本系統(tǒng)要實(shí)現(xiàn)對上述操作題的自動批改,必須從試題庫建設(shè)和批改方法上做深入研究。
常用命令操作題是讓考生在考試機(jī)上執(zhí)行一些常用的Linux命令,所有的Linux命令執(zhí)行后都會在系統(tǒng)中留下痕跡。批改思路是用合適的命令把這些痕跡讀取出來,再根據(jù)標(biāo)準(zhǔn)答案進(jìn)行批改,這就需要對每道題選擇合適的批改命令,所以該類題目的試題庫中需要存放題目、批改命令以及標(biāo)準(zhǔn)答案。
服務(wù)器配置操作題是讓考生在考試機(jī)上進(jìn)行各種服務(wù)器的配置,這些配置操作會修改相關(guān)配置文件中的配置項(xiàng)[2]。當(dāng)考試結(jié)束時,該配置文件上傳至服務(wù)器,批改程序根據(jù)標(biāo)準(zhǔn)答案和配置文件中的配置項(xiàng),實(shí)現(xiàn)對該類題目的批改。所以該類題目的試題庫中需要存放服務(wù)器配置操作題的題目、配置文件名及標(biāo)準(zhǔn)答案。
本系統(tǒng)采用C/S結(jié)構(gòu),系統(tǒng)功能分別在服務(wù)器或客戶機(jī)上實(shí)現(xiàn)。服務(wù)器主要由教師使用,客戶機(jī)由學(xué)生使用。本系統(tǒng)業(yè)務(wù)流圖[3]如圖1所示。
圖1 系統(tǒng)業(yè)務(wù)流圖Fig.1 Transaction flow diagram of system
在服務(wù)器端需要實(shí)現(xiàn)試題管理、試卷管理、考試管理、系統(tǒng)維護(hù)等功能。功能結(jié)構(gòu)圖如圖2所示。
(1)試題管理模塊。實(shí)現(xiàn)錄入各類試題的題目、答案、批改命令或文件名到試題庫中。
(2)試卷管理模塊。包括組卷和審核試卷兩種功能。
(3)考試管理模塊。包括考生錄入、開始考試、批改試卷、成績管理等功能。
(4)系統(tǒng)維護(hù)模塊。實(shí)現(xiàn)系統(tǒng)的管理功能。
在客戶端實(shí)現(xiàn)考生登錄、考試及上傳考試結(jié)果等功能。系統(tǒng)功能框圖如圖3所示。
(1)考生登錄模塊。實(shí)現(xiàn)合法考生的登錄,登錄成功后考生可進(jìn)行考試。
(2)下載試卷模塊。實(shí)現(xiàn)由服務(wù)器下載試卷的功能,考生根據(jù)試卷進(jìn)行答題或操作。
(3)考試模塊。實(shí)現(xiàn)考試功能,考生在考試機(jī)上考試。
(4)考試結(jié)束模塊。實(shí)現(xiàn)把操作題的考試結(jié)果上傳至服務(wù)器的功能。
圖2 服務(wù)器端功能結(jié)構(gòu)圖Fig.2 Function structure of server-side
圖3 客戶端功能結(jié)構(gòu)圖Fig.3 Function structure of client-side
本系統(tǒng)采用的DBMS是Mysql,Mysql廣受歡迎并且開放源代碼,也是基于關(guān)系型的小型的DBMS。本系統(tǒng)中有關(guān)試題庫的表包括選擇題表、判斷題表、常用命令操作題表、服務(wù)器配置操作題表等[4-5]。各表的定義如表1~表4所示。
系統(tǒng)中還有針對每個考生的試卷表,其結(jié)構(gòu)也和上述試題表基本類似。服務(wù)器配置操作題的結(jié)果保存在配置文件,其相應(yīng)的試卷表中不需要答案字段,其他的試卷表中都會在試題表的基礎(chǔ)上增加一個記錄考試答案的字段。
表1 選擇題表Table 1 Multiple choice table
表2 判斷題表Table 2 True-or-false choice table
表3 常用命令操作題表Table 3 Common command table
表4 服務(wù)器操作題表Table 4 Server configuration table
系統(tǒng)針對不同類型的題目所使用的批改方法也不盡相同,下面分別就各類題目批改方法的設(shè)計進(jìn)行闡述。
這兩類題目的批改過程是相同的,本文以選擇題的批改過程為例來介紹其設(shè)計方法。每個考生都有一個選擇題試題表multiple-choice-paper,表中存有學(xué)生的答案,標(biāo)準(zhǔn)答案放在表multiplechoice-table中,批改過程就是把考生考試結(jié)果與標(biāo)準(zhǔn)答案進(jìn)行比較,根據(jù)其正確與否,判定是否得分。其主要代碼[6]如下:
常用命令操作題的考試結(jié)果保存在表common-command-paper中,標(biāo)準(zhǔn)答案放在表common-command-table中。批改過程就是把考生考試結(jié)果與標(biāo)準(zhǔn)答案進(jìn)行比較,和上述方法不同的是比較結(jié)果不能用string的equals方法判斷相等,而是使用其indexOf方法判斷標(biāo)準(zhǔn)答案是否是考試結(jié)果的子串,判定是否得分。其主要代碼如下:
服務(wù)器配置操作結(jié)果保存在考試機(jī)的相關(guān)配置文件中,并且由客戶端程序上傳到了服務(wù)器。標(biāo)準(zhǔn)答案放在server-configuration-table表的answer-sc字段中,批改過程就是把配置文件中的有關(guān)配置項(xiàng)和表中的標(biāo)準(zhǔn)答案進(jìn)行比較。由于配置文件有很多行,需要把配置文件的各行依次與標(biāo)準(zhǔn)答案進(jìn)行比較,根據(jù)其正確與否,判定是否得分。其主要代碼如下:
由于具有安全性高、穩(wěn)定性強(qiáng)以及開源性的特點(diǎn),Linux操作系統(tǒng)必將在市場上占有更高的份額,高校也會越來越多地開設(shè)本課程。由于該課程實(shí)踐性強(qiáng)的特點(diǎn),需要選擇合適的方式對Linux操作系統(tǒng)進(jìn)行考試,才能準(zhǔn)確、全面評價學(xué)生們對該課程的學(xué)習(xí)情況。本文針對Linux操作系統(tǒng)的在線考試系統(tǒng)展開研究,實(shí)現(xiàn)了出題、組卷、考試、批改、成績管理的功能。本系統(tǒng)的主要特色是能夠?qū)ΤS妹罴胺?wù)器配置操作題進(jìn)行自動批改,保證了教師批改試卷的準(zhǔn)確性和效率。通過本系統(tǒng)的推廣應(yīng)用,反過來也會推動Linux操作系統(tǒng)的教學(xué)。
[1] 白戈力,付學(xué)良.Linux下技能測試和評判系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].微計算機(jī)信息,2012,28(3):167.
[2] 鄭阿奇.Ubuntu 9Linux應(yīng)用基礎(chǔ)[M].北京:電子工業(yè)出版社,2011.
[3] 王欣.管理信息系統(tǒng)[M].2版.北京:中國水利水電出版社,2004.
[4] 劉增杰,張少軍.Mysql5.5從零開始學(xué)[M].北京:清華大學(xué)出版社,2012.
[5] 賀禮智,鄒德文,韓坤,等.高校試題庫建設(shè)的創(chuàng)新與實(shí)現(xiàn)[J].河北科技師范學(xué)院學(xué)報:社會科學(xué)版,2005,4(1):57-59.
[6] 李鐘尉,陳丹丹.Java開發(fā)實(shí)戰(zhàn)1200例[M].北京:清華大學(xué)出版社,2011.
[7] PSAK H S,HORIE Y,OSTERMEYER G,et al. Movable cellular automata method for simulating materials with mesostructure[J].Theoretical and Applied Fracture Mechanics,2001,37(3):311-334.