基于Java的在線考試系統(tǒng)課程設計說明書(含源程序)_第1頁
基于Java的在線考試系統(tǒng)課程設計說明書(含源程序)_第2頁
基于Java的在線考試系統(tǒng)課程設計說明書(含源程序)_第3頁
基于Java的在線考試系統(tǒng)課程設計說明書(含源程序)_第4頁
基于Java的在線考試系統(tǒng)課程設計說明書(含源程序)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

操作系統(tǒng)課程設計設計實現(xiàn)線考系統(tǒng)1

一、前臺面設計1用注、錄面圖用注冊界面用戶注冊界面如上圖所示,下面是各項需填寫內(nèi)容的功能:用名標示用戶在線身份,以為真實姓名,也可為化名,不同用戶可以具有相同的用戶名。郵:于用戶接受系統(tǒng)消息,如用戶忘記密碼時,可以將密碼通郵件發(fā)送給用戶。每個用戶的郵箱地址必須是特有的,如果一個用戶想要有兩個登錄賬號,必須用兩個不同的郵箱地址如果某個郵箱地址再次被用來注冊,給出提示。設密:戶登錄所用密碼。確密:戶需再次輸入密碼,以確認上次輸入內(nèi)容。如果次輸入密碼不相同,給出提示。性:對部分用戶需求而設定。如:老師在對學生進行測試時便于核對學生信息。2

圖用登錄界面用戶登錄界面如上圖所示,下面是各項需填寫內(nèi)容的功能:郵:戶注冊時所填寫的郵箱,用于標識用戶身份。密:戶最近一次所設置的密碼,用于驗證用戶身份。記密:于記錄用戶登錄狀態(tài),若選中此項,下次用戶登錄時系統(tǒng)會自動啟動到用戶登錄狀態(tài)。忘密:用戶忘記登錄密碼,可點擊此鏈接,跳轉到用戶注冊郵箱接收郵件,郵件中包含用戶最近一次設置密碼。2歡界歡迎界面分兩種形式:一種為未注冊用戶歡迎界面,另一種為已注冊用戶歡迎界面,效果圖如下所示:3

圖未冊用戶歡迎界面頁面內(nèi)容介紹如下:窗口名稱為XXX在線測試系統(tǒng)戶點擊“注冊”或“錄”按鈕可彈出注冊窗口或登錄窗口,供用戶注冊或登錄。窗口中間部分內(nèi)容為關于系統(tǒng)的介紹性文字。用戶點擊“立即進入按鈕后進入“題目列表”窗口目表”窗口設計見后面內(nèi)容圖已冊用戶歡迎界面頁面內(nèi)容介紹如下:已注冊用戶歡迎界面與未注冊用戶歡迎界面基本相同,不同之處在于沒有“注冊按鈕,而添加了用戶菜單,菜單起初僅顯示用戶名,當鼠標指向時,顯示二級菜單,分別為“賬管理資料錄功能如下:4

賬戶管理:進入用戶賬戶管理界面,比如用戶可在此修改登錄密碼、查看歷史測試成績等。詳細設計參見后面內(nèi)容。個人資料:用戶可在此完善個人資料。退出登錄:退出登錄狀態(tài),以未登錄狀態(tài)在線。3題列題目列表界面分兩種形式:一種為未注冊用戶歡迎界面,另一種為已注冊用戶歡迎界面,效果圖如下所示:圖未冊用戶題目列表界面未登錄用戶(包括未注冊用戶和已注冊但未登錄用戶)進入題目列表界面后,首先陳列的是題目類型,即題目所屬的相關領域。當用戶點擊某一題目類型后,向下彈出所有此類型的題目列。每條題目包括標題、上傳人、上傳時間。5

