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

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  隨著計算機(jī)科學(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é)生考試的流程,增強(qiáng)參加考試學(xué)生的身份識別,比傳統(tǒng)的考試模式節(jié)省人力、財力和時間。</p><p>  通過考試系統(tǒng)WebExam是目前市場占有率較高,

2、應(yīng)用最廣泛的遠(yuǎn)程網(wǎng)絡(luò)學(xué)習(xí)考試軟件,適合政府、行業(yè)及企業(yè)的各專業(yè)網(wǎng)上考試、作業(yè)、練習(xí)等應(yīng)用,尤其是在學(xué)校,它采用Web方式,同時適用于局域網(wǎng)和Internet,無需安裝客戶端,即可實(shí)現(xiàn)網(wǎng)上考試、作業(yè)、練習(xí)、成績排行等功能,并能夠答卷保存、自動判分、成績查詢和分析等功能。</p><p>  在線考試系統(tǒng)利用網(wǎng)絡(luò)手段將考試資源整合,實(shí)現(xiàn)了一定程度的無紙化考試,從而使考試這項(xiàng)常規(guī)而繁瑣的任務(wù)變得更加方便。避免了以往學(xué)校

3、考試中物質(zhì)方面,例如:紙張、筆、監(jiān)考老師等資源的浪費(fèi)。后臺管理方面由專業(yè)管理人員進(jìn)行管理,確保了程序的穩(wěn)定性、安全性。登陸在線考試系統(tǒng)后臺管理,可以對考試內(nèi)容、專業(yè)、科目和考試題目等都作了詳細(xì)的分類,這樣考生通過自己的學(xué)生編號和密碼進(jìn)入前臺,按步驟依次進(jìn)行選題和答題,答題完畢后系統(tǒng)會自動判斷考卷,并核對出最后考卷的分?jǐn)?shù),解決了在學(xué)??荚嚭蟮却季矸?jǐn)?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)的功能特點(diǎn)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學(xué)生用戶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è)計與實(shí)現(xiàn)12</p><p>  5.1主頁設(shè)計12</p><p>  5.1.1實(shí)現(xiàn)目標(biāo)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實(shí)現(xiàn)目標(biāo)15</p><p>  5.2.2主界面15</p><p>  5.3主要界面設(shè)計19</p><p>  5.3.1實(shí)現(xiàn)目標(biāo)19</p><p>  5.4主要界面設(shè)計21</p><p>  5.4.1實(shí)現(xiàn)目標(biāo)21</p><p&

11、gt;  第六章 總結(jié)與展望23</p><p><b>  致 謝24</b></p><p><b>  參考文獻(xiàn)25</b></p><p><b>  第一章 緒論</b></p><p><b>  1.1課題研究背景</b></

12、p><p>  近幾年來,隨著Internet的崛起,遠(yuǎn)程教育開始發(fā)展,普及網(wǎng)絡(luò)教育的呼聲日益高漲,其勢頭不亞于電子商務(wù)。</p><p>  聯(lián)合國教科文組織1998年在其一項(xiàng)調(diào)查報告中:無論是發(fā)達(dá)國家還是發(fā)展中國家,都不同程度存在教育滯后于現(xiàn)實(shí)需要的問題,特別是第三世界國家,而普及遠(yuǎ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)行,因此考試即可以在本地進(jìn)行,也可以在異地進(jìn)行,大大拓展了考試的靈活性。試卷可以根據(jù)題庫中的內(nèi)容

14、即時生成,可避免考試前的壓題;還可以直接把成績送到數(shù)據(jù)庫中,進(jìn)行統(tǒng)計、排序等操作。所以現(xiàn)在較好的考試方法為網(wǎng)絡(luò)考試,試題內(nèi)容放在服務(wù)器上,考生通過姓名、準(zhǔn)考證號碼和口令進(jìn)行登錄,考試答案也存放在服務(wù)器中,這樣考試的公平性、答案的安全性可以得到有效的保證。因此,采用網(wǎng)絡(luò)考試方式將是以后考試發(fā)展的趨勢。</p><p>  隨著國家的開放,考試標(biāo)準(zhǔn)化也逐漸與國際接軌,現(xiàn)在比較流行的考試系統(tǒng)大致分兩種:一種使用類似高考

