版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、在線考試系統(tǒng)第一章 考試系統(tǒng)背景知識 1 internet internet 是目前世界上最大的計算機(jī)互聯(lián)網(wǎng)絡(luò),它遍布全球,將世界各地各種規(guī)模的網(wǎng)絡(luò)連成一個整體。作為internet上一直先進(jìn)的,易于被人們所接受的信息檢索手段,world wide web(簡稱www)發(fā)展十分迅速。成為目前世界上最大的信息資源寶庫。因此,建設(shè)一個好的web站點(diǎn)對于一個機(jī)構(gòu)的發(fā)展十分重要。近年來,隨著網(wǎng)絡(luò)用戶要求的不斷提高及計算機(jī)科學(xué)的迅速發(fā)展,特別是數(shù)據(jù)庫技術(shù)在internet中的廣泛應(yīng)用,web站點(diǎn)向用戶提供的服務(wù)將越來越豐富,越來越人性化。 我們發(fā)現(xiàn)這樣一個事實,一個用戶在訪問一個網(wǎng)站時一般來講只對該網(wǎng)站
2、的部分內(nèi)容感興趣,而且這種興趣會持續(xù)一段時間。這點(diǎn)啟發(fā)了我們,如果能根據(jù)用戶的喜好為不同的用戶顯示器個性化的頁面,即著重顯示該用戶感興趣的內(nèi)容,將為用戶節(jié)約大量的檢索時間,而且這樣的網(wǎng)頁顯然是更具有吸引力的。我們對登陸的用戶進(jìn)行追蹤,分析,發(fā)掘用戶奠基的規(guī)律,即用戶先后點(diǎn)擊的關(guān)聯(lián)規(guī)則,這樣在用戶點(diǎn)擊一個主題(鏈接)之后,系統(tǒng)能自動生成一頁面,其中包含了該主題下用戶經(jīng)常關(guān)注的內(nèi)容(若干鏈接),這樣便在無需用戶做出任何額外工作的情況下實現(xiàn)了為用戶量身定做的個性化頁面。要實現(xiàn)這樣的功能,離不開后臺數(shù)據(jù)庫的支持。用戶驗證信息,收集到的用戶點(diǎn)擊信息,主體層次信息,分析得出的關(guān)聯(lián)規(guī)則表等大量的數(shù)據(jù)都由數(shù)據(jù)
3、庫管理系統(tǒng)管理。本文中數(shù)據(jù)庫服務(wù)器端采用了microsoft access數(shù)據(jù)庫作為odbc(open database connectivity)數(shù)據(jù)源,并以先進(jìn)的ado(active data object)技術(shù)進(jìn)行數(shù)據(jù)庫存取等操作,使web與數(shù)據(jù)庫緊密聯(lián)系起來。 2 asp技術(shù)綜述 2.1 asp的產(chǎn)生 近年來隨著internet技術(shù)的飛速發(fā)展及用戶需求的不但升級,web頁面技術(shù)也不斷的推陳出新,使得web站點(diǎn)的功能越來越強(qiáng)大,能夠提供服務(wù)種類越來越繁多。從html,client scrip 到cgi,從java的誕生到active x,web頁面設(shè)計人員不斷受到?jīng)_擊,微軟公司在總結(jié)了以
4、往技術(shù),重新思考web頁面的真正需要后,推出了active server pages(asp),一種用以取代cgi(common gateway interface,通用網(wǎng)關(guān)接口技術(shù))。簡單講,asp是位于服務(wù)器端的腳本運(yùn)行環(huán)境,通過這種環(huán)境,用戶可以創(chuàng)建和運(yùn)行交互式web服務(wù)器端應(yīng)用程序,如交互式的動態(tài)網(wǎng)頁,包括使用html表單收集和處理信息,上傳和下載等等。更重要的是,asp使用的active x基于開放設(shè)計環(huán)境,用戶可以自己定義和制作組件加入其中,使自己的動態(tài)網(wǎng)頁幾乎具有無限的擴(kuò)充能力,這是傳統(tǒng)的web可利用ado(active data object,微軟的一種新的數(shù)據(jù)訪問模型)方便快
5、捷的訪問數(shù)據(jù)庫,從而使得開發(fā)基于www的應(yīng)用系統(tǒng)成為可能。2.2 asp與iis2.2.1 iis簡介web服務(wù)器使web應(yīng)用程序的心臟。iis(internet information server)是微軟推出的windows nt option pack的主要成員,作為windows nt的擴(kuò)展,自推出以來已經(jīng)有了很大發(fā)展,其體系結(jié)構(gòu)是當(dāng)今市場上最受關(guān)注的web服務(wù)器之一。新推出的iis4.0版本增強(qiáng)了系統(tǒng)安全性,具有服務(wù)器腳本開發(fā)調(diào)試,內(nèi)容管理和站點(diǎn)分析,崩潰防護(hù),內(nèi)置java虛擬機(jī)及全面支持asp等強(qiáng)大功能。2.2.2 iis與asp的結(jié)合在過去,客戶機(jī)/服務(wù)器結(jié)構(gòu)的設(shè)計與web的想換
6、技術(shù)幾乎處于平行線上,兩者相互獨(dú)立并無法做出集成性的設(shè)計?,F(xiàn)在我們利用iis+asp構(gòu)成三層web結(jié)構(gòu)(如下圖所示)的中間一層,將客戶機(jī)/服務(wù)器結(jié)構(gòu)與web密切結(jié)合,完成前后端兩者的集成輸出功能,使得web站點(diǎn)的開發(fā)更方便,實現(xiàn)的功能更強(qiáng)大。利用iis+asp技術(shù)來集成web前后端帶來的強(qiáng)大效益可歸結(jié)為以下幾個方面:1. 減少構(gòu)件和維護(hù)成本2. 加快聯(lián)機(jī)過程3. 應(yīng)用軟件集中在服務(wù)器端開發(fā)管理4. 前端可使用任何瀏覽器(ie、netscape.)5. 后端可存取任何數(shù)據(jù)庫(sql、access)6. 可使用腳本語言開發(fā)(vbscrip、javascrip.)數(shù)據(jù)服務(wù)器后端數(shù)據(jù)庫 activex
7、 server元件程序和計算邏輯micriosoft iis + asp前端瀏覽器瀏覽器2.3 asp2.3.1 asp內(nèi)部6大對象 asp提供了6個功能強(qiáng)大的內(nèi)部對象,每個對象具有各自的屬性(property)、方法(method),有的還擁有數(shù)據(jù)集和(collection)與事件(event),他們共同完成web中的一些重要工作。這6大對象及其功能描述如表所示。 對象名稱功能描述request從客戶端取得信息response將信息送給客戶端server提供一些web服務(wù)器工具session儲存一個session內(nèi)的用戶信息,該信息僅可被該用戶訪問application在一個asp-appl
8、ication中讓不同的客戶端共享信息objectcontext配合microsoft transactionf服務(wù)器進(jìn)行分布式事務(wù)處理合理的運(yùn)用這些對象可以使原本復(fù)雜,繁瑣的工作般的簡潔而條理清晰。 我們可以利用下面的語法直接使用這些對象: 對象.屬性/方法/數(shù)據(jù)集合2.3.2 global 文件 每一個以active server pages 為基礎(chǔ)的一應(yīng)用程序都擁有一個global.asa文件(asa后綴名其實是active server applicatio 的縮寫),它位于每一個應(yīng)用程序的基點(diǎn)目錄之下。當(dāng)active server pages坐下兩個動作時,server便會去讀glo
9、bal.asa文件:1 web server啟動之后,一個應(yīng)用程序目錄中任一個asp文件被提出第一個http請求(request)時。2 不具有任何session的客戶端向server請求一個asp文件時。3 利用ado訪問數(shù)據(jù)庫 ado(active data objects)是一種操作microsoft.所支持的數(shù)據(jù)庫的新技術(shù)。在asp中,ado可以看作是一個服務(wù)器組件(server component),更簡單一點(diǎn)說,使一系列的對象,應(yīng)用這些功能強(qiáng)大的對象,既可以輕松完成對數(shù)據(jù)庫復(fù)雜得的操作。本文中個性化頁面的實現(xiàn)便大量的用到了ado技術(shù)。具體操作步驟可以歸納為以下幾步:1. 創(chuàng)建數(shù)據(jù)庫
10、源名(dsn)2. 創(chuàng)建數(shù)據(jù)庫鏈接(connection)3. 創(chuàng)建數(shù)據(jù)對象4. 操作數(shù)據(jù)庫5. 關(guān)閉數(shù)據(jù)庫對象和鏈接 每一步的做法如下:1. 創(chuàng)建數(shù)據(jù)源名 dsn(data source name)既數(shù)據(jù)源名稱。我們知道,odbc是一種訪問數(shù)據(jù)庫的方法,只要系統(tǒng)中有相應(yīng)的odbc驅(qū)動程序,任何程序就可通過odbc操縱驅(qū)動程序的數(shù)據(jù)庫。比如我們系統(tǒng)中有access的odbc驅(qū)動程序,那么即使我們沒有access軟件,也可以在我們的程序中對一個access的mdb數(shù)據(jù)庫加、刪、改紀(jì)錄。而且我們根本不用知道這個數(shù)據(jù)庫時放在哪里的。我們只要寫出sql語句,odbc驅(qū)動成就會幫助我們做一切事情。我們給
11、odbc驅(qū)動程序傳sql指令時,即是用dsn來告訴它到底操作的是哪一個數(shù)據(jù)庫。如果數(shù)據(jù)庫的平臺變了,比如我們改用了sql server的數(shù)據(jù)庫,只要其中表的結(jié)構(gòu)沒有變,我們就不用改寫我們的程序,只要重新在系統(tǒng)中配置dsn就行了。由此可見,dsn是應(yīng)用程序和數(shù)據(jù)庫之間的橋梁。2. 創(chuàng)建數(shù)據(jù)庫鏈接(connection)鏈接用以保持一些關(guān)于正在訪問的數(shù)據(jù)的一些狀態(tài)信息,以及鏈接著信息。asp文件中如果要訪問數(shù)據(jù),必須首先創(chuàng)建于數(shù)據(jù)庫的連接,其語法如下:set mconn = server createobject(“adobd connection”)這條語句創(chuàng)建了鏈接對象mconn,接下來:mc
12、onn.open “dsn1”, “vsername”, “password”這條語句打開鏈接,用到了dsn,本例為”dsn1”。其后的兩個參數(shù)分別是訪問數(shù)據(jù)庫的用戶名和口令,為可選參數(shù)。以上兩個步驟缺一不可,因為鏈接對象的創(chuàng)建于打開是兩回事,只有打開了才真正的可以使用。3. 創(chuàng)建數(shù)據(jù)對象(record set)ado中的數(shù)據(jù)對象通常保存的是查詢結(jié)果。record set是ado中最復(fù)雜的對象,有許多屬性和方法。record set保存的是一行行的紀(jì)錄,并標(biāo)有一個當(dāng)前紀(jì)錄。以下是創(chuàng)建方法: set record set = mconn.execute(sqlstr) 這條語句創(chuàng)建并打開了對象r
13、ecord set,其中mconn是先前創(chuàng)建的鏈接對象,sqlstr是一個字串,代表一條標(biāo)準(zhǔn)的sql語句。例如: sqlstr = “select * from tab1” set record set = mconn.execute(sqlstr) 這條語句執(zhí)行后,對象record set中就保存了表tab1種的所有紀(jì)錄。4. 操作數(shù)據(jù)庫我們通過調(diào)用鏈接對象的execute方法來將查詢結(jié)果返回給一個數(shù)據(jù)對象或進(jìn)行插入、刪除等操作。例如:sqlstr = “insert into tab1 values(1,2)”mconn.execute(sqlstr)/執(zhí)行插入操作5. 關(guān)閉數(shù)據(jù)對象和鏈接
14、對象在使用了ado對象之后要關(guān)閉它,因為它使用了一定的服務(wù)器資源。通過調(diào)用方法close實現(xiàn)關(guān)閉,然后再釋放它。record set.closeset record set = nothing/關(guān)閉創(chuàng)建的數(shù)據(jù)對象mconn.closeset mconn = nothing/關(guān)閉創(chuàng)建的鏈接對象 第二章 考試系統(tǒng)的開發(fā)與設(shè)計 1 考試系統(tǒng)可行性研究 試題庫與在線考試系統(tǒng)采用asp、html、frontpage2000/98、vbscript編程語言、圖形編輯與數(shù)據(jù)庫等工具,通過基于web服務(wù)器訪問純web頁面,實現(xiàn)在線組卷與考試等各項相關(guān)的功能。用戶相關(guān)規(guī)則采掘關(guān)聯(lián)規(guī)則關(guān)聯(lián) 數(shù)據(jù)準(zhǔn)備記錄點(diǎn)擊頁面生
15、成 database 服務(wù)器web服務(wù)器 2 需求分析 該考試系統(tǒng)程序可廣泛運(yùn)行于互聯(lián)網(wǎng)即internet,也可適用于內(nèi)部的局域網(wǎng)。其運(yùn)行要求和邏輯結(jié)構(gòu)分別如下: 客戶端:windows2000,internet explorer(ie)等 服務(wù)器端:windows nt/windows2000,internet information server (iis)4.0及其以上版本,ie等;或者windows98,personal web server(pws),ie等。數(shù)據(jù)庫:采用acess2000,運(yùn)行于服務(wù)器端。 系統(tǒng)界面整齊、美觀,操作簡單、方便。另外,支持按權(quán)限對系統(tǒng)進(jìn)行操作,即不同類
16、型的用戶擁有相異的權(quán)限對題庫執(zhí)行不同的操作。主要是在首頁通過兩種不同的方式進(jìn)入相異的操作界面,以確保整個數(shù)據(jù)庫中數(shù)據(jù)的安全性及完整性。其主要特點(diǎn)體現(xiàn)在以下三個方面:(1) 自主設(shè)計數(shù)據(jù)庫 自主調(diào)用數(shù)據(jù)庫 自主管理數(shù)據(jù)庫自主設(shè)計數(shù)據(jù)庫是指用戶能夠根據(jù)自己的需要創(chuàng)建新科目數(shù)據(jù)庫(即系統(tǒng)實現(xiàn)了自動建表的功能),讓數(shù)據(jù)庫真正成為用戶自己的數(shù)據(jù)庫。不過,只要庫中已存在該科目名稱及表名,則不予重建,這樣就保證了數(shù)據(jù)的統(tǒng)一性;自主調(diào)用數(shù)據(jù)庫即允許用戶能自由地從數(shù)據(jù)庫中抽取試題組成試卷,試卷中有幾道大題和小題以及是否提供查看答案均由用戶自行設(shè)置并選題。并且在形成一份完整的試卷之前,允許任意調(diào)整該試題的次序。在
17、組卷時,還可以多份試卷選取同一試題或同一知識點(diǎn)的試題,但嚴(yán)禁一套試卷中出現(xiàn)知識點(diǎn)相同(似)且難度一致的試題不過,其最大的缺陷在于目前只實現(xiàn)了試卷中的客觀題部分,即包括單選和多選題。而且,還沒有實現(xiàn)客觀題部分和真正的多媒體試卷;自主管理數(shù)據(jù)庫指一般用戶具有添加、修改和檢索數(shù)據(jù)的權(quán)力,實現(xiàn)數(shù)據(jù)庫的可擴(kuò)充性和開放性。而管理員則另具有刪除數(shù)據(jù)的權(quán)力,從而達(dá)到了系統(tǒng)數(shù)據(jù)統(tǒng)一性和一致性的。3 總體設(shè)計 通過對考試系統(tǒng)的需求分析及其可行性研究我們用功能層次圖的模式對其進(jìn)行介紹。 系統(tǒng)從總體上分為教師端應(yīng)用模塊和學(xué)生端應(yīng)用模塊。教師端模塊有:安全管理學(xué)生管理,題庫管理,試卷管理,考試(教師統(tǒng)計分析等功能模塊使
18、用系統(tǒng)模塊的教師應(yīng)用部分,可以根據(jù)教學(xué)的需要增減或編輯試題,手工或智能組卷,組織學(xué)生在網(wǎng)上考試,對練習(xí)和考試結(jié)果進(jìn)行科學(xué)的統(tǒng)計分析。 這樣教師可以從出題、準(zhǔn)備考試、評卷、分析成績的繁重勞動中解脫出來,從而進(jìn)一步提高教學(xué)質(zhì)量和管理水平。學(xué)生端模塊有:考試(學(xué)生端)。根據(jù)上述的功能模塊圖本系統(tǒng)所需表單如下: 考生登陸模塊的表(studentinfo):字段名稱字段說明數(shù)據(jù)類型是否為索引id登陸次序號長整型有student登陸學(xué)生姓名字符型無pass登陸密碼長整型無 題庫表(ks):字段名稱字段說明數(shù)據(jù)類型有無索引id考題編號長整型有kstypeid考試類型長整型無title考試題目長整型無a試題被
19、選答案長整型無b試題被選答案長整型無c試題被選答案長整型無d試題被選答案長整型無da 正確答案字符型無考生答題表(ksa):字段名稱字段說明數(shù)據(jù)類型有無索引id考生登陸次序號長整型有ksid考試題號長整型有kstypeid試卷類型長整型有student學(xué)生姓名字符型無da學(xué)生答案字符型無yes判斷對錯無無考試類型表(kstype):字段名稱字段說明數(shù)據(jù)類型是否為索引id考試類型號長整型無kstype考試類型名稱字符型無kstime考試限定的時間長整型無kk考試判斷答案無無記錄答題考生表(kb):字段名稱字段說明數(shù)據(jù)類型是否為索引id等陸序號長整型有ksid考試類型號長整型有student考生姓
20、名字符型無 4 詳細(xì)設(shè)計4.1 試題(客觀題部分)設(shè)計單選題往往在四個供選的答案a、b、c、d中選擇唯一正確的答案;另外,多選題跟單選題在根本上沒什么區(qū)別,只是供選的答案和標(biāo)準(zhǔn)答案多一些。因而,本系統(tǒng)中所涉及的單選題和多選題大體相同,并且假設(shè)多選題一般情況下也是最多提供六個備選答案,標(biāo)準(zhǔn)答案至少有一個。故各題型的樣題設(shè)計如下:單選題-如:hub是指: (a)網(wǎng)橋 (b)集線器 (c)網(wǎng)關(guān) (d)路由器多選題-如; internet上使用的網(wǎng)絡(luò)協(xié)議是: (a)ipx/spx兼容協(xié)議 (b)tcp/ip協(xié)議 (c)netbeui協(xié)議 (d)x.25協(xié)議 (e)atm lan仿真用戶 (f
21、)快速紅外線協(xié)議 4.2 數(shù)據(jù)庫設(shè)計 4.2.1 試題結(jié)構(gòu) 通常,每一類型的試題都應(yīng)有一個表結(jié)構(gòu)。但考慮到目前系統(tǒng)存貯空間已經(jīng)不受物理空間的限制。因此,我們采用按科目而不按試題類型方案來建立數(shù)據(jù)表,更不把所有科目的全部試題集中在一起,只是每道客觀題均有六個備選答案項,還有一個表用來記錄各科目數(shù)據(jù)表的相關(guān)屬性。這樣,查詢起來較方便,可能會節(jié)約時間,也不致于造成數(shù)據(jù)十分雜亂等。詳細(xì)設(shè)計如下表所示:說明:1. 按科目(一般以1個學(xué)期為標(biāo)準(zhǔn))分別定義各表,表名一律由中文名漢字拼音首字母構(gòu)成。例如,軟件工程-rjgc;計算機(jī)網(wǎng)絡(luò)-jsjwl;數(shù)據(jù)庫-sjk2.字段名是指該字段的中文名3.字符標(biāo)識一般由中
22、文名拼音首字母構(gòu)成,外鍵字段最好與主表對應(yīng)字段同名4.若該字段為字符型,則對應(yīng)的長度欄填最大允許長度,若為固定長度則加'定'字5.若該字段可以為空,則對應(yīng)的null欄填y,否則不填6.若該字段為主鍵,則對應(yīng)的主鍵欄填y,否則不填4.2.2試卷結(jié)構(gòu) 試卷一般包括客觀題(單選題或多選題)觀題部分.在此表中只存貯該科目試卷相應(yīng)的試題編號,其試題內(nèi)容則在調(diào)用時到相應(yīng)科目中查詢獲得。 4.2.3 用戶信息結(jié)構(gòu) a、超級用戶:即系統(tǒng)管理員。他具有一般用戶所沒有的至高無上的權(quán)力,即具有刪除用戶、留言、試題以及試卷等信息的權(quán)力。它不需注冊,在數(shù)據(jù)庫沒有它的任何相關(guān)信息,但可由管理員自己更改用戶
23、名和密碼。確保萬一數(shù)據(jù)泄密而造成系統(tǒng)的危害。 b、一般用戶:主要是指學(xué)校的學(xué)生. 4.2.4考生答案成績表結(jié)構(gòu)實際考試日期可能因某種原因推遲考試而與試卷表中的考試日期有所不同。因而,此表應(yīng)與用戶、試卷及試題庫等多表相關(guān)聯(lián),關(guān)系比較復(fù)雜。 4.3 功能模塊詳細(xì)設(shè)計下面,按照錄入試題-出卷-進(jìn)行考試等流程就各個模塊分別進(jìn)行詳細(xì)討論,具體情況見系統(tǒng)源程序及演示??紤]到數(shù)據(jù)的保密與安全問題,凡進(jìn)入系統(tǒng)的用戶,必須先注冊,然后通過驗證才能進(jìn)入。4.3.1 錄入模塊 許可的用戶根據(jù)自身教學(xué)目的和要求,可以向庫中添加各種類型且符合要求(對不符合的將給出提示和警告,并且不予保存?。┑脑囶}和試卷以及各自的意見與
24、疑難問題等。一旦添加成功,只有管理員才能刪除。 試題錄入 首先,用戶選擇試題所屬科目。若下拉菜單中沒有該科目,則點(diǎn)擊右邊的新增科目,即進(jìn)入這一頁面,只要輸入新增科目詳細(xì)名稱和表名(最好由漢語拼音首字母組成),即可由系統(tǒng)根據(jù)已設(shè)定好的字段自動建立新的科目試題表。返回、刷新一次頁面,即可看到新增的科目名稱。而且,在本系統(tǒng)中其它需要選擇科目的地方也會自動更新。其次,每道試題有類型、難度系數(shù)、選自書籍及章節(jié)、試題內(nèi)容與答案和標(biāo)準(zhǔn)答案等欄目。用戶一一輸入完(對于該試題不需要的答案項,則默認(rèn)為"不填"),按"提交"后,即可看到預(yù)覽效果。如果輸入不合法,或者該科題庫中
25、已有該試題編號和內(nèi)容等,則系統(tǒng)給出相應(yīng)的提示或警告,以待更正。 試卷錄入 此子模塊包括兩個部分,即標(biāo)識試卷的基本信息錄入和手工組卷部分。其基本信息有試卷編號、標(biāo)題、套數(shù)、難度、科目名稱、考試性質(zhì)與日期等,而卷中試題將通過后面的手工組卷模塊予以實現(xiàn)。對于用戶輸入的不符合系統(tǒng)要求的數(shù)據(jù),系統(tǒng)仍舊給出提示或警告。4.3.2 查詢模塊系統(tǒng)中的所有用戶均可檢索試題、試卷、用戶及留言等信息。只是試題檢索界面較復(fù)雜,但它已實現(xiàn)了多種條件的組合查詢,非常適合于數(shù)量繁大的試題庫。而后三者相對來說比較簡單,"默認(rèn)"或"空白"的情況下,則按該表中的系統(tǒng)默認(rèn)的字段顯示其全部信息
26、。使用起來比較靈活、方便。 4.3.3 組卷模塊 在組卷過程中,我們肯定會遇到有許多題目是關(guān)于同一個教學(xué)內(nèi)容的,這里稱之為關(guān)于同一考核點(diǎn)的試題。因此,在組裝一份試卷時,對于同一考核點(diǎn)的試題只能出一道題。這里設(shè)計一種快速選題算法,該算法只需經(jīng)一次比較,便可判定是否已選過該考核點(diǎn)的試題,且又可以有針對性地重點(diǎn)選取某個考核點(diǎn)的試題。即每一道題都設(shè)有一個相關(guān)碼,對于同一章、同一節(jié)、同一考核點(diǎn)的題,則相關(guān)碼相同,顯然,前面章節(jié)的相關(guān)碼都要小于后面章節(jié)的相關(guān)碼。故在組卷時,同一試卷中不允許出現(xiàn)相關(guān)碼相同的試題。所以,在選題過程中每選出一題,就要與已經(jīng)選出的題的相關(guān)碼逐一進(jìn)行比較,若該題的相關(guān)碼與已選各題的
27、相關(guān)碼均不相同,則可將該題加入到試卷中,否則,放棄該題,重新進(jìn)行選題。下面,在只考慮最佳情況下,即每次選出的題都恰好是尚未選過的,每選一道題就要與已選出的各題逐一比較,假設(shè)已選出了m題,再選下一題時,則需比較m次,不妨設(shè)一份試卷的總題數(shù)為n,在最佳情況下,則總的比較次數(shù)為:0,1, 2,n-2,n-1 即時間復(fù)雜度為o(n),這樣,就可保證下面算法中選擇出來的試題編號都合法。5 ado-activex data object操作數(shù)據(jù)庫的步驟第一步數(shù)據(jù)庫數(shù)據(jù)來源設(shè)定。若要訪問數(shù)據(jù)庫,需在"控制面板"中的"odbc data sources",建立數(shù)據(jù)庫名稱
28、(選擇users dsn),點(diǎn)擊"add"按鈕,選定數(shù)據(jù)庫所用的驅(qū)動程序和文件等。第二步使用"server.createobject"建立連接的對象,并使用"open"打開待訪問的數(shù)據(jù)庫。set adocon=server.createobject("adodb.connection");adocon.open "zxtest" 第三步設(shè)定sql命令,使用"execute"命令,即可開始執(zhí)行訪問數(shù)據(jù)庫的動作。sqlstr ="select * from jsjwl
29、where stbh like 'pd' order by stbh asc" set rs = adocon.execute(sqlstr) adocon為第二步所設(shè)定的對象名稱 第四步使用recordset對象的命令,顯示結(jié)果,其中rs為第三步所定義。rs.fields.count:記錄的字段數(shù);rs(i).name:第i(指針)個字段名,i由0算起到rs.fields.count-1;rs(i):讀取第i(指針)個字段的記錄,i由0算起到rs.fields.count-1;rs("字段名"):讀取指定的字段的記錄;rs.eof:是否已指定最末
30、條;rs.movenext:將指針移到下一條;rs.moveprev:將指針移到上一條;rs.movefirst:將指針移到第一條;rs.movelast:將指針移到最末條;第五步使用后關(guān)閉數(shù)據(jù)庫:rs.close;adocon.close6 數(shù)據(jù)的安全與保密由于此系統(tǒng)的特殊性,數(shù)據(jù)的安全與保密顯得尤為重要。保密性是指用戶在網(wǎng)上的所有信息應(yīng)有一定的保密度,不同類型的用戶之間的內(nèi)容是互相保密的。安全性是指用戶參加一次活動是一個安全的過程,對于所有用戶的動作,服務(wù)器都加以跟蹤。為了確保其安全與保密性,一要確保考生不能聯(lián)網(wǎng)作弊;二要在試卷上實時加以監(jiān)控;三要在時間上加以嚴(yán)格的控制等。主要通過下列兩種
31、途徑予以實現(xiàn): 其一,凡進(jìn)入在線考試的用戶,都要通過用戶身份驗證才能進(jìn)入。而且,不同用戶具有不同的操作權(quán)限,支持按權(quán)限進(jìn)行操作,確保數(shù)據(jù)的公共性與私有性。不允許用戶執(zhí)行非法的操作,防止用戶無意或有意的破壞。其二,禁止登陸考試頁面答題的用戶再次登陸該頁面答題1 第三章 源程序列表由于源代碼繁多,限于篇幅,無法一一列舉,現(xiàn)只公布部分代碼,具體以系統(tǒng)實物為準(zhǔn)。下面是登陸模塊.asp文件: 登陸模塊<html><head><title>考試系統(tǒng)</title><meta http-equiv="content-type" con
32、tent="text/html; charset=gb2312"></head><body bgcolor="#eaf9fb"><p align="center"><br></p><p align="center"><big><font color="#ff0000"><big><big><strong><img src="wleft.gif&
33、quot;>考試系統(tǒng) <img src="wright.gif"></strong></big></big></font></big></p> <p align="center"><br> <br> </p> <form name="form1" method="post" action="check.asp" > <div align=&q
34、uot;center"><center> <p>考生姓名: <input type="text" name="student" maxlength="18"> </p> <p>考生密碼: <input type="password" name="pass" maxlength="20"> </p> <p> <input type="submit&qu
35、ot; name="submit" size="15" value="進(jìn)入考場"> <input type="reset" name="submit2" size="12" value="重寫"> </p> </div> </form> <p align="center"><br> </p> <div align="center&q
36、uot;><center> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500" id="autonumber1"> <tr> <td width="100%"><hr color="#f
37、fcc00" size="1"> </td> </tr> <tr> <td width="100%"><p align="center"><font color="#000000" size="2">使用提示</font></td> </tr> <tr> <td width="100%"><font size="2
38、" color="#0000ff">1.輸入相應(yīng)學(xué)號、密碼即可進(jìn)入網(wǎng)絡(luò)考場開始考試。</font></td> </tr> <tr> <td width="100%"><font size="2" color="#0000ff">2.進(jìn)入后可隨機(jī)選題進(jìn)行考試,每張卷子為100分。</font></td> </tr> <tr> <td width="100%"
39、><font size="2" color="#0000ff">3.考試中用戶可以隨時保存自己的考試進(jìn)度。下次進(jìn)入時可以繼續(xù)測試。</font></td> </tr> <tr> <td width="100%"><font size="2" color="#0000ff">4.考試結(jié)束之后可以進(jìn)行判分和成績的紀(jì)錄。</font></td> </tr> </table
40、> </center></div> </body> </html> <% select case request("err_on")case "1" err_write="請?zhí)顚懘鸢福?quot;case "2" err_write="請?zhí)顚懣忌彰兔艽a!"case "3" err_write="密碼錯誤!"case "4" err_write="賬號錯誤!"cas
41、e "5" err_write="該類目的考試還沒有開考!"case "6" err_write="非法交卷!"case "7" err_write="您已經(jīng)完成這個類目的考試!"case "8" err_write="您正在進(jìn)行其他考試,請先考完其他考試再進(jìn)行此類目的考試!"end select%><html><head><title>錯誤 - <%=err_write%><
42、/title><meta http-equiv="content-type" content="text/html; charset=gb2312"><link rel="stylesheet" href="include/style.css" type="text/css"></head><body bgcolor="#ffffff" text="#000000"><div align=&quo
43、t;center"> <table width="300" border="0" cellspacing="3" cellpadding="0"> <tr> <td height="20" bgcolor="#86a294"> <div align="left"><font color="#0033ff"> <b><font color=&qu
44、ot;#000000">發(fā)生錯誤</font></b></font></div> </td> </tr> <tr> <td height="50" bgcolor="#dbe3df"> <div align="left"><font color="#000000">錯誤原因:<%=err_write%></font></div> </td&
45、gt; </tr> </table> <p> <input type="button" name="back" value="返回上一頁" onclick=" history.back()"> </p> <p> </p> <p> </p></div></body></html> 以下是錄入試題模塊.asp文件<!- #include
46、 file="cookies.asp" -><!- #include file="conn.asp" -><html><head><title>編輯試卷</title><meta http-equiv="content-type" content="text/html; charset=gb2312"></head><body bgcolor="#ffffff" text="#000000&
47、quot;><div align="center"> <form name="form1" method="post" action="sjaddsave.asp"> <table width="90%" border="0" cellspacing="0" cellpadding="0" height="25" bgcolor="#cccccc"> &l
48、t;tr> <td> <div align="center"><b>增加試題</b></div> </td> </tr> </table> <br><table width="90%" border="0"> <tr bgcolor="#d8edfe"> <td height="25" width="100">所屬分類:<
49、/td> <td height="25"> <% set rs=server.createobject("adodb.recordset") sql="select * from kstype" rs.open sql,conn,1,1 if not rs.eof then %> <select name="kstypeid"> <%do while not rs.eof%> <option selected value="<%=rs(&q
50、uot;id")%>"><%=rs("kstype")%></option> <%rs.movenext loop end if rs.close set rs=nothing conn.close set conn=nothing %> </select> </td> </tr> <tr bgcolor="#d8edfe"> <td height="25" width="100">試題:
51、</td> <td height="25"> <input type="text" name="title" maxlength="100" size="50"> (100個字符以內(nèi))</td> </tr> <tr bgcolor="#d8edfe"> <td height="25" width="100">答案a:</td> <td
52、height="25"> <input type="text" name="a"> </td> </tr> <tr bgcolor="#d8edfe"> <td height="25" width="100">b:</td> <td height="25"> <input type="text" name="b">
53、</td> </tr> <tr bgcolor="#d8edfe"> <td height="25" width="100">c:</td> <td height="25"> <input type="text" name="c"> </td> </tr> <tr bgcolor="#d8edfe"> <td height=&quo
54、t;25" width="100">d:</td> <td height="25"> <input type="text" name="d"> </td> </tr> <tr bgcolor="#d8edfe"> <td height="25" width="100">正確答案:</td> <td height="25"
55、> <select name="da"> <option value="a" selected>a</option> <option value="b" select>b</option> <option value="c" select>c</option> <option value="d" select>d</option> </select> </td>
56、; </tr> </table> <input type="submit" name="submit" value="增加"> <input type="reset" name="submit2" value="重寫"> </form> <p> </p> <p> </p></div></body></ht
57、ml> 參考文獻(xiàn):1 network database 設(shè)計與發(fā)布清華大學(xué)出版社2 active server pages 網(wǎng)頁設(shè)計手冊清華大學(xué)出版社 3 數(shù)據(jù)庫系統(tǒng)概論高等教育出版社4 activex/vbscript 使用手冊清華大學(xué)出版社5 changjie tang rynson w.h. qing li. huabei yin,tong li and danny kikis,personalized courseware construction base on web data mining,proceedings of the first international con
58、ference on web information system engineering,19-21 june 2000,hong kong.vol2(workshop)p200-207,基于web數(shù)據(jù)采掘個性化課件構(gòu)造。個人感受通過基于b/s模式研究開發(fā)了試題庫與在線考試系統(tǒng)這一asp應(yīng)用程序,我學(xué)習(xí)到了windows2000 + iis 的網(wǎng)絡(luò)服務(wù)器系統(tǒng)結(jié)構(gòu)和asp等web開發(fā)技術(shù)和對數(shù)據(jù)采掘技術(shù),并參與完成了關(guān)于利用數(shù)據(jù)關(guān)聯(lián)采集技術(shù)和動態(tài)web技術(shù)實現(xiàn)用戶個性化頁面研究。在開發(fā)和設(shè)計過程當(dāng)中我遇到了諸多技術(shù)上的困難,從個人虛擬服務(wù)器的建立,動態(tài)網(wǎng)頁的鏈接,到內(nèi)部數(shù)據(jù)庫的調(diào)用,尤其是在開
59、發(fā)的中期遇到了表與用戶、試卷及試題庫等多表相關(guān)聯(lián)的難題,經(jīng)過參考文獻(xiàn)以及老師的指導(dǎo)終于克服了種種困難,基本上完成了畢業(yè)設(shè)計的要求。但由于缺乏實踐經(jīng)驗和扎實的理論基礎(chǔ)對該系統(tǒng)的開發(fā)還存在的諸多欠缺。大學(xué)的學(xué)習(xí)生活即將結(jié)束,在此,我要感謝所有曾經(jīng)教導(dǎo)過我的老師和關(guān)心過我的同學(xué),他們在我的成長過程中給與我了很大的幫助。 第一章 考試系統(tǒng)背景知識 1 internet internet 是目前世界上最大的計算機(jī)互聯(lián)網(wǎng)絡(luò),它遍布全球,將世界各地各種規(guī)模的網(wǎng)絡(luò)連成一個整體。作為internet上一直先進(jìn)的,易于被人們所接受的信息檢索手段,world wide web(簡稱www)發(fā)展十分迅速。成為目前世界
60、上最大的信息資源寶庫。因此,建設(shè)一個好的web站點(diǎn)對于一個機(jī)構(gòu)的發(fā)展十分重要。近年來,隨著網(wǎng)絡(luò)用戶要求的不斷提高及計算機(jī)科學(xué)的迅速發(fā)展,特別是數(shù)據(jù)庫技術(shù)在internet中的廣泛應(yīng)用,web站點(diǎn)向用戶提供的服務(wù)將越來越豐富,越來越人性化。 我們發(fā)現(xiàn)這樣一個事實,一個用戶在訪問一個網(wǎng)站時一般來講只對該網(wǎng)站的部分內(nèi)容感興趣,而且這種興趣會持續(xù)一段時間。這點(diǎn)啟發(fā)了我們,如果能根據(jù)用戶的喜好為不同的用戶顯示器個性化的頁面,即著重顯示該用戶感興趣的內(nèi)容,將為用戶節(jié)約大量的檢索時間,而且這樣的網(wǎng)頁顯然是更具有吸引力的。我們對登陸的用戶進(jìn)行追蹤,分析,發(fā)掘用戶奠基的規(guī)律,即用戶先后點(diǎn)擊的關(guān)聯(lián)規(guī)則,這樣在用戶
61、點(diǎn)擊一個主題(鏈接)之后,系統(tǒng)能自動生成一頁面,其中包含了該主題下用戶經(jīng)常關(guān)注的內(nèi)容(若干鏈接),這樣便在無需用戶做出任何額外工作的情況下實現(xiàn)了為用戶量身定做的個性化頁面。要實現(xiàn)這樣的功能,離不開后臺數(shù)據(jù)庫的支持。用戶驗證信息,收集到的用戶點(diǎn)擊信息,主體層次信息,分析得出的關(guān)聯(lián)規(guī)則表等大量的數(shù)據(jù)都由數(shù)據(jù)庫管理系統(tǒng)管理。本文中數(shù)據(jù)庫服務(wù)器端采用了microsoft access數(shù)據(jù)庫作為odbc(open database connectivity)數(shù)據(jù)源,并以先進(jìn)的ado(active data object)技術(shù)進(jìn)行數(shù)據(jù)庫存取等操作,使web與數(shù)據(jù)庫緊密聯(lián)系起來。 2 asp技術(shù)綜述 2.1 asp的產(chǎn)生 近年來隨著internet技術(shù)的飛速發(fā)展及用戶需求的不但升級,web頁面技術(shù)也不斷的推陳出新,使得web站點(diǎn)的功能越來越強(qiáng)大,能夠提供服務(wù)種類越來越繁多。從html,client scrip 到cgi,從java的誕生到active x,web頁面設(shè)計人員不斷
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河道管理協(xié)議
- 水果購銷合同范本版示例
- 三亞市購房協(xié)議示例
- 聘請財務(wù)顧問協(xié)議書樣本
- 借款糾紛起訴狀范本法律維權(quán)攻略
- 書柜購買合約
- 保安服務(wù)合同鞏固
- 型材安裝工程項目招標(biāo)
- 簡化勞務(wù)分包協(xié)議范本
- 酒店協(xié)議價格合同的四大誤解
- 2023-2024學(xué)年高一下學(xué)期家長會 課件
- 知識點(diǎn)總結(jié)(知識清單)-2023-2024學(xué)年人教PEP版英語六年級上冊
- 社會醫(yī)學(xué)課件第2章醫(yī)學(xué)模式-2024鮮版
- 德勤測評能力測試題及答案
- 《囚歌》教學(xué)課件
- 2024年剎車盤行業(yè)未來五年發(fā)展預(yù)測分析報告
- 民法典銀行培訓(xùn)課件
- 四年級下冊數(shù)學(xué)單位換算題200道及答案
- 四年級上學(xué)期美術(shù)試卷(附答案)
- 機(jī)電一體化職業(yè)生涯
- 江蘇省常州市教育學(xué)會2023-2024學(xué)年八年級上學(xué)期期末學(xué)業(yè)水平檢測英語試題(無答案)
評論
0/150
提交評論