圖已冊用戶題目列表界面已登錄用戶的題目列表界面與未登錄用戶的相似,不同之處除了顯示用戶名外,在每個題目類型的后面有一個“上傳”按鈕,用戶可點擊此按鈕添加此類型的題目。4在測界在線測試界面有多個,包括題目部分和測試結果部分。每一套題目都由1個項選擇題組成,用戶必須按順序答題,答完全部題目后方可提交。用戶在答題過程中可自行取消本次答題。若于某些客觀原因程序異常退出,系統(tǒng)可對用戶答題情況進行備份,下次登錄時用戶可繼續(xù)上次答記錄進行答題(此項功能對未登錄用戶無效是詳細設計:6

圖第題界面圖中內(nèi)容區(qū)左上角為題目類型,此處為”類,內(nèi)容區(qū)右上角為當前題號,中間部分為題目和選項。內(nèi)容區(qū)左下角為“上一題”按鈕,因為此處為第一題,所以此按鈕為不可用狀。內(nèi)容區(qū)右下角為“下一題”按鈕,點擊跳轉到下一個題目,只有用戶對當前題目做出選擇后,按鈕才顯示為可用狀態(tài)。窗口右上角為用戶菜單,點擊“返回”可取消本次答題。若為已登錄用戶,則顯示用戶名。7

圖中題目界面此界面與第一題界面幾乎相同,不同之處在于“上一題”按鈕變?yōu)榭捎脿顟B(tài)。圖最一題界面此界面與前面兩個界面幾乎相同。不同之處在于已經(jīng)沒有“下一題”按鈕,用戶可點擊“完成按鈕進行提交。圖測結果界面8

此界面顯示用戶答題結果,包括正確率和每個題的對錯情況。當鼠標點擊題目時,可彈出窗口顯示原題供用戶回顧。顯示原題窗口如下所示:圖原顯示窗口其中,正確答案應加粗顯示。若為用戶打錯的題目,則選錯的選項應特別標出。二、已登用戶權限界設計1用賬管圖用賬戶管理界面用戶對賬戶的管理功能主要有三項:修改密碼、查看題庫、查看歷史成績。用戶點擊三個按鈕9

其中之一,就會進入各項管理界面。詳細設計如下:圖用修改密碼界面此處為用戶提供修改登錄密碼功能且必須在用戶登錄的前提下果戶忘記了登錄密碼,可點擊“忘記當前密碼?”尋回。圖題查看界面用戶可在此查看自己上傳過的所有題目,并可對其進行修改或刪除。用戶還可以通過“上傳”按鈕進行新題目上傳。10

圖題上傳界面題目標題可自行填寫,題目類型可以從已有列表中選擇,也可自行添加。問題、選項內(nèi)容自行填寫,正確答案只能為ABCD其之一。上傳時間系統(tǒng)自動設置。點擊“保存”按鈕可題目提交到系統(tǒng)數(shù)據(jù)庫,并能在題目列表中顯示,供其他用戶進行測試。11

圖歷成績界面用戶可在此查看自己所獲得的所有成績,可根據(jù)需求對部分記錄進行刪除。2個資圖用個人資料界面用戶可以在此修改用戶名、郵箱、性別,并添加簡單的個人介紹,以便其他用戶查看。12

圖個資料顯示界面當某用戶查看其他用戶資料時,顯示內(nèi)容如圖。三、系統(tǒng)理員權限界設計1管員錄面計13

圖管員登錄界面管理員登錄界面如上圖所示,同用戶一樣,通過郵箱尋回密碼。2管系首設圖系管理首頁管理員登錄后的首頁,僅是一個內(nèi)容顯示界面,沒有功能。14

3用管界設圖用管理界面系統(tǒng)管理員可在此處對用戶進行管理??晒芾淼挠脩粜畔ㄓ脩裘?、郵箱、密碼、性別、個人簡介,管理員操作的最小單位為一條記錄,且只能對用戶進行刪除操作,無權限修改用戶的人信息。4題管界設圖題管理界面管理員在此處對題型進行管理,題型包括名稱和數(shù)量兩項屬性,管理員可以定期刪除題目數(shù)量為題型。15

5題管界設圖題管理界面管理員可在此處對題目進行管理,題目屬性包括名稱、上傳人、上傳時間、所屬類型。管理員操作的最小單位為每一套題目,且只能進行刪除操作。16

