2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘要2</b></p><p>  關(guān)鍵字:考試系統(tǒng) ASP.NET ADO.NET SQL Sever 2000 Browser/Server2</p><p><b>  第一章 緒論3</b></p><p>  1.1 網(wǎng)上考試系統(tǒng)的現(xiàn)狀分析3<

2、/p><p>  1.2 選題的背景及研究意義4</p><p>  1.3 系統(tǒng)基本簡介4</p><p>  第二章 系統(tǒng)的關(guān)鍵技術(shù)及介紹6</p><p>  2.1 ASP.NET技術(shù)概況6</p><p>  2.1.1 ASP.NET的優(yōu)勢6</p><p>  2.1.2 常

3、用到的ASP.NET內(nèi)置對象8</p><p>  2.2 利用SQL Sever 2000來建立數(shù)據(jù)庫8</p><p>  2.3 Browser/Server模式—本系統(tǒng)的開發(fā)模式9</p><p>  2.3.1 Browser/Server模式簡介9</p><p>  2.3.2 Browser/Server模式的特點

4、10</p><p>  2.4 ADO.NET對象模型11</p><p>  2.5 系統(tǒng)數(shù)據(jù)庫設(shè)計13</p><p>  2.5.1 數(shù)據(jù)庫結(jié)構(gòu)及說明13</p><p>  2.5.2 用戶權(quán)限簡介14</p><p>  第三章 系統(tǒng)的整體分析與設(shè)計16</p><p> 

5、 3.1 需求分析16</p><p>  3.1.1 系統(tǒng)需要解決的主要問題16</p><p>  3.1.2 系統(tǒng)功能模塊劃分16</p><p>  3.2 總體設(shè)計17</p><p>  3.2.1 公共登陸模塊設(shè)計18</p><p>  3.2.2 在線考試模塊設(shè)計18</p>

6、<p>  3.2.3 管理員功能模塊設(shè)計19</p><p>  第四章 部分頁面實現(xiàn)詳解20</p><p>  4.1 考試頁面的實現(xiàn)20</p><p>  4.2 管理主頁面的實現(xiàn)22</p><p>  4.3 學生信息管理頁面(manstudentinfo/)的實現(xiàn)22</p><p&g

7、t;  4.3.1 添加、修改學生信息(addstudentinfo/)24</p><p><b>  致謝26</b></p><p><b>  參考文獻27</b></p><p>  摘要:隨著網(wǎng)絡(luò)的普及和對教育的重視,各院校各學科的網(wǎng)上考試都具有了必要的使用環(huán)境。但是,目前國內(nèi)的一些網(wǎng)絡(luò)教學系統(tǒng)的主要功能

8、是教學,不能單獨作為考試平臺,通用性差,而且系統(tǒng)中對主觀題的評閱多是采用人工評閱方式,沒有實現(xiàn)真正意義上的自動評分。另一方面,我們所在院校的計算機基礎(chǔ)課已開設(shè)了多年,但尚在沿用傳統(tǒng)的考試形式或使用單機版的考試系統(tǒng)。基于Web的網(wǎng)上考試系統(tǒng)的設(shè)計與實現(xiàn)就是基于上述目的開發(fā)設(shè)計的。</p><p>  本系統(tǒng)采用B/S架構(gòu)作為系統(tǒng)的總體結(jié)構(gòu),以Web數(shù)據(jù)庫技術(shù)為依托,利用微軟的ASP.NET技術(shù),結(jié)合ADO,實現(xiàn)了對

9、Web數(shù)據(jù)庫的訪問和查詢。該設(shè)計實現(xiàn)了按題型隨機抽題組卷、在線考試、題庫管理、系統(tǒng)管理的功能,能夠?qū)陀^題在線評分。學生用學號登錄成功后,閱讀考試須知,之后選擇考試科目進入考試頁面,完成相應(yīng)科目考試,自動給出考試成績。系統(tǒng)管理,實現(xiàn)了對題庫、考生信息、考試成績、考試科目的管理。題庫管理,實現(xiàn)了對試題的添加、編輯、刪除功能;考生信息管理可以添加、修改、刪除、查詢考生信息,成績管理可以刪除成績信息,科目管理主要是修改考試科目信息。</

10、p><p>  基于Web的網(wǎng)上考試系統(tǒng)本身是一個很大的系統(tǒng),尤其試題庫部分需要許多人的參與以及大量的投入才能建成。該系統(tǒng)雖然僅僅是完成《計算機文化基礎(chǔ)》和《操作系統(tǒng)》課程的考試,但卻具有良好的實用性與通用性,提供友好的人機界面,具有較好的可擴充性和開放性。 </p><p>  關(guān)鍵字:考試系統(tǒng) ASP.NET ADO.NET SQL Sever 2000 Brows

11、er/Server  </p><p><b>  第一章 緒論</b></p><p>  1.1 網(wǎng)上考試系統(tǒng)的現(xiàn)狀分析 </p><p>  在信息技術(shù)迅速發(fā)展的今天,網(wǎng)絡(luò)對于大多數(shù)人已不再陌生,并且其應(yīng)用在人們的工作、學習和生活中越來越多地發(fā)揮著不可替代的作用。近年來隨著軟件工程技術(shù)、信息通信技術(shù)的快速發(fā)展以及計算機網(wǎng)絡(luò)技術(shù)的日趨成熟

