2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩126頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  *****大學(xué)</b></p><p>  畢 業(yè) 論 文(設(shè)計(jì))</p><p>  題 目:基于JAVA在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) </p><p>  姓 名: </p><p>  學(xué)

2、 院: 理學(xué)與信息科學(xué)學(xué)院 </p><p>  專 業(yè): 通信工程 </p><p>  班 級(jí): </p><p>  學(xué) 號(hào): <

3、;/p><p>  指導(dǎo)教師: </p><p><b>  年 月 日</b></p><p><b>  目錄</b></p><p>  摘要......I</p><p>  Abstract:

4、II</p><p><b>  第一章引言1</b></p><p><b>  1.1課題背景1</b></p><p>  1.2課題的目的和意義1</p><p>  1.3對(duì)于該項(xiàng)目的描述1</p><p>  1.4 系統(tǒng)設(shè)計(jì)思想2</p>

5、<p>  1.5可行性分析3</p><p>  第二章 系統(tǒng)設(shè)計(jì)相關(guān)技術(shù)介紹及開(kāi)發(fā)環(huán)境要求3</p><p>  2.1MVC模式的介紹4</p><p>  2.1.1MVC模式的概述4</p><p>  2.1.2MVC的強(qiáng)勢(shì)與劣勢(shì)4</p><p>  2.2 Java組件JavaBe

6、ans4</p><p>  2.2.1 什么是JavaBeans4</p><p>  2.3 JavaSE概述4</p><p>  2.4關(guān)于Struts5</p><p>  2.4.1 Struts簡(jiǎn)介5</p><p>  2.4.2 Struts的主要功能5</p><p&

7、gt;  2.4.3 Struts工作原理5</p><p>  2.5 關(guān)于Swing6</p><p>  2.5.1 Swing簡(jiǎn)介6</p><p>  2.5.2 為什么需要Swing6</p><p>  2.5.3 Swing帶給我們什么7</p><p>  2.6 關(guān)于開(kāi)發(fā)環(huán)境的概述7&l

8、t;/p><p>  2.6.1操作系統(tǒng)7</p><p>  2.6.2開(kāi)發(fā)語(yǔ)言7</p><p>  2.6.3開(kāi)發(fā)環(huán)境8</p><p>  2.7關(guān)于布局的概述8</p><p>  2.7.1BorderLayout8</p><p>  2.7.2FlowLayout8<

9、;/p><p>  2.7.3GridLayout和GridBagLayout8</p><p><b>  2.8小結(jié)9</b></p><p>  第三章系統(tǒng)需求分析和總體設(shè)計(jì)9</p><p>  3.1 系統(tǒng)功能需求9</p><p>  3.2 系統(tǒng)設(shè)計(jì)的總體框架10</p&

10、gt;<p>  3.2.1軟件層次結(jié)構(gòu)10</p><p>  3.2.2界面與控制器的關(guān)系10</p><p>  3.2.3業(yè)務(wù)層介紹10</p><p>  3.2.4數(shù)據(jù)層介紹11</p><p>  3.3系統(tǒng)的用例圖11</p><p>  3.3.1 總體用例分析11</

11、p><p>  3.3.2 用戶管理用例分析12</p><p>  3.3.3 考試管理用例分析12</p><p>  3.3.4 考試題目管理用例分析13</p><p>  3.3.5 成績(jī)管理用例分析13</p><p><b>  3.4小結(jié)14</b></p>&

12、lt;p>  第四章系統(tǒng)的詳細(xì)設(shè)計(jì)14</p><p>  4.1客戶機(jī)的類14</p><p>  4.2服務(wù)器的類15</p><p>  4.3實(shí)體類部分15</p><p><b>  4.4工具類16</b></p><p>  4.5讀取配置文件類16</p&g

13、t;<p>  4.6系統(tǒng)運(yùn)行的詳細(xì)描述16</p><p>  4.7系統(tǒng)運(yùn)行圖以及主要的實(shí)現(xiàn)代碼20</p><p><b>  4.8小結(jié)28</b></p><p>  第五章總結(jié)與展望28</p><p>  5.1工作總結(jié)28</p><p>  5.2后續(xù)工作

14、展望29</p><p>  致謝............................................................................................................30</p><p><b>  參考文獻(xiàn):31</b></p><p>  基于JAVA

15、的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  摘要:當(dāng)今節(jié)約已經(jīng)成為一個(gè)命題,在線考試系統(tǒng)的設(shè)計(jì)意在響應(yīng)這個(gè)話題,努力構(gòu)建無(wú)紙化管理。所謂的在線考試就是將考試安排在網(wǎng)上進(jìn)行,方便了考試的組織安排工作;節(jié)省了大量的時(shí)間與資源。在線考試系統(tǒng)適合考生分布范圍廣不容易集中的遠(yuǎn)程教育。本文通過(guò)對(duì)試題的導(dǎo)出,在線用戶的登錄,答題,以及考試結(jié)果的輸出進(jìn)行設(shè)計(jì),完成一個(gè)簡(jiǎn)單的在線考試系統(tǒng)。本文基于JAVA,通過(guò)MVC結(jié)構(gòu),sw

16、ing進(jìn)行布局。綜上技術(shù),能夠?qū)⑾到y(tǒng)功能實(shí)現(xiàn)。</p><p>  關(guān)鍵字:遠(yuǎn)程教育、在線考試、MVC、JAVA、Swing</p><p>  Design and implementation of online examination based on java</p><p>  Abstract: Today's conservation has

17、become a proposition, online examination system design is intended to respond to this topic and build a paperless management. The so-called online exam is conducted online examination arrangements will facilitate the exa

18、mination of the organizational arrangements; saves a lot of time and resources. Online examination system is suitable for a wide range of candidates is not easy to focus on the distribution of distance education. Based o

19、n the examination of expo</p><p>  Keywords: distance learning, online examinations, MVC, JAVA, Swing</p><p><b>  第一章引言</b></p><p><b>  1.1課題背景</b></p>

20、<p>  隨著近些年來(lái)網(wǎng)絡(luò)的蓬勃發(fā)展使得網(wǎng)絡(luò)教育也得到了一定的認(rèn)可,代表了現(xiàn)代教育的重要發(fā)展趨勢(shì),推動(dòng)了教育的更新?lián)Q代。在這種形式下,網(wǎng)絡(luò)教育所伴隨的在線考試必定能在將來(lái)的教育事業(yè)上作用明顯。到目前為止,包括教育部在內(nèi)的教育執(zhí)行機(jī)構(gòu)等都在積極的制定在線考試機(jī)制,使得教育事業(yè)更上一層樓。所以,如今很多研發(fā)機(jī)構(gòu)都在響應(yīng)時(shí)代的命題對(duì)網(wǎng)絡(luò)教育以及附屬產(chǎn)業(yè)進(jìn)行探討和研發(fā)。伴隨著網(wǎng)頁(yè)技術(shù)對(duì)日常生活的滲透,開(kāi)發(fā)一個(gè)在線考試系統(tǒng)已經(jīng)勢(shì)在

21、必行。</p><p>  1.2課題的目的和意義</p><p>  根據(jù)現(xiàn)有情況,教育機(jī)構(gòu)和學(xué)校都還是采用以往的考試方式,即紙質(zhì)答卷。但是傳統(tǒng)紙質(zhì)考試步驟很繁瑣,考試組織機(jī)構(gòu)要組織人員更具自己的需求出試題;安排考生在所在考場(chǎng)考試;安排監(jiān)考人員監(jiān)考;安排閱卷人員對(duì)試題進(jìn)行評(píng)閱;最后安排閱卷結(jié)束后的總結(jié)大會(huì)并對(duì)考試情況作出分析報(bào)告。不只是這樣,其工作也將會(huì)是十分繁瑣并且非常容易出錯(cuò)。換句話

22、說(shuō),傳統(tǒng)的考試方式已經(jīng)在一定程度上不太適合現(xiàn)代考試的需求。在計(jì)算機(jī)應(yīng)用的迅猛發(fā)展的前提下,網(wǎng)絡(luò)應(yīng)用也伴隨著蓬勃發(fā)展。所以,無(wú)論是考試機(jī)構(gòu)還是考生都迫切需求一個(gè)應(yīng)用來(lái)減輕工作量。不僅減輕了考生的負(fù)擔(dān),而且也提高了考試的質(zhì)量。從而使考試更接近公平,公正,客觀,更能激發(fā)考生的學(xué)習(xí)積極性?,F(xiàn)在這種技術(shù)已經(jīng)得到初步推廣,得到了各種認(rèn)證考試的認(rèn)可。綜上需求,我們做出這個(gè)在線考試系統(tǒng)能夠在考試和學(xué)習(xí)的過(guò)程中起到便捷、提高考試質(zhì)量、減少閱卷工作量的作用

