版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘要2</b></p><p> 關鍵字:考試系統(tǒng) ASP.NET ADO.NET SQL Sever 2000 Browser/Server2</p><p><b> 第一章 緒論3</b></p><p> 1.1 網上考試系統(tǒng)的現狀分析3<
2、/p><p> 1.2 選題的背景及研究意義4</p><p> 1.3 系統(tǒng)基本簡介4</p><p> 第二章 系統(tǒng)的關鍵技術及介紹6</p><p> 2.1 ASP.NET技術概況6</p><p> 2.1.1 ASP.NET的優(yōu)勢6</p><p> 2.1.2 常
3、用到的ASP.NET內置對象8</p><p> 2.2 利用SQL Sever 2000來建立數據庫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)數據庫設計13</p><p> 2.5.1 數據庫結構及說明13</p><p> 2.5.2 用戶權限簡介14</p><p> 第三章 系統(tǒng)的整體分析與設計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 總體設計17</p><p> 3.2.1 公共登陸模塊設計18</p><p> 3.2.2 在線考試模塊設計18</p>
6、<p> 3.2.3 管理員功能模塊設計19</p><p> 第四章 部分頁面實現詳解20</p><p> 4.1 考試頁面的實現20</p><p> 4.2 管理主頁面的實現22</p><p> 4.3 學生信息管理頁面(manstudentinfo/)的實現22</p><p&g
7、t; 4.3.1 添加、修改學生信息(addstudentinfo/)24</p><p><b> 致謝26</b></p><p><b> 參考文獻27</b></p><p> 摘要:隨著網絡的普及和對教育的重視,各院校各學科的網上考試都具有了必要的使用環(huán)境。但是,目前國內的一些網絡教學系統(tǒng)的主要功能
8、是教學,不能單獨作為考試平臺,通用性差,而且系統(tǒng)中對主觀題的評閱多是采用人工評閱方式,沒有實現真正意義上的自動評分。另一方面,我們所在院校的計算機基礎課已開設了多年,但尚在沿用傳統(tǒng)的考試形式或使用單機版的考試系統(tǒng)?;赪eb的網上考試系統(tǒng)的設計與實現就是基于上述目的開發(fā)設計的。</p><p> 本系統(tǒng)采用B/S架構作為系統(tǒng)的總體結構,以Web數據庫技術為依托,利用微軟的ASP.NET技術,結合ADO,實現了對
9、Web數據庫的訪問和查詢。該設計實現了按題型隨機抽題組卷、在線考試、題庫管理、系統(tǒng)管理的功能,能夠對客觀題在線評分。學生用學號登錄成功后,閱讀考試須知,之后選擇考試科目進入考試頁面,完成相應科目考試,自動給出考試成績。系統(tǒng)管理,實現了對題庫、考生信息、考試成績、考試科目的管理。題庫管理,實現了對試題的添加、編輯、刪除功能;考生信息管理可以添加、修改、刪除、查詢考生信息,成績管理可以刪除成績信息,科目管理主要是修改考試科目信息。</
10、p><p> 基于Web的網上考試系統(tǒng)本身是一個很大的系統(tǒng),尤其試題庫部分需要許多人的參與以及大量的投入才能建成。該系統(tǒng)雖然僅僅是完成《計算機文化基礎》和《操作系統(tǒng)》課程的考試,但卻具有良好的實用性與通用性,提供友好的人機界面,具有較好的可擴充性和開放性。 </p><p> 關鍵字:考試系統(tǒng) ASP.NET ADO.NET SQL Sever 2000 Brows
11、er/Server </p><p><b> 第一章 緒論</b></p><p> 1.1 網上考試系統(tǒng)的現狀分析 </p><p> 在信息技術迅速發(fā)展的今天,網絡對于大多數人已不再陌生,并且其應用在人們的工作、學習和生活中越來越多地發(fā)揮著不可替代的作用。近年來隨著軟件工程技術、信息通信技術的快速發(fā)展以及計算機網絡技術的日趨成熟
12、,網絡教育在人們的教育活動中逐步得到普及。網上考試是網絡教育不可缺少的組成部分,是網絡教育的一個重要環(huán)節(jié)。</p><p> 網上考試在國外一些國家已經得到了蓬勃發(fā)展,人們選學課程和考試都是通過網上進行的。例如國外一些著名的考試,如Microsoft公司的MCSE(Microsoft系統(tǒng)工程師認證考試)、GMAT(工商管理碩士入學考試)、托福考試、GRE(美國研究生入學考試)等,都是采用網上考試的形式進行的。&
13、lt;/p><p> 在國內,目前絕大多數考試還停留在傳統(tǒng)考試方式上,對互聯(lián)網的真正應用僅限于一些考試的網上報名工作和網上成績查詢,還沒有真正形成網上考試規(guī)模。網上考試系統(tǒng)作為現代教育的一個子系統(tǒng),是保證教育教學質量的重要手段。在傳統(tǒng)的考試方式下,組織一次考試要經過出題、考試、評卷、試卷分析等步驟,隨著考試類型的增加及考試要求的提高,教師的工作量將會越來越大,并且其工作非常容易出錯,在一定程度上說,傳統(tǒng)的考試方式已
14、經存在著改革的必要了。Internet技術的發(fā)展使得考試的技術手段和載體發(fā)生了劃時代的變化,考試從傳統(tǒng)的紙筆考試到計算機輔助考試再發(fā)展到基于Web的網上考試成為現實。</p><p> 現階段,網上考試系統(tǒng)的主流開發(fā)技術已經相當成熟,且很好地適應了動態(tài)站點設計和基于Web的數據庫訪問的要求,是當前網上考試軟件實現的主流技術之一。在對大量關于網上考試系統(tǒng)資料的研究和學習后,根據工作的需要,針對本校實際情況特別是教
15、學的需求,利用學校校園網已有的基礎條件,研究開發(fā)適合本校使用的基于Web的網上考試系統(tǒng)。</p><p> 1.2 選題的背景及研究意義 </p><p> 隨著計算機科學、網絡技術的迅猛發(fā)展,在教育領域里,實現網上考試可以充分利用學?,F有的計算機軟、硬件資源和網絡資源實現考試;對于客觀題由計算機來完成閱卷,可以將減少人工閱卷的工作量。</p><p> 目前
16、常用的網上考試系統(tǒng)主要有兩種基本模式:傳統(tǒng)的C/S(客戶機/服務器)模式和新型的B/S(瀏覽器/服務器)模式,所謂C/S模式,即數據庫(比如,試題庫)內容放在遠程的服務器上,在客戶機上安裝相應軟件;C/S結構在技術上雖然很成熟,但該結構的程序往往只局限在小型的局域網內部,不利于擴展。并且,該結構的每臺客戶機都需要安裝相應的客戶端程序。當擁有用戶量比較多時,如果采用該結構,系統(tǒng)的安裝與維護工作比較繁重。同時,由于應用程序直接安裝在客戶機,
17、客戶機直接和數據庫服務器交換數據,系統(tǒng)的安全性也受到一定影響。與傳統(tǒng)的基于C/S模式的網上考試系統(tǒng)相比,B/S體系將應用邏輯與用戶界面和數據訪問相分離,使系統(tǒng)的維護變得簡單(只需要改變網頁,即可實現所有用戶的同步更新),同時簡化了客戶端的功能,用戶只需瀏覽器即可使用此考試系統(tǒng),更適宜于互聯(lián)網上的考試。</p><p> 在信息網絡化的現實面前,我們提出一種基于Web的網上考試系統(tǒng),并用SQL Sever 200
18、0數據庫與ASP.NET技術結合進行了該系統(tǒng)的開發(fā)。</p><p> 1.3 系統(tǒng)基本簡介 </p><p> 我們課題組所做的工作不僅僅是參與開發(fā)一個完整的在線考試系統(tǒng),也是一個引導性的基礎研究,是對.net平臺下基于B/S結構的軟件體系結構、關鍵技術、實現技術、框架解決方案進行的探索。</p><p> 本系統(tǒng)采用ASP.NET、HTML、Javascr
19、ipt、VBScript、圖形編輯與數據庫等工具,通過基于WEB服務器訪問WEB頁面,可以不受地點,時間限制,通過寬帶上網或其它上網方式,借助Internet這一強大、方便的工具,考生可以在互聯(lián)網上通過瀏覽器來選擇科目、參加考試,管理員可以在互聯(lián)網上通過瀏覽器來添加、修改學生信息,添加、修改、刪除試題,修改考試科目信息,管理學生成績;同時還實現有學生信息查詢功能:按班級、學號、姓名等關鍵字查詢,實現對整個系統(tǒng)的管理功能。 </p&
20、gt;<p> 系統(tǒng)的主界面主要有考生、管理員入口,根據用戶類型,分別進入考試和管理兩個不同的頁面。其最大的特點是開放性、方便性和靈活性。</p><p> 第二章 系統(tǒng)的關鍵技術及介紹</p><p> 在《基于Web的網上考試系統(tǒng)》的設計過程中,主要考慮了以下幾方面的問題:</p><p> 1)
21、0; ASP.NET技術;</p><p> 2) 建立數據庫,使用SQL Sever 2000來建立;</p><p> 3) 選擇系統(tǒng)的開發(fā)模式,B/S模式;</p><p> 4) ADO.NET對象模型;<
22、;/p><p> 5) 系統(tǒng)數據庫設計。</p><p> 2.1 ASP.NET技術概況 </p><p> ASP.NET是微軟公司推出的一種Internet編程技術,它采用效率較高的、面向對象的方法來創(chuàng)建動態(tài)Web應用程序。在原來的ASP技術中,服務器端代碼和客戶端HTML混合在一起,常常導致頁面的代碼冗長而復
23、雜,程序的邏輯難以理解。ASP.NET是一種獨立于瀏覽器的編程模型,可以在最新版本的IE、NetscapeNavigator以及諸如Opera等被廣泛使用的瀏覽器上運行。</p><p> ASP.NET是一種建立在通用語言上的程序構架。一個已編譯的、基于.NET的環(huán)境,把基于通用語言的程序在服務器上運行。將程序在服務器端首次運行時進行編譯,比ASP即時解釋程序速度上要快很多。微軟公司發(fā)布了包括Visual B
24、asic.NET、C#.NET、Visual C++.NET等與.NET兼容的語言來創(chuàng)作應用程序。</p><p> 2.1.1 ASP.NET的優(yōu)勢 </p><p> ASP.NET是在服務器上運行的編譯好的公共語言運行庫代碼,它可利用早期綁定、實時編譯、本機優(yōu)化和盒外緩存服務。這相當于在編寫代碼行之前便顯著提高了性能。</p><p> 1)世界級的工具
25、支持</p><p> ASP.NET框架補充了Visual Studio集成開發(fā)環(huán)境中的大量工具箱和設計器。WYSIWYG編輯、拖放服務器控件和自動部署只是這個強大的工具所提供功能中的少數幾種。</p><p><b> 2)威力和靈活性</b></p><p> 由于ASP.NET基于公共語言運行庫,因此Web應用程序開發(fā)人員可以利用
26、整個平臺的威力和靈活性。Microsoft.NET框架類庫、消息處理和數據訪問解決方案都可從Web無縫訪問。ASP.NET也與語言無關,所以可以選擇最適合應用程序的語言,或跨多種語言分割應用程序。另外,公共語言運行庫的交互性保證在遷移到ASP.NET時保留基于COM的開發(fā)中的現有投資。</p><p><b> 3)簡易性</b></p><p> ASP.NET
27、使執(zhí)行常見任務變得容易,從簡單的窗體提交和客戶端身份驗證到部署和站點配置。例如,ASP.NET頁框架使您可以生成將應用程序邏輯與表示代碼清楚分開的用戶界面,和在類似Visual Basic的簡單窗體處理模型中處理事件并不相同。另外,公共語言運行庫利用托管代碼服務(如自動引用計數和垃圾回收)簡化了開發(fā)。</p><p><b> 4)可管理性</b></p><p>
28、 ASP.NET采用基于文本的分層配置系統(tǒng),簡化了將設置應用于服務器環(huán)境和Web應用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應用新設置。此“零本地管理”哲學也擴展到了ASP.NET框架應用程序的部署。只需將必要的文件復制到服務器,即可將ASP.NET框架應用程序部署到服務器。不需要重新啟動服務器,即使是在部署或替換運行的編譯代碼時。</p><p> 5)可縮放性和可用性
29、</p><p> ASP.NET在設計時考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進程受到ASP.NET運行庫的密切監(jiān)視和管理,以便當進程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進程,以幫助保持應用程序始終可用于處理請求。</p><p> 6)自定義性和擴展性</p><p> ASP.NET隨附了一個設計周到的結構,它
30、使開發(fā)人員可以在適當的級別“插入”代碼。實際上,可以用自己編寫的自定義組件擴展或替換吉林大學碩士學位論文ASP.NET運行庫的任何子組件。</p><p><b> 7)安全性</b></p><p> 借助內置的Windows身份驗證和基于每個應用程序的配置,可以保證應用程序是安全的。</p><p> 2.1.2 常用到的ASP.NE
31、T內置對象 </p><p> Application對象:對整個ASP.NET執(zhí)行環(huán)境而言,一個虛擬目錄下的所有ASP.NET程序構成了一個Web應用程序。在多任務執(zhí)行的情況下,來自四面八方的眾多用戶可能執(zhí)行同一個Web應用程序,這便依賴Application對象。常用到的場合:聊天室、網頁計數器等。</p><p> Request對象:獲取從客戶瀏覽器傳給服務器端的數據,如接收來
32、自表單的數據。</p><p> Response對象:Request對象與Response對象就像一般程序語言里的Input及Output命令,若要讓服務器端的ASP.NET程序能夠接收來自客戶端的信息,須用Request對象;若想將服務器端的信息傳遞給客戶端,須用Response對象。</p><p> 適用于同一位用戶,換句話說,一個Session對象只屬于一位用戶。常用到的場合
33、:虛擬購物車、用戶登陸網站時用戶名的臨時存儲等。 </p><p> 2.2 利用SQL Sever 2000來建立數據庫 </p><p> Microsoft SQL Server 2000 是一種關系型數據庫。此種數據庫采數據分類表格化的架構,將相關的數據組成表格,表格和表格之間可以有關聯(lián)性,因此稱為關系型數據庫。系統(tǒng)管理員可透過應用程序進入服務器,更改數據型態(tài),管理及處理服務器
34、資源。SQL Server 也是一種具備延展性的數據庫(scalable database),亦即 SQL Server 可以支持多位使用者同時進入數據庫中處理大量的數據。如圖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> 隨著網絡規(guī)模的日益擴大,應用程序的復雜程度不斷提高,傳統(tǒng)的數據庫應用架構已經不能勝任。為了充分利用網絡資源,越來越多的信息需要在 www(WoridWideWeb)上發(fā)布,實現信息最大程度的共享。Browser/Serve結構伴隨著Intemet的發(fā)展而很快地發(fā)展起來。Browser/Serve體系結構是一種三層結構,其三級結
36、構組成如圖2-2所示:</p><p> 圖2-2 B/S結構示意圖</p><p> 第一層,瀏覽器是表示層,完成用戶接口功能。在客戶端向URL(Uniform ResourceLocator)指定的web服務器提出服務器請求,Web服務器用HTTP協(xié)議把所需文件資料傳給用戶,客戶端接受并顯示在WWW瀏覽器上。</p><p> 第二層,Web服
37、務器是功能層,完成客戶的應用功能。即Web服務器接受客戶請求,以CGI或ASP與數據庫連接,進行申請?zhí)幚恚髷祿旖Y果返回web服務器,再傳至客戶端。</p><p> 第三層,數據庫服務器是數據層。數據庫服務器應客戶請求獨立地進行各種處理。Browser/server系統(tǒng)中的Browser作為一種通用的瀏覽器,一般沒有任何應用程序; Browser/server系統(tǒng)中的中間層是B/S結構中相當關鍵的部分,中
38、間層在Browser/Serve:系統(tǒng)中充當著雙重身份:從Browser的角度看,它是 WebServer,而從 DBServe的角度看,它是一個功能豐富的Client。</p><p> 2.3.2 Browser/Server模式的特點 </p><p> B/S系統(tǒng)的這三層體系結構的特點:</p><p> ·友好、統(tǒng)一的圖形用戶界面<
39、/p><p> 在Browser/Server系統(tǒng)中,由于遵循了統(tǒng)一的標準協(xié)議,而且使用瀏覽器作為統(tǒng)一的客戶軟件,用戶無須再花費大量的時間與精力去學習和熟悉不同的系統(tǒng)的使用方法,用戶可以把大部分的精力集中在系統(tǒng)的內容上,而不是去記住系統(tǒng)的使用說明書。</p><p> ·減少網絡中的數據流量</p><p> 在Browser/server系統(tǒng)中,由于數
40、據的處理工作是由服務器來執(zhí)行的,因此在讀取數據和保存數據時,這些數據只在幾臺服務器之間傳輸,不需要通過瀏覽器與服務器之間的網絡。一般來說,瀏覽器與服務器之間的網絡大都是距離較長而且速度較低的,而服務器與服務器之間的網絡則是距離較短而且速度較高的,因此采用Browser/Server后,可以充分地利用服務器之間的高速連接通路,而減少在瀏覽器與服務器之間的長距離低速網絡中的數據流量。</p><p><b>
41、; ·更好的開放性</b></p><p> 開放性是發(fā)揮分布式系統(tǒng)優(yōu)勢的基本保障,它為不同廠商生產的產品協(xié)同工作創(chuàng)造了條件,但是這些產品還應當遵循統(tǒng)一的標準。在Browser/server系統(tǒng)中,采用了一致的HTTP協(xié)議以及其他一些共同的規(guī)則,不同系統(tǒng)之間的沖突將會大大減少。</p><p><b> ·平臺無關性</b><
42、;/p><p> 在Browser/Server系統(tǒng)中,程序的主體分布在Mid-Server上,客戶機上只有一個標準的瀏覽器,它與服務器之間采用標準的TCP/IP及HTTP等協(xié)議進行通信,因此客戶端的平臺是相對獨立的,它不依賴于服務器方所采用的軟硬平臺。用戶可以自由地選擇自己熟悉的平臺進行工作。</p><p> ·有效地解決異種數據庫聯(lián)合使用的問題</p><
43、;p> 在Browser/Serve系統(tǒng)中,由于采用了 Browser/Mid-Server/Server的三層體系結構,只需在中間層服務器上安裝數據庫的驅動程序,或者使用專門的服務器用作與數據庫連接的橋梁。因為程序的主體是運行在中間服務器上的,客戶端只是一個瀏覽器,避免了在客戶端重復安裝數據庫驅動程序的問題,從而可以有效地解決異種數據庫聯(lián)合使用的問題。</p><p> ·客戶端的維護工作簡
44、單</p><p> Brower/Serve系統(tǒng)中,由于采用了通用的客戶軟件,維護工作主要集中在服務器端,而服務器是由專門的管理人員集中管理的,對系統(tǒng)的維護相對簡單得多。</p><p> 基于B/S結構的Web應用體系有如此多的優(yōu)勢,因此本網上考試系統(tǒng)的主體就采用這種B/S體系結構。</p><p> 2.4 ADO.NET對象模型 </p>
45、<p> ADO.NET對象模型中有五個主要的組件,分別是Connection對象、Command對象、DataAdapter、DataSet以及DataReader。這些組件中負責建立聯(lián)機和數據操作的部分我們稱為數據操作組件(Managed Providers)分別由Connection對象、Command對象、DataAdapter對象以及DataReader對象所組成。數據操作組件最主要是當作DataSet對象以及數
46、據源之間的橋梁,負責將數據源中的數據取出后植入DataSet對象中,以及將數據存回數據源的工作。</p><p> ADO.NET對象模型如圖所示:</p><p> 圖2-2 ADO.NET對象模型 </p><p> Connection組件</p><p> Connection對象主要是開啟程序和數據庫之間的連結。
47、沒有利用連結對象將數據庫打開,是無法從數據庫中取得數據的。這個物件在ADO.NET的最底層,我們可以自己產生這個對象,或是由其它的對象自動產生。</p><p><b> Command組件</b></p><p> Command對象主要可以用來對數據庫發(fā)出一些指令,例如可以對數據庫下達查詢、新增、修改、刪除數據等指令,以及呼叫存在數據庫中的預存程序等。這個對象
48、是架構在Connection對象上,也就是Command對象是透過連結到數據源的Connection對象來下命令的。所以Connection連結到哪個數據庫,Command對象的命令就下到哪里。</p><p> DataAdapter組件</p><p> DataAdapter對象主要是在數據源以及DataSet之間執(zhí)行數據傳輸的工作,它可以透過Command對象下達命令后,并將取
49、得的數據放入DataSet對象中。這個對象是架構在Command對象上,并提供了許多配合DataSet使用的功能。</p><p><b> DataSet組件</b></p><p> DataSet這個對象可以視為一個暫存區(qū)(Cache),可以把從數據庫中所查詢到的數據保留起來,甚至可以將整個數據庫顯示出來。DataSet的能力不只是可以儲存多個Table而已
50、,還可以透過DataAdapter對象取得一些例如主鍵等的數據表結構,并可以記錄數據表間的關聯(lián)。DataSet對象可以說是ADO.NET中重量級的對象,這個對象架構在DataAdapter對象上,本身不具備和數據源溝通的能力,也就是說我們是將DataAdapter對象當做DataSet對象以及數據源間傳輸數據的橋梁。</p><p> DataReader組件</p><p> 當我們
51、只需要循序的讀取數據而不需要其它操作時,可以使用DataReader對象。DataReader對象只是一次一筆向下循序的讀取數據源中的數據,而且這些數據是只讀的,并不允許作其它的操作。因為DataReade在讀取數據的時候限制了每次只讀取一筆,而且只能只讀,所以使用起來不但節(jié)省資源而且效率很好。使用DataReader對象除了效率較好之外,因為不用把數據全部傳回,故可以降低網絡的負載。</p><p> 2.5
52、 系統(tǒng)數據庫設計 </p><p> 2.5.1 數據庫結構及說明 </p><p> 數據庫結構是網上考試系統(tǒng)設計方案中的一個重要組成部分,目的在于滿足考生、管理員用戶實現其操作功能。數據庫中表的設計:</p><p> 1)管理員信息表(admin),如圖2-3:</p><p> 圖2-3管理員信息表</p>&l
53、t;p> 2)學生信息表結構(student) ,如圖2-4:</p><p> 圖2-4學生信息表結構</p><p> 3)試題信息表結構(question),如圖2-5:</p><p> 圖2-5 試題信息表</p><p> 4)考試科目信息表結構(subject),如圖2-6:</p><p&g
54、t; 圖2-6考試科目信息</p><p> 5)考生成績表結構(score),如圖2-7所示:</p><p> 圖2-7 考生成績表</p><p> 2.5.2 用戶權限簡介 </p><p><b> 1) 管理員</b></p><p> 在此系統(tǒng)中系統(tǒng)管理員具有管理用戶、管
55、理試題和試卷的權力。他不需注冊,在數據庫有一個表來存放相關信息。</p><p> 2) 一般用戶主要是指考生,參加在線考試。</p><p> 第三章 系統(tǒng)的整體分析與設計</p><p><b> 3.1 需求分析</b></p><p> 3.1.1 系統(tǒng)需要解決的主要問題 </p><
56、p> 考生進入系統(tǒng)應該進行身份驗證??忌M入考試系統(tǒng)后,需要選擇考試科目,所以系統(tǒng)還應有考試科目選擇的功能。鑒于考試環(huán)境一般為機房,考試者之間的距離很近,為了避免考試做弊,試卷的試題和題量都應是相同的,但試題并不相同。在線考試基于網絡環(huán)境,試卷應該從服務器的數據庫隨機抽取試題后動態(tài)生成的。另外,系統(tǒng)還應該對考試時間進行控制,時間到了會要求考試者交卷。考試者選擇提交答卷后,應該自動判卷,給出考生分數。</p><
57、;p> 本系統(tǒng)是為了滿足在線考試的需求而設計開發(fā)的,可在Internet上進行實時考試。所以本考試系統(tǒng)應具備的考試系統(tǒng)功能,包括:題庫設計和管理,試卷的隨機組卷能力,用戶在線考試及記錄,系統(tǒng)自動評卷,系統(tǒng)數據庫管理維護,系統(tǒng)管理和維護。</p><p> 3.1.2 系統(tǒng)功能模塊劃分 </p><p> 本在線考試系統(tǒng)可分為兩個主要功能模塊進行設計,這兩個功能模塊分別為:<
58、;/p><p> 1)考生功能模塊:考生功能模塊可以實現考生登錄、選擇考試科目、在線考試、完成考試給出分數,如果已經考過,則不能登錄考試。</p><p> 2)管理員功能模塊:管理員功能模塊可以實現管理員登錄、考生信息管理、考試科目管理、題庫管理、考試成績管理。</p><p> 系統(tǒng)統(tǒng)由一個登陸界面登陸,在登陸時是如果是學生,則用戶名為考生學號,如果是管理員登
59、陸,用戶名為管理員名,分別從各自己的數據庫中查詢帳戶,并核對登陸密碼,然后根據不同的角色進入不同的界面。系統(tǒng)功能模塊劃分如圖3-1所示:</p><p> 圖3-1 系統(tǒng)功能模塊劃分圖</p><p><b> 3.2 總體設計 </b></p><p> 本部分介紹了《基于Web的網上考試系統(tǒng)》的總體設計,主要包括公用登陸模塊的設計,學
60、生功能模塊的設計,管理員功能模塊的設計。程序總體流程圖如圖3-2所示:</p><p> 圖3-2 程序總體流程圖</p><p> 3.2.1 公共登陸模塊設計 </p><p> 所有用戶都從本模塊登陸,登陸界面(login/)上包括一個文本框用于輸入用戶名,一個文本框用于輸入密碼;包括兩個按鈕,用來區(qū)分考生登錄,還是管理員登陸。點擊登陸后,根據不同按鈕的
61、單擊事件,連接到不同的</p><p> 數據庫,從相應的數據庫表中查詢用戶名和密碼,如查詢到,則進入相應的頁面,如未查詢到,則彈出出錯信息,用戶點擊確定重新輸入用戶名和密碼登陸,圖3-3示: </p><p> 圖3-3 用戶登錄界面</p><p> 3.2.2 在線考試模塊設計 </p><p> 考生登錄后,進入考
62、試須知頁面(know1/),選擇考試科目后,若未參加該科目的考試,則進入相應科目考試頁面;否則,不能進入考試頁面。該頁面主要提供了一個考生選擇考試科目的功能,以簡單的超鏈接進入不同的科目考試頁面。考試須知頁面如圖3-4示:</p><p> 圖3-4 考試須知頁面</p><p> 3.2.3 管理員功能模塊設計 </p><p> 管理員登錄后進入后臺管理主
63、頁面(classintro/),由該頁面可以登錄到學生信息管理、科目管理、試題管理、成績管理頁面。如圖3-6所示:</p><p> 圖3-6 后臺管理主頁面</p><p> 第四章 部分頁面實現詳解</p><p> 4.1 考試頁面的實現 </p><p> 考試頁面(exampage/)可以進行單選、多選、填空題這些客觀題的考
64、試。每一類型題都以一個Web用戶控件來實現題目顯示,試題是隨機生成的,每次考試都不同的試卷,如圖3-5所示:</p><p><b> 圖3-5 考試頁面</b></p><p> 系統(tǒng)以隨機抽題來生成試卷,使用了一個隨機函數。先在題庫question表中得到每種題型在每次抽題供抽取的總題數count= SubjectInfo(Subject),隨機選題時應在1-
65、count之間選取,temp = Fix(count * Rnd(10))。由于試卷是考前隨機抽題而得,考生在第一時間開啟試卷,減少了接觸試題的人員間環(huán)節(jié),也在一定程度上防止了考生將試題傳出考場,增強了試題的保密性其次,為了避免由于得到的隨機數相同,而在一份試卷中抽到相同的考題,在設計題庫結構時設置了haveselect標記字段,標記字段取值為0時,該題未被抽取,haveselect標記字段取值為1,表示該題已被抽取,不能再用。這統(tǒng)在抽
66、題時,首先判斷haveselect標記字段是否為0,如果該題已被抽過,則必取新的隨機數重新抽取。下面以單選題為例來說明。</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> //用隨機函數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)計課程考題的數量, 獲得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 管理主頁面的實現 </p><p> 管理主頁面是管理員進入后臺管理后所看到的第一個頁面,在該頁面上有Label控件顯示了管理員名,登錄時間信息,一組超鏈接實現各個頁面之間的跳轉,以一個表格中加入超鏈接圖片也可以在不同頁面之間跳轉,該頁面主要是管
76、理員歡迎界面,沒有什么關鍵代碼,只是超鏈接的使用。</p><p> 4.3 學生信息管理頁面(manstudentinfo/)的實現 </p><p> 該頁面用DataGrid控件顯示了學生信息,并實現了分頁顯示,同時以下拉列表事件來實現按班級查詢學生信息,其中班級是從數據庫里查詢出來的不重復的班級,還以下拉列表提供了按序號、學號、姓名進行的關鍵字查詢,以超鏈接實現了跳轉到添加、修
77、改學生信息頁面。如圖4-1所示:</p><p> 圖4-1 學生信息管理頁面</p><p><b> 關鍵代碼解釋:</b></p><p> //定義數據庫連接字符串,</p><p> Dim conn As New SqlConnection(ConfigurationSettings.AppSetti
78、ngs("ConnectionString"))</p><p> //使用DISTINCT關鍵字搜索出數據庫中的不同班級,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可以將網頁轉移至另外的網頁上,使用的語法結構是:Response.Redirect網址,其中網址可以是相對地址或絕對地
81、址,在此使用Response.Redirect("addstudentinfo/")跳轉到修改學生信息頁面</p><p><b> Session</b></p><p> ("studentid") = s_datagrid.DataKeys(CInt(E.Item.ItemIndex)) </p><
82、;p> //使用下拉列表控件的SelectedIndexChanged事件,實現下拉列表改變,自動按不同班級查詢學生信息</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> //根據不同的查詢條件生成不同的查詢字符串&
84、lt;/p><p> Sub ifsub()</p><p> //使用like '%" & key & "%'實現按關鍵字查詢,以下輸入學號關鍵字為來實現查詢</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í)行不同操作時,傳遞不同的參數editstudent,當editstudent為空值時,顯示添加學生信息頁面,不為空顯示為修改學生信息,并根據參數綁定數據庫中的對應的學生信息,顯示在相應的文本框或下拉列表中。如圖4-2所示:</p><p> 圖4-2 添加、修改學生信息頁面</p><p&
89、gt;<b> 關鍵代碼解釋:</b></p><p> //根據不同editstudent參數值顯示不同的頁面標題,其中editstudent為學生id</p><p> <%If editstudent = "" Then%>添加學生信息</p><p> <%Else%>修改學生信息&l
90、t;%End If%></p><p> //根據不同editstudent參數值顯示不同的按鈕文本</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、內容</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> 在本次論文設計過程中,***老師對該論文從選題,構思到最后定稿的各個環(huán)節(jié)給予細心指引與教導,使我得以最終完成畢業(yè)論文設計。在學習中,老師嚴謹
96、的治學態(tài)度、豐富淵博的知識、敏銳的學術思維、精益求精的工作態(tài)度以及侮人不倦的師者風范是我終生學習的楷模,導師們的高深精湛的造詣與嚴謹求實的治學精神,將永遠激勵著我。這三年中還得到眾多老師的關心支持和幫助。在此,謹向老師們致以衷心的感謝和崇高的敬意!</p><p> 最后,我要向百忙之中抽時間對本文進行審閱,評議和參與本人論文答辯的各位老師表示感謝。</p><p><b>
97、 參考文獻</b></p><p> 1)李克東,謝幼如等編著.多媒體組合教學設計[M].北京:科學出版社.1992(1)。</p><p> 2)徐玲,呂磊等編著.基于B/S結構的高校教務辦公自動化的設計與實現[J].電腦信息技術.2001 5(3) 18-19。</p><p> 3)明日科技,蓋天宇,孫明麗,鄒天思等編著.ASP數據庫系統(tǒng)開發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計 ----網上考試系統(tǒng)
- 網上考試系統(tǒng)畢業(yè)設計
- 網上考試系統(tǒng)畢業(yè)設計
- 網上考試系統(tǒng)畢業(yè)設計論文
- 在線考試系統(tǒng)畢業(yè)設計
- 在線考試系統(tǒng)畢業(yè)設計
- 畢業(yè)設計-在線考試系統(tǒng)
- 在線考試系統(tǒng)畢業(yè)設計
- 畢業(yè)設計----在線考試系統(tǒng)
- 網上在線論壇畢業(yè)設計
- 畢業(yè)設計------網上報名及在線考試系統(tǒng)的設計與實現
- 在線考試系統(tǒng)設計畢業(yè)設計論文
- 畢業(yè)設計---網絡在線考試系統(tǒng)設計
- 在線考試系統(tǒng)畢業(yè)設計論文
- 畢業(yè)設計論文---jsp網上考試系統(tǒng)
- 網上考試書店系統(tǒng)畢業(yè)設計論文
- 在線考試系統(tǒng)畢業(yè)設計論文
- 在線考試系統(tǒng)畢業(yè)設計論文
- 在線考試系統(tǒng)畢業(yè)設計論文
- java在線考試系統(tǒng)畢業(yè)設計
評論
0/150
提交評論