12、,網(wǎng)絡(luò)教育在人們的教育活動中逐步得到普及。網(wǎng)上考試是網(wǎng)絡(luò)教育不可缺少的組成部分,是網(wǎng)絡(luò)教育的一個重要環(huán)節(jié)。</p><p>  網(wǎng)上考試在國外一些國家已經(jīng)得到了蓬勃發(fā)展,人們選學課程和考試都是通過網(wǎng)上進行的。例如國外一些著名的考試,如Microsoft公司的MCSE(Microsoft系統(tǒng)工程師認證考試)、GMAT(工商管理碩士入學考試)、托福考試、GRE(美國研究生入學考試)等,都是采用網(wǎng)上考試的形式進行的。&

13、lt;/p><p>  在國內(nèi),目前絕大多數(shù)考試還停留在傳統(tǒng)考試方式上,對互聯(lián)網(wǎng)的真正應(yīng)用僅限于一些考試的網(wǎng)上報名工作和網(wǎng)上成績查詢,還沒有真正形成網(wǎng)上考試規(guī)模。網(wǎng)上考試系統(tǒng)作為現(xiàn)代教育的一個子系統(tǒng),是保證教育教學質(zhì)量的重要手段。在傳統(tǒng)的考試方式下,組織一次考試要經(jīng)過出題、考試、評卷、試卷分析等步驟,隨著考試類型的增加及考試要求的提高,教師的工作量將會越來越大,并且其工作非常容易出錯,在一定程度上說,傳統(tǒng)的考試方式已

14、經(jīng)存在著改革的必要了。Internet技術(shù)的發(fā)展使得考試的技術(shù)手段和載體發(fā)生了劃時代的變化,考試從傳統(tǒng)的紙筆考試到計算機輔助考試再發(fā)展到基于Web的網(wǎng)上考試成為現(xiàn)實。</p><p>  現(xiàn)階段,網(wǎng)上考試系統(tǒng)的主流開發(fā)技術(shù)已經(jīng)相當成熟,且很好地適應(yīng)了動態(tài)站點設(shè)計和基于Web的數(shù)據(jù)庫訪問的要求,是當前網(wǎng)上考試軟件實現(xiàn)的主流技術(shù)之一。在對大量關(guān)于網(wǎng)上考試系統(tǒng)資料的研究和學習后,根據(jù)工作的需要,針對本校實際情況特別是教

15、學的需求,利用學校校園網(wǎng)已有的基礎(chǔ)條件,研究開發(fā)適合本校使用的基于Web的網(wǎng)上考試系統(tǒng)。</p><p>  1.2 選題的背景及研究意義 </p><p>  隨著計算機科學、網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,在教育領(lǐng)域里,實現(xiàn)網(wǎng)上考試可以充分利用學?,F(xiàn)有的計算機軟、硬件資源和網(wǎng)絡(luò)資源實現(xiàn)考試;對于客觀題由計算機來完成閱卷,可以將減少人工閱卷的工作量。</p><p>  目前

16、常用的網(wǎng)上考試系統(tǒng)主要有兩種基本模式:傳統(tǒng)的C/S(客戶機/服務(wù)器)模式和新型的B/S(瀏覽器/服務(wù)器)模式,所謂C/S模式,即數(shù)據(jù)庫(比如,試題庫)內(nèi)容放在遠程的服務(wù)器上,在客戶機上安裝相應(yīng)軟件;C/S結(jié)構(gòu)在技術(shù)上雖然很成熟,但該結(jié)構(gòu)的程序往往只局限在小型的局域網(wǎng)內(nèi)部,不利于擴展。并且,該結(jié)構(gòu)的每臺客戶機都需要安裝相應(yīng)的客戶端程序。當擁有用戶量比較多時,如果采用該結(jié)構(gòu),系統(tǒng)的安裝與維護工作比較繁重。同時,由于應(yīng)用程序直接安裝在客戶機,

17、客戶機直接和數(shù)據(jù)庫服務(wù)器交換數(shù)據(jù),系統(tǒng)的安全性也受到一定影響。與傳統(tǒng)的基于C/S模式的網(wǎng)上考試系統(tǒng)相比,B/S體系將應(yīng)用邏輯與用戶界面和數(shù)據(jù)訪問相分離,使系統(tǒng)的維護變得簡單(只需要改變網(wǎng)頁,即可實現(xiàn)所有用戶的同步更新),同時簡化了客戶端的功能,用戶只需瀏覽器即可使用此考試系統(tǒng),更適宜于互聯(lián)網(wǎng)上的考試。</p><p>  在信息網(wǎng)絡(luò)化的現(xiàn)實面前,我們提出一種基于Web的網(wǎng)上考試系統(tǒng),并用SQL Sever 200

18、0數(shù)據(jù)庫與ASP.NET技術(shù)結(jié)合進行了該系統(tǒng)的開發(fā)。</p><p>  1.3 系統(tǒng)基本簡介 </p><p>  我們課題組所做的工作不僅僅是參與開發(fā)一個完整的在線考試系統(tǒng),也是一個引導(dǎo)性的基礎(chǔ)研究,是對.net平臺下基于B/S結(jié)構(gòu)的軟件體系結(jié)構(gòu)、關(guān)鍵技術(shù)、實現(xiàn)技術(shù)、框架解決方案進行的探索。</p><p>  本系統(tǒng)采用ASP.NET、HTML、Javascr

19、ipt、VBScript、圖形編輯與數(shù)據(jù)庫等工具,通過基于WEB服務(wù)器訪問WEB頁面,可以不受地點,時間限制,通過寬帶上網(wǎng)或其它上網(wǎng)方式,借助Internet這一強大、方便的工具,考生可以在互聯(lián)網(wǎng)上通過瀏覽器來選擇科目、參加考試,管理員可以在互聯(lián)網(wǎng)上通過瀏覽器來添加、修改學生信息,添加、修改、刪除試題,修改考試科目信息,管理學生成績;同時還實現(xiàn)有學生信息查詢功能:按班級、學號、姓名等關(guān)鍵字查詢,實現(xiàn)對整個系統(tǒng)的管理功能。 </p&

