宋志剛 姚 波
(1、哈爾濱市開發(fā)區(qū)地方稅務(wù)局,黑龍江 哈爾濱 150000 2、哈爾濱市香坊區(qū)招生考試委員會辦公室,黑龍江 哈爾濱 150000)
隨著計算機網(wǎng)絡(luò)技術(shù)的蓬勃發(fā)展,基于Web 的在線考試系統(tǒng)已成為Internet 的重要應(yīng)用之一,本文設(shè)計了一個基于J2EE 平臺的在線考試信息系統(tǒng),系統(tǒng)實現(xiàn)了學(xué)生在線模擬考試以及學(xué)生信息管理等功能。
基于J2EE 的在線考試信息系統(tǒng)采用三層體系結(jié)構(gòu)。把應(yīng)用邏輯獨立出來形成一個中間層,中間層位于客戶層與存儲層之間??蛻魧硬捎肳eb 瀏覽器作為標準用戶界面,使客戶層簡單且便于維護。存儲層采用MySql5.0。中間層采用Tomcat5 作Web 服務(wù)器。在這種模式下,客戶層是“瘦”的,中間層也被稱為應(yīng)用層或應(yīng)用服務(wù)器,它可依據(jù)應(yīng)用邏輯的要求來分布部署,而且可以在各個部署點上進行維護,并由應(yīng)用層負責與存儲層進行交互。
對于J2EE 方案的在線考試信息系統(tǒng),總體上作如下設(shè)計:將訪問系統(tǒng)的用戶按身份分為三類:管理員用戶、教師用戶、學(xué)生用戶;只允許管理員對教師和學(xué)生用戶進行添加、刪除等管理;學(xué)生的主要功能是選擇考試科目進行測試;只有通過身份驗證的用戶才能進入相應(yīng)用戶身份的主頁;以上三類用戶分別擁有自己的操作功能。根據(jù)操作劃分模塊,每一個操作模塊都要實現(xiàn)自身的功能,并且在整個操作流程中負責承上啟下。下面根據(jù)這三個方面的需要,來分別描述各個模塊要實現(xiàn)的功能:學(xué)生模塊??忌畔⑹怯晒芾韱T用戶添加生成的,考生可以選擇考試科目進行考試并且可以修改自己的信息。教師模塊。教師信息是由管理員用戶添加生成的,教師可以設(shè)置考試科目并添加考試題。管理員模塊。管理員主要進行管理員用戶和學(xué)生用戶的管理。在線考試模塊。學(xué)生在線考試主要經(jīng)過三個步驟:登錄本系統(tǒng)、在線答題、提交顯示成績。
根據(jù)系統(tǒng)功能,在MySql5.0 數(shù)據(jù)庫中建立了如下的數(shù)據(jù)見表1。
admin 表。admin 表用來存儲所有管理員信息,包括管理員編號、用戶名和密碼3 個字段。表顯示了admin 表的結(jié)構(gòu)。
student 表。此表用來存儲學(xué)生的基本信息,只能由系統(tǒng)管理員操作管理。其中包括學(xué)號、姓名、密碼、籍貫、專業(yè)、性別、電子郵箱等幾個字段,如表2 所示。
teacher 表。此表用來存儲教師的基本信息,只能由系統(tǒng)管理員操作管理。其中包括教師編號、教師用戶名、密碼、教師姓名、職稱幾個字段,如表3 所示。
?
?
?
course 表。此表用來存儲考試科目信息,只能由教師操作管理。其中包括課程編號、課程名稱、教師編號、教師姓名幾個字段,如表4 所示。
?
question 表。此表用來存儲試題信息,只能由教師操作管理。其中包括試題編號、課程編號、分值、題干、選項A、選項B、選項C、選項D、答案幾個字段,如表5 所示。
硬件方面:服務(wù)器的CPU 主頻至少在400MHz 以上,內(nèi)存容量至少在256MB 以上,硬盤容量至少在4GB 以上。軟件方面:服務(wù)器的操作系統(tǒng)為Windows XP;數(shù)據(jù)庫管理系統(tǒng)為MySql5.0;開發(fā)工具:BEA 的Eclipse 3.0。
系統(tǒng)主要視圖如下:login.jsp:該頁面為默認的主頁,在該頁面中,學(xué)生、教師、管理員都可以從這里登錄;student.jsp:該頁面為學(xué)生登錄后的頁面,學(xué)生可以在這里選擇考試課程;teacher.jsp:該頁面為教師登錄后的頁面,教師可以在這里進行考試科目管理;admin.jsp:該頁面為管理員登錄后的頁面,管理員可以在這里對教師和學(xué)生進行管理;exam.jsp:該頁面為學(xué)生考試的頁面;check.jsp:該頁面為學(xué)生考試交卷后的頁面,能顯示學(xué)生考試結(jié)果。
整個考試系統(tǒng)是基于Struts 框架開發(fā)的,持久化層是使用Hibernate 開發(fā)的。首先創(chuàng)建一個統(tǒng)一的格式*.css 將會簡化每個子網(wǎng)頁的設(shè)計,它具體包括可能用到的文字大小、字體、顏色等等。設(shè)計一個統(tǒng)一的頁尾頁面:footer.jsp。
數(shù)據(jù)庫的連接可以在配置文件hibernate.cfg.xml 中進行配置,添加如下代碼:
其中STU 是系統(tǒng)的數(shù)據(jù)庫名。
通過對該軟件的測試和試用,證明該軟件功能完整、人機界面友好,基本達到預(yù)期的目標,可以交互試用。但是在測試中也發(fā)現(xiàn)軟件的一些不足與缺陷,這將在后續(xù)的版本中進行解決和完善。
本文使用了Hibernate、Struts 框架;采用J2EE 三層體系結(jié)構(gòu),以Tomcat5.0 作為應(yīng)用服務(wù)器,以MySql5.0 作為后臺數(shù)據(jù)庫服務(wù)器,運用Servlet、JSP 技術(shù)、JavaBean 技術(shù)進行設(shè)計實現(xiàn)。采用了MVC(Model-View-Controller,模型-視圖-控制器)設(shè)計模式,用JSP 和Servlet 處理用戶交互,用JavaBean 封裝復(fù)雜的數(shù)據(jù)和處理邏輯。由于開發(fā)時間和作者能力的有限性,該系統(tǒng)仍有很多不足,這些不足之處今后將不斷補充和完善,使系統(tǒng)能更加有效,不斷滿足日益擴展的考試需求。在今后的工作中,還應(yīng)在以下一些方面予以改進:題庫管理模塊、登錄模塊需要完善;一些功能和模塊需要添加,如考試監(jiān)控模塊、考生考試前練習(xí)模塊等;對于軟件的健壯性,穩(wěn)定性等可能還存在一定的欠缺,需要進行改善。
[1]Rod Johnson 著.魏海萍等譯.J2EE 設(shè)計開發(fā)編程指南[M].北京:電子工業(yè)出版社,2003.7
[2]楊磊,陳凌云.精通 Eclipse Web 開發(fā)-Java 體系結(jié)構(gòu)、工具、框架及整合應(yīng)用[M].北京:人民郵電出版社,2006.10