摘 ?要
如今社會上各行各業(yè),都喜歡用自己行業(yè)的專屬軟件工作,互聯(lián)網(wǎng)發(fā)展到這個時候,人們已經(jīng)發(fā)現(xiàn)離不開了互聯(lián)網(wǎng)。新技術(shù)的產(chǎn)生,往往能解決一些老技術(shù)的弊端問題。因為傳統(tǒng)考試信息管理難度大,容錯率低,管理人員處理數(shù)據(jù)費工費時,所以專門為解決這個難題開發(fā)了一個學生在線考試系統(tǒng),可以解決許多問題。
學生在線考試系統(tǒng)實現(xiàn)的功能包括老師管理,試卷管理,錯題本管理,試題管理,考試記錄管理,論壇管理,公告管理等功能。該系統(tǒng)采用了Mysql數(shù)據(jù)庫,Java語言,SSM框架等技術(shù)進行編程實現(xiàn)。
學生在線考試系統(tǒng)可以提高考試信息管理問題的解決效率,優(yōu)化考試信息處理流程,保證考試信息數(shù)據(jù)的安全,它是一個非??煽?,非常安全的應(yīng)用程序。
關(guān)鍵詞:學生在線考試系統(tǒng);Mysql數(shù)據(jù)庫;Java語言
Abstract
Nowadays, all walks of life in society like to work with their own industry-specific software. At this point in the development of the Internet, people have found that they cannot do without the Internet. The emergence of new technologies can often solve the drawbacks of some old technologies. Because the traditional examination information management is difficult, the fault tolerance rate is low, and the management personnel is labor-intensive and time-consuming to process the data, an online examination system for students has been specially developed to solve this problem, which can solve many problems.
The functions implemented by the student online examination system include teacher management, test paper management, wrong question book management, test question management, test record management, forum management, announcement management and other functions. The system uses Mysql database, Java language, SSM framework and other technologies for programming.
The online examination system for students can improve the efficiency of solving examination information management problems, optimize the examination information processing process, and ensure the safety of examination information data. It is a very reliable and very safe application.
Key Words:Student online examination system; Mysql database; Java language
目 ?錄
摘 ?要
ABSTRACT
第1章 緒論
1.1 課題背景
1.2 課題意義
1.3 研究內(nèi)容
第2章 開發(fā)環(huán)境與技術(shù)
2.1 JAVA語言
2.2 MYSQL數(shù)據(jù)庫
2.3 IDEA開發(fā)工具
2.4 SSM框架
第3章 系統(tǒng)分析
3.1 可行性分析
3.1.1 技術(shù)可行性
3.1.2 經(jīng)濟可行性
3.1.3 操作可行性
3.2 系統(tǒng)流程
3.2.1 操作流程
3.2.2 登錄流程
3.2.3 刪除信息流程
3.2.4 添加信息流程
3.3 性能需求
3.4 功能需求
第4章 系統(tǒng)設(shè)計
4.1 系統(tǒng)設(shè)計思想
4.2 功能結(jié)構(gòu)設(shè)計
4.3 數(shù)據(jù)庫設(shè)計
4.3.1 數(shù)據(jù)庫概念設(shè)計
4.3.2 數(shù)據(jù)庫物理設(shè)計
第5章 系統(tǒng)實現(xiàn)
5.1 管理員功能實現(xiàn)
5.1.1 老師管理
5.1.2 用戶管理
5.1.3 論壇管理
5.2 老師功能實現(xiàn)
5.2.1 試卷管理
5.2.2 試題管理
5.2.3 考試記錄
5.3 用戶功能實現(xiàn)
5.3.1 試卷表
5.3.2 在線論壇
5.3.3 考試記錄
5.3.4 錯題表
第6章 系統(tǒng)測試
6.1 功能測試
6.1.1 登錄功能測試
6.1.2 修改密碼功能測試
6.2 系統(tǒng)測試結(jié)果
結(jié) ?論
參考文獻
致 ?謝
?
第1章 緒論
1.1 課題背景
二十一世紀互聯(lián)網(wǎng)的出現(xiàn),改變了幾千年以來人們的生活,不僅僅是生活物資的豐富,還有精神層次的豐富。在互聯(lián)網(wǎng)誕生之前,地域位置往往是人們思想上不可跨域的鴻溝,信息的傳播速度極慢,信息處理的速度和要求還是通過人們騎馬或者是信鴿傳遞,這些信息傳遞都是不可控制的,中間很有可能丟失,信息的傳遞水平?jīng)Q定了人們生活的水平。如今大家都在使用互聯(lián)網(wǎng)軟件產(chǎn)品,從內(nèi)部管理設(shè)置計算機管理,提高內(nèi)部信息化的管理水準,從外部市場也可以用計算機獲取相關(guān)數(shù)據(jù)進行處理,如今各行各業(yè)已經(jīng)嚴重依賴于計算機了。
本課題研究和開發(fā)學生在線考試系統(tǒng),讓安裝在計算機上的該系統(tǒng)變成管理人員的小幫手,提高考試信息處理速度,規(guī)范考試信息處理流程,讓管理人員的產(chǎn)出效益更高。
1.2 課題意義
傳統(tǒng)處理數(shù)據(jù),必須是一張張紙,然后處理完畢又是統(tǒng)計在一張張紙上面,不斷的重復處理,最終有個結(jié)果給最高層作為參考,這個模式在互聯(lián)網(wǎng)沒有出現(xiàn)之前,是一種常見的事情,信息管理的效率提不上去,人多不一定力量大,因為人多肯定更加消耗資源,并且因為人類需要休息,需要管理,思想會不統(tǒng)一,會偷懶,所以人們研究出專門幫助人們計算的機器,就是計算機的前身,到了互聯(lián)網(wǎng)時代,人們發(fā)現(xiàn)完全可以讓程序供應(yīng)商提供解決方案,自己挑選自己合適的方案來提高自己的產(chǎn)出比。所以在日常工作和生活中會發(fā)現(xiàn)各種各樣方便人們的工具。
本課題研發(fā)的學生在線考試系統(tǒng),就是提供考試信息處理的解決方案,它可以短時間處理完信息,并且這些信息都有專門的存儲設(shè)備,而且數(shù)據(jù)的備份和遷移都可以設(shè)定為無人值守,從人力角度和信息處理角度以及信息安全角度,學生在線考試系統(tǒng)是完勝傳統(tǒng)紙質(zhì)操作的。
1.3 研究內(nèi)容
本文對學生在線考試系統(tǒng)的設(shè)計與實現(xiàn)分成六個章節(jié)來說明。
第1章:研究學生在線考試系統(tǒng)的背景,以及開發(fā)學生在線考試系統(tǒng)的意義。
第2章:對開發(fā)學生在線考試系統(tǒng)的環(huán)境還有技術(shù)進行說明。
第3章:分析學生在線考試系統(tǒng)的可行性,性能,流程以及功能。
第4章:設(shè)計學生在線考試系統(tǒng)的功能結(jié)構(gòu),設(shè)計數(shù)據(jù)庫E-R圖以及對數(shù)據(jù)表的存儲結(jié)構(gòu)進行設(shè)計。
第5章:實現(xiàn)學生在線考試系統(tǒng)的功能并進行功能界面展示。
第6章:對系統(tǒng)測試進行闡述,以及對本系統(tǒng)部分功能進行檢測。
?
第2章 開發(fā)環(huán)境與技術(shù)
本章節(jié)對開發(fā)學生在線考試系統(tǒng)需要搭建的開發(fā)環(huán)境,還有學生在線考試系統(tǒng)開發(fā)中使用的編程技術(shù)等進行闡述。
2.1 Java語言 ?
Java語言是當今為止依然在編程語言行業(yè)具有生命力的常青樹之一。Java語言最原始的誕生,不僅僅是創(chuàng)造者感覺C語言在編程上面很麻煩,如果只是專注于業(yè)務(wù)邏輯的處理,會導致忽略了各種指針以及垃圾回收這些操作,導致出現(xiàn)問題需要解決的時間往往大于正常編程處理業(yè)務(wù)邏輯的時間,這些是非常浪費時間的。Java語言的創(chuàng)造者就考慮到如何避免這個問題,把指針處理和垃圾處理全部自動化,雖然這會損失一些性能,但是計算機硬件在性能上的發(fā)展速度是很快的,這些性能是可以忽略考慮的。并且C語言是針對硬件開發(fā)的語言,雖然執(zhí)行效率高,但是隨著硬件的變化或者操作系統(tǒng)的變更,就需要重新編寫程序,造成重復勞動,只有解決重復性勞動的語言才算符合生存規(guī)律的語言。Java語言的創(chuàng)造者就針對C語言的缺點專門開發(fā)了Java語言。讓Java語言不管是在什么樣的環(huán)境里都是可以運行,因為在Java語言運行外面套了一個殼,也就是虛擬機,只要是Java虛擬機能安裝的電腦都可以運行Java的程序。
2.2 MYSQL數(shù)據(jù)庫
MySQL數(shù)據(jù)庫是一種數(shù)據(jù)存放方面的專業(yè)軟件,也是傳統(tǒng)的行式數(shù)據(jù)模式,獲取一些數(shù)據(jù)是先一行一行的獲取,然后一行一行的顯示,與列式數(shù)據(jù)庫不同。行式數(shù)據(jù)庫主要是處理最重要的數(shù)據(jù)邏輯部分,并且必須是有效數(shù)據(jù),這樣每一處的數(shù)據(jù)關(guān)聯(lián)都是不可損壞,對數(shù)據(jù)安全要求比較嚴格還是用MySQL數(shù)據(jù)庫比較好。列式數(shù)據(jù)庫的發(fā)明僅僅是因為讀取效率高,但是也就僅僅如此罷了。MySQL雖然比起Oracle或者SQL Server來講,安裝包只是幾十兆甚至幾百兆,有點小,但是功能并不會弱到哪里,嚴格遵循SQL標準語法。MySQL的數(shù)據(jù)存放形式從大向小的說是數(shù)據(jù)庫最大,然后是表,每個表里面存放數(shù)據(jù)是有一定的規(guī)則的,數(shù)據(jù)存放是表格形式的,也就是說有橫也有豎,橫著的為行,一般表示一條數(shù)據(jù),表與表之間還可以進行關(guān)聯(lián),進行分表操作,如果一條數(shù)據(jù)相關(guān)項目屬性太多,那么可以把有效的相關(guān)聯(lián)系做成關(guān)聯(lián),可以設(shè)定是否唯一。
2.3 IDEA開發(fā)工具
IDEA是捷克共和國的Java程序員開發(fā)人員創(chuàng)造的一個開發(fā)軟件,剛開始主要是對于用Eclipse軟件他們用得不順手,所以直接開發(fā)了這款軟件。之所以不順手原因在于沒有代碼提升功能,原因是Eclipse只是把代碼提示作為一種插件形式的存在,如果有些程序開發(fā)人員不清楚代碼提示插件可能會出問題,并且代碼提示只是用來作為插件,所以功能上有所欠缺。IDEA不僅僅代碼提示做的很好,在代碼重構(gòu)上面更上如虎添翼,程序開發(fā)人員可以選擇一段代碼然后IDEA就會對代碼進行分解重構(gòu),有效的把代碼弄得更夠?qū)哟胃?,復用性更高,用著更簡潔和方便,大大的減少了代碼工作量,提升了代碼開發(fā)效率。當然,IDEA對于使用者這么好,肯定也是有目的的,原因在于插件越多越友好,就需要花費大量的金錢來使用,所以說IDEA使用主要是看自己喜好。
2.4 SSM框架
開發(fā)一個業(yè)務(wù)邏輯比較簡單的應(yīng)用,采用這幾年最廣為流傳的SSM框架是很合適的。SSM框架就是Spring MVC框架和Spring框架,以及持久層常用的MyBatis框架。
三個框架有三個不同的作用。普通用戶一般都是操作瀏覽器進行瀏覽自己喜歡的內(nèi)容,而顯示或者提交,都會被Spring MVC框架進行攔截和處理,進入到更深的一個層次就是控制層,它會智能的匹配提交的路徑,對不同的來源匹配不同的處理邏輯,讓不同的代碼進行執(zhí)行,如果只是判斷用戶輸入信息格式的問題是不用傳入到后臺就可以被前端框架處理的,如果需要與數(shù)據(jù)庫內(nèi)容進行交互,就會從Java的POJO對象通過MyBatis自動轉(zhuǎn)換數(shù)據(jù)庫對應(yīng)字段的數(shù)據(jù)類型,具體是該增刪改查還是其他操作,都會通過MyBatis進行處理,處理結(jié)果是反饋給控制層,然后通過控制層再提交給視圖層,反饋到用戶希望看到的結(jié)果。
?
第3章 系統(tǒng)分析
本文作者在確定了研究的課題之后,從各大數(shù)字圖書館下載文獻來閱讀,并了解同類型的網(wǎng)站具備的大致功能,然后具體事務(wù)具體分析,得出本系統(tǒng)要研究的具體功能與性能。雖然分析系統(tǒng)這一階段性工作主要是確定功能,但它卻影響著后面系統(tǒng)開發(fā)環(huán)節(jié)的進展,系統(tǒng)分析這個環(huán)節(jié)是不能少的。
3.1 可行性分析
從三個不同的角度來分析,確保開發(fā)成功的前提是有可行性分析,只有進行提前分析,符合程序開發(fā)流程才不至于開發(fā)過程的中斷。
3.1.1 技術(shù)可行性
在技術(shù)實現(xiàn)層次,分析了好幾種技術(shù)實現(xiàn)方法,并且都有對應(yīng)的成功案例,也有很多開源模塊可以進行參考,所以從技術(shù)可行性分析來講,實現(xiàn)學生在線考試系統(tǒng)是沒有問題的。
3.1.2 經(jīng)濟可行性
對于身為學生的開發(fā)者而言,在經(jīng)濟資源上面可用者很少,為了開發(fā)學生在線考試系統(tǒng),通過開發(fā)軟件對硬件的要求,發(fā)現(xiàn)自己的電腦是完全能用來開發(fā)的,并且學校機房的配置也可以達到要求。最重要的是選擇的技術(shù)都可以在網(wǎng)上找到不花錢的教程以及資料,因為不花錢,所以經(jīng)濟方面是具有可行性的。
3.1.3 操作可行性
學生在線考試系統(tǒng)的具體實現(xiàn),本身參考人類的正常操作邏輯,把常用的操作習慣當做主要的導航實現(xiàn),可以讓使用者更快速的理解并且上手操作,實現(xiàn)符合邏輯的操作流程是操作可行性的具體體現(xiàn)。
以上就是從不同的角度來分析,確保了學生在線考試系統(tǒng)的正常開展。
3.2 系統(tǒng)流程
學生在線考試系統(tǒng)投入使用后,使用者如果能看到相應(yīng)的流程操作圖會提高程序的理解能力。
3.2.1 操作流程
使用者在操作學生在線考試系統(tǒng)中,應(yīng)該按照本系統(tǒng)提供的操作流程(圖3.1即為本系統(tǒng)的操作流程圖)進行操作,可以減少操作失誤,從而節(jié)省進入學生在線考試系統(tǒng)的時間。
?
圖3.1 系統(tǒng)操作流程
3.2.2 登錄流程
學生在線考試系統(tǒng)通過登錄功能(圖3.2即為其登錄的流程)引導使用者進入指定的功能操作區(qū),也避免非本系統(tǒng)的用戶享受本系統(tǒng)提供的服務(wù)以及查看本系統(tǒng)提供的信息,進而保證用戶安全。
?
圖3.2 登錄流程
3.2.3 刪除信息流程
學生在線考試系統(tǒng)在經(jīng)過長期使用后,會產(chǎn)生很多的數(shù)據(jù)信息。為了騰出存儲空間存放更多的數(shù)據(jù),本系統(tǒng)數(shù)據(jù)庫中存儲的數(shù)據(jù),一些沒有參考價值的數(shù)據(jù)需要進行刪除(圖3.3即為刪除信息的流程),刪除數(shù)據(jù)過程中,為避免誤刪,使用者要根據(jù)系統(tǒng)的提示來決定是否刪除數(shù)據(jù)。
?
圖3.3 刪除信息流程
3.2.4 添加信息流程
學生在線考試系統(tǒng)提供可視化的功能操作區(qū),非常方便使用者進行數(shù)據(jù)操作,當使用者往系統(tǒng)中錄入數(shù)據(jù)時(圖3.4即為添加信息的流程),本系統(tǒng)也會進行數(shù)據(jù)合法性的判斷,符合要求的數(shù)據(jù)才能夠在數(shù)據(jù)庫指定表中進行登記。
?
圖3.4 添加信息流程
3.3 性能需求
需求分析少不了對項目用到的硬件設(shè)備進行分析,這樣才符合正常的分析流程。只談功能需求不談性能需求,是一件很嚴重的事情,可能會導致一些不可控的問題出現(xiàn)。
以下從這幾個角度來分析系統(tǒng)性能。
(1)系統(tǒng)數(shù)據(jù)的容量:從數(shù)據(jù)角度來分析,每個表和每個數(shù)據(jù)庫,達到的數(shù)據(jù)量到一定的程度,是否需要分表或者是分庫,超過了數(shù)據(jù)的設(shè)定限度,可能會導致數(shù)據(jù)反映遲鈍,容錯量增加。
(2)數(shù)據(jù)精度的要求:需要對需求分析里面數(shù)據(jù)設(shè)定環(huán)節(jié),考慮相應(yīng)的數(shù)據(jù)精度問題,需要發(fā)現(xiàn)數(shù)據(jù)是常用的精度還是非常用的精度,進而設(shè)定不同的數(shù)值。
(3)時間響應(yīng)要求:從用戶提交操作,到頁面反映,中間有個數(shù)據(jù)處理的問題,需要考慮預(yù)測數(shù)據(jù)量的大小,提前預(yù)案分庫分表的設(shè)計,數(shù)據(jù)量再大就要考慮增加列式數(shù)據(jù)庫的問題,這些都不是一拍腦門就能決定的,都需要經(jīng)驗和同行業(yè)的數(shù)據(jù)分析研判,才能符合用戶的要求,畢竟響應(yīng)時間太久操作起來也不舒服。
(4)普適性問題:用戶使用應(yīng)該不需要感知服務(wù)端的數(shù)據(jù)量問題或者響應(yīng)問題,只需要任意一臺電腦,不需要更多的操作,打開瀏覽器就能用,太多的設(shè)置以及操作,不符合普適性操作。
(5)頁面設(shè)計問題:功能符合要求之后,肯定是要豐富頁面的。頁面設(shè)計才是用戶長時間面對的問題,首先考慮數(shù)據(jù)的整潔性,讓頁面看起來更加的清爽。顏色與數(shù)據(jù)方面,該不同顏色就不同顏色,降低用戶長時間使用出現(xiàn)的視覺疲勞,讓用戶使用起來心情不至于太差。
(6)系統(tǒng)的穩(wěn)定性:正常用戶操作系統(tǒng)頁面,必須是該提交提交,正常輸入符合邏輯,不能隨隨便便的就出各種問題,導致用戶操作疲憊,并且輸入的數(shù)據(jù)和回顯的數(shù)據(jù)符合用戶的要求。如果正常操作都會出現(xiàn)問題,那設(shè)計就是不穩(wěn)定的,這一點肯定不行。只要是與數(shù)據(jù)進行交互的系統(tǒng),都必須穩(wěn)定。系統(tǒng)穩(wěn)定從開發(fā)部署角度上來分析,可以考慮數(shù)據(jù)的冗余備份功能,自動值守功能,機房數(shù)據(jù)同步,機房分開的功能,這些都可以讓系統(tǒng)的穩(wěn)定性得到提升。
系統(tǒng)的性能需求需要對業(yè)務(wù)很熟練的情況下判斷然后分析,再從系統(tǒng)性能需求來逐條實現(xiàn),可以讓設(shè)計的系統(tǒng)有使用價值。
3.4 功能需求
學生在線考試系統(tǒng)根據(jù)使用權(quán)限的角度進行功能分析,并運用用例圖來展示各個權(quán)限需要操作的功能。
圖3.5即為管理員用例圖,管理員權(quán)限操作的功能包括對老師,論壇帖子,用戶,試卷信息以及考試信息等信息進行管理。
?
圖3.5 管理員用例圖
圖3.6即為老師用例圖,老師權(quán)限操作的功能包括對試卷進行管理,對試卷的試題進行管理,管理用戶考試記錄和錯題信息,管理論壇帖子等。
?
圖3.6 老師用例圖
圖3.7即為用戶用例圖,用戶權(quán)限操作的功能包括選擇試卷進行考試,對考試記錄以及考試得分信息進行查看,通過論壇功能進行考試方面的信息討論等。
文章來源:http://www.zghlxwxcb.cn/news/detail-846232.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-846232.html
到了這里,關(guān)于基于JAVA的學生在線考試系統(tǒng)的設(shè)計與實現(xiàn)(論文+源碼)_kaic的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!