日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

基于Java标准化考试系统

發(fā)布時間:2023/12/15 windows 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Java标准化考试系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

Java課程設(shè)計報告

?

?

?

???業(yè):?????????????????

???級:?????????????????

學(xué) ???號:?????????????????

???名:?????????????????

指導(dǎo)老師:?????????????????

???間:?????????????????

?

?

????????

?

?

?

?

?

?

摘要 - 3 -

標(biāo)準(zhǔn)化考試系統(tǒng) - 4 -

1.設(shè)計內(nèi)容及要求 - 4 -

1.1 標(biāo)準(zhǔn)化考試系統(tǒng)的基本要求 - 4 -

1.2 需實現(xiàn)的主要功能 - 5 -

2.需求分析 - 5 -

2.1數(shù)據(jù)庫設(shè)計 - 5 -

2.2服務(wù)器端和客戶端的數(shù)據(jù)傳輸方式 - 5 -

2.3 服務(wù)器端功能設(shè)計 - 6 -

2.4客戶端功能設(shè)計 - 7 -

3.總體設(shè)計 - 8 -

3.1 總體功能圖 - 8 -

3.2 總體流程圖 - 9 -

4.數(shù)據(jù)庫設(shè)計 - 10 -

4.1 數(shù)據(jù)庫及表結(jié)構(gòu)的建立 - 10 -

4.2 JAVA 數(shù)據(jù)庫的連接 - 11 -

5. 主要功能設(shè)計流程 - 11 -

5.1服務(wù)器端設(shè)計流程圖 - 11 -

5.2客戶端設(shè)計流程圖 - 12 -

6.代碼實現(xiàn) - 13 -

6.1類之間關(guān)系圖 - 13 -

6.2 運行效果圖 - 14 -

7. 總結(jié)與說明 - 19 -

附錄?標(biāo)準(zhǔn)化考試系統(tǒng)部分源代碼 - 21 -

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

摘要

【摘要】

???隨著信息技術(shù)的飛速發(fā)展和日趨激烈的商業(yè)競爭,企業(yè)已不再滿足于獨立、零散的辦公自動化應(yīng)用,企業(yè)需要的是協(xié)同工作、綜合、集成化的解決方案。而網(wǎng)絡(luò)是解決由于物理距離造成的信息交流不暢、協(xié)商溝通不便的辦公瓶頸問題的最佳方式。企業(yè)網(wǎng)上辦公自動化通過對各辦公自動化要素的閉環(huán)整合,實現(xiàn)了工作流、信息流、知識流和辦公自動化系統(tǒng)的整合管理,提供了一個科學(xué)、開放、先進的信息化辦公平臺,實現(xiàn)辦公自動化,并進行遠(yuǎn)程辦公或在家辦公。企業(yè)網(wǎng)上辦公自動化將人從繁瑣、無序、低序、低端的工作中解放出來從事核心事務(wù),整體提高了單位辦事效率和對信息的可控性,降低辦公成本,提高執(zhí)行力,使管理趨于完善。

?

【關(guān)鍵詞】 辦公自動化管理、ADO連接、數(shù)據(jù)源、辦公管理

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

標(biāo)準(zhǔn)化考試系統(tǒng)

1.設(shè)計內(nèi)容及要求

1.1 標(biāo)準(zhǔn)化考試系統(tǒng)的基本要求

????設(shè)計C/S模式的標(biāo)準(zhǔn)化考試系統(tǒng),即客戶端和服務(wù)器端都是Java應(yīng)用程序,具體要求如下:

(1)?開始運行程序后,出現(xiàn)連接服務(wù)器界面,用戶輸入服務(wù)器IP地址,并請求服務(wù)器建立套接字連接,程序可以判斷用戶輸入的服務(wù)器IP是否正確,并給出連接提示,使客戶端與服務(wù)器端分離。

(2)?正確連接服務(wù)器后,有用戶登錄驗證功能,用戶可以選擇自己的登錄身份,是學(xué)生還是教師。用戶在登錄界面輸入用戶名,密碼以及登錄身份后,客戶端會把用戶的相關(guān)信息通過套接字發(fā)送到服務(wù)器端,服務(wù)器端根據(jù)客戶端傳來的信息對用戶的身份進行驗證,并發(fā)送相關(guān)信息到客戶端。

(3)?學(xué)生正確登錄后,進入考試主界面,用戶可以選擇試題進行考試,點擊開始按鈕開始考試,考試考試后,有計時功能,考試完成以后用戶可以查看自己的分?jǐn)?shù),可以查看原題目、正確答案以及該道題目的分值,用戶還可以查看自己所選的答案,用戶考試完成后可以選擇退出系統(tǒng)。

