宋志剛 姚 波
(1、哈爾濱市開發區地方稅務局,黑龍江 哈爾濱 150000 2、哈爾濱市香坊區招生考試委員會辦公室,黑龍江 哈爾濱 150000)
隨著計算機網絡技術的蓬勃發展,基于Web 的在線考試系統已成為Internet 的重要應用之一,本文設計了一個基于J2EE 平臺的在線考試信息系統,系統實現了學生在線模擬考試以及學生信息管理等功能。
基于J2EE 的在線考試信息系統采用三層體系結構。把應用邏輯獨立出來形成一個中間層,中間層位于客戶層與存儲層之間。客戶層采用Web 瀏覽器作為標準用戶界面,使客戶層簡單且便于維護。存儲層采用MySql5.0。中間層采用Tomcat5 作Web 服務器。在這種模式下,客戶層是“瘦”的,中間層也被稱為應用層或應用服務器,它可依據應用邏輯的要求來分布部署,而且可以在各個部署點上進行維護,并由應用層負責與存儲層進行交互。
對于J2EE 方案的在線考試信息系統,總體上作如下設計:將訪問系統的用戶按身份分為三類:管理員用戶、教師用戶、學生用戶;只允許管理員對教師和學生用戶進行添加、刪除等管理;學生的主要功能是選擇考試科目進行測試;只有通過身份驗證的用戶才能進入相應用戶身份的主頁;以上三類用戶分別擁有自己的操作功能。根據操作劃分模塊,每一個操作模塊都要實現自身的功能,并且在整個操作流程中負責承上啟下。下面根據這三個方面的需要,來分別描述各個模塊要實現的功能:學生模塊。考生信息是由管理員用戶添加生成的,考生可以選擇考試科目進行考試并且可以修改自己的信息。教師模塊。教師信息是由管理員用戶添加生成的,教師可以設置考試科目并添加考試題。管理員模塊。管理員主要進行管理員用戶和學生用戶的管理。在線考試模塊。學生在線考試主要經過三個步驟:登錄本系統、在線答題、提交顯示成績。
根據系統功能,在MySql5.0 數據庫中建立了如下的數據見表1。
admin 表。admin 表用來存儲所有管理員信息,包括管理員編號、用戶名和密碼3 個字段。表顯示了admin 表的結構。
student 表。此表用來存儲學生的基本信息,只能由系統管理員操作管理。其中包括學號、姓名、密碼、籍貫、專業、性別、電子郵箱等幾個字段,如表2 所示。
teacher 表。此表用來存儲教師的基本信息,只能由系統管理員操作管理。其中包括教師編號、教師用戶名、密碼、教師姓名、職稱幾個字段,如表3 所示。

?

?

?
course 表。此表用來存儲考試科目信息,只能由教師操作管理。其中包括課程編號、課程名稱、教師編號、教師姓名幾個字段,如表4 所示。

?
question 表。此表用來存儲試題信息,只能由教師操作管理。其中包括試題編號、課程編號、分值、題干、選項A、選項B、選項C、選項D、答案幾個字段,如表5 所示。
硬件方面:服務器的CPU 主頻至少在400MHz 以上,內存容量至少在256MB 以上,硬盤容量至少在4GB 以上。軟件方面:服務器的操作系統為Windows XP;數據庫管理系統為MySql5.0;開發工具:BEA 的Eclipse 3.0。
系統主要視圖如下:login.jsp:該頁面為默認的主頁,在該頁面中,學生、教師、管理員都可以從這里登錄;student.jsp:該頁面為學生登錄后的頁面,學生可以在這里選擇考試課程;teacher.jsp:該頁面為教師登錄后的頁面,教師可以在這里進行考試科目管理;admin.jsp:該頁面為管理員登錄后的頁面,管理員可以在這里對教師和學生進行管理;exam.jsp:該頁面為學生考試的頁面;check.jsp:該頁面為學生考試交卷后的頁面,能顯示學生考試結果。
整個考試系統是基于Struts 框架開發的,持久化層是使用Hibernate 開發的。首先創建一個統一的格式*.css 將會簡化每個子網頁的設計,它具體包括可能用到的文字大小、字體、顏色等等。設計一個統一的頁尾頁面:footer.jsp。
數據庫的連接可以在配置文件hibernate.cfg.xml 中進行配置,添加如下代碼:

其中STU 是系統的數據庫名。
通過對該軟件的測試和試用,證明該軟件功能完整、人機界面友好,基本達到預期的目標,可以交互試用。但是在測試中也發現軟件的一些不足與缺陷,這將在后續的版本中進行解決和完善。
本文使用了Hibernate、Struts 框架;采用J2EE 三層體系結構,以Tomcat5.0 作為應用服務器,以MySql5.0 作為后臺數據庫服務器,運用Servlet、JSP 技術、JavaBean 技術進行設計實現。采用了MVC(Model-View-Controller,模型-視圖-控制器)設計模式,用JSP 和Servlet 處理用戶交互,用JavaBean 封裝復雜的數據和處理邏輯。由于開發時間和作者能力的有限性,該系統仍有很多不足,這些不足之處今后將不斷補充和完善,使系統能更加有效,不斷滿足日益擴展的考試需求。在今后的工作中,還應在以下一些方面予以改進:題庫管理模塊、登錄模塊需要完善;一些功能和模塊需要添加,如考試監控模塊、考生考試前練習模塊等;對于軟件的健壯性,穩定性等可能還存在一定的欠缺,需要進行改善。
[1]Rod Johnson 著.魏海萍等譯.J2EE 設計開發編程指南[M].北京:電子工業出版社,2003.7
[2]楊磊,陳凌云.精通 Eclipse Web 開發-Java 體系結構、工具、框架及整合應用[M].北京:人民郵電出版社,2006.10