23、。</p><p>  1.3對(duì)于該項(xiàng)目的描述</p><p>  對(duì)計(jì)算機(jī)的應(yīng)用,使得生產(chǎn)效率得到了極大的提高,同時(shí)也使一部分生產(chǎn)力得到了解放。在信息化飛速發(fā)展的今天,計(jì)算機(jī)的應(yīng)用來(lái)解決實(shí)際生產(chǎn)生活中的問(wèn)題已經(jīng)相當(dāng)普遍。鑒于傳統(tǒng)考試中使用紙質(zhì)試卷帶來(lái)的效率低下,信息滯后等詬病,我們迫切需要一個(gè)應(yīng)用解決這些問(wèn)題。本文設(shè)計(jì)這個(gè)在線考試系統(tǒng),采用了JAVA編程語(yǔ)言實(shí)現(xiàn)考試系統(tǒng)。</p&g

24、t;<p>  本文介紹的這個(gè)在線考試系統(tǒng),考生通過(guò)系統(tǒng)許可。在用戶登錄界面輸入自己的賬戶和密碼,進(jìn)入考試系統(tǒng)。然后根據(jù)系統(tǒng)提示,完成考試作答并得到自己的分?jǐn)?shù)。上述這個(gè)過(guò)程全部都是在網(wǎng)絡(luò)上進(jìn)行并且解決了紙質(zhì)答卷的繁瑣過(guò)程。</p><p>  本文論述的在線考試系統(tǒng)主要分成兩個(gè)部分,即服務(wù)器部分與客戶端部分。這兩者之間是通過(guò)網(wǎng)絡(luò)連接起來(lái)的,服務(wù)器的一個(gè)線程和客戶端是連著的。</p>&

25、lt;p>  首先,在服務(wù)器部分,這部分首先啟動(dòng)。然后,服務(wù)器開(kāi)始讀取系統(tǒng)所需的配置文件。上述操作能夠使考試所用到的試題提交到服務(wù)器;接著讀取學(xué)生的信息、學(xué)號(hào)、姓名、密碼等都要出現(xiàn)在服務(wù)器中。將上述信息讀取到服務(wù)器中之后,將上述信息封裝在某個(gè)類中,緊接著等待客戶端發(fā)送請(qǐng)求。當(dāng)客戶端有請(qǐng)求發(fā)送,然后服務(wù)器就會(huì)與客戶端進(jìn)行連接。然后等待請(qǐng)求結(jié)束,該連接才會(huì)斷開(kāi)。在這個(gè)過(guò)程中,服務(wù)器不斷監(jiān)聽(tīng)客戶端的請(qǐng)求,控制運(yùn)行進(jìn)程。</p>

26、;<p>  其次,客戶端部分,設(shè)計(jì)的比較簡(jiǎn)單。因?yàn)橐o學(xué)生操作,所以為了方便學(xué)生進(jìn)行操作,這里用到了圖形界面的操作。上邊提到的圖形界面總共有三個(gè)界面構(gòu)成。第一個(gè)就是用于學(xué)生考試的用戶登錄的界面:考生需要正確輸入自己的賬號(hào)和密碼才能登錄該系統(tǒng);第二個(gè)就是學(xué)生選擇考試科目的界面,在這個(gè)窗口出現(xiàn)之前先將前面一個(gè)窗口關(guān)閉,然后再創(chuàng)建新的窗口;第三個(gè)界面是考生的考試界面的窗口,進(jìn)入此界面也要關(guān)閉前一個(gè)窗口,緊接著當(dāng)考生完成考試,提

27、交試題,分?jǐn)?shù)自動(dòng)顯示,然后關(guān)閉窗口。在此同時(shí),服務(wù)器同時(shí)要斷開(kāi)連接,線程結(jié)束。綜上所述,就是客戶端的三個(gè)窗口。</p><p>  在這個(gè)在線考試系統(tǒng)中,本文涉及到兩個(gè)主要的類:即試卷類和學(xué)生類。這兩個(gè)類的信息,都是以配置文件的形式保存的。上述信息都可以用工具類讀取。</p><p>  1.4 系統(tǒng)設(shè)計(jì)思想</p><p>  本文所描述的在線考試系統(tǒng)是以服務(wù)器和

28、客戶端的連接為中心的,下述就是該系統(tǒng)的設(shè)計(jì)思想。</p><p>  首先,服務(wù)器先啟動(dòng),服務(wù)器然后讀取配置文件。接著,將考試所需的考題以及規(guī)定格式寫入配置文件;然后,把考生的賬號(hào)密碼等信息寫入另一個(gè)配置文件中。服務(wù)器需要讀取試題信息,所以在設(shè)計(jì)時(shí)要定義學(xué)生類,試卷類以及題目類。當(dāng)客戶端與服務(wù)器之間連接時(shí)需要數(shù)據(jù)請(qǐng)求,這里包括多種請(qǐng)求類型。這里包含的請(qǐng)求有連接請(qǐng)求,考生登錄請(qǐng)求,試題發(fā)送請(qǐng)求,答題請(qǐng)求。為滿足上述

29、需求,我們要定義請(qǐng)求類,并且要求服務(wù)器不斷讀取請(qǐng)求信息。為了減少代碼量,我們這里需要幾個(gè)工具類:一個(gè)是創(chuàng)建套接字的連接;另一個(gè)就是用來(lái)讀取配置文件的工具類。這樣就出來(lái)了服務(wù)器的基本框架。</p><p>  在客戶機(jī)這邊,我們只需考慮一個(gè)線程就行了。并且涉及到四個(gè)類,這之中有三個(gè)窗口類和一個(gè)客戶機(jī)與服務(wù)器線程連接的類。這個(gè)連接類是上述三個(gè)窗口類的一個(gè)屬性,這個(gè)屬性用來(lái)使三個(gè)窗口類與服務(wù)器進(jìn)行數(shù)據(jù)通信。三個(gè)窗口也只

30、能通過(guò)上述連接類與服務(wù)器之間進(jìn)行通信。這樣這個(gè)客服器的整體設(shè)計(jì)也就呈現(xiàn)出來(lái)了。</p><p>  此外還要說(shuō)一下就是,客戶機(jī)與服務(wù)器進(jìn)行連接是通過(guò)IP和端口號(hào)數(shù)據(jù)通信的??蛻魴C(jī)與服務(wù)器對(duì)應(yīng)關(guān)系如下:一個(gè)客戶機(jī)對(duì)應(yīng)一個(gè)服務(wù)器;而一個(gè)服務(wù)器對(duì)應(yīng)多個(gè)客戶機(jī)。服務(wù)器與客戶機(jī)通過(guò)線程連接。</p><p><b>  1.5可行性分析</b></p><p

31、>  鑒于在線考試系統(tǒng)的美好前景,本項(xiàng)目的設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)考試系統(tǒng),并且能夠?qū)崿F(xiàn)其相應(yīng)的業(yè)務(wù)功能,例如登錄功能,考試功能,管理員修改難度系數(shù),考試時(shí)間,題目數(shù),考試得分等。此項(xiàng)目需要實(shí)現(xiàn)如下功能。</p><p>  登錄功能:用戶能夠準(zhǔn)確無(wú)誤的登錄考試系統(tǒng)。二、考試功能:實(shí)現(xiàn)基本的業(yè)務(wù)邏輯。三、查看分?jǐn)?shù):在考試結(jié)束后,考生能夠看到考試分?jǐn)?shù)。四、管理員可以根據(jù)系統(tǒng)定義修改難度系數(shù)和題目數(shù)。五、題目切換:實(shí)現(xiàn)上

32、一題與下一題的切換。六、其他功能還有計(jì)時(shí)功能等。</p><p>  第二章 系統(tǒng)設(shè)計(jì)相關(guān)技術(shù)介紹及開(kāi)發(fā)環(huán)境要求</p><p>  2.1MVC模式的介紹</p><p>  2.1.1MVC模式的概述</p><p>  MVC是 模型(Model),視圖(View)和控制(Controller)的縮寫。其中Model層用來(lái)實(shí)現(xiàn)系統(tǒng)中的業(yè)

33、務(wù)邏輯,通??梢杂肑avaBean來(lái)實(shí)現(xiàn); View層用于與用戶的交互; Controller層連接模塊與視圖,它可以是用戶的請(qǐng)求得到恰當(dāng)?shù)囊晥D予以顯示,同時(shí)它也可以是用戶的輸入得到解釋并將它們映射為模型層可執(zhí)行的操作。</p><p>  2.1.2MVC的強(qiáng)勢(shì)與劣勢(shì)</p><p>  優(yōu)點(diǎn):低耦合性,使得更改視圖層代碼就不用重新編譯模型和控制器代碼。高重用性和可適用性,允許你是用各種