(4)?教師登錄成功后,進入后臺管理界面,教師可以對標(biāo)準(zhǔn)化考試系統(tǒng)進行管理,教師有以下管理功能:1.可以增加、查詢、修改和刪除試題;2.可以查看所有考生的考試成績,而且可以對考生進行排名查看;3.可以增加、查詢、修改和刪除學(xué)生信息;4.可以增加、修改、查詢和刪除教師信息;

(5)?試卷名字、學(xué)生信息、教師信息、試題全都用SQL Server數(shù)據(jù)庫存儲,并且采用JDBC連接數(shù)據(jù)庫。每一道題都必須提供正確答案以及分值。

1.2 需實現(xiàn)的主要功能

① C/S模式,即客戶端與服務(wù)器端都是Java應(yīng)用程序;

② 輸入服務(wù)器IP地址,連接服務(wù)器功能;

③ 登錄驗證功能;

④ 學(xué)生可以選擇所要做的試題;

⑤ 開始考試后,有計時功能,當(dāng)時間結(jié)束時考試結(jié)束;

⑥ 完成考試后,學(xué)生可以查看自己的分?jǐn)?shù)、試題、正確答案、分值以及自己所選擇的答案;

⑦ 教師可以增加、修改、查詢、刪除試題;

⑧ 教師可以查看所有考生的成績,并且可以按成績降序查看成績;

⑨ 教師可以增加、修改、查詢、刪除學(xué)生信息;

⑩ 教師可以增加、修改、查詢、刪除教師信息;

2.需求分析

????根據(jù)標(biāo)準(zhǔn)化考試系統(tǒng)的設(shè)計要求和所要實現(xiàn)的功能,對標(biāo)準(zhǔn)化考試系統(tǒng)的需求分析如下:

2.1數(shù)據(jù)庫設(shè)計

????此標(biāo)準(zhǔn)化考試系統(tǒng)采用的是數(shù)據(jù)庫來存儲試題的,而不是采用文件最主要的一個原因是數(shù)據(jù)庫的讀取速度比文件讀取速度快。該系統(tǒng)采用的是SQL Server 2005數(shù)據(jù)庫,SQL Server數(shù)據(jù)庫是一個非常強大的數(shù)據(jù)庫,在各方面應(yīng)用比較廣泛,是一些中小型項目開發(fā)首選數(shù)據(jù)庫。該標(biāo)準(zhǔn)化考試系統(tǒng)需要創(chuàng)建kaoshi數(shù)據(jù)庫文件,在該數(shù)據(jù)庫中需要創(chuàng)建student、teachter、shijuan和Test1四個表。Student數(shù)據(jù)表是用來存儲學(xué)生信息;teachter數(shù)據(jù)表用來存儲教師信息;shijuan數(shù)據(jù)表用來存儲試卷名字;Test1用來存儲試題。

2.2服務(wù)器端和客戶端的數(shù)據(jù)傳輸方式

服務(wù)器端和客戶端的數(shù)據(jù)時用套接字來傳輸?shù)摹?/span>IP地址表示Internet上的計算機,端口號標(biāo)識正在計算機運行的進程。端口號與IP地址的組合得出一個網(wǎng)絡(luò)套接字。客戶端使用Socket類建立到服務(wù)器的套接字連接,具體實現(xiàn):

try{

??????Socket sock=new Socket(String host,int port);

}catch(IOException e){}

當(dāng)套接字連接sock建立后,sock使用getInputStream()方法獲得一個輸入流,然后把獲得的輸入流接到另一個數(shù)據(jù)流上,然后就可以從這個數(shù)據(jù)流讀取服務(wù)器來的信息,同樣sock使用getOutputStream()方法獲得一個輸出流,然后把獲得的輸出流接到另一個DataOutputStram()數(shù)據(jù)流上,然后向這個數(shù)據(jù)流寫入信息,發(fā)送給服務(wù)器。客戶負(fù)責(zé)建立客戶端到服務(wù)器的套接字連接,即客戶端負(fù)責(zé)呼叫,因此服務(wù)器必須建立一個等待接收客戶的套接字的ServerSocket對象,具體實現(xiàn):

try{

??????ServerSocket server_socket=new ServerSocket(int port);

}catch(IOException e){}

當(dāng)服務(wù)器的ServerSocket對象建立后,就可以使用accept()方法接收客戶的套接字。

?

2.3 服務(wù)器端功能設(shè)計

