版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué) 位 論 文在線考試模擬系統(tǒng)開發(fā)指導(dǎo)教師姓名 申請(qǐng)學(xué)位級(jí)別 學(xué) 士 專業(yè)名稱 論文提交日期 年月 論文答辯日期 年月 學(xué)位授予單位和日期 答辯委員會(huì)主任 評(píng)閱人 年月日35獨(dú) 創(chuàng) 性 聲 明本人聲明所呈交的學(xué)位論文是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得湖北汽車工業(yè)學(xué)院或其它教育機(jī)構(gòu)的學(xué)位或證書而使用過的材料。與我一同工作的同學(xué)對(duì)本研究所做的任何貢獻(xiàn)均已在論文中作了明確的說明并表示謝意。簽名: 日期: 年 月 日關(guān)于論文使用授權(quán)的說明本學(xué)位論文作者完全了解湖北汽車工業(yè)學(xué)院有關(guān)保
2、留、使用學(xué)位論文的規(guī)定,有權(quán)保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和磁盤,允許論文被查閱和借閱。本人授權(quán)湖北汽車工業(yè)學(xué)院可以將學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存、匯編學(xué)位論文。簽名: 導(dǎo)師簽名: 日期: 年 月 日摘要本文描述現(xiàn)代網(wǎng)絡(luò)教育的教學(xué)手段在線考試,并對(duì)動(dòng)態(tài)服務(wù)器主頁(yè)(asp:active server pages)技術(shù)的應(yīng)用方法進(jìn)行了探討。在遠(yuǎn)程教育傳統(tǒng)方法的礎(chǔ)上,提出了利用asp技術(shù)構(gòu)建基于web的學(xué)習(xí)平臺(tái)的模式,從而產(chǎn)生并執(zhí)行了高效、交互、動(dòng)態(tài)的web服務(wù)器應(yīng)用程序,使用戶通過互聯(lián)網(wǎng)學(xué)習(xí),充分發(fā)揮現(xiàn)代網(wǎng)絡(luò)學(xué)習(xí)的優(yōu)勢(shì)。關(guān)鍵字:
3、asp,分布式,b/s,在線考試 abstractthis article describes a new teaching method in modern networkon-line examination。study technical and applied method of the main page in dynamic server( asp: active server pages)。in the foundation in traditional method,put forward a new model based on the web in which asp te
4、chnical is used .then every kind of users can take advantage of network to learn and test themselves .we can say network will charm learning. key words: asp,distribution,b/s,on-line,examination 目錄第一章 引言1第二章 asp的介紹及其發(fā)展22.1 asp技術(shù)的特點(diǎn)22.2 active server pages 模型22.3 asp的發(fā)展2第三章 理論依據(jù)與應(yīng)用43.1 網(wǎng)絡(luò)開發(fā)模式的發(fā)展與比較43.
5、2 分布式動(dòng)態(tài)web應(yīng)用系統(tǒng)的構(gòu)成73.3 理論與實(shí)際的結(jié)合8第四章 開發(fā)環(huán)境與總體設(shè)計(jì)104.1 計(jì)算機(jī)軟硬件環(huán)境及規(guī)劃104.2 總體設(shè)計(jì)規(guī)劃104.2.1 系統(tǒng)設(shè)計(jì)階段104.2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)階段104.2.3 后臺(tái)服務(wù)器和數(shù)據(jù)庫(kù)配置階段104.2.4 前端網(wǎng)絡(luò)頁(yè)面的開發(fā)與設(shè)計(jì)階段104.2.5 系統(tǒng)的發(fā)布與維護(hù)階段10第五章 在線考試系統(tǒng)的開發(fā)115.1 網(wǎng)站系統(tǒng)分析115.1.1 對(duì)網(wǎng)站進(jìn)行需求分析:115.1.2 組織和管理站點(diǎn)結(jié)構(gòu)125.2網(wǎng)站開發(fā)的設(shè)計(jì)思想與實(shí)現(xiàn)方法135.2.1 目標(biāo)設(shè)計(jì):135.2.2 系統(tǒng)功能設(shè)計(jì)145.2.3 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)
6、需求分析 數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)165.2.4 后臺(tái)服務(wù)器和數(shù)據(jù)庫(kù)配置 后臺(tái)服務(wù)器庫(kù)配置 建asp應(yīng)用程序的具體步驟175.2.5 整個(gè)系統(tǒng)的所有頁(yè)面情況為:175.2.6 系統(tǒng)數(shù)據(jù)流程圖18第六章 在開發(fā)過程中的一些問題226.1 隨機(jī)選題算法226.2 出題頁(yè)面保存226.3 系統(tǒng)安全226.3.1 軟件安全性 access數(shù)據(jù)庫(kù)的存儲(chǔ)隱患 access數(shù)據(jù)庫(kù)的解密隱患 源代碼的安全隱患 程序設(shè)計(jì)中的安全隱患 利用session對(duì)象進(jìn)行注冊(cè)驗(yàn)證246.3
7、.1.6 session與cookie的安全性2 使用身份驗(yàn)證機(jī)制保護(hù)asp頁(yè)面256.3.2 硬件安全性2 ntfs 權(quán)限2 web服務(wù)器權(quán)限2 自動(dòng)判分功能的實(shí)現(xiàn)26第七章 系統(tǒng)的發(fā)布與維護(hù)29第八章 結(jié)論30致謝32參考文獻(xiàn)33第一章 引言 隨著internet的普及和發(fā)展,越來越多的計(jì)算機(jī)通信應(yīng)用正在向互連網(wǎng)的主流應(yīng)用模式動(dòng)態(tài)交互應(yīng)用轉(zhuǎn)移。傳統(tǒng)的萬(wàn)維網(wǎng)中的多數(shù)信息是靜止的,文件中的信息只是在站點(diǎn)管理人員修改后才能發(fā)生變化,這種靜態(tài)頁(yè)面缺少交互性。能取到什么信息完全由信息提供者決定,用戶處于被動(dòng)的地位,因而缺少交互性,難以形
8、成真正有效的服務(wù)。這就使動(dòng)態(tài)服務(wù)成為未來www應(yīng)用發(fā)展的方向。所謂動(dòng)態(tài)服務(wù),包含有兩個(gè)方面的含意:首先,必須從用戶的角度出發(fā),將簡(jiǎn)單的檢索頁(yè)面抽象成服務(wù)來看待,也就是說、用戶的每一次使用就是為了需要得到某種服務(wù)。這樣,才能形成internet中高效的服務(wù)。其次,所提供的服務(wù)應(yīng)具有交互性,針對(duì)不同的使用者以及不同的要求而提供不同的服務(wù)。internet/intranet的出現(xiàn)是本世紀(jì)內(nèi)計(jì)算機(jī)通信領(lǐng)域最重要的一次革命,利用這種媒體,人們可以建立一個(gè)虛擬的電子世界,在這個(gè)世界里,人們的思想和概念可以在幾分鐘內(nèi)傳遍全世界。這是一個(gè)比傳統(tǒng)媒體更為靈活和快速的媒體,通過它商家可以與它們自己的員工、潛在的客
9、戶乃至世界上任何一個(gè)人溝通,電子商務(wù)的概念也隨之而來。借助于www通過動(dòng)態(tài)的交互式信息發(fā)布,諸如網(wǎng)上購(gòu)物、網(wǎng)上銀行、網(wǎng)上書店等一系列在線電子商務(wù)服務(wù)系統(tǒng)得于盛行。這些系統(tǒng)都離不開分布式的數(shù)據(jù)庫(kù)、與用戶及后臺(tái)數(shù)據(jù)庫(kù)交互的動(dòng)態(tài)web應(yīng)用程序、安全認(rèn)證等技術(shù)。分布式動(dòng)態(tài)web應(yīng)用系統(tǒng)開發(fā)技術(shù)自然而然地成為一項(xiàng)熱門技術(shù),本文不討論分布式數(shù)據(jù)庫(kù)的技術(shù)細(xì)節(jié),只是將其思想應(yīng)用到本文中,本文討論的是一個(gè)在線數(shù)考試系統(tǒng)的分析與建設(shè),在線考試系統(tǒng)充分利用了browse/server結(jié)構(gòu)特點(diǎn),實(shí)現(xiàn)了將考試系統(tǒng)移植到互聯(lián)網(wǎng)上的功能,該系統(tǒng)的優(yōu)勢(shì)在于極大的簡(jiǎn)化了老師出題的工作和學(xué)生考試的選題,做到了試題的多樣性。第二章
10、 asp的介紹及其發(fā)展2.1asp技術(shù)的特點(diǎn)asp技術(shù)是目前網(wǎng)站應(yīng)用中的核心技術(shù),也是目前流行的3p技術(shù)中應(yīng)用最廣泛的一種。3p技術(shù)分別是:asp(active server pages)、php(personal homepage)和jsp(java server pages)。asp是微軟公司的產(chǎn)品,jsp最初是sun公司推出的,php是由一個(gè)網(wǎng)絡(luò)小組開發(fā)和維護(hù)的。目前最常用的是asp和jsp。在企業(yè)應(yīng)用中,操作系統(tǒng)使用windows 2000 server,web服務(wù)器使用操作系統(tǒng)自帶的iis5.0(internet information server),服務(wù)器端語(yǔ)言使用asp,數(shù)據(jù)庫(kù)
11、服務(wù)器使用sql server。這種搭配已經(jīng)成為目前開發(fā)領(lǐng)域中的標(biāo)準(zhǔn)配置。asp可以使用jscript(javascript的微軟版)或者vbscript作為腳本語(yǔ)言。使用該腳本有四個(gè)優(yōu)點(diǎn): 1、jscript和c語(yǔ)言的語(yǔ)法很類似,幾乎所有的高校都開c語(yǔ)言這門課程。這樣有利于利用已有的知識(shí),或者為學(xué)習(xí)其他課程提供良好的基礎(chǔ)。2、客戶端編程考慮瀏覽器兼容的問題,目前一般采用javascript語(yǔ)言。這樣客戶端和服務(wù)器端使用語(yǔ)言的語(yǔ)法就一致了,不至于將語(yǔ)法弄混,有利于學(xué)習(xí)。3、在asp.net中,一般采用c#作為腳本,c#的語(yǔ)法和jscript一致,這樣就為學(xué)習(xí)新技術(shù)提供了必要的基礎(chǔ)。4、在實(shí)際應(yīng)
12、用中,大部分企業(yè)采用jscript作為腳本,一些知名的企業(yè)如:聯(lián)想、方正和用友軟件等等。這樣使學(xué)習(xí)更加貼近于實(shí)際的工程應(yīng)用1。2.2 active server pages 模型瀏覽器從 web 服務(wù)器上請(qǐng)求 .asp 文件時(shí),asp 腳本開始運(yùn)行。然后 web 服務(wù)器調(diào)用 asp,asp 全面讀取請(qǐng)求的文件,執(zhí)行所有腳本命令,并將 web 頁(yè)傳送給瀏覽器。由于腳本在服務(wù)器上而不是在客戶端運(yùn)行,傳送到瀏覽器上的 web頁(yè)是在web服務(wù)器上生成的。所以不必?fù)?dān)心瀏覽器能否處理腳本:web 服務(wù)器已經(jīng)完成了所有腳本的處理,并將標(biāo)準(zhǔn)的 html 傳輸?shù)綖g覽器。由于只有腳本的結(jié)果返回到瀏覽器,所以服務(wù)器
13、端腳本不易復(fù)制。用戶看不到他們正在瀏覽的頁(yè)的腳本命令2。2.3 asp的發(fā)展web源于靜態(tài)文本,現(xiàn)在很多站點(diǎn)幾乎還是采用這種方式。靜態(tài)文本的缺點(diǎn)就是維護(hù)難(文件數(shù)目多)、查詢難、修改難。雖然可以采用frontpage對(duì)站 點(diǎn)進(jìn)行管理,但這只是其中的一個(gè)辦法?,F(xiàn)在,很多的站點(diǎn)都會(huì)在后臺(tái)采用數(shù)據(jù)庫(kù),動(dòng)態(tài)生成超文本。這樣,要改變式樣,只需修改幾個(gè)文件;要變更內(nèi)容,只需對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作即可,而且易于保持一致性;而對(duì)于全文檢索等查詢應(yīng)用,這種方式的優(yōu)越性更為突出。(經(jīng)常說的“動(dòng)態(tài)”也包括圖片的動(dòng)態(tài)顯示, 如動(dòng)態(tài)的gif、java、applet等,本文所指為資料的動(dòng)態(tài)性)通用網(wǎng)關(guān)界面cgi(common
14、gateway interface)和網(wǎng)絡(luò)服務(wù)器應(yīng)用程序界面isapi(internet server application programminginterface)與其他相關(guān)技術(shù)的出現(xiàn),使我們能夠方便地與webserver進(jìn)行溝通,從而像一些計(jì)數(shù)器、留言版等cgi程式相繼出現(xiàn)并蔚然成風(fēng)。但這些cgi程序都有一個(gè)很大的缺點(diǎn),就是cgi(可用vb、java、perl、c或dephi等編寫)與html只能分開 編寫、分開運(yùn)行,要將兩者融合在一起并不容易,從而導(dǎo)致維護(hù)與編寫都相當(dāng)困難。因此,一些廠商后來都推出了自己的script語(yǔ)言,來增強(qiáng)網(wǎng)頁(yè)開發(fā)的功能。其中netscape(網(wǎng)景公司)推出了j
15、avascript(forclient端和forserver端兩種);微軟則推出了vbscript和asp(asp的語(yǔ)法與vb的語(yǔ)法類似)兩種,也用于服務(wù)器端和客戶端程序的編寫。對(duì)于專業(yè)開發(fā)人員而言,客戶端程序的最重要的一點(diǎn)是通用性,而服務(wù)器端的則強(qiáng)調(diào)功能和效率。對(duì)于client端程序的開發(fā),javascript無(wú)疑是最佳的,因?yàn)楫?dāng)今兩大主流瀏覽器ie和netscape都宣稱支持該標(biāo)準(zhǔn);而vbscript則只有ie才能支持。但令我們苦惱的是對(duì)某些javascript的標(biāo)記,ie或ie的某些版本并不一定會(huì)支持,這會(huì)導(dǎo)致我們不得不把一部分程序移到服務(wù)器端去執(zhí)行,因?yàn)榉?wù)器端的程序會(huì)先解釋生成htm
16、l(或含activex)文本,再送到客戶端,故不存在兼容問題。livewire(javascriptforserver端的編譯器)和asp一樣,都是一些手稿語(yǔ)言(手稿是指類似client端的javascript一樣的、可嵌套在html文本里面、只需用標(biāo)記標(biāo)明是由服務(wù)器執(zhí)行的程序段),也就是類似c/c+一樣的面向?qū)ο蟮恼Z(yǔ)言。livewire的文件后綴名還是html,asp的文件后綴名則是asp,因?yàn)閍sp的文件在客戶讀取它的時(shí)候,服務(wù)器才進(jìn)行解釋,而livewire的文件則必須預(yù)先進(jìn)行編譯(每次修改后,都要重新編譯)。asp有相應(yīng)的輔助開發(fā)工具(interdev、dream weaver等),可
17、代為生成一些控件。當(dāng)然,這些并不重要,關(guān)鍵是你采用的是netscapewebserver還是微軟的iis。但就一般而言,因?yàn)閕is是捆綁在nt上的,故采用iis的用戶會(huì)偏多一些。自從netscape公司推出了livewire和微軟推出了activeserverpage以后,程序員編寫網(wǎng)上程序就方便和容易了很多。但這種script類的語(yǔ)言有一個(gè)共同的缺點(diǎn),那就是由于是解釋執(zhí)行的,故速度不會(huì)太快。最近,微軟建議采用三層模型,中間層可以不用asp,而直接采用vb6.0生成的activex控件,因?yàn)槭蔷幾g執(zhí)行的,故速度會(huì)較快。隨著.net技術(shù)的發(fā)展,.net 將asp也一網(wǎng)打盡,由于本文主要使用asp
18、,故不對(duì)asp.net作介紹345。 asp功能強(qiáng)大,簡(jiǎn)單易用,更加上微軟的技術(shù)支持,使得他成為目前使用的最為廣泛的腳本語(yǔ)言,成為學(xué)生學(xué)習(xí)開發(fā)網(wǎng)站的首選。第三章 理論依據(jù)與應(yīng)用3.1 網(wǎng)絡(luò)開發(fā)模式的發(fā)展與比較目前比較流行的兩種網(wǎng)絡(luò)開發(fā)模式分別是client/server模式和browse/server模式。傳統(tǒng)的應(yīng)用系統(tǒng)模式是“主機(jī)/終端”或“客戶機(jī)/服務(wù)器”,客戶機(jī)/服務(wù)器系統(tǒng)(client/serversystem)的結(jié)構(gòu)是指把一個(gè)大型的計(jì)算機(jī)應(yīng)用系統(tǒng)變?yōu)槎鄠€(gè)能互為獨(dú)立的子系統(tǒng),而服務(wù)器便是整個(gè)應(yīng)用系統(tǒng)資源的存儲(chǔ)與管理中心,多臺(tái)客戶機(jī)則各自處理相應(yīng)的功能,共同實(shí)現(xiàn)完整的應(yīng)用。隨著inter
19、net的發(fā)展壯大,這些傳統(tǒng)模式已經(jīng)不能適應(yīng)新的環(huán)境,于是就產(chǎn)生了新的分布式應(yīng)用系統(tǒng),即所謂的“瀏覽器/服務(wù)器”結(jié)構(gòu)、“瘦客戶機(jī)”模式。在client/server結(jié)構(gòu)模式中,客戶端直接連接到數(shù)據(jù)庫(kù)服務(wù)器,由二者分擔(dān)業(yè)務(wù)處理,這樣體系有以下的缺點(diǎn):1、client與server直接連接,安全性低。非法用戶容易通過client直接闖入中心數(shù)據(jù)庫(kù),造成數(shù)據(jù)損失;2、client程序肥大,并且隨著業(yè)務(wù)規(guī)則的變化,需要隨時(shí)更新client端程序,大大增加維護(hù)量,造成維護(hù)工作困難;3、每個(gè)client都要直接連到數(shù)據(jù)庫(kù)服務(wù)器,使服務(wù)器為每個(gè)client建立連接而消耗大量本就緊張的服務(wù)器資源;4、大量的數(shù)據(jù)
20、直接client/server傳送,在業(yè)務(wù)高峰期容易造成網(wǎng)絡(luò)流量暴增,網(wǎng)絡(luò)阻塞。由于客戶服務(wù)器兩層結(jié)構(gòu)存在靈活性差、升級(jí)困難、維護(hù)工作量大等缺陷,已較難適應(yīng)當(dāng)前信息技術(shù)與網(wǎng)絡(luò)技術(shù)發(fā)展的需要6。隨著web技術(shù)的日益成熟,browse/server(簡(jiǎn)稱b/s)結(jié)構(gòu)已成為取代client/server(簡(jiǎn)稱c/s)結(jié)構(gòu)的一種全新技術(shù)。采用該結(jié)構(gòu)軟件的優(yōu)勢(shì)在于:1、無(wú)須開發(fā)客戶端軟件,維護(hù)和升級(jí)方便;2、可跨平臺(tái)操作,任何一臺(tái)機(jī)器只要裝有www瀏覽器軟件,均可作為客戶機(jī)來訪問系統(tǒng);3、具有良好的開放性和可擴(kuò)充性;4、可采用防火墻技術(shù)來保證系統(tǒng)的安全性,有效地適應(yīng)了當(dāng)前用戶對(duì)管理信息系統(tǒng)的新需求。因此
21、該結(jié)構(gòu)在管理信息系統(tǒng)開發(fā)領(lǐng)域中獲得飛速發(fā)展,成為應(yīng)用軟件研制中一種流行的體系結(jié)構(gòu)。client/server模式的先天不足與b/s模式的后天優(yōu)勢(shì)形成比較,隨著業(yè)務(wù)量的變化,client/server模式出現(xiàn)越來越多的問題,我們有必要對(duì)這種兩層體系進(jìn)行改革,將業(yè)務(wù)處理與客戶交互分開來,實(shí)現(xiàn)瘦客戶/業(yè)務(wù)服務(wù)/數(shù)據(jù)服務(wù)的多層分布式應(yīng)用體系結(jié)構(gòu),因此有人在原來的b/s模式基礎(chǔ)上提出“基于internet/intranet的分布式動(dòng)態(tài)web應(yīng)用系統(tǒng)開發(fā)”主要包括:三層結(jié)構(gòu)技術(shù)、web數(shù)據(jù)庫(kù)訪問策略、訪問技術(shù)及應(yīng)用系統(tǒng)的構(gòu)成。三層結(jié)構(gòu)技術(shù)在internet還沒有開始流行的前些年,client/server
22、的二層結(jié)構(gòu)是局域網(wǎng)環(huán)境中mis應(yīng)用系統(tǒng)的主流結(jié)構(gòu)。隨著internet的滲透,web正在改變企業(yè)應(yīng)用系統(tǒng)開發(fā)及實(shí)施的方法。client/server體系結(jié)構(gòu)由單一的兩個(gè)層次擴(kuò)展到由客戶、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器組成的三層結(jié)構(gòu)7。有了統(tǒng)一的通信協(xié)議tcp/ip和統(tǒng)一的基于web瀏覽器的用戶界面?;仡櫽?jì)算機(jī)的發(fā)展史,有過三次大的飛躍。80年代第一代信息技術(shù)的主體是大型機(jī),以主機(jī)/終端結(jié)構(gòu)為主,是一種典型的胖服務(wù)器/瘦客戶機(jī)工作模式,提供了高度的集中控制,這種模式易用性差,過于封閉,系統(tǒng)伸縮性較小。所以才有了個(gè)人pc機(jī)的出現(xiàn),實(shí)現(xiàn)了第一次飛躍。第二代信息技術(shù)的主流,是pc/文件服務(wù)器結(jié)構(gòu),它由pc機(jī)
23、與傳統(tǒng)的網(wǎng)絡(luò)技術(shù)相結(jié)合而成,數(shù)據(jù)集中存放在文件服務(wù)器中,用戶可通過不同的平臺(tái)存取它,有一定的系統(tǒng)伸縮性。但由于它的服務(wù)對(duì)象開始轉(zhuǎn)向?yàn)槊嫦騻€(gè)人,因此對(duì)于一個(gè)應(yīng)用系統(tǒng)來說,其整體開銷與維護(hù)成本大增,系統(tǒng)的整體運(yùn)行效率不高,吞吐量也不足。因此出現(xiàn)了client/server結(jié)構(gòu),實(shí)現(xiàn)了第二次飛躍。第三代信息技術(shù)的主流是client/server結(jié)構(gòu),它的數(shù)據(jù)及應(yīng)用服務(wù)集中存儲(chǔ),可通過不同的平臺(tái)存取,有較好的系統(tǒng)伸縮性。它把集中管理模式轉(zhuǎn)化為一種服務(wù)器與客戶機(jī)負(fù)荷均衡的分布式計(jì)算模式,解決了執(zhí)行效率及容量不足的問題。client/server模式又分為兩種: 1、胖服務(wù)器/瘦客戶機(jī)方式:數(shù)據(jù)計(jì)算與數(shù)據(jù)
24、集中在數(shù)據(jù)庫(kù)服務(wù)器端,數(shù)據(jù)庫(kù)服務(wù)器端是這種系統(tǒng)的瓶頸,當(dāng)接入的用戶較多時(shí),會(huì)發(fā)生通訊堵塞,系統(tǒng)性能也急劇下降,無(wú)法適應(yīng)多用戶的需要。 2、瘦服務(wù)器/胖客戶機(jī)方式:數(shù)據(jù)計(jì)算與數(shù)據(jù)處理集中在客戶機(jī)端,這加大了網(wǎng)絡(luò)負(fù)荷,影響了業(yè)務(wù)處理速度,而且客戶端pc機(jī)的多樣性,使如何有效管理控制整個(gè)系統(tǒng),并不斷予以更新成為一個(gè)新的“瓶頸”。 在client/server模式下開發(fā)的應(yīng)用系統(tǒng)也有一些方面尚不夠完善,不能適應(yīng)不斷增長(zhǎng)的多方面需求,主要體現(xiàn)以下幾點(diǎn):1、封閉式系統(tǒng),不同系統(tǒng)之間無(wú)法交流;2、用戶界面風(fēng)格不一,使用繁雜,不利于推廣使用;3、系統(tǒng)開發(fā)和維護(hù)復(fù)雜,移植困難,升級(jí)麻煩;4、無(wú)法包容已有系統(tǒng),造
25、成重復(fù)投資;5、不能接納新技術(shù),限制了擴(kuò)展性;6、缺乏系統(tǒng)性和具有前瞻性的結(jié)構(gòu)框架8-14。web技術(shù)的出現(xiàn)有了第三次飛躍,client/server變成了browse/server,數(shù)據(jù)及應(yīng)用可通過不同平臺(tái)、不同網(wǎng)絡(luò)存取,與平臺(tái)無(wú)關(guān),伸縮性大。此模式具有以下特點(diǎn):1、易用性好:用戶使用單一的browser軟件,通過鼠標(biāo)即可訪問圖像、聲音、視頻及數(shù)據(jù)庫(kù)等信息,特別適合非計(jì)算機(jī)人員使用。2、易于維護(hù):由于用戶端除了標(biāo)準(zhǔn)瀏覽器之外無(wú)需專用的軟件,系統(tǒng)的維護(hù)工作簡(jiǎn)單 。3、信息共享度高:html是數(shù)據(jù)格式的一個(gè)開放標(biāo)準(zhǔn),目前大多數(shù)流行的軟件均支持html,同時(shí)mime技術(shù)使得browser可訪問除h
26、tml之外的多種格式文件。4、擴(kuò)展性好:browse/server模式使用標(biāo)準(zhǔn)的tcp/ip 、http,能夠直接接入internet,具有良好的擴(kuò)展性。5、安全性好:通過配備防火墻,將保證現(xiàn)代企業(yè)網(wǎng)絡(luò)的安全性 。 6、廣域網(wǎng)支持:無(wú)論是pstn 、ddn 、幀中繼,x25 、isdn ,還是新出現(xiàn)的catv 、adsl,browse/server均能與其共“舞”。7、保護(hù)企業(yè)投資:browse/server模式由于采用標(biāo)準(zhǔn)的tcp/ip 、http協(xié)議,它可以與企業(yè)現(xiàn)有網(wǎng)絡(luò)很好的結(jié)合。從表面上看browse/server類似于主機(jī)/終端方式,是典型的胖服務(wù)器/瘦客戶機(jī)模式,好像經(jīng)過若干年之后
27、,計(jì)算機(jī)應(yīng)用的體系結(jié)構(gòu)又從起點(diǎn)回到了起點(diǎn)。但是這已不是簡(jiǎn)單的循環(huán)往復(fù),從整體環(huán)境看,計(jì)算機(jī)應(yīng)用的體系結(jié)構(gòu)是從封閉的集中式主機(jī)向開放的與平臺(tái)無(wú)關(guān)的環(huán)境過渡,此時(shí)的服務(wù)器端可以不只一臺(tái)主機(jī),而可以采用主機(jī)的群集技術(shù)構(gòu)成。這種以服務(wù)器為中心的結(jié)構(gòu)體系使企業(yè)擺脫了以往密集人才資源、高成本的操作管理方式,對(duì)用戶最大的好處是客戶端不需要安裝什么設(shè)備與軟件,只需要一個(gè)web瀏覽器,在大型的公司中,相同的瘦型客戶端應(yīng)用程序可以在不同的硬件平臺(tái)上運(yùn)行,不必針對(duì)不同平臺(tái)來寫不同版本的應(yīng)用程序并維護(hù)它,而且這已不是簡(jiǎn)單的二層結(jié)構(gòu),而是一種由表示層(browser)、功能層(web server)與數(shù)據(jù)庫(kù)服務(wù)層(db
28、 server)構(gòu)成的三層分布式結(jié)構(gòu)如圖3-1所示。圖3-1 web三層結(jié)構(gòu)browser端只有browser,一般沒有應(yīng)用程序,借助于java applet、vbscript、javascript、activex技術(shù)可以處理一些簡(jiǎn)單的客戶端處理邏輯,顯示用戶界面和web server端的運(yùn)行結(jié)果。 web server + transaction server端的負(fù)責(zé)接受遠(yuǎn)程或本地的數(shù)據(jù)查詢請(qǐng)求,然后運(yùn)行服務(wù)器腳本,借助于cgi、ado等中間部件把數(shù)據(jù)請(qǐng)求通過odbc發(fā)送到db server上以獲取相關(guān)數(shù)據(jù),再把結(jié)果數(shù)據(jù)轉(zhuǎn)化成html及各種腳本傳回客戶的browse。 db server端負(fù)
29、責(zé)管理數(shù)據(jù)庫(kù),處理數(shù)據(jù)更新及完成查詢要求、運(yùn)行存儲(chǔ)過程。可以是集中式的也可以是分布式的。 web browse與web server之間的關(guān)系就類似于主機(jī)/終端結(jié)構(gòu)中兩者之間的關(guān)系,web server+ transaction server與db server之間的關(guān)系就像client/server結(jié)構(gòu)中兩者之間的關(guān)系。在三層結(jié)構(gòu)中,數(shù)據(jù)計(jì)算與數(shù)據(jù)處理集中在中間層,即web server+ transaction server這一層,由于中間層的服務(wù)器的性能容易提升,所以在intranet下的三層結(jié)構(gòu)可以滿足用戶的需求。但這種結(jié)構(gòu)對(duì)數(shù)據(jù)庫(kù)服務(wù)器提出了高要求。從管理的角度來看,程序代碼的維護(hù)、
30、數(shù)據(jù)庫(kù)的備份雖然可以在服務(wù)器端執(zhí)行,但這種三層結(jié)構(gòu)對(duì)網(wǎng)絡(luò)帶寬是有一定要求的,因?yàn)榭蛻舳嗣看我螳@取的數(shù)據(jù)和反饋信息都要通過網(wǎng)絡(luò)與服務(wù)器聯(lián)系。3.2、分布式動(dòng)態(tài)web應(yīng)用系統(tǒng)的構(gòu)成 分布式動(dòng)態(tài)web應(yīng)用系統(tǒng)一般由如下四部分構(gòu)成: 3.2.1web server 以往的web server主要任務(wù)是提供文件服務(wù)或郵件服務(wù),現(xiàn)在它正成為一種獨(dú)立的應(yīng)用系統(tǒng)開發(fā)及運(yùn)行環(huán)境,用來管理控制這個(gè)環(huán)境中的網(wǎng)站及服務(wù)器端組件,而且有一些服務(wù)器從web服務(wù)器中獨(dú)立出來,主要承擔(dān)運(yùn)行應(yīng)用系統(tǒng)的任務(wù),這就是所謂的應(yīng)用服務(wù)器,其目的是把以前復(fù)雜的胖客戶端變?yōu)槭菘蛻舳耍瑥亩褟?fù)雜的應(yīng)用程序轉(zhuǎn)到web服務(wù)器上,使面向用戶的復(fù)
31、雜性從客戶端轉(zhuǎn)到了web服務(wù)器一端,瘦客戶端也有易學(xué)易用易管理的優(yōu)點(diǎn)15。 目前流行的web服務(wù)器軟件是微軟公司的iis,由于iis與windows nt 集成在一起,通過nt所做的優(yōu)化工作,使之有很高的執(zhí)行效率,它采用nt的安全認(rèn)證特性,易于管理。從iis2.0版之后就支持cgi、isapi、asp。iis4.0更是支持多個(gè)ip,可在一臺(tái)服務(wù)器上支持多個(gè)web網(wǎng)站和ftp網(wǎng)站,而不會(huì)相互影響,iis 4.0也加進(jìn)了mts 2.0(事務(wù)服務(wù)器),具有分布式事務(wù)處理的能力,所以iis是構(gòu)建分布式動(dòng)態(tài)web應(yīng)用的較佳選擇1617。3.2.2服務(wù)器端組件 微軟公司推出的基于com/dcom的acti
32、vex技術(shù),可以用于為web應(yīng)用開發(fā)很多可重用的服務(wù)器端組件,用以增強(qiáng)web服務(wù)器端應(yīng)用程序的功能,基于組件的應(yīng)用已成為一種必然的趨勢(shì)。3.2.3數(shù)據(jù)庫(kù)服務(wù)器 胖服務(wù)器/瘦客戶機(jī)模式使數(shù)據(jù)庫(kù)服務(wù)器變得必不可少。很多廠商都推出了各種類型的數(shù)據(jù)庫(kù)軟件,在windows nt環(huán)境下,微軟的sql server 6.5/7.0是較好的選擇,因?yàn)樗cnt同樣很好的集成在一起了,可以充分發(fā)揮nt的優(yōu)勢(shì)。 3.2.4瀏覽器 目前占市場(chǎng)份額較大的是微軟公司的ie和netscape的navigator。兩者都支持瀏覽器端組件,前者采用activex control,后者采用plug-ins技術(shù)。瀏覽器為客戶端提
33、供了一個(gè)界面友好,風(fēng)格統(tǒng)一,易于使用,較少維護(hù)的通用界面。 3.3理論與實(shí)際的結(jié)合正如前面引言部分所述:對(duì)于本在線考試系統(tǒng),其功能目標(biāo)是實(shí)現(xiàn)將現(xiàn)有的紙張答題式考試向基于互聯(lián)網(wǎng)的無(wú)紙張考試系統(tǒng)的轉(zhuǎn)變,所以它必須考慮整個(gè)考試流程的進(jìn)行,實(shí)現(xiàn)對(duì)系統(tǒng)的賬戶不同管理,以及完成閱卷、評(píng)分這些環(huán)節(jié)的處理。由于系統(tǒng)數(shù)據(jù)收集的實(shí)時(shí)性要求不高,針對(duì)3.1中的分析,采用browse/server結(jié)構(gòu)來進(jìn)行設(shè)計(jì)是合理可行的 圖3-2 考試系統(tǒng)原理示意圖第四章 開發(fā)環(huán)境與總體設(shè)計(jì)4.1計(jì)算機(jī)軟硬件環(huán)境及規(guī)劃本系統(tǒng)采用軟件環(huán)境為:操作系統(tǒng):win2000專業(yè)版軟件環(huán)境:macromedia dream weaver mx
34、 2004+access2000 注:可以將access2000導(dǎo)入到sql server4.2總體設(shè)計(jì)規(guī)劃4.2.1系統(tǒng)設(shè)計(jì)階段目標(biāo)設(shè)計(jì),功能設(shè)計(jì)4.2.2數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)階段數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)創(chuàng)建4.2.3后臺(tái)服務(wù)器和數(shù)據(jù)庫(kù)配置階段后臺(tái)服務(wù)器配置后臺(tái)數(shù)據(jù)庫(kù)配置4.2.4前端網(wǎng)絡(luò)頁(yè)面的開發(fā)與設(shè)計(jì)階段按照邏輯模塊展開4.2.5系統(tǒng)的發(fā)布與維護(hù)階段湖北汽車工業(yè)學(xué)院信息管理系易飛erp實(shí)驗(yàn)室機(jī)房可以提供計(jì)算機(jī)軟硬件環(huán)境??梢员WC論文的寫作環(huán)境能夠按時(shí)完成并達(dá)到要求18。第五章 在線考試系統(tǒng)的開發(fā)5.1網(wǎng)站系統(tǒng)分析一般的大型網(wǎng)站目前已經(jīng)越來越少的使用asp來架構(gòu),不過在中小型商務(wù)
35、站點(diǎn)上,asp依然占據(jù)了較大的市場(chǎng)范圍。asp以其簡(jiǎn)單,開發(fā)周期短,易維護(hù)的優(yōu)點(diǎn)受到中小型站點(diǎn)管理員的青睞。不過,據(jù)我所知,完全使用asp來集成更新維護(hù)網(wǎng)站的僅常見于那些真正的商務(wù)站點(diǎn)或者比較成熟的技術(shù)站點(diǎn),更多的網(wǎng)站僅僅有一些獨(dú)立的欄目在使用asp程序。這樣的特點(diǎn)是站點(diǎn)管理過于分散,比如:每進(jìn)入一個(gè)欄目管理都要輸入不同的賬號(hào)和密碼。不僅浪費(fèi)管理員的精力,更加重了網(wǎng)站的維護(hù)困難程度。而我們看見的那些單欄目使用的asp程序有很多是從網(wǎng)上尋找的源代碼,這樣使你的網(wǎng)站安全性也會(huì)受到一定的威脅,因?yàn)榫W(wǎng)上提供的源代碼都是開放的,每個(gè)人都可以研究這個(gè)代碼,asp的安全性本來就是一個(gè)受用戶長(zhǎng)期關(guān)注的問題,而
36、被開放的源代碼更是危險(xiǎn)。當(dāng)然并不是不贊成使用網(wǎng)上的源代碼,只是希望我們能夠注意這個(gè)問題,不要完全信奉拿來主義,該修改的地方還是要修改,該打補(bǔ)丁的地方還是要打上補(bǔ)?。ó?dāng)然絕不是讓你去修改人家的版權(quán)信息)。綜上所述,我覺得凡是對(duì)asp有一定了解的人都可以自己開發(fā)一個(gè)整站系統(tǒng),并且是集成化的。下面的分析就是建立一套完整的web動(dòng)態(tài)站點(diǎn)的思路。5.1.1對(duì)網(wǎng)站進(jìn)行需求分析:很多人都忽略了這一點(diǎn),他們認(rèn)為開發(fā)web站點(diǎn)程序不需要用軟件工程的思想,實(shí)際上最后會(huì)導(dǎo)致web站點(diǎn)的無(wú)序化,比如:一些人想到要開發(fā)什么站點(diǎn)想都不想,直接開始寫代碼,想到什么就寫什么,直到他們寫完之后,才發(fā)現(xiàn)還有什么功能沒有寫,然后就
37、立刻返回加代碼。這樣的話,使得程序極易出錯(cuò)。所以一開始的時(shí)候應(yīng)該像軟件工程一樣,制定web站點(diǎn)開發(fā)的需求分析,包括所開發(fā)web系統(tǒng)的基本要求,如:功能,性能,用戶群,基本的數(shù)據(jù)流程和處理流程,安全與保密的要求。web系統(tǒng)的目標(biāo),條件、假設(shè)、限制等19。詳細(xì)一點(diǎn)來說,就以我的站點(diǎn)來說,它是一個(gè)技術(shù)型站點(diǎn),應(yīng)包括登錄系統(tǒng)、選題系統(tǒng)、管理系統(tǒng)等等,那么這些系統(tǒng)需要具備哪些功能就是我們要分析的問題。 實(shí)際上,不管對(duì)于什么系統(tǒng),在一開始對(duì)其需求進(jìn)行了詳細(xì)分析之后,實(shí)現(xiàn)起來肯定比想到哪寫道哪輕松高效。如果方便的話用電腦或者紙將web系統(tǒng)的開發(fā)需求記錄下來,在開發(fā)過程中也可以進(jìn)行參考。這里還不得不提的一個(gè)話
38、題是關(guān)于用戶驗(yàn)證的,一般我們對(duì)用戶的驗(yàn)證使用的是session和cookie,session變量和cookies是同一類型的。如果某用戶將瀏覽器設(shè)置為不兼容任何cookie,那么該用戶就無(wú)法使用這個(gè)session變量及cookies。一般來說,對(duì)于網(wǎng)站管理員的操作我個(gè)人推薦使用session,因?yàn)槲覀兊闹黝}是開發(fā)web整站,那么管理員肯定要在多個(gè)管理頁(yè)面中跳轉(zhuǎn),在這里session是非常方便的。若是對(duì)用戶進(jìn)行驗(yàn)證,那么可以使用cookies,比如用戶可以設(shè)置強(qiáng)制瀏覽器把cookie存儲(chǔ)在計(jì)算機(jī)上面,只需要使用response. cookies的expires屬性就可以輕松的做到,還有一點(diǎn)就是因
39、為session的信息是非常容易丟失的,對(duì)于用戶這種長(zhǎng)時(shí)間訪問的集群,則必須通過在用戶的web瀏覽器中存儲(chǔ)一個(gè)專用的cookie,并且把cookie信息保存到數(shù)據(jù)庫(kù)中來創(chuàng)建一個(gè)用戶標(biāo)識(shí)。上面是web整站開發(fā)的先期需求分析,就我個(gè)人認(rèn)為是在網(wǎng)站工程中非常重要的一步。5.1.2 組織和管理站點(diǎn)結(jié)構(gòu)開發(fā)一個(gè)有一定規(guī)模的站點(diǎn)的時(shí)候,使站點(diǎn)具有較好的目錄結(jié)構(gòu)是一個(gè)值得注意的問題。商業(yè)應(yīng)用的程序往往都要求具有在事務(wù)內(nèi)部運(yùn)行腳本和組件的能力。事務(wù)是服務(wù)器端的操作,簡(jiǎn)單的說就是即便該操作包含了許多步驟,例如:下定單,查看定單,打印訂單等也只能整體返回操作是成功還是失敗。用戶可以創(chuàng)建在事務(wù)內(nèi)部運(yùn)行的asp腳本,
40、如果教本的任何一部分操作失敗,那么整個(gè)事務(wù)就終止。 這里要詳細(xì)說明的并不是事務(wù)性腳本在整站中的應(yīng)用,而是要讓你在開發(fā)中不至于被眾多的文件,眾多的操作攪昏了頭20。 合理的對(duì)文件名進(jìn)行組織。例如:將管理頁(yè)面命名為admin.asp,而管理頁(yè)面中對(duì)各個(gè)欄目進(jìn)行操作的頁(yè)面可以在admin后面加下劃線然后命以這個(gè)欄目的名稱,比如成績(jī)管理頁(yè)面admin_score.asp,用戶管理頁(yè)面admin_users.asp 關(guān)于文件的放置。我這里僅是以我的做法來講解,不同的人有不同的見解。將所有管理操作頁(yè)面放置于同一目錄下面,為的是更加方便的管理和分配權(quán)限。各個(gè)欄目用戶頁(yè)面可以放在一個(gè)目錄下方便于管理。數(shù)據(jù)庫(kù)可
41、以放在統(tǒng)一的目錄下面。 圖5-1 本系統(tǒng)的目錄結(jié)構(gòu) 為了減少文件的數(shù)量。沒有必要為每個(gè)添加,刪除,修改或者別的操作新建許多頁(yè)面,你可以使用參數(shù)來減少頁(yè)面,打一個(gè)比方,在管理頁(yè)面admin_users.asp中,當(dāng)admin_users.asp?action=addnew的時(shí)候執(zhí)行添加操作,當(dāng)admin_users.asp?action=del的時(shí)候執(zhí)行刪除操作,這樣將大大增強(qiáng)站點(diǎn)的集成化程度21。5.2網(wǎng)站開發(fā)的設(shè)計(jì)思想與實(shí)現(xiàn)方法在線考試系統(tǒng)主要包括系統(tǒng)的注冊(cè)、在線的考試系統(tǒng)、評(píng)分系統(tǒng)、在線的管理系統(tǒng)和在線的閱卷系統(tǒng)等5.2.1目標(biāo)設(shè)計(jì):在線考試系統(tǒng)功能如下。 、登錄系統(tǒng)主要功能要求、歡迎頁(yè)面
42、、功能選擇頁(yè)面 各種功能的登錄頁(yè)面及密碼驗(yàn)證、在線考試系統(tǒng)的主要是實(shí)現(xiàn)功能要求、讓用戶選擇試卷類型、用戶選擇試卷斷線情況、從試題庫(kù)中隨機(jī)出題給用戶、將隨機(jī)試卷保存在暫時(shí)表中、保存用戶答案、給用戶判分、保存用戶試卷、查詢用戶成績(jī)、在線賬戶管理系統(tǒng)的主要功能要求、選擇更改賬戶屬性的類別、瀏覽整個(gè)系統(tǒng)中的各種用戶(超級(jí)用戶、普同用戶、添加試題的管理用戶和評(píng)卷老師用戶)、添加包含某項(xiàng)功能的用戶、刪除不再需要的用戶、更改用戶的密碼、在線閱卷系統(tǒng)的主要功能、瀏覽系統(tǒng)中用戶答題情況、刪除某個(gè)用戶的其中一個(gè)答卷或刪除某種系統(tǒng)試卷5.2.2、系統(tǒng)功能設(shè)計(jì)根據(jù)系統(tǒng)功能的要求,在線考試系統(tǒng)分為上述三個(gè)模塊。即在線考
43、試系統(tǒng),在線賬號(hào)管理系統(tǒng)和在線的閱卷系統(tǒng)。可以將系統(tǒng)分為幾個(gè)功能模塊來分別設(shè)計(jì),功能模塊之間關(guān)系如圖5-2所示。圖5-2 系統(tǒng)功能模塊5.2.3數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)需求分析根據(jù)系統(tǒng)功能的設(shè)計(jì)要求以及功能模塊的劃分,對(duì)于在線考試系統(tǒng)的試題庫(kù)數(shù)據(jù)庫(kù),可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):1試卷名稱表:主要包括試卷的名稱、該試卷的總分?jǐn)?shù)、試卷的答題時(shí)間,以及試卷內(nèi)各類題型的數(shù)目等。2試題信息表:主要包括試題的id、專業(yè)、試題類型、難易程度、試題內(nèi)容、試題分?jǐn)?shù)、試題答案以及一些附加的內(nèi)容。試題本身包含三個(gè)表,在本考試系統(tǒng)中包括了3個(gè)專業(yè)的試題表。對(duì)于用戶記錄數(shù)據(jù)主要包含如下的一些數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):1
44、超級(jí)用戶信息:用戶的id、用戶名、密碼、權(quán)限等內(nèi)容。2用戶記錄表:用戶的id、用戶名、密碼、權(quán)限以及當(dāng)前的狀態(tài)(此狀態(tài)可以查看所選用戶是否處于考試狀態(tài),包括正在考試和斷線兩種情況)等信息。對(duì)于在線的考試系統(tǒng),可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):1試卷名稱:主要包括試卷名稱、試題分?jǐn)?shù)、試題的題量,以及試卷的答題時(shí)間等內(nèi)容2試題信息表:主要包括試題的id、專業(yè)、試題類型、難易程度、試題內(nèi)容、試題分?jǐn)?shù)、試題答案,以及一些附加的內(nèi)容。3 暫時(shí)試題信息表:主要包括試題的id、專業(yè)、試題類型、難易程度、試題內(nèi)容、試題分?jǐn)?shù)、試題答案,以及一些附加的內(nèi)容。4成績(jī)登記表:主要包括用戶、成績(jī)、當(dāng)前狀態(tài)等。對(duì)于在線的管理
45、系統(tǒng),可以列出下面數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):用戶記錄表:用戶id、用戶名、密碼、權(quán)限,以及當(dāng)前狀態(tài)(此狀態(tài)可以查看所選用戶是否處于考試狀態(tài),包括正在考試和斷線兩種)等信息22。數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以及功能模塊的劃分,對(duì)于系統(tǒng)用戶信息數(shù)據(jù)庫(kù),可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu);用戶的id、用戶名、密碼、權(quán)限。他不需要任何的外部數(shù)據(jù)支持。對(duì)于在線的考試系統(tǒng),可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):試題信息:主要包括試題id、專業(yè)、試題題型、難易程度、試題內(nèi)容、試題分?jǐn)?shù)、試題答案,以及一些附加的內(nèi)容。所需的外部數(shù)據(jù)支持:試卷信息:試卷名稱、試卷分?jǐn)?shù)、答題時(shí)間。用戶信息:用戶名。對(duì)于在線帳戶管
46、理系統(tǒng),可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):用戶信息:用戶的id、用戶名、密碼、權(quán)限。超級(jí)用戶信息:用戶的id、用戶名、密碼、權(quán)限。對(duì)于在線的閱卷系統(tǒng),可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):試卷信息:試卷名稱、答題用戶、當(dāng)前狀態(tài)。試卷名稱信息:試卷名稱(從試卷表獲得)。所需的外部數(shù)據(jù)支持:超級(jí)用戶信息:用戶的id、用戶名、密碼、權(quán)限。5.2.4后臺(tái)服務(wù)器和數(shù)據(jù)庫(kù)配置后臺(tái)服務(wù)器庫(kù)配置首先,我要談的是在線考試系統(tǒng)的服務(wù)器配置問題。本系統(tǒng)使用了 microsoft的 iis 5對(duì)作為系統(tǒng)服務(wù)器。如果使用的是 windows 2000以上版本的操作系統(tǒng),那么添加 iis 5對(duì)服務(wù)器非常簡(jiǎn)單,只需要打開
47、“控制面板”里面的“添加刪除程序”選項(xiàng),然后選擇“添加刪除 windows組件”,最后選中彈出對(duì)話框的“internet信息服務(wù)(iis)選項(xiàng)”,按照系統(tǒng)提示進(jìn)行安裝即可。下面來介紹一下怎么設(shè)置iis的服務(wù)。 因?yàn)樵谠诰€考試系統(tǒng)的各個(gè)系統(tǒng)模塊里都使用asp的session(會(huì)話)對(duì)象和application(應(yīng)用程序)對(duì)象。這樣,就必須創(chuàng)建一個(gè)asp應(yīng)用程序來處理用戶登錄次數(shù)信息。一個(gè)asp應(yīng)用程序必須使用一個(gè)公用的目錄結(jié)構(gòu),該目錄包含了同站使用的所有頁(yè)面。頁(yè)面的具體位置并不重要,但要讓這些頁(yè)面都存于一個(gè)公用的目錄結(jié)構(gòu)里。建asp應(yīng)用程序的具體步驟 打開iis服務(wù)器,進(jìn)入web根
48、目錄。單擊鼠標(biāo)右鍵,選擇“屬性”命令,彈出一個(gè)屬性對(duì)話框,在應(yīng)用程序設(shè)置里,創(chuàng)建asp應(yīng)用程序。名稱與web根目錄同名。這樣我們就創(chuàng)建了一個(gè)asp應(yīng)用程序,但真正具有該應(yīng)用程序執(zhí)行功能的是一個(gè)稱作globalasa的特殊文件23。后臺(tái)數(shù)據(jù)庫(kù)的配置本章系統(tǒng)沒有使用odbc這種形式的數(shù)據(jù)庫(kù),而是直接采用了access文件的相對(duì)路徑來實(shí)現(xiàn)讀取數(shù)據(jù)庫(kù)的功能,簡(jiǎn)單的代碼如下所示:set conn =server.creatobject(“adodb.connection”)conn.open”driver=microsoft access driver(*.mdb) ;dbq =”&ser
49、ver .mappath(“./試題庫(kù).mdb”)set rs=server.creatobject(“adodb.recordset)但需要強(qiáng)調(diào),微軟的access數(shù)據(jù)庫(kù)本身并不是一個(gè)數(shù)據(jù)庫(kù)服務(wù)器,它不能用服務(wù)器來運(yùn)行查詢。對(duì)于數(shù)據(jù)龐大的情況,access本身不是一個(gè)好的選擇。另外一個(gè)要考慮的是數(shù)據(jù)庫(kù)的安全性問題。access比起 sql server而言,總體的安全性能要差。但是從應(yīng)用的角度而言,access數(shù)據(jù)庫(kù)易于使用,而且在創(chuàng)建和配置上,access數(shù)據(jù)庫(kù)都比sqlserver要容易24。5.2.5整個(gè)系統(tǒng)的所有頁(yè)面情況為:對(duì)于在線考試系統(tǒng),根據(jù)系統(tǒng)功能分析,僅有一個(gè)單一的流程化頁(yè)面
50、。所以從試題選擇頁(yè)面開始,然后是斷線記錄選擇頁(yè)面,接著就進(jìn)入考試頁(yè)面,然后是判分以及查詢成績(jī)的頁(yè)面。對(duì)于在線的管理系統(tǒng),根據(jù)系統(tǒng)功能分析,可以具體化為瀏覽系統(tǒng)用戶頁(yè)面,添加用戶頁(yè)面,刪除用戶頁(yè)面以及該用戶密碼頁(yè)面。對(duì)于在線的閱卷系統(tǒng),根據(jù)系統(tǒng)功能分析,可以具體細(xì)化為閱卷登錄頁(yè)面,另外一個(gè)就是試卷管理頁(yè)面。圖5-3 系統(tǒng)的頁(yè)面邏輯示意圖5.2.6、系統(tǒng)數(shù)據(jù)流程圖下面圖5-4是此系統(tǒng)的第一層數(shù)據(jù)流程圖圖5-4 第一層數(shù)據(jù)流程圖下面圖5-5是在線考試模塊的擴(kuò)展圖5-5 考試模塊的數(shù)據(jù)流程圖下面圖5-6是賬號(hào)管理的擴(kuò)展圖5-6 賬號(hào)管理流程圖以下圖5-7是閱卷管理的流程圖擴(kuò)展圖5-7 閱卷管理流程圖第
51、六章 在開發(fā)過程中的一些問題6.1隨機(jī)選題算法隨機(jī)選題算法先設(shè)定某項(xiàng)題型的題數(shù),然后通過頁(yè)面的上下文獲取的系統(tǒng)試題表中這項(xiàng)題型的所有試題的總數(shù),接著以這個(gè)總數(shù)來生成隨機(jī)試題數(shù)組,生成數(shù)組時(shí)要防止生成重復(fù)數(shù)字,要進(jìn)行重新判斷。6.2出題頁(yè)面保存主要通過建立一個(gè)暫時(shí)表來實(shí)現(xiàn)。系統(tǒng)保存考試用戶的試題后,然后通過暫時(shí)生成的試題表來保存用戶答案,從而實(shí)現(xiàn)判分功能,最后完成保存用戶試卷。暫時(shí)表的另一個(gè)功能是能夠在用戶選擇讀取斷線記錄的情況下,將試題表的內(nèi)容讀取出來,然后顯示給用戶,提供給用戶二次考試機(jī)會(huì)6.3系統(tǒng)安全6.3.1軟件安全性隨著internet的發(fā)展,web技術(shù)日新月異。繼通用網(wǎng)關(guān)接口(cgi
52、)之后,“asp”(active server pages)作為一種典型的服務(wù)器端網(wǎng)頁(yè)設(shè)計(jì)技術(shù),被廣泛地應(yīng)用在網(wǎng)上銀行、電子商務(wù)、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中。同時(shí)access數(shù)據(jù)庫(kù)作為微軟推出的以標(biāo)準(zhǔn)jet為引擎的桌面型數(shù)據(jù)庫(kù)系統(tǒng),由于具有操作簡(jiǎn)單、界面友好等特點(diǎn),具有較大的用戶群體。因此aspaccess成為許多中小型網(wǎng)上應(yīng)用系統(tǒng)的首選方案。但aspaccess解決方案在為我們帶來便捷的同時(shí),也帶來了不容忽視的安全問題。aspaccess解決方案的主要安全隱患來自access數(shù)據(jù)庫(kù)的安全性,其次在于asp網(wǎng)頁(yè)設(shè)計(jì)過程中的安全漏洞。 下面就這些安全隱患與漏洞作一介紹,作為提高系統(tǒng)安全性的參考2
53、5。access數(shù)據(jù)庫(kù)的存儲(chǔ)隱患 在aspaccess應(yīng)用系統(tǒng)中,如果獲得或者猜到access數(shù)據(jù)庫(kù)的存儲(chǔ)路徑和數(shù)據(jù)庫(kù)名,則該數(shù)據(jù)庫(kù)就可以被下載到本地。例如:對(duì)于網(wǎng)上書店的access數(shù)據(jù)庫(kù),人們一般命名為book.mdb、store.mdb等,而存儲(chǔ)的路徑一般為“url/database”或干脆放在根目錄(“url/”)下。這樣,只要在瀏覽器地址欄中敲入地址:“url/database/store.mdb”,就可以輕易地把store.mdb下載到本地的機(jī)器中。 .access數(shù)據(jù)庫(kù)的解密隱患 由于access數(shù)據(jù)庫(kù)的加密機(jī)制非常簡(jiǎn)單,所以即使數(shù)據(jù)庫(kù)設(shè)置了密碼,解密
54、也很容易。該數(shù)據(jù)庫(kù)系統(tǒng)通過將用戶輸入的密碼與某一固定密鑰進(jìn)行異或來形成一個(gè)加密串,并將其存儲(chǔ)在.mdb文件中從地址“h42”開始的區(qū)域內(nèi)。由于異或操作的特點(diǎn)是“經(jīng)過兩次異或就恢復(fù)原值”,因此,用這一密鑰與*.mdb文件中的加密串進(jìn)行第二次異或操作,就可以輕松地得到access數(shù)據(jù)庫(kù)的密碼?;谶@種原理,可以很容易地編制出解密程序。由此可見,無(wú)論是否設(shè)置了數(shù)據(jù)庫(kù)密碼,只要數(shù)據(jù)庫(kù)被下載,其信息就沒有任何安全性可言了26。 .源代碼的安全隱患 由于asp程序采用的是非編譯性語(yǔ)言,這大大降低了程序源代碼的安全性。任何人只要進(jìn)入站點(diǎn),就可以獲得源代碼,從而造成asp應(yīng)用程序源代碼的泄露。 .程序設(shè)計(jì)中的安全隱患asp代碼利用表單(form)實(shí)現(xiàn)與用戶交互的功能,而相應(yīng)的內(nèi)容會(huì)反映在瀏覽器的地址欄中,如果不采用適當(dāng)?shù)陌踩胧?,只要記下這些內(nèi)容,就可以繞過驗(yàn)證直接進(jìn)入某一頁(yè)面。例如在瀏覽器中敲入“page.asp?x=1”,即可不經(jīng)過表單頁(yè)面直接進(jìn)入滿足“x=1”條件的頁(yè)面。因此,在設(shè)計(jì)驗(yàn)證或注冊(cè)頁(yè)面時(shí),必須采取特殊措施來避免此類問題的發(fā)生。提高數(shù)據(jù)庫(kù)的安全性由于access數(shù)據(jù)庫(kù)加密機(jī)制過于簡(jiǎn)單,因此,如何有效地防止access數(shù)據(jù)庫(kù)被下載,就成了提高
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙教版2021-2022學(xué)年度七年級(jí)數(shù)學(xué)上冊(cè)模擬測(cè)試卷 (791)【含簡(jiǎn)略答案】
- 軍事教官管理制度
- 空氣調(diào)節(jié)課程設(shè)計(jì)學(xué)校
- 醫(yī)療器械追溯管理制度
- 攪拌車制動(dòng)系統(tǒng)課程設(shè)計(jì)
- 小學(xué)四年級(jí)班主任工作總結(jié)
- 插花蛋糕課程設(shè)計(jì)
- 插畫手繪系統(tǒng)課程設(shè)計(jì)
- 實(shí)驗(yàn)幼兒園精準(zhǔn)扶貧工作總結(jié)
- 會(huì)議展覽設(shè)備租賃合同
- 急性腎小球腎炎的護(hù)理PPT文檔
- 腎結(jié)石健康宣教講解課件
- 【千禾味業(yè)公司運(yùn)營(yíng)資金管理問題和對(duì)策(開題報(bào)告)】
- 萍鄉(xiāng)2024出租車資格證考試
- 課題-初中數(shù)學(xué)作業(yè)優(yōu)化設(shè)計(jì)的研究研究報(bào)告及課題研究報(bào)告
- 多抓魚的分析報(bào)告
- 《新生兒顱內(nèi)出血》課件
- 《汽車?yán)入娐贰氛n件
- 教師二次成長(zhǎng)論-教師專業(yè)發(fā)展路徑及要領(lǐng)
- 關(guān)于事故隱患報(bào)告及其獎(jiǎng)勵(lì)方案
- 浙美版美術(shù)一下第6課《小小書簽》課件1
評(píng)論
0/150
提交評(píng)論