版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)論文</b></p><p> 題目: 基于B/S模式在線考試系統(tǒng)</p><p> 系 別: </p><p> 專 業(yè): </p><p> 學(xué) 號(hào): </p><p> 姓
2、 名: </p><p> 指導(dǎo)老師: </p><p> 2012年12月10日</p><p><b> 前言</b></p><p> 現(xiàn)代信息技術(shù)的發(fā)展,給教育帶來(lái)了深刻的變革。教育部前部長(zhǎng)陳至立在講到現(xiàn)代教育技術(shù)的發(fā)展與應(yīng)用時(shí)指出
3、:“我們將從三個(gè)面推進(jìn)教育的信息化:一是在學(xué)校中普及和運(yùn)用以多媒體計(jì)算機(jī)技術(shù)為核心的教育技術(shù);二是推進(jìn)網(wǎng)絡(luò)的普及和應(yīng)用;三是發(fā)展現(xiàn)代遠(yuǎn)程教育,建設(shè)并提供大量的網(wǎng)絡(luò)資源,以此為平臺(tái)構(gòu)建終身學(xué)習(xí)體系。”</p><p> 隨著信息時(shí)代的到來(lái),人們對(duì)教育的需求日益增加。在線考試系統(tǒng)作為一種新的考試模式,將最大限度地利用網(wǎng)絡(luò)資源,以其大眾化、現(xiàn)代化和方便快捷的特性來(lái)滿足用戶的需求。同時(shí)現(xiàn)代計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的快速發(fā)展
4、,也為在線考試的發(fā)展提供了強(qiáng)有力的技術(shù)保障。開發(fā)網(wǎng)上試題庫(kù)訓(xùn)練系統(tǒng),提供開放的訓(xùn)練環(huán)境,促進(jìn)交流,是本系統(tǒng)要實(shí)現(xiàn)的目標(biāo)。</p><p> 隨著計(jì)算機(jī)網(wǎng)絡(luò)教育的日益興起,在網(wǎng)上運(yùn)行的除了要有大量的學(xué)習(xí)軟件外,還要有相應(yīng)的練習(xí)和考試系統(tǒng)與之配套。現(xiàn)在許多學(xué)校都已建有多媒體計(jì)算機(jī)教室,并連成局域網(wǎng),開發(fā)適合學(xué)?;蜻h(yuǎn)程教學(xué)的網(wǎng)上試題和練習(xí)將事在必行。通過網(wǎng)絡(luò),人們可以不受時(shí)間和空間的限制,隨時(shí)隨地選學(xué)任何地方的任何課
5、程。為全社會(huì)的終身教育提供完備、全面的資源保障。</p><p> 與傳統(tǒng)的考試方式相比,網(wǎng)絡(luò)考試系統(tǒng)的主要好處包含兩個(gè)方面:一是可以動(dòng)態(tài)的管理各種考試信息,只要準(zhǔn)備好足夠的題庫(kù),就可以按照要求自動(dòng)生成各種試卷;另一方面,考試時(shí)間靈活,考生可以在規(guī)定時(shí)間段內(nèi)的任意時(shí)間參加考試;另外計(jì)算機(jī)化的考試的最大特點(diǎn)就是閱卷快,系統(tǒng)可以在考試結(jié)束時(shí)當(dāng)場(chǎng)對(duì)客觀題的正誤做出客觀評(píng)判,計(jì)算機(jī)閱卷給了考生的最大的公平感。</
6、p><p><b> 摘要</b></p><p> 隨著計(jì)算機(jī)技術(shù)的發(fā)展和互聯(lián)網(wǎng)時(shí)代的到來(lái),人們已經(jīng)進(jìn)入了信息時(shí)代,也有人稱為數(shù)字化時(shí)代。在數(shù)字化的網(wǎng)絡(luò)環(huán)境下,學(xué)生希望得到個(gè)性化的滿足,根據(jù)自己的情況進(jìn)行學(xué)習(xí),同時(shí)也希望能夠得到科學(xué)而公正的評(píng)價(jià);老師們則希望有效改進(jìn)現(xiàn)有的考試模式,提高考試的效率,提高考試的效果和水平。</p><p> 利
7、用網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)技術(shù),結(jié)合目前硬件價(jià)格普遍下跌與寬帶網(wǎng)大力建設(shè)的有利優(yōu)勢(shì),應(yīng)用JAVA Server Page技術(shù)和采用SQL Server 2005數(shù)據(jù)庫(kù)系統(tǒng)組件來(lái)構(gòu)成考試的應(yīng)用服務(wù)系統(tǒng),我們開發(fā)了基于B/S模式多用戶在線考試系統(tǒng)這一程序。它運(yùn)用方便、操作簡(jiǎn)單,效率很高,已具備用戶注冊(cè)、多用戶同時(shí)在線考試、動(dòng)態(tài)隨機(jī)出題、時(shí)間控制、自動(dòng)判卷、人工判卷、試題錄入、用戶管理、科目管理、管理員管理、分?jǐn)?shù)管理等重要功能。</p>&
8、lt;p> 基于B/S模式在線考試系統(tǒng)實(shí)現(xiàn)了真正的無(wú)紙化考試,滿足任何授權(quán)的考生隨時(shí)隨地考試并迅速獲得成績(jī),同時(shí)也大大減輕了教師出題、組卷和改卷等繁重的工作量,為學(xué)校創(chuàng)造一種新的考試環(huán)境。</p><p> 關(guān)鍵字:B\S模式;在線考試系統(tǒng);JSP;SQL Server 2005;無(wú)紙化考試</p><p><b> Abstract</b></p&
9、gt;<p> Along with the development of computer technology and the Internet time arrival, people have already entered the information age, also some people call the digitized Time. Under the digitized network envi
10、ronment, the students hope that they can obtain personalized satisfying, carry on the studies according to their own situations, simultaneously also hope that they can obtain scientific and the fair appraisal; Teachers h
11、ope that through the way of improving the existing test pattern effectively </p><p> At present, with the use of network and the data bank technology, hardware price will fall the advantageous superiority t
12、hat generally constructs vigorously with the broadband networks, technology and uses the SQL Server 2005 database system module using JAVA Server the Page to constitute the test application service system, we have develo
13、ped based on B/S pattern multi-user online test system this procedure. It is convenient to utilize, and simple to operate, therefore the efficiency is very hig</p><p> And most people have realized the true
14、 paperless test based on the B/S pattern online test system, which satisfies any authorization the examinee takes a test anytime and anywhere and obtains the result rapidly, simultaneously also greatly reduce the teacher
15、 to set the topic, the group volume and changes the volume and so on arduous work load, creating one kind of new test environment for the school.</p><p> Keywords: B\S mode; online examination system; JSP;
16、SQL Server 2005; paperless exams</p><p><b> 第1章 緒言</b></p><p> 1.1項(xiàng)目開發(fā)的背景</p><p> 隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在很多國(guó)外的大學(xué)和社會(huì)其他部門都已經(jīng)開設(shè)了遠(yuǎn)程教育,通過計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)異地教育和培訓(xùn)?,F(xiàn)在,計(jì)算機(jī)硬件技術(shù)的發(fā)展已經(jīng)達(dá)到了相當(dāng)高的水平。但是,
17、遠(yuǎn)程教育軟件的開發(fā)目前還處于起步階段,隨著這項(xiàng)技術(shù)的不斷深入發(fā)展,就要求有更好、更完善的軟件系統(tǒng)應(yīng)用到遠(yuǎn)程教育當(dāng)中去,這就給軟件設(shè)計(jì)人員提出了更高的設(shè)計(jì)要求。</p><p> 遠(yuǎn)程教育包括很多環(huán)節(jié),例如教學(xué)系統(tǒng)、答疑系統(tǒng)和考試系統(tǒng)等等。其中很重要的一個(gè)環(huán)節(jié)就是在線考試系統(tǒng),同時(shí)它也是最難實(shí)現(xiàn)的環(huán)節(jié)。在我國(guó),雖然遠(yuǎn)程教育已經(jīng)蓬勃地發(fā)展起來(lái),但是目前學(xué)校與社會(huì)上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一
18、次考試至少要經(jīng)過五個(gè)步驟,即人工出題、考生考試、人工閱卷、成績(jī)?cè)u(píng)估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會(huì)越來(lái)越大,并且其工作將是一件十分煩瑣和非常容易出錯(cuò)的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。隨著計(jì)算機(jī)應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴(kuò)大,如遠(yuǎn)程教育和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬(wàn)戶。人們迫切要求利用這些技術(shù)來(lái)進(jìn)行在線考試,以減輕教師的工作負(fù)擔(dān)及提高工作效率,與此同
19、時(shí)也提高了考試的質(zhì)量,從而使考試更趨于公證、客觀,更加激發(fā)學(xué)生的學(xué)習(xí)興趣。例如目前許多國(guó)際著名的計(jì)算機(jī)公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式。</p><p><b> 1.2 設(shè)計(jì)目的</b></p><p> 在線考試是現(xiàn)階段研究開發(fā)的一個(gè)熱點(diǎn)。它是建立在國(guó)際互聯(lián)網(wǎng)上的應(yīng)用系統(tǒng),客戶端的配置可以極為簡(jiǎn)單,使考試不受地域的局限。一個(gè)完備的在線考試系統(tǒng)可以使
20、用戶在網(wǎng)上學(xué)習(xí)過后及時(shí)檢驗(yàn)自己的學(xué)習(xí)效果,已發(fā)現(xiàn)自己的不足,使得學(xué)習(xí)效率得到很大提高。在線考試系統(tǒng)中題目的生成、試卷的提交、成績(jī)的批閱等都可以在網(wǎng)絡(luò)上自動(dòng)完成。只要形成一套成熟的題庫(kù)就可以實(shí)現(xiàn)考試的自動(dòng)化。這樣一來(lái),教師所要做的只是精心設(shè)計(jì)題目、維護(hù)題庫(kù),而不是組織考試,從而大大減輕了教師的負(fù)擔(dān),這表明其經(jīng)濟(jì)性是相當(dāng)可觀的。為了適應(yīng)新形勢(shì)的發(fā)展,我們進(jìn)行了這一系統(tǒng)的初步設(shè)計(jì)工作,也可以說是做一個(gè)初步的探索,希望它能夠在各類考試中發(fā)揮高效
21、、便捷的作用,把老師從繁重的工作中解脫出來(lái)。</p><p><b> 1.3 設(shè)計(jì)意義</b></p><p> 基于B/S模式在線考試系統(tǒng),就是用萬(wàn)維網(wǎng)作為考試媒體傳送考試內(nèi)容,在網(wǎng)上進(jìn)行網(wǎng)上測(cè)試和網(wǎng)上交流。網(wǎng)絡(luò)作為媒體,其優(yōu)勢(shì)不僅在于它是很好的內(nèi)容載體,可以隨時(shí)隨地地訪問,還在于它提供了很多交流渠道,可以促進(jìn)師生之間,學(xué)生之間的充分討論,這對(duì)于提高教學(xué)質(zhì)量,
22、促進(jìn)學(xué)生高級(jí)認(rèn)知能力的開發(fā)是十分重要的。</p><p> 可以說在線考試系統(tǒng)的出現(xiàn)開辟了考試史的新紀(jì)元,它使得考試形式不再單純依賴于紙張,達(dá)到了考生考試自動(dòng)化,使廣大莘莘學(xué)子上網(wǎng)實(shí)時(shí)考試的夢(mèng)想變?yōu)楝F(xiàn)實(shí)。</p><p> 第2章 編程環(huán)境基礎(chǔ)知識(shí)簡(jiǎn)介</p><p> 2.1 Java簡(jiǎn)介</p><p> Java是Sun公司推
23、出的新的一代面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,特別適合于Internet應(yīng)用程序開發(fā)。Java的產(chǎn)生與流行是當(dāng)今Internet發(fā)展的客觀要求,Java是一門各方面性能都很好的編程語(yǔ)言,它的基本特點(diǎn)是簡(jiǎn)單、面向?qū)ο?、分布式、解釋的、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、性能很優(yōu)異的、多線程的、動(dòng)態(tài)的,特別適合在Internet環(huán)境上開發(fā)的應(yīng)用系統(tǒng)。</p><p> 2.2 Web應(yīng)用程序開發(fā)環(huán)境—JSP技術(shù)</p
24、><p> JSP的全稱是Java Server Pages,它是SUN推出的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。它在傳統(tǒng)的靜態(tài)頁(yè)面文件(*.html,*.htm)中加入JAVA程序片段和JSP標(biāo)記,就構(gòu)成了JSP頁(yè)面。JSP具有以下的優(yōu)點(diǎn):</p><p> 將業(yè)務(wù)層與表示層分離:使用JSP技術(shù),網(wǎng)絡(luò)開發(fā)人員可充分使用HTML來(lái)設(shè)計(jì)頁(yè)面顯示部分(如字體顏色等),并使用JSP指令或者JAVA程序片段來(lái)生
25、成網(wǎng)頁(yè)上的動(dòng)態(tài)內(nèi)容;</p><p> 能夠跨平臺(tái):JSP支持絕大部分平臺(tái),包括現(xiàn)在非常流行的LINUX系統(tǒng),應(yīng)用非常廣泛的Apache服務(wù)器也提供了支持JSP的服務(wù);</p><p> 組件的開發(fā)和使用很方便:如ASP的組件是由C++,VB等語(yǔ)言開發(fā)的,并需要注冊(cè)才能使用;而JSP的組件是用Java開發(fā)的,可以直接使用;</p><p> 一次編寫,處處運(yùn)行
26、:作為JAVA開發(fā)平臺(tái)的一部分,JSP具有JAVA的所有優(yōu)點(diǎn),包括Write once , Run everywhere。</p><p> 2.3 Tomcat應(yīng)用服務(wù)器</p><p> 目前支持JSP的應(yīng)用服務(wù)器是較多的,Tomcat是其中較為流行的一個(gè)Web服務(wù)器,被Java World雜志的編輯選為2001年度最具創(chuàng)新的Java產(chǎn)品,可見其在業(yè)界的地位。 </p>
27、;<p> Tomcat是一個(gè)免費(fèi)的開源的Servlet容器,在Tomcat中,應(yīng)用程序的部署很簡(jiǎn)單,你只需將你的WAR放到Tomcat的WebApp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問這個(gè)應(yīng)用的JSP時(shí),通常第一次會(huì)很慢,因?yàn)門omcat要將JSP轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會(huì)很快。</p><p> Tomcat也具有傳統(tǒng)的Web服務(wù)
28、器的功能:處理Html頁(yè)面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理JSP和Servlet。Tomcat是一個(gè)很好的工具,不僅僅因?yàn)槠涿赓M(fèi),功能強(qiáng)大,更因?yàn)槠溟_放性,越來(lái)越受到人們的重視。</p><p> 2.4 B/S 開發(fā)模式 </p><p> 伴隨
29、著Internet的迅速發(fā)展,計(jì)算機(jī)技術(shù)正在由基于C/S(client/ Server)模式的應(yīng)用系統(tǒng)轉(zhuǎn)變?yōu)榛贐/S模式的應(yīng)用系統(tǒng)。</p><p> 過去,網(wǎng)絡(luò)軟件的開發(fā)都采用C/S(client)模式,在這種模式下,主要的業(yè)務(wù)邏輯都集中于客戶端程序,因此,必然導(dǎo)致以下問題:</p><p> 系統(tǒng)安裝、調(diào)試、維護(hù)和升級(jí)困難。由于客戶端的硬件配置可能存在差異,軟件環(huán)節(jié)能各不相同,因
30、此,在安裝時(shí),必須對(duì)每一個(gè)客戶端分別進(jìn)行配置,同樣,在軟件升級(jí)時(shí)也要對(duì)客戶端分別處理。</p><p> 在整個(gè)系統(tǒng)中,業(yè)務(wù)邏輯和用戶界面都集中到了客戶端,必然會(huì)增加安全隱患。</p><p> B/S模式帶來(lái)了巨大的好處:</p><p> 開發(fā)成本及維護(hù)成本降低。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(Server)上,即應(yīng)用程序在部署、升級(jí)、維護(hù)時(shí),只需
31、要在服務(wù)器端進(jìn)行配置就可以了,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器(Server)端,完全通過WWW瀏覽器實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。</p><p> 良好的安全性能,防火墻技術(shù)可以保證后臺(tái)數(shù)據(jù)庫(kù)的安全性。所有的配置工作都集中在服務(wù)器端,且所有客戶端請(qǐng)求都是通過DBMS來(lái)訪問數(shù)據(jù)庫(kù),從而大大減少了數(shù)據(jù)直接
32、暴露的風(fēng)險(xiǎn)。</p><p> 2.5 Struts是應(yīng)用比較廣泛的一種表現(xiàn)層框架</p><p> Struts是一個(gè)為開發(fā)基于模型(Model)-視圖(View)-控制器(Controller)(MVC)模式的應(yīng)用架構(gòu)的開源框架,是利用Servlet,JSP和custom tag library構(gòu)建Web應(yīng)用的一項(xiàng)非常有用的技術(shù)。由于Struts能充分滿足應(yīng)用開發(fā)的需求,簡(jiǎn)單易用
33、,敏捷迅速。它使用服務(wù)層框架可以將JavaBeans從JSP/Servlet中分離出來(lái),而使用表現(xiàn)層框架則可以將JSP中剩余的JavaBeans完全分離,這部分JavaBeans主要負(fù)責(zé)顯示相關(guān)信息,一般是通過標(biāo)簽庫(kù)(Taglib)實(shí)現(xiàn),不同框架有不同自己的標(biāo)簽庫(kù),Struts是應(yīng)用比較廣泛的一種表現(xiàn)層框架。</p><p> 2.6 JavaBean 業(yè)務(wù)層的業(yè)務(wù);</p><p>
34、 用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫(kù)訪問和其他任何可以用java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁(yè)面、Servlet、其他JavaBean、applet程序或者應(yīng)用來(lái)使用這些對(duì)象。用戶可以認(rèn)為JavaBean提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。最初,JavaBean的目的是為了將可以重復(fù)使用的軟件代碼打包標(biāo)準(zhǔn)。特別是用與幫助廠家開發(fā)在綜合開發(fā)環(huán)境(IDE)下使用的ja
35、va軟件部件。這些包括如Grid控件,用戶可以將該部件拖放到開發(fā)環(huán)境中。從此,JavaBean就可以擴(kuò)展為一個(gè)java web 應(yīng)用的標(biāo)準(zhǔn)部件,并且JavaBean部件框架已經(jīng)擴(kuò)展為企業(yè)版的 Bean(EJB)。</p><p> 2.7 JDBC技術(shù)</p><p> JDBC(Java Data Base Connectivity, java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的
36、Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問,它由一組用Java語(yǔ)言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫(kù)開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫(kù)應(yīng)用程序。</p><p><b> 第3章 需求分析</b></p><p><b> 3.1 功能需求</b&g
37、t;</p><p> 1.系統(tǒng)需要經(jīng)過有效的身份驗(yàn)證才可以登錄</p><p> 2.將登錄本系統(tǒng)的身份分為二種:管理員(超級(jí)用戶)和普通用戶,只有被授權(quán)的用戶才可以使用本系統(tǒng)資源</p><p> 3.系統(tǒng)提供接收考生成績(jī)</p><p> 4.系統(tǒng)提供對(duì)考生成績(jī)進(jìn)行統(tǒng)計(jì)和查詢</p><p> 5.系統(tǒng)
38、根據(jù)用戶身份不同,使用的系統(tǒng)資源也不同</p><p> 管理員(超級(jí)用戶):進(jìn)行考試科目管理、題庫(kù)管理、用戶管理、試卷管理(包括試卷的生成和評(píng)改)、考試新聞管理等。</p><p> 普通用戶:進(jìn)行考試科目的考試,進(jìn)行成績(jī)的查詢等。</p><p><b> 3.2 性能需求</b></p><p> 3.2.
39、1 硬件環(huán)境</p><p><b> 1.服務(wù)器端</b></p><p> 隨著計(jì)算機(jī)硬件的高速發(fā)展,現(xiàn)在普通的機(jī)子已經(jīng)可以作為一個(gè)服務(wù)器端使用。</p><p> CPU:CⅣ 2.0或更高</p><p><b> 硬盤:40G或更多</b></p><p>
40、 內(nèi)存:128M或更高(建議使用256M)</p><p><b> 2.用戶端</b></p><p> CPU:CⅢ2.0或更高</p><p><b> 硬盤:20G或更多</b></p><p> 內(nèi)存:64M(建議使用128M)</p><p> 3.2
41、.2 軟件環(huán)境</p><p><b> 1.服務(wù)器端</b></p><p> 操作系統(tǒng):Windows 7/Window Server 2003</p><p> 網(wǎng)絡(luò)協(xié)議:TCP/IP</p><p> Java開發(fā)包:JDK6.0以上</p><p> Web服務(wù)器:Tomcat
42、6.0</p><p> 數(shù)據(jù)庫(kù):SQL Server 2005</p><p><b> 瀏覽器:IE6.0</b></p><p> 分辨率:最佳效果為1024x768像素</p><p><b> 2.用戶端</b></p><p> 操作系統(tǒng):Windows
43、 98/Windows 2000/Windows XP</p><p> 網(wǎng)絡(luò)協(xié)議:TCP/IP</p><p> 瀏覽器:IE 6.0</p><p> 分辨率:最佳效果為1024x768像素</p><p><b> 第4章 總體設(shè)計(jì)</b></p><p> 4.1 系統(tǒng)模塊結(jié)構(gòu)設(shè)
44、計(jì)</p><p> 根據(jù)成長(zhǎng)在線考試系統(tǒng)的特點(diǎn),可以將其分為前臺(tái)和后臺(tái)兩個(gè)部分進(jìn)行設(shè)計(jì)。前臺(tái)主要用于考生注冊(cè)和登錄系統(tǒng)、在線考試、查詢成績(jī)及修改個(gè)人資料等;后臺(tái)主要用于管理員對(duì)考生信息、課程信息、考題信息和考生成績(jī)信息等進(jìn)行管理。</p><p> 成長(zhǎng)在線考試系統(tǒng)的前臺(tái)功能結(jié)構(gòu)如圖4-1所示。</p><p> 成長(zhǎng)在線考試系統(tǒng)的后臺(tái)功能結(jié)構(gòu)如圖4-2所示
45、。</p><p> 4.2 考生信息模塊概述</p><p> 考生信息模塊主要包括考生注冊(cè)、考生登錄、修改密碼、修改個(gè)人資料及找回密碼4個(gè)功能??忌紫纫?cè)成網(wǎng)站用戶,然后才被授權(quán)登錄網(wǎng)站進(jìn)行一系列操作權(quán)限;登錄后考生還可以修改個(gè)人的注冊(cè)資料。如果忘記了登錄密碼,還可以通過網(wǎng)站提供的找回密碼功能快速的找回密碼??忌畔⒛K的系統(tǒng)流程如圖4-3所示。</p><
46、p><b> 否</b></p><p><b> 是</b></p><p><b> 是否</b></p><p><b> 是</b></p><p> 4.3 在線考試模塊設(shè)計(jì)</p><p> 在線考試
47、模塊的主要功能是允許考生在網(wǎng)站上針對(duì)指定的課程進(jìn)行考試。在該模塊中,考生首先需要閱讀考試規(guī)則,在同意所列出的考試規(guī)則后,才能選擇考試課程,在選擇考試課程后,系統(tǒng)將隨機(jī)抽取試題,然后進(jìn)入考試頁(yè)面進(jìn)行答題,當(dāng)考生提交試卷或者到達(dá)考試結(jié)束時(shí)間時(shí),系統(tǒng)將自動(dòng)對(duì)考生提交的試卷進(jìn)行評(píng)分,并給出最終考試成績(jī)。在線考試模塊的系統(tǒng)流程如圖4-4 所示。</p><p><b> 是</b></p>
48、;<p><b> 否是</b></p><p><b> 否</b></p><p> 4.4 考試題目管理模塊的概述</p><p> 考試題目管理模塊主要包括查看考試題目列表、添加考試題目信息、修改考試題目信息和刪除考試題目信息等4個(gè)功能??荚囶}目管理模塊的框架如圖4-5 所示。</p&
49、gt;<p> 4.5 系統(tǒng)流程設(shè)計(jì)</p><p> 根據(jù)登錄身份的不同,系統(tǒng)流程分別有兩種不同的走向,考生登錄和管理員登錄都需要進(jìn)行密碼的驗(yàn)證,驗(yàn)證正確分別進(jìn)入各自相應(yīng)的模塊,因?yàn)闄?quán)限的不同,而進(jìn)行相應(yīng)的操作也不同,系統(tǒng)流程圖如圖4-6所示。</p><p><b> 否</b></p><p><b> 是
50、</b></p><p><b> 否</b></p><p> 4.6 數(shù)據(jù)流程設(shè)計(jì)</p><p> 同樣,因?yàn)橛脩羯矸莸牟煌⑺M(jìn)行的操作的不同,而對(duì)應(yīng)的數(shù)據(jù)的流向也不同,數(shù)據(jù)流程圖如圖4-7所示。</p><p><b> 4.7 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p>
51、<p> 由于成長(zhǎng)在線考試系統(tǒng)對(duì)于數(shù)據(jù)庫(kù)的安全性要求比較高,并且為了增加程序的適用范圍,還要保證系統(tǒng)可以擁有足夠多數(shù)據(jù)的能力。這就要求必須選擇一個(gè)安全、可靠、高效的數(shù)據(jù)庫(kù)管理平臺(tái)。SQL Server 2005 是基于SQL Server2000 技術(shù)優(yōu)勢(shì)構(gòu)建的,他可以為任何規(guī)模的組織機(jī)構(gòu)提供集成化信息管理解決方案。同時(shí),作為微軟公司的下一代數(shù)據(jù)管理與分析軟件、SQL Server2005 有助于簡(jiǎn)化企業(yè)數(shù)據(jù)與分析應(yīng)用的創(chuàng)
52、建、部署和管理,并在解決方案的伸縮性、可用性和安全性方面做了重大改進(jìn)。綜上所述,本系統(tǒng)采用SQLServer2005 數(shù)據(jù)庫(kù)。</p><p><b> 數(shù)據(jù)庫(kù)概念設(shè)計(jì)</b></p><p> 根據(jù)以上各節(jié)對(duì)系統(tǒng)所做出的需求分析和系統(tǒng)設(shè)計(jì),規(guī)劃出本系統(tǒng)的數(shù)據(jù)庫(kù)實(shí)體分別為考生檔案實(shí)體、管理員檔案實(shí)體、課程檔案實(shí)體、套題實(shí)體、考試題目實(shí)體和考生成績(jī)實(shí)體。下面將介紹幾
53、個(gè)關(guān)鍵實(shí)體的E-R圖。</p><p> 4.7.1考生檔案實(shí)體</p><p> 考生檔案實(shí)體包括編號(hào)、考生姓名、密碼、性別、注冊(cè)時(shí)間、提示問題、問題答案、專業(yè)和身份證編號(hào)等屬性??忌鷻n案實(shí)體的E-R圖 如圖4-8所示。</p><p><b> 4.7.2套題實(shí)體</b></p><p> 套題實(shí)體包括編號(hào)、
54、套題名稱、所屬課程和添加時(shí)間等屬性。套題實(shí)體的E-R圖 如圖4-9所示</p><p> 4.7.3考試題目實(shí)體</p><p> 考試題目實(shí)體包括編號(hào)、問題類型、所屬課程、所屬套題、選項(xiàng)A、選項(xiàng)B、選項(xiàng)C、選項(xiàng)D、添加時(shí)間、正確答案和備注等屬性。考試題目實(shí)體的E-R圖 如圖4-10所示</p><p> 4.7.4數(shù)據(jù)庫(kù)的結(jié)構(gòu)創(chuàng)建</p>&l
55、t;p> 數(shù)據(jù)庫(kù)中所包含的數(shù)據(jù)表結(jié)構(gòu)</p><p> 4.7.5各數(shù)據(jù)表的結(jié)構(gòu)</p><p> tb_Student(考生信息表)</p><p> 考生信息表用來(lái)保存考生信息,該表的結(jié)構(gòu)如表4-1所示</p><p> tb_TaoTi(套題信息表)</p><p> 套題信息表用來(lái)保存套題信息
56、,該表的結(jié)構(gòu)如表4-2所示。</p><p> tb_Questions(考試題目信息表)</p><p> 考試題目信息表用來(lái)保存考試題目信息,該表中保存著所屬課程和所套題的ID,通過這兩個(gè)ID可以獲取所屬課程和套題的信息??荚囶}目信息表的結(jié)構(gòu)如表4-3所示。</p><p> tb_stuResult(考生成績(jī)信息表)</p><p&g
57、t; 考生成績(jī)信息表用來(lái)保存考生成績(jī)信息,該表中的所屬課程字段whichLesson與tb_Lesson表中的name字段相關(guān)聯(lián),并且設(shè)置為級(jí)聯(lián)更新??忌煽?jī)信息表的結(jié)構(gòu) 如表4-4所示。</p><p><b> 第5章 詳細(xì)設(shè)計(jì)</b></p><p><b> 5.1 登錄模塊</b></p><p> 登錄
58、模塊是系統(tǒng)的開始,也是用戶資格審查的主要方法,系統(tǒng)通過對(duì)用戶名和密碼的審核來(lái)判定用戶是否授權(quán),用戶名和密碼正確則為授權(quán)用戶,進(jìn)入系統(tǒng),進(jìn)行下一步的操作;非授權(quán)用戶則會(huì)提示用戶名或密碼錯(cuò)誤,無(wú)法進(jìn)入。授權(quán)用戶有兩種,一種是普通用戶,即考生。具有進(jìn)行考試、成績(jī)查詢以及修改個(gè)人資料等權(quán)限;另一種為超級(jí)用戶,即管理員。具有進(jìn)行試卷的批改,成績(jī)的發(fā)布以及新聞的發(fā)布等相關(guān)權(quán)限。</p><p> 考生登錄界面如圖5-1所示
59、:</p><p> 管理員登錄界面如圖5-2所示:</p><p> 5.2 錄入信息驗(yàn)證</p><p> 以下代碼主要是由提交按鈕激活,然后在服務(wù)器內(nèi)執(zhí)行,進(jìn)入時(shí)身份可以是管理員或者是考試用戶,可以自由選擇,進(jìn)入的時(shí)候分為兩重情況,成功和不成功,成功的時(shí)候就可以進(jìn)入自己權(quán)限的頁(yè)面進(jìn)行操作。提交數(shù)據(jù)沒有經(jīng)過驗(yàn)證則被重定向到error.htm處理錯(cuò)誤信息。管
60、理員的信息存儲(chǔ)在webexam.mdb數(shù)據(jù)庫(kù)的administrators表里。根據(jù)表單里的數(shù)據(jù)和數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行對(duì)比就可以確定是否通過密碼驗(yàn)證。然后把輸入正確的密碼和用戶名保存在SESSION級(jí)別的系統(tǒng)對(duì)象里,保證用戶在整個(gè)對(duì)話(或者連接)時(shí),不需要進(jìn)行第二次輸入密碼(不包括登出)。登到用戶頁(yè)面后就可以看到自己的名字顯示在頁(yè)面的右上角。</p><p> 效果圖如圖5-3所示。</p><
61、p> public int checkManager(ManagerForm managerForm) {</p><p> int flag = 1;</p><p> String sql = "SELECT * FROM tb_manager where name='" +</p><p> managerForm.g
62、etName() + "'";</p><p> ResultSet rs = conn.executeQuery(sql);</p><p><b> try {</b></p><p> if (rs.next()) {</p><p> String pwd = managerF
63、orm.getPwd();</p><p> if (pwd.equals(rs.getString(3))) {</p><p> rs.last();</p><p> int rowSum = rs.getRow();//獲取記錄總數(shù)</p><p> rs.first();</p><p> if
64、(rowSum!=1) {</p><p><b> flag = 2;</b></p><p> System.out.print("獲取row的值:" + sql + rowSum);</p><p><b> }</b></p><p><b> } el
65、se {</b></p><p><b> flag = 2;</b></p><p><b> }</b></p><p><b> }else{</b></p><p><b> flag = 2;</b></p>&
66、lt;p><b> }</b></p><p> } catch (SQLException ex) {</p><p><b> flag = 2;</b></p><p> System.out.println(ex.getMessage());</p><p><b>
67、 }</b></p><p> return flag;</p><p><b> }</b></p><p> 5.3 考生注冊(cè)模塊</p><p> 運(yùn)行成長(zhǎng)在線考試系統(tǒng)時(shí),應(yīng)首先進(jìn)入的是考生登錄界面,在該頁(yè)面中單擊“注冊(cè)”按鈕,即可進(jìn)入到考生注冊(cè)頁(yè)面,在該頁(yè)面中輸入個(gè)人資料及密碼,如圖5-4所
68、示,單擊“保存”按鈕,系統(tǒng)將根據(jù)用戶輸入的身份證號(hào)進(jìn)行驗(yàn)證是否已經(jīng)注冊(cè)過,如果沒有注冊(cè),將彈出如圖5-5所示的提示對(duì)話框,否則將進(jìn)入到如圖5-6所示的頁(yè)面。</p><p> 其中注冊(cè)頁(yè)面的關(guān)鍵代碼如下:</p><p> <html:form action="/manage/student.do?action=studentAdd" method="
69、;post" onsubmit="return checkForm(studentForm)"></p><p> <table width="57%" border="0" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF
70、" bordercolordark="#D2E3E6" bordercolorlight="#FFFFFF"></p><p><b> <tr></b></p><p> <td height="30" align="left" style=&quo
71、t;padding:5px;">考生姓名:</td></p><p> <td align="left"></p><p> <html:text property="name" size="20"/> *</td></p><p><
72、;b> </tr></b></p><p><b> <tr></b></p><p> <td height="30" align="left" style="padding:5px;">密  
73、; 碼:</td></p><p> <td align="left"><html:password styleId="password1" property="pwd" size="20"/>(密碼由6到20位的數(shù)字或字母組成) * </td></p&
74、gt;<p><b> </tr></b></p><p> <tr align="center"></p><p> <td width="16%" height="30" align="left" style="padding
75、:5px;">確認(rèn)密碼:</td></p><p> <td width="84%" align="left"></p><p> <html:password styleId="password2" property="pwd" size="20&q
76、uot;/> * </td></p><p><b> <tr></b></p><p><b> <tr></b></p><p> <td height="30" align="left" style="padd
77、ing:5px;">性 別:</td></p><p> <td align="left"></p><p> <html:select property="sex"></p><p> &l
78、t;html:option value="男">男 </html:option></p><p> <html:option value="女">女 </html:option></p><p> </html:select> </td></p><p&
79、gt;<b> </tr></b></p><p> <tr align="center"></p><p> <td width="16%" height="30" align="left" style="padding:5px;"
80、;>提示問題:</td></p><p> <td width="84%" align="left"></p><p> <html:text property="question" size="40"/>(如我的生日) * </td></p&
81、gt;<p><b> </tr></b></p><p> <tr align="center"></p><p> <td width="16%" height="30" align="left" style="padding
82、:5px;">問題答案:</td></p><p> <td width="84%" align="left"></p><p> <html:text property="answer" size="40"/> (如7月17日)*</td>&
83、lt;/p><p><b> </tr></b></p><p> <tr align="center"></p><p> <td width="16%" height="30" align="left" style="p
84、adding:5px;">專 業(yè):</td></p><p> <td width="84%" align="left"></p><p> <html:text property="profession"
85、; size="40"/></td></p><p><b> </tr></b></p><p> <tr align="center"></p><p> <td width="16%" height="30"
86、; align="left" style="padding:5px;">身份證號(hào):</td></p><p> <td width="84%" align="left"></p><p> <html:text property="cardNo" si
87、ze="40"/> *</td></p><p><b> </tr></b></p><p><b> <tr></b></p><p> <td height="65" align="left" style
88、="padding:5px;"> </td></p><p> <td><html:submit property="submit" styleClass="btn_grey" value="保存"/></p><p><b> &
89、;nbsp;</b></p><p> <html:reset property="reset" styleClass="btn_grey" value="取消"/></p><p><b> </b></p><p> <htm
90、l:button property="button" styleClass="btn_grey" value="返回" onclick="window.location.href='index.jsp'"/></td></p><p><b> </tr></b>
91、;</p><p><b> </table></b></p><p> </html:form></p><p> 5.4 找回密碼模塊</p><p> 當(dāng)考生忘記了自己登錄密碼時(shí),可以通過注冊(cè)時(shí)設(shè)置的提示問題來(lái)找回自己的登錄密碼。在考生登錄頁(yè)面中單擊“找回密碼”按鈕,即可進(jìn)入到找回密
92、碼第一步頁(yè)面,用于輸入準(zhǔn)考證號(hào),在該頁(yè)面中輸入準(zhǔn)考證號(hào),如圖5-6 所示,單擊“下一步”按鈕,即進(jìn)入到找回密碼的第二步頁(yè)面,用于輸入密碼提示問題答案,在該頁(yè)面的“密碼提示問題”文本框中將顯示的提示問題,在“密碼提示答案”文本框中輸入密碼提示答案,如圖5-7 所示,單擊“下一步”按鈕,進(jìn)入到找回密碼第三步頁(yè)面,用于顯示找回的密碼,如圖5-8 所示。</p><p><b> 關(guān)鍵代碼如下:</b&
93、gt;</p><p> //找回密碼(第一步)</p><p> private ActionForward seekPwd1(ActionMapping mapping, ActionForm form,</p><p> HttpServletRequest request, HttpServletResponse response){</p>
94、;<p> StudentForm studentForm = (StudentForm) form;</p><p> StudentForm s=studentDAO.seekPwd1(studentForm);</p><p> request.setAttribute("seekPwd2", s);</p><p>
95、 if(s.getID().equals("")){</p><p> request.setAttribute("error", "您輸入的準(zhǔn)考證號(hào)不存在!");</p><p> return mapping.findForward("error");</p><p><b
96、> }else{</b></p><p> return mapping.findForward("seekPwd1");</p><p><b> }</b></p><p><b> }</b></p><p> //找回密碼(第二步)<
97、/p><p> private ActionForward seekPwd2(ActionMapping mapping, ActionForm form,</p><p> HttpServletRequest request, HttpServletResponse response){</p><p> StudentForm studentForm = (
98、StudentForm) form;</p><p> StudentForm s=studentDAO.seekPwd2(studentForm);</p><p> request.setAttribute("seekPwd3", s);</p><p> if(s.getID().equals("")){</
99、p><p> request.setAttribute("error", "您輸入的密碼提示問題的答案不正確!");</p><p> return mapping.findForward("error");</p><p><b> }else{</b></p>&l
100、t;p> return mapping.findForward("seekPwd2");</p><p><b> }</b></p><p><b> }</b></p><p> <html:form action="/manage/student.do?action=
101、seekPwd2" method="post" onsubmit="return checkForm(studentForm)"></p><p> <table width="57%" height="69" border="0" cellpadding="0" cel
102、lspacing="0"></p><p><b> <tr></b></p><p> <td width="17%"><img src="Images/step2.gif" width="73" height="30">
103、</td></p><p> <td width="83%" class="word_orange1"><span style="padding:5px;">輸入密碼提示問題答案</span></td></p><p><b> </tr><
104、;/b></p><p><b> </table></b></p><p> <table width="57%" border="0" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF&qu
105、ot; bordercolordark="#D2E3E6" bordercolorlight="#FFFFFF"></p><p> <tr align="center"></p><p> <td width="22%" height="30" align=&q
106、uot;left" style="padding:5px;">密碼提示問題:</td></p><p> <td width="78%" align="left"></p><p> <html:hidden property="ID" name="s
107、eekPwd2"/></p><p> <html:text property="question" size="40" name="seekPwd2" readonly="true"/> <span class="word_orange1"> (只讀)</span&
108、gt; </td></p><p><b> </tr></b></p><p> <tr align="center"></p><p> <td width="22%" height="30" align="left&q
109、uot; style="padding:5px;">密碼提示答案:</td></p><p> <td width="78%" align="left"></p><p> <html:text property="answer" size="40"/
110、> <span class="word_orange1"> *</span> </td></p><p><b> </tr></b></p><p><b> <tr></b></p><p> <td height=
111、"65" align="left" style="padding:5px;"> </td></p><p> <td><html:submit styleClass="btn_grey" value="下一步"/></p><p&g
112、t;<b> </b></p><p> <html:reset styleClass="btn_grey" value="取消"/></p><p><b> </b></p><p><b> </td&
113、gt;</b></p><p><b> </tr></b></p><p><b> </table></b></p><p> </html:form></p><p> 5.5 在線考試模塊設(shè)計(jì)</p><p>
114、 考生在參加考試之前,應(yīng)選擇自己參加考試的科目,當(dāng)選定科目后就開始考試了。對(duì)于選擇科目和與該科目有關(guān)的考試時(shí)間,各種體型的參數(shù)的設(shè)置的代碼如下所示??忌荚嚹K的界面效果圖如圖5-9所示。</p><p><b> 關(guān)鍵代碼如下:</b></p><p> public class StartExam extends Action {</p><
115、;p> private StartExamDAO startExamDAO = null;</p><p> ChStr chStr=new ChStr();</p><p> public StartExam() {</p><p> this.startExamDAO = new StartExamDAO();</p><p&g
116、t;<b> }</b></p><p> public ActionForward execute(ActionMapping mapping, ActionForm form,</p><p> HttpServletRequest request, HttpServletResponse response) {</p><p>
117、String action = request.getParameter("action");</p><p> //System.out.println("獲取的查詢字符串:" + action);</p><p> if ("startExam".equals(action)) {</p><p>
118、 return startExam(mapping, form, request, response);</p><p> }else if("submitTestPaper".equals(action)){</p><p> return submitTestPaper(mapping,form,request,response);</p>&l
119、t;p> }else if("showStartTime".equals(action)){//顯示考試計(jì)時(shí)</p><p> return showStartTime(mapping,form,request,response);</p><p> }else if("showRemainTime".equals(action)){//
120、顯示考試時(shí)間</p><p> return showRemainTime(mapping,form,request,response);</p><p><b> }else{</b></p><p> request.setAttribute("error", "操作失??!");</p&g
121、t;<p> return mapping.findForward("error");</p><p><b> }</b></p><p><b> }</b></p><p><b> //計(jì)時(shí)</b></p><p> priv
122、ate ActionForward showStartTime(ActionMapping mapping, ActionForm form,</p><p> HttpServletRequest request, HttpServletResponse response) {</p><p> HttpSession session = request.getSession();&
123、lt;/p><p> String startTime=session.getAttribute("startTime").toString();</p><p> long a=Long.parseLong(startTime);</p><p> long b=new java.util.Date().getTime();</p>
124、;<p> int h=(int)Math.abs((b-a)/3600000);</p><p> String hour=chStr.formatNO(h,2);</p><p> int m=(int)(b-a)%3600000/60000;</p><p> String minute=chStr.formatNO(m,2);</
125、p><p> int s=(int)((b-a)%3600000)%60000/1000;</p><p> String second=chStr.formatNO(s,2);</p><p> String time=hour+":"+minute+":"+second;</p><p> re
126、quest.setAttribute("showStartTime",time);</p><p> return mapping.findForward("showStartTime");</p><p><b> }</b></p><p><b> //計(jì)算剩余時(shí)間</b>
127、;</p><p> private ActionForward showRemainTime(ActionMapping mapping, ActionForm form,</p><p> HttpServletRequest request, HttpServletResponse response) {</p><p> HttpSession ses
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--基于bs模式在線考試系統(tǒng)
- 畢業(yè)論文--- 基于bs模式在線考試系統(tǒng)
- bs模式在線考試系統(tǒng)畢業(yè)課題論文
- 基于bs結(jié)構(gòu)在線答疑系統(tǒng) 畢業(yè)論文
- 基于bs模式的在線考試系統(tǒng)
- 畢業(yè)論文--基于bs架構(gòu)的網(wǎng)上考試系統(tǒng)
- 畢業(yè)論文——基于bs辦公系統(tǒng)
- 畢業(yè)論文---基于bs模式的物流管理系統(tǒng)
- 畢業(yè)論文---基于bs模式的物流管理系統(tǒng)
- 畢業(yè)論文——基于bs辦公系統(tǒng)
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——在線考試系統(tǒng)
- 畢業(yè)論文——在線考試系統(tǒng).
評(píng)論
0/150
提交評(píng)論