6管員人料理面計圖管員個人資料管理界面管理員在此對自己的個人信息進行管理戶名不可變昵稱可針對不同的系統(tǒng)管理員而改變,郵箱必填,以接收系統(tǒng)消息,如找回密碼等。如要修改登錄密碼,可通過框內(nèi)兩項修改,否則兩項留空。四、設計結在本次課程設計中,我負責整個系統(tǒng)的流程、界面設計。設計時,我將重點放在系統(tǒng)功能上,只想著怎樣將系統(tǒng)的功能完全的、有條理的表現(xiàn)出來,忽視了用戶體驗這一方面的考慮。直到們做測試時,我才發(fā)現(xiàn)存在很多問題。比如,用戶在進入測試之后,就只能一路走到底,不能返,這是一個非常嚴重的錯誤。如果在加一個返回按鈕的話,那么整個系統(tǒng)的流程控制要有非常大變動,由于時間緊張,最終還是沒能做出修改。而且,我們用了Java原的界面控件,沒有加自己素材,這使我們的真?zhèn)€系統(tǒng)看起來只是一個練習,而不是一個產(chǎn)品。雖然缺陷非常多,但在設計的過程中還是有很多的收獲。整個系統(tǒng)從最初的一個想法,到簡單的模型,再到詳細的設計,置身在這個過程中,有過迷茫與困惑,但最終都堅持過來了,心中一些小小的成就感。在這個過程中,我始終都以積極的姿態(tài)投入,并不是以一個“旁觀者”的姿來17

應付一個課程設計。期間,有人向我們提出質(zhì)疑:從無到有的搭起一個系統(tǒng)框架并不容易,更況還要加好多功能。而且,我們?nèi)齻€的編碼能力并不是很強,當初我也懷疑過,我們到底能做到么程度。雖然心中非常沒底,但還是表現(xiàn)出樂觀的態(tài)度,因為情緒是會感染人的,積極的態(tài)度會旁邊的人也變得積極。只要我們真的想做、認真做,就一定能學到自己想要的東西,與結果相比過程更重要。懷著積極的心態(tài),我們?nèi)齻€齊心協(xié)力,最終實現(xiàn)了最主要的功能。我想,我之所以能堅持下來,最重要的是老師和同學的幫助。老師在整個過程中的細心指導,使我們始終保持向前的姿態(tài);其他兩名同學的積極態(tài)度,使我能保持一份必勝的信心。我知道我還差的很遠,需要繼續(xù)更加努力的學習、實踐。我會奮力向前,總有一天做到心中的那個自己.18

數(shù)據(jù)庫設在對數(shù)據(jù)庫進行分析設計時,應按照數(shù)據(jù)規(guī)范化理論的設計,盡量減少冗余數(shù)據(jù),以確保數(shù)據(jù)完整性,統(tǒng)一性。在數(shù)據(jù)庫基本設計原則的指導下,數(shù)據(jù)庫設計重點應考慮下列因素:1.數(shù)據(jù)庫表設計必須布局合理,層次分明。2.數(shù)據(jù)庫必須高度結構化,保證數(shù)據(jù)的結構化,規(guī)范化和標準化,這是建立數(shù)據(jù)庫和進行信息交換的基礎。數(shù)據(jù)結構的設計應該遵循國家標準和行業(yè)標準,尤其要重視編碼的應用。3數(shù)據(jù)庫設計的時候一方面要盡可能地減小數(shù)據(jù)冗余減小存儲空間降低數(shù)據(jù)一致性問題發(fā)生的可能性,另一方面,還要考慮適當?shù)臄?shù)據(jù)冗余,以降低程序開發(fā)難度。4數(shù)據(jù)庫設計時應保持數(shù)據(jù)庫中數(shù)據(jù)的準確性和統(tǒng)一性在系統(tǒng)中多個用戶同時操作數(shù)據(jù)庫中的共享數(shù)據(jù),就會可能影響到數(shù)據(jù)庫數(shù)據(jù)的一致性產(chǎn)生錯誤,因此必須使用“鎖”等方法來確保數(shù)據(jù)庫中數(shù)據(jù)的一致性。5數(shù)據(jù)庫設計的時候?qū)τ跀?shù)據(jù)庫中的保密數(shù)據(jù)還必須設計一些安全機制來確保數(shù)據(jù)苦的安全。在數(shù)據(jù)庫設計實際的過程中,確定數(shù)據(jù)庫的結構設計是否合理的,主要是依據(jù)數(shù)據(jù)庫中是否有以下特點:1.數(shù)據(jù)庫是否具有一定的靈活性、適應性和可移植性;2.數(shù)據(jù)庫是否具有與其系統(tǒng)的兼容性;3.數(shù)據(jù)庫是否具有對新環(huán)境的可改變性;4.數(shù)據(jù)庫的存儲成本是否夠低;5.數(shù)據(jù)庫的設計是否有利于系統(tǒng)的實現(xiàn);6.是否具有良好的數(shù)據(jù)庫結構,易于維護,易于理解,效率較高。作為一個具有一定應用價值的在線考試系統(tǒng)的數(shù)據(jù)庫,就要求數(shù)據(jù)庫設計人員設計出一個好的結構,減少數(shù)據(jù)庫數(shù)據(jù)的冗余的產(chǎn)生。下面就介紹在線考試系統(tǒng)的數(shù)據(jù)庫是如何設計的。該統(tǒng)用據(jù)—MySQL是一種開放源代碼的關系型數(shù)據(jù)庫管理系統(tǒng),它與其他大型的數(shù)據(jù)庫例如SQLServer、Oracle相比,MySQL有著其自身的一些缺點,例如功能相對簡單、數(shù)據(jù)庫規(guī)模較小等,但這卻一點都沒有影響到它受中小型企業(yè)和一般的個人使用者歡迎的程度,因MySQL提供的功能已經(jīng)對他們來說已經(jīng)夠用了,同時因MySQL是一個開源數(shù)據(jù)庫,所以可以大大減少系統(tǒng)成本。MySQL數(shù)據(jù)庫的主要功能只組織和管理很龐大或復雜的信息和基于WEB的庫存查詢請求不僅僅為客戶提供信息,而且還可以為您自己使用數(shù)據(jù)庫可以提供如下功能(1)減少記錄編檔的時間(2)減小記錄檢索時間(3)靈活的查找序列(4)靈活的輸出格式(5)多個用戶同時訪問記錄19