34、方式的視圖來(lái)訪問(wèn)同一個(gè)服務(wù)器端的代碼??焖俚牟渴?,使用MVC模式是的開(kāi)發(fā)時(shí)間得到相當(dāng)大的縮減。</p><p>  缺點(diǎn):MVC的缺點(diǎn)是它沒(méi)有明確的定義,不容易理解。</p><p>  2.2 Java組件JavaBeans</p><p>  2.2.1 什么是JavaBeans</p><p>  JavaBeans是一種企業(yè)級(jí)開(kāi)發(fā)中的

35、技術(shù)規(guī)范,凡是遵循該規(guī)范的類都稱為JavaBeans類,又叫做pojo類。該規(guī)范主要包含以下幾點(diǎn):</p><p>  1.所有的類都必須實(shí)現(xiàn)序列化接口。</p><p>  2.所有的屬性盡量定義為私有屬性。</p><p>  3.所有的方法定義為公有方法。 </p><p>  4.提供屬性的get和set方法,通過(guò)該方法可以訪問(wèn)屬性。

36、</p><p>  2.3 JavaSE概述</p><p>  JavaSE是java Standard edition的縮寫。JavaSE就是Java的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程。JavaSE 包含那些構(gòu)成Java語(yǔ)言核心的類。比如:數(shù)據(jù)庫(kù)連接、接口定義、輸入/輸出、網(wǎng)絡(luò)編程。</p><p>  JavaSE具有以下幾個(gè)特點(diǎn):第一,它比較容易開(kāi)發(fā);第

37、二,它啟動(dòng)時(shí)間短,內(nèi)存占用較少;第三,它還有元數(shù)據(jù)特性。</p><p>  2.4關(guān)于Struts</p><p>  2.4.1 Struts簡(jiǎn)介</p><p>  Struts是開(kāi)源軟件。使用Struts的目的是為了幫助我們減少在運(yùn)用MVC設(shè)計(jì)模型應(yīng)用的時(shí)間。Struts已逐步越來(lái)越多運(yùn)用于商業(yè)軟件,是一種非常優(yōu)秀的JavaSE MVC實(shí)現(xiàn)方式。</p

38、><p>  2.4.2 Struts的主要功能</p><p>  1.Struts包含一個(gè)controller servlet,能夠?qū)⒖蛻舳说恼?qǐng)求發(fā)送給Action對(duì)象。</p><p>  2.它提供了一系列實(shí)用對(duì)象:通過(guò)Java reflection自動(dòng)處理JavaBeans屬性、提示和消息。Struts提供了它自身的控制器組件,并且整合了其他技術(shù),用來(lái)提供模型

39、和視圖。Struts正逐步被運(yùn)用,是性能良好的MVC實(shí)現(xiàn)方式。</p><p>  2.4.3 Struts工作原理</p><p>  這里我們先來(lái)介紹一下MVC,MVC是Model-View-Controller的縮寫。它作為稱用得設(shè)計(jì)模式得到了廣泛的運(yùn)用。MVC 使數(shù)據(jù)接口和邏輯接口連接減弱,并且使得視圖更加富有變化性。MVC使得程序邏輯清晰,更容易被人理解。</p>

40、<p>  MVC的工作原理如下2-1所示:</p><p>  2-1MVC的工作原理</p><p>  接下來(lái),我們說(shuō)一下Struts,它作為MVC的一種實(shí)現(xiàn)。Struts繼承了MVC的各項(xiàng)特性,具有MVC的特點(diǎn)。并根據(jù)JavaSE的特點(diǎn),做出了相應(yīng)的更改。Struts的工作原理,如下圖2-2所示:</p><p>  2-2Struts的工作原理&

41、lt;/p><p>  2.5 關(guān)于Swing</p><p>  2.5.1 Swing簡(jiǎn)介</p><p>  Swing是建立在AWT之上的組件集。除提供了AWT所缺少的、大量的附加組件外,Swing還提供了替代AWT重量組件的輕量組件。AWT中文含義抽象窗口工具包(Abstract Window Toolkit)功能是Java開(kāi)發(fā)用戶界面最初的工具包。Swing

42、還包括了一個(gè)用于實(shí)現(xiàn)插入式界面樣式特性的圖形用戶界面的下層構(gòu)件。因此,在不同的平臺(tái)上,Swing組件都能保持組件的界面樣式特性。例如雙緩沖、調(diào)試圖形和文本編輯包等。</p><p>  2.5.2 為什么需要Swing</p><p>  Swing設(shè)計(jì)者采用的設(shè)計(jì)模式:模型——視圖——控制器(MVC)模式。該設(shè)計(jì)模式遵循一個(gè)基本原則:它限制一個(gè)對(duì)象的功能的數(shù)量。防止一個(gè)按鈕完成所有的事情

43、。而應(yīng)該分配內(nèi)容,比如說(shuō)讓一個(gè)對(duì)象負(fù)責(zé)組件的觀感,另一個(gè)對(duì)象負(fù)責(zé)存儲(chǔ)內(nèi)容。</p><p>  當(dāng)程序員想要使用Swing組件來(lái)完成開(kāi)發(fā)時(shí),不需要考慮MVC體系結(jié)構(gòu)。每個(gè)用戶界面的元素都有一個(gè)包裝器的類來(lái)保存模型和視圖。當(dāng)需要查詢所需要的內(nèi)容時(shí),包裝器類會(huì)向模型詢問(wèn)并且返回所要的內(nèi)容。當(dāng)想要改變視圖時(shí)(例如,在一個(gè)文本域中改變光標(biāo)位置的時(shí)候),包裝類會(huì)把此請(qǐng)求轉(zhuǎn)發(fā)給視圖。然而,有時(shí)候包裝器轉(zhuǎn)發(fā)命令并不得力。在這種

44、情況下,就必須直接地與模型進(jìn)行交互。</p><p>  2.5.3 Swing帶給我們什么</p><p>  MVC模式吸引廣大Swing設(shè)計(jì)者原因是這種模式允許實(shí)現(xiàn)可插觀感。每個(gè)按鈕或者文本域的模型是獨(dú)立于觀感的。當(dāng)然可視化表明完全依賴于特殊觀感的用戶界面的設(shè)計(jì),并且控制器可以改變它。比如,在一個(gè)語(yǔ)音控制設(shè)備中,控制其需要處理的各種事件與使用鍵盤和鼠標(biāo)的標(biāo)準(zhǔn)計(jì)算機(jī)完全不同。Swing

45、設(shè)計(jì)者通分離底層模型與用戶界面,這樣能夠重用模型的代碼,更甚于在程序運(yùn)行時(shí)對(duì)觀感進(jìn)行切換。</p><p>  對(duì)于絕大多數(shù)組件,模型類將實(shí)現(xiàn)一個(gè)以Model命名結(jié)尾的接口。比如,我們所知道的按鈕就實(shí)現(xiàn)了ButtonModel接口。實(shí)現(xiàn)上述接口的類可以定義各種按鈕的狀態(tài)。上述按鈕并不是很復(fù)雜,在Swing組件庫(kù)中就有個(gè)叫DefaultButtonModel的類就實(shí)現(xiàn)了這個(gè)接口。在試圖對(duì)象中,每個(gè)Swing組件都有

46、一個(gè)相關(guān)的后綴UI的視圖對(duì)象。</p><p>  2.6 關(guān)于開(kāi)發(fā)環(huán)境的概述</p><p><b>  2.6.1操作系統(tǒng)</b></p><p>  此在線考試系統(tǒng)的開(kāi)發(fā)環(huán)境是Windows系統(tǒng),該系統(tǒng)安全系數(shù)比較高而且方便。</p><p>  2.6.2開(kāi)發(fā)語(yǔ)言</p><p>  開(kāi)

47、發(fā)語(yǔ)言:jdk1.6.0_10。JDK(Java Development Kit)是Sun 公司針對(duì)Java開(kāi)發(fā)員研發(fā)的產(chǎn)品。</p><p>  Java的就是JDK,它包括了Java運(yùn)行環(huán)境(Java Runtime Envirnment);一堆Java工具和Java基礎(chǔ)的類庫(kù)(rt.jar)。所有的Java應(yīng)用程序都有某個(gè)版本的JDK與其相對(duì)應(yīng)。所以,要學(xué)好Java,首先要掌握J(rèn)DK。最能被程序員接受的是S

48、un公司發(fā)布的JDK。除了Sun之外,好多公司都開(kāi)發(fā)了自己的JDK。例如GNU組織開(kāi)發(fā)的JDK;IBM公司開(kāi)發(fā)的JDK等。</p><p><b>  2.6.3開(kāi)發(fā)環(huán)境</b></p><p>  開(kāi)發(fā)環(huán)境:Eclipse6.0版。Eclipse 是一個(gè)基于JAVA的開(kāi)發(fā)平臺(tái)。它的源代碼是開(kāi)放的。該軟件本身是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件來(lái)構(gòu)建開(kāi)發(fā)環(huán)境。其中E

