在線考試模擬系統(tǒng)設計與開發(fā)畢業(yè)論文_第1頁
在線考試模擬系統(tǒng)設計與開發(fā)畢業(yè)論文_第2頁
在線考試模擬系統(tǒng)設計與開發(fā)畢業(yè)論文_第3頁
在線考試模擬系統(tǒng)設計與開發(fā)畢業(yè)論文_第4頁
在線考試模擬系統(tǒng)設計與開發(fā)畢業(yè)論文_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學 位 論 文在線考試模擬系統(tǒng)開發(fā)指導教師姓名 申請學位級別 學 士 專業(yè)名稱 論文提交日期 年月 論文答辯日期 年月 學位授予單位和日期 答辯委員會主任 評閱人 年月日35獨 創(chuàng) 性 聲 明本人聲明所呈交的學位論文是本人在導師指導下進行的研究工作及取得的研究成果。據(jù)我所知,除了文中特別加以標注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得湖北汽車工業(yè)學院或其它教育機構的學位或證書而使用過的材料。與我一同工作的同學對本研究所做的任何貢獻均已在論文中作了明確的說明并表示謝意。簽名: 日期: 年 月 日關于論文使用授權的說明本學位論文作者完全了解湖北汽車工業(yè)學院有關保

2、留、使用學位論文的規(guī)定,有權保留并向國家有關部門或機構送交論文的復印件和磁盤,允許論文被查閱和借閱。本人授權湖北汽車工業(yè)學院可以將學位論文的全部或部分內(nèi)容編入有關數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復制手段保存、匯編學位論文。簽名: 導師簽名: 日期: 年 月 日摘要本文描述現(xiàn)代網(wǎng)絡教育的教學手段在線考試,并對動態(tài)服務器主頁(asp:active server pages)技術的應用方法進行了探討。在遠程教育傳統(tǒng)方法的礎上,提出了利用asp技術構建基于web的學習平臺的模式,從而產(chǎn)生并執(zhí)行了高效、交互、動態(tài)的web服務器應用程序,使用戶通過互聯(lián)網(wǎng)學習,充分發(fā)揮現(xiàn)代網(wǎng)絡學習的優(yōu)勢。關鍵字:

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技術的特點22.2 active server pages 模型22.3 asp的發(fā)展2第三章 理論依據(jù)與應用43.1 網(wǎng)絡開發(fā)模式的發(fā)展與比較43.

5、2 分布式動態(tài)web應用系統(tǒng)的構成73.3 理論與實際的結合8第四章 開發(fā)環(huán)境與總體設計104.1 計算機軟硬件環(huán)境及規(guī)劃104.2 總體設計規(guī)劃104.2.1 系統(tǒng)設計階段104.2.2 數(shù)據(jù)庫設計與實現(xiàn)階段104.2.3 后臺服務器和數(shù)據(jù)庫配置階段104.2.4 前端網(wǎng)絡頁面的開發(fā)與設計階段104.2.5 系統(tǒng)的發(fā)布與維護階段10第五章 在線考試系統(tǒng)的開發(fā)115.1 網(wǎng)站系統(tǒng)分析115.1.1 對網(wǎng)站進行需求分析:115.1.2 組織和管理站點結構125.2網(wǎng)站開發(fā)的設計思想與實現(xiàn)方法135.2.1 目標設計:135.2.2 系統(tǒng)功能設計145.2.3 數(shù)據(jù)庫設計 數(shù)據(jù)庫

6、需求分析 數(shù)據(jù)庫的邏輯設計165.2.4 后臺服務器和數(shù)據(jù)庫配置 后臺服務器庫配置 建asp應用程序的具體步驟175.2.5 整個系統(tǒng)的所有頁面情況為:175.2.6 系統(tǒng)數(shù)據(jù)流程圖18第六章 在開發(fā)過程中的一些問題226.1 隨機選題算法226.2 出題頁面保存226.3 系統(tǒng)安全226.3.1 軟件安全性 access數(shù)據(jù)庫的存儲隱患 access數(shù)據(jù)庫的解密隱患 源代碼的安全隱患 程序設計中的安全隱患 利用session對象進行注冊驗證246.3

7、.1.6 session與cookie的安全性2 使用身份驗證機制保護asp頁面256.3.2 硬件安全性2 ntfs 權限2 web服務器權限2 自動判分功能的實現(xiàn)26第七章 系統(tǒng)的發(fā)布與維護29第八章 結論30致謝32參考文獻33第一章 引言 隨著internet的普及和發(fā)展,越來越多的計算機通信應用正在向互連網(wǎng)的主流應用模式動態(tài)交互應用轉移。傳統(tǒng)的萬維網(wǎng)中的多數(shù)信息是靜止的,文件中的信息只是在站點管理人員修改后才能發(fā)生變化,這種靜態(tài)頁面缺少交互性。能取到什么信息完全由信息提供者決定,用戶處于被動的地位,因而缺少交互性,難以形

8、成真正有效的服務。這就使動態(tài)服務成為未來www應用發(fā)展的方向。所謂動態(tài)服務,包含有兩個方面的含意:首先,必須從用戶的角度出發(fā),將簡單的檢索頁面抽象成服務來看待,也就是說、用戶的每一次使用就是為了需要得到某種服務。這樣,才能形成internet中高效的服務。其次,所提供的服務應具有交互性,針對不同的使用者以及不同的要求而提供不同的服務。internet/intranet的出現(xiàn)是本世紀內(nèi)計算機通信領域最重要的一次革命,利用這種媒體,人們可以建立一個虛擬的電子世界,在這個世界里,人們的思想和概念可以在幾分鐘內(nèi)傳遍全世界。這是一個比傳統(tǒng)媒體更為靈活和快速的媒體,通過它商家可以與它們自己的員工、潛在的客

