劉丹 遼寧錦州渤海大學信息科學與技術學院
基于JAVA的在線考試系統的設計與實現
劉丹 遼寧錦州渤海大學信息科學與技術學院
本論文主要介紹了對JAVA在線考試系統的分析、設計和開發的全部過程。運用ER圖,程序流程圖等對在線考試系統的設計過程進行詳細的說明。本系統采用MyEclipse6.5作為開發工具,使用MVC開發模式,框架使用了目前流行的Struts+Spring+Hibernate,數據庫使用MySQL。該系統主要有三大模塊:管理員模塊主要包括對四種考題的增刪查改操作;老師模塊主要完成對學生考完的試題進行批閱,完成打分;學生模塊主要是完成在線考試,查看自己的考試成績。
考試系統 JAVA MVC
1.1 研究背景與意義
手工出卷、考生考試、試卷分析、人工閱卷與成績評估組成了傳統的測試。跟著測試要求的不停提升,老師的工作量也隨之越來越大。隨著計算機的廣泛應用并迅猛發展,無紙化考試系統重復利用數據庫的作用,大大簡化了傳統考試的反復瑣碎的過程。
1.2 開發工具
本系統使用MyEclipse作為研發工具,采用MySQL開源數據庫,并運用Tomcat作為應用服務器。在線考試系統選擇運用jsp頁面請求技術,以MVC模式為基礎,并在其上進行系統研發,采用SSH框架以提高系統研發的速度。
2.1 系統需求分析

圖1 系統功能需求分析圖
2.2 功能模塊劃分
2.2.1 系統管理員模塊
本模塊主要描述了管理員登錄考試系統后的相關功能。系統管理員的主要任務是用戶管理、科目管理、試題庫管理、試卷管理、成績查詢。作為管理員,其任務比較繁多。首先要添加老師用戶和學生用戶,以便教師和學生能夠通過賬號跟密碼登錄此系統并執行相應的功能。其次要添加考試科目信息,并將試題錄入試題庫以便篩選試題和創建試卷系。
①用戶管理:實現用戶的添加、刪除、功能。
②科目管理:實現考試科目的添加、刪除。
③試題庫管理:對于單個試題的增、刪、改、查等基本維護,針對不同題型、不同應用范圍及不同科目對試題進行維護。
④試卷管理:對試題進行篩選然后組合形成考試用卷。
我們跑進廚屋,見水缸里倒插著兩只小腳,僵直地指向低矮的黑暗的天空!大梁哎呀大叫一聲,沖了過去。我也跟著跑上前,見她奶奶半個身子都栽進缸里,水漫得滿地都是。大梁把油燈放到灶臺上,伸手去水缸里撈人。缸里的水猛地漲出來,響亮地砸在地上,流水不停漫過我的腳背。
⑤成績管理:對每次考試的學生成績的基本信息進行維護,并提供學生成績的統計管理。
2.2.2 老師功能模塊
本模塊描述了教師在考試系統中的相關功能。主要能夠讓教師了解學生的考試情況并進行打分和點評試題。方便老師了解學生平時學習方面的不足和改善自己授課方式。教師的主要功能權限是閱卷管理、成績管理,即閱卷打分、點評試題和提供學生成績統計。
①閱卷管理:對分配試卷的評卷人可以在此進行評卷打分。
②成績查詢:老師可對已閱卷過的學生進行成績查詢。
③修改密碼:老師可以修改自己的登錄密碼。
2.2.3 學生的功能模塊
學生的主要任務是參與考試,并能夠在老師閱卷過后登錄系統查詢考試成績和試卷相關情況。學生用戶登錄系統后選擇需要考試的科目,在規定時間內完成測試并提交試卷。
①參加考試:學生登錄考試系統,對需要測試的試卷進行填寫、提交,以供老師評閱。
②成績查詢:待老師閱卷過后,學生可登錄系統對自己的成績查詢,并查看老師對試題的打分和點評情況。
③修改密碼:學生可以修改自己的登錄密碼。
2.3 數據庫設計
數據庫是信息管理系統中一個重要的組成部分。數據庫概念模型設計首先要考慮實體之間的聯系。一般情況下我們選擇使用E—R圖的方法來建立實體的聯系。使用E—R圖,我們可以客觀的描繪系統管理員,學生,老師三者之間存在的聯系。系統管理員管理用戶、科目、試題庫、試卷、成績。學生參加考試并填寫試卷。老師參加閱卷并評出成績。本系統E-R圖如圖2所示。
根據系統的設計需要,數據庫應包含七張表,分別用來存儲考試相關信息,考試記錄相關信息,課程表相關信息,試卷表相關信息,試卷條目相關信息,試題表相關信息和用戶相關信息。因此我們可以建表如下:
(1)t_kaoshi(2)t_kaoshijilu,(3)t_kecheng,(4)t_shijuan,(5)t_ shijuanitem,(6)t_shiti等,以t_kaoshi為例,考試表主要負責用來存儲考試相關信息,具體如表1所示。