20、gt;<p>  系統(tǒng)的主界面主要有考生、管理員入口,根據(jù)用戶類型,分別進入考試和管理兩個不同的頁面。其最大的特點是開放性、方便性和靈活性。</p><p>  第二章 系統(tǒng)的關(guān)鍵技術(shù)及介紹</p><p>  在《基于Web的網(wǎng)上考試系統(tǒng)》的設(shè)計過程中,主要考慮了以下幾方面的問題:</p><p>  1)   

21、0; ASP.NET技術(shù);</p><p>  2)     建立數(shù)據(jù)庫,使用SQL Sever 2000來建立;</p><p>  3)     選擇系統(tǒng)的開發(fā)模式,B/S模式;</p><p>  4)     ADO.NET對象模型;<

22、;/p><p>  5)     系統(tǒng)數(shù)據(jù)庫設(shè)計。</p><p>  2.1 ASP.NET技術(shù)概況 </p><p>  ASP.NET是微軟公司推出的一種Internet編程技術(shù),它采用效率較高的、面向?qū)ο蟮姆椒▉韯?chuàng)建動態(tài)Web應(yīng)用程序。在原來的ASP技術(shù)中,服務(wù)器端代碼和客戶端HTML混合在一起,常常導(dǎo)致頁面的代碼冗長而復(fù)

23、雜,程序的邏輯難以理解。ASP.NET是一種獨立于瀏覽器的編程模型,可以在最新版本的IE、NetscapeNavigator以及諸如Opera等被廣泛使用的瀏覽器上運行。</p><p>  ASP.NET是一種建立在通用語言上的程序構(gòu)架。一個已編譯的、基于.NET的環(huán)境,把基于通用語言的程序在服務(wù)器上運行。將程序在服務(wù)器端首次運行時進行編譯,比ASP即時解釋程序速度上要快很多。微軟公司發(fā)布了包括Visual B

24、asic.NET、C#.NET、Visual C++.NET等與.NET兼容的語言來創(chuàng)作應(yīng)用程序。</p><p>  2.1.1 ASP.NET的優(yōu)勢 </p><p>  ASP.NET是在服務(wù)器上運行的編譯好的公共語言運行庫代碼,它可利用早期綁定、實時編譯、本機優(yōu)化和盒外緩存服務(wù)。這相當于在編寫代碼行之前便顯著提高了性能。</p><p>  1)世界級的工具

25、支持</p><p>  ASP.NET框架補充了Visual Studio集成開發(fā)環(huán)境中的大量工具箱和設(shè)計器。WYSIWYG編輯、拖放服務(wù)器控件和自動部署只是這個強大的工具所提供功能中的少數(shù)幾種。</p><p><b>  2)威力和靈活性</b></p><p>  由于ASP.NET基于公共語言運行庫,因此Web應(yīng)用程序開發(fā)人員可以利用

26、整個平臺的威力和靈活性。Microsoft.NET框架類庫、消息處理和數(shù)據(jù)訪問解決方案都可從Web無縫訪問。ASP.NET也與語言無關(guān),所以可以選擇最適合應(yīng)用程序的語言,或跨多種語言分割應(yīng)用程序。另外,公共語言運行庫的交互性保證在遷移到ASP.NET時保留基于COM的開發(fā)中的現(xiàn)有投資。</p><p><b>  3)簡易性</b></p><p>  ASP.NET

27、使執(zhí)行常見任務(wù)變得容易,從簡單的窗體提交和客戶端身份驗證到部署和站點配置。例如,ASP.NET頁框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開的用戶界面,和在類似Visual Basic的簡單窗體處理模型中處理事件并不相同。另外,公共語言運行庫利用托管代碼服務(wù)(如自動引用計數(shù)和垃圾回收)簡化了開發(fā)。</p><p><b>  4)可管理性</b></p><p>

28、  ASP.NET采用基于文本的分層配置系統(tǒng),簡化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和Web應(yīng)用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應(yīng)用新設(shè)置。此“零本地管理”哲學也擴展到了ASP.NET框架應(yīng)用程序的部署。只需將必要的文件復(fù)制到服務(wù)器,即可將ASP.NET框架應(yīng)用程序部署到服務(wù)器。不需要重新啟動服務(wù)器,即使是在部署或替換運行的編譯代碼時。</p><p>  5)可縮放性和可用性

29、</p><p>  ASP.NET在設(shè)計時考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進程受到ASP.NET運行庫的密切監(jiān)視和管理,以便當進程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進程,以幫助保持應(yīng)用程序始終可用于處理請求。</p><p>  6)自定義性和擴展性</p><p>  ASP.NET隨附了一個設(shè)計周到的結(jié)構(gòu),它

30、使開發(fā)人員可以在適當?shù)募墑e“插入”代碼。實際上,可以用自己編寫的自定義組件擴展或替換吉林大學碩士學位論文ASP.NET運行庫的任何子組件。</p><p><b>  7)安全性</b></p><p>  借助內(nèi)置的Windows身份驗證和基于每個應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的。</p><p>  2.1.2 常用到的ASP.NE

31、T內(nèi)置對象 </p><p>  Application對象:對整個ASP.NET執(zhí)行環(huán)境而言,一個虛擬目錄下的所有ASP.NET程序構(gòu)成了一個Web應(yīng)用程序。在多任務(wù)執(zhí)行的情況下,來自四面八方的眾多用戶可能執(zhí)行同一個Web應(yīng)用程序,這便依賴Application對象。常用到的場合:聊天室、網(wǎng)頁計數(shù)器等。</p><p>  Request對象:獲取從客戶瀏覽器傳給服務(wù)器端的數(shù)據(jù),如接收來