9、戶乃至世界上任何一個人溝通,電子商務的概念也隨之而來。借助于www通過動態(tài)的交互式信息發(fā)布,諸如網(wǎng)上購物、網(wǎng)上銀行、網(wǎng)上書店等一系列在線電子商務服務系統(tǒng)得于盛行。這些系統(tǒng)都離不開分布式的數(shù)據(jù)庫、與用戶及后臺數(shù)據(jù)庫交互的動態(tài)web應用程序、安全認證等技術。分布式動態(tài)web應用系統(tǒng)開發(fā)技術自然而然地成為一項熱門技術,本文不討論分布式數(shù)據(jù)庫的技術細節(jié),只是將其思想應用到本文中,本文討論的是一個在線數(shù)考試系統(tǒng)的分析與建設,在線考試系統(tǒng)充分利用了browse/server結構特點,實現(xiàn)了將考試系統(tǒng)移植到互聯(lián)網(wǎng)上的功能,該系統(tǒng)的優(yōu)勢在于極大的簡化了老師出題的工作和學生考試的選題,做到了試題的多樣性。第二章

10、 asp的介紹及其發(fā)展2.1asp技術的特點asp技術是目前網(wǎng)站應用中的核心技術,也是目前流行的3p技術中應用最廣泛的一種。3p技術分別是:asp(active server pages)、php(personal homepage)和jsp(java server pages)。asp是微軟公司的產(chǎn)品,jsp最初是sun公司推出的,php是由一個網(wǎng)絡小組開發(fā)和維護的。目前最常用的是asp和jsp。在企業(yè)應用中,操作系統(tǒng)使用windows 2000 server,web服務器使用操作系統(tǒng)自帶的iis5.0(internet information server),服務器端語言使用asp,數(shù)據(jù)庫

11、服務器使用sql server。這種搭配已經(jīng)成為目前開發(fā)領域中的標準配置。asp可以使用jscript(javascript的微軟版)或者vbscript作為腳本語言。使用該腳本有四個優(yōu)點: 1、jscript和c語言的語法很類似,幾乎所有的高校都開c語言這門課程。這樣有利于利用已有的知識,或者為學習其他課程提供良好的基礎。2、客戶端編程考慮瀏覽器兼容的問題,目前一般采用javascript語言。這樣客戶端和服務器端使用語言的語法就一致了,不至于將語法弄混,有利于學習。3、在asp.net中,一般采用c#作為腳本,c#的語法和jscript一致,這樣就為學習新技術提供了必要的基礎。4、在實際應

12、用中,大部分企業(yè)采用jscript作為腳本,一些知名的企業(yè)如:聯(lián)想、方正和用友軟件等等。這樣使學習更加貼近于實際的工程應用1。2.2 active server pages 模型瀏覽器從 web 服務器上請求 .asp 文件時,asp 腳本開始運行。然后 web 服務器調(diào)用 asp,asp 全面讀取請求的文件,執(zhí)行所有腳本命令,并將 web 頁傳送給瀏覽器。由于腳本在服務器上而不是在客戶端運行,傳送到瀏覽器上的 web頁是在web服務器上生成的。所以不必擔心瀏覽器能否處理腳本:web 服務器已經(jīng)完成了所有腳本的處理,并將標準的 html 傳輸?shù)綖g覽器。由于只有腳本的結果返回到瀏覽器,所以服務器

13、端腳本不易復制。用戶看不到他們正在瀏覽的頁的腳本命令2。2.3 asp的發(fā)展web源于靜態(tài)文本,現(xiàn)在很多站點幾乎還是采用這種方式。靜態(tài)文本的缺點就是維護難(文件數(shù)目多)、查詢難、修改難。雖然可以采用frontpage對站 點進行管理,但這只是其中的一個辦法。現(xiàn)在,很多的站點都會在后臺采用數(shù)據(jù)庫,動態(tài)生成超文本。這樣,要改變式樣,只需修改幾個文件;要變更內(nèi)容,只需對數(shù)據(jù)庫進行操作即可,而且易于保持一致性;而對于全文檢索等查詢應用,這種方式的優(yōu)越性更為突出。(經(jīng)常說的“動態(tài)”也包括圖片的動態(tài)顯示, 如動態(tài)的gif、java、applet等,本文所指為資料的動態(tài)性)通用網(wǎng)關界面cgi(common

14、gateway interface)和網(wǎng)絡服務器應用程序界面isapi(internet server application programminginterface)與其他相關技術的出現(xiàn),使我們能夠方便地與webserver進行溝通,從而像一些計數(shù)器、留言版等cgi程式相繼出現(xiàn)并蔚然成風。但這些cgi程序都有一個很大的缺點,就是cgi(可用vb、java、perl、c或dephi等編寫)與html只能分開 編寫、分開運行,要將兩者融合在一起并不容易,從而導致維護與編寫都相當困難。因此,一些廠商后來都推出了自己的script語言,來增強網(wǎng)頁開發(fā)的功能。其中netscape(網(wǎng)景公司)推出了j

15、avascript(forclient端和forserver端兩種);微軟則推出了vbscript和asp(asp的語法與vb的語法類似)兩種,也用于服務器端和客戶端程序的編寫。對于專業(yè)開發(fā)人員而言,客戶端程序的最重要的一點是通用性,而服務器端的則強調(diào)功能和效率。對于client端程序的開發(fā),javascript無疑是最佳的,因為當今兩大主流瀏覽器ie和netscape都宣稱支持該標準;而vbscript則只有ie才能支持。但令我們苦惱的是對某些javascript的標記,ie或ie的某些版本并不一定會支持,這會導致我們不得不把一部分程序移到服務器端去執(zhí)行,因為服務器端的程序會先解釋生成htm

16、l(或含activex)文本,再送到客戶端,故不存在兼容問題。livewire(javascriptforserver端的編譯器)和asp一樣,都是一些手稿語言(手稿是指類似client端的javascript一樣的、可嵌套在html文本里面、只需用標記標明是由服務器執(zhí)行的程序段),也就是類似c/c+一樣的面向對象的語言。livewire的文件后綴名還是html,asp的文件后綴名則是asp,因為asp的文件在客戶讀取它的時候,服務器才進行解釋,而livewire的文件則必須預先進行編譯(每次修改后,都要重新編譯)。asp有相應的輔助開發(fā)工具(interdev、dream weaver等),可