1、數(shù)據(jù)庫需求分析需求分析是設計數(shù)據(jù)庫的起點,需求分析的結果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設計,并影響到設計結果是否合理和實用。根據(jù)分析,該系統(tǒng)主要涉及到幾種信息的存,理員信息的存儲,用戶信息的存儲,試卷信息的存儲。所以該系統(tǒng)需要建立管理員信息表,用戶信息表,題庫信息表,試卷類型表、試卷表,成績表。2、數(shù)據(jù)庫概要設計概念設計階段主要是將需求分析階段得到的用戶需求抽象為信息結構(概念模型)的過程,它是整個數(shù)據(jù)庫設計的關鍵。根據(jù)數(shù)據(jù)庫需求給出該系統(tǒng)的3、數(shù)庫輯構計數(shù)據(jù)庫的概念結構設計完畢以后,現(xiàn)在可以將上面的數(shù)據(jù)庫概念結構轉化為某種數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結構。下面就要設計在線考試系統(tǒng)數(shù)據(jù)庫的邏輯結構。以概念結構設計中E-R圖主要依據(jù)使powerdesign設計出該系統(tǒng)的關系模式,20

該系統(tǒng)的數(shù)據(jù)庫邏輯概念關系模型圖如下圖4.7邏概念關系模型圖4數(shù)庫設下面列出了設計過程中所用到的數(shù)據(jù)庫表及其結構表格名用戶信息表管理員信息表試卷類型表題庫表試卷表成績表

元素用戶名、郵箱(主鍵碼、性別、簡介用戶名、郵箱、密碼類型名(如操作系統(tǒng)、軟件工程等卷量類型名、試卷名(***一套模擬試題傳人、上傳時間類型名、試卷名、題號、內(nèi)容、A|、B、、D、答案郵箱(主鍵型名、試卷名、成績表1.1

user表21

t_user列名

類型

長度

描述usernamevarchar10useremailvarchar20userpasswordvarchar20usersex(男、女)userintroducevarchar100

用戶名字用戶郵箱用戶密碼用戶性別用戶簡介表1.2

manager表t_manager列名

類型

長度

描述managernamevarcharemailvarchar

1020

管理員名字管理員郵箱passwordvarchar20

管理員密碼列名

question_subject表1.3t_question_subject類型長度

描述subjectnamepaperSum

varcharint

20

類型名(如操作系統(tǒng)、軟件工程等)試卷數(shù)量列名

questionsBase表1.4t_questionsBase類型長度

描述subjectnamevarchar20

試題類型paperNameuseremailjoinTime

varcharvarchardatetime

30208

試卷名***第一套模擬試題)用戶郵箱加入時間列名

Question表表1.5t_Question類型長度

描述sujectnamevarchar20

試題類型paperNameQuestionnoContentA

varcharintvarcharvarchar

3010050

試卷名***第一套模擬試題)題號試題內(nèi)容A選項內(nèi)容22

BCDanswer

varcharvarcharvarcharvarchar

50505050

B選項內(nèi)容C選項內(nèi)容D選項內(nèi)容答案表1.6Tb_degree

表列名

類型

長度

描述useremailvarchar20subjectnamevarchar20paperNamevarchar30

用戶郵箱試題類型試卷名degree

成績5主代DATABASE()throws{("com.mysql.jdbc.Driver"}catch(ClassNotFoundExceptione){}DriverManager.getConnection"jdbc:mysql://localhost:3306/testsystems""root","");}java.sql.Connection;throws{}23

1、password,sex,2、

3、4、5、int

6、7、8、)24