15、的答題卡,使用光電輸入的方法對答題卡上的客觀題進(jìn)行判分,對主觀題則進(jìn)行人工批改。另一種服務(wù)的主要對象是基于網(wǎng)絡(luò)答題的各種認(rèn)證和考試,這些考試的試卷大都以客觀題為主。</p><p>  現(xiàn)今的這些考試系統(tǒng)都不能滿足計算機(jī)學(xué)院的需要,第一種需要紙質(zhì),只能在校園內(nèi)使用,不可能應(yīng)對學(xué)生分布各地的需要。而第二種本來也是很好的選擇,但是與這種考試系統(tǒng)相配套的試題往往以客觀題居多,這與計算機(jī)學(xué)院的實(shí)際有很大的出入。由于上述與

16、計算機(jī)學(xué)院情況明顯不符的問題,照搬那些系統(tǒng)明顯不行,所以必須開發(fā)一套新的計算機(jī)學(xué)院遠(yuǎn)程在線考試系統(tǒng),同時能夠很好地支持教學(xué)改革,使學(xué)生得到更好的學(xué)習(xí)條件。</p><p>  1.2課題研究目的和意義</p><p>  隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在很多國外的大學(xué)和社會其他部門都已經(jīng)開始設(shè)了遠(yuǎn)程教育。但是,遠(yuǎn)程教育的軟件的開發(fā)目前還處于起步階段,隨著這項(xiàng)技術(shù)的不斷深入發(fā)展,就要求有更好、更

17、完善的軟件系統(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),同時,它也是最難實(shí)現(xiàn)的環(huán)節(jié)。在我國,遠(yuǎn)程教育以蓬勃發(fā)展起來。但目前學(xué)校和社會上的各種考試大都都采用傳統(tǒng)的考試方法,在此方式下,組織一次考試,要經(jīng)過五個步驟,即人工出題、考生考試、人工閱卷、成績評估和試卷分析。</p&

18、gt;<p>  顯然隨著考試類型的不斷增加和考試要求的不斷提高,教師的工作量也越來越大,可以說傳統(tǒng)的考試方法已經(jīng)不能適用于現(xiàn)代考試的需要。隨著計算機(jī)應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴(kuò)大,如遠(yuǎn)程教育和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬戶。人們迫切需要這些技術(shù)來進(jìn)行在線考試,以減輕教師的工作的負(fù)擔(dān)以及提高工作效率,與此同時提高了考試的質(zhì)量,從而使考試更趨于公正、客觀,更加激發(fā)學(xué)生的學(xué)習(xí)興趣。</p>

19、<p>  計算機(jī)學(xué)院遠(yuǎn)程在線考試系統(tǒng)的從實(shí)際需求入手,對比現(xiàn)有的在線考試系統(tǒng),借鑒現(xiàn)有系統(tǒng)先進(jìn)之處,查找現(xiàn)在系統(tǒng)的空白和不足,研究解決的途徑,從而開發(fā)出滿足需求的計算機(jī)學(xué)院遠(yuǎn)程在線考試系統(tǒng)。使得在計算機(jī)學(xué)院遠(yuǎn)程考試系統(tǒng)的幫助下,教師可輕松完成教學(xué)計劃,學(xué)生也可修得所需學(xué)分。學(xué)生不用奔波于實(shí)習(xí)地與學(xué)校之間,節(jié)省了路費(fèi)與時間,提高了效率。本系統(tǒng)能夠很好地支持教學(xué)改革,使學(xué)生得到更好的學(xué)習(xí)條件。 本系統(tǒng)還具有相當(dāng)高的應(yīng)用廣泛性,只

20、要在數(shù)據(jù)庫中添加相關(guān)信息,本系統(tǒng)可應(yīng)用于有相同需求的學(xué)院或?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)建出強(qiáng)大、安全和可靠的企業(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)過先編譯后解釋的過程,所以頁面在反復(fù)打開時速度沒有任何提升,而ASP.NET頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web

22、應(yīng)用程序重新啟動。這使得在多次訪問時速度有了極大的提升;</p><p> ?。?)由于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)用程序的實(shí)時更新,管理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器