17、代為生成一些控件。當然,這些并不重要,關鍵是你采用的是netscapewebserver還是微軟的iis。但就一般而言,因為iis是捆綁在nt上的,故采用iis的用戶會偏多一些。自從netscape公司推出了livewire和微軟推出了activeserverpage以后,程序員編寫網(wǎng)上程序就方便和容易了很多。但這種script類的語言有一個共同的缺點,那就是由于是解釋執(zhí)行的,故速度不會太快。最近,微軟建議采用三層模型,中間層可以不用asp,而直接采用vb6.0生成的activex控件,因為是編譯執(zhí)行的,故速度會較快。隨著.net技術的發(fā)展,.net 將asp也一網(wǎng)打盡,由于本文主要使用asp

18、,故不對asp.net作介紹345。 asp功能強大,簡單易用,更加上微軟的技術支持,使得他成為目前使用的最為廣泛的腳本語言,成為學生學習開發(fā)網(wǎng)站的首選。第三章 理論依據(jù)與應用3.1 網(wǎng)絡開發(fā)模式的發(fā)展與比較目前比較流行的兩種網(wǎng)絡開發(fā)模式分別是client/server模式和browse/server模式。傳統(tǒng)的應用系統(tǒng)模式是“主機/終端”或“客戶機/服務器”,客戶機/服務器系統(tǒng)(client/serversystem)的結構是指把一個大型的計算機應用系統(tǒng)變?yōu)槎鄠€能互為獨立的子系統(tǒng),而服務器便是整個應用系統(tǒng)資源的存儲與管理中心,多臺客戶機則各自處理相應的功能,共同實現(xiàn)完整的應用。隨著inter

19、net的發(fā)展壯大,這些傳統(tǒng)模式已經(jīng)不能適應新的環(huán)境,于是就產(chǎn)生了新的分布式應用系統(tǒng),即所謂的“瀏覽器/服務器”結構、“瘦客戶機”模式。在client/server結構模式中,客戶端直接連接到數(shù)據(jù)庫服務器,由二者分擔業(yè)務處理,這樣體系有以下的缺點:1、client與server直接連接,安全性低。非法用戶容易通過client直接闖入中心數(shù)據(jù)庫,造成數(shù)據(jù)損失;2、client程序肥大,并且隨著業(yè)務規(guī)則的變化,需要隨時更新client端程序,大大增加維護量,造成維護工作困難;3、每個client都要直接連到數(shù)據(jù)庫服務器,使服務器為每個client建立連接而消耗大量本就緊張的服務器資源;4、大量的數(shù)據(jù)

20、直接client/server傳送,在業(yè)務高峰期容易造成網(wǎng)絡流量暴增,網(wǎng)絡阻塞。由于客戶服務器兩層結構存在靈活性差、升級困難、維護工作量大等缺陷,已較難適應當前信息技術與網(wǎng)絡技術發(fā)展的需要6。隨著web技術的日益成熟,browse/server(簡稱b/s)結構已成為取代client/server(簡稱c/s)結構的一種全新技術。采用該結構軟件的優(yōu)勢在于:1、無須開發(fā)客戶端軟件,維護和升級方便;2、可跨平臺操作,任何一臺機器只要裝有www瀏覽器軟件,均可作為客戶機來訪問系統(tǒng);3、具有良好的開放性和可擴充性;4、可采用防火墻技術來保證系統(tǒng)的安全性,有效地適應了當前用戶對管理信息系統(tǒng)的新需求。因此

21、該結構在管理信息系統(tǒng)開發(fā)領域中獲得飛速發(fā)展,成為應用軟件研制中一種流行的體系結構。client/server模式的先天不足與b/s模式的后天優(yōu)勢形成比較,隨著業(yè)務量的變化,client/server模式出現(xiàn)越來越多的問題,我們有必要對這種兩層體系進行改革,將業(yè)務處理與客戶交互分開來,實現(xiàn)瘦客戶/業(yè)務服務/數(shù)據(jù)服務的多層分布式應用體系結構,因此有人在原來的b/s模式基礎上提出“基于internet/intranet的分布式動態(tài)web應用系統(tǒng)開發(fā)”主要包括:三層結構技術、web數(shù)據(jù)庫訪問策略、訪問技術及應用系統(tǒng)的構成。三層結構技術在internet還沒有開始流行的前些年,client/server

22、的二層結構是局域網(wǎng)環(huán)境中mis應用系統(tǒng)的主流結構。隨著internet的滲透,web正在改變企業(yè)應用系統(tǒng)開發(fā)及實施的方法。client/server體系結構由單一的兩個層次擴展到由客戶、應用服務器、數(shù)據(jù)庫服務器組成的三層結構7。有了統(tǒng)一的通信協(xié)議tcp/ip和統(tǒng)一的基于web瀏覽器的用戶界面?;仡櫽嬎銠C的發(fā)展史,有過三次大的飛躍。80年代第一代信息技術的主體是大型機,以主機/終端結構為主,是一種典型的胖服務器/瘦客戶機工作模式,提供了高度的集中控制,這種模式易用性差,過于封閉,系統(tǒng)伸縮性較小。所以才有了個人pc機的出現(xiàn),實現(xiàn)了第一次飛躍。第二代信息技術的主流,是pc/文件服務器結構,它由pc機