9、求卷目數(shù)s)、增加addsetpape_sum(、增加a1)、上傳voidaddpaper(Stringpapername,intab,c,d,、請求的0道void

、請求getanswer(String、設置void

degree)、請求

17、減少卷量25

s)、刪除s)、刪除

7、感悟通過這次畢業(yè)設計,對很多東西有了新的認識和新的見解,認識問題的和思考解決辦法有了本質(zhì)上的進步,特別是對一個系統(tǒng)開發(fā)的模式有了更深的認識,對專業(yè)技能的運用更熟練。在線考試系統(tǒng)服務器模塊詳細設計服務器模塊負責人;高秀洋。主要負責功能,客戶端、服務器端socket程設計,客戶端與服務器的通信及請求處理。系統(tǒng)簡介在線考試系統(tǒng)是一款可以為某類知識群體提供知識技能測評的軟件只要下載了客戶端軟件,就可以注冊、登陸選擇某一類題目進行答題,答題結束后系統(tǒng)保存用戶成績并返回用戶成績。服務器模塊介紹服務器端應用ServerSocket設定端口為監(jiān)聽端口為一個發(fā)出請求的用戶創(chuàng)建一個服務線程務線程根據(jù)客戶端的請求息做相應的處理戶端應用Socket連服務器和端口,26

與服務器建立連接,客戶端發(fā)送帶有約定標識的請求消息,服務器程序根據(jù)此特定標識做出相處理。服務器功能介紹、用戶注冊客戶端用戶輸入個人信息及密碼,客戶端序?qū)⒋诵畔l(fā)送至服務器。此用戶的服務線程繼而將用戶注冊信息寫入數(shù)據(jù)庫。用戶登錄用戶在登陸界面輸入郵箱與密碼,客戶端序?qū)⑧]箱與密碼發(fā)送到服務器,服務器線程繼而查詢數(shù)據(jù)庫,確認此用戶是否已注冊,若注冊則允許登陸,否則拒絕登陸。修改密碼用戶登錄后,修改密碼。服務器的用戶線程接收到此請求后將客戶端傳來的新密碼寫入數(shù)據(jù)庫替原來的密碼。傳送試題服務器線程接收到用戶請求試題的信息后,開始訪問數(shù)據(jù)庫取出題目發(fā)送到客戶端??蛻舳私釉囶}并將題目寫入臨時只讀文件里,以備客戶端讀文件并將試題寫入界面。試卷批閱客戶端將用戶答案傳送至服務器,服務器查詢數(shù)據(jù)庫得到正確答案并判斷用戶答案。統(tǒng)計在線用戶數(shù)量服務器維護一個全局變量NUM用來保存在用戶數(shù)量當一個用登陸成功ClientNum就加一,當用戶退出就減一于多線程的服務器序互斥的訪問處使用同步方法如下。27

publicvoid{intClientNum;}publiccutClientNum(){intClientNum;n--;}、客戶端socket程序主要代碼:publicSocketClient{Sockets;staticInputStreamstaticOutputStreamoutStream;staticScannerin;staticout;publicSocketClient(){s=instreamoutStream=in=Scanner(instream);outPrintWriter(outStream,true);}}、服務器程序主要代碼如下,每接收到一個客戶端請求就新建一個用戶線程,有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論