32、自表單的數(shù)據(jù)。</p><p>  Response對象:Request對象與Response對象就像一般程序語言里的Input及Output命令,若要讓服務(wù)器端的ASP.NET程序能夠接收來自客戶端的信息,須用Request對象;若想將服務(wù)器端的信息傳遞給客戶端,須用Response對象。</p><p>  適用于同一位用戶,換句話說,一個Session對象只屬于一位用戶。常用到的場合

33、:虛擬購物車、用戶登陸網(wǎng)站時用戶名的臨時存儲等。 </p><p>  2.2 利用SQL Sever 2000來建立數(shù)據(jù)庫 </p><p>  Microsoft SQL Server 2000 是一種關(guān)系型數(shù)據(jù)庫。此種數(shù)據(jù)庫采數(shù)據(jù)分類表格化的架構(gòu),將相關(guān)的數(shù)據(jù)組成表格,表格和表格之間可以有關(guān)聯(lián)性,因此稱為關(guān)系型數(shù)據(jù)庫。系統(tǒng)管理員可透過應(yīng)用程序進入服務(wù)器,更改數(shù)據(jù)型態(tài),管理及處理服務(wù)器

34、資源。SQL Server 也是一種具備延展性的數(shù)據(jù)庫(scalable database),亦即 SQL Server 可以支持多位使用者同時進入數(shù)據(jù)庫中處理大量的數(shù)據(jù)。如圖2-1所示:</p><p>  圖2-1  SQL Server 2000工作方式</p><p>  2.3 Browser/Server模式—本系統(tǒng)的開發(fā)模式</p><p>

35、  2.3.1 Browser/Server模式簡介 </p><p>  隨著網(wǎng)絡(luò)規(guī)模的日益擴大,應(yīng)用程序的復(fù)雜程度不斷提高,傳統(tǒng)的數(shù)據(jù)庫應(yīng)用架構(gòu)已經(jīng)不能勝任。為了充分利用網(wǎng)絡(luò)資源,越來越多的信息需要在  www(WoridWideWeb)上發(fā)布,實現(xiàn)信息最大程度的共享。Browser/Serve結(jié)構(gòu)伴隨著Intemet的發(fā)展而很快地發(fā)展起來。Browser/Serve體系結(jié)構(gòu)是一種三層結(jié)構(gòu),其三級結(jié)

36、構(gòu)組成如圖2-2所示:</p><p>  圖2-2  B/S結(jié)構(gòu)示意圖</p><p>  第一層,瀏覽器是表示層,完成用戶接口功能。在客戶端向URL(Uniform ResourceLocator)指定的web服務(wù)器提出服務(wù)器請求,Web服務(wù)器用HTTP協(xié)議把所需文件資料傳給用戶,客戶端接受并顯示在WWW瀏覽器上。</p><p>  第二層,Web服

37、務(wù)器是功能層,完成客戶的應(yīng)用功能。即Web服務(wù)器接受客戶請求,以CGI或ASP與數(shù)據(jù)庫連接,進行申請?zhí)幚?,而后?shù)據(jù)庫結(jié)果返回web服務(wù)器,再傳至客戶端。</p><p>  第三層,數(shù)據(jù)庫服務(wù)器是數(shù)據(jù)層。數(shù)據(jù)庫服務(wù)器應(yīng)客戶請求獨立地進行各種處理。Browser/server系統(tǒng)中的Browser作為一種通用的瀏覽器,一般沒有任何應(yīng)用程序; Browser/server系統(tǒng)中的中間層是B/S結(jié)構(gòu)中相當關(guān)鍵的部分,中

38、間層在Browser/Serve:系統(tǒng)中充當著雙重身份:從Browser的角度看,它是 WebServer,而從 DBServe的角度看,它是一個功能豐富的Client。</p><p>  2.3.2 Browser/Server模式的特點 </p><p>  B/S系統(tǒng)的這三層體系結(jié)構(gòu)的特點:</p><p>  ·友好、統(tǒng)一的圖形用戶界面<

39、/p><p>  在Browser/Server系統(tǒng)中,由于遵循了統(tǒng)一的標準協(xié)議,而且使用瀏覽器作為統(tǒng)一的客戶軟件,用戶無須再花費大量的時間與精力去學習和熟悉不同的系統(tǒng)的使用方法,用戶可以把大部分的精力集中在系統(tǒng)的內(nèi)容上,而不是去記住系統(tǒng)的使用說明書。</p><p>  ·減少網(wǎng)絡(luò)中的數(shù)據(jù)流量</p><p>  在Browser/server系統(tǒng)中,由于數(shù)

40、據(jù)的處理工作是由服務(wù)器來執(zhí)行的,因此在讀取數(shù)據(jù)和保存數(shù)據(jù)時,這些數(shù)據(jù)只在幾臺服務(wù)器之間傳輸,不需要通過瀏覽器與服務(wù)器之間的網(wǎng)絡(luò)。一般來說,瀏覽器與服務(wù)器之間的網(wǎng)絡(luò)大都是距離較長而且速度較低的,而服務(wù)器與服務(wù)器之間的網(wǎng)絡(luò)則是距離較短而且速度較高的,因此采用Browser/Server后,可以充分地利用服務(wù)器之間的高速連接通路,而減少在瀏覽器與服務(wù)器之間的長距離低速網(wǎng)絡(luò)中的數(shù)據(jù)流量。</p><p><b>