服務(wù)器端是接受客戶端傳來的信息,并作出相應(yīng)的處理。標(biāo)準(zhǔn)化考試系統(tǒng)服務(wù)器端最主要是實現(xiàn)試題的讀取。為了完成這個標(biāo)準(zhǔn)化考試系統(tǒng)還需要服務(wù)器有一些其他的功能,比如:計算學(xué)生考試分?jǐn)?shù),用戶登錄驗證,教師對系統(tǒng)管理的實現(xiàn)等。

2.3.1試題讀取功能

本系統(tǒng)是采用數(shù)據(jù)庫來存儲試題的,所以要讀取試題必須首先建立與Test1數(shù)據(jù)表的連接,然后利用ResultSet的對象rs的getString()方法得到試題的內(nèi)容,然后把試題內(nèi)容發(fā)給客戶端。

2.3.2?用戶登錄驗證功能

當(dāng)用戶登錄時,客戶端會獲取用戶輸入的用戶名和密碼,并且會把信息發(fā)送給服務(wù)器,服務(wù)器會根據(jù)客戶端發(fā)來的信息對用戶的身份進行驗證。

kaoshi數(shù)據(jù)庫有兩個數(shù)據(jù)表是用來存儲用戶信息的,student數(shù)據(jù)表存儲學(xué)生信息,teachter數(shù)據(jù)表存儲教師信息,當(dāng)用戶以學(xué)生身份登錄系統(tǒng)時,服務(wù)器會在student數(shù)據(jù)表中查詢有沒有這個用戶,并根據(jù)查詢的信息判斷學(xué)生是否成功登陸,把信息發(fā)送給客戶端,當(dāng)用戶以教師身份登錄系統(tǒng)時,服務(wù)器會在student數(shù)據(jù)表中查詢有沒有這個用戶,并根據(jù)查詢的信息判斷教師是否成功登陸,把信息發(fā)送給客戶端。

2.4客戶端功能設(shè)計

客戶端是提供學(xué)生進行考試和教師對系統(tǒng)進行管理,由于該系統(tǒng)是C/S模式,所以客戶端必須有連接服務(wù)器功能,連接服務(wù)器后有用戶登錄功能,用戶正確登錄后,學(xué)生用戶進入考試界面,所以客戶端必須有考試功能,教師用戶正確登錄后進入教室管理界面,客戶端必須有試題管理功能,查詢學(xué)生成績功能,學(xué)生信息管理功能,教師信息管理功能。

2.4.1連接服務(wù)器功能

客戶端與服務(wù)器端連接時通過套接字實現(xiàn)的,本系統(tǒng)采用的是把套接字放在一個線程中,就是使用Socket類不帶參數(shù)的構(gòu)造方法Socket()創(chuàng)建一個套接字對象,該對象需調(diào)用public void connect(SocketAddress endpoint) throws IOException ,請求和參數(shù)SocketServer指定的套接字建立連接。為了使用connect方法,可以使用SocketAddress的子類InetSocketAddress創(chuàng)建一個對象, InetSocketAddress的構(gòu)造方法如下:public InetSocketAddress(InetAddress addr,int port)。

?

2.4.2用戶登錄功能

用戶在進入系統(tǒng)前必須經(jīng)過用戶登錄,用戶登錄功能是為了保護系統(tǒng)的安全,當(dāng)用戶寫入用戶名和密碼,并且選擇了登陸身份后,客戶端會獲取用戶的信息發(fā)送給服務(wù)器端,讓服務(wù)器度昂對用戶的身份進行驗證,并傳來登錄是否成功的信息,客戶端根據(jù)服務(wù)器端傳來的信息進行判斷,如果登錄成功,彈出對話框顯示用戶登錄成功,學(xué)生進入考試界面,教師進入后臺管理界面;如果登錄失敗,彈出對話框顯示用戶名或密碼錯誤或者顯示你已經(jīng)登錄了。

2.4.3考試功能

學(xué)生正確登錄后就進入考試界面,學(xué)生進入考試界面后,必須選擇試卷,客戶端會通知服務(wù)器端列出所有的試卷名稱,在客戶端的下拉列表中會顯示所有試卷的名字,用戶選擇了試卷后,客戶端會通知服務(wù)器端學(xué)生所選的試卷名稱,學(xué)生點擊開始考試按鈕就可以開始考試了,同時計時器開始計時,當(dāng)用戶完成考試或者時間用完了考試結(jié)束,考試結(jié)束后用戶可以點擊查詢成績按鈕,用戶可以看到題目,答案以及自己所選的答案,還有你的成績,查詢成績是用對話框?qū)崿F(xiàn),玩了后用戶可以退出系統(tǒng)。