49、clipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括了Java開(kāi)發(fā)工具(Java Development Kit,JDK)。</p><p>  2.7關(guān)于布局的概述</p><p>  2.7.1BorderLayout</p><p>  BorderLayout用于邊框布局的布置容器。它可以對(duì)容器內(nèi)的組件等進(jìn)行布局設(shè)置。例如,調(diào)整大小,調(diào)整容器內(nèi)組件的位置。該容器有以下

50、五個(gè)區(qū)域:東、西、南、北、中。這五個(gè)位置,每個(gè)位置只允許包含一個(gè)組件。并且這些位置都有自己的標(biāo)志:EAST、WEST、SOUTH、NORTH、CENTER。</p><p>  2.7.2FlowLayout</p><p>  FlowLayout外觀管理器的功能就是把系統(tǒng)程序中所用的的各個(gè)組件按照先后順序由上到下,由左及右依次排開(kāi)。</p><p>  2.7.

51、3GridLayout和GridBagLayout</p><p>  GridLayout的作用是將該窗口分成大小不等的均勻網(wǎng)格,然后使得組件能夠依次按格放入組件。 GridBagLayout的功能是根據(jù)設(shè)計(jì)者的想法,改變組件的大小,使它們能夠擺在想要的位置。</p><p><b>  2.8小結(jié)</b></p><p>  本章主

52、要介紹了該在線考試系統(tǒng)的關(guān)鍵技術(shù)和工具,對(duì)系統(tǒng)模式簡(jiǎn)介MVC,以及串聯(lián)的Struts。使得模型——視圖——控制器直接進(jìn)行恰當(dāng)?shù)慕换?,完成各自的職能。用Swing布局器進(jìn)行布局,使得用戶界面的設(shè)計(jì)更加人性化。</p><p>  第三章系統(tǒng)需求分析和總體設(shè)計(jì)</p><p>  3.1 系統(tǒng)功能需求</p><p>  這個(gè)在線考試系統(tǒng)的設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)考試系統(tǒng),讓考生

53、能夠自主考試完成答卷以及查分。并附帶實(shí)現(xiàn)相應(yīng)的業(yè)務(wù)功能,如登錄功能、考試功能、查分功能等。項(xiàng)目中的需實(shí)現(xiàn)的功能如下。</p><p>  1.登錄功能??忌軌蜃灾鞯卿浽摽荚囅到y(tǒng),再輸入考生的賬號(hào)密碼后能夠準(zhǔn)確無(wú)誤的進(jìn)入考試系統(tǒng)。為考試完成做好充分的前提。</p><p>  2.考試功能。它主要業(yè)務(wù)邏輯就是考試功能??荚嚬δ埽櫭剂x,考試點(diǎn)擊該按鈕能夠打開(kāi)試題進(jìn)行作答。進(jìn)入考試后系統(tǒng)為

54、考生自動(dòng)分配考題,考生只需對(duì)試卷中出現(xiàn)的考題進(jìn)行作答即可。</p><p>  3.查看分?jǐn)?shù)。考生能夠在考試結(jié)束后查看考試分?jǐn)?shù)。當(dāng)考生對(duì)自己分配到的試題做大完畢并確認(rèn)無(wú)誤后,提交試卷。系統(tǒng)會(huì)對(duì)考生對(duì)試題的作答準(zhǔn)確與否進(jìn)行判斷,進(jìn)而對(duì)考生的作答給出得分。</p><p>  4.查看考試規(guī)則。該考試系統(tǒng)能夠查閱考試規(guī)則??荚嚱M織者根據(jù)具體情況對(duì)考試規(guī)進(jìn)行編寫??忌诳荚嚽澳軌蜷喿x該規(guī)則,以免

55、出現(xiàn)不該發(fā)生的失誤。</p><p>  5.題目切換。實(shí)現(xiàn)上一題、下一題的切換。是考生能夠在做題的過(guò)程中進(jìn)行題目選擇,或者切換題目進(jìn)行答案糾正,題目檢查。</p><p>  6.計(jì)時(shí)功能??荚嚳颇慷加幸?guī)定一定的作答時(shí)間,該考試系統(tǒng)具有倒計(jì)時(shí)功能。考生能夠時(shí)刻看到自己的作答時(shí)間以及剩余時(shí)間。不至于因?yàn)闀r(shí)間問(wèn)題影響自己的答題,計(jì)時(shí)功能能夠督促考生快速完成試題的作答。</p>

56、<p>  除此之外,該系統(tǒng)下管理員還可以修改難度系數(shù)和倒計(jì)數(shù)時(shí)間修改設(shè)定以及考題題目的增減來(lái)適應(yīng)不同的情況。</p><p>  3.2 系統(tǒng)設(shè)計(jì)的總體框架</p><p>  3.2.1軟件層次結(jié)構(gòu)</p><p><b>  控制層</b></p><p>  視圖層

57、 業(yè)務(wù)層 數(shù)據(jù)層</p><p><b>  3-1軟件層結(jié)構(gòu)</b></p><p>  在線考試系統(tǒng)軟件層次結(jié)構(gòu)大致以上述圖片進(jìn)行連接。首先,登陸窗體,菜單窗體,測(cè)試窗體共同構(gòu)成了用戶客戶端。用戶客戶端連接業(yè)務(wù)層,業(yè)務(wù)層連接數(shù)據(jù)層,三者共同構(gòu)成了該考試系統(tǒng)的軟件層結(jié)構(gòu)。</p><p>  

58、3.2.2界面與控制器的關(guān)系</p><p>  3-2界面與控制器的關(guān)系</p><p>  界面與控制器的關(guān)系大致由上圖就能夠表述出來(lái),客戶端就是這里的控制器。它能夠控制選擇進(jìn)入各個(gè)界面。它根據(jù)考生的信息輸入請(qǐng)求,響應(yīng)進(jìn)入不同的考試界面。例如:登陸界面,選擇界面,和考試界面。綜上,呈現(xiàn)出控制器與界面的關(guān)系。</p><p>  3.2.3業(yè)務(wù)層介紹</p&

59、gt;<p>  在這個(gè)在線考試系統(tǒng)的開(kāi)發(fā)中,業(yè)務(wù)層采用接口加實(shí)現(xiàn)的方式制作。其中項(xiàng)目中的業(yè)務(wù)層主要有以下幾個(gè)功能:</p><p>  1.驗(yàn)證用戶信息的正確性。當(dāng)用戶來(lái)到登陸界面,用戶需要輸入本人的賬號(hào)和密碼方能進(jìn)入該考試系統(tǒng)完成考試作答。當(dāng)輸入的賬號(hào)或者密碼不準(zhǔn)確時(shí),系統(tǒng)會(huì)做出報(bào)錯(cuò)信息。以免考試出現(xiàn)問(wèn)題。</p><p>  2.從數(shù)據(jù)層抽取試題,生成試卷,為表現(xiàn)層提高

60、考試所需要的信息及試題。使考生能夠得到考試試題并完成考試。</p><p>  3.驗(yàn)證用戶的答案是否正確并且給出分?jǐn)?shù)。在考生完成試題作答后能夠獲取自己的得分。</p><p>  3.2.4數(shù)據(jù)層介紹</p><p>  在本次在線考試系統(tǒng)的開(kāi)發(fā)中,數(shù)據(jù)層的主要實(shí)現(xiàn)的功能是讀取用戶信息,考題信息,考試信息等。</p><p>  讀取用戶信

61、息:數(shù)據(jù)層接收到登錄請(qǐng)求時(shí),數(shù)據(jù)層要調(diào)出用戶信息并且讀取。從而響應(yīng)請(qǐng)求,進(jìn)而用戶能夠順利進(jìn)入考試系統(tǒng)。</p><p>  考題信息:當(dāng)用戶登錄考試系統(tǒng)成功,考生要進(jìn)行考試,必須發(fā)送考試請(qǐng)求。這時(shí),數(shù)據(jù)層要調(diào)出考題信息,形成考題。這樣,考生就能進(jìn)入考試界面并完成考試作答。</p><p>  考試信息:當(dāng)考生開(kāi)始答卷,數(shù)據(jù)層要不斷地更新考試信息。并通過(guò)考生的答案提交判斷考生的得分。當(dāng)考生提

62、交試卷,數(shù)據(jù)層提交考生得分。</p><p><b>  3.3系統(tǒng)的用例圖</b></p><p>  3.3.1 總體用例分析 </p><p><b>  在線考試系統(tǒng)</b></p><p><b>  3-3總體用例圖</b></p&g