41、;  ·更好的開放性</b></p><p>  開放性是發(fā)揮分布式系統(tǒng)優(yōu)勢的基本保障,它為不同廠商生產(chǎn)的產(chǎn)品協(xié)同工作創(chuàng)造了條件,但是這些產(chǎn)品還應(yīng)當遵循統(tǒng)一的標準。在Browser/server系統(tǒng)中,采用了一致的HTTP協(xié)議以及其他一些共同的規(guī)則,不同系統(tǒng)之間的沖突將會大大減少。</p><p><b>  ·平臺無關(guān)性</b><

42、;/p><p>  在Browser/Server系統(tǒng)中,程序的主體分布在Mid-Server上,客戶機上只有一個標準的瀏覽器,它與服務(wù)器之間采用標準的TCP/IP及HTTP等協(xié)議進行通信,因此客戶端的平臺是相對獨立的,它不依賴于服務(wù)器方所采用的軟硬平臺。用戶可以自由地選擇自己熟悉的平臺進行工作。</p><p>  ·有效地解決異種數(shù)據(jù)庫聯(lián)合使用的問題</p><

43、;p>  在Browser/Serve系統(tǒng)中,由于采用了 Browser/Mid-Server/Server的三層體系結(jié)構(gòu),只需在中間層服務(wù)器上安裝數(shù)據(jù)庫的驅(qū)動程序,或者使用專門的服務(wù)器用作與數(shù)據(jù)庫連接的橋梁。因為程序的主體是運行在中間服務(wù)器上的,客戶端只是一個瀏覽器,避免了在客戶端重復(fù)安裝數(shù)據(jù)庫驅(qū)動程序的問題,從而可以有效地解決異種數(shù)據(jù)庫聯(lián)合使用的問題。</p><p>  ·客戶端的維護工作簡

44、單</p><p>  Brower/Serve系統(tǒng)中,由于采用了通用的客戶軟件,維護工作主要集中在服務(wù)器端,而服務(wù)器是由專門的管理人員集中管理的,對系統(tǒng)的維護相對簡單得多。</p><p>  基于B/S結(jié)構(gòu)的Web應(yīng)用體系有如此多的優(yōu)勢,因此本網(wǎng)上考試系統(tǒng)的主體就采用這種B/S體系結(jié)構(gòu)。</p><p>  2.4 ADO.NET對象模型 </p>

45、<p>  ADO.NET對象模型中有五個主要的組件,分別是Connection對象、Command對象、DataAdapter、DataSet以及DataReader。這些組件中負責建立聯(lián)機和數(shù)據(jù)操作的部分我們稱為數(shù)據(jù)操作組件(Managed Providers)分別由Connection對象、Command對象、DataAdapter對象以及DataReader對象所組成。數(shù)據(jù)操作組件最主要是當作DataSet對象以及數(shù)

46、據(jù)源之間的橋梁,負責將數(shù)據(jù)源中的數(shù)據(jù)取出后植入DataSet對象中,以及將數(shù)據(jù)存回數(shù)據(jù)源的工作。</p><p>  ADO.NET對象模型如圖所示:</p><p>  圖2-2  ADO.NET對象模型 </p><p>  Connection組件</p><p>  Connection對象主要是開啟程序和數(shù)據(jù)庫之間的連結(jié)。

47、沒有利用連結(jié)對象將數(shù)據(jù)庫打開,是無法從數(shù)據(jù)庫中取得數(shù)據(jù)的。這個物件在ADO.NET的最底層,我們可以自己產(chǎn)生這個對象,或是由其它的對象自動產(chǎn)生。</p><p><b>  Command組件</b></p><p>  Command對象主要可以用來對數(shù)據(jù)庫發(fā)出一些指令,例如可以對數(shù)據(jù)庫下達查詢、新增、修改、刪除數(shù)據(jù)等指令,以及呼叫存在數(shù)據(jù)庫中的預(yù)存程序等。這個對象

48、是架構(gòu)在Connection對象上,也就是Command對象是透過連結(jié)到數(shù)據(jù)源的Connection對象來下命令的。所以Connection連結(jié)到哪個數(shù)據(jù)庫,Command對象的命令就下到哪里。</p><p>  DataAdapter組件</p><p>  DataAdapter對象主要是在數(shù)據(jù)源以及DataSet之間執(zhí)行數(shù)據(jù)傳輸?shù)墓ぷ?,它可以透過Command對象下達命令后,并將取

49、得的數(shù)據(jù)放入DataSet對象中。這個對象是架構(gòu)在Command對象上,并提供了許多配合DataSet使用的功能。</p><p><b>  DataSet組件</b></p><p>  DataSet這個對象可以視為一個暫存區(qū)(Cache),可以把從數(shù)據(jù)庫中所查詢到的數(shù)據(jù)保留起來,甚至可以將整個數(shù)據(jù)庫顯示出來。DataSet的能力不只是可以儲存多個Table而已

50、,還可以透過DataAdapter對象取得一些例如主鍵等的數(shù)據(jù)表結(jié)構(gòu),并可以記錄數(shù)據(jù)表間的關(guān)聯(lián)。DataSet對象可以說是ADO.NET中重量級的對象,這個對象架構(gòu)在DataAdapter對象上,本身不具備和數(shù)據(jù)源溝通的能力,也就是說我們是將DataAdapter對象當做DataSet對象以及數(shù)據(jù)源間傳輸數(shù)據(jù)的橋梁。</p><p>  DataReader組件</p><p>  當我們

51、只需要循序的讀取數(shù)據(jù)而不需要其它操作時,可以使用DataReader對象。DataReader對象只是一次一筆向下循序的讀取數(shù)據(jù)源中的數(shù)據(jù),而且這些數(shù)據(jù)是只讀的,并不允許作其它的操作。因為DataReade在讀取數(shù)據(jù)的時候限制了每次只讀取一筆,而且只能只讀,所以使用起來不但節(jié)省資源而且效率很好。使用DataReader對象除了效率較好之外,因為不用把數(shù)據(jù)全部傳回,故可以降低網(wǎng)絡(luò)的負載。</p><p>  2.5