23、或者甚至不用停止應(yīng)用程序的運(yùn)行就可以更新應(yīng)用文件。應(yīng)用程序文件永遠(yuǎn)不會被加鎖,因此甚至在程序運(yùn)行時文件就可以被覆蓋,當(dāng)文件更新后,系統(tǒng)會溫和地轉(zhuǎn)換到新的版本;</p><p> ?。?)ASP.NET采取"CodeBehind(代碼分離)技術(shù)"方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系統(tǒng)開發(fā)與維護(hù)的復(fù)雜度和費(fèi)用。</p><p><b>  2.2系

24、統(tǒng)需求分析</b></p><p>  系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)在線考試的系統(tǒng)化、規(guī)范化和自動化。</p><p>  系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的。在線考試系統(tǒng)需要完成的功能主要有:用戶的注冊和登錄;用戶在線答題;對科目進(jìn)行管理;對管理員進(jìn)行試題的管理;以及個人信息管理功能。在數(shù)據(jù)庫方面,利用關(guān)系數(shù)據(jù)庫功能強(qiáng)大的查詢語言對企業(yè)各類信息入庫保存,按要求及時處

25、理。</p><p>  該系統(tǒng)集錄入、維護(hù)、查詢、審核和各種處理為一體,各種操作可以通過菜單進(jìn)行,操作快捷、方便,性能高效、強(qiáng)大;使用易懂、易會,形象增強(qiáng)的數(shù)據(jù)處理,用戶均可根據(jù)需要自行使用。</p><p><b>  2.3系統(tǒng)概述</b></p><p>  a. 本系統(tǒng)是一個在線考試系統(tǒng),在實(shí)施過程中主要實(shí)現(xiàn)以下目標(biāo):</p&g

26、t;<p> ?。?)界面友好、美觀,體現(xiàn)在線考試系統(tǒng)的特點(diǎn),而且操作簡便。</p><p> ?。?)各功能模塊層次清晰,代碼高效易懂。</p><p> ?。?)添加和編輯簡便、清晰,提高工作效率。</p><p> ?。?)查詢方便,數(shù)據(jù)存儲安全可靠。</p><p>  (5)功能全面,實(shí)用性強(qiáng)。</p>

27、<p><b>  b. 主要功能有:</b></p><p><b> ?。?)注冊用戶模塊</b></p><p>  注冊用戶主要實(shí)現(xiàn)用戶的登錄功能和注冊功能。</p><p><b> ?。?)在線測試模塊</b></p><p>  在線測試是本系統(tǒng)的核心模

28、塊,不論是管理員還是普通用戶都可以進(jìn)行在線測試。在此頁面中,可以選擇不同的科目進(jìn)行科目測試,也可以顯示或者隱藏答案提示。</p><p><b>  (3)科目管理模塊</b></p><p>  只有管理員權(quán)限的用戶登錄才可以進(jìn)入科目管理模塊,在科目管理模塊中,除了顯示已有己。</p><p><b> ?。?)試題管理模塊<

29、/b></p><p>  只有管理員權(quán)限的用戶才可以進(jìn)入試題管理模塊。</p><p><b> ?。?)用戶管理模塊</b></p><p>  在用戶管理模塊中,管理員可以刪除用戶和修改用戶信息。該頁面沒有增加用戶功能,用戶可以自己注冊登錄。</p><p> ?。?)個人信息修改模塊</p>

30、<p>  普通用戶登陸后可以進(jìn)入個人信息修改模塊,修改個人密碼、身份證號碼和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ā)方法來實(shí)現(xiàn)此在線考試軟件,系統(tǒng)開發(fā)工具我們選擇了能夠跨平臺的開發(fā)工具Visual Studio 2008。在前臺操作與后臺數(shù)據(jù)庫處理的連接上,主要采用ADO.NET技術(shù)和SQL Server2005數(shù)據(jù)庫,運(yùn)用客戶機(jī)

32、服務(wù)器模式(C/S)配合功能強(qiáng)大的SQL查詢語言實(shí)現(xiàn)預(yù)定的功能需求。</p><p>  2.4 Visual Studio 2008的概述</p><p>  Visual Studio 2008是一個全面集成的開發(fā)環(huán)境,用于編寫,調(diào)試代碼,把代碼編譯為程序集進(jìn)行發(fā)布,實(shí)際上,Visual Studio 提供了非常專業(yè)的多文檔界面應(yīng)用程序,在該應(yīng)用程序中可以進(jìn)行與開發(fā)代碼相關(guān)的任何操作,

