糯米文學吧

位置:首頁 > 計算機 > java語言

JAVA的動態考試系統的設計

java語言1.57W

基於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 總結

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

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

標籤:JAVA 考試 系統