52、 系統(tǒng)數(shù)據(jù)庫設(shè)計 </p><p>  2.5.1 數(shù)據(jù)庫結(jié)構(gòu)及說明 </p><p>  數(shù)據(jù)庫結(jié)構(gòu)是網(wǎng)上考試系統(tǒng)設(shè)計方案中的一個重要組成部分,目的在于滿足考生、管理員用戶實現(xiàn)其操作功能。數(shù)據(jù)庫中表的設(shè)計:</p><p>  1)管理員信息表(admin),如圖2-3:</p><p>  圖2-3管理員信息表</p>&l

53、t;p>  2)學生信息表結(jié)構(gòu)(student) ,如圖2-4:</p><p>  圖2-4學生信息表結(jié)構(gòu)</p><p>  3)試題信息表結(jié)構(gòu)(question),如圖2-5:</p><p>  圖2-5 試題信息表</p><p>  4)考試科目信息表結(jié)構(gòu)(subject),如圖2-6:</p><p&g

54、t;  圖2-6考試科目信息</p><p>  5)考生成績表結(jié)構(gòu)(score),如圖2-7所示:</p><p>  圖2-7 考生成績表</p><p>  2.5.2 用戶權(quán)限簡介 </p><p><b>  1) 管理員</b></p><p>  在此系統(tǒng)中系統(tǒng)管理員具有管理用戶、管

55、理試題和試卷的權(quán)力。他不需注冊,在數(shù)據(jù)庫有一個表來存放相關(guān)信息。</p><p>  2) 一般用戶主要是指考生,參加在線考試。</p><p>  第三章 系統(tǒng)的整體分析與設(shè)計</p><p><b>  3.1 需求分析</b></p><p>  3.1.1 系統(tǒng)需要解決的主要問題 </p><

56、p>  考生進入系統(tǒng)應(yīng)該進行身份驗證??忌M入考試系統(tǒng)后,需要選擇考試科目,所以系統(tǒng)還應(yīng)有考試科目選擇的功能。鑒于考試環(huán)境一般為機房,考試者之間的距離很近,為了避免考試做弊,試卷的試題和題量都應(yīng)是相同的,但試題并不相同。在線考試基于網(wǎng)絡(luò)環(huán)境,試卷應(yīng)該從服務(wù)器的數(shù)據(jù)庫隨機抽取試題后動態(tài)生成的。另外,系統(tǒng)還應(yīng)該對考試時間進行控制,時間到了會要求考試者交卷。考試者選擇提交答卷后,應(yīng)該自動判卷,給出考生分數(shù)。</p><

57、;p>  本系統(tǒng)是為了滿足在線考試的需求而設(shè)計開發(fā)的,可在Internet上進行實時考試。所以本考試系統(tǒng)應(yīng)具備的考試系統(tǒng)功能,包括:題庫設(shè)計和管理,試卷的隨機組卷能力,用戶在線考試及記錄,系統(tǒng)自動評卷,系統(tǒng)數(shù)據(jù)庫管理維護,系統(tǒng)管理和維護。</p><p>  3.1.2 系統(tǒng)功能模塊劃分 </p><p>  本在線考試系統(tǒng)可分為兩個主要功能模塊進行設(shè)計,這兩個功能模塊分別為:<

58、;/p><p>  1)考生功能模塊:考生功能模塊可以實現(xiàn)考生登錄、選擇考試科目、在線考試、完成考試給出分數(shù),如果已經(jīng)考過,則不能登錄考試。</p><p>  2)管理員功能模塊:管理員功能模塊可以實現(xiàn)管理員登錄、考生信息管理、考試科目管理、題庫管理、考試成績管理。</p><p>  系統(tǒng)統(tǒng)由一個登陸界面登陸,在登陸時是如果是學生,則用戶名為考生學號,如果是管理員登

59、陸,用戶名為管理員名,分別從各自己的數(shù)據(jù)庫中查詢帳戶,并核對登陸密碼,然后根據(jù)不同的角色進入不同的界面。系統(tǒng)功能模塊劃分如圖3-1所示:</p><p>  圖3-1 系統(tǒng)功能模塊劃分圖</p><p><b>  3.2 總體設(shè)計 </b></p><p>  本部分介紹了《基于Web的網(wǎng)上考試系統(tǒng)》的總體設(shè)計,主要包括公用登陸模塊的設(shè)計,學

60、生功能模塊的設(shè)計,管理員功能模塊的設(shè)計。程序總體流程圖如圖3-2所示:</p><p>  圖3-2 程序總體流程圖</p><p>  3.2.1 公共登陸模塊設(shè)計 </p><p>  所有用戶都從本模塊登陸,登陸界面(login/)上包括一個文本框用于輸入用戶名,一個文本框用于輸入密碼;包括兩個按鈕,用來區(qū)分考生登錄,還是管理員登陸。點擊登陸后,根據(jù)不同按鈕的

61、單擊事件,連接到不同的</p><p>  數(shù)據(jù)庫,從相應(yīng)的數(shù)據(jù)庫表中查詢用戶名和密碼,如查詢到,則進入相應(yīng)的頁面,如未查詢到,則彈出出錯信息,用戶點擊確定重新輸入用戶名和密碼登陸,圖3-3示: </p><p>  圖3-3  用戶登錄界面</p><p>  3.2.2 在線考試模塊設(shè)計 </p><p>  考生登錄后,進入考