圖2 系統E-R圖

表1 考試表t_kaoshi
3.1 系統登錄模塊
該模塊主要是驗證系統用戶登錄進系統并實現相關功能的權限。用戶登錄系統后,系統界面會顯示管理員或者教師或是學生三個其中之一的用戶角色。管理員用戶進入系統后顯示管理員角色,可以進行如下操作:①用戶管理;②科目管理;③試題庫管理;④試卷管理;⑤成績查詢。教師用戶進入系統后顯示教師角色,可以進行如下操作:①閱卷管理;②考試查詢。當然教師還可以修改自己的登錄密碼。對于學生用戶登錄系統后顯示用戶角色為學生。學生可以參加考試或者查詢成績。學生也可以修改自己的登錄密碼。
3.2 用戶管理模塊
登錄系統后,系統界面提示用戶信息角色。登錄用戶管理模塊后,我們可以看見用戶名、真實姓名、用戶角色、添加時間等信息記錄。在添加新用戶之前,首先要輸入用戶名和其真實姓名進行查詢。看看將要添加的用戶是否已經存在,若不存在我們便可點擊添加用戶信息,待頁面跳轉到添加用戶信息界面后,按照用戶姓名,真實姓名,選擇用戶角色三個方面進行添加。填寫完成后,點擊“提交”完成用戶添加。添加用戶后我們還可以查詢該用戶是否已經添加。
3.3 試題庫管理模塊
登錄系統后,系統界面顯示用戶登錄信息角色。登錄試題庫管理模塊后,我們可以看見科目名稱和對其試題管理操作。點擊試題管理后我們可以看見科目名稱、題型、問題、答案、知識點、出題時間幾個信息記錄。此時,我們可以完成填空題、判斷題、選擇題、問答題的添加和修改。完成添加試題后便可生成試題庫,模塊最下面顯示記錄數目。
3.4 試卷管理
登錄系統后,系統界面提示管理員角色。進入試卷管理模塊后我們可以看見卷名、科目、考試時間、總分、試卷使用狀態、出卷時間、題目管理等相關信息記錄。我們可以對已存在的試卷進行刪除和修改以及是否啟用試卷操作。我們也可以創建試卷,根據卷名、科目、考試時間依次按要求填寫。完成后就可以生成一個新試卷了。注意這時還是一張空試卷,還要進行題目管理添加試題。
3.5 考試查詢模塊
登錄系統后,系統界面提示用戶以及管理角色。進入考試查詢模塊,管理員可以根據考試編號和用戶名即學生學號進行考試記錄查詢。教師和學生查詢考試成績只需直接登錄自己的帳號,直接查看考試記錄以及試卷得分。
3.6 閱卷管理模塊
登錄該模塊后,有權限的教師就可以參與評卷了。教師可以按學生提交試卷的先后順序逐人閱卷打分。教師登入系統后,顯示用戶信息角色為教師。進入閱卷管理模塊,在本模塊我們可以看見閱卷相關信息,例如考生姓名、試卷名稱、題目、作答、分值和得分情況。教師對試卷的選擇、判斷、填空、問答進行閱卷,然后根據答案在給出的分值范圍內進行打分。
[1]馮燕奎,趙德奎.JSP實用案例教程[M].清華大學出版社,2014.7
[2]王宜貴.軟件工程[M].北京:機械工業出版社,2012.5
[3]孫衛琴.精通hibernate[M].電子工業出版社,2011.2
[4]張洪斌.java2高級程序設計[M].中科多媒體出版社,2011.8