23、與傳統(tǒng)的網(wǎng)絡技術相結合而成,數(shù)據(jù)集中存放在文件服務器中,用戶可通過不同的平臺存取它,有一定的系統(tǒng)伸縮性。但由于它的服務對象開始轉向為面向個人,因此對于一個應用系統(tǒng)來說,其整體開銷與維護成本大增,系統(tǒng)的整體運行效率不高,吞吐量也不足。因此出現(xiàn)了client/server結構,實現(xiàn)了第二次飛躍。第三代信息技術的主流是client/server結構,它的數(shù)據(jù)及應用服務集中存儲,可通過不同的平臺存取,有較好的系統(tǒng)伸縮性。它把集中管理模式轉化為一種服務器與客戶機負荷均衡的分布式計算模式,解決了執(zhí)行效率及容量不足的問題。client/server模式又分為兩種: 1、胖服務器/瘦客戶機方式:數(shù)據(jù)計算與數(shù)據(jù)

24、集中在數(shù)據(jù)庫服務器端,數(shù)據(jù)庫服務器端是這種系統(tǒng)的瓶頸,當接入的用戶較多時,會發(fā)生通訊堵塞,系統(tǒng)性能也急劇下降,無法適應多用戶的需要。 2、瘦服務器/胖客戶機方式:數(shù)據(jù)計算與數(shù)據(jù)處理集中在客戶機端,這加大了網(wǎng)絡負荷,影響了業(yè)務處理速度,而且客戶端pc機的多樣性,使如何有效管理控制整個系統(tǒng),并不斷予以更新成為一個新的“瓶頸”。 在client/server模式下開發(fā)的應用系統(tǒng)也有一些方面尚不夠完善,不能適應不斷增長的多方面需求,主要體現(xiàn)以下幾點:1、封閉式系統(tǒng),不同系統(tǒng)之間無法交流;2、用戶界面風格不一,使用繁雜,不利于推廣使用;3、系統(tǒng)開發(fā)和維護復雜,移植困難,升級麻煩;4、無法包容已有系統(tǒng),造

25、成重復投資;5、不能接納新技術,限制了擴展性;6、缺乏系統(tǒng)性和具有前瞻性的結構框架8-14。web技術的出現(xiàn)有了第三次飛躍,client/server變成了browse/server,數(shù)據(jù)及應用可通過不同平臺、不同網(wǎng)絡存取,與平臺無關,伸縮性大。此模式具有以下特點:1、易用性好:用戶使用單一的browser軟件,通過鼠標即可訪問圖像、聲音、視頻及數(shù)據(jù)庫等信息,特別適合非計算機人員使用。2、易于維護:由于用戶端除了標準瀏覽器之外無需專用的軟件,系統(tǒng)的維護工作簡單 。3、信息共享度高:html是數(shù)據(jù)格式的一個開放標準,目前大多數(shù)流行的軟件均支持html,同時mime技術使得browser可訪問除h

26、tml之外的多種格式文件。4、擴展性好:browse/server模式使用標準的tcp/ip 、http,能夠直接接入internet,具有良好的擴展性。5、安全性好:通過配備防火墻,將保證現(xiàn)代企業(yè)網(wǎng)絡的安全性 。 6、廣域網(wǎng)支持:無論是pstn 、ddn 、幀中繼,x25 、isdn ,還是新出現(xiàn)的catv 、adsl,browse/server均能與其共“舞”。7、保護企業(yè)投資:browse/server模式由于采用標準的tcp/ip 、http協(xié)議,它可以與企業(yè)現(xiàn)有網(wǎng)絡很好的結合。從表面上看browse/server類似于主機/終端方式,是典型的胖服務器/瘦客戶機模式,好像經(jīng)過若干年之后

27、,計算機應用的體系結構又從起點回到了起點。但是這已不是簡單的循環(huán)往復,從整體環(huán)境看,計算機應用的體系結構是從封閉的集中式主機向開放的與平臺無關的環(huán)境過渡,此時的服務器端可以不只一臺主機,而可以采用主機的群集技術構成。這種以服務器為中心的結構體系使企業(yè)擺脫了以往密集人才資源、高成本的操作管理方式,對用戶最大的好處是客戶端不需要安裝什么設備與軟件,只需要一個web瀏覽器,在大型的公司中,相同的瘦型客戶端應用程序可以在不同的硬件平臺上運行,不必針對不同平臺來寫不同版本的應用程序并維護它,而且這已不是簡單的二層結構,而是一種由表示層(browser)、功能層(web server)與數(shù)據(jù)庫服務層(db

28、 server)構成的三層分布式結構如圖3-1所示。圖3-1 web三層結構browser端只有browser,一般沒有應用程序,借助于java applet、vbscript、javascript、activex技術可以處理一些簡單的客戶端處理邏輯,顯示用戶界面和web server端的運行結果。 web server + transaction server端的負責接受遠程或本地的數(shù)據(jù)查詢請求,然后運行服務器腳本,借助于cgi、ado等中間部件把數(shù)據(jù)請求通過odbc發(fā)送到db server上以獲取相關數(shù)據(jù),再把結果數(shù)據(jù)轉化成html及各種腳本傳回客戶的browse。 db server端負

29、責管理數(shù)據(jù)庫,處理數(shù)據(jù)更新及完成查詢要求、運行存儲過程??梢允羌惺降囊部梢允欠植际降摹?web browse與web server之間的關系就類似于主機/終端結構中兩者之間的關系,web server+ transaction server與db server之間的關系就像client/server結構中兩者之間的關系。在三層結構中,數(shù)據(jù)計算與數(shù)據(jù)處理集中在中間層,即web server+ transaction server這一層,由于中間層的服務器的性能容易提升,所以在intranet下的三層結構可以滿足用戶的需求。但這種結構對數(shù)據(jù)庫服務器提出了高要求。從管理的角度來看,程序代碼的維護、