33、它提供了:</p><p>  文本編輯器:在文本編輯器中,可以編寫C#代碼(以及VB 2005,J#和C++代碼)。這個文本編輯器相當(dāng)復(fù)雜。</p><p>  代碼的設(shè)計視圖編輯器:它可以在項(xiàng)目中可視化的放置用戶界面和數(shù)據(jù)訪問控件。此時Visual Studio會自動在源文件中添加必要的C#代碼,在項(xiàng)目中實(shí)例化這些控件。</p><p>  支持窗口:它們可以查

34、看修改項(xiàng)目的各個方面。也可以使用這些窗口指定編譯選項(xiàng)。</p><p>  在環(huán)境中編譯:可以只選擇一個菜單選項(xiàng)編譯項(xiàng)目,而不必在命令行上運(yùn)行C#編譯器。Visual Studio會調(diào)用C#編譯器。</p><p>  集成的調(diào)試程序:編程的本質(zhì)是代碼在第一次運(yùn)行時,一般不會正確執(zhí)行。也許在第二次、第三次才能正確運(yùn)行。Visual Studio無縫的鏈接到一個調(diào)試程序上,可以在該調(diào)試環(huán)境中

35、設(shè)置斷點(diǎn),觀察變量。</p><p>  集成的MSDN幫助:Visual Studio可以在IDE中調(diào)用MSDN文檔說明。</p><p>  訪問其他程序:Visual Studio還能調(diào)用許多其他工具來查看和修改計算機(jī)或網(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)把工作分成兩部分:客戶端負(fù)責(zé)邏輯處理把數(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)檢測用戶類型,用戶類型分為兩種:普通用戶和管理員。普通用戶登錄后只能進(jìn)行在線答題和個人信息管理,在線答題時可以選擇科目,可以顯示和隱藏答案提示,模塊測

38、試后可以重做答錯的題。</p><p>  管理員身份登錄功能較多,除了可以在線答題外,還可以進(jìn)行科目管理、試題管理和用戶管理,科目管理包括增加、刪除、修改科目,試題管理同樣是增、刪、改操作;用戶管理中只能刪除和修改用戶信息,增加用戶在注冊用戶功能中完成。</p><p>  圖3-1在線考試系統(tǒng)功能框架</p><p>  3.1.2 系統(tǒng)的功能特點(diǎn)</p&

39、gt;<p>  系統(tǒng)的功能所具備的特點(diǎn):操作簡單方便、界面簡潔美觀;具有嚴(yán)肅性和公正性,系統(tǒng)提供自動交卷功能;提供考試時間倒計時功能;系統(tǒng)自動交卷閱卷,保證成績真實(shí)準(zhǔn)確;考生可隨時查看考試成績;對考生注冊信息進(jìn)行管理。</p><p>  3.1.3系統(tǒng)總體模塊功能設(shè)計</p><p>  經(jīng)過對整個系統(tǒng)的分析,可以得出以下功能模塊,如圖3-2所示:</p>

40、<p> ?。?)登陸者模塊:面向登陸者??梢韵冗M(jìn)行注冊,再實(shí)現(xiàn)登錄功能,進(jìn)而進(jìn)行在線考試。</p><p>  (2)管理員模塊:面向管理員??梢詫碱}進(jìn)行添加、刪除、修改和更新功能;可以進(jìn)行答題的測試;科目的管理;題庫的管理;以及對用戶的管理。</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學(xué)生用戶</b>&l

42、t;/p><p>  學(xué)生用戶的用例只有在線考試。學(xué)生用戶的用例圖如圖3-4所示。</p><p>  圖3-4學(xué)生用戶用例圖</p><p><b>  3.2.3管理員</b></p><p>  管理員的用例包括安排出卷教師、安排審卷教師、安排考試時間、安排判卷教師、管理考試試卷、管理學(xué)生答卷和管理基本信息。管理員的用

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ù)庫管理要進(jìn)行各種各樣的數(shù)據(jù)輸入和導(dǎo)出,提供各類信息的添加、刪除、修改和更新等功能。通過上述對系統(tǒng)的設(shè)計分析,根據(jù)在線考試系統(tǒng)的需求,共需設(shè)計以下五種信息:&l