63、t;<p>  由上圖我們可以看出該考試系統(tǒng)分為以上五個(gè)部分即:用戶管理部分,考試管體部分,成績(jī)管理部分以及試題管理部分。其中,用戶管理部分是對(duì)用戶的個(gè)人信息進(jìn)行統(tǒng)一管理,使用戶能夠登陸該在線考試系統(tǒng)??荚嚬芾聿糠质侵缚忌俚顷懣荚囅到y(tǒng)后,對(duì)考試進(jìn)行的所有操作,比如,查看考試規(guī)則、進(jìn)行考試、試卷提交等,都貴考試管理部分統(tǒng)一作出處理。成績(jī)管理系統(tǒng)就是當(dāng)用戶提交試卷,系統(tǒng)給出分?jǐn)?shù)后,它要對(duì)數(shù)據(jù)進(jìn)行處理并能夠在用戶界面呈現(xiàn)出來(lái)。

64、試題管理部分是管理者將試題導(dǎo)入該考試系統(tǒng),并將試題進(jìn)行分類。當(dāng)用戶點(diǎn)擊考試請(qǐng)求,試題管理部分自動(dòng)分配考題供用戶作答。上述的使用者分為兩部分,其中一部分是管理者;另一部分是用戶。</p><p>  3.3.2 用戶管理用例分析</p><p>  通過(guò)下圖我們能夠看到用戶管理分為以下四部分,當(dāng)用戶登陸考試系統(tǒng)后可以進(jìn)行以下五個(gè)操作即:考試開(kāi)始,分?jǐn)?shù),考試規(guī)則,試題提交以及離開(kāi)。當(dāng)考生點(diǎn)擊考

65、試開(kāi)始,系統(tǒng)就為用戶分配好試題。當(dāng)然在開(kāi)始考試前最好看一下考試規(guī)則,以免出現(xiàn)非受獲性失誤。當(dāng)用戶提交考題時(shí)要進(jìn)行試卷提交操作,接著用戶會(huì)得到考試結(jié)果即考試分?jǐn)?shù)。最后用戶進(jìn)行離開(kāi)操作,離開(kāi)考試系統(tǒng)。這樣,一次完整的在線考試就結(jié)束了。這就是用戶所能體驗(yàn)的在線考試系統(tǒng)的用戶的所有操作。 </p><p><b>  在線考試系統(tǒng)</b></p>

66、<p><b>  3-4用戶管理</b></p><p>  3.3.3 考試管理用例分析</p><p><b>  考試管理</b></p><p><b>  3-5考試管理</b></p><p>  綜上圖,我們可以得到考試管理部分包括以下五個(gè)管理項(xiàng)目

67、。就是考試規(guī)則的修訂填充;考試系統(tǒng)曾是正常時(shí)刻準(zhǔn)備用戶考試;開(kāi)始考試,對(duì)考試進(jìn)行計(jì)時(shí),以及監(jiān)督用戶進(jìn)行考試操作,進(jìn)行整錯(cuò)判斷;用戶提交試卷后,考試管理自動(dòng)判斷用戶所做出的答案并進(jìn)行評(píng)分;最后考試管理提供用戶分?jǐn)?shù)。這些都能被用戶體驗(yàn)。</p><p>  3.3.4 考試題目管理用例分析</p><p><b>  題目管理</b></p><p&g

68、t;<b>  3-6題目管理</b></p><p>  上圖所描述的是管理者對(duì)題目進(jìn)行的管理操作。它包含五部分:題目的增加、題目的刪除以及答案的設(shè)置。增加題目和刪除題目是管理者對(duì)試題庫(kù)的試題進(jìn)行數(shù)量的修訂,以滿足用戶對(duì)該考試系統(tǒng)的需求。答案設(shè)置就是對(duì)試題的正確結(jié)果作出明確標(biāo)出。綜上來(lái)實(shí)現(xiàn)管理者對(duì)題目的管理。</p><p>  3.3.5 成績(jī)管理用例分析<

69、/p><p><b>  成績(jī)管理</b></p><p><b>  3-7成績(jī)管理</b></p><p>  上圖是該系統(tǒng)的成績(jī)管理用例。管理者對(duì)用戶的成績(jī)進(jìn)行管理,用戶能夠查詢自己的成績(jī)。完成系統(tǒng)的成績(jī)顯示職能。</p><p><b>  3.4小結(jié)</b></p&

70、gt;<p>  這一章通過(guò)對(duì)系統(tǒng)功能需求、設(shè)計(jì)框架以及總體用例圖來(lái)分析系統(tǒng)需求和總體設(shè)計(jì)。由系統(tǒng)的功能需求夠做出系統(tǒng)的基本框架,通過(guò)框架讓我們更能了解考試系統(tǒng)的基本構(gòu)造。最后通過(guò)系統(tǒng)的整體用例圖來(lái)說(shuō)明用戶與管理者所需的操作以及在此考試系統(tǒng)中起到的作用。為在線考試系統(tǒng)的構(gòu)造做出更詳細(xì)的說(shuō)明,為下邊在線考試系統(tǒng)的具體編寫做好堅(jiān)實(shí)的鋪墊。</p><p>  第四章系統(tǒng)的詳細(xì)設(shè)計(jì)</p>

71、<p>  前邊幾章我們已經(jīng)介紹過(guò),本文所描述的在線考試系統(tǒng)主要有兩部分組成:客戶機(jī)部分和服務(wù)器部分。此外,該系統(tǒng)還涉及到一些實(shí)體類和一些工具類。這些類在系統(tǒng)中都是以包的形式存在,下邊我們來(lái)介紹一下考試系統(tǒng)的設(shè)計(jì)方式。按照包的形式。</p><p><b>  4.1客戶機(jī)的類</b></p><p>  客戶機(jī)的類包含LginFrame類、SelectSu

72、bjectFrame類、ExamMainFrame類、Client類。各個(gè)類在此考試系統(tǒng)中都扮演著不同的角色,下面我就來(lái)介紹一下。</p><p>  首先是登陸界面。該界面有登錄窗口、學(xué)號(hào)輸入框、密碼輸入框、確定進(jìn)入考試系統(tǒng)按鈕、取消按鈕等。這些都是都是使用的LginFranme類來(lái)編寫的實(shí)現(xiàn)的。</p><p>  而SelectSubjectFrame類用來(lái)編寫選擇科目的窗口、一個(gè)選

73、擇科目的標(biāo)簽、一個(gè)選擇科目的下拉菜單和一個(gè)確定按鈕以及一個(gè)取消按鈕。</p><p>  下邊這些都屬于ExamMainFrame類:學(xué)生考試窗口、考試窗口的標(biāo)題即在線考試系統(tǒng)、顯示題目的文本框、試題四個(gè)選項(xiàng)的可選項(xiàng)、顯示題號(hào)的框和剩余題目數(shù)的標(biāo)簽、上一題,下一題試題切換以及交卷按鈕、顯示剩余剩余時(shí)間的標(biāo)簽。</p><p>  以上就是本次考試系統(tǒng)中客戶機(jī)的類。</p>&

74、lt;p><b>  4.2服務(wù)器的類</b></p><p>  服務(wù)器中只用到了ServeletMainClass類,下邊我們屬性、方法和內(nèi)部類這個(gè)順序來(lái)介紹一下。</p><p>  首先,ServelettMainClass類的屬性有以下內(nèi)容。ss是ServerSocket的縮寫,其表示服務(wù)器的套接字;stuDao是由StudentDao縮寫而來(lái)的,它表

75、示學(xué)生信息;pro是Properties的縮寫,其含義是一個(gè)鍵值對(duì),通信時(shí)傳輸信息用;pDao由PaperDao縮寫而來(lái),它表示試卷信息。</p><p>  接著,我們介紹一下它的方法。其中,init()void表示初始化函數(shù);而main() void表示服務(wù)器啟動(dòng)入口函數(shù)。</p><p>  最后,我們來(lái)介紹一個(gè)內(nèi)部類ServerThread,它有以下屬性。S是Socket的縮寫,它

76、表示與客戶機(jī)連接的套接字;oos是由ObjectOutputStream縮寫而來(lái)的,它表示對(duì)象輸出流。接著來(lái)描述一下它的方法,begin void是表示開(kāi)始考試請(qǐng)求;login void用來(lái)表示登陸請(qǐng)求;其中sendvoid表示結(jié)束考試請(qǐng)求發(fā)送;run() void來(lái)表示線程運(yùn)行。</p><p><b>  4.3實(shí)體類部分</b></p><p>  其中實(shí)

77、體類包含四個(gè)類:一個(gè)學(xué)生類;一個(gè)試卷類;一個(gè)試題類;還有一個(gè)請(qǐng)求類。下面我們依次來(lái)看一下這些類的屬性和方法。</p><p>  首先,來(lái)看一下學(xué)生類。Student類,該類中有以下屬性:id是int整型的,它表示學(xué)生學(xué)號(hào);name和passwd都是字符串型的,前一個(gè)表示學(xué)生學(xué)號(hào),后一個(gè)表示學(xué)生的密碼。</p><p>  接下來(lái),介紹一下試卷類。該類有以下三個(gè)屬性:subjectStr

