版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 隨著計算機科學技術(shù)的高速發(fā)展,信息技術(shù)已經(jīng)應(yīng)用于社會生活的各個領(lǐng)域。網(wǎng)絡(luò)考試系統(tǒng)正是迎合這一技術(shù)開發(fā)的,該系統(tǒng)本著減輕教師工作負擔、提高工作效率、優(yōu)化學生考試的流程,增強參加考試學生的身份識別,比傳統(tǒng)的考試模式節(jié)省人力、財力和時間。</p><p> 通過考試系統(tǒng)WebExam是目前市場占有率較高,
2、應(yīng)用最廣泛的遠程網(wǎng)絡(luò)學習考試軟件,適合政府、行業(yè)及企業(yè)的各專業(yè)網(wǎng)上考試、作業(yè)、練習等應(yīng)用,尤其是在學校,它采用Web方式,同時適用于局域網(wǎng)和Internet,無需安裝客戶端,即可實現(xiàn)網(wǎng)上考試、作業(yè)、練習、成績排行等功能,并能夠答卷保存、自動判分、成績查詢和分析等功能。</p><p> 在線考試系統(tǒng)利用網(wǎng)絡(luò)手段將考試資源整合,實現(xiàn)了一定程度的無紙化考試,從而使考試這項常規(guī)而繁瑣的任務(wù)變得更加方便。避免了以往學校
3、考試中物質(zhì)方面,例如:紙張、筆、監(jiān)考老師等資源的浪費。后臺管理方面由專業(yè)管理人員進行管理,確保了程序的穩(wěn)定性、安全性。登陸在線考試系統(tǒng)后臺管理,可以對考試內(nèi)容、專業(yè)、科目和考試題目等都作了詳細的分類,這樣考生通過自己的學生編號和密碼進入前臺,按步驟依次進行選題和答題,答題完畢后系統(tǒng)會自動判斷考卷,并核對出最后考卷的分數(shù),解決了在學??荚嚭蟮却季矸謹?shù)通知的問題。</p><p> 關(guān)鍵詞 在線考試系統(tǒng) V
4、isual Studio 2008 SQL Server 2005數(shù)據(jù)庫</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p><b> 目 錄II</b></p><p><b> 第一章 緒論
5、1</b></p><p> 1.1課題研究背景1</p><p> 1.2課題研究目的和意義1</p><p> 第二章 系統(tǒng)分析概述3</p><p><b> 2.1引言3</b></p><p> 2.2系統(tǒng)需求分析3</p><p&g
6、t;<b> 2.3系統(tǒng)概述3</b></p><p> 2.4 Visual Studio 2008的概述4</p><p> 2.5 SQL Server 2005數(shù)據(jù)庫的概述5</p><p> 第三章 系統(tǒng)方案總體設(shè)計6</p><p> 3.1系統(tǒng)設(shè)計思想及相關(guān)技術(shù)介紹6</p>
7、;<p> 3.1.1系統(tǒng)架構(gòu)設(shè)計6</p><p> 3.1.2 系統(tǒng)的功能特點6</p><p> 3.1.3系統(tǒng)總體模塊功能設(shè)計6</p><p> 3.2系統(tǒng)用例描述7</p><p> 3.2.1教師用戶7</p><p> 3.2.2學生用戶7</p>&
8、lt;p> 3.2.3管理員8</p><p> 第四章 數(shù)據(jù)庫的設(shè)計9</p><p><b> 4.1引言9</b></p><p> 4.2數(shù)據(jù)庫需求分析9</p><p> 4.3數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計9</p><p> 4.4數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計9</p
9、><p> 第五章 界面設(shè)計與實現(xiàn)12</p><p> 5.1主頁設(shè)計12</p><p> 5.1.1實現(xiàn)目標12</p><p> 5.1.2登錄窗口12</p><p> 5.13注冊窗口14</p><p> 5.2主要界面設(shè)計—用戶登錄信息畫面15</p&
10、gt;<p> 5.2.1實現(xiàn)目標15</p><p> 5.2.2主界面15</p><p> 5.3主要界面設(shè)計19</p><p> 5.3.1實現(xiàn)目標19</p><p> 5.4主要界面設(shè)計21</p><p> 5.4.1實現(xiàn)目標21</p><p&
11、gt; 第六章 總結(jié)與展望23</p><p><b> 致 謝24</b></p><p><b> 參考文獻25</b></p><p><b> 第一章 緒論</b></p><p><b> 1.1課題研究背景</b></
12、p><p> 近幾年來,隨著Internet的崛起,遠程教育開始發(fā)展,普及網(wǎng)絡(luò)教育的呼聲日益高漲,其勢頭不亞于電子商務(wù)。</p><p> 聯(lián)合國教科文組織1998年在其一項調(diào)查報告中:無論是發(fā)達國家還是發(fā)展中國家,都不同程度存在教育滯后于現(xiàn)實需要的問題,特別是第三世界國家,而普及遠程教育,尤其是網(wǎng)絡(luò)教育,不僅是解決這一問題的有效途徑,而且將成為革新傳統(tǒng)教育模式的重要動力。</p&g
13、t;<p> 中國的網(wǎng)絡(luò)教育也隨Internet的發(fā)展而同步增長,同時,網(wǎng)絡(luò)教育也為中國的教育事業(yè)開辟了新的天地。</p><p> 在網(wǎng)絡(luò)技術(shù)逐漸滲入社會生活各個層面的今天,傳統(tǒng)的考試方式也面臨著變革,而網(wǎng)絡(luò)考試則是一個很重要的方向。基于Web技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)可以借助于遍布全球的Internet進行,因此考試即可以在本地進行,也可以在異地進行,大大拓展了考試的靈活性。試卷可以根據(jù)題庫中的內(nèi)容
14、即時生成,可避免考試前的壓題;還可以直接把成績送到數(shù)據(jù)庫中,進行統(tǒng)計、排序等操作。所以現(xiàn)在較好的考試方法為網(wǎng)絡(luò)考試,試題內(nèi)容放在服務(wù)器上,考生通過姓名、準考證號碼和口令進行登錄,考試答案也存放在服務(wù)器中,這樣考試的公平性、答案的安全性可以得到有效的保證。因此,采用網(wǎng)絡(luò)考試方式將是以后考試發(fā)展的趨勢。</p><p> 隨著國家的開放,考試標準化也逐漸與國際接軌,現(xiàn)在比較流行的考試系統(tǒng)大致分兩種:一種使用類似高考
15、的答題卡,使用光電輸入的方法對答題卡上的客觀題進行判分,對主觀題則進行人工批改。另一種服務(wù)的主要對象是基于網(wǎng)絡(luò)答題的各種認證和考試,這些考試的試卷大都以客觀題為主。</p><p> 現(xiàn)今的這些考試系統(tǒng)都不能滿足計算機學院的需要,第一種需要紙質(zhì),只能在校園內(nèi)使用,不可能應(yīng)對學生分布各地的需要。而第二種本來也是很好的選擇,但是與這種考試系統(tǒng)相配套的試題往往以客觀題居多,這與計算機學院的實際有很大的出入。由于上述與
16、計算機學院情況明顯不符的問題,照搬那些系統(tǒng)明顯不行,所以必須開發(fā)一套新的計算機學院遠程在線考試系統(tǒng),同時能夠很好地支持教學改革,使學生得到更好的學習條件。</p><p> 1.2課題研究目的和意義</p><p> 隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在很多國外的大學和社會其他部門都已經(jīng)開始設(shè)了遠程教育。但是,遠程教育的軟件的開發(fā)目前還處于起步階段,隨著這項技術(shù)的不斷深入發(fā)展,就要求有更好、更
17、完善的軟件系統(tǒng)到遠程教育當中去,這就給軟件設(shè)計人員提出了更高的設(shè)計要求。</p><p> 遠程教育包括很多環(huán)節(jié)。例如,教學系統(tǒng)、考試系統(tǒng)、和答疑系統(tǒng)等等。其中一個很重要的環(huán)節(jié)是在線考試系統(tǒng),同時,它也是最難實現(xiàn)的環(huán)節(jié)。在我國,遠程教育以蓬勃發(fā)展起來。但目前學校和社會上的各種考試大都都采用傳統(tǒng)的考試方法,在此方式下,組織一次考試,要經(jīng)過五個步驟,即人工出題、考生考試、人工閱卷、成績評估和試卷分析。</p&
18、gt;<p> 顯然隨著考試類型的不斷增加和考試要求的不斷提高,教師的工作量也越來越大,可以說傳統(tǒng)的考試方法已經(jīng)不能適用于現(xiàn)代考試的需要。隨著計算機應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴大,如遠程教育和虛擬大學的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬戶。人們迫切需要這些技術(shù)來進行在線考試,以減輕教師的工作的負擔以及提高工作效率,與此同時提高了考試的質(zhì)量,從而使考試更趨于公正、客觀,更加激發(fā)學生的學習興趣。</p>
19、<p> 計算機學院遠程在線考試系統(tǒng)的從實際需求入手,對比現(xiàn)有的在線考試系統(tǒng),借鑒現(xiàn)有系統(tǒng)先進之處,查找現(xiàn)在系統(tǒng)的空白和不足,研究解決的途徑,從而開發(fā)出滿足需求的計算機學院遠程在線考試系統(tǒng)。使得在計算機學院遠程考試系統(tǒng)的幫助下,教師可輕松完成教學計劃,學生也可修得所需學分。學生不用奔波于實習地與學校之間,節(jié)省了路費與時間,提高了效率。本系統(tǒng)能夠很好地支持教學改革,使學生得到更好的學習條件。 本系統(tǒng)還具有相當高的應(yīng)用廣泛性,只
20、要在數(shù)據(jù)庫中添加相關(guān)信息,本系統(tǒng)可應(yīng)用于有相同需求的學院或?qū)W校。</p><p> 第二章 系統(tǒng)分析概述</p><p><b> 2.1引言</b></p><p> ASP.NET是微軟公司最新推出的一種統(tǒng)一Web開發(fā)平臺,與最新的數(shù)據(jù)訪問技術(shù)ADO.NET一起可構(gòu)建出強大、安全和可靠的企業(yè)級Web應(yīng)用程序。ASP.NET的語法在很
21、大程度上與ASP兼容,同時它還提供一種新的編程模型和結(jié)構(gòu),用于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序。</p><p> 采取了ASP.NET技術(shù)的系統(tǒng)在性能上有了很大的改善,主要表現(xiàn)在以下幾方面: </p><p> ?。?)由于ASP頁面每次打開都必須經(jīng)過先編譯后解釋的過程,所以頁面在反復打開時速度沒有任何提升,而ASP.NET頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web
22、應(yīng)用程序重新啟動。這使得在多次訪問時速度有了極大的提升;</p><p> (2)由于ASP沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用ASP撰寫數(shù)據(jù)庫頁面時只能借助ADO的RecordSet對象逐筆讀取記錄,而ASP.NET通過ADO.NET提供的DataGrid等數(shù)據(jù)庫元件可以直接和數(shù)據(jù)庫聯(lián)系;</p><p> ?。?)ASP.NET支持應(yīng)用程序的實時更新,管理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器
23、或者甚至不用停止應(yīng)用程序的運行就可以更新應(yīng)用文件。應(yīng)用程序文件永遠不會被加鎖,因此甚至在程序運行時文件就可以被覆蓋,當文件更新后,系統(tǒng)會溫和地轉(zhuǎn)換到新的版本;</p><p> ?。?)ASP.NET采取"CodeBehind(代碼分離)技術(shù)"方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系統(tǒng)開發(fā)與維護的復雜度和費用。</p><p><b> 2.2系
24、統(tǒng)需求分析</b></p><p> 系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)在線考試的系統(tǒng)化、規(guī)范化和自動化。</p><p> 系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的。在線考試系統(tǒng)需要完成的功能主要有:用戶的注冊和登錄;用戶在線答題;對科目進行管理;對管理員進行試題的管理;以及個人信息管理功能。在數(shù)據(jù)庫方面,利用關(guān)系數(shù)據(jù)庫功能強大的查詢語言對企業(yè)各類信息入庫保存,按要求及時處
25、理。</p><p> 該系統(tǒng)集錄入、維護、查詢、審核和各種處理為一體,各種操作可以通過菜單進行,操作快捷、方便,性能高效、強大;使用易懂、易會,形象增強的數(shù)據(jù)處理,用戶均可根據(jù)需要自行使用。</p><p><b> 2.3系統(tǒng)概述</b></p><p> a. 本系統(tǒng)是一個在線考試系統(tǒng),在實施過程中主要實現(xiàn)以下目標:</p&g
26、t;<p> ?。?)界面友好、美觀,體現(xiàn)在線考試系統(tǒng)的特點,而且操作簡便。</p><p> ?。?)各功能模塊層次清晰,代碼高效易懂。</p><p> ?。?)添加和編輯簡便、清晰,提高工作效率。</p><p> (4)查詢方便,數(shù)據(jù)存儲安全可靠。</p><p> ?。?)功能全面,實用性強。</p>
27、<p><b> b. 主要功能有:</b></p><p><b> (1)注冊用戶模塊</b></p><p> 注冊用戶主要實現(xiàn)用戶的登錄功能和注冊功能。</p><p><b> ?。?)在線測試模塊</b></p><p> 在線測試是本系統(tǒng)的核心模
28、塊,不論是管理員還是普通用戶都可以進行在線測試。在此頁面中,可以選擇不同的科目進行科目測試,也可以顯示或者隱藏答案提示。</p><p><b> ?。?)科目管理模塊</b></p><p> 只有管理員權(quán)限的用戶登錄才可以進入科目管理模塊,在科目管理模塊中,除了顯示已有己。</p><p><b> ?。?)試題管理模塊<
29、/b></p><p> 只有管理員權(quán)限的用戶才可以進入試題管理模塊。</p><p><b> ?。?)用戶管理模塊</b></p><p> 在用戶管理模塊中,管理員可以刪除用戶和修改用戶信息。該頁面沒有增加用戶功能,用戶可以自己注冊登錄。</p><p> (6)個人信息修改模塊</p>
30、<p> 普通用戶登陸后可以進入個人信息修改模塊,修改個人密碼、身份證號碼和E-mail等信息。</p><p> c. 開發(fā)環(huán)境的選擇方法</p><p> 目前,用于開發(fā)數(shù)據(jù)庫管理信息系統(tǒng)的編程語言很多,比如Delphi、PowerBuilder、Visual C++、Java、Visual Basic6及VB.NET等等,而用于后臺數(shù)據(jù)庫管理的DBMS也有很多,比如有
31、Oracle、MS SQL SERVER、SYBASE、INFORMIX、DB2、VISUAL FOXPRO、ACCESS等等。</p><p> 本人根據(jù)xx老師的布置要求,采用面向?qū)ο蟮能浖_發(fā)方法來實現(xiàn)此在線考試軟件,系統(tǒng)開發(fā)工具我們選擇了能夠跨平臺的開發(fā)工具Visual Studio 2008。在前臺操作與后臺數(shù)據(jù)庫處理的連接上,主要采用ADO.NET技術(shù)和SQL Server2005數(shù)據(jù)庫,運用客戶機
32、服務(wù)器模式(C/S)配合功能強大的SQL查詢語言實現(xiàn)預定的功能需求。</p><p> 2.4 Visual Studio 2008的概述</p><p> Visual Studio 2008是一個全面集成的開發(fā)環(huán)境,用于編寫,調(diào)試代碼,把代碼編譯為程序集進行發(fā)布,實際上,Visual Studio 提供了非常專業(yè)的多文檔界面應(yīng)用程序,在該應(yīng)用程序中可以進行與開發(fā)代碼相關(guān)的任何操作,
33、它提供了:</p><p> 文本編輯器:在文本編輯器中,可以編寫C#代碼(以及VB 2005,J#和C++代碼)。這個文本編輯器相當復雜。</p><p> 代碼的設(shè)計視圖編輯器:它可以在項目中可視化的放置用戶界面和數(shù)據(jù)訪問控件。此時Visual Studio會自動在源文件中添加必要的C#代碼,在項目中實例化這些控件。</p><p> 支持窗口:它們可以查
34、看修改項目的各個方面。也可以使用這些窗口指定編譯選項。</p><p> 在環(huán)境中編譯:可以只選擇一個菜單選項編譯項目,而不必在命令行上運行C#編譯器。Visual Studio會調(diào)用C#編譯器。</p><p> 集成的調(diào)試程序:編程的本質(zhì)是代碼在第一次運行時,一般不會正確執(zhí)行。也許在第二次、第三次才能正確運行。Visual Studio無縫的鏈接到一個調(diào)試程序上,可以在該調(diào)試環(huán)境中
35、設(shè)置斷點,觀察變量。</p><p> 集成的MSDN幫助:Visual Studio可以在IDE中調(diào)用MSDN文檔說明。</p><p> 訪問其他程序:Visual Studio還能調(diào)用許多其他工具來查看和修改計算機或網(wǎng)絡(luò)的一些內(nèi)容,而無需退出開發(fā)環(huán)境。</p><p> 2.5 SQL Server 2005數(shù)據(jù)庫的概述</p><p
36、> SQL Sevrer2005是一個C/S體系結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),它使Transact—SQL語言在客戶和SQL Server之間發(fā)送處理請求,SQL Server利用C/S體系結(jié)構(gòu)把工作分成兩部分:客戶端負責邏輯處理把數(shù)據(jù)呈現(xiàn)給用戶,SQL Server管理數(shù)據(jù)庫。SQL Server用Transact—SQL作為它的數(shù)據(jù)庫查詢和編程語言,使用Transact—SQL能夠方便地存取數(shù)據(jù)、查詢、更新和管理關(guān)系數(shù)據(jù)庫。&l
37、t;/p><p> 第三章 系統(tǒng)方案總體設(shè)計</p><p> 3.1系統(tǒng)設(shè)計思想及相關(guān)技術(shù)介紹</p><p> 3.1.1系統(tǒng)架構(gòu)設(shè)計</p><p> 首先用戶登錄,如果登陸成功系統(tǒng)檢測用戶類型,用戶類型分為兩種:普通用戶和管理員。普通用戶登錄后只能進行在線答題和個人信息管理,在線答題時可以選擇科目,可以顯示和隱藏答案提示,模塊測
38、試后可以重做答錯的題。</p><p> 管理員身份登錄功能較多,除了可以在線答題外,還可以進行科目管理、試題管理和用戶管理,科目管理包括增加、刪除、修改科目,試題管理同樣是增、刪、改操作;用戶管理中只能刪除和修改用戶信息,增加用戶在注冊用戶功能中完成。</p><p> 圖3-1在線考試系統(tǒng)功能框架</p><p> 3.1.2 系統(tǒng)的功能特點</p&
39、gt;<p> 系統(tǒng)的功能所具備的特點:操作簡單方便、界面簡潔美觀;具有嚴肅性和公正性,系統(tǒng)提供自動交卷功能;提供考試時間倒計時功能;系統(tǒng)自動交卷閱卷,保證成績真實準確;考生可隨時查看考試成績;對考生注冊信息進行管理。</p><p> 3.1.3系統(tǒng)總體模塊功能設(shè)計</p><p> 經(jīng)過對整個系統(tǒng)的分析,可以得出以下功能模塊,如圖3-2所示:</p>
40、<p> ?。?)登陸者模塊:面向登陸者。可以先進行注冊,再實現(xiàn)登錄功能,進而進行在線考試。</p><p> (2)管理員模塊:面向管理員。可以對考題進行添加、刪除、修改和更新功能;可以進行答題的測試;科目的管理;題庫的管理;以及對用戶的管理。</p><p><b> 圖3-2功能模塊圖</b></p><p><b&g
41、t; 3.2系統(tǒng)用例描述</b></p><p><b> 3.2.1教師用戶</b></p><p> 教師用戶的用例有出卷、審核試卷、判卷。教師用戶的用例圖如圖3-3所示。</p><p> 圖3-3 教師用戶用例圖</p><p><b> 3.2.2學生用戶</b>&l
42、t;/p><p> 學生用戶的用例只有在線考試。學生用戶的用例圖如圖3-4所示。</p><p> 圖3-4學生用戶用例圖</p><p><b> 3.2.3管理員</b></p><p> 管理員的用例包括安排出卷教師、安排審卷教師、安排考試時間、安排判卷教師、管理考試試卷、管理學生答卷和管理基本信息。管理員的用
43、例圖如圖3-5所示。</p><p> 圖3-5管理員用例圖</p><p> 第四章 數(shù)據(jù)庫的設(shè)計</p><p><b> 4.1引言</b></p><p> 數(shù)據(jù)庫是一個應(yīng)用系統(tǒng)的核心,數(shù)據(jù)庫設(shè)計的好壞直接關(guān)系到應(yīng)用系統(tǒng)的執(zhí)行效率,數(shù)據(jù)的一致性和完整性,設(shè)計數(shù)據(jù)庫系統(tǒng)時應(yīng)該首先充分了解用戶各個方面的需求
44、,包括現(xiàn)有的以及將來可能增加的需求,數(shù)據(jù)庫設(shè)計一般包括以下幾個步驟:</p><p><b> 數(shù)據(jù)庫需求分析</b></p><p><b> 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</b></p><p><b> 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</b></p><p> 4.2數(shù)據(jù)庫需求分析&l
45、t;/p><p> 數(shù)據(jù)庫需求分析就是要了解在這個應(yīng)用系統(tǒng)中,用戶需要查詢、更新、刪除和保存哪些數(shù)據(jù),收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計打下基礎(chǔ)。</p><p> 通在線考試系統(tǒng)的數(shù)據(jù)庫管理要進行各種各樣的數(shù)據(jù)輸入和導出,提供各類信息的添加、刪除、修改和更新等功能。通過上述對系統(tǒng)的設(shè)計分析,根據(jù)在線考試系統(tǒng)的需求,共需設(shè)計以下五種信息:&l
46、t;/p><p> ?。?)用戶注冊信息。</p><p> ?。?)科目管理信息。</p><p> (3)試題管理信息。</p><p> ?。?)用戶管理信息。</p><p> ?。?)個人信息管理。</p><p> 4.3數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</p><p>
47、 等到了上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出能夠滿足用戶需求的各種實體以及實體之間的關(guān)系,為后面的數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這些實體包括各種具體信息,通過相互之間的作用形成數(shù)據(jù)流動。</p><p> 4.4數(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ù)類型
48、,列舉出部分數(shù)據(jù)表的關(guān)系如下:</p><p> (1) 用戶信息表(User)包括的數(shù)據(jù)項有: 用戶名、密碼、性別、身份證號碼、電子郵箱、角色編號等。(如表4.1所示)</p><p><b> 表4.1用戶信息表</b></p><p><b> ?。ɡm(xù)表4.1)</b></p><p>
49、 (2)角色表(Role)中的字段有角色編號、角色名。(如表4.2所示)</p><p><b> 表4. 2 角色表</b></p><p> (3)(Course)中的字段有課程編號和課程名以及兩個備用字段。(如圖4-3所示)</p><p> 表4.3 課程表角色表</p><p> ?。?)試題表(ques
50、tion)中的字段有題號、課程編號、題干、A答案、B答案、C答案、D答案、正確答案。(如表4.4所示)</p><p><b> 表4.4 角色表</b></p><p><b> (續(xù)表4.4)</b></p><p><b> 表4.4 角色表</b></p><p>
51、; 第五章 界面設(shè)計與實現(xiàn)</p><p><b> 5.1主頁設(shè)計</b></p><p><b> 5.1.1實現(xiàn)目標</b></p><p> 程序啟動后,進入登陸窗體,用戶輸入用戶名和密碼,然后進行登錄。同時可以按下取消按鈕退出本系統(tǒng),登錄界面模塊中主要實現(xiàn)如下功能:</p><p&g
52、t; (1)可進行選擇用戶身份,支持鼠標操作。</p><p> (2)用戶名和密碼驗證成功后,進入主界面。</p><p> ?。?)用戶名錯誤或密碼錯誤提醒并返回輸入有誤。</p><p><b> 5-1主頁面</b></p><p><b> 5.1.2登錄窗口</b></p&
53、gt;<p><b> 5-2 登錄窗口</b></p><p> 在登錄過程中,系統(tǒng)會首先根據(jù)畫面上用戶輸入的內(nèi)容進行驗證檢查,相關(guān)代碼如下:</p><p> string conn=ConfigurationManager.ConnectionString["WebTestConnection</p><p>
54、; String"].ConnectionString;</p><p> protected void txtRegist_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Response.Redirect("Regist.aspx&quo
55、t;);</p><p><b> }</b></p><p> protected void txtLogin_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> SqlConnection con = new Sql
56、Connection(conn);</p><p> string strSql = "select count(*) from [user] where userName = '"</p><p> + txtName.Text + "' and password = '" </p><p>
57、+ this.txtPassword.Text + "'";</p><p> SqlCommand com = new SqlCommand(strSql, con);</p><p> con.Open();</p><p> int num = (int)com.ExecuteScalar();</p><
58、p> if (num == 0)</p><p><b> {</b></p><p> Response.Write("<script language='javascript'></p><p> alert('密碼錯誤!');</script>");
59、</p><p><b> return;</b></p><p><b> }</b></p><p> strSql = "select roleID from [user] where userName = '" </p><p> + txtName.Te
60、xt + "'";</p><p><b> try</b></p><p><b> {</b></p><p> com.CommandText = strSql;</p><p> SqlDataReader sdr = com.ExecuteReader(
61、);</p><p> if (sdr.Read())</p><p><b> {</b></p><p> string s = sdr["roleID"].ToString();</p><p> Session["roleID"] = s;</p>&
62、lt;p> Session["userName"] = txtName.Text;</p><p> Session["userPassword"] = txtPassword.Text;</p><p><b> }</b></p><p> sdr.Close();</p>
63、<p><b> }</b></p><p> catch (SqlException ex)</p><p><b> {</b></p><p> Response.Write(ex.ToString());</p><p><b> }</b><
64、;/p><p><b> finally</b></p><p><b> {</b></p><p> con.Close();</p><p><b> }</b></p><p> Response.Redirect("Main.a
65、spx");</p><p><b> }</b></p><p> 如果驗證通過,系統(tǒng)會連接數(shù)據(jù)庫,進行數(shù)據(jù)正確性以及用戶權(quán)限的檢查,以上檢查成功的情況下,就會進入本系統(tǒng)的主窗體,如果失敗,跳出錯誤提示框。</p><p><b> 5.13注冊窗口</b></p><p><
66、;b> 圖5-3 注冊窗口</b></p><p> 在注冊過程中,系統(tǒng)會自動檢查用戶注冊的信息是否合法,相關(guān)代碼如下:</p><p> string conn=ConfigurationManager.ConnectionStrings["WebTestConn</p><p> ectionString"].Con
67、nectionString;</p><p> protected void btnOK_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p&g
68、t; string strSql = "select count(*) from [user] where userName = '" </p><p> + txtName.Text + "'";</p><p> SqlCommand com = new SqlCommand(strSql, con);</p>
69、<p> con.Open();</p><p> int num = (int)com.ExecuteScalar();</p><p> if (num > 0)</p><p><b> {</b></p><p> Response.Write("<script lan
70、guage='javascript'></p><p> alert('表中存在記錄!');</script>");</p><p><b> }</b></p><p><b> else</b></p><p><b>
71、 {</b></p><p> string name = txtName.Text;</p><p> string password = this.txtPassword.Text;</p><p> string sex = "男";</p><p> if (this.rbtnFemail.C
72、hecked)</p><p><b> {</b></p><p> sex = "女";</p><p><b> }</b></p><p> string identity = txtIdentity.Text.ToString();</p><
73、;p> string email = this.txtMail.Text.ToString();</p><p> strSql = "insert into [user](userName, password, sex, userIdentity, email,roleID) values('" + name + "','" + pass
74、word + "','" </p><p> + sex + "','" + identity + "','"+ email + "',1)";</p><p> com = new SqlCommand(strSql, con);</p>
75、<p> com.ExecuteNonQuery();</p><p> con.Close();</p><p> Response.Write("<script language='javascript'>alert('注冊成功!返回登錄頁面');</script>");</p>
76、<p><b> //返回登陸頁面</b></p><p> Response.Redirect("Login.aspx");</p><p><b> }</b></p><p><b> }</b></p><p> protec
77、ted void btnCancel_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Response.Redirect("Login.aspx");</p><p><b> }</b></p><p
78、> 5.2用戶登錄信息畫面</p><p><b> 5.2.1實現(xiàn)目標</b></p><p> 程序啟動后,登錄進入在線答題窗體,在管理模塊中主要實現(xiàn)如下功能:</p><p> ?。?)檢索當前啟用的組織結(jié)構(gòu)相關(guān)的部門及員工信息。</p><p> ?。?)對登陸者個人信息的管理。</p>
79、<p> ?。?)對基本信息進行登錄和修改操作。</p><p> ?。?)考試科目即考試內(nèi)容建立。</p><p> ?。?)對考試信息的查詢。</p><p><b> 5.2.2主界面</b></p><p> 圖5-4 在線考試主界面</p><p> 本界面為主操作界面
80、。管理員通過登錄界面的驗證后,方能進入此界面。</p><p> 此畫面可以進行考試各類信息的添加,更新和刪除,以及用戶信息查詢等功能。</p><p> 圖5-5 在線考試主界面</p><p><b> 點擊顯示答案后:</b></p><p> 圖5-6 答題測試界面</p><p>
81、;<b> 相關(guān)主代碼如下:</b></p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {</b></p><p> if (!this.IsPostBack)</p><p><b&g
82、t; {</b></p><p> BindSubjectName();</p><p><b> Bind();</b></p><p><b> }</b></p><p><b> }</b></p><p> String
83、 conn=ConfigurationManager.ConnectionStrings["WebTestConnection</p><p> String"].ConnectionString;</p><p> private void BindSubjectName()</p><p><b> {</b>&l
84、t;/p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter("select * from course", con);</p><p> DataSet ds = new DataSet();<
85、;/p><p> sda.Fill(ds, "table");</p><p> ddlQuestionName.DataSource = ds.Tables["table"];</p><p> ddlQuestionName.DataTextField = "courseName";</p>
86、;<p> ddlQuestionName.DataValueField = "courseID";</p><p> ddlQuestionName.DataBind();</p><p><b> }</b></p><p> private void Bind()</p><p
87、><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
88、.courseName = '" + str + "'";</p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter(sql, con);</p><p> DataS
89、et ds = new DataSet();</p><p> sda.Fill(ds, "table");</p><p> DataList1.DataKeyField = "questionID";</p><p> DataList1.DataSource = ds.Tables["table"
90、;];</p><p> DataList1.DataBind();</p><p><b> }</b></p><p> protected void btnShowAnswer_Click(object sender, EventArgs e)</p><p><b> {</b>&l
91、t;/p><p> if (btnShowAnswer.Text == "顯示答案")</p><p><b> {</b></p><p> for (int i = 0; i < DataList1.Items.Count; i++)</p><p><b> {</b&
92、gt;</p><p> ((Label)(DataList1.Items[i].FindControl("lblAnswer"))).Visible = true;</p><p><b> }</b></p><p> btnShowAnswer.Text = "隱藏答案";</p>
93、<p><b> }</b></p><p><b> else </b></p><p><b> {</b></p><p> for (int i = 0; i < DataList1.Items.Count; i++)</p><p><
94、;b> {</b></p><p> ((Label)(DataList1.Items[i].FindControl("lblAnswer"))).Visible = false;</p><p><b> }</b></p><p> btnShowAnswer.Text = "顯示答案
95、";</p><p><b> }</b></p><p><b> }</b></p><p> protected void ddlQuestionName_SelectedIndexChanged(object sender, EventArgs e)</p><p><
96、b> {</b></p><p><b> Bind();</b></p><p><b> }</b></p><p> protected void btnFinish_Click(object sender, EventArgs e)</p><p><b>
97、; {</b></p><p> int count = 0;//答對的數(shù)目</p><p> for (int index = 0; index < DataList1.Items.Count; index++)</p><p><b> {</b></p><p> string labe
98、lStr =((Label)(DataList1.Items[index]</p><p> .FindControl("lblAnswer"))).Text;</p><p> string rightAnswer = labelStr.Substring(labelStr.Length - 1);</p><p> string sel
99、ectedRadioButton = "";</p><p> if (((RadioButton)(DataList1.Items[index].FindControl("rbtn1"))).Checked)</p><p><b> {</b></p><p> selectedRadioBut
100、ton = "A";</p><p><b> }</b></p><p> else if (((RadioButton)(DataList1.Items[index].FindControl("rbtn2"))).Checked)</p><p><b> {</b><
101、;/p><p> selectedRadioButton = "B";</p><p><b> }</b></p><p> else if (((RadioButton)(DataList1.Items[index].FindControl("rbtn3"))).Checked)</p>
102、<p><b> {</b></p><p> selectedRadioButton = "C";</p><p><b> }</b></p><p> else if(((RadioButton)(DataList1.Items[index].FindControl(&quo
103、t;rbtn4"))).Checked)</p><p><b> {</b></p><p> selectedRadioButton = "D";</p><p><b> }</b></p><p> if (rightAnswer == selected
104、RadioButton)</p><p><b> {</b></p><p> count += 1;</p><p> if (DataList1.Items[index].TabIndex >= 100)</p><p><b> {</b></p><p&g
105、t; DataList1.Items[index].TabIndex -= 100;</p><p><b> }</b></p><p><b> }</b></p><p><b> else </b></p><p><b> {</b>&
106、lt;/p><p> DataList1.Items[index].TabIndex = (short)(100 + index);</p><p><b> }</b></p><p> this.btnRedoError.Enabled = true;</p><p><b> }</b>&
107、lt;/p><p> lblResult.Text = "答對"+count+"題,錯"+(DataList1.Items.Count-count)+"題";</p><p><b> }</b></p><p> protected void btnRedo_Click(objec
108、t sender, EventArgs e)</p><p><b> {</b></p><p> Response.Redirect("ShowQuestion.aspx");</p><p><b> }</b></p><p> protected void bt
109、nRedoError_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> for (int index = 0; index < DataList1.Items.Count; index++)</p><p><b> {</b></
110、p><p> if (DataList1.Items[index].TabIndex < 100)</p><p><b> {</b></p><p> DataList1.Items[index].Visible = false;</p><p><b> }</b></p>
111、;<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 5.3 科目管理 </b></p><p><b> 5.3.1實現(xiàn)目標</b&g
112、t;</p><p><b> 圖5-7 科目管理</b></p><p> 當管理員登入系統(tǒng)后,進入信息添加頁面,需要將相關(guān)考試信息錄入考試系統(tǒng)中,方便用戶進行考試。相關(guān)代碼如下:</p><p> private void BindQuestionName()</p><p><b> {</
113、b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter("select * from Course", con);</p><p> DataSet ds = new DataSe
114、t();</p><p> sda.Fill(ds, "table");</p><p> ddlCourseName.DataSource = ds.Tables["table"];</p><p> ddlCourseName.DataTextField = "courseName";</p
115、><p> ddlCourseName.DataValueField = "courseID";</p><p> ddlCourseName.DataBind();</p><p><b> }</b></p><p> protected void GridView1_RowEditing(o
116、bject sender, GridViewEditEventArgs e)</p><p><b> {</b></p><p> string courseID = ddlCourseName.SelectedValue.ToString();</p><p> string questionID = GridView1.Rows[e
117、.NewEditIndex].Cells[0].Text.ToString().Trim();</p><p> string questionContent = GridView1.Rows[e.NewEditIndex].Cells[1].Text.ToString().Trim();</p><p> string a1 = GridView1.Rows[e.NewEditInd
118、ex].Cells[2].Text.ToString().Trim();</p><p> string a2 = GridView1.Rows[e.NewEditIndex].Cells[3].Text.ToString().Trim();</p><p> string a3 = GridView1.Rows[e.NewEditIndex].Cells[4].Text.ToStri
119、ng().Trim();</p><p> string a4 = GridView1.Rows[e.NewEditIndex].Cells[5].Text.ToString().Trim();</p><p> string rightAnswer = GridView1.Rows[e.NewEditIndex].Cells[6].Text.ToString().Trim();<
120、;/p><p> //UpdateQuestion question = new UpdateQuestion(questionID, courseID, questionContent, a1, a2, a3, a4, rightAnswer);</p><p> string str = "AddQuestion.aspx?courseID=" + courseID
121、 + "&questionID=" + questionID + "&questionContent=" + questionContent </p><p> + "&a1=" + a1 + "&a2=" + a2 + "&a3=" + a3 + "&a
122、4=" + a4 + </p><p> "&rightAnswer=" + rightAnswer;</p><p> Response.Redirect(str);</p><p><b> }</b></p><p><b> 5.4 用戶管理 </b&
123、gt;</p><p><b> 5.4.1實現(xiàn)目標</b></p><p> 圖5-8 用戶管理界面</p><p> 管理員登錄該界面后,對用戶所注冊的信息進行核實和管理。相關(guān)重要代碼如下:</p><p> private void Bind()</p><p><b>
124、 {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter("select * from [user]", con);</p><p> DataSet ds = new
125、 DataSet();</p><p> sda.Fill(ds, "table");</p><p> GridView1.DataSource = ds.Tables["table"];</p><p> GridView1.DataKeyNames = new string[] { "userName&q
126、uot; };</p><p> GridView1.DataBind();</p><p><b> }</b></p><p> protected void GridView1_RowDeleting(object sender,</p><p> GridViewDeleteEventArgs e)<
127、;/p><p><b> {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> string sqlString = "delete from [user] where userName = '"+GridView1.DataKey
128、s[e.RowIndex].Value.ToString()+"'";</p><p> SqlCommand com = new SqlCommand(sqlString, con);</p><p> con.Open();</p><p> com.ExecuteNonQuery();</p><p>
129、 con.Close();</p><p><b> Bind();</b></p><p><b> }</b></p><p> protected void GridView1_RowUpdating(object sender,</p><p> GridViewUpdateEve
130、ntArgs e)</p><p><b> {</b></p><p> string strSql = "update [user] set password ='" +</p><p> ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(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).
- 基于java的在線考試系統(tǒng)——畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (4)
- 網(wǎng)絡(luò)在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文 (3)
- 畢業(yè)論文——在線投票系統(tǒng) (2)
- 畢業(yè)論文——在線投票系統(tǒng) (2)
- 畢業(yè)論文---在線考試系統(tǒng)的開發(fā)
評論
0/150
提交評論