46、t;/p><p> ?。?)用戶注冊信息。</p><p> ?。?)科目管理信息。</p><p> ?。?)試題管理信息。</p><p> ?。?)用戶管理信息。</p><p> ?。?)個人信息管理。</p><p>  4.3數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</p><p> 

47、 等到了上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出能夠滿足用戶需求的各種實(shí)體以及實(shí)體之間的關(guān)系,為后面的數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這些實(shí)體包括各種具體信息,通過相互之間的作用形成數(shù)據(jù)流動。</p><p>  4.4數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><p>  通過調(diào)查分析各種資料,根據(jù)本管理系統(tǒng)用戶需要操作和處理的各種數(shù)據(jù),對數(shù)據(jù)表進(jìn)行了分析。確定在數(shù)據(jù)庫中存儲的各種數(shù)據(jù)之間的關(guān)系以及數(shù)據(jù)類型

48、,列舉出部分?jǐn)?shù)據(jù)表的關(guān)系如下:</p><p>  (1) 用戶信息表(User)包括的數(shù)據(jù)項(xiàng)有: 用戶名、密碼、性別、身份證號碼、電子郵箱、角色編號等。(如表4.1所示)</p><p><b>  表4.1用戶信息表</b></p><p><b>  (續(xù)表4.1)</b></p><p> 

49、 (2)角色表(Role)中的字段有角色編號、角色名。(如表4.2所示)</p><p><b>  表4. 2 角色表</b></p><p> ?。?)(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> ?。ɡm(xù)表4.4)</b></p><p><b>  表4.4 角色表</b></p><p>

51、;  第五章 界面設(shè)計與實(shí)現(xiàn)</p><p><b>  5.1主頁設(shè)計</b></p><p><b>  5.1.1實(shí)現(xiàn)目標(biāo)</b></p><p>  程序啟動后,進(jìn)入登陸窗體,用戶輸入用戶名和密碼,然后進(jìn)行登錄。同時可以按下取消按鈕退出本系統(tǒng),登錄界面模塊中主要實(shí)現(xiàn)如下功能:</p><p&g

52、t; ?。?)可進(jìn)行選擇用戶身份,支持鼠標(biāo)操作。</p><p> ?。?)用戶名和密碼驗(yàn)證成功后,進(jìn)入主界面。</p><p>  (3)用戶名錯誤或密碼錯誤提醒并返回輸入有誤。</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)容進(jìn)行驗(yàn)證檢查,相關(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>  如果驗(yàn)證通過,系統(tǒng)會連接數(shù)據(jù)庫,進(jìn)行數(shù)據(jù)正確性以及用戶權(quán)限的檢查,以上檢查成功的情況下,就會進(jì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實(shí)現(xiàn)目標(biāo)</b></p><p>  程序啟動后,登錄進(jìn)入在線答題窗體,在管理模塊中主要實(shí)現(xiàn)如下功能:</p><p> ?。?)檢索當(dāng)前啟用的組織結(jié)構(gòu)相關(guān)的部門及員工信息。</p><p> ?。?)對登陸者個人信息的管理。</p>

79、<p> ?。?)對基本信息進(jìn)行登錄和修改操作。</p><p>  (4)考試科目即考試內(nèi)容建立。</p><p>  (5)對考試信息的查詢。</p><p><b>  5.2.2主界面</b></p><p>  圖5-4 在線考試主界面</p><p>  本界面為主操作界面

80、。管理員通過登錄界面的驗(yàn)證后,方能進(jìn)入此界面。</p><p>  此畫面可以進(jìn)行考試各類信息的添加,更新和刪除,以及用戶信息查詢等功能。</p><p>  圖5-5 在線考試主界面</p><p><b>  點(diǎn)擊顯示答案后:</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實(shí)現(xiàn)目標(biāo)</b&g

112、t;</p><p><b>  圖5-7 科目管理</b></p><p>  當(dāng)管理員登入系統(tǒng)后,進(jìn)入信息添加頁面,需要將相關(guān)考試信息錄入考試系統(tǒng)中,方便用戶進(jìn)行考試。相關(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實(shí)現(xiàn)目標(biāo)</b></p><p>  圖5-8 用戶管理界面</p><p>  管理員登錄該界面后,對用戶所注冊的信息進(jìn)行核實(shí)和管理。相關(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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論