78、ing來(lái)表示考試科目;allQusstionList用來(lái)表示所有題目的集合;answersList能夠表示出學(xué)生選擇的答案的集合。實(shí)現(xiàn)方法有如下,toString()void是將試卷轉(zhuǎn)換成字符串格式;而addQusetion() void是表示向試卷中添加題目。</p><p>  最后,來(lái)介紹一下試題類。此類包含以下屬性和方法。Question類,屬性如下:title是String字符串類型的,它表

79、示題目的標(biāo)題;answer是char字符類型的,它表示題目的正確選項(xiàng);items是List<String>(只能存儲(chǔ)字符串類型的集合)一個(gè)集合,它表示題目選項(xiàng)。Question類用到的方法如下:toString() void它表示將題目轉(zhuǎn)換成字符串格式。</p><p><b>  4.4工具類</b></p><p>  QuestionReader類

80、和SocketUtil類是該考試系統(tǒng)用到的工具類,前一個(gè)是表示封裝一些讀取磁盤文件的方法,后一個(gè)是表示封裝一些創(chuàng)建套接字連接的基本格式。</p><p>  4.5讀取配置文件類</p><p>  配置文件有以下兩個(gè)接口:StudentDao接口和PaperDao接口。分別需要運(yùn)用方法getStudent()和getPaper()。為了實(shí)現(xiàn)上述接口和方法,分別用StudentDaoFro

81、mTextFile類和PaperDaoFromFile類來(lái)實(shí)現(xiàn)上述接口和方法。最終能夠讀取配置文件。</p><p>  4.6系統(tǒng)運(yùn)行的詳細(xì)描述</p><p>  在4.1至4.5已經(jīng)介紹了系統(tǒng)中各種類的屬性以及方法。然而各種類之間存在著調(diào)用和依賴的關(guān)系,下邊就來(lái)分析一下這些關(guān)系。</p><p>  4-1系統(tǒng)運(yùn)行詳細(xì)圖</p><p>

82、;  上圖是這個(gè)在線考試系統(tǒng)的整體框架圖。從上邊的例圖我們可以看出,該系統(tǒng)最關(guān)鍵的就是服務(wù)器通過(guò)服務(wù)器線程與client直接的連接關(guān)系。該在線考試系統(tǒng)是在整個(gè)連接才使得客戶機(jī)與服務(wù)器發(fā)生聯(lián)系并完成整個(gè)在線考試過(guò)程的。服務(wù)器與客戶機(jī)之間的數(shù)據(jù)交換和通信都是以服務(wù)器與client之間的連接作為鋪墊的。系統(tǒng)在初始運(yùn)行時(shí)需要將配置文件中的數(shù)據(jù)讀取并傳送到到服務(wù)器中,然后,客戶機(jī)才能收到服務(wù)器傳送來(lái)的數(shù)據(jù)??蛻魴C(jī)的每個(gè)窗口的數(shù)據(jù)的傳輸都是以服務(wù)器

83、與client的連接為前提的。</p><p>  那么,接下來(lái)要介紹一下幾個(gè)重要類的具體的設(shè)計(jì)說(shuō)明:</p><p><b>  1.服務(wù)器線程類</b></p><p>  服務(wù)器線程類,它是服務(wù)器主類的一個(gè)內(nèi)部類。因?yàn)樗皇欠?wù)器的類,只作為內(nèi)部類使用,因而它只被設(shè)計(jì)在服務(wù)器的內(nèi)部。當(dāng)服務(wù)器接收到來(lái)自客戶端的請(qǐng)求時(shí)該連接繼續(xù)進(jìn)行。服務(wù)是程

84、序創(chuàng)建的一個(gè)服務(wù)進(jìn)程與服務(wù)器連接而成的,它適合運(yùn)行run()方法。該方法用來(lái)判斷客戶端發(fā)送的請(qǐng)求類型,并且判斷調(diào)用何種方法。服務(wù)器然后發(fā)送相應(yīng)的數(shù)據(jù)。下面我們來(lái)詳細(xì)了解一下這個(gè)過(guò)程:</p><p>  首先,服務(wù)器在初始化init()方法是個(gè)while()死循環(huán),此時(shí),服務(wù)器不斷地監(jiān)聽(tīng)客戶機(jī)套接字的請(qǐng)求,當(dāng)有請(qǐng)求到來(lái)時(shí),系統(tǒng)繼續(xù)往下運(yùn)行;接著,服務(wù)器構(gòu)建一個(gè)服務(wù)線程,這個(gè)服務(wù)線程源自線程類。它直接調(diào)用start

85、()方法,讓服務(wù)器繼續(xù)往下運(yùn)行,建立于client之間的連接。此時(shí),客戶端與該服務(wù)器的線程就建立起了連接。然后,服務(wù)線程創(chuàng)建一個(gè)輸出流,這個(gè)輸出流是用來(lái)給客戶機(jī)發(fā)送信息的。緊接著又是一個(gè)while()死循環(huán),不斷地從上述輸出流中讀取數(shù)據(jù),直到有判斷請(qǐng)求道來(lái)。</p><p>  下面我們要介紹一下判斷請(qǐng)求的類型。這個(gè)請(qǐng)求類型要使用到一個(gè)Request請(qǐng)求類,這里涉及到四個(gè)靜態(tài)常量。這里要使用到一個(gè)switch、c

86、ase 語(yǔ)法,來(lái)匹配所要調(diào)用的方法。如果調(diào)用的靜態(tài)常量是1,這里用到login_request,程序就調(diào)用login()方法。如果是靜態(tài)常量2,就要調(diào)用begin方法。如果是靜態(tài)常量3,就會(huì)調(diào)用交卷信息的send()方法。如果靜態(tài)常量4,就表示學(xué)生要退出考試的界面,這時(shí)候,客戶端關(guān)閉,服務(wù)器接收到退出請(qǐng)求之后,就要直接跳出循環(huán),然后關(guān)閉與之連接的流和套接字連接。</p><p>  綜上所述,這就是考試系統(tǒng)運(yùn)行的

87、基本過(guò)程。</p><p>  這里簡(jiǎn)單描述一下上邊提到的幾個(gè)方法的作用。首先,login()就是發(fā)送用戶信息與考題給客戶端程序,然后進(jìn)入下一個(gè)進(jìn)程,繼續(xù)監(jiān)聽(tīng)其他請(qǐng)求;begin()方法是根據(jù)用戶反映的信息對(duì)用戶進(jìn)行分發(fā)試題,然后繼續(xù)監(jiān)聽(tīng)請(qǐng)求;send()是告訴服務(wù)器用戶考試結(jié)束。</p><p><b>  2.客戶端窗口類</b></p><p

88、>  客戶類的窗口類,是實(shí)現(xiàn)用戶由對(duì)這個(gè)系統(tǒng)進(jìn)行第一步操作開(kāi)始,到操作結(jié)束為止所有的過(guò)程。從用戶登錄該系統(tǒng)開(kāi)始,輸入用戶名密碼進(jìn)入考試界面,對(duì)考試規(guī)則等進(jìn)行閱覽,進(jìn)入考試一直到考試結(jié)束,提交考卷并得到考試分?jǐn)?shù),離開(kāi)考試系統(tǒng)結(jié)束。下面就來(lái)詳細(xì)了解一下這個(gè)過(guò)程:</p><p>  首先,用戶啟動(dòng)該考試系統(tǒng)程序,進(jìn)入登陸界面??忌仨氃诘顷懡缑孑斎胝_的用戶名和賬號(hào)方能進(jìn)入該考試系統(tǒng),否則,系統(tǒng)會(huì)自動(dòng)報(bào)錯(cuò)并提醒

89、用戶輸入正確的用戶名和密碼。</p><p>  然后,當(dāng)用戶輸入正確的用戶名和密碼,用戶就成功登陸了該考試系統(tǒng)。接著就會(huì)出現(xiàn)幾個(gè)選擇項(xiàng):開(kāi)始,分?jǐn)?shù),考試規(guī)則,離開(kāi)??忌鷳?yīng)該首先閱覽以下考試規(guī)則,接著點(diǎn)擊開(kāi)始進(jìn)入考試,當(dāng)考試結(jié)束后,選擇提交試卷。然后點(diǎn)擊分?jǐn)?shù)就可以得到自己的考試分?jǐn)?shù)了。然后就可以離開(kāi)該考試系統(tǒng)了。</p><p>  之后,當(dāng)用戶進(jìn)入考試,考試框的上邊依次是考生姓名、編號(hào)、

