【畢業(yè)設(shè)計】網(wǎng)上考試系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
【畢業(yè)設(shè)計】網(wǎng)上考試系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
【畢業(yè)設(shè)計】網(wǎng)上考試系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
【畢業(yè)設(shè)計】網(wǎng)上考試系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
【畢業(yè)設(shè)計】網(wǎng)上考試系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

網(wǎng)絡(luò)化教育代表了教育改革的一個發(fā)展方向,已經(jīng)成為現(xiàn)代教育的一個特Internet技術(shù)的發(fā)展使得考試的技術(shù)手段和載體發(fā)生了革命性的變化,網(wǎng)上考試系統(tǒng)課題產(chǎn)生背景是當(dāng)今教育信息化的趨勢及我國高校教育信息更多的技術(shù)環(huán)節(jié),對實現(xiàn)安全性的途徑、方法也提出了更高的技術(shù)要求。通過Internet/Intranet來實現(xiàn)網(wǎng)上考試,是現(xiàn)代管理模塊、題庫管理模塊、試卷管理模塊、信息發(fā)布管理模塊、用戶操作日志記錄模塊和專家答疑模塊的設(shè)計。特別是在題庫管理模塊中對自動組卷功能常用的算法(包括隨機選取法、回溯試探法和遺傳算法)進(jìn)行了比較。對于較流行的存儲加密、防SQL注入過濾、模糊檢索、驗證碼技術(shù)也給出了具體實現(xiàn)。1.2國內(nèi)外網(wǎng)上考試系統(tǒng)現(xiàn)狀與發(fā)展趨勢隨著計算機應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴大,現(xiàn)在很多國外的大學(xué)和社會其他部門都已經(jīng)開設(shè)了遠(yuǎn)程教育,通過計算機網(wǎng)絡(luò)實現(xiàn)異地教育和培訓(xùn),且這些應(yīng)用正逐步深入到千家萬戶。人們迫切要求利用這些技術(shù)來進(jìn)行網(wǎng)上在線考試,以減輕教師的工作負(fù)擔(dān)及提高工作效率,與此同時也提高了考試的質(zhì)量,從而使考試更趨于公證、客觀,更加激發(fā)學(xué)生的學(xué)習(xí)興趣。例如目前許多國際著名的計算機公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式。在英國,已經(jīng)實現(xiàn)了英語資格考試的網(wǎng)上學(xué)習(xí)和水平認(rèn)證全過程。遠(yuǎn)程教育包括很多環(huán)節(jié),例如教學(xué)系統(tǒng)、答疑系統(tǒng)和考試系統(tǒng)等等。其中很重要的一個環(huán)節(jié)就是網(wǎng)上考試系統(tǒng),同時它也是最難實現(xiàn)的環(huán)節(jié)。在我國,雖然遠(yuǎn)程教育已經(jīng)蓬勃地發(fā)展起來,但是目前學(xué)校與社會上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試至少要經(jīng)過五個步驟,即人工出題、考生考試、人工閱卷、成績評估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會越來越大,并且其工作將是一件十分煩瑣和非常容易出錯的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。網(wǎng)上考試系統(tǒng)是建立在國際互聯(lián)網(wǎng)上的應(yīng)用系統(tǒng),客戶端的配置可以是極為簡單,使考試不受地域的局限。1.3本系統(tǒng)設(shè)計路線Server模式。前者主要的缺點是維護(hù)、升級較麻煩,后者是近幾年伴隨Internet迅速發(fā)展起來的一種技術(shù),它與客戶機/服務(wù)器方式類似,客戶端是一個標(biāo)準(zhǔn)的瀏覽器,服務(wù)器端是WebServer,而WebServer與數(shù)據(jù)庫和應(yīng)用服務(wù)器的緊密結(jié)合,使得這種模式的應(yīng)用范圍不斷擴大,它已不僅僅用于網(wǎng)上查詢,有很多部門的業(yè)務(wù)系統(tǒng)、企業(yè)的MIS系統(tǒng)紛紛采用這種模式,它的主要優(yōu)點是便于擴充應(yīng)用、升級維護(hù)更簡便。利用網(wǎng)絡(luò)和數(shù)據(jù)庫技術(shù),結(jié)合目前硬件價格普遍下跌與寬帶網(wǎng)大力建設(shè)的有利優(yōu)勢,應(yīng)用ASP(ActiveServerPage)技術(shù),開發(fā)了基于Web的B/S模式的網(wǎng)絡(luò)考試系統(tǒng)。它運用方便、操作簡單,效率很高?,F(xiàn)階段雖只實現(xiàn)了試卷的客觀題部分,但已具有多用戶同時在線考試、動態(tài)隨機出題、時間控制、自動閱卷,試題管理、修改試題庫、用戶管理、章節(jié)管理、用戶權(quán)限管理、用戶日志管理等重要功能,也就是說實現(xiàn)了真正的無紙化考試,滿足任何授權(quán)的考生隨時隨地考試并迅速獲得成績,同時也大大減輕了教師出題和閱卷等繁重的工作量?;谏鲜隹紤],整個考試系統(tǒng)采用Browser/WebServer的二層體系結(jié)構(gòu)比較合適,服務(wù)器端采用MicrosoftSQLServer數(shù)據(jù)庫系統(tǒng)和ASP組件來構(gòu)成考試的應(yīng)用服務(wù)系統(tǒng);客戶端采用瀏覽器來完成考試全過程,同時可進(jìn)行遠(yuǎn)程系統(tǒng)維護(hù)和管理。Web服務(wù)器接受請求,通過應(yīng)用程序服務(wù)器執(zhí)行一個ASP程序,從而實現(xiàn)與客戶機進(jìn)行信息資源的交互。數(shù)據(jù)庫服務(wù)器用來存儲管理信息系統(tǒng)中所用到的各種數(shù)據(jù)。系統(tǒng)的客戶端只需要一個瀏覽器即可。相關(guān)人員通過瀏覽器來增加、修改、刪除數(shù)據(jù),對信息進(jìn)行管理。2系統(tǒng)實現(xiàn)關(guān)鍵技術(shù)Web技術(shù)的迅猛發(fā)展,使全人類都能共享Web上的各類資源,包括功能強查詢語言和數(shù)據(jù)模型、可無限擴充的一個松散的分布式信息系統(tǒng)。Web是在TCP/IP、Mime、Hypertext等技術(shù)之上發(fā)展起來的,并在此基礎(chǔ)之上,開發(fā)了HTTP、HTML、URL等技術(shù),但其核心是HTTP。從本質(zhì)上講是各種技術(shù)的集成與綜合應(yīng)用,它以TCP/IP協(xié)議為基礎(chǔ),使用HTML描述網(wǎng)絡(luò)的資源,通過超文本(Hypertext)、超媒體(Hypermedia)技術(shù)實現(xiàn)何與Active腳本兼容的腳本(如VBScript、JavaScript)時ASP引擎調(diào)用相應(yīng)的腳瀏覽器瀏覽器本引擎解釋執(zhí)行其中的腳本命令,若腳本中含有訪問數(shù)據(jù)庫的請求,則通過ODBC連結(jié)后臺數(shù)據(jù)庫,由數(shù)據(jù)庫訪問組件ADO(ActiveDataObject)執(zhí)行訪庫操作,最后,ASP依據(jù)訪數(shù)據(jù)庫的結(jié)果集自動生成標(biāo)準(zhǔn)的HTML頁面發(fā)送到客戶瀏覽器。此過程如圖2·1所示:問圖2·1客戶訪問數(shù)據(jù)過程圖ASP是服務(wù)器端腳本編程環(huán)境。使用ASP可以交互HTML頁、腳本命令和ActiveX組件組合起來,創(chuàng)建動態(tài)的、交互的Web網(wǎng)頁和基于Web的功能強大的應(yīng)用程序。ASP(ActiveServerPages)是微軟公司推出的一種用以取代CGI(CommonGatewayInterface)的技術(shù)。簡單講,ASP是位于服務(wù)器端的腳本運行環(huán)境,通過這種環(huán)境,用戶可以創(chuàng)建和運行動態(tài)的、交互式的Web應(yīng)用程序,如交互式的動態(tài)網(wǎng)頁,包括使用html表單收集和處理信息、上傳與下載文件等。ASP工作圖2·2ActiveServerPages工作原理圖ASP內(nèi)含于IS(MicrosoftInternetInformationServer)3.0和4.0之中。有了ASP就不必?fù)?dān)心客戶瀏覽器是否能運行你所編寫的代碼,因為所有的程序都將在服務(wù)器執(zhí)行,包括所有嵌在普通html中的腳本程序。當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回客戶瀏覽器,這樣就減輕了客戶瀏覽器的負(fù)擔(dān),大大提高了信息交互速度。從字面上說,ASP包含下面3方面的含義:Active、Server、Pages。作為IS環(huán)境下開發(fā)WEB應(yīng)用的一種簡單、方便的編程工具,ASP具有如(1)使用VBScriptJavaScript等簡單易懂的腳本語言,結(jié)合html代碼,可快速完成網(wǎng)站應(yīng)用程序的開發(fā);(2)容易編寫,無須編譯,可在服務(wù)器直接執(zhí)行;(3)使用普通的文本編輯器,如windows的記事本,即可進(jìn)行編輯;(4)與瀏覽器無關(guān),只要客戶端瀏覽器能夠執(zhí)行html代碼,就可以瀏覽ASP設(shè)計的網(wǎng)頁內(nèi)容。ASP所使用的腳本語言均在WEB服務(wù)器執(zhí)行,客戶端的瀏覽器不執(zhí)行這些腳本語言;(5)ASP需要能夠能與任何ActiveXScripting語言相兼容,除了可以使用VBScript或JavaScript腳本語言來設(shè)計外,還可以通過plug-in的方式,使用由(6)ASP的源程序不會被傳到客戶瀏覽器,因而可以避免源程序被剽竊,提(7)可使用服務(wù)器端的腳本來產(chǎn)生客戶端的腳本;Actives服務(wù)器組件具有無限可擴充性,可以使用VisualBasic、Java、VisualC++、Cobol等編程語言來編寫所需的Actives服務(wù)器組件。2.3數(shù)據(jù)庫技術(shù)簡介由于本系統(tǒng)涉及到許多數(shù)據(jù)的處理,這就需要有一個強大的后臺數(shù)據(jù)庫管理SQLServer、達(dá)夢、虛谷等,其中網(wǎng)絡(luò)型的SQLServer、Oracle產(chǎn)品安全性遠(yuǎn)遠(yuǎn)本系統(tǒng)采用的是微軟公司的SQLServer2000。原與Windows2000Server服務(wù)器緊密集成,而Windows2000Server服務(wù)器具有很好的安全性,能夠排除所有未經(jīng)授權(quán)的非法用戶的訪問,確保了SQLServer2000服務(wù)器的安全性,符合系統(tǒng)對安全性的要求;第二,用戶可以使用Web瀏覽器查詢存儲在SQLServer2000數(shù)據(jù)庫中的數(shù)據(jù),符合系統(tǒng)遠(yuǎn)程訪問數(shù)據(jù)庫的要求。第三,容量龐大,每個數(shù)據(jù)庫中可創(chuàng)建多達(dá)20萬個數(shù)據(jù)表,數(shù)據(jù)表中的記錄的行數(shù)只受服務(wù)器硬盤空間的限制,符合系統(tǒng)的考題數(shù)目較多的要求。2.4ASP訪問Web數(shù)據(jù)庫原理ASP是一個服務(wù)器的腳本環(huán)境,內(nèi)嵌在HTML頁面中的腳本程序在這里運行并建立Web服務(wù)器應(yīng)用程序。在ASP腳本中可以通過三種方式訪問數(shù)據(jù)庫:RDS(RemoteDataServer)。其中ADO是ASP內(nèi)置的數(shù)據(jù)庫存取組件,各種腳本和語言均可調(diào)用它實現(xiàn)對數(shù)據(jù)庫的直接訪問,并利用相應(yīng)的數(shù)據(jù)接口顯示查詢結(jié)果。ADO擁有強大的活力,它是位于ODBC和OLEDB之上的高性能數(shù)據(jù)庫操作接口,提供了開放的數(shù)據(jù)操作對象模型,允許開發(fā)人員使用任何語言和統(tǒng)一的編程模式操作各種與ODBC和OLEDB兼容的數(shù)據(jù)庫,如MicrosoftAccess、ASP訪問數(shù)據(jù)庫所采用的最佳選擇。這種對數(shù)據(jù)庫的訪問方式是由InternetInformationServer來完成的。執(zhí)行過程如圖23所示:ActiveServer(1)瀏覽器:用戶通過Web瀏覽器用HTTP協(xié)議向Internet信息服務(wù)器(IIS)發(fā)出請求。(2)服務(wù)器:服務(wù)器檢查網(wǎng)頁文件的類型,對擴展名是.asASP系統(tǒng)程序,解釋執(zhí)行被請求頁面文件的所有腳本命令。若腳本中含有對數(shù)據(jù)庫的請求,服務(wù)器就執(zhí)行連接訪問數(shù)據(jù)庫的操作,并將結(jié)果以HTML格式送回(3)數(shù)據(jù)庫:儲存了動態(tài)交互所需的信息數(shù)據(jù),用戶可通過指令對其進(jìn)行查詢、修改、添加、刪除等操作。數(shù)據(jù)庫是實現(xiàn)有組織的,動態(tài)的存儲大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問的計算與應(yīng)用程序的高度獨立性。ADO是一項容易使用并且可擴展的將數(shù)據(jù)庫訪問添加到Web頁的技術(shù)。可以使用ADO去編寫緊湊簡明的腳本以便連接到ODBC兼容的數(shù)據(jù)庫和OLEDB任務(wù)都可以通過它們的組合來完成。一般使用ADO訪問數(shù)據(jù)庫的ASP腳本程序使用Connection對象建立并管理與遠(yuǎn)程數(shù)據(jù)庫的連接;使用Command對象提供靈活的查詢;使用Recordset對象訪問數(shù)據(jù)庫查詢所返回的結(jié)果。這三者是ADO中最基本也是最核心的對象。使用ASP通過ADO訪問數(shù)據(jù)庫,主要有以下步驟:(1)確定數(shù)據(jù)源,連接數(shù)據(jù)庫。ADO提供Connection對象,可以使用該對象建立和管理應(yīng)用程序和ODBC數(shù)據(jù)庫之間的連接。Connection對象具有各種屬性和方法,可以使用它們打開和關(guān)閉數(shù)據(jù)庫連接,并且發(fā)出查詢請求來更新信息。要建立數(shù)據(jù)庫連接,首先應(yīng)創(chuàng)建Connection對象的實例。(3)通過Connection對象的“Open”方法打開數(shù)據(jù)庫。(4)表單中提取信息,構(gòu)造處理數(shù)據(jù)庫的SQL命令并使用“Execute”命令執(zhí)行訪問數(shù)據(jù)庫的操作,并將返回的結(jié)果集儲存到Recordset中。(5)使用Recordsets對象提供的方法和屬性,完成SQL結(jié)果集的處理,并顯產(chǎn)生和維護(hù),是一種標(biāo)記語言,它不需要編譯,可以直接由瀏覽器執(zhí)行(屬于瀏覽器解釋型語言)。在標(biāo)準(zhǔn)網(wǎng)頁設(shè)計中CSS負(fù)責(zé)網(wǎng)頁內(nèi)容(XHTML)的表現(xiàn)。CSS為文件名后綴。可以通過簡單的更改CSS文件,改變網(wǎng)頁的整體表現(xiàn)形式,從而減少設(shè)計工作量,實現(xiàn)內(nèi)容與表現(xiàn)分離,有了CSS,網(wǎng)頁的內(nèi)容(XHMTL)與比如手機,PDA、打印機、電視機、游戲機等。使用CSS可以減少網(wǎng)頁的代碼量,增加網(wǎng)頁的瀏覽速度,減少硬盤容量。DIV元素是用來為HTML文檔內(nèi)大塊(block-level)的內(nèi)容提供結(jié)構(gòu)和背景的元素。DIV的起始標(biāo)簽和結(jié)束標(biāo)簽之間的所有內(nèi)容都是用來構(gòu)成這個塊的,其中所包含元素的特性由DIV標(biāo)簽的屬性來控制,或者是通過使用樣式表(CSS)格式化這個塊來進(jìn)行控制。UML(統(tǒng)一建模語言)是一套用來設(shè)計軟件藍(lán)圖的標(biāo)準(zhǔn)建模語言,也是一種可視化的面向?qū)ο蟮哪P头治稣Z言。從系統(tǒng)工程角度來看,UML可以說是一種軟件結(jié)構(gòu)分析工具。也就是說,UML是一種從軟件分析、設(shè)計到編寫程序規(guī)范的標(biāo)準(zhǔn)化建模語言。2.6.1UML的概念模型為了理解UML,需要形成一個語言的概念模型。UML包括三個主要要素:UML的基本構(gòu)建塊、支配這些構(gòu)建塊放在一起的規(guī)則和一些運用于整個UML的公共機制。這三部分構(gòu)成了UML的概念模型。UML的詞匯表中包括三種構(gòu)建塊:事物、關(guān)系和圖。事物是模型中最有代表性的成分的抽象;關(guān)系把事物結(jié)合在一起;圖聚集了相關(guān)的事物。在UML中,事物分為結(jié)構(gòu)事物(包括類、接口、協(xié)作、用例、主動類、構(gòu)件和節(jié)點)、行為事物(包括交互和狀態(tài)機)、分組事物(包)和注釋事物(注解);有四一類是結(jié)構(gòu)圖,用于描述系統(tǒng)的靜態(tài)方面,包括用例圖、類圖、對象圖、構(gòu)件圖和部署圖;另一類是行為圖,用來描述系統(tǒng)的動態(tài)方面,包括順序圖、協(xié)作圖、狀態(tài)圖和活動圖。UML用于描述事物的語義規(guī)則分別是:為事物、關(guān)系和圖命名;給一個名字以特定含義的語境,即范圍;怎樣使用或一致地相互聯(lián)系,既完整性;運行或模擬動態(tài)模型的含義是什么,即執(zhí)行。另外,UML還允許在一定的階段隱藏模型的某些元素、遺漏某些元素以及保證模型的完整性,但模型逐步地要達(dá)到完整和一致。在軟件開發(fā)的生命周期內(nèi),隨著系統(tǒng)細(xì)節(jié)的展開和變動,不可避免地要出現(xiàn)一些不太規(guī)范的模型。UML的規(guī)則鼓勵(不是強迫)你專注于最重要的分析、設(shè)計和實現(xiàn)問題。這些問題將促使模型隨時間的推移而具有良好的結(jié)構(gòu)。有四種在整個UML語言中一致應(yīng)用的機制,使該語言變得較為簡單。這四種機制是規(guī)格說明、修飾、通用劃分和擴展機制。從應(yīng)用的角度看,當(dāng)采用面向?qū)ο蠹夹g(shù)設(shè)計系統(tǒng)時,首先是描述;其次根據(jù)需求建立系統(tǒng)的靜態(tài)模型,以構(gòu)造系統(tǒng)的結(jié)構(gòu);第三步是描述系統(tǒng)的行為,其中在第一步與第二步中所建立的模型都是靜態(tài)的,包括用例圖、類圖(包含包)、對象圖、構(gòu)件圖和部署圖等5個圖形,是標(biāo)準(zhǔn)建模語言UML的靜態(tài)建模機制。其中第三步中所建立的模型或者可以執(zhí)行,或者表示執(zhí)行時的時序狀態(tài)或交互關(guān)系。它包括狀態(tài)圖、活動圖、順序圖和協(xié)作圖等4個圖形,是標(biāo)準(zhǔn)建模語言UML的動態(tài)建模機制。因此,標(biāo)準(zhǔn)建模語言UML的主要內(nèi)容也可以歸納為靜態(tài)建模機制和動態(tài)建模機制兩大類。任何建模語言都以靜態(tài)建模機制為基礎(chǔ),標(biāo)準(zhǔn)建模語言UML也不例外。UML的靜態(tài)建模機制包括用例圖(usecasediagram)、類圖(classdiagram)、對象圖用例圖:用例圖展現(xiàn)了一組用例、參與者以及它們之間的關(guān)系??梢杂糜美龍D描述系統(tǒng)的靜態(tài)使用情況。在對系統(tǒng)行為組織和建模方面,用例圖是相當(dāng)重要類圖:類圖展現(xiàn)了一組類、接口和協(xié)作及它們間的關(guān)系,在建模中所建立的最常見的圖就是類圖。用類圖說明系統(tǒng)的靜態(tài)設(shè)計視圖,包含主動類的類圖專注于系統(tǒng)的靜態(tài)進(jìn)程視圖。系統(tǒng)可有多個類圖,要在高層給出類的主要職責(zé),在低層給出類的屬性和操作。對象圖:對象圖展示了一組對象及它們間的關(guān)系,用對象圖說明類圖中所反映的事物實例的數(shù)據(jù)結(jié)構(gòu)和靜態(tài)快照。對象圖表達(dá)了系統(tǒng)的靜態(tài)設(shè)計視圖或靜態(tài)過程視圖,除了現(xiàn)實和原型方面的因素外,它與類圖作用是相同的。構(gòu)件圖:構(gòu)件圖展現(xiàn)了一組構(gòu)件之間的組織和依賴,用于對原代碼、可執(zhí)行的發(fā)布、物理數(shù)據(jù)庫和可調(diào)整的系統(tǒng)建模。部署圖:部署圖展現(xiàn)了對運行時處理節(jié)點以及其中構(gòu)件的配置。它描述系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu)(包括網(wǎng)絡(luò)布局和構(gòu)件在網(wǎng)絡(luò)上的位置),以及在此結(jié)構(gòu)上執(zhí)行的軟件(即運行時軟件在節(jié)點中的分布情況)。用部署圖說明系統(tǒng)結(jié)構(gòu)的靜態(tài)部署,即說明分布、交付和安裝的物理系統(tǒng)。系統(tǒng)的動態(tài)行為主要是由交互圖(順序圖和協(xié)作圖)、狀態(tài)圖和活動圖來表達(dá)。順序圖:順序圖展現(xiàn)了一組對象和由這組對象收發(fā)的消息,用于按時間順序?qū)刂屏鹘?。用順序圖說明系統(tǒng)的動態(tài)視圖。協(xié)作圖:協(xié)作圖展現(xiàn)了一組對象,這組對象間的連接以及這組對象收發(fā)的消息。它強調(diào)收發(fā)消息的對象的結(jié)構(gòu)組織,按組織結(jié)構(gòu)對控制流建模。狀態(tài)圖:狀態(tài)圖展現(xiàn)了一個特定對象的所有可能狀態(tài)以及由于各種事件的發(fā)動態(tài)視圖。它對于接口、類或協(xié)作的行為建模尤為重要,可用它描述用例實例的生命周期?;顒訄D:活動圖是一種特殊的狀態(tài)圖,描述需要做的活動、執(zhí)行這些活動的順序(多為并行的)以及工作流(完成工作所需要的步驟)。它對于系統(tǒng)的功能建模特別重要,強調(diào)對象間的控制流程。高層活動圖用于表示需要完成的一些任務(wù),即用于分析用例,理解涉及多個用例的工作流、多線程及并行,顯示相互聯(lián)系的行為整體,還可用于對企業(yè)過程建模,對系統(tǒng)的功能建模。低層活動圖用于表示類的方法。但活動圖不適用于描述動作與對象間的關(guān)系,顯示對象間的合作以及顯示對象在生命周期內(nèi)的運轉(zhuǎn)情況。3系統(tǒng)需求分析3.1系統(tǒng)功能需求分析網(wǎng)上考試系統(tǒng)的基本功能是使用計算機來代替人工完成考試中需要完成的將傳統(tǒng)的考試模式與先進(jìn)的網(wǎng)絡(luò)應(yīng)用相結(jié)合。在考試之前建立有關(guān)學(xué)科的試題(5)試卷生成:可以指定試卷的各題型的數(shù)量,從試題庫里隨機抽取試題生(6)在線考試:系統(tǒng)嚴(yán)格控制整個考試過程,實現(xiàn)實時監(jiān)控與狀態(tài)的控制,考生需要在限定的考試時間內(nèi)交卷。(7)計算機自動閱卷:能夠自動對考生的客觀題部分進(jìn)行評分,主觀題部分則由閱卷教師閱卷后將其成績手工輸入,最后計算機生成每個考生的成績,并將結(jié)果保存于考生成績數(shù)據(jù)庫。(8)綜合查閱:不同的用戶,根據(jù)不同的權(quán)限,可以對考生試卷、成績等信息進(jìn)行查詢,并能夠刪除指定記錄。(9)考試分析與評估:考試系統(tǒng)根據(jù)考試情況對試題區(qū)分度、難度進(jìn)行評估,以及試卷信度的分析。(10)在線考試系統(tǒng)應(yīng)該具備友好、簡潔的操作界面,安全性要高,穩(wěn)定性要強,能夠滿足多人以上同時及進(jìn)行在線考試。3.2系統(tǒng)用例分析通過對系統(tǒng)的需求進(jìn)行建模,直觀形象的圖形化表示,便于清晰地認(rèn)識整個系統(tǒng)的流程和功能。按照面向?qū)ο蟮姆治雠c設(shè)計思想,首先分析員通過識別出系統(tǒng)參與者(角色)及系統(tǒng)應(yīng)完成的動作(用例),得到系統(tǒng)業(yè)務(wù)模型圖(用例圖);然后分析并得出各個動作(用例)的活動圖(參與者參與系統(tǒng)的活動);最后根據(jù)參與者的相關(guān)操作建立時序圖。UML是一種圖示化的面向?qū)ο蠼UZ言,對Web技術(shù)和組件技術(shù)在系統(tǒng)開發(fā)中的建模方法有合理有效的定義。本文采用UML的用例圖、活動圖、狀態(tài)圖、時序圖和協(xié)作圖來對網(wǎng)絡(luò)考試系統(tǒng)的需求進(jìn)行分析,并建立用例模型。通過對本考試系統(tǒng)的需求分析,可以確定系統(tǒng)有兩個主要參與者:學(xué)生(Student)、這兩個參與者的描述如下:①角色名:教師(Teacher)角色職責(zé):管理教師和學(xué)生帳戶、教師用戶授權(quán)、維護(hù)題庫、設(shè)置組卷參數(shù)、監(jiān)督考試情況、評閱主觀題、查詢學(xué)生的試卷和成績,對考試情況的統(tǒng)計和分析、回答學(xué)生提問等。用例(usecase):規(guī)定系統(tǒng)或部分系統(tǒng)的行修改密碼學(xué)生教師圖3·1系統(tǒng)的用例關(guān)系圖①與教師相關(guān)的用例②考生相關(guān)的用例3.3用例建模用例:用于反映用戶與計算機之間進(jìn)行典型的交互。例圖描述。用例圖:從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。用例圖的主要元素是用例和執(zhí)行者。根據(jù)前面對系統(tǒng)參與角色及用例的分析,可得用例圖。由于本系統(tǒng)涉及的用例較多,這里僅給出幾個主要的用例圖。本用例提供了用戶如何登錄到考試系統(tǒng)中。如圖3·2所示。(2)題庫管理用例圖本用例提供用戶進(jìn)行考試試題的錄入、題庫相關(guān)信息進(jìn)行管理和維護(hù)功能。教師本用例提供了用戶進(jìn)行試卷生成、修改相關(guān)管理過程描述。如圖3·4所示。教師圖3·4試卷管理用例圖(4)考試管理用例圖本用例提供了教師實時監(jiān)控考生、學(xué)生在線考試的交互過程描述。如圖3·5所示。學(xué)生教師(5)專家答疑用例圖本用例實現(xiàn)了學(xué)生提問、教師答疑及管理維護(hù)等操作過程。如圖3·6所示。教師查看回答學(xué)生圖3·6專家答疑用例圖3.4活動圖描述用例活動圖記錄單個操作或方法的邏輯、單個用例或商業(yè)過程的邏輯流程。實質(zhì)上活動圖是結(jié)構(gòu)化開發(fā)中流程圖和數(shù)據(jù)流程圖(DFD)的面向?qū)ο蟮韧w。在UML中活動圖(ActivityDiagram)的本質(zhì)上就是流程圖,它描述系統(tǒng)的活動、判斷點和分支等。一個活動結(jié)束自動引發(fā)下個活動開始,則兩個活動之間用帶箭頭的連線連接,連線的箭頭指向下一個活動。根據(jù)前面得到的用例圖,經(jīng)過分析,可以得到對應(yīng)的活動圖。由于本系統(tǒng)涉及的活動較多,這里僅給出幾個主要的活動圖。(1)學(xué)生登錄活動圖如圖3·7所示,系統(tǒng)首先提示用戶輸入用戶名和密碼,然后學(xué)生輸入用戶名和密碼提交,系統(tǒng)驗證輸入的用戶輸入用戶名和密碼是否正確,如果正確就啟動系統(tǒng),將用戶信息寫入日志,否則提示錯誤信息,并提示學(xué)生(student)重新輸入用戶名和密碼。圖3·7學(xué)生登錄活動圖如圖3·8所示,系統(tǒng)首先提示教師輸入用戶名和密碼,然后教師輸入用戶名和密碼提交,系統(tǒng)驗證輸入的用戶名和密碼是否正確,如正確,則啟動系統(tǒng),教師可以對題庫存進(jìn)行維護(hù)操作。否則,系統(tǒng)提示錯誤信息,并提示教師重新輸入用戶名和密碼。圖3·8題庫管理活動圖如圖3·9所示,系統(tǒng)首先提示考生輸入用戶名和密碼,然后考生輸入用戶名和密碼提交,系統(tǒng)驗證輸入的用戶名和密碼是否正確,如正確,則啟動系統(tǒng),出現(xiàn)考試界面,考生可以在線答題,并更新考生答案表的相關(guān)信息。否則,系統(tǒng)提示錯誤信息,并提示考生重新輸入用戶名和密碼。提交圖3·9在線答題活動圖如圖3·10所示,本圖簡化了有關(guān)學(xué)生、教師登錄驗證等相關(guān)動作,當(dāng)學(xué)生提交問題,系統(tǒng)接收到問題集中,教師查看問題集和回答問題,學(xué)生可以查看已經(jīng)回復(fù)的問題。有特殊權(quán)限的教師還可以刪除問題,這些類似執(zhí)行刪除的操作將會寫入日志,為以后系統(tǒng)分析提供依據(jù)。圖3·10專家答疑活動圖3.5類圖描述用例類是具有相似結(jié)構(gòu)、行為和關(guān)系的一組對象的描述符。類圖(ClassDiagram)顯示了一組類、接口、協(xié)作以及他們之間的關(guān)系。在UML中問題域最終要被逐步轉(zhuǎn)化,通過類來建模,通過編程語言構(gòu)建這些類從而實現(xiàn)系統(tǒng)。類加上他們之間的關(guān)系就構(gòu)成了類圖,類圖中還可以包含接口、包等元素,也可以包括對象、鏈等實例。下面以教師、學(xué)生為對象用類圖來描述一下。如圖3·11所示。圖3·11教師、學(xué)生類圖類圖中一般用戶(user)具有姓名、密碼、身份三個屬性和瀏覽、登錄兩個方法。學(xué)生(student)繼承了一般用戶的所有屬性和方法,還擁有自己的年級、班級屬性和自己獨有的考試、提問方法。教師(teacher)則繼承一般屬性方法外獨立擁有權(quán)限屬性和管理、監(jiān)考、答疑等方法。通過類圖可以清楚的了解到類之間的繼承關(guān)系、相關(guān)屬性和方法,并且可以細(xì)化到哪些屬性是公有的哪些是私有的。相類似的信息管理模塊也可以用類圖來描述。如圖3·12所示。圖3·12信息管理模塊類圖3.6系統(tǒng)狀態(tài)圖UML狀態(tài)圖(StatechartDiagram)描述一個實體基于事件反應(yīng)的動態(tài)行為,顯示了該實體如何根據(jù)當(dāng)前所處的狀態(tài)對不同的時間做出反應(yīng)的,通過類對象的生命周期建立模型來描述對象隨時間變化的動態(tài)行為。圖3·13所示是考生在考試過程中的幾種狀態(tài),整個考試過程需要教師參與,教師監(jiān)考也是改變考生狀態(tài)的一個重要角色。圖3·13考生考試狀態(tài)圖3.7時序圖描述用例在UML中,系統(tǒng)的動態(tài)行為模型可以用交互作用圖(包括時序圖和協(xié)作圖)相互協(xié)作對象之間消息傳遞的視圖。時序圖強調(diào)對象之間消息的時間順序,同時顯示了對象之間的交互?;顒訄D描述從活動到活動的控制流,而交互作用圖則強調(diào)從對象到對象的控制流。經(jīng)過分析,在本考試系統(tǒng)中主要包含了兩種類型的時序圖:描述考生參加考試全過程的時序圖,如圖3·14所示。遮同試題發(fā)放試溫11系洲1秀試控或)五統(tǒng)(題理描蟲取統(tǒng)描述教師組織考試全過程的時序圖,如圖3·15所示。教蚯教蚯鹽掛灌訓(xùn)驗4數(shù)據(jù)庫分析與設(shè)計數(shù)據(jù)庫技術(shù)對數(shù)據(jù)處理量大、數(shù)據(jù)類型復(fù)雜,以及對數(shù)據(jù)的存儲、維護(hù)、檢索、分類、統(tǒng)計等諸多方面具有強大的功能。網(wǎng)上考試系統(tǒng)離不開數(shù)據(jù)庫系統(tǒng)的支持,不論是試題、答案,還是考生信息都需要存放在數(shù)據(jù)庫中,而且數(shù)據(jù)庫獨作為后臺數(shù)據(jù)庫。4.1數(shù)據(jù)流程分析通過前面對系統(tǒng)功能需求,以及功能模塊的劃分情況的深入研究分析,可以得到如圖4·1所示的網(wǎng)上考試系統(tǒng)的數(shù)據(jù)流程圖。專家答疑專家答疑成績管理發(fā)布試卷考場管理√試題管理班級管理教師授權(quán)管理用戶發(fā)布信息修改密碼查看日志提交問題查看成績修改密碼查看日志里身份驗證是時間到進(jìn)一步對網(wǎng)上考試系統(tǒng)的考試過程、考試內(nèi)容和數(shù)據(jù)流程分析,本系統(tǒng)應(yīng)當(dāng)教師信息,包括的數(shù)據(jù)項有:教師編號、教師姓名、管理密碼、權(quán)限等。學(xué)生信息,包括的數(shù)據(jù)項有:學(xué)生編號、學(xué)生姓名、管理密碼、年級、班級科目,包括的數(shù)據(jù)項有:科目編號、科目名稱、科目信息等。年級,包括的數(shù)據(jù)項有:年級編號、年級名稱等。班級,包括的數(shù)據(jù)項有:班級編號、班級名稱等。試題,包括的數(shù)據(jù)項有:試題編號、科目、題干、題型、備選項、答案、選中次數(shù)、答對率、試題作者、添加時間等。斷題分值、單選題數(shù)目、單選題分值、多選題數(shù)目、多選題分值、填空題數(shù)專家答疑,包括的數(shù)據(jù)項有:問題編號、學(xué)生姓名、問題簡述、問題描述、信息發(fā)布,包括的數(shù)據(jù)項有:信息編號、新聞標(biāo)題、分類編號、教師姓4.2數(shù)據(jù)庫概念設(shè)計l1出志油號logtime[操作時tealnfaditl_FKiboardidI問題溫號]purview[權(quán)]PKnid[簽配維號stulnfo[學(xué)生信]nfo_FKnfo_FKclss班級名稱]quizID[試題編號]stuKey[考生簽罷!adwlVsl[判斷分值]tadio2Val[單這題分間]checkboxSum1多選趣數(shù)]bFKIquil動[試遠(yuǎn)南paperfD]試題編號《試卷)1stuKey[寧生答案]smScore[考4.得分]stulD[學(xué)號]圖42考試系統(tǒng)E-R關(guān)系圖4.3數(shù)據(jù)庫邏輯設(shè)計數(shù)據(jù)庫的邏輯設(shè)計是將數(shù)據(jù)的概念結(jié)構(gòu)轉(zhuǎn)化為SQLserver2000數(shù)據(jù)庫系統(tǒng)的實際模型,從而得到數(shù)據(jù)庫的邏輯結(jié)構(gòu),以便在數(shù)據(jù)庫中建立表結(jié)構(gòu)。本考試系統(tǒng)中的所有表均保存于數(shù)據(jù)庫examDB.Mdf,主要包括教師信息表、學(xué)生信息表、科目表、年級表、班級表、試題庫表、考試信息表、考生試卷表、考生成績表、學(xué)生試卷表、專家答疑表、操作日志表、新聞信息表等12個表,在編程時還需要產(chǎn)生臨時表。各表的結(jié)構(gòu)如表4·14-12所示。表4·1教師信息表(teainfo)字段名稱數(shù)據(jù)類型約束說明功能說明自動編號教師編號教師姓名密碼權(quán)限字段名稱數(shù)據(jù)類型約束說明功能說明學(xué)號學(xué)生姓名密碼年級編號班級編號字段名稱數(shù)據(jù)類型約束說明功能說明科目編號科目名稱科目信息字段名稱數(shù)據(jù)類型約束說明功能說明年級編號年級名稱表45班級信息表(classInfo)字段名稱數(shù)據(jù)類型約束說明功能說明班級編號班級名稱字段名稱數(shù)據(jù)類型約束說明功能說明試題編號所屬科目題干題型選項標(biāo)準(zhǔn)答案選中次數(shù)答對率試題作者添加時間字段名稱數(shù)據(jù)類型約束說明功能說明考卷編號班級名稱考場密碼考試類別考試科目開考時間字段名稱數(shù)據(jù)類型約束說明功能說明結(jié)束時間教師號考生年級編號考生班級編號判斷題數(shù)目判斷題分值單選題數(shù)目單選題分值多選題數(shù)目多選題分值填空題數(shù)目填空題分值總分值平均分?jǐn)?shù)考場狀態(tài)字段名稱數(shù)據(jù)類型約束說明功能說明考生號考場編號試卷編號試題編號試題類型試題答案試題狀態(tài)試題分?jǐn)?shù)學(xué)生答案考生得分字段名稱數(shù)據(jù)類型約束說明功能說明考生號考場密碼考場編號試題編號正確答案考生答案考生分?jǐn)?shù)考生狀態(tài)字段名稱數(shù)據(jù)類型約束說明功能說明問題編號學(xué)生號字段名稱數(shù)據(jù)類型約束說明功能說明學(xué)生姓名問題簡述問題描述提問時間答疑教師答疑內(nèi)容字段名稱數(shù)據(jù)類型約束說明功能說明日志編號操作者編號操作者姓名操作者身份操作時間主機IP執(zhí)行操作字段名稱數(shù)據(jù)類型約束說明功能說明分類編號分類名稱字段名稱數(shù)據(jù)類型約束說明功能說明信息編號信息標(biāo)題分類編號教師編號信息內(nèi)容發(fā)布時間5系統(tǒng)主要功能模塊線考試系統(tǒng)的深入研究和分析,本系統(tǒng)總體上可以分為兩個部分:教師子系統(tǒng)、日志管理日志管理信息發(fā)布教師授權(quán)用戶管理專家答疑試題管理考場監(jiān)控考試發(fā)布修改密碼登錄系統(tǒng)提交問題成績查詢在線考試查看日志修改密碼登錄系統(tǒng)學(xué)生子系統(tǒng)教師子系統(tǒng)在線考試系統(tǒng)圖5·1在線考試系統(tǒng)總體結(jié)構(gòu)圖學(xué)生子系統(tǒng)則主要為學(xué)生參加考試、查詢成面層,實現(xiàn)人機交互,用于收集、顯示數(shù)據(jù),考慮到用戶的視覺效果采用了CSS+DIV進(jìn)行版面布局如圖5·3頁面布局DIV嵌套結(jié)構(gòu)圖所示。數(shù)據(jù)操縱和數(shù)圖5·2系統(tǒng)結(jié)構(gòu)層次和各層次使用到的技術(shù)圖5·3頁面布局DIV嵌套結(jié)構(gòu)圖<divid="bod"><!容器模塊開始><divid="navigat"><!導(dǎo)航部分></div><div><!中間模塊開始><divid="left"><!左側(cè)部分></div></div><!右側(cè)結(jié)束></div><!中間模塊結(jié)束></div><!容器模塊結(jié)束>#banner{width:1000px;height:377px;background-image:url(#Navigat{width:1000px;height:31px;background-image:url(im#right{width:815px;height:400px;float:right;border-left:1pxdashed#1071b5;#rnav{width:805px;height:9px;color:#1071b5}/*主體的右側(cè)上面信息導(dǎo)航部分*/#7acdf2;text-align:justify;text-justify:inter-ideograph;text-in#foot{width:1000px;height:13px;float:left;margin-top:5ppadding-top:5px;padding-bottom:5px;border-top:1pxsolid#E2F4FC;border-bottom:lpxsolid#E2F4FC;text-indent:40px;coltext-align:left}/*頁面的腳部,寬度自適應(yīng),上下有內(nèi)外填充屬性,文本縮進(jìn)*/5.1.1功能分析表、詳細(xì)內(nèi)容顯示等功能。同時還實現(xiàn)數(shù)據(jù)庫連接、表單完整性驗證、身份驗證、字符過濾、數(shù)據(jù)加密、用戶操作記錄、數(shù)據(jù)分頁等通用功能。5.1.2流程分析首先用戶進(jìn)入登錄界面,輸入帳戶和密碼通過系統(tǒng)驗證后方可進(jìn)入操作界系統(tǒng)會執(zhí)行驗證表單操作,通過表單驗證后再寫入數(shù)據(jù)庫中,否則就會提示用戶理權(quán)限的教師進(jìn)行了解用戶對系統(tǒng)進(jìn)行的操作。通用模塊也包括一些連接數(shù)據(jù)庫、驗證碼、防注入過濾、日志記錄等功能。通用模塊流程如圖5·4所示。進(jìn)入操作界面進(jìn)入操作界面增加修改刪除查詢表單驗證數(shù)據(jù)庫顯示結(jié)果結(jié)束操作圖5·4通用模塊流程圖5.1.3實現(xiàn)代碼連接數(shù)據(jù)庫代碼本系統(tǒng)可以方便的連接不同類型的數(shù)據(jù)庫,只需更改常量IsSqIDataBase的'定義數(shù)據(jù)庫類別,0為Access數(shù)據(jù)庫,1為SQL數(shù)據(jù)庫,2為達(dá)夢數(shù)據(jù)庫,3為虛谷數(shù)據(jù)庫,4為MySQL數(shù)據(jù)庫ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSServer.MapPath("data/#examDB.mdb")'連接Access數(shù)據(jù)庫ConnStr="Driver={DMPWD=SYSDBA;database=examDB;"ConnStr="Driver={XuguSQL};SerPWD=SYSDBA;database=examDB;"連接虛谷數(shù)據(jù)庫name=root;password=root;database=examDB;"MySQL數(shù)據(jù)庫Setconn=Server.CreateObject("ADODB.Connection")IfErrThenEndIf<scriptlanguage="JavaScIfsession("tealgOk")=FalseThenresponse.Redirect("../admloginer.asp")IfIsNull(Str)ThenEndIf<!--#includefile="加載身份驗證、連接數(shù)據(jù)庫、字符過濾、日志記錄模塊"-><scriptlanguage="JavaScript"id=CInt(request.QueryString("id"))“轉(zhuǎn)化成為整數(shù)類型Callshow(id)'顯示信息的詳細(xì)內(nèi)容Calldbedit(id)'在數(shù)據(jù)庫中更新信息Calldbdel(id)'在數(shù)據(jù)庫中刪除信息Dimcurrentpage,endpage,page_count,Pcount,totalrec,iSetrs=Server.CreateObject("ADODB.Recordset")rs.CursorLocation=3response.Write"數(shù)據(jù)庫中的記錄數(shù)為空!請?zhí)砑佑洠篍ndIfIftotalrec=0Thenresponse.Write("暫時沒有記錄!")EndIfIfrequest("page")=""OrNotIsNumeric(request("page"))ThenisNumeric如果是數(shù)字值為True,整行的意思是,為空或不是數(shù)字令下一行值為1currentPage=1currentPage=Clnt(request("page"))'把獲取的值轉(zhuǎn)化為整型EndIfrs.PageSize=30'每頁的顯示的記錄總數(shù)rs.AbsolutePage=currentpage'返回目前的頁碼page_count=0'已經(jīng)顯示的記錄數(shù)While(Notrs.EOF)And(Notpage_count=rs.Pa用html形式輸出數(shù)據(jù)%Functionshow(id)'顯示信息的詳細(xì)情況用html形式輸出數(shù)據(jù)Functionshowadd()'顯示添加表單信息用html形式顯示用戶輸入表單用html形式顯示用戶修改表單Functionshowdel(id)'顯示刪除確認(rèn)信息<formname="form1"action="?action=dbdel&id=<%=id%>"method="post"><scriptlanguage="JavaSif(confirm("確認(rèn)要刪除嗎?"))}{}自定義變量=Trim(request.Form("表單名稱"))自定義變量=Checkstr(自定義變量)sql="INSERTINTO數(shù)據(jù)庫表名(字段1)VALUES("&自定義變量&")"sql="UPDATE數(shù)據(jù)庫表名SET字段="&自定義變量&"WHERE更新條response.Write("提示修改執(zhí)行成功信息!")sql="DELETEFROM數(shù)據(jù)表名稱WHERE刪除條件"Ifcurrentpage>3Then'當(dāng)前頁數(shù)大于3EndIfIfPcount>currentpage+3Then'當(dāng)前頁數(shù)在總數(shù)的前3頁EndIfresponse.Write"["&i&"]"response.Write"<ahref=?page="&iEndIfEndIfNextIfcurrentpage+3<PcountTresponse.Write".….<ahref=?page="&Pcount&">["&Pcount&"]<a>"EndIf以上詳細(xì)介紹了通用和共用的模塊,是實現(xiàn)系統(tǒng)快速開發(fā)和規(guī)范化開發(fā)的基本保證。本系統(tǒng)的用戶管理、信息管理、試5.2用戶登錄模塊用戶登錄是識別用戶身份,引導(dǎo)用戶進(jìn)入操作平臺的唯一接口。應(yīng)該具有較高安全性和比較友好的出錯提示。5.2.1功能分析根據(jù)用戶輸入判斷表單信息完整性,考慮到防止暴力破解用戶帳戶和密碼,系統(tǒng)采用了驗證碼技術(shù),同時對密碼進(jìn)行加密存儲,并將操作寫入日志。5.2.2流程分析用戶打開鏈接進(jìn)入登錄界面,首先判斷用戶是否是已驗證用戶,如果是直接轉(zhuǎn)到操作平臺,否則需要填寫用戶名、密碼表單,并到數(shù)據(jù)庫中進(jìn)行驗證,驗證成功后分配權(quán)限將操作寫入日志并轉(zhuǎn)到操作平臺,驗證失敗則要提示出錯原因。進(jìn)入頁面進(jìn)入頁面重新填寫重新填寫MD5加密已驗證數(shù)據(jù)庫帳戶密碼進(jìn)入操作平臺圖5·5用戶登錄流程圖圖5·6用戶登錄序列圖則用統(tǒng)一建模語言UML(UnifiedMode數(shù)據(jù)庫若已驗證驗證帳戶、密碼數(shù)據(jù)傳回系統(tǒng)若驗證碼錯謀提示驗證碼錯誤數(shù)據(jù)傳回系統(tǒng)驗證失敗5.2.3實現(xiàn)代碼用戶登錄分學(xué)生用戶登錄和教師用戶登錄,這里以教師用戶登錄來講解具體實現(xiàn)代碼。<%'判斷個人用戶的session值Ifsession("tealgOk")=TrueThenresponse.Redirect("admin/main.asp")'如果是已驗證用戶直接轉(zhuǎn)到后臺操作平臺EndIfaction=Trim(request.QCallcheckLoginUser)‘調(diào)用檢驗函數(shù)CallshowLoginForm)‘調(diào)用顯示登錄表單FunctioncheckLoginUser()'檢驗用戶帳戶密碼username=Trim(request.Form("username"))password=md5(Trim(request.Form("password")))'對密碼進(jìn)行MD5加密validate=Trim(request.Form("validate"))'接收驗證碼response.Write"<script>alert(驗證碼錯誤!');window.location.href='adEndIfusername=Checkstr(usernapassword=Checkstr(password)'從數(shù)據(jù)庫教師信息表中查詢用戶名和密碼IfNotrs.EOFThen'驗證成功后設(shè)置session,并且轉(zhuǎn)到相應(yīng)的頁面response.Redirect("admin/mairesponse.Write(“您輸入的帳戶不存在或密碼不正確,請<aEndIfFunctionshowLoginForm()'顯示登錄<scriptlanguage="JavaScript"type="text/JavaScr");theForm.username.foc if(theForm.password.value=""){alert(”");theForm.password.focus();returnfalse;}用戶名稱不能為空!用戶密碼不能為空!驗證碼不能為空!}id="form1"name="forml"method="post"action="width="400"border="0"align="center"cellpadding="1"c<tdwidth="107"align="right"><fontcolor="#000000">用戶名稱:</font></td><td><inputname="username"type="text"id="username"size="20"onMouseOver="this.style.bonMouseOut="this.style.backgro<tdalign="right"><fontcolor="#000000">用戶密碼:</font></td><td><inputname="password"type="password"id="password"size="20"onMouseOver="this.style.bonMouseOut="this.style.backgro<tdalign="right"><fontcolor="#000000">驗證碼:</font></td><td><inputname="validate"type="text"id="validate"size="10"onMouseOver="this.style.bonMouseOut="this.style.bac<ahref="admloginer.asp"><imgsrc="num.asp"alt="點擊刷新圖片"height="13"<td><inputtype="submit"name="Submit"value="登錄"onclick="returncheckForm(this.form)"/><inputtype="reset"name="Sub5.3用戶管理模塊用戶管理包括教師用戶管理和學(xué)生用戶管理,主要實現(xiàn)添加、修改、查詢、刪除用戶功能。教師進(jìn)入添加學(xué)生用戶界面輸入學(xué)生的學(xué)號、初始密碼、真實姓名、年級、班級等基本信息,提交后系統(tǒng)首先檢索數(shù)據(jù)庫判斷有沒有相同的學(xué)號,如果沒有即將學(xué)生信息寫入數(shù)據(jù)庫,否則提示用戶該學(xué)號已經(jīng)錄入。系統(tǒng)運行界所屬班級:計科學(xué)041圖5·7系統(tǒng)學(xué)生用戶添加界面5.4教師授權(quán)管理模塊教師授權(quán)管理是系統(tǒng)的安全管理模塊之一,實現(xiàn)不同教師擁有不同的權(quán)限,使權(quán)限的靈活細(xì)化方便系統(tǒng)的管理。核心就是操縱權(quán)限字符串“purview”,在默考試管理模塊沒有操作權(quán)限,教師可以通過勾選各項前面的多選框?qū)崿F(xiàn)權(quán)限分purl=Trim(request.Form("purpur2=Trim(request.Form("purpur3=Trim(request.Form("purpur4=Trim(request.Form("pur?年級班級確認(rèn)授權(quán)重新授權(quán)圖5·8系統(tǒng)教師授權(quán)管理界面5.5考試管理模塊考試管理是本系統(tǒng)的核心模塊,包括試題管理、發(fā)布考試、自動組卷、在線5.5.1功能分析一般操縱,直接移植通用模塊便可快速實現(xiàn)。試題分單選題、多選題、填空題、判斷題等不同類型,將試題添加集成在一個頁面,通過調(diào)用JS腳本根據(jù)選擇的題型出現(xiàn)不同試題類型的添加界面,用戶按要求填寫不同的題干、答案即可。5.5.2試題管理系統(tǒng)運行界面如圖59所示。添加試題添加試題圖5·9系統(tǒng)添加試題界面5.5.3發(fā)布考試考試開始結(jié)束時間、監(jiān)考老師、考生年級、班級和考試試題類型與分值。系統(tǒng)運發(fā)布考試信息第三章馬老師2004級M考生班級:計科學(xué)041圖5·10系統(tǒng)試卷發(fā)布界面5.5.4自動組卷自動組卷是考試管理模塊中最重要的環(huán)節(jié)之一。目前具有自動組卷功能的考試系統(tǒng)一般采用隨機選取法、回溯試探法和遺傳算法。隨機選取法根據(jù)狀態(tài)空間的控制指標(biāo),由計算機隨機的抽取一道試題放入試題庫,此過程不斷重復(fù),直到組卷完畢,或已無法從題庫中抽取滿足控制指標(biāo)的試題為止。該方法結(jié)構(gòu)簡單,對于單道題的抽取運行速度較快,但是對于整個組卷過程來說組卷成功率低,即使組卷成功,花費時間也令人難以忍受。尤其是當(dāng)題庫中各狀態(tài)類型平均出題量較低時,組卷往往以失敗而告終?;厮菰囂椒ㄊ菍㈦S機選取法產(chǎn)生的每一狀態(tài)類型記錄下來,當(dāng)搜索失敗時釋放上次記錄的狀態(tài)類型,然后再依據(jù)一定的規(guī)律(正是這種規(guī)律破壞了選取試題的隨機性)變換一種新的狀態(tài)類型進(jìn)行試探,通過不斷的回溯試探直到試卷生成完畢或退回出發(fā)點為止,這種有條件的深度優(yōu)先算法,對于狀態(tài)類型和出題量都較少的題庫系統(tǒng)而言,組卷成功率較好,但是在實際應(yīng)用時發(fā)現(xiàn)這種算法對內(nèi)存后兩點是用戶無法接受的。遺傳算法(GeneticAlgorithms)是一種并行的、能夠有效優(yōu)化的算法,以Morgan的基因理論及Eldridge與Gould間斷平衡理論為依據(jù),同時融合了Mayr的邊緣物種形成理論和Bertalanffv一般系統(tǒng)理論的一些思想,模擬達(dá)爾文的自然界遺傳學(xué):繼承(基因遺傳)、進(jìn)化(基因突變)優(yōu)勝劣汰(優(yōu)的基因大量被遺傳復(fù)制,劣的基因較少被遺傳復(fù)制)。其實質(zhì)就是一種把自然界有機體的優(yōu)勝劣汰的自然選擇、適者生存的進(jìn)化機制與同一群體中個體與個體間的隨機信息交換機制相結(jié)合的搜索算法。運用遺傳算法求解問題首先需將所要求解的問題表示成二樣進(jìn)行不斷的所謂“生存選擇”,最后收斂到一個最適應(yīng)環(huán)境條件的個體上,得到問題的最優(yōu)解。分析上述算法的優(yōu)缺點,不難發(fā)現(xiàn),在限制條件狀態(tài)空間的控制下,隨機選取法有時能夠抽取出一組令用戶滿意的試題,只不過由于它隨機選取試題的范圍太大,無法確定目前條件下哪些區(qū)域能夠抽取合適的試題,反而可能在那些已經(jīng)證明是無法抽取合適試題的區(qū)域內(nèi)反復(fù)選題,進(jìn)行大量的無效操作進(jìn)入死循環(huán),最終導(dǎo)致組卷失敗?;厮菰囂椒ńM卷成功率高,但它是以犧牲大量的時間為代價的,對于現(xiàn)今越來越流行的考生網(wǎng)上隨機即時調(diào)題的考試過程來說,它已不符合要求。遺傳算法以其具有自適應(yīng)全局尋優(yōu)和智能搜索技術(shù),并且收斂性好的特性能很好的滿足自動考試組卷的要求。而本系統(tǒng)采用的是隨機生成算法,基本滿足實用要求。核心出卷模塊代碼:FunctionmkPaper(stulD,quizSum,quizVal,examID,quizClass,startSum)Dimisok,temp,sql檢查題庫題目總量SetrsquizLib=rsquizLib.CursorLocmaxID=rsquizLib.rectemp=Int(Rnd*maxid+1)判斷隨機數(shù)合法性j=0DoWhilej<nj=j+1Iftemp=a(j)ThenEndIf寫入數(shù)據(jù)Ifisok=TrueThen(stuID,examID,paperID,quizID,quizClass,quizStatn)&","&rsquizLib("ID")&","&rsquizLib("quizClass")&"",0,"&rsquizIfquizIDstr=""ThenquizIDstr=quizIDstrquizKeystr=quizKeystr&""EndIfEndIf5.5.5在線考試保存,考生也可以分別點擊左側(cè)和題目下面的試題的導(dǎo)航任意跳轉(zhuǎn)到某一試題。IfNot(rs.bofOrrs.EOF)Thenresponse.Redirect("examOver.asp?actionElseIfrs("stuStatusresponse.Write”你已經(jīng)被監(jiān)考教師鎖定,暫時不能作答!”EndIfresponse.Write“考卷不存在!”EndIf更新在線狀態(tài)sql="updatestuScoresetstuStatus='online'whereexamlD="&paperID=1EndIfIfaction="updatePaper"ThenlastPaperID=CInt(Trim(requCallupdatePaper(stuExaEndIfstuid="&stuExamID&""anstuPaper.quizID=quizLib.IDwherestuid='"&stuWhileNot(rsPaper.bofOrrsPaper.EOF)IfrsPaper("quizStatus")=TrueThenhref=examPaper.asp?action=list&paperID="&rsPapetarget=main>"&rsPaper("paperlD")&"</a>."href=examPaper.asp?action=list&paperlD="&rsPapetarget=main>"&rsPaper("paperID")&"</a>."EndIfFunctionupdatePaper(stuExamID,sql="updatestuPapersetstuKey='"&Replace(Replace(request("stuKey"),",",""),"","")&",quizStatus=-1wherestuid=""&stuExamID&""andexamID="&examID&"andp姓名霍勇亮單選題○c:并行電纜〇D:串行電纜A下一題已答題數(shù):5/20已答:t.2.3.15,20.交卷(直2次確認(rèn)機會)圖5·11系統(tǒng)考生考試界面5.5.6考場監(jiān)控通過本模塊監(jiān)考教師可以方便的對考場進(jìn)行管理,可以實時查看考生的狀看到他的得分。正在考試中的考生分?jǐn)?shù)則顯示為0分。核心代碼:sql="updatestuScoresetstuStatusstulD='"&stulD&""andexamID="&exstulD="&stulD&""andexamlD="&examID學(xué)號姓名成績狀態(tài)崔永勇段得力范永安馮靜0郭亞偉韓海洋5侯征光0霍勇亮0姜正偉0圖5·12系統(tǒng)教師監(jiān)控考試界面5.6日志管理日志管理也是系統(tǒng)的安全模塊之一,可以在用戶進(jìn)行關(guān)鍵操作之后記錄下來,方便擁有用戶管理權(quán)限的教師查看,而教師通過對日志分析可以實時掌握系統(tǒng)與用戶交互狀況,特別是記錄IP這一功能使系統(tǒng)在遭受到用戶破壞性操作之后給教師一個認(rèn)證依據(jù)和盡快恢復(fù)系統(tǒng)參考依據(jù)。教師也可以刪除無用的日志。核心代碼:操作[audit]([logid],[logname],[identity]("&logid&"","&logname&"","&identity&"","&logIfRequest.ServerVariables("HTTP_X_FORWARDED_FOR")=""OrInStr(Request.ServerVariables("HTTP_X_FORWARDEDstrlPAddr=Request.SeElselfInStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),",")>0strIPAddr=Mid(Request.ServerVariablInStr(Request.ServerVariables("HTTP_X_FORWElselfInStr(Request.ServerVariables("HT

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論