2.4.4后臺管理功能

????后臺管理功能就是對試題進行管理,查詢學(xué)生成績,對學(xué)生信息進行管理,對教師信息進行管理,試題管理有對尸體進行增加,刪除,查詢,修改,當(dāng)用戶在客戶端輸入試題信息后,點擊這些按鈕,客戶端就會發(fā)送信息給服務(wù)器,服務(wù)器來查詢或者修改數(shù)據(jù)庫,其他的也一樣,總是通過服務(wù)器端對數(shù)據(jù)庫進行數(shù)據(jù)庫操作

3.總體設(shè)計

3.1 總體功能圖

根據(jù)分析,標(biāo)準(zhǔn)化考試系統(tǒng)必須實現(xiàn)以下功能:1.連接服務(wù)器功能;2.用戶登錄功能;3.考試功能;4.管理功能;

根據(jù)系統(tǒng)需求,標(biāo)準(zhǔn)化考試系統(tǒng)的總體功能圖如圖3-1所示:

??????????????????????????3-1總體功能圖

?

3.2 總體流程圖

?

??????????????????????3-2 總體流程圖

4.數(shù)據(jù)庫設(shè)計

4.1 數(shù)據(jù)庫及表結(jié)構(gòu)的建立

???該標(biāo)準(zhǔn)化考試系統(tǒng)共創(chuàng)建了一個kaoshi數(shù)據(jù)庫,該數(shù)據(jù)庫中創(chuàng)建了student、teachter、shijuan和Test1四個表。

3-1 kaoshi數(shù)據(jù)庫

邏輯名稱

文件類型

文件組

初始大小

自動增長

路徑

文件名

kaoshi

數(shù)據(jù)

PRIMARY

3MB

不限制

D:\...

?

Kaoshi_log

日志

不適用

1MB

不限制

D:\...

?

?

student數(shù)據(jù)表是用來保存學(xué)生信息,該數(shù)據(jù)表包含用戶名,密碼,性別,年齡,班級和分?jǐn)?shù)六個字段,具體設(shè)計如表3-2所示:

3-2 student數(shù)據(jù)表

列名

數(shù)據(jù)類型

允許空

用戶名

varchar(50)

密碼

varchar(50)

性別

varchar(50)

??????否

年齡

varchar(50)

班級

varchar(50)

分?jǐn)?shù)

int

??????是

?????????????????????????

teachter數(shù)據(jù)表是用來存儲教師信息,該數(shù)據(jù)表包含教工ID,教工姓名,教工密碼,教工性別和教工職稱5個字段,具體設(shè)計如表3-3所示:

3-3 teachter數(shù)據(jù)表

列名

數(shù)據(jù)類型

允許空

教工ID

varchar(50)

教工姓名

varchar(50)

教工密碼

varchar(50)

??????否

教工性別

varchar(50)

教工職稱

varchar(50)

??????????????????????

Test1數(shù)據(jù)表是用來存儲試題信息的,該數(shù)據(jù)表包含題目編號,內(nèi)容,A選項,B選項,C選項,D選項,正確答案和分值8個字段,具體設(shè)計如表3-4所示:

?

?

?

?

3-4 Test1數(shù)據(jù)表

列名

數(shù)據(jù)類型

允許空

題目編號

varchar(50)

內(nèi)容

varchar(500)

A選項

varchar(100)

??????否

B選項

varchar(100)

C選項

varchar(100)

D選項

varchar(100)

正確答案

varchar(50)

分值

varchar(50)

???????????

4.2 JAVA 數(shù)據(jù)庫的連接

該系統(tǒng)是用JDBC連接數(shù)據(jù)庫。首先必須加載JDBC驅(qū)動,然后利用DriverManager.getConnection()連接服務(wù)器和數(shù)據(jù)庫。具體實現(xiàn)如下:

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; ?//加載JDBC驅(qū)動

String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=kaoshi";

//連接服務(wù)器和數(shù)據(jù)庫kaoshi

String userName = "sa"; ?//默認(rèn)用戶名

String userPwd = "123"; ?//密碼

try {

??????????Class.forName(driverName);

??????????dbConn = DriverManager.getConnection(dbURL, userName, userPwd);

??????????System.out.println("Connection Successful!"); ?//如果連接成功 控制臺輸出Connection Successful!

????????}

????catch (Exception e) {e.printStackTrace();} ??

}

5. 主要功能設(shè)計流程

5.1服務(wù)器端設(shè)計流程圖

根據(jù)對服務(wù)器端功能的分析,得到服務(wù)器設(shè)計流程圖如圖3-3所示:

?

?

?

?