30、數(shù)據(jù)庫的備份雖然可以在服務器端執(zhí)行,但這種三層結構對網(wǎng)絡帶寬是有一定要求的,因為客戶端每次要求獲取的數(shù)據(jù)和反饋信息都要通過網(wǎng)絡與服務器聯(lián)系。3.2、分布式動態(tài)web應用系統(tǒng)的構成 分布式動態(tài)web應用系統(tǒng)一般由如下四部分構成: 3.2.1web server 以往的web server主要任務是提供文件服務或郵件服務,現(xiàn)在它正成為一種獨立的應用系統(tǒng)開發(fā)及運行環(huán)境,用來管理控制這個環(huán)境中的網(wǎng)站及服務器端組件,而且有一些服務器從web服務器中獨立出來,主要承擔運行應用系統(tǒng)的任務,這就是所謂的應用服務器,其目的是把以前復雜的胖客戶端變?yōu)槭菘蛻舳?,從而把復雜的應用程序轉到web服務器上,使面向用戶的復

31、雜性從客戶端轉到了web服務器一端,瘦客戶端也有易學易用易管理的優(yōu)點15。 目前流行的web服務器軟件是微軟公司的iis,由于iis與windows nt 集成在一起,通過nt所做的優(yōu)化工作,使之有很高的執(zhí)行效率,它采用nt的安全認證特性,易于管理。從iis2.0版之后就支持cgi、isapi、asp。iis4.0更是支持多個ip,可在一臺服務器上支持多個web網(wǎng)站和ftp網(wǎng)站,而不會相互影響,iis 4.0也加進了mts 2.0(事務服務器),具有分布式事務處理的能力,所以iis是構建分布式動態(tài)web應用的較佳選擇1617。3.2.2服務器端組件 微軟公司推出的基于com/dcom的acti

32、vex技術,可以用于為web應用開發(fā)很多可重用的服務器端組件,用以增強web服務器端應用程序的功能,基于組件的應用已成為一種必然的趨勢。3.2.3數(shù)據(jù)庫服務器 胖服務器/瘦客戶機模式使數(shù)據(jù)庫服務器變得必不可少。很多廠商都推出了各種類型的數(shù)據(jù)庫軟件,在windows nt環(huán)境下,微軟的sql server 6.5/7.0是較好的選擇,因為它與nt同樣很好的集成在一起了,可以充分發(fā)揮nt的優(yōu)勢。 3.2.4瀏覽器 目前占市場份額較大的是微軟公司的ie和netscape的navigator。兩者都支持瀏覽器端組件,前者采用activex control,后者采用plug-ins技術。瀏覽器為客戶端提

33、供了一個界面友好,風格統(tǒng)一,易于使用,較少維護的通用界面。 3.3理論與實際的結合正如前面引言部分所述:對于本在線考試系統(tǒng),其功能目標是實現(xiàn)將現(xiàn)有的紙張答題式考試向基于互聯(lián)網(wǎng)的無紙張考試系統(tǒng)的轉變,所以它必須考慮整個考試流程的進行,實現(xiàn)對系統(tǒng)的賬戶不同管理,以及完成閱卷、評分這些環(huán)節(jié)的處理。由于系統(tǒng)數(shù)據(jù)收集的實時性要求不高,針對3.1中的分析,采用browse/server結構來進行設計是合理可行的 圖3-2 考試系統(tǒng)原理示意圖第四章 開發(fā)環(huán)境與總體設計4.1計算機軟硬件環(huán)境及規(guī)劃本系統(tǒng)采用軟件環(huán)境為:操作系統(tǒng):win2000專業(yè)版軟件環(huán)境:macromedia dream weaver mx

34、 2004+access2000 注:可以將access2000導入到sql server4.2總體設計規(guī)劃4.2.1系統(tǒng)設計階段目標設計,功能設計4.2.2數(shù)據(jù)庫設計與實現(xiàn)階段數(shù)據(jù)庫需求分析數(shù)據(jù)庫邏輯設計數(shù)據(jù)庫結構創(chuàng)建4.2.3后臺服務器和數(shù)據(jù)庫配置階段后臺服務器配置后臺數(shù)據(jù)庫配置4.2.4前端網(wǎng)絡頁面的開發(fā)與設計階段按照邏輯模塊展開4.2.5系統(tǒng)的發(fā)布與維護階段湖北汽車工業(yè)學院信息管理系易飛erp實驗室機房可以提供計算機軟硬件環(huán)境。可以保證論文的寫作環(huán)境能夠按時完成并達到要求18。第五章 在線考試系統(tǒng)的開發(fā)5.1網(wǎng)站系統(tǒng)分析一般的大型網(wǎng)站目前已經(jīng)越來越少的使用asp來架構,不過在中小型商務

35、站點上,asp依然占據(jù)了較大的市場范圍。asp以其簡單,開發(fā)周期短,易維護的優(yōu)點受到中小型站點管理員的青睞。不過,據(jù)我所知,完全使用asp來集成更新維護網(wǎng)站的僅常見于那些真正的商務站點或者比較成熟的技術站點,更多的網(wǎng)站僅僅有一些獨立的欄目在使用asp程序。這樣的特點是站點管理過于分散,比如:每進入一個欄目管理都要輸入不同的賬號和密碼。不僅浪費管理員的精力,更加重了網(wǎng)站的維護困難程度。而我們看見的那些單欄目使用的asp程序有很多是從網(wǎng)上尋找的源代碼,這樣使你的網(wǎng)站安全性也會受到一定的威脅,因為網(wǎng)上提供的源代碼都是開放的,每個人都可以研究這個代碼,asp的安全性本來就是一個受用戶長期關注的問題,而

36、被開放的源代碼更是危險。當然并不是不贊成使用網(wǎng)上的源代碼,只是希望我們能夠注意這個問題,不要完全信奉拿來主義,該修改的地方還是要修改,該打補丁的地方還是要打上補?。ó斎唤^不是讓你去修改人家的版權信息)。綜上所述,我覺得凡是對asp有一定了解的人都可以自己開發(fā)一個整站系統(tǒng),并且是集成化的。下面的分析就是建立一套完整的web動態(tài)站點的思路。5.1.1對網(wǎng)站進行需求分析:很多人都忽略了這一點,他們認為開發(fā)web站點程序不需要用軟件工程的思想,實際上最后會導致web站點的無序化,比如:一些人想到要開發(fā)什么站點想都不想,直接開始寫代碼,想到什么就寫什么,直到他們寫完之后,才發(fā)現(xiàn)還有什么功能沒有寫,然后就

