

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢業(yè)設(shè)計(jì)(論文)報(bào)告</p><p> 系 別 軟件工程系 </p><p> 專 業(yè) 計(jì)算機(jī)應(yīng)用 </p><p> 班 級(jí) </p><p> 姓 名 *
2、***** </p><p> 學(xué) 號(hào) ********* </p><p> 設(shè)計(jì)題目 在線考試系統(tǒng) </p><p> 指導(dǎo)教師 ****** </p><p> 起迄日期 2011.1.2——201
3、1.4.20 </p><p><b> 在線考試系統(tǒng)</b></p><p><b> 摘 要</b></p><p> 通過考試系統(tǒng)WebExam是目前市場(chǎng)占有率較高,應(yīng)用最廣泛的遠(yuǎn)程網(wǎng)絡(luò)學(xué)習(xí)考試軟件,適合政府、行業(yè)及企業(yè)的各專業(yè)網(wǎng)上考試、作業(yè)、練習(xí)等應(yīng)用。它采用Web方式,同時(shí)適用于局域網(wǎng)和Interne
4、t,無(wú)需安裝客戶端,即可實(shí)現(xiàn)網(wǎng)上考試、作業(yè)、練習(xí)、成績(jī)排行等功能,并能夠答卷保存、自動(dòng)判分、成績(jī)查詢和分析等功能</p><p> 該系統(tǒng)同時(shí)擁有最開放的題庫(kù)管理系統(tǒng)和最靈活的組卷系統(tǒng),能夠自動(dòng)輸出Word試卷,提供Excel題目導(dǎo)入導(dǎo)出、題庫(kù)和試卷導(dǎo)入導(dǎo)出等設(shè)計(jì),提供資源的快速收集和高度共享。</p><p> 在開發(fā)方法上,引入了當(dāng)今流行的Microsoft .Net Remoti
5、ng 技術(shù)思想,把整個(gè)開發(fā)程分為需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)等步驟。該系統(tǒng)通過優(yōu)化和再造管理流程,使人力資源的管理更為高效和科學(xué),數(shù)據(jù)更為準(zhǔn)確,從而將人事部門從繁重的、耗時(shí)的工作中解放出來,把精力集中到更高層的政策性工作中去。</p><p> 關(guān)鍵詞 在線考試系統(tǒng) ; C#.net編程語(yǔ)言 ; Visual Studio 2008 ;SQL Server 2005數(shù)據(jù)庫(kù)</p>&l
6、t;p><b> 目 錄</b></p><p><b> 第1章 緒論1</b></p><p> 1.1課題研究背景1</p><p> 1.2課題研究目的和意義1</p><p> 第2章 系統(tǒng)分析概述2</p><p><b>
7、 2.1引言2</b></p><p> 2.2系統(tǒng)需求分析2</p><p> 2.3系統(tǒng)概述3</p><p> 2.4Visual Studio 2008的概述4</p><p> 2.5SQL Server 2005數(shù)據(jù)庫(kù)的概述5</p><p> 第3章 系統(tǒng)方案總
8、體設(shè)計(jì)6</p><p> 3.1系統(tǒng)設(shè)計(jì)思想及相關(guān)技術(shù)介紹6</p><p> 3.1.1系統(tǒng)架構(gòu)設(shè)計(jì)6</p><p> 3.1.2系統(tǒng)總體模塊功能設(shè)計(jì)6</p><p> 第4章 數(shù)據(jù)庫(kù)的設(shè)計(jì)8</p><p><b> 4.1 引言8</b></p>
9、<p> 4.2數(shù)據(jù)庫(kù)需求分析8</p><p> 4.3數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)8</p><p> 4.4數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)8</p><p> 第5章 界面設(shè)計(jì)與實(shí)現(xiàn)10</p><p> 5.1主頁(yè)設(shè)計(jì)10</p><p> 5.1.1 實(shí)現(xiàn)目標(biāo)10</p>
10、<p> 5.1.2 登錄窗口10</p><p> 5.1.3 注冊(cè)窗口12</p><p> 5.2主要界面設(shè)計(jì)—用戶登錄信息畫面13</p><p> 5.2.1 實(shí)現(xiàn)目標(biāo)13</p><p> 5.2.2 主界面13</p><p> 5.3主要界面設(shè)計(jì) —— ADDQUE
11、STION.ASPX17</p><p> 5.3.1 實(shí)現(xiàn)目標(biāo)17</p><p> 5.4主要界面設(shè)計(jì) —— USERMANGEMENT.ASPX18</p><p> 5.4.1 實(shí)現(xiàn)目標(biāo)18</p><p><b> 結(jié) 論20</b></p><p><b&g
12、t; 致 謝21</b></p><p> 參 考 文 獻(xiàn)22</p><p><b> 緒論</b></p><p><b> 課題研究背景</b></p><p> 近幾年來,隨著Internet的崛起,遠(yuǎn)程教育開始發(fā)展,普及網(wǎng)絡(luò)教育的呼聲日益高漲,其勢(shì)頭不亞于電子商
13、務(wù)。</p><p> 聯(lián)合國(guó)教科文組織1998年在其一項(xiàng)調(diào)查報(bào)告中:無(wú)論是發(fā)達(dá)國(guó)家還是發(fā)展中國(guó)家,都不同程度存在教育滯后于現(xiàn)實(shí)需要的問題,特別是第三世界國(guó)家,而普及遠(yuǎn)程教育,尤其是網(wǎng)絡(luò)教育,不僅是解決這一問題的有效途徑,而且將成為革新傳統(tǒng)教育模式的重要?jiǎng)恿Α?lt;/p><p> 中國(guó)的網(wǎng)絡(luò)教育也隨Internet的發(fā)展而同步增長(zhǎng),同時(shí),網(wǎng)絡(luò)教育也為中國(guó)的教育事業(yè)開辟了新的天地。<
14、/p><p><b> 課題研究目的和意義</b></p><p> 隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在很多國(guó)外的大學(xué)和社會(huì)其他部門都已經(jīng)開始設(shè)了遠(yuǎn)程教育。但是,遠(yuǎn)程教育的軟件的開發(fā)目前還處于起步階段,隨著這項(xiàng)技術(shù)的不斷深入發(fā)展,就要求有更好、更完善的軟件系統(tǒng)到遠(yuǎn)程教育當(dāng)中去,這就給軟件設(shè)計(jì)人員提出了更高的設(shè)計(jì)要求。</p><p> 遠(yuǎn)程教育包括
15、很多環(huán)節(jié)。例如,教學(xué)系統(tǒng)、考試系統(tǒng)、和答疑系統(tǒng)等等。其中一個(gè)很重要的環(huán)節(jié)是在線考試系統(tǒng),同時(shí),它也是最難實(shí)現(xiàn)的環(huán)節(jié)。在我國(guó),遠(yuǎn)程教育以蓬勃發(fā)展起來。但目前學(xué)校和社會(huì)上的各種考試大都都采用傳統(tǒng)的考試方法,在此方式下,組織一次考試,要經(jīng)過五個(gè)步驟,即人工出題、考生考試、人工閱卷、成績(jī)?cè)u(píng)估和試卷分析。</p><p> 顯然隨著考試類型的不斷增加和考試要求的不斷提高,教師的工作量也越來越大,可以說傳統(tǒng)的考試方法已經(jīng)不
16、能適用于現(xiàn)代考試的需要。隨著計(jì)算機(jī)應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴(kuò)大,如遠(yuǎn)程教育和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬(wàn)戶。人們迫切需要這些技術(shù)來進(jìn)行在線考試,以減輕教師的工作的負(fù)擔(dān)以及提高工作效率,與此同時(shí)提高了考試的質(zhì)量,從而使考試更趨于公正、客觀,更加激發(fā)學(xué)生的學(xué)習(xí)興趣。</p><p> 第2章 系統(tǒng)分析概述</p><p><b> 引言</b>
17、</p><p> ASP.NET是微軟公司最新推出的一種統(tǒng)一Web開發(fā)平臺(tái),與最新的數(shù)據(jù)訪問技術(shù)ADO.NET一起可構(gòu)建出強(qiáng)大、安全和可靠的企業(yè)級(jí)Web應(yīng)用程序。ASP.NET的語(yǔ)法在很大程度上與ASP兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),用于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序。</p><p> 采取了ASP.NET技術(shù)的系統(tǒng)在性能上有了很大的改善,主要表現(xiàn)在以下幾方面: &l
18、t;/p><p> 由于ASP頁(yè)面每次打開都必須經(jīng)過先編譯后解釋的過程,所以頁(yè)面在反復(fù)打開時(shí)速度沒有任何提升,而ASP.NET頁(yè)面只需要一次編譯后不需要重新編譯,直到該頁(yè)面被修改或Web應(yīng)用程序重新啟動(dòng)。這使得在多次訪問時(shí)速度有了極大的提升;</p><p> 由于ASP沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用ASP撰寫數(shù)據(jù)庫(kù)頁(yè)面時(shí)只能借助ADO的RecordSet對(duì)象逐筆讀取記錄,而
19、ASP.NET通過ADO.NET提供的DataGrid等數(shù)據(jù)庫(kù)元件可以直接和數(shù)據(jù)庫(kù)聯(lián)系;</p><p> ASP.NET支持應(yīng)用程序的實(shí)時(shí)更新,管理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器或者甚至不用停止應(yīng)用程序的運(yùn)行就可以更新應(yīng)用文件。應(yīng)用程序文件永遠(yuǎn)不會(huì)被加鎖,因此甚至在程序運(yùn)行時(shí)文件就可以被覆蓋,當(dāng)文件更新后,系統(tǒng)會(huì)溫和地轉(zhuǎn)換到新的版本;</p><p> ASP.NET采取"CodeB
20、ehind(代碼分離)技術(shù)"方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系統(tǒng)開發(fā)與維護(hù)的復(fù)雜度和費(fèi)用。</p><p><b> 系統(tǒng)需求分析</b></p><p> 系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)在線考試的系統(tǒng)化、規(guī)范化和自動(dòng)化。</p><p> 系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的。在線考試系統(tǒng)需要完成的功能
21、主要有:用戶的注冊(cè)和登錄;用戶在線答題;對(duì)科目進(jìn)行管理;對(duì)管理員進(jìn)行試題的管理;以及個(gè)人信息管理功能。在數(shù)據(jù)庫(kù)方面,利用關(guān)系數(shù)據(jù)庫(kù)功能強(qiáng)大的查詢語(yǔ)言對(duì)企業(yè)各類信息入庫(kù)保存,按要求及時(shí)處理。</p><p> 該系統(tǒng)集錄入、維護(hù)、查詢、審核和各種處理為一體,各種操作可以通過菜單進(jìn)行,操作快捷、方便,性能高效、強(qiáng)大;使用易懂、易會(huì),形象增強(qiáng)的數(shù)據(jù)處理,用戶均可根據(jù)需要自行使用。</p><p&g
22、t;<b> 系統(tǒng)概述</b></p><p> 本系統(tǒng)是一個(gè)在線考試系統(tǒng),在實(shí)施過程中主要實(shí)現(xiàn)以下目標(biāo):</p><p> (1)界面友好、美觀,體現(xiàn)在線考試系統(tǒng)的特點(diǎn),而且操作簡(jiǎn)便。</p><p> ?。?)各功能模塊層次清晰,代碼高效易懂。</p><p> (3)添加和編輯簡(jiǎn)便、清晰,提高工作效率。&l
23、t;/p><p> ?。?)查詢方便,數(shù)據(jù)存儲(chǔ)安全可靠。</p><p> (5)功能全面,實(shí)用性強(qiáng)。</p><p><b> 主要功能有:</b></p><p><b> 1.注冊(cè)用戶模塊</b></p><p> 注冊(cè)用戶主要實(shí)現(xiàn)用戶的登錄功能和注冊(cè)功能。<
24、/p><p><b> 在線測(cè)試模塊</b></p><p> 在線測(cè)試是本系統(tǒng)的核心模塊,不論是管理員還是普通用戶都可以進(jìn)行在線測(cè)試。在此頁(yè)面中,可以選擇不同的科目進(jìn)行科目測(cè)試,也可以顯示或者隱藏答案提示。</p><p><b> 科目管理模塊</b></p><p> 只有管理員權(quán)限的用戶
25、登錄才可以進(jìn)入科目管理模塊,在科目管理模塊中,除了顯示已有己。</p><p><b> 試題管理模塊</b></p><p> 只有管理員權(quán)限的用戶才可以進(jìn)入試題管理模塊。</p><p><b> 用戶管理模塊</b></p><p> 在用戶管理模塊中,管理員可以刪除用戶和修改用戶信息
26、。該頁(yè)面沒有增加用戶功能,用戶可以自己注冊(cè)登錄。</p><p><b> 個(gè)人信息修改模塊</b></p><p> 普通用戶登陸后可以進(jìn)入個(gè)人信息修改模塊,修改個(gè)人密碼、身份證號(hào)碼和E-mail等信息。</p><p><b> 開發(fā)環(huán)境的選擇方法</b></p><p> 目前,用于開
27、發(fā)數(shù)據(jù)庫(kù)管理信息系統(tǒng)的編程語(yǔ)言很多,比如Delphi、PowerBuilder、Visual C++、Java、Visual Basic6及VB.NET等等,而用于后臺(tái)數(shù)據(jù)庫(kù)管理的DBMS也有很多,比如有Oracle、MS SQL SERVER、SYBASE、INFORMIX、DB2、VISUAL FOXPRO、ACCESS等等。</p><p> 本人根據(jù)秦曉燕老師的布置要求,采用面向?qū)ο蟮能浖_發(fā)方法來實(shí)現(xiàn)
28、此在線考試軟件,系統(tǒng)開發(fā)工具我們選擇了能夠跨平臺(tái)的開發(fā)工具Visual Studio 2008。在前臺(tái)操作與后臺(tái)數(shù)據(jù)庫(kù)處理的連接上,主要采用ADO.NET技術(shù)和SQL Server2005數(shù)據(jù)庫(kù),運(yùn)用客戶機(jī)服務(wù)器模式(C/S)配合功能強(qiáng)大的SQL查詢語(yǔ)言實(shí)現(xiàn)預(yù)定的功能需求。</p><p> Visual Studio 2008的概述</p><p> Visual Studio 20
29、08是一個(gè)全面集成的開發(fā)環(huán)境,用于編寫,調(diào)試代碼,把代碼編譯為程序集進(jìn)行發(fā)布,實(shí)際上,Visual Studio 提供了非常專業(yè)的多文檔界面應(yīng)用程序,在該應(yīng)用程序中可以進(jìn)行與開發(fā)代碼相關(guān)的任何操作,它提供了:</p><p> 文本編輯器:在文本編輯器中,可以編寫C#代碼(以及VB 2005,J#和C++代碼)。這個(gè)文本編輯器相當(dāng)復(fù)雜。</p><p> 代碼的設(shè)計(jì)視圖編輯器:它可以在
30、項(xiàng)目中可視化的放置用戶界面和數(shù)據(jù)訪問控件。此時(shí)Visual Studio會(huì)自動(dòng)在源文件中添加必要的C#代碼,在項(xiàng)目中實(shí)例化這些控件。</p><p> 支持窗口:它們可以查看修改項(xiàng)目的各個(gè)方面。也可以使用這些窗口指定編譯選項(xiàng)。</p><p> 在環(huán)境中編譯:可以只選擇一個(gè)菜單選項(xiàng)編譯項(xiàng)目,而不必在命令行上運(yùn)行C#編譯器。Visual Studio會(huì)調(diào)用C#編譯器。</p>
31、<p> 集成的調(diào)試程序:編程的本質(zhì)是代碼在第一次運(yùn)行時(shí),一般不會(huì)正確執(zhí)行。也許在第二次、第三次才能正確運(yùn)行。Visual Studio無(wú)縫的鏈接到一個(gè)調(diào)試程序上,可以在該調(diào)試環(huán)境中設(shè)置斷點(diǎn),觀察變量。</p><p> 集成的MSDN幫助:Visual Studio可以在IDE中調(diào)用MSDN文檔說明。</p><p> 訪問其他程序:Visual Studio還能調(diào)用
32、許多其他工具來查看和修改計(jì)算機(jī)或網(wǎng)絡(luò)的一些內(nèi)容,而無(wú)需退出開發(fā)環(huán)境。</p><p> SQL Server 2005數(shù)據(jù)庫(kù)的概述</p><p> SQL Sevrer2005是一個(gè)C/S體系結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它使Transact—SQL語(yǔ)言在客戶和SQL Server之間發(fā)送處理請(qǐng)求,SQL Server利用C/S體系結(jié)構(gòu)把工作分成兩部分:客戶端負(fù)責(zé)邏輯處理把數(shù)據(jù)呈現(xiàn)給用戶
33、,SQL Server管理數(shù)據(jù)庫(kù)。SQL Server用Transact—SQL作為它的數(shù)據(jù)庫(kù)查詢和編程語(yǔ)言,使用Transact—SQL能夠方便地存取數(shù)據(jù)、查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)。</p><p> 第3章 系統(tǒng)方案總體設(shè)計(jì)</p><p> 系統(tǒng)設(shè)計(jì)思想及相關(guān)技術(shù)介紹</p><p><b> 系統(tǒng)架構(gòu)設(shè)計(jì)</b></p&g
34、t;<p> 首先用戶登錄,如果登陸成功系統(tǒng)檢測(cè)用戶類型,用戶類型分為兩種:普通用戶和管理員。普通用戶登錄后只能進(jìn)行在線答題和個(gè)人信息管理,在線答題時(shí)可以選擇科目,可以顯示和隱藏答案提示,模塊測(cè)試后可以重做答錯(cuò)的題。</p><p> 管理員身份登錄功能較多,除了可以在線答題外,還可以進(jìn)行科目管理、試題管理和用戶管理,科目管理包括增加、刪除、修改科目,試題管理同樣是增、刪、改操作;用戶管理中只能
35、刪除和修改用戶信息,增加用戶在注冊(cè)用戶功能中完成。</p><p> 圖3-1在線考試系統(tǒng)功能框架</p><p> 系統(tǒng)總體模塊功能設(shè)計(jì)</p><p> 經(jīng)過對(duì)整個(gè)系統(tǒng)的分析,可以得出以下功能模塊,如圖3-3所示:</p><p> 登陸者模塊:面向登陸者??梢韵冗M(jìn)行注冊(cè),再實(shí)現(xiàn)登錄功能,進(jìn)而進(jìn)行在線考試。</p>
36、<p> 管理員模塊:面向管理員。可以對(duì)考題進(jìn)行添加、刪除、修改和更新功能;可以進(jìn)行答題的測(cè)試;科目的管理;題庫(kù)的管理;以及對(duì)用戶的管理。</p><p> 圖3-3 功能模塊圖</p><p> 第4章 數(shù)據(jù)庫(kù)的設(shè)計(jì)</p><p><b> 4.1 引言</b></p><p> 數(shù)據(jù)庫(kù)是一個(gè)應(yīng)用
37、系統(tǒng)的核心,數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞直接關(guān)系到應(yīng)用系統(tǒng)的執(zhí)行效率,數(shù)據(jù)的一致性和完整性,設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)該首先充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來可能增加的需求,數(shù)據(jù)庫(kù)設(shè)計(jì)一般包括以下幾個(gè)步驟:</p><p><b> 數(shù)據(jù)庫(kù)需求分析</b></p><p><b> 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</b></p><p>
38、<b> 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p><b> 數(shù)據(jù)庫(kù)需求分析</b></p><p> 數(shù)據(jù)庫(kù)需求分析就是要了解在這個(gè)應(yīng)用系統(tǒng)中,用戶需要查詢、更新、刪除和保存哪些數(shù)據(jù),收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。</p><p> 通在線考試系統(tǒng)的
39、數(shù)據(jù)庫(kù)管理要進(jìn)行各種各樣的數(shù)據(jù)輸入和導(dǎo)出,提供各類信息的添加、刪除、修改和更新等功能。通過上述對(duì)系統(tǒng)的設(shè)計(jì)分析,根據(jù)在線考試系統(tǒng)的需求,共需設(shè)計(jì)以下五種信息:</p><p> ?。?)用戶注冊(cè)信息。</p><p> ?。?)科目管理信息。</p><p> ?。?)試題管理信息。</p><p> ?。?)用戶管理信息。</p>
40、;<p> (5)個(gè)人信息管理。</p><p><b> 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</b></p><p> 等到了上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體以及實(shí)體之間的關(guān)系,為后面的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這些實(shí)體包括各種具體信息,通過相互之間的作用形成數(shù)據(jù)流動(dòng)。</p><p><b>
41、; 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p> 通過調(diào)查分析各種資料,根據(jù)本管理系統(tǒng)用戶需要操作和處理的各種數(shù)據(jù),對(duì)數(shù)據(jù)表進(jìn)行了分析。確定在數(shù)據(jù)庫(kù)中存儲(chǔ)的各種數(shù)據(jù)之間的關(guān)系以及數(shù)據(jù)類型,列舉出部分?jǐn)?shù)據(jù)表的關(guān)系如下:</p><p> 1. 用戶信息表(User)包括的數(shù)據(jù)項(xiàng)有: 用戶名、密碼、性別、身份證號(hào)碼、電子郵箱、角色編號(hào)等。(如表4-1所示)</p>
42、<p><b> 表4-1用戶信息表</b></p><p> 角色表(Role)中的字段有角色編號(hào)、角色名。(如表4-2所示)</p><p> 表4-2 2. 角色表</p><p> ?。–ourse)中的字段有課程編號(hào)和課程名以及兩個(gè)備用字段。(如圖4-3所示)</p><p> 表4-3
43、課程表角色表</p><p> 試題表(question)中的字段有題號(hào)、課程編號(hào)、題干、A答案、B答案、C答案、D答案、正確答案。(如表4-4所示)</p><p><b> 表4-4 角色表</b></p><p> 第5章 界面設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 主頁(yè)設(shè)計(jì)</b>&l
44、t;/p><p> 5.1.1 實(shí)現(xiàn)目標(biāo)</p><p> 程序啟動(dòng)后,進(jìn)入登陸窗體,用戶輸入用戶名和密碼,然后進(jìn)行登錄。同時(shí)可以按下取消按鈕退出本系統(tǒng),登錄界面模塊中主要實(shí)現(xiàn)如下功能:</p><p> ?。?)可進(jìn)行選擇用戶身份,支持鼠標(biāo)操作。</p><p> ?。?)用戶名和密碼驗(yàn)證成功后,進(jìn)入主界面。</p><
45、p> ?。?)用戶名錯(cuò)誤或密碼錯(cuò)誤提醒并返回輸入有誤。</p><p><b> 5-1主頁(yè)面</b></p><p> 5.1.2 登錄窗口</p><p><b> 5-2 登錄窗口</b></p><p> 在登錄過程中,系統(tǒng)會(huì)首先根據(jù)畫面上用戶輸入的內(nèi)容進(jìn)行驗(yàn)證檢查,相關(guān)代碼如
46、下:</p><p> string conn = ConfigurationManager.ConnectionStrings["WebTestConnectionString"].ConnectionString;</p><p> protected void txtRegist_Click(object sender, EventArgs e)</p&
47、gt;<p><b> {</b></p><p> Response.Redirect("Regist.aspx");</p><p><b> }</b></p><p> protected void txtLogin_Click(object sender, EventAr
48、gs e)</p><p><b> {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> string strSql = "select count(*) from [user] where userName = '"<
49、/p><p> + txtName.Text + "' and password = '" + this.txtPassword.Text + "'";</p><p> SqlCommand com = new SqlCommand(strSql, con);</p><p> con.Open()
50、;</p><p> int num = (int)com.ExecuteScalar();</p><p> if (num == 0)</p><p><b> {</b></p><p> Response.Write("<script language='javascript
51、9;>alert('密碼錯(cuò)誤!');</script>");</p><p><b> return;</b></p><p><b> }</b></p><p> strSql = "select roleID from [user] where userNa
52、me = '" + txtName.Text + "'";</p><p><b> try</b></p><p><b> {</b></p><p> com.CommandText = strSql;</p><p> SqlDataRe
53、ader sdr = com.ExecuteReader();</p><p> if (sdr.Read())</p><p><b> {</b></p><p> string s = sdr["roleID"].ToString();</p><p> Session["ro
54、leID"] = s;</p><p> Session["userName"] = txtName.Text;</p><p> Session["userPassword"] = txtPassword.Text;</p><p><b> }</b></p><p
55、> sdr.Close();</p><p><b> }</b></p><p> catch (SqlException ex)</p><p><b> {</b></p><p> Response.Write(ex.ToString());</p><p
56、><b> }</b></p><p><b> finally</b></p><p><b> {</b></p><p> con.Close();</p><p><b> }</b></p><p> R
57、esponse.Redirect("Main.aspx");</p><p> 如果驗(yàn)證通過,系統(tǒng)會(huì)連接數(shù)據(jù)庫(kù),進(jìn)行數(shù)據(jù)正確性以及用戶權(quán)限的檢查,以上檢查成功的情況下,就會(huì)進(jìn)入本系統(tǒng)的主窗體,如果失敗,跳出錯(cuò)誤提示框。</p><p> 5.1.3 注冊(cè)窗口</p><p><b> 圖5-3 注冊(cè)窗口</b><
58、/p><p> 在注冊(cè)過程中,系統(tǒng)會(huì)自動(dòng)檢查用戶注冊(cè)的信息是否合法,相關(guān)代碼如下:</p><p> string conn = ConfigurationManager.ConnectionStrings["WebTestConnectionString"].ConnectionString;</p><p> protected void
59、btnOK_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> string strSql = "select count(*) from [user
60、] where userName = '" + txtName.Text + "'";</p><p> SqlCommand com = new SqlCommand(strSql, con);</p><p> con.Open();</p><p> int num = (int)com.ExecuteSca
61、lar();</p><p> if (num > 0)</p><p><b> {</b></p><p> Response.Write("<script language='javascript'>alert('表中存在記錄!');</script>"
62、;);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> string name = txtName.Text;</p><p> string passw
63、ord = this.txtPassword.Text;</p><p> string sex = "男";</p><p> if (this.rbtnFemail.Checked)</p><p><b> {</b></p><p> sex = "女";</
64、p><p><b> }</b></p><p> string identity = txtIdentity.Text.ToString();</p><p> string email = this.txtMail.Text.ToString();</p><p> strSql = "insert i
65、nto [user](userName, password, sex, userIdentity, email,roleID) values('" + name + "','" + password + "','" + sex + "','" + identity + "','"
66、;</p><p> + email + "',1)";</p><p> com = new SqlCommand(strSql, con);</p><p> com.ExecuteNonQuery();</p><p> con.Close();</p><p> Respo
67、nse.Write("<script language='javascript'>alert('注冊(cè)成功!返回登錄頁(yè)面');</script>");</p><p><b> //返回登陸頁(yè)面</b></p><p> Response.Redirect("Login.aspx&
68、quot;);</p><p><b> }</b></p><p><b> }</b></p><p> protected void btnCancel_Click(object sender, EventArgs e)</p><p><b> {</b><
69、;/p><p> Response.Redirect("Login.aspx");</p><p><b> }</b></p><p> 主要界面設(shè)計(jì)—用戶登錄信息畫面</p><p> 5.2.1 實(shí)現(xiàn)目標(biāo)</p><p> 程序啟動(dòng)后,登錄進(jìn)入在線答題窗體,在管理模
70、塊中主要實(shí)現(xiàn)如下功能:</p><p> ?。?)檢索當(dāng)前啟用的組織結(jié)構(gòu)相關(guān)的部門及員工信息。</p><p> ?。?)對(duì)登陸者個(gè)人信息的管理。</p><p> ?。?)對(duì)基本信息進(jìn)行登錄和修改操作。</p><p> (4)考試科目即考試內(nèi)容建立。</p><p> ?。?)對(duì)考試信息的查詢。</p>
71、;<p><b> 5.2.2 主界面</b></p><p> 圖5-4 在線考試主界面</p><p> 本界面為主操作界面。管理員通過登錄界面的驗(yàn)證后,方能進(jìn)入此界面。</p><p> 此畫面可以進(jìn)行考試各類信息的添加,更新和刪除,以及用戶信息查詢等功能。</p><p><b>
72、 點(diǎn)擊顯示答案后:</b></p><p> 圖5-5 答題測(cè)試界面</p><p><b> 相關(guān)主代碼如下:</b></p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {</b&g
73、t;</p><p> if (!this.IsPostBack)</p><p><b> {</b></p><p> BindSubjectName();</p><p><b> Bind();</b></p><p><b> }</b&g
74、t;</p><p><b> }</b></p><p> string conn = ConfigurationManager.ConnectionStrings["WebTestConnectionString"].ConnectionString;</p><p> private void BindSubje
75、ctName()</p><p><b> {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter("select * from course", con);
76、</p><p> DataSet ds = new DataSet();</p><p> sda.Fill(ds, "table");</p><p> ddlQuestionName.DataSource = ds.Tables["table"];</p><p> ddlQuestion
77、Name.DataTextField = "courseName";</p><p> ddlQuestionName.DataValueField = "courseID";</p><p> ddlQuestionName.DataBind();</p><p><b> }</b></p
78、><p> private void Bind()</p><p><b> {</b></p><p> string str = ddlQuestionName.SelectedItem.Text.ToString();</p><p> string sql = "select q.* from qu
79、estion q,course c where q.courseID = c.courseID and c.courseName = '" + str + "'";</p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new
80、SqlDataAdapter(sql, con);</p><p> DataSet ds = new DataSet();</p><p> sda.Fill(ds, "table");</p><p> DataList1.DataKeyField = "questionID";</p><p&g
81、t; DataList1.DataSource = ds.Tables["table"];</p><p> DataList1.DataBind();</p><p><b> }</b></p><p> protected void btnShowAnswer_Click(object sender, Even
82、tArgs e)</p><p><b> {</b></p><p> if (btnShowAnswer.Text == "顯示答案")</p><p><b> {</b></p><p> for (int i = 0; i < DataList1.Item
83、s.Count; i++)</p><p><b> {</b></p><p> ((Label)(DataList1.Items[i].FindControl("lblAnswer"))).Visible = true;</p><p><b> }</b></p><p&
84、gt; btnShowAnswer.Text = "隱藏答案";</p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p><p> for (int i = 0; i <
85、; DataList1.Items.Count; i++)</p><p><b> {</b></p><p> ((Label)(DataList1.Items[i].FindControl("lblAnswer"))).Visible = false;</p><p><b> }</b>&
86、lt;/p><p> btnShowAnswer.Text = "顯示答案";</p><p><b> }</b></p><p><b> }</b></p><p> protected void ddlQuestionName_SelectedIndexChanged
87、(object sender, EventArgs e)</p><p><b> {</b></p><p><b> Bind();</b></p><p><b> }</b></p><p> protected void btnFinish_Click(obj
88、ect sender, EventArgs e)</p><p><b> {</b></p><p> int count = 0;//答對(duì)的數(shù)目</p><p> for (int index = 0; index < DataList1.Items.Count; index++)</p><p><
89、;b> {</b></p><p> string labelStr = ((Label)(DataList1.Items[index].FindControl("lblAnswer"))).Text;</p><p> string rightAnswer = labelStr.Substring(labelStr.Length - 1);&l
90、t;/p><p> string selectedRadioButton = "";</p><p> if (((RadioButton)(DataList1.Items[index].FindControl("rbtn1"))).Checked)</p><p><b> {</b></p&g
91、t;<p> selectedRadioButton = "A";</p><p><b> }</b></p><p> else if (((RadioButton)(DataList1.Items[index].FindControl("rbtn2"))).Checked)</p><
92、;p><b> {</b></p><p> selectedRadioButton = "B";</p><p><b> }</b></p><p> else if (((RadioButton)(DataList1.Items[index].FindControl("rb
93、tn3"))).Checked)</p><p><b> {</b></p><p> selectedRadioButton = "C";</p><p><b> }</b></p><p> else if(((RadioButton)(DataList
94、1.Items[index].FindControl("rbtn4"))).Checked)</p><p><b> {</b></p><p> selectedRadioButton = "D";</p><p><b> }</b></p><p&g
95、t; if (rightAnswer == selectedRadioButton)</p><p><b> {</b></p><p> count += 1;</p><p> if (DataList1.Items[index].TabIndex >= 100)</p><p><b>
96、 {</b></p><p> DataList1.Items[index].TabIndex -= 100;</p><p><b> }</b></p><p><b> }</b></p><p><b> else </b></p>&
97、lt;p><b> {</b></p><p> DataList1.Items[index].TabIndex = (short)(100 + index);</p><p><b> }</b></p><p> this.btnRedoError.Enabled = true;</p>&
98、lt;p><b> }</b></p><p> lblResult.Text = "答對(duì)"+count+"題,錯(cuò)"+(DataList1.Items.Count-count)+"題";</p><p><b> }</b></p><p> pro
99、tected void btnRedo_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Response.Redirect("ShowQuestion.aspx");</p><p><b> }</b></p>
100、;<p> protected void btnRedoError_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> for (int index = 0; index < DataList1.Items.Count; index++)</p><p
101、><b> {</b></p><p> if (DataList1.Items[index].TabIndex < 100)</p><p><b> {</b></p><p> DataList1.Items[index].Visible = false;</p><p>
102、<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 主要界面設(shè)計(jì) —— ADDQUESTION.ASPX</p><p>
103、; 5.3.1 實(shí)現(xiàn)目標(biāo)</p><p><b> 圖5-6 科目管理</b></p><p> 當(dāng)管理員登入系統(tǒng)后,進(jìn)入信息添加頁(yè)面,需要將相關(guān)考試信息錄入考試系統(tǒng)中,方便用戶進(jìn)行考試。相關(guān)代碼如下:</p><p> private void BindQuestionName()</p><p><b&
104、gt; {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter("select * from Course", con);</p><p> DataSet ds =
105、 new DataSet();</p><p> sda.Fill(ds, "table");</p><p> ddlCourseName.DataSource = ds.Tables["table"];</p><p> ddlCourseName.DataTextField = "courseName&q
106、uot;;</p><p> ddlCourseName.DataValueField = "courseID";</p><p> ddlCourseName.DataBind();</p><p><b> }</b></p><p> protected void GridView1_R
107、owEditing(object sender, GridViewEditEventArgs e)</p><p><b> {</b></p><p> string courseID = ddlCourseName.SelectedValue.ToString();</p><p> string questionID = GridV
108、iew1.Rows[e.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
109、.NewEditIndex].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].
110、Text.ToString().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()
111、.Trim();</p><p> //UpdateQuestion question = new UpdateQuestion(questionID, courseID, questionContent, a1, a2, a3, a4, rightAnswer);</p><p> string str = "AddQuestion.aspx?courseID="
112、 + courseID + "&questionID=" + questionID + "&questionContent=" + questionContent + "&a1=" + a1 + "&a2=" + a2 + "&a3=" + a3 + "&a4=" + a
113、4 + "&rightAnswer=" + rightAnswer;</p><p> Response.Redirect(str);</p><p><b> }</b></p><p> 主要界面設(shè)計(jì) —— USERMANGEMENT.ASPX</p><p> 5.4.1 實(shí)現(xiàn)目
114、標(biāo)</p><p> 圖5-7 用戶管理界面</p><p> 管理員登錄該界面后,對(duì)用戶所注冊(cè)的信息進(jìn)行核實(shí)和管理。相關(guān)重要代碼如下:</p><p> private void Bind()</p><p><b> {</b></p><p> SqlConnection con
115、= new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter("select * from [user]", con);</p><p> DataSet ds = new DataSet();</p><p> sda.Fill(ds, "
116、table");</p><p> GridView1.DataSource = ds.Tables["table"];</p><p> GridView1.DataKeyNames = new string[] { "userName" };</p><p> GridView1.DataBind();&l
117、t;/p><p><b> }</b></p><p> protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)</p><p><b> {</b></p><p> SqlConnectio
118、n con = new SqlConnection(conn);</p><p> string sqlString = "delete from [user] where userName = '"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";</p><p> Sql
119、Command com = new SqlCommand(sqlString, con);</p><p> con.Open();</p><p> com.ExecuteNonQuery();</p><p> con.Close();</p><p><b> Bind();</b></p>
120、<p><b> }</b></p><p> protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)</p><p><b> {</b></p><p> string strSql = "
121、update [user] set password ='" +</p><p> ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim()</p><p> + "',sex='" + ((TextBox)(GridVie
122、w1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim()</p><p> + "',userIdentity='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim()</p&g
123、t;<p> + "',email='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim()</p><p> +"' where userName = '"+GridView1.DataKeys[e.Ro
124、wIndex].Value.ToString()+"'";</p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlCommand com = new SqlCommand(strSql, con);</p><p> con.Open();</p&g
125、t;<p> com.ExecuteNonQuery();</p><p> con.Close();</p><p> GridView1.EditIndex = -1;</p><p><b> Bind();</b></p><p><b> }</b></p&g
126、t;<p><b> 結(jié) 論</b></p><p> 畢業(yè)設(shè)計(jì)是大專生學(xué)習(xí)階段上的一次非常難得的理論與實(shí)際相結(jié)合的機(jī)會(huì),通過這次比較完整的在線考試系統(tǒng)設(shè)計(jì),我擺脫了單純的理論知識(shí)學(xué)習(xí)狀態(tài),和實(shí)際相結(jié)合鍛煉了我綜合運(yùn)用所學(xué)知識(shí)的專業(yè)基礎(chǔ)知識(shí),解決了實(shí)際工程能力。</p><p> 雖然畢業(yè)設(shè)計(jì)內(nèi)容繁多,過程繁瑣,但我的收獲卻更加豐富。在設(shè)計(jì)過程中
127、,雖然遇到不少的挫折,至使很多處代碼運(yùn)行起來不協(xié)調(diào),常常遇到問題。但是,正因?yàn)檫@樣,我才有克服困難的機(jī)會(huì),問題各個(gè)擊破。從而鍛煉了自己對(duì)待事情的認(rèn)真和負(fù)責(zé)能力,從而也提高了獨(dú)立思考的能力。</p><p> 如期順利的完成本次畢業(yè)設(shè)計(jì)給我?guī)砹撕艽蟮男判?。讓我了解了專業(yè)知識(shí)同時(shí)也對(duì)本專業(yè)的發(fā)展充滿了希望。它讓我了解到,只有發(fā)現(xiàn)問題才能解決問題,不足和遺憾不會(huì)給我打擊只會(huì)更好的鞭策我前行。今后我回更加關(guān)注這方面的
128、知識(shí),掌握新的知識(shí),爭(zhēng)取為祖國(guó)的信息發(fā)展供一份力量。</p><p><b> 致 謝</b></p><p> 畢業(yè)設(shè)計(jì)是對(duì)我們知識(shí)能力的一次全面考核,也是對(duì)我們科學(xué)研究基本功的訓(xùn)練,培養(yǎng)我們綜合運(yùn)用所學(xué)知識(shí)獨(dú)立的分析問題和解決問題的能力,為以后撰寫專業(yè)學(xué)術(shù)論文和工作打下良好基礎(chǔ)。</p><p> 本次設(shè)計(jì)能夠順利完成,首先要感謝我
129、的母校——******學(xué)院。是她為我們提供了學(xué)習(xí)知識(shí)的土壤,使我們?cè)谶@里茁壯成長(zhǎng),其次要感謝***老師在設(shè)計(jì)工程中給予我的悉心指導(dǎo),她認(rèn)真負(fù)責(zé)的態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都是我受益匪淺。她無(wú)論在理論上還是實(shí)踐中,都給予我很大的幫助,感謝她耐心的輔導(dǎo),特在此再次表示謝意。最后要感謝相關(guān)資料的編著者和給予我們支持的社會(huì)各界人士,感謝您們?yōu)槲覀兲峁┮粋€(gè)良好的環(huán)境,使這次設(shè)計(jì)圓滿完成。</p><p> 由于
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線考試系統(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)
評(píng)論
0/150
提交評(píng)論