邢翀
摘 要:隨著計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù)的發(fā)展,傳統(tǒng)的人工出卷、現(xiàn)場(chǎng)答卷、人工閱卷等方式正在發(fā)生著巨大變革。如何使得考試過(guò)程變得方便高效,是現(xiàn)代教育的一個(gè)重要課題。該文設(shè)計(jì)了一個(gè)由管理員模塊、教師模塊和學(xué)生模塊構(gòu)成的在線考試系統(tǒng),并基于Java語(yǔ)言介紹了該系統(tǒng)的實(shí)現(xiàn)方法。該系統(tǒng)能夠降低考務(wù)過(guò)程中的人力和物力消耗,從而降低考試的組織和管理成本,同時(shí)提高試題的客觀性、保密性,使考試結(jié)果更加準(zhǔn)確公正,大幅提高考查的效率和質(zhì)量。
關(guān)鍵詞:Java語(yǔ)言 在線考試 模塊設(shè)計(jì) 實(shí)現(xiàn)
中圖分類(lèi)號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2015)02(c)-0051-02
在計(jì)算機(jī)如此普及的今天,自動(dòng)化管理已經(jīng)深入到人們生活的方方面面,但絕大多數(shù)校園仍采用傳統(tǒng)的考試模式。一次考試要經(jīng)過(guò)人工出題、答題、閱卷、成績(jī)統(tǒng)計(jì)、試卷分析幾個(gè)步驟,整個(gè)過(guò)程低效而繁瑣,在安全、效率、成本等諸多方面所表現(xiàn)出極大的弊端[1]。于是,針對(duì)傳統(tǒng)考試的延伸與變革——網(wǎng)絡(luò)化在線考試應(yīng)運(yùn)而生。該方式能夠有效提高考試的管理與考核水平,具體表現(xiàn)為[2]:客觀性、保密性強(qiáng);迅速準(zhǔn)確、公平公正;成本降低、效率提高。
1 項(xiàng)目背景與需求分析
1.1 Java語(yǔ)言
Java是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言。一經(jīng)推出,便因其簡(jiǎn)單與優(yōu)越性得到全世界的關(guān)注。Java語(yǔ)言有如下主要特點(diǎn)[3]:
(1)Java語(yǔ)言是簡(jiǎn)單的:Java語(yǔ)言由C/C++語(yǔ)言發(fā)展而來(lái),它拋棄了C/C++中一些很少使用且容易讓人迷惑的特性,如操作符的重載、多繼承、指針等,Java還提供了內(nèi)存管理機(jī)制,能夠自動(dòng)釋放垃圾內(nèi)存。
(2)Java語(yǔ)言是一種純面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言:在Java中,一切皆對(duì)象,萬(wàn)物皆對(duì)象。它的具體表現(xiàn)在類(lèi)與類(lèi)的單繼承(extends),類(lèi)與多個(gè)接口的實(shí)現(xiàn)(implements),接口與接口之間的多繼承等。
(3)Java語(yǔ)言是健壯的:由于Java語(yǔ)言拋棄了C/C++中一些影響程序健壯性的特性,比如指針、操作符的重載等,并提供了強(qiáng)類(lèi)型、垃圾管理、異常處理、安全檢查等機(jī)制,使得Java更加健壯。
(4)Java語(yǔ)言是平臺(tái)無(wú)關(guān)的:Java是運(yùn)行在Java虛擬機(jī)(JVM)之上的,只要安裝了JVM的機(jī)器和系統(tǒng),都可以運(yùn)行Java程序。Sun公司在發(fā)布Java時(shí)提出的理念就是:一次編譯,到處運(yùn)行。
(5)Java語(yǔ)言是可移植的:Java的可移植性來(lái)源于其平臺(tái)無(wú)關(guān)性,只要在安裝了JVM的地方,都可以運(yùn)行Java程序。因此,Java程序既可以運(yùn)行在Windows系統(tǒng)下,也可以運(yùn)行在Unix系統(tǒng)下。
(6)Java語(yǔ)言是解釋、編譯并存的:一個(gè)用Java語(yǔ)言編寫(xiě)好的文件(.java文件)在Java平臺(tái)上被編譯成字節(jié)碼格式,然后才被JVM拿去給操作系統(tǒng)執(zhí)行。這個(gè)過(guò)程先講Java程序解釋成JVM認(rèn)識(shí)的格式,JVM再編譯成機(jī)器認(rèn)識(shí)的語(yǔ)言。所以Java語(yǔ)言是解釋型的。
1.2 在線考試系統(tǒng)的需求分析
在線考試系統(tǒng)的整體目標(biāo)是實(shí)現(xiàn)信息的規(guī)范化、系統(tǒng)化和自動(dòng)化,并易于管理人員和用戶的維護(hù)和操作,能夠真正方便師生的考務(wù)工作。具體來(lái)說(shuō),該系統(tǒng)應(yīng)滿足如下要求:
系統(tǒng)應(yīng)具有友好的用戶界面,使用戶感覺(jué)操作方便、響應(yīng)迅速,并愿意再次使用系統(tǒng)。
系統(tǒng)應(yīng)具備在線運(yùn)行功能,保證用戶可以隨時(shí)隨地應(yīng)用該系統(tǒng)。
系統(tǒng)應(yīng)具備安全的數(shù)據(jù)存儲(chǔ)和方便的數(shù)據(jù)操作等功能,并具備一定的自動(dòng)操作能力。
系統(tǒng)應(yīng)具備一定的業(yè)務(wù)邏輯判斷能力,如設(shè)定考試時(shí)長(zhǎng)、超出考試時(shí)長(zhǎng)后不允許作答等。
2 系統(tǒng)總體設(shè)計(jì)
通過(guò)對(duì)考務(wù)工作者的調(diào)查與分析發(fā)現(xiàn),用戶對(duì)于在線考試系統(tǒng)的需求可分為三個(gè)方面:
第一是管理員需求:試題庫(kù)維護(hù)和用戶管理,主要包括對(duì)題目和用戶的增、刪、改、查功能。
第二是教師需求:登陸查看學(xué)生成績(jī),并在必要時(shí)進(jìn)行試卷評(píng)閱并完成打分。
第三是學(xué)生需求:確認(rèn)自己的基本信息、密碼修改、選擇試卷類(lèi)型進(jìn)行考試及查看自己考試歷史記錄。
針對(duì)以上需求,本文設(shè)計(jì)的在線考試系統(tǒng)分為管理員、教師、學(xué)生三個(gè)模塊,系統(tǒng)功能模塊如圖1所示。
系統(tǒng)功能確定后,我們進(jìn)行數(shù)據(jù)邏輯結(jié)構(gòu)和系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)。針對(duì)在線考試系統(tǒng)中的管理員、教師、學(xué)生、試卷四個(gè)主要實(shí)體,我們?cè)O(shè)計(jì)其實(shí)體表和實(shí)體E-R圖如圖2所示[4]。
管理員表(管理員ID,賬號(hào),密碼,狀態(tài))。
教師表(教師ID,賬號(hào),密碼,部門(mén),職位,郵箱)。
學(xué)生表(學(xué)生ID,賬號(hào),密碼,學(xué)校,專(zhuān)業(yè),班級(jí),學(xué)號(hào),身份證號(hào))。
試卷表(試卷編號(hào),試卷類(lèi)型,試卷狀態(tài),題目?jī)?nèi)容)。
以實(shí)體E-R圖為基礎(chǔ),我們將完成對(duì)數(shù)據(jù)庫(kù)中各個(gè)表的詳細(xì)設(shè)計(jì),本系統(tǒng)采用MySQL數(shù)據(jù)庫(kù)[5]。因篇幅有限,我們僅列出管理員表作為示例,包括對(duì)字段名、類(lèi)型、長(zhǎng)度、是否為空等信息的具體描述,如表1。
3 系統(tǒng)詳細(xì)設(shè)計(jì)
3.1 管理員模塊
登陸界面下,用戶選擇“管理員”身份,然后輸入用戶名、密碼和驗(yàn)證碼,驗(yàn)證通過(guò)后即進(jìn)入管理員界面。在該界面下,管理員可以對(duì)用戶和題目進(jìn)行添加、刪除、修改、查詢操作。完成操作后,點(diǎn)擊退出按鈕,退回原來(lái)登陸的界面。管理員模塊功能圖如圖3所示。
3.2 教師模塊
登陸界面下,用戶選擇“教師”身份,然后輸入用戶名、密碼和驗(yàn)證碼,驗(yàn)證通過(guò)后即進(jìn)入教師界面。在該界面下,教師可以對(duì)評(píng)閱狀態(tài)為“待評(píng)閱”的試卷進(jìn)行批閱,可以查看狀態(tài)為“已批閱”的試卷信息,包括試卷編號(hào)、試卷類(lèi)型、題目得分以及考生信息。完成操作后,點(diǎn)擊退出按鈕,退出到登陸界面。教師模塊功能圖如圖4所示。
3.3 學(xué)生模塊
登陸界面下,用戶選擇“學(xué)生”身份,然后輸入用戶名、密碼和驗(yàn)證碼,驗(yàn)證通過(guò)后即進(jìn)入學(xué)生界面。在該界面下,學(xué)生可以查看并修改自己的個(gè)人信息、修改密碼,并查看自己參加過(guò)且狀態(tài)為“已評(píng)閱”的考試列表和試卷信息。另外,學(xué)生可以選擇考試類(lèi)型并點(diǎn)擊“開(kāi)始作答”按鈕,即進(jìn)入相應(yīng)的試卷界面參加考試。完成操作后,點(diǎn)擊退出按鈕,退出到登陸界面。學(xué)生模塊功能圖如圖5所示。
3.4 代碼實(shí)現(xiàn)
該系統(tǒng)的代碼實(shí)現(xiàn)較長(zhǎng),因篇幅有限,我們以三個(gè)模塊的共同功能——“選擇身份”為例,列出選擇管理員身份的具體實(shí)現(xiàn)代碼。
if("1".equals(Shenfen)){
GuanliService guanliService =(GuanliService)this.getBean("guanliService");
Guanli guanli=new Guanli ();
guanli.setName(Name);
guanli.setPassword(Password);
boolean jieguo=guanli Service.login(guanli);
if(Jieguo){
request.setAttribute("shenfen",shenfen);
request.
setAttribute("Name",Name);
request.setAttribute("Password", Password);
request.setAttribute("YZCode", YZCode);
Guanli guanliFd = guanliService.get Guanli ByName(Name);
session.setAttribute("guanliFd", guanliFd);
return guanliPrivate(mapping, form, request, response);
}
return mapping.fdForward("Err");
4 結(jié)語(yǔ)
綜上,該文基于Java語(yǔ)言設(shè)計(jì)了在線考試系統(tǒng)的模塊與架構(gòu),并基于Java語(yǔ)言進(jìn)行了具體實(shí)現(xiàn)。對(duì)該系統(tǒng)的基本測(cè)試結(jié)果顯示,系統(tǒng)能夠?qū)崿F(xiàn)文中提出的需求,且在處理效率、穩(wěn)定性、可擴(kuò)展性、安全性方面都有良好的表現(xiàn),能夠運(yùn)用到真實(shí)的校園考試組織及管理過(guò)程中。
參考文獻(xiàn)
[1] 寇得寶.傳統(tǒng)考試的弊端及改革的意義[J].小學(xué)教學(xué)參考,2007(4):10-11.
[2] 宋春暉,陳煥東,鄭海濤,等.基于Web的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].瓊州學(xué)院學(xué)報(bào),2005(2):34-36.
[3] 孟祥武.Java技術(shù)簡(jiǎn)介[J].現(xiàn)代科學(xué)儀器,1998(4).
[4] 楊睿娜.數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中E-R圖向關(guān)系模型的轉(zhuǎn)換[J].硅谷,2009(11).
[5] 顧治華,忽朝儉.MySQL存儲(chǔ)引擎與數(shù)據(jù)庫(kù)性能[J].計(jì)算機(jī)時(shí)代,2006(10):8-10.