37、立刻返回加代碼。這樣的話,使得程序極易出錯。所以一開始的時候應該像軟件工程一樣,制定web站點開發(fā)的需求分析,包括所開發(fā)web系統(tǒng)的基本要求,如:功能,性能,用戶群,基本的數(shù)據(jù)流程和處理流程,安全與保密的要求。web系統(tǒng)的目標,條件、假設、限制等19。詳細一點來說,就以我的站點來說,它是一個技術型站點,應包括登錄系統(tǒng)、選題系統(tǒng)、管理系統(tǒng)等等,那么這些系統(tǒng)需要具備哪些功能就是我們要分析的問題。 實際上,不管對于什么系統(tǒng),在一開始對其需求進行了詳細分析之后,實現(xiàn)起來肯定比想到哪寫道哪輕松高效。如果方便的話用電腦或者紙將web系統(tǒng)的開發(fā)需求記錄下來,在開發(fā)過程中也可以進行參考。這里還不得不提的一個話

38、題是關于用戶驗證的,一般我們對用戶的驗證使用的是session和cookie,session變量和cookies是同一類型的。如果某用戶將瀏覽器設置為不兼容任何cookie,那么該用戶就無法使用這個session變量及cookies。一般來說,對于網(wǎng)站管理員的操作我個人推薦使用session,因為我們的主題是開發(fā)web整站,那么管理員肯定要在多個管理頁面中跳轉,在這里session是非常方便的。若是對用戶進行驗證,那么可以使用cookies,比如用戶可以設置強制瀏覽器把cookie存儲在計算機上面,只需要使用response. cookies的expires屬性就可以輕松的做到,還有一點就是因

39、為session的信息是非常容易丟失的,對于用戶這種長時間訪問的集群,則必須通過在用戶的web瀏覽器中存儲一個專用的cookie,并且把cookie信息保存到數(shù)據(jù)庫中來創(chuàng)建一個用戶標識。上面是web整站開發(fā)的先期需求分析,就我個人認為是在網(wǎng)站工程中非常重要的一步。5.1.2 組織和管理站點結構開發(fā)一個有一定規(guī)模的站點的時候,使站點具有較好的目錄結構是一個值得注意的問題。商業(yè)應用的程序往往都要求具有在事務內(nèi)部運行腳本和組件的能力。事務是服務器端的操作,簡單的說就是即便該操作包含了許多步驟,例如:下定單,查看定單,打印訂單等也只能整體返回操作是成功還是失敗。用戶可以創(chuàng)建在事務內(nèi)部運行的asp腳本,

40、如果教本的任何一部分操作失敗,那么整個事務就終止。 這里要詳細說明的并不是事務性腳本在整站中的應用,而是要讓你在開發(fā)中不至于被眾多的文件,眾多的操作攪昏了頭20。 合理的對文件名進行組織。例如:將管理頁面命名為admin.asp,而管理頁面中對各個欄目進行操作的頁面可以在admin后面加下劃線然后命以這個欄目的名稱,比如成績管理頁面admin_score.asp,用戶管理頁面admin_users.asp 關于文件的放置。我這里僅是以我的做法來講解,不同的人有不同的見解。將所有管理操作頁面放置于同一目錄下面,為的是更加方便的管理和分配權限。各個欄目用戶頁面可以放在一個目錄下方便于管理。數(shù)據(jù)庫可

41、以放在統(tǒng)一的目錄下面。 圖5-1 本系統(tǒng)的目錄結構 為了減少文件的數(shù)量。沒有必要為每個添加,刪除,修改或者別的操作新建許多頁面,你可以使用參數(shù)來減少頁面,打一個比方,在管理頁面admin_users.asp中,當admin_users.asp?action=addnew的時候執(zhí)行添加操作,當admin_users.asp?action=del的時候執(zhí)行刪除操作,這樣將大大增強站點的集成化程度21。5.2網(wǎng)站開發(fā)的設計思想與實現(xiàn)方法在線考試系統(tǒng)主要包括系統(tǒng)的注冊、在線的考試系統(tǒng)、評分系統(tǒng)、在線的管理系統(tǒng)和在線的閱卷系統(tǒng)等5.2.1目標設計:在線考試系統(tǒng)功能如下。 、登錄系統(tǒng)主要功能要求、歡迎頁面

42、、功能選擇頁面 各種功能的登錄頁面及密碼驗證、在線考試系統(tǒng)的主要是實現(xiàn)功能要求、讓用戶選擇試卷類型、用戶選擇試卷斷線情況、從試題庫中隨機出題給用戶、將隨機試卷保存在暫時表中、保存用戶答案、給用戶判分、保存用戶試卷、查詢用戶成績、在線賬戶管理系統(tǒng)的主要功能要求、選擇更改賬戶屬性的類別、瀏覽整個系統(tǒng)中的各種用戶(超級用戶、普同用戶、添加試題的管理用戶和評卷老師用戶)、添加包含某項功能的用戶、刪除不再需要的用戶、更改用戶的密碼、在線閱卷系統(tǒng)的主要功能、瀏覽系統(tǒng)中用戶答題情況、刪除某個用戶的其中一個答卷或刪除某種系統(tǒng)試卷5.2.2、系統(tǒng)功能設計根據(jù)系統(tǒng)功能的要求,在線考試系統(tǒng)分為上述三個模塊。即在線考