62、試須知頁面(know1/),選擇考試科目后,若未參加該科目的考試,則進入相應(yīng)科目考試頁面;否則,不能進入考試頁面。該頁面主要提供了一個考生選擇考試科目的功能,以簡單的超鏈接進入不同的科目考試頁面??荚図氈撁嫒鐖D3-4示:</p><p>  圖3-4 考試須知頁面</p><p>  3.2.3 管理員功能模塊設(shè)計 </p><p>  管理員登錄后進入后臺管理主

63、頁面(classintro/),由該頁面可以登錄到學生信息管理、科目管理、試題管理、成績管理頁面。如圖3-6所示:</p><p>  圖3-6 后臺管理主頁面</p><p>  第四章 部分頁面實現(xiàn)詳解</p><p>  4.1 考試頁面的實現(xiàn) </p><p>  考試頁面(exampage/)可以進行單選、多選、填空題這些客觀題的考

64、試。每一類型題都以一個Web用戶控件來實現(xiàn)題目顯示,試題是隨機生成的,每次考試都不同的試卷,如圖3-5所示:</p><p><b>  圖3-5 考試頁面</b></p><p>  系統(tǒng)以隨機抽題來生成試卷,使用了一個隨機函數(shù)。先在題庫question表中得到每種題型在每次抽題供抽取的總題數(shù)count= SubjectInfo(Subject),隨機選題時應(yīng)在1-

65、count之間選取,temp = Fix(count * Rnd(10))。由于試卷是考前隨機抽題而得,考生在第一時間開啟試卷,減少了接觸試題的人員間環(huán)節(jié),也在一定程度上防止了考生將試題傳出考場,增強了試題的保密性其次,為了避免由于得到的隨機數(shù)相同,而在一份試卷中抽到相同的考題,在設(shè)計題庫結(jié)構(gòu)時設(shè)置了haveselect標記字段,標記字段取值為0時,該題未被抽取,haveselect標記字段取值為1,表示該題已被抽取,不能再用。這統(tǒng)在抽

66、題時,首先判斷haveselect標記字段是否為0,如果該題已被抽過,則必取新的隨機數(shù)重新抽取。下面以單選題為例來說明。</p><p>  //將haveselect置為1,標記該題為已選</p><p>  Public Function SetReaded(ByVal QuestionID As String)</p><p>  strsql = "

67、;update question set haveselect=1 Where id=" & CInt(QuestionID)</p><p>  ExeSQL(strsql)</p><p>  End Function </p><p>  //將haveselect置為0,該課程所有的考題初始化</p><p>  P

68、ublic Sub SetRead()         </p><p>  strsql = "update question set haveselect=0 where subjectname='" & Subject & "'"</p>&l

69、t;p>  ExeSQL(strsql)</p><p><b>  End Sub</b></p><p>  //用隨機函數(shù)Rnd()來生成試題號</p><p>  Public Sub DataBingToRep()</p><p>  strsql = "select top " &a

70、mp; 1 & " * from question Where subjectname='" & Subject & "' AND type='單選題'and haveselect= 0  "</p><p>  Randomize()</p><p>  count = Subjec

71、tInfo(Subject)</p><p>  temp = Fix(count * Rnd(100))</p><p>  If Qds.Tables(0).Rows.Count > 0 Then</p><p>  GetRowInfo(Qds.Tables(0).Rows(temp))</p><p><b>  El

72、se</b></p><p>  lblQesName.Text = "暫時沒有" & Subject & "的單選題!"</p><p><b>  End If</b></p><p><b>  End Sub</b></p><

73、p>  //統(tǒng)計課程考題的數(shù)量, 獲得count值</p><p>  Function SubjectInfo(ByVal name As String) As Integer</p><p>  strsql = "select * from question where subjectname='" & name & "&#

74、39; AND type='單選題'and haveselect=0 "</p><p>  Dim cmd As New SqlDataAdapter(strsql, appconn)</p><p>  cmd.Fill(Qds, "Info")</p><p>  Return Qds.Tables("I

75、nfo").Rows.Count</p><p>  End Function</p><p>  4.2 管理主頁面的實現(xiàn) </p><p>  管理主頁面是管理員進入后臺管理后所看到的第一個頁面,在該頁面上有Label控件顯示了管理員名,登錄時間信息,一組超鏈接實現(xiàn)各個頁面之間的跳轉(zhuǎn),以一個表格中加入超鏈接圖片也可以在不同頁面之間跳轉(zhuǎn),該頁面主要是管

76、理員歡迎界面,沒有什么關(guān)鍵代碼,只是超鏈接的使用。</p><p>  4.3 學生信息管理頁面(manstudentinfo/)的實現(xiàn) </p><p>  該頁面用DataGrid控件顯示了學生信息,并實現(xiàn)了分頁顯示,同時以下拉列表事件來實現(xiàn)按班級查詢學生信息,其中班級是從數(shù)據(jù)庫里查詢出來的不重復(fù)的班級,還以下拉列表提供了按序號、學號、姓名進行的關(guān)鍵字查詢,以超鏈接實現(xiàn)了跳轉(zhuǎn)到添加、修

77、改學生信息頁面。如圖4-1所示:</p><p>  圖4-1 學生信息管理頁面</p><p><b>  關(guān)鍵代碼解釋:</b></p><p>  //定義數(shù)據(jù)庫連接字符串,</p><p>  Dim conn As New SqlConnection(ConfigurationSettings.AppSetti

78、ngs("ConnectionString"))</p><p>  //使用DISTINCT關(guān)鍵字搜索出數(shù)據(jù)庫中的不同班級,class_name為下拉列表控件</p><p>  comdstr2 = "select DISTINCT class from student"</p><p>  class_name.Data