?

?????????????????????3-3 服務(wù)器端設(shè)計流程圖

5.2客戶端設(shè)計流程圖

根據(jù)客戶端功能分析,得到客戶端設(shè)計流程圖如圖3-4所示:

?

?

?

??????????????????

????????????3-4 客戶端設(shè)計流程圖?

6.代碼實現(xiàn)

6.1類之間關(guān)系圖

在編寫標(biāo)準(zhǔn)化考試系統(tǒng)時,編寫了8個java源文件:Main.Java,ChaChengji.Java,ClientTestArea.Java,DengluPanel.Java,Guanli.Java,Lianjie.Java,ChatServer.Java,ReadTestquestion.Java其中ChatServer.Java,ReadTestquestion.Java為服務(wù)器端java程序編譯產(chǎn)生所需要的類;Main.Java,ChaChengji.Java,ClientTestArea.Java,DengluPanel.Java,Guanli.Java,Lianjie.Java為客戶端java程序編譯產(chǎn)生所需要的類。標(biāo)準(zhǔn)化考試系統(tǒng)除了需要編寫的8個java源文件所編譯產(chǎn)生的類外,還需要java系統(tǒng)提供的一些重要的類。如ServerSocket,Socket,JTabbedPane等類。標(biāo)準(zhǔn)化考試系統(tǒng)所用到的一些重要的類以及它們之間的關(guān)系如圖3-5和圖3-6所示。

????????????????????3-5?服務(wù)器端類之間的關(guān)系圖?

?

?

??????????????3-6 客戶端類之間的關(guān)系圖

?

6.2 運行效果圖

連接服務(wù)器界面:

?

?

?

3-7 連接服務(wù)器界面

學(xué)生登錄界面:

?

?

?

3-8 學(xué)生登錄界面

考試主界面:

?

????

3-9 考試主界面

開始考試后界面:

?

?

3-10 開始考試后界面

成績查詢界面:

?

?

3-11 成績查詢界面

教師登錄界面:

?

?

3-12 教師登錄界面

試題管理界面:

?

?

3-13 試題管理界面

查看學(xué)生成績界面:

?

?

3-14 查看學(xué)生成績界面

學(xué)生信息管理界面:

?

?

3-15 學(xué)生信息管理界面

教師信息管理界面:

?

?

3-16 教師信息管理界面

服務(wù)器端效果圖:

?

?

?

???????????????????????3-17 服務(wù)器端效果圖

???????

7. 總結(jié)與說明

該標(biāo)準(zhǔn)化考試系統(tǒng)采用的是C/S模式,客戶端和服務(wù)器端都是應(yīng)用程序。客戶端與服務(wù)器端是用Socket和ServerSocket進行通信,服務(wù)器端根據(jù)客戶端傳來的信息來進行相應(yīng)的操作,客戶端根據(jù)服務(wù)器傳來的信息把信息顯示給用戶。該系統(tǒng)有學(xué)生考試功能和教師管理功能,兩個功能都是在客戶端,數(shù)據(jù)庫存放在服務(wù)器端。本系統(tǒng)有3個特點:

① 本系統(tǒng)采用的全都是null布局。空布局容器可以準(zhǔn)確地定位組件在容器中的位置和大小,setBounds(int a,int b,int width,int height)方法是所有組件都擁有的一個方法,組件調(diào)用該方法可以設(shè)置本身的大小和在容器中的位置。

② 本系統(tǒng)用了大量的圖片。這些圖片作為窗口的背景和按鈕的背景,加入背景圖片必須采用null布局,這些圖片不是用drawImage()方法繪制的,而是用把背景圖片加到JLabel,然后在容器中加入其它組件并設(shè)置這些組件的大小和位置,最后在該容器中加入JLabel組件,把JLabel組件的大小設(shè)置成窗口一樣大,這樣就實現(xiàn)了背景圖片的加入。因為本系統(tǒng)采用了大量的圖片,所以界面不會很難看。有人說用java做出來的界面很難看,我看不一定,java不是提供了圖片功能嗎,只要應(yīng)用好java的這個特性就行。所以不管那一種編程語言,只要它提供了圖片功能,那么用它編寫的界面就不會很難看。

本系統(tǒng)采用SQL Server存儲數(shù)據(jù),并且用JDBC連接數(shù)據(jù)庫。用JDBC連接SQL Server數(shù)據(jù)庫首先必須加載JDBC驅(qū)動,然后利用DriverManager.getConnection()連接服務(wù)器和數(shù)據(jù)庫。?

總結(jié)

以上是生活随笔為你收集整理的基于Java标准化考试系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。