版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、JAVA課程設(shè)計題目:駕駛員從業(yè)資格考試系統(tǒng) 學(xué) 院: 專 業(yè): 計算機(jī)科學(xué)與技術(shù) 班 級: 10 計 科 學(xué) 號: 學(xué)生姓名: 2012年 01 月 05日28 / 31文檔可自由編輯打印無紙化考試系統(tǒng)的設(shè)計與實現(xiàn)摘要:在當(dāng)今社會,網(wǎng)絡(luò)教育作為構(gòu)建開放的終身教育體系的一種十分重要和行之有效的途徑,越來越收到各方面的關(guān)注,并得到了極大的應(yīng)用和發(fā)展。網(wǎng)上考試系統(tǒng),作為網(wǎng)絡(luò)教育支持平臺中十分重要的組成部分,為網(wǎng)絡(luò)教育教學(xué)反饋和質(zhì)量評估的有效手段,同時也對傳統(tǒng)考試提出了巨大的挑戰(zhàn)。本系統(tǒng)利用網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫技術(shù),開發(fā)了基于C/S結(jié)構(gòu)的多用戶在線考試系統(tǒng)。該系統(tǒng)使用方便、操作簡單,現(xiàn)階段能實現(xiàn)多用戶同
2、時在線考試、時間控制,試題錄入及修改、試題共享、用戶管理、成績查詢、輔助閱卷等重要功能,也就是說實現(xiàn)了真正的無紙化考試,滿足任何授權(quán)的考生隨時隨地考試并獲得成績。軟件采用簡潔的客戶端服務(wù)器模式,脫離對外網(wǎng)的依賴,在局域網(wǎng)內(nèi)即可完成考試。以C語言和C+ 課程為例構(gòu)建了兩份試卷并實現(xiàn)了網(wǎng)上考試系統(tǒng)的設(shè)計,該考試系統(tǒng)具有通用性,可以方便地推廣到其他課程。關(guān)鍵字:網(wǎng)上考試系統(tǒng);軟件工程;組卷;C/S模式目 錄1 緒論11.1課題研究背景11.2課題研究的內(nèi)容21.3課題研究的意義22 系統(tǒng)的理論基礎(chǔ)及相關(guān)技術(shù)42.1可行性分析42.2系統(tǒng)的主要技術(shù)措施42.3VS及MFC簡介53 系統(tǒng)的需求分析93.
3、1系統(tǒng)需求分析93.2系統(tǒng)開發(fā)環(huán)境104 系統(tǒng)設(shè)計方案124.1系統(tǒng)的體系結(jié)構(gòu)124.2功能模塊設(shè)計134.3權(quán)限設(shè)計144.4系統(tǒng)數(shù)據(jù)庫設(shè)計155 系統(tǒng)主要模塊的設(shè)計與實現(xiàn)205.1系統(tǒng)總體結(jié)構(gòu)及服務(wù)器端和客戶端說明205.2題庫管理的實現(xiàn)215.3試卷生成功能的實現(xiàn)225.4在線考試的實現(xiàn)245.5用戶管理的實現(xiàn)305.6成績查詢功能實現(xiàn)305.7答卷的存儲與讀取335.8文件傳輸?shù)膶崿F(xiàn)346 系統(tǒng)界面設(shè)計366.1服務(wù)端366.2 客戶端387 總結(jié)40參考文獻(xiàn)411 緒論1.1課題研究背景隨著Internet和計算機(jī)技術(shù)的高速發(fā)展,計算機(jī)和網(wǎng)絡(luò)的應(yīng)用已經(jīng)普及到各行各業(yè)。尤其在大,中專院
4、校,校園網(wǎng)的建設(shè)已經(jīng)逐步完善,大多數(shù)學(xué)生已經(jīng)具備了利用網(wǎng)絡(luò)工具進(jìn)行信息交流和輔助學(xué)習(xí)的能力。發(fā)展以互聯(lián)網(wǎng)為主要手段的現(xiàn)代遠(yuǎn)程教育已經(jīng)成為當(dāng)今教育發(fā)展的趨勢。在國內(nèi),教育部提出實施“現(xiàn)代遠(yuǎn)程教育工程”,形成開放式教育網(wǎng)絡(luò),構(gòu)建終身學(xué)習(xí)體系。在我國,考試一直是學(xué)校教學(xué)活動中最重要的環(huán)節(jié)之一。然而,長期以來學(xué)校的各種考試都是以紙,筆為介質(zhì)的傳統(tǒng)考試方式,就是到目前為止,許多學(xué)校包括我們所在的高校,都還在廣泛的使用這種考試方式。在傳統(tǒng)考試方式下,組織一次考試要經(jīng)過多個環(huán)節(jié):教師出題,印制試卷,學(xué)生考試,教師閱卷,統(tǒng)計成績與評估和試卷分析等,消耗了大量的人力物力,并且在閱卷,統(tǒng)分的工作中也非常容易出現(xiàn)人
5、為的差錯。而且,隨著考試題型和考生數(shù)量的不斷增加以及考試要求的不斷提高,組織考試的工作量越來越大,而且也越來越煩瑣??梢哉f,在計算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)日益發(fā)展成熟的今天,傳統(tǒng)的考試方式已經(jīng)很不適應(yīng)現(xiàn)代考試的需要了。將先進(jìn)的計算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)應(yīng)用于考試已經(jīng)成為考試方式發(fā)展的必然趨勢了。老師們都非常盼望用一種新的方式來取代傳統(tǒng)考試方式,以減輕教師的工作負(fù)擔(dān)、提高工作效率,提高考試質(zhì)量,使考試更趨于客觀、合理和公證,更有利于教與學(xué)。正是在這種背景下,設(shè)計并開發(fā)一個功能完善的網(wǎng)絡(luò)考試系統(tǒng)也就成為了我們迫切需要解決的問題。基于此,近幾年來在線考試系統(tǒng)一直是高校軟件開發(fā)的熱點?;贐/S模式和C/S模式的考
6、試系統(tǒng)是一種新興的考試模式,它改變了傳統(tǒng)的考試方式,可以客觀、準(zhǔn)確地評估人在某個知識領(lǐng)域的能力和水平,極大的提高考試效率,將考試這樣一項浩大的工程簡單化、模式化、透明化。同傳統(tǒng)意義上的考試相比,無紙化考試系統(tǒng)是傳統(tǒng)考試和考場的延伸,它可以利用網(wǎng)絡(luò)的無限廣闊空間,隨時隨地的讓學(xué)生進(jìn)行練習(xí)、測試和考試,加上數(shù)據(jù)庫技術(shù)的利用,大大簡化了傳統(tǒng)考試的過程,提高了考試和評價質(zhì)量。本系統(tǒng)基于C/S,實現(xiàn)的目標(biāo)是輕量級,簡單,可靠,以下是相關(guān)流程:(1)首先教師和管理員的界面是不一樣的,管理員除了具有教師的權(quán)限外,還具有管理權(quán)限,考試前,教師需要準(zhǔn)備好試卷,一種是以前自己出的或其它教師出的題或?qū)⒁郧暗脑嚲硇薷?/p>
7、成新的試卷,一種是利用向?qū)е谱髟嚲?,由于直接在服?wù)器上操作,不需要管理員的干涉。(2)考試中,考生通過計算機(jī)連接到考試服務(wù)器上,教師在服務(wù)器端發(fā)放試卷,試卷以獨立文件的形式傳回學(xué)生機(jī),考試過程中所有考生的答案以獨立文件的形式暫存在本地機(jī),等提交試卷后再傳回服務(wù)器,在網(wǎng)絡(luò)斷開時拷貝至服務(wù)。(3)考試結(jié)束后,由計算機(jī)自動閱卷結(jié)合教師在服務(wù)器閱卷,由教師查詢。1.2課題研究的內(nèi)容本課題使用VC/MFC技術(shù),運(yùn)用軟件工程的思想,和模塊化設(shè)計思想來進(jìn)行開發(fā),分為用戶界面、數(shù)據(jù)處理和數(shù)據(jù)存儲讀取。用戶界面由MFC中模板完成,簡單容易維護(hù),數(shù)據(jù)處理也依賴于MFC消息機(jī)制和數(shù)據(jù)處理機(jī)制加上C+本身強(qiáng)大的能力,
8、數(shù)據(jù)文件存儲也由MFC提供了處理方式,本系統(tǒng)具有試卷生成、試題管理、考試、成績查詢、用戶管理和閱卷六個子系統(tǒng)組成??蛻舳酥还┛忌卿洠?wù)器端供教師和管理員登錄。網(wǎng)上考試系統(tǒng)要實現(xiàn)下面的功能:系統(tǒng)服務(wù)器端分管理員和教師,客戶端僅供考試使用。教師登錄后可以創(chuàng)建新試卷,系統(tǒng)提供了一個向?qū)?,幫助教師也手動添加試題,非常方便,若完成后覺得需要改動,也可以修改,考試模擬功能,學(xué)生登錄,發(fā)放試卷,答題,考試實時狀態(tài),答卷自動保存和傳輸。教師可隨時閱卷,閱卷時,客觀題直接由系統(tǒng)批改,主觀題由老師定奪。1.3課題研究的意義在計算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)日益發(fā)展成熟,并逐步滲到社會生活各個領(lǐng)域的今天,各行各業(yè)都發(fā)生了深
9、刻的變革,計算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)已經(jīng)被廣泛地用于各行各業(yè),學(xué)校也不例外,傳統(tǒng)的考試方式也面臨著重大的變革,而利用網(wǎng)絡(luò)考試系統(tǒng)進(jìn)行考試則是一種先進(jìn)的考試方式,它有很多傳統(tǒng)的考試方式所不具有的優(yōu)越性。傳統(tǒng)的考試方式下,多數(shù)學(xué)校的考試的工作流程是教師出題、印制試卷,學(xué)生考試,教師圓卷、統(tǒng)計成績與評估、試卷分析等,其中制卷、閱卷、統(tǒng)計成績的工作量非常大,而且也特別容易出錯。尤其是隨著高校學(xué)生的擴(kuò)招,考生數(shù)量大幅度增加,閱卷和成績統(tǒng)計的工作將變得更加的煩瑣。利用網(wǎng)絡(luò)考試系統(tǒng)進(jìn)行考試則不再需要印刷試卷,可以節(jié)省大量的人力、物力和財力;課程考試題目在考前輸入計算機(jī),建成試題庫,利用網(wǎng)絡(luò)考試系統(tǒng)對試題庫進(jìn)行科學(xué)
10、的管理,為教師題目的保存、分類和檢索提供了便利,也為編制試卷提供了高效率和低成本的手段:考試試卷由試題庫中的信息按照教師制定的組卷策略自動生成,提高了出卷的效率,并避免了考試前試題信息的泄露;考試系統(tǒng)可以對歷次考試的結(jié)果進(jìn)行統(tǒng)計分析,教師可以依據(jù)分析結(jié)果,根據(jù)實際情況,調(diào)整、更新試題,增強(qiáng)試題庫的生命力。使試題庫能夠更加準(zhǔn)確的反映要考核的內(nèi)容,增強(qiáng)出題的科學(xué)性和合理性:采用標(biāo)準(zhǔn)化的客觀型試題進(jìn)行考試,網(wǎng)絡(luò)考試系統(tǒng)可以直接對試卷進(jìn)行評分,就不需要人工閱卷,從而不但可以大量減輕任課教師煩瑣的閱卷工作,還提高了閱卷的效率和準(zhǔn)確度,避免了人工判卷時經(jīng)常出現(xiàn)的錯判、漏判和分?jǐn)?shù)計算錯誤等情況,使考試過程更
11、加規(guī)范化;考試后每個題目的分?jǐn)?shù)存儲在數(shù)據(jù)庫中,利用數(shù)據(jù)庫能方便地對數(shù)據(jù)進(jìn)行統(tǒng)計、匯總、排序等操作,就不再需要教師做毫無意義的統(tǒng)分工作了,教師也能從中了解考試的情況;考試試卷及考試成績保存在數(shù)據(jù)庫中,為考生查詢成績提供了方便,也增加了考試的公開性與透明度。由此可見,設(shè)計并開發(fā)一個功能完善的網(wǎng)絡(luò)考試系統(tǒng)是非常有意義的。2 系統(tǒng)的理論基礎(chǔ)及相關(guān)技術(shù)2.1可行性分析2.1.1技術(shù)可行性(1)考試系統(tǒng)多年來主要的困擾是對試題多樣性的處理,但隨著軟件技術(shù)的發(fā)展,這個問題已經(jīng)得到了徹底解決。本系統(tǒng)中能夠處理的題型有:單選題、多選題、判斷題、填空題、簡答題和論述題等,在本系統(tǒng)中簡答題和論述題將統(tǒng)一為主觀題,其
12、它為客觀題,客觀題采用計算機(jī)自動評分,這也是該系統(tǒng)與傳統(tǒng)考試相比,所具有的一個優(yōu)越性。這些題型涵蓋了大部分科目的考試題型,能滿足考試的科學(xué)性和合理性要求。(2)隨著硬件技術(shù)的發(fā)展,試題庫存貯數(shù)據(jù)量大和處理速度慢等因素已不再是主要考慮的問題。本系統(tǒng)采用Microsoft SQL Server2000數(shù)據(jù)庫,能提供超大型系統(tǒng)所需的數(shù)據(jù)庫服務(wù)。(3)現(xiàn)在高校學(xué)生普遍具備了使用微機(jī)的基本技能,學(xué)生在鍵盤、鼠標(biāo)操作、漢字錄入方面都不存在問題,且網(wǎng)絡(luò)考試系統(tǒng)對計算機(jī)操作水平要求極低,考生使用計算機(jī)答卷是完全可行的。2.1.2經(jīng)濟(jì)可行性傳統(tǒng)考試組織起來比較復(fù)雜,其工作流程包括:教師出題、制卷、分配考場、考試
13、、閱卷、成績統(tǒng)計、發(fā)成績通知單等多個環(huán)節(jié),這些環(huán)節(jié)需要耗費大量的人力、物力和財力。而利用網(wǎng)絡(luò)考試和管理系統(tǒng)組織考試,無需制卷、成績統(tǒng)計和發(fā)成績通知單等過程,可以節(jié)約大量的人力、物力和財力。因此,使用網(wǎng)絡(luò)考試和管理系統(tǒng)有顯著的經(jīng)濟(jì)和社會效益。2.1.3社會可行性隨著教學(xué)體制的改革,考試制度也將隨之變革,采用無紙化的網(wǎng)上考試是今后考試的發(fā)展趨勢?,F(xiàn)在,許多高校對于開發(fā)和應(yīng)用網(wǎng)絡(luò)考試系統(tǒng)給予了極大的重視,許多學(xué)校都有相應(yīng)的科研立項。因此,網(wǎng)絡(luò)考試系統(tǒng)有著十分廣闊的市場前景。2.2系統(tǒng)的主要技術(shù)措施(1)技術(shù)路線。按照軟件工程開發(fā)設(shè)計思路,分步驟進(jìn)行需求分析、整體設(shè)計、詳細(xì)設(shè)計、編碼測試,最后驗收通過
14、。(2)技術(shù)環(huán)境。開發(fā)環(huán)境為微軟公司的VS,數(shù)據(jù)庫選用Microsoft SQL Server2000,它是基于客戶機(jī)服務(wù)器模式。2.3VS及MFC簡介2.3.1VC+.net簡介VC+是微軟公司開發(fā)的一個IDE(集成開發(fā)環(huán)境),換句話說,就是使用C+的一個開發(fā)平臺,VC+是Windows平臺上的C+編程環(huán)境,VC作為一個主流的開發(fā)平臺一直深受編程愛好者的喜愛,VC+應(yīng)用程序的開發(fā)主要有兩種模式,一種是WIN API方式,另一種則是MFC方式,傳統(tǒng)的WIN API開發(fā)方式比較繁瑣,而MFC則是對WIN API再次封裝,所以MFC相對于WIN API開發(fā)更具備效率優(yōu)勢,VC基于C,C+語言,主要
15、由是MFC組成,是與系統(tǒng)聯(lián)系非常緊密的編程工具,它兼有高級,和低級語言的雙重性,功能強(qiáng)大,靈活,執(zhí)行效率高,幾乎可說VC在 Windows平臺無所不能。 最大缺點是開發(fā)效率不高。2.3.2MFC簡介MFC,微軟基礎(chǔ)類(Microsoft Foundation Classes),實際上是微軟提供的,用于在C+環(huán)境下編寫應(yīng)用程序的一個框架和引擎,VC+是Windows下開發(fā)人員使用的專業(yè)C+ SDK(SDK,Standard Software Develop Kit,專業(yè)軟件開發(fā)平臺),MFC就是掛在它之上的一個輔助軟件開發(fā)包,MFC作為與VC+血肉相連的部分(注意C+和VC+的區(qū)別:C+是一種程
16、序設(shè)計語言,是一種大家都承認(rèn)的軟件編制的通用規(guī)范,而VC+只是一個編譯器,或者說是一種編譯器+源程序編輯器的IDE,WS,Platform,這跟Pascal和Delphi的關(guān)系一個道理,Pascal是Delphi的語言基礎(chǔ),Delphi使用Pascal規(guī)范來進(jìn)行Win下應(yīng)用程序的開發(fā)和編譯,卻不同于Basic語言和VB的關(guān)系,Basic語言在VB開發(fā)出來被應(yīng)用的年代已經(jīng)成了Basic語言的新規(guī)范,VB新加的Basic語言要素,如面向?qū)ο蟪绦蛟O(shè)計的要素,是一種性質(zhì)上的飛躍,使VB既是一個IDE,又成長成一個新的程序設(shè)計語言),MFC同BC+集成的VCL一樣是一個非外掛式的軟件包,類庫,只不過MF
17、C類是微軟為VC+專配的本系統(tǒng)。本系統(tǒng)采用Visual Studio 開發(fā)環(huán)境進(jìn)行開發(fā)。2.3.3MFC的特點與功能MFC的本質(zhì)就是一個包含了許多微軟公司已經(jīng)定義好的對象的類庫,我們知道,雖然我們要編寫的程序在功能上是千差萬別的,但從本質(zhì)上來講,都可以化歸為用戶界面的設(shè)計,對文件的操作,多媒體的使用,數(shù)據(jù)庫的訪問等等一些最主要的方面。這一點正是微軟提供MFC類庫最重要的原因,在這個類庫中包含了一百多個程序開發(fā)過程中最常用到的對象。在進(jìn)行程序設(shè)計的時候,如果類庫中的某個對象能完成所需要的功能,這時我們只要簡單地調(diào)用已有對象的方法就可以了。我們還可以利用面向?qū)ο蠹夹g(shù)中很重要的“繼承”方法從類庫中的
18、已有對象派生出我們自己的對象,這時派生出來的對象除了具有類庫中的對象的特性和功能之外,還可以由我們自己根據(jù)需要加上所需的特性和方法,產(chǎn)生一個更專門的,功能更為強(qiáng)大的對象。當(dāng)然,你也可以在程序中創(chuàng)建全新的對象,并根據(jù)需要不斷完善對象的功能。正是由于MFC編程方法充分利用了面向?qū)ο蠹夹g(shù)的優(yōu)點,它使得我們編程時極少需要關(guān)心對象方法的實現(xiàn)細(xì)節(jié),同時類庫中的各種對象的強(qiáng)大功能足以完成我們程序中的絕大部分所需功能,這使得應(yīng)用程序中程序員所需要編寫的代碼大為減少,有力地保證了程序的良好的可調(diào)試性。最后要指出的是MFC類庫在提供的對象的各種屬性和方法都是經(jīng)過謹(jǐn)慎的編寫和嚴(yán)格的測試,可靠性很高,這就保證了使用M
19、FC類庫不會影響程序的可靠性和正確性。2.3.4VC數(shù)據(jù)庫訪問技術(shù)VC提供了以下多種方法訪問數(shù)據(jù)庫:(1)使用ODBC技術(shù);(2)使用OLEDB技術(shù);(3)使用數(shù)據(jù)綁定控件技術(shù);(4)使用DAO技術(shù)。由于目前需要和數(shù)據(jù)量對數(shù)據(jù)處理的能力要求并不高,因此選擇最常用的ODBC方式這種方式主要用到兩個類Cdatabase類,它繼承自類Cobject類,Cdatabase對象表示到數(shù)據(jù)源的連接,通過它可以操作數(shù)據(jù)源,數(shù)據(jù)源是位于一些數(shù)據(jù)庫管理系統(tǒng)的的數(shù)據(jù)指定實例,第二類是Crecordset類,它也派生自Cobject類,一個Crecordset類對象代表一個從數(shù)據(jù)源檢索到的記錄集,被典型應(yīng)用為兩種方
20、式:動態(tài)記錄集或者快照集。2.3.5ODBC簡介ODBC(Open Database Connectivity,開放數(shù)據(jù)庫互連)是微軟公司開放服務(wù)結(jié)構(gòu)(WOSA,Windows Open Services Architecture)中有關(guān)數(shù)據(jù)庫的一個組成部分,它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)。這些API利用SQL來完成其大部分任務(wù)。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC,一個基于ODBC的應(yīng)用程序?qū)?shù)據(jù)庫的操作不依賴任何DBMS,不直接與DBMS打交道,所有的數(shù)據(jù)庫操作由對應(yīng)的DBMS的ODBC驅(qū)動程序完成。也就是
21、說,不論是FoxPro、Access , MYSQL還是Oracle數(shù)據(jù)庫,均可用ODBC API進(jìn)行訪問。由此可見,ODBC的最大優(yōu)點是能以統(tǒng)一的方式處理所有的數(shù)據(jù)庫一個完整的ODBC由下列幾個部件組成:(1)應(yīng)用程序(Application)。(2)ODBC管理器(Administrator)。該程序位于Windows控制面板(Control Panel)的32位ODBC內(nèi),其主要任務(wù)是管理安裝的ODBC驅(qū)動程序和管理數(shù)據(jù)源。(3)驅(qū)動程序管理器(Driver Manager)。驅(qū)動程序管理器包含在ODBC32。DLL中,對用戶是透明的。其任務(wù)是管理ODBC驅(qū)動程序,是ODBC中最重要的部
22、件。(4)ODBC API。(5)ODBC 驅(qū)動程序。是一些DLL,提供了ODBC和數(shù)據(jù)庫之間的接口。數(shù)據(jù)源。數(shù)據(jù)源包含了數(shù)據(jù)庫位置和數(shù)據(jù)庫類型等信息,實際上是一種數(shù)據(jù)連接的抽象。2.3.6 Socket套接字及文件傳輸本系統(tǒng)用到的是VC的CAsyncSocket類, 該類在非常低的級別上封裝 Windows Sockets API,它的使用方法如下:(1)創(chuàng)建套接字創(chuàng)建一個 CAsyncSocket 對象并使用該對象創(chuàng)建基礎(chǔ) SOCKET 句柄。CAsyncSocket sock;sock。Create( ); / Use the default parameters 或 CAsyncSoc
23、ket* pSocket = new CAsyncSocket;int nPort = 27;pSocket-> Create( nPort, SOCK_DGRAM );(2)偵聽與接受連接 如果套接字是客戶端,則使用 CAsyncSocket:Connect 將此套接字對象連接到服務(wù)器套接字。如果套接字是服務(wù)器,則將套接字設(shè)置為開始偵聽(使用 CAsyncSocket:Listen)來自客戶端的連接嘗試。接收到連接請求時,用 CAsyncSocket:Accept 接受該請求。(3)發(fā)送和接收數(shù)據(jù)使用Send(const void* lpBuf,int nBufLen,int nFla
24、gs = 0 )或int SendTo(const void* lpBuf,int nBufLen,UINT nHostPort,LPCTSTR lpszHostAddress = NULL,int nFlags = 0發(fā)送數(shù)據(jù),使用int Receive(void* lpBuf,int nBufLen,int nFlags = 0 )或int ReceiveFrom(void* lpBuf,int nBufLen,CString& rSocketAddress,UINT& rSocketPort,int nFlags = 0)接收數(shù)據(jù)(4)關(guān)閉套接字void Close( )
25、;3 系統(tǒng)的需求分析3.1系統(tǒng)需求分析采用軟件工程的思想對考試系統(tǒng)進(jìn)行需求分析,分析系統(tǒng)綜合要求和系統(tǒng)數(shù)據(jù)要求。在系統(tǒng)綜合要求中分析功能、性能、運(yùn)行三個方面的要求;在系統(tǒng)數(shù)據(jù)要求中對考試系統(tǒng)主要功能進(jìn)行分析。在需求分析的基礎(chǔ)上進(jìn)行系統(tǒng)總體設(shè)計。3.1.1系統(tǒng)功能需求無紙化考試系統(tǒng)的基本功能是利用計算機(jī)和網(wǎng)絡(luò)來組織考試??荚嚽?,教師建立相關(guān)考試科目的題庫;考試時,教師從題庫中選擇試卷發(fā)放給學(xué)生用的客戶端,學(xué)生在線答題;考試后,學(xué)生可以通過查詢成績,系統(tǒng)能對考試情況進(jìn)行統(tǒng)計與分析,對試卷的難度和信度進(jìn)行評估。為了實現(xiàn)這一目標(biāo),使本系統(tǒng)能夠充分實現(xiàn)考試功能,順利地完成每一次考試的流程,本系統(tǒng)至少應(yīng)該
26、具有以下功能:(1)系統(tǒng)能夠?qū)W(xué)生、教師、管理員的基本信息進(jìn)行管理,以便在登錄網(wǎng)絡(luò)考試系統(tǒng)時,驗證用戶的身份和為考生形成完整的考試信息檔案;(2)試題庫中應(yīng)包含多種類型的題型,如單選題、多選題、判斷題、填空題、簡答題和論述題等。試卷能夠共享,也能私有,能修改,刪除;(3)考生答題沒有順序限制,可以隨便做任意一個題,交卷之前可對答案進(jìn)行修改;(4)考試完后,系統(tǒng)能夠自動對考生的客觀題部分進(jìn)行評分,主觀題部分則由閱卷教師閱卷后將其成績手工輸入,最后計算機(jī)生成每個考生的成績,并將結(jié)果入考生成績數(shù)據(jù)庫。(5)系統(tǒng)能夠?qū)崿F(xiàn)對考生的考試成績進(jìn)行統(tǒng)計、對成績和試卷進(jìn)行查詢的功能。3.1.2系統(tǒng)性能需求對于網(wǎng)
27、上考試系統(tǒng)來說,可擴(kuò)展性、安全性、可管理性是幾個關(guān)鍵因素:(1)可管理性。軟件的可管理性是指可以方便地對系統(tǒng)進(jìn)行管理,確保系統(tǒng)的正常運(yùn)行管理和運(yùn)作,這是作為一個軟件最基本的特征,主要涉及以下幾個因素:維護(hù)系統(tǒng)服務(wù)及其服務(wù)正常工作所需的基礎(chǔ)結(jié)構(gòu)、工具以及管理員和技術(shù)人員。無紙化考試系統(tǒng)要求所有操作除身份驗證發(fā)送試卷發(fā)送答卷外是獨立的,不受網(wǎng)絡(luò)影響(2)安全性。安全性是指系統(tǒng)能夠保護(hù)數(shù)據(jù)或基礎(chǔ)結(jié)構(gòu)避免受惡意攻擊或者盜用。安全性是通過為信息的機(jī)密性、完整性和可靠性提供充分的保護(hù)來預(yù)防風(fēng)險。保障系統(tǒng)安全是任何系統(tǒng)成功的基本要素。對于網(wǎng)上考試系統(tǒng)來說,題庫、試卷、成績?nèi)叩陌踩允潜匦枰右钥紤]的。(3
28、)可擴(kuò)展性??蓴U(kuò)展性是指系統(tǒng)能保證可持續(xù)增長以滿足用戶的需求和業(yè)務(wù)復(fù)雜性要求。系統(tǒng)為動態(tài)變化的模型,它們通常開始很小,但是隨著需求的增長而呈指數(shù)級增長。這種增長非常迅速,不僅表現(xiàn)在支持的用戶數(shù)量上,而且表現(xiàn)在提供的用戶服務(wù)的復(fù)雜性和集成性方面。對于考試系統(tǒng)而言,這種擴(kuò)展性就顯得尤為重要,因為考試系統(tǒng)功能的完善是一個漸進(jìn)的過程,要根據(jù)學(xué)生的要求和技術(shù)的發(fā)展而不斷改進(jìn)。3.1.3系統(tǒng)運(yùn)行需求無紙化考試系統(tǒng)應(yīng)用環(huán)境的整體結(jié)構(gòu),基于C/S結(jié)構(gòu)構(gòu)建,在局域網(wǎng)內(nèi)通過客戶端器就能登錄考試。目前,整個考試系統(tǒng)服務(wù)器將在機(jī)房單的管理機(jī)上安裝而每臺學(xué)生用機(jī)上安裝客戶端,客戶端可以登錄更改服務(wù)器地址,從而實現(xiàn)局域網(wǎng)
29、等同外網(wǎng)。3.2系統(tǒng)開發(fā)環(huán)境3.2.1操作系統(tǒng)平臺本系統(tǒng)選用微軟的Microsoft Windows2000 Server(Windows2000服務(wù)器版)作為網(wǎng)絡(luò)服務(wù)器操作系統(tǒng)平臺,它具有穩(wěn)定性、可靠性、安全性和可擴(kuò)充性等優(yōu)點,是一種同時具有改進(jìn)性和創(chuàng)新性的產(chǎn)品。操作系統(tǒng)的安全是Web最基本的,也是最重要的安全保證。系統(tǒng)要從安裝、配置和管理三個方面入手,對Windows2000 Server進(jìn)行安全設(shè)計:(1)安裝:在安裝安全方面注意采用NTFS文件分區(qū)格式以及安裝微軟官方公布的最新Server Packs和補(bǔ)丁。(2)配置:在配置方面要遵循。最少的服務(wù)+最小的權(quán)限=最大的安全的原則,注意N
30、TFS權(quán)限的設(shè)置,及時為系統(tǒng)管理員帳號更名,嚴(yán)格限制服務(wù),關(guān)閉不必要的端口,最好能配置安全審核策略。(3)管理:在安全管理方面注意記錄服務(wù)器安裝配置情況和更改日志、留意Microsoft最新安全公告、及時打補(bǔ)丁、根據(jù)情況的變化增加安全設(shè)置、經(jīng)常查看安全審核日志、備份系統(tǒng)配置信息和其它重要數(shù)據(jù)等,并給服務(wù)器安裝防病毒軟件和防火墻系統(tǒng)。3.2.2開發(fā)工具本系統(tǒng)采用VS+SQLserver 2000。VS是window平臺下軟件開發(fā)的利器,幾乎可開發(fā)各種應(yīng)用程序,VS2005是微軟在VS6之后的又一版本,增加了.net框架和c#和更多集成功能,當(dāng)然我們將用到的只是VS2005。SQL Server
31、是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個OS/2 版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚(yáng)鑣了。Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。Sybase 則較專注于SQL Server在UNIX 操作系統(tǒng)上的應(yīng)用。SQL Server 2000,是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng)的新版本。該版
32、本繼承了SQL Server 7.0 版本的優(yōu)點,同時又比它增加了許多更先進(jìn)的功能,具有使用方便、可伸縮性好、與相關(guān)軟件集成程度高等優(yōu)點??煽缭綇倪\(yùn)行Microsoft Windows 98 的膝上型電腦,到運(yùn)行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺使用。4 系統(tǒng)設(shè)計方案4.1系統(tǒng)的體系結(jié)構(gòu)4.1.1常見的體系結(jié)構(gòu)(1)終端主機(jī)體系結(jié)構(gòu)這是一種早期處理數(shù)據(jù)采用的模式,這種結(jié)構(gòu)使得終端用戶盡可能地共享資源,終端所需做的是輸入命令,顯示結(jié)果。有關(guān)的一切數(shù)據(jù)處理都交給了主機(jī)去完成,這要求主機(jī)具有十分高的性能,并且隨著信息量的增加而不斷更新。這種模式中,服務(wù)器存
33、儲所有數(shù)據(jù)。進(jìn)行所有運(yùn)算,優(yōu)點是資源得到充分的共享,缺點是用戶界面單一,主機(jī)負(fù)載過大。(2)客戶機(jī)服務(wù)器(C/S)體系結(jié)構(gòu)這種結(jié)構(gòu)的出現(xiàn)最初是為了緩解前種模式中主機(jī)繁重的工作負(fù)擔(dān),將原來功能很強(qiáng)大的主機(jī)退化成數(shù)據(jù)庫服務(wù)器,同時轉(zhuǎn)移原來主機(jī)的一部分工作到客戶機(jī)上,顯然這就增加了客戶機(jī)的要求。為了運(yùn)用C/S這樣的模式,就需要為客戶端和服務(wù)器端分別安裝相應(yīng)的運(yùn)用程序,即所謂的兩層結(jié)構(gòu)。為了適應(yīng)一些大型的結(jié)構(gòu)復(fù)雜的系統(tǒng)應(yīng)用,出現(xiàn)了三層結(jié)構(gòu)的C/S結(jié)構(gòu)模式,它把兩層結(jié)構(gòu)中服務(wù)器部分和客戶端部分的應(yīng)用單獨劃出來,從而滿足大型應(yīng)用系統(tǒng)的要求。此模式中,客戶端應(yīng)用程序常以圖形用戶界面(GUI)表現(xiàn),易于生成和
34、修改,界面友好,應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器位于不同的主機(jī)上,可擴(kuò)充性好,能夠適應(yīng)客戶機(jī)數(shù)目的增加和應(yīng)用處理負(fù)荷的變動,缺點在于每臺機(jī)上需要安裝客戶端,但這樣一種模式同樣可滿足移植性,即在任何小型網(wǎng)絡(luò)中都可進(jìn)行無紙化考試,服務(wù)器客戶端隨時可以重新建立。(3)瀏覽器/服務(wù)器(B/S)體系結(jié)構(gòu)在此種模式中,客戶端的標(biāo)準(zhǔn)配置是瀏覽器,如IE、Netscape等;Web服務(wù)器成為應(yīng)用處理的標(biāo)準(zhǔn)配置,數(shù)據(jù)處理仍然由數(shù)據(jù)庫服務(wù)器(DB Serve)完成。即為三層分布結(jié)構(gòu),有利于共享,但對網(wǎng)絡(luò)依賴性強(qiáng)。充分利用現(xiàn)有的瀏覽器軟件,無需開發(fā)數(shù)據(jù)庫前端。通過Web瀏覽器訪問數(shù)據(jù)庫,不需要開發(fā)客戶端程序,所有應(yīng)用都是通
35、過瀏覽器來實現(xiàn)的。界面統(tǒng)一,易用,不用培訓(xùn)。所有的Web服務(wù)器與瀏覽器都遵循同樣的標(biāo)準(zhǔn),基于瀏覽器共享成為可能。用B/S方式時,集中開發(fā)人員在服務(wù)器端進(jìn)行開發(fā)、調(diào)試、維護(hù),開發(fā)人員只需要面對服務(wù)器端的應(yīng)用程序,無需開發(fā)客戶端程序,減少了工作量。又因為客戶與服務(wù)器兩部分功能劃分比較清楚,簡化了程序設(shè)計的邏輯。服務(wù)器上所有的應(yīng)用程序均可通過web瀏覽器在客戶機(jī)上執(zhí)行,可以充分發(fā)揮開發(fā)人員的群體優(yōu)勢,應(yīng)用軟件的維護(hù)也相對簡單。最大優(yōu)點是跨平臺支持,幾乎在各種操作系統(tǒng)上都有Web瀏覽器可供使用。為一個Web服務(wù)器書寫的HTML文檔,可以被所有平臺上的瀏覽器打開,實現(xiàn)了應(yīng)用軟件的跨平臺操作,而且不需修改
36、任何程序,缺點在于完全依賴網(wǎng)絡(luò),沒有網(wǎng)絡(luò)就無法工作,無法對考試時行實時監(jiān)控,可控性差,使用也很顯然容易造成試題泄漏,對重要考試顯然是不可取的。4.1.2本系統(tǒng)采用的體系結(jié)構(gòu)根據(jù)以上分析,本系統(tǒng)采用C/S結(jié)構(gòu)模式,目標(biāo)是實現(xiàn)一個輕量級的系統(tǒng),大部分功能將在服務(wù)器端實現(xiàn),客戶端惟一的功能是接收試卷,答題,交卷,其它一切工作由服務(wù)器完成地簡化了用戶端的工作。服務(wù)器由應(yīng)用程序服務(wù)器和數(shù)據(jù)庫服務(wù)器組成,應(yīng)用程序服務(wù)器與數(shù)據(jù)庫進(jìn)行交互。本系統(tǒng)的體系結(jié)構(gòu)見圖1。考試系統(tǒng)服務(wù)器數(shù)據(jù)庫服務(wù)器客戶端1客戶端2客戶端3客戶端4圖1系統(tǒng)體系結(jié)構(gòu)圖客戶只與服務(wù)器進(jìn)行網(wǎng)絡(luò)通信,而服務(wù)既與客戶端通信又與數(shù)據(jù)庫進(jìn)行訪問。4.
37、2功能模塊設(shè)計按照需求分析和功能要求,把整個系統(tǒng)分為六個子系統(tǒng):題庫管理,試卷生成,在線考試,成績查詢,用戶管理,閱卷。4.2.1題庫管理功能該子系統(tǒng)是對試題庫資源進(jìn)行維護(hù)、管理和修改的應(yīng)用平臺,它主要包括:(1)以列表的形式簡要地顯示所有試卷信息;(2)修改試卷,包括對每個題目內(nèi)容答案和分值等的修改;(3)使用他人創(chuàng)建的試卷。4.2.2試卷生成功能該子系統(tǒng)實現(xiàn)對考試相關(guān)新聞信息的總體管理,主要包括:(1)選擇題型和題目數(shù)及初步確定分值 ;(2)具體設(shè)置每個題的分值,題目,答案;(3)設(shè)置試卷類型和密碼及考試時間,保存。4.2.3在線考試功能該子系統(tǒng)實現(xiàn)考生的網(wǎng)上考試過程,主要包括:(1)考生
38、登錄:該子系統(tǒng)接受考生輸入的個人身份信息,進(jìn)行驗證,允許合法考生進(jìn)入考試系統(tǒng),進(jìn)行考試;(2)計時答卷:服務(wù)器發(fā)送開始指令后,客戶端系統(tǒng)計時開始,考生進(jìn)行答卷;(3)試卷提交:包括考生在規(guī)定時間內(nèi)主動提交試卷和考試時間己到,系統(tǒng)強(qiáng)迫提交試卷。4.2.4成績查詢功能該子系統(tǒng)實現(xiàn)考生的管理工作,主要包括:(1)以學(xué)號查詢考生成績 ;(2)以班級為單位查詢成績,可打印成績 。4.2.5用戶管理功能該子系統(tǒng)實現(xiàn)用戶的總體管理,主要包括:(1)教師信息管理:教師的增加,刪除,修改。(2)考生信息管理:考生的信息增加,刪除,修改。4.2.6閱卷功能(1)選擇答卷,自動批改客觀題。(2)由老師修改主觀題,最
39、后統(tǒng)計算總分,存入數(shù)據(jù)庫。4.3權(quán)限設(shè)計在本系統(tǒng)中,有三種用戶存在,管理員、教師和考生,三種用戶擁有不同的權(quán)限,權(quán)利分開,互不干涉。4.3.1教師權(quán)限 教師權(quán)限試題管理生成試卷閱卷及通知成績 圖2教師權(quán)限圖4.3.2管理員權(quán)限管理員權(quán)限教師權(quán)限設(shè)置考生信息設(shè)置系統(tǒng)的安全維護(hù)圖3管理員權(quán)限圖4.4系統(tǒng)數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫系統(tǒng)的設(shè)計對于整個系統(tǒng)的優(yōu)化實現(xiàn)是十分重要的,尤其對于網(wǎng)絡(luò)考試系統(tǒng),在出題、提交時都必須考慮系統(tǒng)的響應(yīng)時間,以最快的速度同數(shù)據(jù)庫鏈接,并讀取符合條件的記錄反饋到用戶的相關(guān)界面中。本系統(tǒng)采用Microsoft SQL Server2000數(shù)據(jù)庫。SQL Serwr2000關(guān)系數(shù)據(jù)庫引擎
40、支持當(dāng)今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫引擎充分保護(hù)數(shù)據(jù)完整性,同時將管理上千個并發(fā)使用修改數(shù)據(jù)庫的用戶的開銷減到最小。SQLServer2000分布式查詢使您得以引用來自不同數(shù)據(jù)源的數(shù)據(jù),就好像這些數(shù)據(jù)是SQL Server2000數(shù)據(jù)庫的一部分,同時分布式事務(wù)支持充分保護(hù)任何分布式數(shù)據(jù)更新的完整性。復(fù)制同樣使得可以維護(hù)多個數(shù)據(jù)復(fù)本,同時確保單獨的數(shù)據(jù)復(fù)本保持同步??蓪⒁唤M數(shù)據(jù)復(fù)制到多個移動的脫接用戶,使這些用戶自主地工作,然后將他們所做的修改合并回發(fā)給服務(wù)器。Microsoft SQL Server2000能提供超大型系統(tǒng)所需的數(shù)據(jù)庫服務(wù)。大型服務(wù)器可能有成千上萬的用戶同時連接到SQL
41、Server2000實例。SQLServer2000為這些環(huán)境提供了全面的保護(hù),具有防止問題發(fā)生的安全措施,例如,可以防止多個用戶試圖同時更新相同的數(shù)據(jù)。SQLServer2000還在多個用戶之間有效地分配可用資源,比如內(nèi)存、網(wǎng)絡(luò)帶寬和磁盤I/O。超大型Internet站點可將其數(shù)據(jù)分開存放在多臺服務(wù)器上,從而使處理負(fù)荷分散到多臺計算機(jī)上,使站點能為成千上萬的并發(fā)用戶提供服務(wù)??梢栽谝慌_計算機(jī)上運(yùn)行多個SQL Server2000實例。例如。一個為其它許多組織提供數(shù)據(jù)庫服務(wù)的組織可為每個客戶組織單獨運(yùn)行一個SQL Server2000實例,而全部實例可集中在一臺計算機(jī)上。這樣,既隔開了每個客戶
42、組織的數(shù)據(jù),同時又使服務(wù)組織只需管理一臺服務(wù)器計算機(jī)從而減少了費用。4.4.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計根據(jù)對數(shù)據(jù)的分析,可以設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。根據(jù)系統(tǒng)功能,所需要的實體主要有:教師、考試題目、學(xué)生。各實體之間最主要的ER關(guān)系如圖4所示。 用戶名密碼操作員圖4 (a)學(xué)生信息表姓名年齡性別學(xué)號班級編號專業(yè)編號學(xué)院編號 圖4(b) 試卷信息表創(chuàng)建日期試卷編號使用次數(shù)命題人科目成績信息表選擇題分試卷編號填空題分?jǐn)?shù)判斷題分?jǐn)?shù)學(xué)號創(chuàng)建日期圖4(c) 圖4(d)4.4.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計是將數(shù)據(jù)的概念結(jié)構(gòu)轉(zhuǎn)化為SQL Ser
43、ver2000數(shù)據(jù)庫系統(tǒng)的實際模型,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)后,就可以在SQLServer2000數(shù)據(jù)庫系統(tǒng)中建立表結(jié)構(gòu)。根據(jù)系統(tǒng)功能設(shè)計的要求以及功能模塊的劃分,對于在線考試系統(tǒng)的數(shù)據(jù)庫,4.4.3使用ODBC訪問數(shù)據(jù)庫前的準(zhǔn)備注冊數(shù)據(jù)源,使用控制面板>管理工具>數(shù)據(jù)源ODBC,利用向?qū)韯?chuàng)建。5 系統(tǒng)主要模塊的設(shè)計與實現(xiàn)5.1系統(tǒng)總體結(jié)構(gòu)及服務(wù)器端和客戶端說明5.1.1考試系統(tǒng)的組成考試系統(tǒng)總體結(jié)構(gòu)圖如圖5所示??荚囅到y(tǒng)服務(wù)器客戶端考卷管理試卷向?qū)в脩艄芾砜荚囅到y(tǒng)閱卷系統(tǒng)答卷系統(tǒng)5.1.2服務(wù)器端說明(1)登錄系統(tǒng)初始化顯示登錄對話框點擊登錄,查詢數(shù)據(jù)庫進(jìn)行密碼匹配,若成功根據(jù)權(quán)限
44、顯示主界面,失敗則顯示還有兩次重試機(jī)會。 (2)出題系統(tǒng)登錄系統(tǒng)選擇新建試卷,運(yùn)行試卷制作向?qū)?,按要求填充必要?nèi)容保存試卷。 (3)在線考試登錄系統(tǒng)選擇開始考試,等客戶端的連接所有考生從客戶端登錄服務(wù)器端發(fā)送試卷確認(rèn)所有學(xué)生收到試卷點擊開始,所有客戶端開始記時考試結(jié)束,客戶端自動交卷 (4)成績查詢登錄系統(tǒng)選擇成績查詢選擇查詢方式輸入關(guān)鍵顯示查詢結(jié)果(5)用戶管理root登錄系統(tǒng)選擇用戶管理當(dāng)需要增加用戶時輸入注冊所需的信息,點擊注冊當(dāng)需要注銷用戶時,輸入必須信息,點擊注冊(6)閱卷系統(tǒng)登錄系統(tǒng)系統(tǒng)初始化,讀取需要批改的答卷顯示在列表中選擇要批改的答卷,自動對客觀題評分,輔助進(jìn)行主觀題評分閱卷
45、完畢,將數(shù)據(jù)信息存入數(shù)據(jù)庫5.1.3 客戶端說明學(xué)生以合法身份從客戶端登陸,連接服務(wù)器后等待老師在客戶端發(fā)放試卷,然后進(jìn)行答題。5.2題庫管理的實現(xiàn)5.2.1功能描述題庫管理的主要功能,列出當(dāng)前所有試卷,供老師選擇使用,程序內(nèi)部由一個鏈表來維護(hù),這樣的方便之處在于當(dāng)用戶使用他的建立的試卷時,只要輸入密碼就能使用,此時,將很方便地將試卷信息添加到鏈表中隨時可進(jìn)行讀寫操作。5.2.2程序流程圖程序流程圖如6所示圖6 題庫管理流程圖初始化:在數(shù)據(jù)庫中搜索所有試卷及由當(dāng)前用戶命題的試卷,存儲為鏈表。5.3試卷生成功能的實現(xiàn)5.3.1功能描述試卷生成功能最主要的部分是一個向?qū)?,這部分完全可以作為一個獨立
46、的部分開發(fā),本系統(tǒng)的向?qū)Х譃槿剑?1)詢問題型和題量及分值。(2)具體的題目內(nèi)容,可修改默認(rèn)的分值。(3)設(shè)置試卷屬性如分值,時間和密碼等。5.3.2試卷生成程序流程圖流程圖如圖7所示:圖7 試卷生成流程圖題型及數(shù)目確定了,程序內(nèi)部的指針指向的空間大小也就確定了,題目填充后的數(shù)據(jù)將被指針?biāo)赶虻膬?nèi)存中,在保存點擊后,所有數(shù)據(jù)存入文件。5.3.3部分程序說明public class Server implements Runnable private Connection con = null;private Statement sql = null;private ResultSet rs
47、= null;private ServerSocket ss = null;boolean started = false;public void run() try con = DriverManager.getConnection("jdbc:odbc:PES DataBase","","");sql = con.createStatement();ss = new ServerSocket(8866);started = true; catch (BindException e) System.out.println("
48、;已有一個服務(wù)端運(yùn)行并占用了端口,服務(wù)端關(guān)閉!");System.exit(0); catch (IOException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); try while(started) Socket s = ss.accept();Client c = new Client(s);System.out.println("一個客戶端連入!");new Thread(c).start(); catch (IOException e) e.printStackT
49、race(); finally try if(ss != null)ss.close(); catch (IOException e) e.printStackTrace();class Client implements Runnable private Object obj;private String examID;private String name;private String type;private ExamQuestion examQuestions;private ExamInformation examInformation;private Socket s = null
50、;private ObjectInputStream ois = null;private ObjectOutputStream oos = null;private boolean bConnect = false;Client(Socket s) this.s = s;public void run() try ois = new ObjectInputStream(s.getInputStream();oos = new ObjectOutputStream(s.getOutputStream();bConnect = true; catch (IOException e) e.prin
51、tStackTrace();try while(bConnect) obj = ois.readObject();String str = obj.toString();System.out.println(str);if(!str.equals("ExamInformation") examID = str;rs = sql.executeQuery("select * from driverInfo where examID = '" +examID + "'");rs.last();if(rs.getRow()
52、= 0) oos.writeObject("error");else name = rs.getString(2);type = "貨物運(yùn)輸"rs = sql.executeQuery("select top 50 * from examQuestions where type = '貨物運(yùn)輸' order by newid()");for(int i=0; i<50; i+) rs.next();examQuestionsi = new ExamQuestion();examQuestionsi.setQues
53、tion(rs.getString(1);examQuestionsi.setAnswerA(rs.getString(2);examQuestionsi.setAnswerB(rs.getString(3);examQuestionsi.setAnswerC(rs.getString(4);examQuestionsi.setNumber(i+1 + "");examQuestionsi.setRightAnswer(rs.getString(5);examInformation = new ExamInformation(examID, name, type, exam
54、Questions);oos.writeObject(examInformation); catch (EOFException e) System.out.println("客戶端斷開!"); catch (Exception e) e.printStackTrace(); finally try if(ois != null) ois.close();if(oos != null)oos.close();if(s != null) s.close();s = null; catch (IOException e) e.printStackTrace();5.4在線考試的實現(xiàn)5.4.1考生登錄模塊考生登錄比較簡單,運(yùn)行后首先與服務(wù)器端建立連接,登錄成功后輸入用戶名密碼,程序?qū)⒋藬?shù)據(jù)發(fā)送至服務(wù)器端,服務(wù)器端到數(shù)據(jù)庫中驗證,正確則返回正確口令,否則返回錯誤口令,則當(dāng)前客戶端成未準(zhǔn)備狀態(tài)。public class ExamLoginDialog e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025樣板房裝修合同書
- 港口小學(xué)2025版炊事員崗位責(zé)任及考核協(xié)議3篇
- 鐵礦石期貨交易2025年度合同2篇
- 二零二五版綠城住宅小區(qū)項目委托代建施工合同4篇
- 二零二四年度莊隊黃奎魚塘養(yǎng)殖含技術(shù)培訓(xùn)與支持合同3篇
- 二零二四外架工程勞務(wù)分包與綠色施工協(xié)議3篇
- 一體化泵站施工方案
- 二零二四年農(nóng)村中小學(xué)食堂托管服務(wù)與營養(yǎng)改善合同3篇
- 2025年果園承包項目農(nóng)業(yè)機(jī)械化服務(wù)合同范本3篇
- 《天潤乳業(yè)營運(yùn)能力及風(fēng)險管理問題及完善對策(7900字論文)》
- 醫(yī)院醫(yī)學(xué)倫理委員會章程
- xx單位政務(wù)云商用密碼應(yīng)用方案V2.0
- 農(nóng)民專業(yè)合作社財務(wù)報表(三張報表)
- 動土作業(yè)專項安全培訓(xùn)考試試題(帶答案)
- 大學(xué)生就業(yè)指導(dǎo)(高職就業(yè)指導(dǎo)課程 )全套教學(xué)課件
- 死亡病例討論總結(jié)分析
- 第二章 會展的產(chǎn)生與發(fā)展
- 空域規(guī)劃與管理V2.0
- JGT266-2011 泡沫混凝土標(biāo)準(zhǔn)規(guī)范
- 商戶用電申請表
評論
0/150
提交評論