版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 隨著計算機科學(xué)技術(shù)的高速發(fā)展,信息技術(shù)已經(jīng)應(yīng)用于社會生活的各個領(lǐng)域。網(wǎng)絡(luò)考試系統(tǒng)正是迎合這一技術(shù)開發(fā)的,該系統(tǒng)本著減輕教師工作負(fù)擔(dān)、提高工作效率、優(yōu)化學(xué)生考試的流程,增強參加考試學(xué)生的身份識別,比傳統(tǒng)的考試模式節(jié)省人力、財力和時間。</p><p> 本系統(tǒng)基于Microsoft .Net 等技
2、術(shù)設(shè)計開發(fā),實現(xiàn)了在線考試的基本部分,已具有多用戶同時在線考試、自動判卷、人工判卷、試題錄入、考生分配、考生管理、教師管理、管理員管理、成績查詢等重要功能。也就是說實現(xiàn)了真正的無紙化考試,滿足任何授權(quán)的考生在規(guī)定的考試時間內(nèi)進行考試與獲取成績。通過網(wǎng)絡(luò)來實現(xiàn)在線考試, 是信息化技術(shù)的一個具體實現(xiàn), 具有很重要的現(xiàn)實意義。實現(xiàn)測試的客觀性、公正性, 自動化組卷、閱卷可以減輕教師的工作強度。</p><p> 關(guān)鍵
3、字: 在線考試系統(tǒng);C#.net編程語言;Visual Studio 2008;SQL Server 2005數(shù)據(jù)庫</p><p><b> ABSTRACT</b></p><p> Internet remote exam system is the market share is higher, the most widely used remote ne
4、twork learning the software, suitable for government, industry and enterprise of each professional online examination, homework, practice and application. It USES a Web form, is suitable for both LAN and Internet, do not
5、 need to install client, can realize the online examination, homework, practice, and achievements ranking, and other functions, and can save, automatic answers scores query and analysis, scor</p><p> In the
6、 development method applied in today's popular Microsoft.net technology thought the whole development process is divided into demand analysis and summary design, detailed design, system realization, the steps. The sy
7、stem through the optimization and recycling management process, so that the management of human resources more efficient and science, more accurate data, which will be the personnel department from heavy, time-consuming
8、work liberate, to focus on the more senior policy work.</p><p> Keywords: On-line examination system; C #.net programming language; Visual Studio 2008; SQL Server 2005 database.</p><p><b>
9、; 目 錄</b></p><p><b> 前言</b></p><p><b> 第一章 緒論1</b></p><p> 1. 課題研究背景1</p><p> 2.課題研究目的和意義2</p><p> 第二章 系統(tǒng)分析概述3&
10、lt;/p><p> 1.系統(tǒng)需求分析3</p><p><b> 2. 系統(tǒng)概述3</b></p><p> 3.開發(fā)環(huán)境的選擇方法與技術(shù)3</p><p> 3.1 ASP技術(shù)4</p><p> 3.2 Visual Studio 2008的概述4</p>
11、<p> 3.3 SQL Server 2005數(shù)據(jù)庫5</p><p> 第三章 系統(tǒng)方案總體設(shè)計6</p><p> 1. 系統(tǒng)架構(gòu)設(shè)計6</p><p> 2. 系統(tǒng)總體模塊功能設(shè)計6</p><p> 3. 系統(tǒng)用例描述7</p><p> 3.1 教師用戶7</p&g
12、t;<p> 3.2 學(xué)生用戶8</p><p><b> 3.3 管理員8</b></p><p> 第四章 數(shù)據(jù)庫的9</p><p> 1. 數(shù)據(jù)庫需求分析9</p><p> 2. 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計9</p><p> 3. 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計9&
13、lt;/p><p> 第五章 界面設(shè)計與實現(xiàn)11</p><p> 1. 主頁設(shè)計11</p><p> 1.1 實現(xiàn)目標(biāo)11</p><p> 1.2 登錄窗口11</p><p> 1.3 注冊窗口13</p><p> 2. 主要界面設(shè)計—用戶登錄信息畫面14<
14、/p><p> 2.1 實現(xiàn)目標(biāo)14</p><p> 2.2 主界面代碼設(shè)計15</p><p> 3. 向數(shù)據(jù)庫中添加題目18</p><p> 4. 用戶管理20</p><p> 5. 考生界面22</p><p><b> 結(jié)論24</b>&l
15、t;/p><p><b> 參考文獻25</b></p><p> 致謝 …………………………………………………………………………………26</p><p><b> 前 言</b></p><p> 隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在很多國外的大學(xué)和社會其他部門都已經(jīng)開設(shè)了遠(yuǎn)程教育,通過計算
16、機網(wǎng)絡(luò)實現(xiàn)異地教育和培訓(xùn)。現(xiàn)在,計算機硬件技術(shù)的發(fā)展 已經(jīng)達到了相當(dāng)高的水平。但是,遠(yuǎn)程教育軟件的開發(fā)目前還處于起步階段,隨著這項技術(shù)的不斷深入發(fā)展,就要求有更好、更完善的軟件系統(tǒng)應(yīng)用到遠(yuǎn)程教育當(dāng)中去,這就給軟件設(shè)計人員提出了更高的設(shè)計要求。</p><p> 遠(yuǎn)程教育包括很多環(huán)節(jié),例如教學(xué)系統(tǒng)、答疑系統(tǒng)和考試系統(tǒng)等等。其中很重要的一個環(huán)節(jié)就是在線考試系統(tǒng),同時它也是最難實現(xiàn)的環(huán)節(jié)。在我國,雖然遠(yuǎn)程教育已經(jīng)蓬勃
17、發(fā)展起來,但是目前學(xué)校和社會上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試至少要經(jīng)過五個步驟,即人工出題、考生考試、人工閱卷、成績評定和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會越來越大,并且其工作將是一件十分煩瑣和非常容易出錯的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。而計算機應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用的不斷擴大,使人們迫切要求利用這些技術(shù)來進行在線考試,以減輕教師的工作負(fù)擔(dān)及
18、提高工作效率,與此同時也提高了考試的質(zhì)量,從而使考試更趨于公正、客觀,更加激發(fā)學(xué)生的學(xué)習(xí)興趣。例如,目前許多國際著名的計算機公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式。</p><p> 為了適應(yīng)新形勢的發(fā)展,本文基于B/S模式,結(jié)合功能強大的Dreamweaver MX網(wǎng)頁設(shè)計工具,以SQL-SERVER作為后臺數(shù)據(jù)庫,采用內(nèi)嵌HTML語言的ASP(Active Server Pages)編程技術(shù)開發(fā)了無紙
19、化網(wǎng)上考試系統(tǒng)。該系統(tǒng)實現(xiàn)了對題庫和考生的自由管理,可自動生成試卷、自動判卷,以及完成相關(guān)的系統(tǒng)維護。其中,系統(tǒng)維護主要包括題庫管理、考生管理、新聞發(fā)布、科目管理和考試計劃管理。</p><p> 網(wǎng)上遠(yuǎn)程考試系統(tǒng)的設(shè)計與實現(xiàn)</p><p><b> 第一章 緒論</b></p><p><b> 1. 課題研究背景<
20、/b></p><p> 近幾年來,隨著Internet的崛起,遠(yuǎn)程教育開始發(fā)展,普及網(wǎng)絡(luò)教育的呼聲日益高漲,其勢頭不亞于電子商務(wù)的發(fā)展。中國的網(wǎng)絡(luò)教育也隨Internet的發(fā)展而同步增長,同時,網(wǎng)絡(luò)教育也為中國的教育事業(yè)開辟了新的天地。</p><p> 在網(wǎng)絡(luò)技術(shù)逐漸滲入社會生活各個層面的今天,傳統(tǒng)的考試方式也面臨著變革,而網(wǎng)絡(luò)考試則是一個很重要的方向?;赪eb技術(shù)的網(wǎng)絡(luò)考
21、試系統(tǒng)可以借助于遍布全球的Internet進行,因此考試即可以在本地進行,也可以在異地進行,大大拓展了考試的靈活性。試卷可以根據(jù)題庫中的內(nèi)容即時生成,可避免考試前的壓題;還可以直接把成績送到數(shù)據(jù)庫中,進行統(tǒng)計、排序等操作。所以現(xiàn)在較好的考試方法為網(wǎng)絡(luò)考試,試題內(nèi)容放在服務(wù)器上,考生通過姓名、準(zhǔn)考證號碼和口令進行登錄,考試答案也存放在服務(wù)器中,這樣考試的公平性、答案的安全性可以得到有效的保證。因此,采用網(wǎng)絡(luò)考試方式將是以后考試發(fā)展的趨勢。
22、</p><p> 隨著國家的開放,考試標(biāo)準(zhǔn)化也逐漸與國際接軌,現(xiàn)在比較流行的考試系統(tǒng)大致分兩種:一種使用類似高考的答題卡,使用光電輸入的方法對答題卡上的客觀題進行判分,對主觀題則進行人工批改。另一種服務(wù)的主要對象是基于網(wǎng)絡(luò)答題的各種認(rèn)證和考試,這些考試的試卷大都以客觀題為主。</p><p> 現(xiàn)今的這些考試系統(tǒng)都不能滿足軟件學(xué)院的需要,第一種需要紙質(zhì),只能在校園內(nèi)使用,不可能應(yīng)對學(xué)
23、生分布各地的需要。而第二種本來也是很好的選擇,但是與這種考試系統(tǒng)相配套的試題往往以客觀題居多,這與軟件學(xué)院的實際有很大的出入。由于上述與軟件學(xué)院情況明顯不符的問題,照搬那些系統(tǒng)明顯不行,所以必須開發(fā)一套新的軟件學(xué)院遠(yuǎn)程在線考試系統(tǒng),同時能夠很好地支持教學(xué)改革,使學(xué)生得到更好的學(xué)習(xí)條件。</p><p><b> 課題研究目的和意義</b></p><p> 隨著網(wǎng)
24、絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在很多國內(nèi)外的大學(xué)和社會其他部門都已經(jīng)開始設(shè)了遠(yuǎn)程教育。但是,遠(yuǎn)程教育的軟件的開發(fā)目前還處于起步階段,隨著這項技術(shù)的不斷深入發(fā)展,就要求有更好、更完善的軟件系統(tǒng)到遠(yuǎn)程教育當(dāng)中去,這就給軟件設(shè)計人員提出了更高的設(shè)計要求。</p><p> 遠(yuǎn)程教育包括很多環(huán)節(jié)。例如,教學(xué)系統(tǒng)、考試系統(tǒng)、和答疑系統(tǒng)等等。其中一個很重要的環(huán)節(jié)是在線考試系統(tǒng),同時,它也是最難實現(xiàn)的環(huán)節(jié)。在我國,遠(yuǎn)程教育以蓬勃發(fā)展起
25、來。但目前學(xué)校和社會上的各種考試大都都采用傳統(tǒng)的考試方法,在此方式下,組織一次考試,要經(jīng)過五個步驟,即人工出題、考生考試、人工閱卷、成績評估和試卷分析。</p><p> 顯然隨著考試類型的不斷增加和考試要求的不斷提高,教師的工作量也越來越大,可以說傳統(tǒng)的考試方法已經(jīng)不能適用于現(xiàn)代考試的需要。隨著計算機應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴大,如遠(yuǎn)程教育和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬戶。人們迫切需要
26、這些技術(shù)來進行在線考試,以減輕教師的工作的負(fù)擔(dān)以及提高工作效率,與此同時提高了考試的質(zhì)量,從而使考試更趨于公正、客觀,更加激發(fā)學(xué)生的學(xué)習(xí)興趣。</p><p> 軟件學(xué)院遠(yuǎn)程在線考試系統(tǒng)的從實際需求入手,對比現(xiàn)有的在線考試系統(tǒng),借鑒現(xiàn)有系統(tǒng)先進之處,查找現(xiàn)在系統(tǒng)的空白和不足,研究解決的途徑,從而開發(fā)出滿足需求的軟件學(xué)院遠(yuǎn)程在線考試系統(tǒng)。使得在軟件學(xué)院遠(yuǎn)程考試系統(tǒng)的幫助下,教師可輕松完成教學(xué)計劃,學(xué)生也可修得所需
27、學(xué)分。學(xué)生不用奔波于實習(xí)地與學(xué)校之間,節(jié)省了路費與時間,提高了效率。本系統(tǒng)能夠很好地支持教學(xué)改革,使學(xué)生得到更好的學(xué)習(xí)條件。 本系統(tǒng)還具有相當(dāng)高的應(yīng)用廣泛性,只要在數(shù)據(jù)庫中添加相關(guān)信息,本系統(tǒng)可應(yīng)用于有相同需求的學(xué)院或?qū)W校。</p><p> 第二章 系統(tǒng)分析概述</p><p><b> 系統(tǒng)需求分析</b></p><p> 系統(tǒng)開發(fā)
28、的總體任務(wù)是實現(xiàn)在線考試的系統(tǒng)化、規(guī)范化和自動化[2]。</p><p> 系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的。在線考試系統(tǒng)需要完成的功能主要有:用戶的注冊和登錄;用戶在線答題;對科目進行管理;對管理員進行試題的管理;以及個人信息管理功能。在數(shù)據(jù)庫方面,利用關(guān)系數(shù)據(jù)庫功能強大的查詢語言對企業(yè)各類信息入庫保存,按要求及時處理。</p><p> 該系統(tǒng)集錄入、維護、查詢、審
29、核和各種處理為一體,各種操作可以通過菜單進行,操作快捷、方便,性能高效、強大;使用易懂、易會,形象增強的數(shù)據(jù)處理,用戶均可根據(jù)需要自行使用。</p><p><b> 2. 系統(tǒng)概述</b></p><p> 本系統(tǒng)是一個在線考試系統(tǒng),在實施過程中主要實現(xiàn)以下功能[3]:</p><p><b> (1)注冊用戶模塊</b
30、></p><p> 注冊用戶主要實現(xiàn)用戶的登錄功能和注冊功能。</p><p><b> ?。?)在線測試模塊</b></p><p> 在線測試是本系統(tǒng)的核心模塊,不論是管理員還是普通用戶都可以進行在線測試。在此頁面中,可以選擇不同的科目進行科目測試,也可以顯示或者隱藏答案提示。</p><p><b
31、> ?。?)科目管理模塊</b></p><p> 只有管理員權(quán)限的用戶登錄才可以進入科目管理模塊,在科目管理模塊中,除了顯示已有己。</p><p><b> ?。?)用戶管理模塊</b></p><p> 在用戶管理模塊中,管理員可以刪除用戶和修改用戶信息。該頁面沒有增加用戶功能,用戶可以自己注冊登錄。</p&g
32、t;<p> 開發(fā)環(huán)境的選擇方法與技術(shù)</p><p> 目前,用于開發(fā)數(shù)據(jù)庫管理信息系統(tǒng)的編程語言很多,比如Delphi、PowerBuilder、Visual C++、Java、Visual Basic6及VB.NET等等,而用于后臺數(shù)據(jù)庫管理的DBMS也有很多,比如有Oracle、MS SQL SERVER、SYBASE、INFORMIX、DB2、VISUAL FOXPRO、ACCESS等
33、等[4]。</p><p> 本人根據(jù)指導(dǎo)老師的布置要求,采用面向?qū)ο蟮能浖_發(fā)方法來實現(xiàn)此在線考試軟件,系統(tǒng)開發(fā)工具我們選擇了能夠跨平臺的開發(fā)工具Visual Studio 2008。在前臺操作與后臺數(shù)據(jù)庫處理的連接上,主要采用ADO.NET技術(shù)和SQL Server2005數(shù)據(jù)庫,運用客戶機服務(wù)器模式(B/S)配合功能強大的SQL查詢語言實現(xiàn)預(yù)定的功能需求。</p><p><
34、b> 3.1 ASP技術(shù)</b></p><p> ASP.NET是微軟公司最新推出的一種統(tǒng)一Web開發(fā)平臺,與最新的數(shù)據(jù)訪問技術(shù)ADO.NET一起可構(gòu)建出強大、安全和可靠的企業(yè)級Web應(yīng)用程序。ASP.NET的語法在很大程度上與ASP兼容,同時它還提供一種新的編程模型和結(jié)構(gòu),用于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序[5]。</p><p> 采取了ASP.NET技術(shù)
35、的系統(tǒng)在性能上有了很大的改善,主要表現(xiàn)在以下幾方面: </p><p> (1) 由于ASP頁面每次打開都必須經(jīng)過先編譯后解釋的過程,所以頁面在反復(fù)打開時速度沒有任何提升,而ASP.NET頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web應(yīng)用程序重新啟動。這使得在多次訪問時速度有了極大的提升。</p><p> ?。?)由于ASP沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用AS
36、P撰寫數(shù)據(jù)庫頁面時只能借助ADO的RecordSet對象逐筆讀取記錄,而ASP.NET通過ADO.NET提供的DataGrid等數(shù)據(jù)庫元件可以直接和數(shù)據(jù)庫聯(lián)系[6]。</p><p> ?。?) ASP.NET支持應(yīng)用程序的實時更新,管理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器或者甚至不用停止應(yīng)用程序的運行就可以更新應(yīng)用文件。應(yīng)用程序文件永遠(yuǎn)不會被加鎖,因此甚至在程序運行時文件就可以被覆蓋,當(dāng)文件更新后,系統(tǒng)會溫和地轉(zhuǎn)換到新的版本&
37、lt;/p><p> ?。?)ASP.NET采取代碼分離技術(shù)方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系統(tǒng)開發(fā)與維護的復(fù)雜度和費用。</p><p> 3.2 Visual Studio 2008的概述</p><p> Visual Studio 2008是一個全面集成的開發(fā)環(huán)境,用于編寫,調(diào)試代碼,把代碼編譯為程序集進行發(fā)布[7],實際上,Visual
38、Studio 提供了非常專業(yè)的多文檔界面應(yīng)用程序,在該應(yīng)用程序中可以進行與開發(fā)代碼相關(guān)的任何操作,它提供了:</p><p> (1) 文本編輯器:在文本編輯器中,可以編寫C#代碼(以及VB 2005,J#和C++代碼)。這個文本編輯器相當(dāng)復(fù)雜。</p><p> (2) 代碼的設(shè)計視圖編輯器:它可以在項目中可視化的放置用戶界面和數(shù)據(jù)訪問控件。此時Visual Studio會自動在源文
39、件中添加必要的C#代碼,在項目中實例化這些控件。</p><p> (3) 支持窗口:它們可以查看修改項目的各個方面。也可以使用這些窗口指定編譯選項。</p><p> (4) 在環(huán)境中編譯:可以只選擇一個菜單選項編譯項目,而不必在命令行上運行C#編譯器。Visual Studio會調(diào)用C#編譯器。</p><p> (5) 集成的調(diào)試程序:編程的本質(zhì)是代碼在
40、第一次運行時,一般不會正確執(zhí)行。也許在第二次、第三次才能正確運行。Visual Studio無縫的鏈接到一個調(diào)試程序上,可以在該調(diào)試環(huán)境中設(shè)置斷點,觀察變量。</p><p> (6) 集成的MSDN幫助:Visual Studio可以在IDE中調(diào)用MSDN文檔說明。</p><p> (7) 訪問其他程序:Visual Studio還能調(diào)用許多其他工具來查看和修改計算機或網(wǎng)絡(luò)的一些內(nèi)
41、容,而無需退出開發(fā)環(huán)境。</p><p> 3.3 SQL Server 2005數(shù)據(jù)庫</p><p> SQL Sevrer2005是一個B/S體系結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),它使Transact—SQL語言在客戶和SQL Server之間發(fā)送處理請求,SQL Server利用B/S體系結(jié)構(gòu)把工作分成兩部分:客戶端負(fù)責(zé)邏輯處理把數(shù)據(jù)呈現(xiàn)給用戶,SQL Server管理數(shù)據(jù)庫。SQL
42、Server用Transact—SQL作為它的數(shù)據(jù)庫查詢和編程語言[3],使用Transact—SQL能夠方便地存取數(shù)據(jù)、查詢、更新和管理關(guān)系數(shù)據(jù)庫。</p><p> 第三章 系統(tǒng)方案總體設(shè)計</p><p><b> 1. 系統(tǒng)架構(gòu)設(shè)計</b></p><p> 首先用戶登錄,如果登陸成功系統(tǒng)檢測用戶類型,用戶類型分為兩種:普通用戶和
43、管理員。普通用戶登錄后只能進行在線答題和個人信息管理,在線答題時可以選擇科目,可以顯示和隱藏答案提示,模塊測試后可以重做答錯的題。</p><p> 管理員身份登錄功能較多,除了可以在線答題外,還可以進行科目管理、試題管理和用戶管理,科目管理包括增加、刪除、修改科目,試題管理同樣是增、刪、改操作;用戶管理中只能刪除和修改用戶信息,增加用戶在注冊用戶功能中完成。如圖 3-1為在線考試系統(tǒng)功能框架圖。</p&
44、gt;<p> 圖3-1在線考試系統(tǒng)功能框架</p><p> 2. 系統(tǒng)總體模塊功能設(shè)計</p><p> 經(jīng)過對整個系統(tǒng)的分析,可以得出以下功能模塊,如圖3-2所示:</p><p> ?。?)登陸者模塊:面向登陸者??梢韵冗M行注冊,再實現(xiàn)登錄功能,進而進行在線考試。</p><p> ?。?)管理員模塊:面向管理員。
45、可以對考題進行添加、刪除、修改和更新功能;可以進行答題的測試;科目的管理;題庫的管理;以及對用戶的管理。</p><p> 圖3-2 功能模塊圖</p><p><b> 3. 系統(tǒng)用例描述</b></p><p> 用例圖(use case diagram)以每一個參與系統(tǒng)的人員都能理解的方式列舉系統(tǒng)的業(yè)務(wù)需求,它將系統(tǒng)、子系統(tǒng)和類的行
46、為可視化,以利于所有參與人員準(zhǔn)確理解這些元素,并確保軟件的開發(fā)人員最終實現(xiàn)這些元素。</p><p><b> 3.1 教師用戶</b></p><p> 教師用戶的用例有出卷、審核試卷、判卷。教師用戶的用例圖如圖3-3所示。</p><p> 圖3-3 教師用戶用例圖</p><p><b> 3.2
47、 學(xué)生用戶</b></p><p> 學(xué)生用戶的用例只有在線考試。學(xué)生用戶的用例圖如圖3-4所示。</p><p> 圖3-4學(xué)生用戶用例圖</p><p><b> 3.3 管理員</b></p><p> 管理員的用例包括安排出卷教師、安排審卷教師、安排考試時間、安排判卷教師、管理考試試卷、管理學(xué)
48、生答卷和管理基本信息。管理員的用例圖如圖3-5所示。</p><p> 圖3-5管理員用例圖</p><p><b> 第四章 數(shù)據(jù)庫的</b></p><p> 1. 數(shù)據(jù)庫需求分析</p><p> 數(shù)據(jù)庫需求分析就是要了解在這個應(yīng)用系統(tǒng)中,用戶需要查詢、更新、刪除和保存哪些數(shù)據(jù),收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及
49、數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計打下基礎(chǔ)。</p><p> 通在線考試系統(tǒng)的數(shù)據(jù)庫管理要進行各種各樣的數(shù)據(jù)輸入和導(dǎo)出,提供各類信息的添加、刪除、修改和更新等功能。通過上述對系統(tǒng)的設(shè)計分析,根據(jù)在線考試系統(tǒng)的需求,共需設(shè)計以下五種信息:用戶注冊信息、科目管理信息、試題管理信息、用戶管理信息、個人信息管理。</p><p> 2. 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</p&
50、gt;<p> 等到了上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出能夠滿足用戶需求的各種實體以及實體之間的關(guān)系,為后面的數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這些實體包括各種具體信息,通過相互之間的作用形成數(shù)據(jù)流動。</p><p> 管理員基本信息管理,顯示已錄入系統(tǒng)中的管理員基本信息,包括管理員登陸名、管理員的真實姓名、管理員的編號,可實現(xiàn)對用戶基本信息的更新操作以及查詢操作。</p>&l
51、t;p> 功能描述:主要對管理員基本信息的更新和查詢。這部分信息由外部導(dǎo)入可以隨時手動更新,但不能進行添加、刪除、修改操作。</p><p> 學(xué)生用戶基本信息管理,顯示已錄入系統(tǒng)中的學(xué)生用戶基本信息,包括學(xué)生用戶登陸名、學(xué)生用戶的真實姓名、學(xué)生用戶的學(xué)號,學(xué)生用戶所在的班級名稱,學(xué)生用戶所在的年級,可實現(xiàn)對用戶基本信息的更新操作以及查詢操作[5]。</p><p> 功能描述
52、:主要對用戶基本信息的更新和查詢。這部分信息由外部導(dǎo)入可以隨時手動更新,但不能進行添加、刪除、修改操作。</p><p> 3. 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><p> 通過調(diào)查分析各種資料,根據(jù)本管理系統(tǒng)用戶需要操作和處理的各種數(shù)據(jù),對數(shù)據(jù)表進行了分析。確定在數(shù)據(jù)庫中存儲的各種數(shù)據(jù)之間的關(guān)系以及數(shù)據(jù)類型,列舉出部分?jǐn)?shù)據(jù)表的關(guān)系如下:</p><p><b&
53、gt; ?。?)用戶信息表</b></p><p> 用戶信息表包括的數(shù)據(jù)項有: 用戶名、密碼、性別、身份證號碼、電子郵箱、角色編號等,如表4-1所示。</p><p><b> 表4-1用戶信息表</b></p><p><b> ?。?)角色表</b></p><p> 角色表
54、包含的字段有角色編號、角色名,如表4-2所示。</p><p><b> 表4-2 角色表</b></p><p><b> ?。?)課程表</b></p><p> 課程表中的字段有課程編號和課程名以及兩個備用字段, 在本系統(tǒng)中共設(shè)置管理員、教師和學(xué)生三個角色??稍趕tudio 2005 中設(shè)置登錄角色的安全設(shè)置。如
55、圖4-3所示。</p><p> 表4-3 課程表角色表</p><p><b> ?。?)試題表</b></p><p> 試題表中的字段有題號、課程編號、題干、A答案、B答案、C答案、D答案、正確答案,如表4-4所示。</p><p><b> 表4-4 角色表</b></p>
56、<p> 第五章 界面設(shè)計與實現(xiàn)</p><p><b> 1. 主頁設(shè)計</b></p><p><b> 1.1 實現(xiàn)目標(biāo)</b></p><p> 程序啟動后,進入登陸窗體,用戶輸入用戶名和密碼,然后進行登錄。同時可以按下取消按鈕退出本系統(tǒng),登錄界面模塊中主要實現(xiàn)如下功能:</p>
57、<p> (1)可進行選擇用戶身份,支持鼠標(biāo)操作。</p><p> ?。?)用戶名和密碼驗證成功后,進入主界面。</p><p> ?。?)用戶名錯誤或密碼錯誤提醒并返回輸入有誤。</p><p><b> 登錄窗口</b></p><p> 在輸入登錄信息后,系統(tǒng)先檢查驗證碼,然后檢驗用戶名和密碼
58、。設(shè)計如下所示的登錄窗口。</p><p><b> 圖5-1 登錄窗口</b></p><p> 在登錄過程中,系統(tǒng)會首先根據(jù)畫面上用戶輸入的內(nèi)容進行驗證檢查,相關(guān)主要代碼如下:</p><p> protected void txtRegist_Click(object sender, EventArgs e)</p>
59、<p><b> {</b></p><p> Response.Redirect("Regist.aspx");</p><p><b> }</b></p><p> protected void txtLogin_Click(object sender, EventArgs e)
60、</p><p><b> {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> string strSql = "select count(*) from [user] where userName = '"</p>
61、;<p> + txtName.Text + "' and password = '" + this.txtPassword.Text + "'";</p><p> SqlCommand com = new SqlCommand(strSql, con);</p><p> con.Open();<
62、/p><p> int num = (int)com.ExecuteScalar();</p><p> if (num == 0)</p><p><b> {</b></p><p> Response.Write("<script language='javascript'>
63、;alert('密碼錯誤!');</script>");</p><p><b> return;</b></p><p><b> }</b></p><p> strSql = "select roleID from [user] where userName =
64、'" + txtName.Text + "'";</p><p><b> try</b></p><p><b> {</b></p><p> com.CommandText = strSql;</p><p> SqlDataReader
65、sdr = com.ExecuteReader();</p><p> if (sdr.Read())</p><p><b> {</b></p><p> string s = sdr["roleID"].ToString();</p><p> Session["roleID&
66、quot;] = s;</p><p> Session["userName"] = txtName.Text;</p><p> Session["userPassword"] = txtPassword.Text;</p><p><b> }</b></p><p>
67、 sdr.Close();</p><p><b> }</b></p><p> 如果驗證通過,系統(tǒng)會連接數(shù)據(jù)庫,進行數(shù)據(jù)正確性以及用戶權(quán)限的檢查,以上檢查成功的情況下,就會進入本系統(tǒng)的主窗體,如果失敗,跳出錯誤提示框[7]。</p><p><b> 1.3 注冊窗口</b></p><p&g
68、t;<b> 圖5-2 注冊窗口</b></p><p> 在注冊過程中,系統(tǒng)會自動檢查用戶注冊的信息是否合法,相關(guān)主要代碼如下:</p><p> protected void btnOK_Click(object sender, EventArgs e)</p><p><b> {</b></p>
69、<p> SqlConnection con = new SqlConnection(conn);</p><p> string strSql = "select count(*) from [user] where userName = '" + txtName.Text + "'";</p><p> Sql
70、Command com = new SqlCommand(strSql, con);</p><p> con.Open();</p><p> int num = (int)com.ExecuteScalar();</p><p> if (num > 0)</p><p><b> {</b></
71、p><p> Response.Write("<script language='javascript'>alert('表中存在記錄!');</script>");</p><p><b> }</b></p><p><b> else</b>
72、</p><p><b> {</b></p><p> string name = txtName.Text;</p><p> string password = this.txtPassword.Text;</p><p> string sex = "男";</p>&l
73、t;p> if (this.rbtnFemail.Checked)</p><p><b> {</b></p><p> sex = "女";</p><p><b> }</b></p><p> string identity = txtIdentity.T
74、ext.ToString();</p><p> string email = this.txtMail.Text.ToString();</p><p> strSql = "insert into [user](userName, password, sex, userIdentity, email,roleID) values('" + name +
75、"','" + password + "','" + sex + "','" + identity + "','"</p><p> + email + "',1)";</p><p> com = new SqlC
76、ommand(strSql, con);</p><p> com.ExecuteNonQuery();</p><p> con.Close();</p><p> Response.Write("<script language='javascript'>alert('注冊成功!返回登錄頁面');<
77、;/script>");</p><p><b> //返回登陸頁面</b></p><p> Response.Redirect("Login.aspx");</p><p><b> }</b></p><p><b> }</b>
78、;</p><p> 2.主要界面設(shè)計—用戶登錄信息畫面</p><p><b> 2.1 實現(xiàn)目標(biāo)</b></p><p> 程序啟動后,登錄進入在線答題窗體,在管理模塊中主要實現(xiàn)如下功能:</p><p> ?。?)檢索當(dāng)前啟用的組織結(jié)構(gòu)相關(guān)的部門及員工信息。</p><p> ?。?)
79、對登陸者個人信息的管理。</p><p> ?。?)對基本信息進行登錄和修改操作。</p><p> ?。?)考試科目即考試內(nèi)容建立。</p><p> (5)對考試信息的查詢。</p><p> 2.2 主界面代碼設(shè)計</p><p> 圖 5-3 系統(tǒng)登錄的主頁面</p><p>
80、主頁面可以進行考試各類信息的添加,更新和刪除,以及用戶信息查詢等功能。相關(guān)的主要主代碼如下:</p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {</b></p><p> if (!this.IsPostBack)</p>
81、<p><b> {</b></p><p> BindSubjectName();</p><p><b> Bind();</b></p><p><b> }</b></p><p><b> }</b></p>&
82、lt;p> string conn = ConfigurationManager.ConnectionStrings["WebTestConnectionString"].ConnectionString;</p><p> private void BindSubjectName()</p><p><b> {</b></p&
83、gt;<p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter("select * from course", con);</p><p> DataSet ds = new DataSet();</p&g
84、t;<p> sda.Fill(ds, "table");</p><p> ddlQuestionName.DataSource = ds.Tables["table"];</p><p> ddlQuestionName.DataTextField = "courseName";</p>&l
85、t;p> ddlQuestionName.DataValueField = "courseID";</p><p> ddlQuestionName.DataBind();</p><p><b> }</b></p><p> private void Bind()</p><p>&
86、lt;b> {</b></p><p> string str = ddlQuestionName.SelectedItem.Text.ToString();</p><p> string sql = "select q.* from question q,course c where q.courseID = c.courseID and c.cour
87、seName = '" + str + "'";</p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter(sql, con);</p><p> DataSet ds
88、 = new DataSet();</p><p> sda.Fill(ds, "table");</p><p> DataList1.DataKeyField = "questionID";</p><p> DataList1.DataSource = ds.Tables["table"];&l
89、t;/p><p> DataList1.DataBind();</p><p><b> }</b></p><p><b> }</b></p><p> protected void btnFinish_Click(object sender, EventArgs e)</p>
90、<p><b> {</b></p><p> int count = 0;//答對的數(shù)目</p><p> for (int index = 0; index < DataList1.Items.Count; index++)</p><p><b> {</b></p><
91、p> string labelStr = ((Label)(DataList1.Items[index].FindControl("lblAnswer"))).Text;</p><p> string rightAnswer = labelStr.Substring(labelStr.Length - 1);</p><p> string selecte
92、dRadioButton = "";</p><p> if (((RadioButton)(DataList1.Items[index].FindControl("rbtn1"))).Checked)</p><p><b> {</b></p><p> selectedRadioButton
93、= "A";</p><p><b> }</b></p><p> else if (((RadioButton)(DataList1.Items[index].FindControl("rbtn2"))).Checked)</p><p><b> {</b></p&
94、gt;<p> selectedRadioButton = "B";</p><p><b> }</b></p><p> else if (((RadioButton)(DataList1.Items[index].FindControl("rbtn3"))).Checked)</p>&l
95、t;p><b> {</b></p><p> selectedRadioButton = "C";</p><p><b> }</b></p><p> else if(((RadioButton)(DataList1.Items[index].FindControl("rb
96、tn4"))).Checked)</p><p><b> {</b></p><p> selectedRadioButton = "D";</p><p><b> }</b></p><p> if (rightAnswer == selectedRadi
97、oButton)</p><p><b> {</b></p><p> count += 1;</p><p> if (DataList1.Items[index].TabIndex >= 100)</p><p><b> {</b></p><p>
98、DataList1.Items[index].TabIndex -= 100;</p><p><b> }</b></p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></
99、p><p> DataList1.Items[index].TabIndex = (short)(100 + index);</p><p><b> }</b></p><p> this.btnRedoError.Enabled = true;</p><p><b> }</b></
100、p><p> lblResult.Text = "答對"+count+"題,錯"+(DataList1.Items.Count-count)+"題";</p><p><b> }</b></p><p> protected void btnRedoError_Click(obje
101、ct sender, EventArgs e)</p><p><b> {</b></p><p> for (int index = 0; index < DataList1.Items.Count; index++)</p><p><b> {</b></p><p> if
102、(DataList1.Items[index].TabIndex < 100)</p><p><b> {</b></p><p> DataList1.Items[index].Visible = false;</p><p><b> }</b></p><p><b>
103、 }</b></p><p><b> }</b></p><p><b> }</b></p><p> 3. 向數(shù)據(jù)庫中添加題目</p><p> 管理員登陸后可以向數(shù)據(jù)庫中任意的添加各科目的題目;如圖 5-4所示。</p><p><b>
104、; 圖5-4 科目管理</b></p><p> 當(dāng)管理員登入系統(tǒng)后,進入信息添加頁面,需要將相關(guān)考試信息錄入考試系統(tǒng)中,方便用戶進行考試。相關(guān)代碼如下:</p><p> private void BindQuestionName()</p><p><b> {</b></p><p> Sql
105、Connection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter("select * from Course", con);</p><p> DataSet ds = new DataSet();</p><p> sda.
106、Fill(ds, "table");</p><p> ddlCourseName.DataSource = ds.Tables["table"];</p><p> ddlCourseName.DataTextField = "courseName";</p><p> ddlCourseName.
107、DataValueField = "courseID";</p><p> ddlCourseName.DataBind();</p><p><b> }</b></p><p> protected void GridView1_RowEditing(object sender, GridViewEditEvent
108、Args e)</p><p><b> {</b></p><p> string courseID = ddlCourseName.SelectedValue.ToString();</p><p> string questionID = GridView1.Rows[e.NewEditIndex].Cells[0].Text.To
109、String().Trim();</p><p> string questionContent = GridView1.Rows[e.NewEditIndex].Cells[1].Text.ToString().Trim();</p><p> string a1 = GridView1.Rows[e.NewEditIndex].Cells[2].Text.ToString().Tr
110、im();</p><p> string a2 = GridView1.Rows[e.NewEditIndex].Cells[3].Text.ToString().Trim();</p><p> string a3 = GridView1.Rows[e.NewEditIndex].Cells[4].Text.ToString().Trim();</p><p&g
111、t; string a4 = GridView1.Rows[e.NewEditIndex].Cells[5].Text.ToString().Trim();</p><p> string rightAnswer = GridView1.Rows[e.NewEditIndex].Cells[6].Text.ToString().Trim();</p><p> //UpdateQue
112、stion question = new UpdateQuestion(questionID, courseID, questionContent, a1, a2, a3, a4, rightAnswer);</p><p> string str = "AddQuestion.aspx?courseID=" + courseID + "&questionID="
113、 + questionID + "&questionContent=" + questionContent + "&a1=" + a1 + "&a2=" + a2 + "&a3=" + a3 + "&a4=" + a4 + "&rightAnswer=" + rightA
114、nswer;</p><p> Response.Redirect(str);</p><p><b> }</b></p><p><b> 4. 用戶管理</b></p><p> 圖5-5 用戶管理界面</p><p> 管理員登錄該界面后,對用戶所注冊的信息
115、進行核實和管理。相關(guān)重要代碼如下:</p><p> private void Bind()</p><p><b> {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new Sql
116、DataAdapter("select * from [user]", con);</p><p> DataSet ds = new DataSet();</p><p> sda.Fill(ds, "table");</p><p> GridView1.DataSource = ds.Tables["ta
117、ble"];</p><p> GridView1.DataKeyNames = new string[] { "userName" };</p><p> GridView1.DataBind();</p><p><b> }</b></p><p> protected voi
118、d GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)</p><p><b> {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> string sqlString = &qu
119、ot;delete from [user] where userName = '"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";</p><p> SqlCommand com = new SqlCommand(sqlString, con);</p><p> con.Open(
120、);</p><p> com.ExecuteNonQuery();</p><p> con.Close();</p><p><b> Bind();</b></p><p><b> }</b></p><p> protected void GridView
121、1_RowUpdating(object sender, GridViewUpdateEventArgs e)</p><p><b> {</b></p><p> string strSql = "update [user] set password ='" +</p><p> ((TextBox)(Gr
122、idView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim()</p><p> + "',sex='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim()</p>
123、<p> + "',userIdentity='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim()</p><p> + "',email='" + ((TextBox)(GridView1.Rows[e.
124、RowIndex].Cells[4].Controls[0])).Text.ToString().Trim()</p><p> +"' where userName = '"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";</p><p> SqlConnecti
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——在線考試系統(tǒng)
- 畢業(yè)論文——在線考試系統(tǒng).
- 在線考試系統(tǒng)畢業(yè)論文 (4)
- 網(wǎng)絡(luò)在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (3)
- 畢業(yè)論文---在線考試系統(tǒng)的開發(fā)
- 通用在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---在線考試系統(tǒng)的開發(fā)
- 畢業(yè)論文——asp網(wǎng)上在線考試系統(tǒng)
評論
0/150
提交評論