43、試系統(tǒng),在線賬號管理系統(tǒng)和在線的閱卷系統(tǒng)??梢詫⑾到y(tǒng)分為幾個功能模塊來分別設計,功能模塊之間關系如圖5-2所示。圖5-2 系統(tǒng)功能模塊5.2.3數(shù)據(jù)庫設計數(shù)據(jù)庫需求分析根據(jù)系統(tǒng)功能的設計要求以及功能模塊的劃分,對于在線考試系統(tǒng)的試題庫數(shù)據(jù)庫,可以列出以下數(shù)據(jù)項和數(shù)據(jù)結構:1試卷名稱表:主要包括試卷的名稱、該試卷的總分數(shù)、試卷的答題時間,以及試卷內(nèi)各類題型的數(shù)目等。2試題信息表:主要包括試題的id、專業(yè)、試題類型、難易程度、試題內(nèi)容、試題分數(shù)、試題答案以及一些附加的內(nèi)容。試題本身包含三個表,在本考試系統(tǒng)中包括了3個專業(yè)的試題表。對于用戶記錄數(shù)據(jù)主要包含如下的一些數(shù)據(jù)項和數(shù)據(jù)結構:1

44、超級用戶信息:用戶的id、用戶名、密碼、權限等內(nèi)容。2用戶記錄表:用戶的id、用戶名、密碼、權限以及當前的狀態(tài)(此狀態(tài)可以查看所選用戶是否處于考試狀態(tài),包括正在考試和斷線兩種情況)等信息。對于在線的考試系統(tǒng),可以列出以下數(shù)據(jù)項和數(shù)據(jù)結構:1試卷名稱:主要包括試卷名稱、試題分數(shù)、試題的題量,以及試卷的答題時間等內(nèi)容2試題信息表:主要包括試題的id、專業(yè)、試題類型、難易程度、試題內(nèi)容、試題分數(shù)、試題答案,以及一些附加的內(nèi)容。3 暫時試題信息表:主要包括試題的id、專業(yè)、試題類型、難易程度、試題內(nèi)容、試題分數(shù)、試題答案,以及一些附加的內(nèi)容。4成績登記表:主要包括用戶、成績、當前狀態(tài)等。對于在線的管理

45、系統(tǒng),可以列出下面數(shù)據(jù)項和數(shù)據(jù)結構:用戶記錄表:用戶id、用戶名、密碼、權限,以及當前狀態(tài)(此狀態(tài)可以查看所選用戶是否處于考試狀態(tài),包括正在考試和斷線兩種)等信息22。數(shù)據(jù)庫的邏輯設計根據(jù)系統(tǒng)功能設計的要求以及功能模塊的劃分,對于系統(tǒng)用戶信息數(shù)據(jù)庫,可以列出以下數(shù)據(jù)項和數(shù)據(jù)結構;用戶的id、用戶名、密碼、權限。他不需要任何的外部數(shù)據(jù)支持。對于在線的考試系統(tǒng),可以列出以下數(shù)據(jù)項和數(shù)據(jù)結構:試題信息:主要包括試題id、專業(yè)、試題題型、難易程度、試題內(nèi)容、試題分數(shù)、試題答案,以及一些附加的內(nèi)容。所需的外部數(shù)據(jù)支持:試卷信息:試卷名稱、試卷分數(shù)、答題時間。用戶信息:用戶名。對于在線帳戶管

46、理系統(tǒng),可以列出以下數(shù)據(jù)項和數(shù)據(jù)結構:用戶信息:用戶的id、用戶名、密碼、權限。超級用戶信息:用戶的id、用戶名、密碼、權限。對于在線的閱卷系統(tǒng),可以列出以下數(shù)據(jù)項和數(shù)據(jù)結構:試卷信息:試卷名稱、答題用戶、當前狀態(tài)。試卷名稱信息:試卷名稱(從試卷表獲得)。所需的外部數(shù)據(jù)支持:超級用戶信息:用戶的id、用戶名、密碼、權限。5.2.4后臺服務器和數(shù)據(jù)庫配置后臺服務器庫配置首先,我要談的是在線考試系統(tǒng)的服務器配置問題。本系統(tǒng)使用了 microsoft的 iis 5對作為系統(tǒng)服務器。如果使用的是 windows 2000以上版本的操作系統(tǒng),那么添加 iis 5對服務器非常簡單,只需要打開

47、“控制面板”里面的“添加刪除程序”選項,然后選擇“添加刪除 windows組件”,最后選中彈出對話框的“internet信息服務(iis)選項”,按照系統(tǒng)提示進行安裝即可。下面來介紹一下怎么設置iis的服務。 因為在在線考試系統(tǒng)的各個系統(tǒng)模塊里都使用asp的session(會話)對象和application(應用程序)對象。這樣,就必須創(chuàng)建一個asp應用程序來處理用戶登錄次數(shù)信息。一個asp應用程序必須使用一個公用的目錄結構,該目錄包含了同站使用的所有頁面。頁面的具體位置并不重要,但要讓這些頁面都存于一個公用的目錄結構里。建asp應用程序的具體步驟 打開iis服務器,進入web根

48、目錄。單擊鼠標右鍵,選擇“屬性”命令,彈出一個屬性對話框,在應用程序設置里,創(chuàng)建asp應用程序。名稱與web根目錄同名。這樣我們就創(chuàng)建了一個asp應用程序,但真正具有該應用程序執(zhí)行功能的是一個稱作globalasa的特殊文件23。后臺數(shù)據(jù)庫的配置本章系統(tǒng)沒有使用odbc這種形式的數(shù)據(jù)庫,而是直接采用了access文件的相對路徑來實現(xiàn)讀取數(shù)據(jù)庫的功能,簡單的代碼如下所示:set conn =server.creatobject(“adodb.connection”)conn.open”driver=microsoft access driver(*.mdb) ;dbq =”&ser

