當前位置:才華齋>計算機>java語言>

JAVA的動態考試系統的設計

java語言 閱讀(1.61W)

基於JAVA的動態考試系統的設計與實現

JAVA的動態考試系統的設計

摘 要:隨著計算機技術的飛速發展,能否利用現代化的技術使得繁重的工作由複雜變簡單,是衡量工作效率的一個重要方面。一個完備的考試系統可以使學生及時檢測自己的學習效果,從而發現自己的不足之處從而查漏補缺,更好的提高自己的學習效率。動態考題系統中的題目的抽取,試卷提交,成績的批改均是自動完成的。只要有比較成熟的試題庫便可以實現考試的全自動化。動態考題系統的開發適應了新形勢的發展要求,是學校考試,輔助教學管理、管理考試以及學生的上機實踐等一系列活動的最佳選擇。

關鍵詞動態;考題;窗體

1.系統功能簡介

動態考試系統由多個窗體組成,在系統的登入介面可以選擇不同型別的使用者進行登入,考生身份登入後可進行考試、查分、修改密碼等操作。系統管理員登入後有進行新增、編輯、刪除使用者資訊和相關考題等許可權。

2.技術簡介

2.1 Swing是Java中使用者介面開發工具包,主要用於開發Java應用程式的使用者介面。其工具包裡面有很多以swing來命名的,如:g;就t.等等。在程式設計時首先匯入swing工具包元件,選擇相應的'介面風格,同時設定頂層容器,在容器中新增相應元件,如:文字框,按鈕等等。Swing主要應用於各種介面中的時間處理,如:動作事件監聽,鍵盤和滑鼠事件監聽等等。

2.2 mySQL是目前最流行的關係型資料庫管理系統,可搭配Apache和PHP組成良好的開發環境,一般的網站開發均選擇這種資料庫,因為其關聯資料儲存在不同的表中,並沒有將所有的資料放置在同一個表中,大大提高了速度和靈活性。

3.預設問題及處理方法

3.1 窗體背景處理

設定背景的方法可實現將指定的圖片繪製到窗體面板的容器中,從而設定整個窗體的背景。其主要使用了Graphic類將所需圖片放至JPanel面板中,通過設定相應佈局調整各元件的位置。

3.2 字元處理類

字元處理類的編寫主要是防止對資料庫進行讀寫或查詢操作是出現的亂碼現象,該類可對亂碼字元進行轉碼。

3.3 時間處理

考試系統需要在主視窗顯示倒計時來提醒考生剩餘的時間,系統在設計這個方法時採用的是單獨執行緒處理,當倒計時為0是強制交卷。該方法的實現主要是獲取系統時間與管理員設定的考試時間之間的差,將其作為標籤的顯示值新增到窗體中。

4.登入窗體

主要有兩種身份登入考試系統,一種是學生身份,登入之後直接考試。另一種是管理員身份登入之後進行使用者,試題,管理等操作。

4.1 登入身份驗證

登入窗體需要編寫按照使用者名稱和密碼檢索的方法,同時為了保護使用者資訊保安,在資料庫中存放的使用者密碼均採用了MD5加密技術。當用戶輸入時將其密碼加密之後再與資料庫中的密碼相驗證。匹配正確則通過登入,否則提示錯誤。同時設定欄位值0代表未登入過的使用者,1代表已登入過的使用者,以此來判斷考生考試與否。若使用者名稱已經使用過,意味著該考生已完成考試,不允許再次考試。

5.考試主窗體

5.1 顯示考生姓名

系統將已經完成登入的使用者的ID號儲存在文字檔案中。在窗體中通過考生的ID號檢索出考生姓名並且顯示在考試窗體中。

5.2 顯示考題

動態考題系統中的每套試題都是隨機抽取的,然後將抽取到的試題顯示在考試的主窗體中。首先資料表中儲存所有的考試題目,編寫好檢索某一型別試題集合的方法之後,從指定的試題集合中隨機抽取一定數目的試題即可。考試窗體中使用了多個選項卡面板功能,實現同一個窗體中有不同的考試題目型別,如考生選擇“多選題”選項卡則顯示“多選題”的相關試題。

5.3 自動閱卷

當考生考試結束單擊“提交試卷”按鈕後將實現自動閱卷,並及時將考試成績顯示給考生。在考生解答試題時,系統會將考生的答案儲存到相應的集合中,考試結束後程序將通過隨即抽取試題陣列中的元素匹配考生選擇的答案,看是否與答案一致,並通過考試引數表中設定的各題分數來決定考生的分數。

5.4 題目切換

考生解答完成當前題目時,可點選“下一題”按鈕來解答下一題。若要完成顯示“下一題”的考試題目,需要從儲存隨即抽取試題編號的陣列中獲取下一個元素,獲取資訊將作為視窗元件內容顯示出來。當考生單擊“上一題”將會顯示上一題內容,要想實現上一題功能,需要從書籍抽取試題的陣列中獲取當前顯示試題的前一個元素的值,並用它來查詢問題表中的資訊,最終將其顯示在窗體的元件中。

6.管理員查分功能

6.1 按考生號查詢成績

當用戶選擇按考生號查詢時,需要查詢值文字框中輸入正確的查詢條件,程式此時將呼叫相應查詢分數的方法,並將查詢結果顯示在窗體中。該方法是通過SQL語句迴圈遍歷查詢結果集來實現的。

6.2 按考生姓名查詢成績

按姓名查詢成績和按考生號查詢方法類似,遍歷時對應欄位不同,一個是對考生ID,另一個是對考生姓名來進行遍歷。使用者將需要查詢的姓名輸入相應的文字框中,程式呼叫不同的查詢方法將結果顯示在窗體中。

7.新增考題

7.1 儲存考題

主要採用List集合來儲存所有考題,在新增考題視窗中不允許使用者更改考題編號。所以採用了只讀形式顯示。

7.2 自動計算考題號

該方法實現主要呼叫檢索資料表中全部資料的方法,獲取資料表中最後一條記錄的ID編號,將次ID加1即可實現自動計算考題號。

8.修改和刪除考題

8.1 修改考題

當用戶想修改考題時,單擊修改按鈕後程序會自動將使用者選擇的試題ID寫入相應的文字檔案中,再從資料庫中提取相應的資料條即檢索出相應資料,再將其設定為窗體顯示,使用者可在窗體介面中修改試題內容,也可以修改答案和備註。

8.2 刪除試題

若有需要刪除的試題,使用者可直接單擊刪除按鈕,產生相應事件,程式會提示使用者是否刪除試題。確認之後便可刪除。

9 總結

絕大多數學校組織一次考試至少要經過五步:出題,考試,人工閱卷,成績評估和試卷分析,這些工作非常繁瑣和極容易出錯,同時教師的工作量非常大。因此傳統的考試模式註定被新型的計算機技術動態考試程式來替代。動態考題系統的出現正是修正了傳統考試的弊端,提高了考試工作效率。

動態考題系統中設計了題目的生成、試卷提交、成績評估等功能。只要有比較成熟的試題庫便可實現考試的全自動化,這樣教師只需要精心設計題目並維護好題庫,大大減少了教師的工作量。