90、考試時(shí)間等。中間是考試題目,先邊有考試時(shí)間倒計(jì)時(shí)。還有幾個(gè)選擇鈕,依次是上一題,下一題以及提交試卷??忌筛鶕?jù)自己需求進(jìn)行操作,最終提交試卷。如果考生在倒計(jì)時(shí)時(shí)間之內(nèi)未完成作答的,系統(tǒng)會(huì)自動(dòng)提交試卷。</p><p>  考生在提交試卷后,系統(tǒng)會(huì)對(duì)用戶的作答給出分?jǐn)?shù)。用戶提交試卷的同時(shí)系統(tǒng)會(huì)將用戶的分?jǐn)?shù)呈現(xiàn)在該用戶面前。考試完成。</p><p>  最后,考生點(diǎn)擊離開(kāi),離開(kāi)考試系統(tǒng)。&l

91、t;/p><p>  以下是一流程圖的形式進(jìn)一步說(shuō)明以上過(guò)程。 </p><p><b>  4-2服務(wù)器流程圖</b></p><p><b>  4-3客戶端流程圖</b></p><p>  4.7系統(tǒng)運(yùn)行圖以及主要的實(shí)現(xiàn)代碼</p><p><b>

92、  4-4登陸界面</b></p><p><b>  4-5進(jìn)入考試系統(tǒng)</b></p><p><b>  4-6考試界面</b></p><p>  4-7點(diǎn)擊交卷之后,成績(jī)自動(dòng)生成</p><p>  主要的實(shí)現(xiàn)代碼如下:</p><p><b>

93、;  登錄流程</b></p><p><b>  2.考試流程</b></p><p><b>  3.開(kāi)始考試倒計(jì)時(shí)</b></p><p><b>  4.查詢考分流程</b></p><p><b>  5.退出流程</b></p

94、><p>  6.點(diǎn)擊下一步按鈕所執(zhí)行的方法</p><p><b>  7.交卷流程</b></p><p><b>  8.考試結(jié)束</b></p><p><b>  4.8小結(jié)</b></p><p>  本章主要介紹了系統(tǒng)的詳細(xì)設(shè)計(jì)以及具體流程。系

95、統(tǒng)用到的主要類,以及類的屬性。緊接著通過(guò)系統(tǒng)的主框架為引導(dǎo)詳細(xì)說(shuō)明了系統(tǒng)的運(yùn)行過(guò)程。</p><p><b>  第五章總結(jié)與展望</b></p><p><b>  5.1工作總結(jié)</b></p><p>  經(jīng)過(guò)近半年的不懈努力,我通過(guò)查閱各種資料,以及尋求別人的幫助,終于完成了這個(gè)在線考試系統(tǒng)的設(shè)計(jì)。系統(tǒng)完成后,基

96、本能實(shí)現(xiàn)預(yù)期功能。在這個(gè)系統(tǒng)的設(shè)計(jì)過(guò)程中讓我更熟悉JAVA這一開(kāi)發(fā)語(yǔ)言,增加了自己的開(kāi)發(fā)經(jīng)驗(yàn)。</p><p>  首先,選擇這個(gè)題目是因?yàn)楝F(xiàn)在互聯(lián)網(wǎng)越來(lái)越發(fā)達(dá),在線教育也越來(lái)越繁榮。再加上現(xiàn)在的紙質(zhì)考試存在著諸多弊端。在線考試已經(jīng)成為一種潮流,正不斷受到人們的認(rèn)可。而且在線考試節(jié)省人力、物力。所以我就選擇了這個(gè)設(shè)計(jì)。</p><p>  接下來(lái),我就查閱各種資料來(lái)完善JAVA方面的知識(shí),

97、并能夠?yàn)樵撓到y(tǒng)的開(kāi)發(fā)設(shè)計(jì)服務(wù)。然后,對(duì)該系統(tǒng)的功能進(jìn)行構(gòu)想。首先,考生能夠通過(guò)一定的賬號(hào)密碼登錄該系統(tǒng);然后,能夠成功進(jìn)行考試,提交試卷并獲得得分。接著,完善系統(tǒng)功能,增加考試規(guī)則,計(jì)時(shí)等功能。這能夠讓用戶感覺(jué)更加人性化,從而更能接受該在線考試系統(tǒng)。最后根據(jù)功能編寫程序。</p><p>  然后,根據(jù)功能便攜框架,對(duì)各個(gè)類進(jìn)行聯(lián)系。使系統(tǒng)能夠順利的運(yùn)行,為系統(tǒng)的成功設(shè)計(jì)做好鋪墊。最后就是完成程序,構(gòu)成系統(tǒng),糾錯(cuò)

98、,系統(tǒng)完善。</p><p>  通過(guò)以上的各個(gè)步驟,我對(duì)系統(tǒng)開(kāi)發(fā)有了更深刻的了解。為以后的學(xué)習(xí)生活打下堅(jiān)實(shí)的基礎(chǔ)。在這個(gè)系統(tǒng)的設(shè)計(jì)過(guò)程中,我不但更加了解JAVA,更能以這個(gè)平臺(tái)進(jìn)行實(shí)際設(shè)計(jì)。雖然在開(kāi)發(fā)的過(guò)程中出現(xiàn)了些許錯(cuò)誤,但通過(guò)老師的精心指導(dǎo),都一一解決了。在這里謝謝老師和在開(kāi)發(fā)過(guò)程中幫助過(guò)我的人。</p><p><b>  5.2后續(xù)工作展望</b></

99、p><p>  這個(gè)系統(tǒng)還能夠添加更多功能,比如試題的更多分類,增加自測(cè)平臺(tái)。讓該考試系統(tǒng)無(wú)論在正式考試或者日常訓(xùn)練中都能夠出現(xiàn)在人們的生活中。幫助更多的人們學(xué)習(xí)和更了解生活。</p><p><b>  致謝</b></p><p>  畢業(yè)設(shè)計(jì)作為一個(gè)平臺(tái)來(lái)展示我們大學(xué)四年的學(xué)習(xí)情況,并能夠充分展現(xiàn)個(gè)人的邏輯思維以及動(dòng)手能力。充分調(diào)用某一門或者

100、多門的功課來(lái)實(shí)現(xiàn)個(gè)人的設(shè)計(jì)。這能夠考驗(yàn)自我的學(xué)習(xí)能力,能夠不斷超越自我。</p><p>  作為本文的在線考試系統(tǒng)這一基于JAVA的開(kāi)發(fā)系統(tǒng),我為了實(shí)現(xiàn)功能構(gòu)想以及程序編寫,查閱了不少資料。在老師和同學(xué)們的幫助下成功完成設(shè)計(jì),在某種程度上加強(qiáng)了自我的實(shí)踐能力。為以后的工作積累經(jīng)驗(yàn)。</p><p>  本次設(shè)計(jì)中功能實(shí)現(xiàn)上出現(xiàn)了不少技術(shù)上的問(wèn)題。鑒于個(gè)人經(jīng)驗(yàn)不足,尋求導(dǎo)師以及擁有開(kāi)發(fā)經(jīng)驗(yàn)

101、的同學(xué)進(jìn)行修改完善。比如,系統(tǒng)種類的調(diào)用,屬性的運(yùn)用以及方法的實(shí)現(xiàn)都存在著知識(shí)面不夠完善的問(wèn)題。存在著運(yùn)用錯(cuò)誤,致使系統(tǒng)存在著這樣那樣的錯(cuò)誤。再就是各個(gè)類之間的連接問(wèn)題是個(gè)難題,在經(jīng)過(guò)同學(xué)的幫助下,我經(jīng)過(guò)多次跳是修改,最終完成這次畢業(yè)設(shè)計(jì)。</p><p>  在開(kāi)發(fā)和調(diào)試過(guò)程中,老師的優(yōu)良作風(fēng)對(duì)我有了深刻的影響。令我對(duì)待工作學(xué)習(xí)的態(tài)度發(fā)生了質(zhì)的飛躍。是我養(yǎng)成了嚴(yán)肅認(rèn)真,一絲不茍的工作作風(fēng),并樹(shù)立了正確的生產(chǎn)觀、

102、經(jīng)濟(jì)觀和全局觀。</p><p>  通過(guò)此次畢業(yè)設(shè)計(jì),希望我能把所學(xué)的只是充分聯(lián)系起來(lái),培養(yǎng)自己分析問(wèn)題、解決問(wèn)題的能力。不斷充實(shí)自我,為以后的工作做好鋪墊。</p><p>  最后,對(duì)老師的精心指導(dǎo)和悉心培育表示由衷的感謝。</p><p><b>  參考文獻(xiàn):</b></p><p>  **本科畢業(yè)設(shè)計(jì)(論文

103、)管理暫行規(guī)定</p><p>  畢業(yè)設(shè)計(jì)(論文)是本科人才培養(yǎng)的重要實(shí)踐性教學(xué)環(huán)節(jié),也是學(xué)士學(xué)位評(píng)定的重要依據(jù)。為了切實(shí)做好我校的畢業(yè)設(shè)計(jì)(論文)工作,規(guī)范畢業(yè)設(shè)計(jì)(論文)工作的管理,提高畢業(yè)設(shè)計(jì)(論文)的質(zhì)量,特制定本規(guī)定。</p><p>  一、畢業(yè)設(shè)計(jì)(論文)的主要目的</p><p>  (一)培養(yǎng)學(xué)生運(yùn)用所學(xué)知識(shí)獨(dú)立地分析和解決本專業(yè)范圍內(nèi)一般問(wèn)題的