49、ver .mappath(“./試題庫.mdb”)set rs=server.creatobject(“adodb.recordset)但需要強調(diào),微軟的access數(shù)據(jù)庫本身并不是一個數(shù)據(jù)庫服務器,它不能用服務器來運行查詢。對于數(shù)據(jù)龐大的情況,access本身不是一個好的選擇。另外一個要考慮的是數(shù)據(jù)庫的安全性問題。access比起 sql server而言,總體的安全性能要差。但是從應用的角度而言,access數(shù)據(jù)庫易于使用,而且在創(chuàng)建和配置上,access數(shù)據(jù)庫都比sqlserver要容易24。5.2.5整個系統(tǒng)的所有頁面情況為:對于在線考試系統(tǒng),根據(jù)系統(tǒng)功能分析,僅有一個單一的流程化頁面

50、。所以從試題選擇頁面開始,然后是斷線記錄選擇頁面,接著就進入考試頁面,然后是判分以及查詢成績的頁面。對于在線的管理系統(tǒng),根據(jù)系統(tǒng)功能分析,可以具體化為瀏覽系統(tǒng)用戶頁面,添加用戶頁面,刪除用戶頁面以及該用戶密碼頁面。對于在線的閱卷系統(tǒng),根據(jù)系統(tǒng)功能分析,可以具體細化為閱卷登錄頁面,另外一個就是試卷管理頁面。圖5-3 系統(tǒng)的頁面邏輯示意圖5.2.6、系統(tǒng)數(shù)據(jù)流程圖下面圖5-4是此系統(tǒng)的第一層數(shù)據(jù)流程圖圖5-4 第一層數(shù)據(jù)流程圖下面圖5-5是在線考試模塊的擴展圖5-5 考試模塊的數(shù)據(jù)流程圖下面圖5-6是賬號管理的擴展圖5-6 賬號管理流程圖以下圖5-7是閱卷管理的流程圖擴展圖5-7 閱卷管理流程圖第

51、六章 在開發(fā)過程中的一些問題6.1隨機選題算法隨機選題算法先設定某項題型的題數(shù),然后通過頁面的上下文獲取的系統(tǒng)試題表中這項題型的所有試題的總數(shù),接著以這個總數(shù)來生成隨機試題數(shù)組,生成數(shù)組時要防止生成重復數(shù)字,要進行重新判斷。6.2出題頁面保存主要通過建立一個暫時表來實現(xiàn)。系統(tǒng)保存考試用戶的試題后,然后通過暫時生成的試題表來保存用戶答案,從而實現(xiàn)判分功能,最后完成保存用戶試卷。暫時表的另一個功能是能夠在用戶選擇讀取斷線記錄的情況下,將試題表的內(nèi)容讀取出來,然后顯示給用戶,提供給用戶二次考試機會6.3系統(tǒng)安全6.3.1軟件安全性隨著internet的發(fā)展,web技術日新月異。繼通用網(wǎng)關接口(cgi

52、)之后,“asp”(active server pages)作為一種典型的服務器端網(wǎng)頁設計技術,被廣泛地應用在網(wǎng)上銀行、電子商務、搜索引擎等各種互聯(lián)網(wǎng)應用中。同時access數(shù)據(jù)庫作為微軟推出的以標準jet為引擎的桌面型數(shù)據(jù)庫系統(tǒng),由于具有操作簡單、界面友好等特點,具有較大的用戶群體。因此aspaccess成為許多中小型網(wǎng)上應用系統(tǒng)的首選方案。但aspaccess解決方案在為我們帶來便捷的同時,也帶來了不容忽視的安全問題。aspaccess解決方案的主要安全隱患來自access數(shù)據(jù)庫的安全性,其次在于asp網(wǎng)頁設計過程中的安全漏洞。 下面就這些安全隱患與漏洞作一介紹,作為提高系統(tǒng)安全性的參考2

53、5。access數(shù)據(jù)庫的存儲隱患 在aspaccess應用系統(tǒng)中,如果獲得或者猜到access數(shù)據(jù)庫的存儲路徑和數(shù)據(jù)庫名,則該數(shù)據(jù)庫就可以被下載到本地。例如:對于網(wǎng)上書店的access數(shù)據(jù)庫,人們一般命名為book.mdb、store.mdb等,而存儲的路徑一般為“url/database”或干脆放在根目錄(“url/”)下。這樣,只要在瀏覽器地址欄中敲入地址:“url/database/store.mdb”,就可以輕易地把store.mdb下載到本地的機器中。 .access數(shù)據(jù)庫的解密隱患 由于access數(shù)據(jù)庫的加密機制非常簡單,所以即使數(shù)據(jù)庫設置了密碼,解密

54、也很容易。該數(shù)據(jù)庫系統(tǒng)通過將用戶輸入的密碼與某一固定密鑰進行異或來形成一個加密串,并將其存儲在.mdb文件中從地址“h42”開始的區(qū)域內(nèi)。由于異或操作的特點是“經(jīng)過兩次異或就恢復原值”,因此,用這一密鑰與*.mdb文件中的加密串進行第二次異或操作,就可以輕松地得到access數(shù)據(jù)庫的密碼?;谶@種原理,可以很容易地編制出解密程序。由此可見,無論是否設置了數(shù)據(jù)庫密碼,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了26。 .源代碼的安全隱患 由于asp程序采用的是非編譯性語言,這大大降低了程序源代碼的安全性。任何人只要進入站點,就可以獲得源代碼,從而造成asp應用程序源代碼的泄露。 .程序設計中的安全隱患asp代碼利用表單(form)實現(xiàn)與用戶交互的功能,而相應的內(nèi)容會反映在瀏覽器的地址欄中,如果不采用適當?shù)陌踩胧灰浵逻@些內(nèi)容,就可以繞過驗證直接進入某一頁面。例如在瀏覽器中敲入“page.asp?x=1”,即可不經(jīng)過表單頁面直接進入滿足“x=1”條件的頁面。因此,在設計驗證或注冊頁面時,必須采取特殊措施來避免此類問題的發(fā)生。提高數(shù)據(jù)庫的安全性由于access數(shù)據(jù)庫加密機制過于簡單,因此,如何有效地防止access數(shù)據(jù)庫被下載,就成了提高

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論