79、Source = studs.Tables("student1")</p><p>  class_name.DataBind()</p><p>  class_name.Items.Insert(0, New ListItem("全部", "全部"))</p><p>  //使第一項顯示為“全部”&l

80、t;/p><p>  class_name.SelectedIndex = class_name.Items.IndexOf(class_name.Items.FindByText("全部"))</p><p>  //使用Response.Redirect可以將網(wǎng)頁轉(zhuǎn)移至另外的網(wǎng)頁上,使用的語法結(jié)構(gòu)是:Response.Redirect網(wǎng)址,其中網(wǎng)址可以是相對地址或絕對地

81、址,在此使用Response.Redirect("addstudentinfo/")跳轉(zhuǎn)到修改學生信息頁面</p><p><b>  Session</b></p><p>  ("studentid") = s_datagrid.DataKeys(CInt(E.Item.ItemIndex)) </p><

82、;p>  //使用下拉列表控件的SelectedIndexChanged事件,實現(xiàn)下拉列表改變,自動按不同班級查詢學生信息</p><p>  Public Sub class_name_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles class_name.SelectedInd

83、exChanged</p><p>  dblstr = Request.Form("class_name")</p><p><b>  ifsub()</b></p><p><b>  End Sub</b></p><p>  //根據(jù)不同的查詢條件生成不同的查詢字符串&

84、lt;/p><p>  Sub ifsub()</p><p>  //使用like '%" & key & "%'實現(xiàn)按關(guān)鍵字查詢,以下輸入學號關(guān)鍵字為來實現(xiàn)查詢</p><p>  If skey = "s_no" Then</p><p>  comdskey = &q

85、uot; where s_no like '%" & key & "%' "</p><p>  comdstr = "select * from student " & comdskey</p><p><b>  End If</b></p><p>

86、  Session("str") = comdstr</p><p>  adp = New SqlDataAdapter(comdstr, conn)</p><p>  ds = New DataSet</p><p>  adp.Fill(ds, "student")</p><p>  s_da

87、tagrid.DataSource = ds.Tables("student").DefaultView</p><p>  s_datagrid.DataBind()</p><p><b>  End Sub</b></p><p>  4.3.1 添加、修改學生信息(addstudentinfo/updatestude

88、ntifo) </p><p>  添加學生信息與修改學生信息共用一個頁面,在執(zhí)行不同操作時,傳遞不同的參數(shù)editstudent,當editstudent為空值時,顯示添加學生信息頁面,不為空顯示為修改學生信息,并根據(jù)參數(shù)綁定數(shù)據(jù)庫中的對應(yīng)的學生信息,顯示在相應(yīng)的文本框或下拉列表中。如圖4-2所示:</p><p>  圖4-2 添加、修改學生信息頁面</p><p&

89、gt;<b>  關(guān)鍵代碼解釋:</b></p><p>  //根據(jù)不同editstudent參數(shù)值顯示不同的頁面標題,其中editstudent為學生id</p><p>  <%If editstudent = "" Then%>添加學生信息</p><p>  <%Else%>修改學生信息&l

90、t;%End If%></p><p>  //根據(jù)不同editstudent參數(shù)值顯示不同的按鈕文本</p><p>  <%If editstudent = "" Then%><asp:Button ID="Button1" Text=" 添加學生信息" OnClick="Enter_Clic

91、k" /></p><p>  <%Else%><asp:Button ID="Button2" runat="server" Text="修改學生信息" OnClick="Button2_Click"></asp:Button><%End If%></p>

92、<p>  //該句的功能是把表單提交的變量editstudent的值賦給一個Session對象studentid。這個對象用來存儲學生id,它在用戶對每個頁面的訪問中有效。</p><p>  editstudent = Session("studentid")</p><p>  //點擊修改學生信息事件,使用Request對象的Form獲得頁面上表單的

93、內(nèi)容</p><p>  nums = Request.Form("num")</p><p>  names = Request.Form("name")</p><p>  pwds = Request.Form("pwd")</p><p>  grades = Request

94、.Form("grade")</p><p>  strA = "update student set s_no='" & nums & "',s_name='" & names & "',s_pwd='" & pwds & "'

95、,class='" & grades & "' where id=" & editstudent</p><p><b>  致謝</b></p><p>  在本次論文設(shè)計過程中,***老師對該論文從選題,構(gòu)思到最后定稿的各個環(huán)節(jié)給予細心指引與教導(dǎo),使我得以最終完成畢業(yè)論文設(shè)計。在學習中,老師嚴謹

96、的治學態(tài)度、豐富淵博的知識、敏銳的學術(shù)思維、精益求精的工作態(tài)度以及侮人不倦的師者風范是我終生學習的楷模,導(dǎo)師們的高深精湛的造詣與嚴謹求實的治學精神,將永遠激勵著我。這三年中還得到眾多老師的關(guān)心支持和幫助。在此,謹向老師們致以衷心的感謝和崇高的敬意!</p><p>  最后,我要向百忙之中抽時間對本文進行審閱,評議和參與本人論文答辯的各位老師表示感謝。</p><p><b> 

97、 參考文獻</b></p><p>  1)李克東,謝幼如等編著.多媒體組合教學設(shè)計[M].北京:科學出版社.1992(1)。</p><p>  2)徐玲,呂磊等編著.基于B/S結(jié)構(gòu)的高校教務(wù)辦公自動化的設(shè)計與實現(xiàn)[J].電腦信息技術(shù).2001 5(3) 18-19。</p><p>  3)明日科技,蓋天宇,孫明麗,鄒天思等編著.ASP數(shù)據(jù)庫系統(tǒng)開發(fā)

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論