104、能力,培養(yǎng)學(xué)生的創(chuàng)新意識(shí)和實(shí)踐能力,使學(xué)生從事學(xué)術(shù)研究的能力得到初步的訓(xùn)練;</p><p> ?。ǘ┡囵B(yǎng)學(xué)生理論聯(lián)系實(shí)際的工作作風(fēng)和嚴(yán)謹(jǐn)認(rèn)真的科學(xué)態(tài)度;</p><p> ?。ㄈ┡囵B(yǎng)學(xué)生分析設(shè)計(jì)能力、研究實(shí)驗(yàn)?zāi)芰Α⒐こ虒?shí)踐能力、經(jīng)濟(jì)分析能力、外文閱讀能力和計(jì)算機(jī)的運(yùn)用能力,以及社會(huì)調(diào)查、文獻(xiàn)資料查閱和論文寫作能力。</p><p>  二、畢業(yè)設(shè)計(jì)(論文)的基

105、本要求</p><p> ?。ㄒ唬┌凑崭鲗I(yè)“畢業(yè)設(shè)計(jì)(論文)教學(xué)大綱”的要求進(jìn)行;</p><p> ?。ǘ┮哂袑W(xué)術(shù)性,要對(duì)自然科學(xué)或社會(huì)科學(xué)內(nèi)某一領(lǐng)域進(jìn)行專門、系統(tǒng)的研究,并表達(dá)其研究成果;</p><p>  (三)要具有創(chuàng)見(jiàn)性,要對(duì)學(xué)術(shù)或工程的某個(gè)問(wèn)題有新的發(fā)現(xiàn)、新的構(gòu)想或新的發(fā)展和完善;</p><p> ?。ㄋ模┮哂锌茖W(xué)性,

106、要求論述系統(tǒng)而完整,首尾一貫而不前后矛盾,實(shí)事求是而不主觀臆造;</p><p> ?。ㄎ澹┮邞?yīng)用性,要能解決生產(chǎn)實(shí)際問(wèn)題,在技術(shù)改造、生產(chǎn)管理等通過(guò)方面有所創(chuàng)造;</p><p>  (六)應(yīng)做到觀點(diǎn)正確、論據(jù)充分、推理嚴(yán)密、計(jì)算準(zhǔn)確,層次分明、條理清楚、語(yǔ)言精煉,有必要的圖表和相關(guān)資料等;</p><p> ?。ㄆ撸?yīng)參閱一定數(shù)量的外文資料,并要求在畢業(yè)設(shè)計(jì)(

107、論文)中反映出來(lái)。</p><p>  三、畢業(yè)設(shè)計(jì)(論文)的工作程序</p><p>  畢業(yè)設(shè)計(jì)(論文)工作程序分為選題、開(kāi)題、撰寫論文或設(shè)計(jì)、中期檢查、答辯、歸檔等環(huán)節(jié)。</p><p>  四、畢業(yè)設(shè)計(jì)(論文)的時(shí)間安排</p><p>  畢業(yè)設(shè)計(jì)(論文)工作時(shí)間為8~12周,時(shí)間安排應(yīng)按**本科生畢業(yè)設(shè)計(jì)(論文)工作流程執(zhí)行,集中

108、用于畢業(yè)設(shè)計(jì)(論文)的時(shí)間不得少于專業(yè)培養(yǎng)計(jì)劃規(guī)定的周數(shù)。</p><p>  五、畢業(yè)設(shè)計(jì)(論文)的領(lǐng)導(dǎo)與管理</p><p>  全校畢業(yè)設(shè)計(jì)(論文)在分管教學(xué)副校長(zhǎng)領(lǐng)導(dǎo)下進(jìn)行,分級(jí)管理,層層負(fù)責(zé)。</p><p>  (一)教務(wù)處畢業(yè)設(shè)計(jì)(論文)管理工作職責(zé):</p><p>  1、匯總各院(部)畢業(yè)設(shè)計(jì)(論文)題目和指導(dǎo)教師安排,協(xié)

109、調(diào)有關(guān)問(wèn)題;</p><p>  2、做好畢業(yè)設(shè)計(jì)(論文)前期、中期、后期檢查工作,對(duì)未達(dá)到各階段進(jìn)度、質(zhì)量要求或違反有關(guān)規(guī)定的院(部)提出整改要求;</p><p>  3、開(kāi)展學(xué)校畢業(yè)設(shè)計(jì)(論文)工作評(píng)估和研究工作。</p><p>  (二)院(部)畢業(yè)設(shè)計(jì)(論文)管理工作職責(zé):</p><p>  各院(部)成立畢業(yè)設(shè)計(jì)(論文)工作領(lǐng)

110、導(dǎo)小組,確定畢業(yè)設(shè)計(jì)(論文)指導(dǎo)教師,布置畢業(yè)設(shè)計(jì)(論文)工作任務(wù),檢查本院(部)畢業(yè)設(shè)計(jì)(論文)工作落實(shí)情況。院(部)畢業(yè)設(shè)計(jì)(論文)管理工作職責(zé)為: </p><p>  1、審查畢業(yè)設(shè)計(jì)(論文)選題、下達(dá)任務(wù)書,安排指導(dǎo)教師,布置畢業(yè)設(shè)計(jì)(論文)有關(guān)工作;</p><p>  2、定期檢查畢業(yè)設(shè)計(jì)(論文)工作進(jìn)展情況,協(xié)調(diào)處理畢業(yè)設(shè)計(jì)(論文)中的有關(guān)問(wèn)題,督促檢查指導(dǎo)教師的工作;&l

111、t;/p><p>  3、對(duì)學(xué)生畢業(yè)設(shè)計(jì)(論文)按規(guī)范化要求進(jìn)行形式審查,組織畢業(yè)設(shè)計(jì)(論文)答辯和成績(jī)?cè)u(píng)定工作。對(duì)答辯小組提出的優(yōu)秀的畢業(yè)設(shè)計(jì)(論文)及評(píng)閱答辯中有爭(zhēng)議的畢業(yè)設(shè)計(jì)(論文),組織答辯委員會(huì)進(jìn)行復(fù)議,最終確定成績(jī);</p><p>  4、按學(xué)校有關(guān)要求,保存與畢業(yè)設(shè)計(jì)(論文)有關(guān)的電子和紙質(zhì)文檔;</p><p>  5、做好本院(部)學(xué)生畢業(yè)設(shè)計(jì)(論文

112、)總結(jié)與評(píng)估工作。</p><p> ?。ㄈ┊厴I(yè)設(shè)計(jì)(論文)指導(dǎo)教師職責(zé):</p><p>  1、指導(dǎo)學(xué)生選題,擬定任務(wù)書,安排學(xué)生做開(kāi)題報(bào)告,編寫指導(dǎo)方案,制定計(jì)劃和工作程序;</p><p>  2、對(duì)學(xué)生提出具體要求,指定主要參考資料和社會(huì)調(diào)查內(nèi)容,規(guī)定學(xué)生應(yīng)完成的查閱中外文資料、文獻(xiàn)綜述、開(kāi)題報(bào)告、各項(xiàng)實(shí)驗(yàn)數(shù)據(jù)、計(jì)算工作(包括上機(jī))、設(shè)計(jì)(論文)等;&l

113、t;/p><p>  3、采取多種方式檢查學(xué)生的工作進(jìn)度和工作質(zhì)量,及時(shí)解答和處理學(xué)生提出的有關(guān)問(wèn)題,并認(rèn)真填寫畢業(yè)設(shè)計(jì)(論文)指導(dǎo)記錄表;</p><p>  4、做好學(xué)生外文翻譯的評(píng)閱工作,指導(dǎo)學(xué)生按規(guī)范要求正確撰寫畢業(yè)設(shè)計(jì)(論文);</p><p>  5、在學(xué)生答辯前對(duì)畢業(yè)設(shè)計(jì)(論文)(包括設(shè)計(jì)說(shuō)明書、計(jì)算資料、實(shí)驗(yàn)報(bào)告、圖紙或論文等)進(jìn)行審查,認(rèn)真填寫畢業(yè)設(shè)計(jì)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論