在線考試系統(tǒng)畢業(yè)論文_第1頁
已閱讀1頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  隨著計(jì)算機(jī)科學(xué)技術(shù)的高速發(fā)展,信息技術(shù)已經(jīng)應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域。網(wǎng)絡(luò)考試系統(tǒng)正是迎合這一技術(shù)開發(fā)的,該系統(tǒng)本著減輕教師工作負(fù)擔(dān)、提高工作效率、優(yōu)化學(xué)生考試的流程,增強(qiáng)參加考試學(xué)生的身份識(shí)別,比傳統(tǒng)的考試模式節(jié)省人力、財(cái)力和時(shí)間。</p><p>  本系統(tǒng)基于Microsoft .Net 等技

2、術(shù)設(shè)計(jì)開發(fā),實(shí)現(xiàn)了在線考試的基本部分,已具有多用戶同時(shí)在線考試、自動(dòng)判卷、人工判卷、試題錄入、考生分配、考生管理、教師管理、管理員管理、成績(jī)查詢等重要功能。也就是說實(shí)現(xiàn)了真正的無紙化考試,滿足任何授權(quán)的考生在規(guī)定的考試時(shí)間內(nèi)進(jìn)行考試與獲取成績(jī)。通過網(wǎng)絡(luò)來實(shí)現(xiàn)在線考試, 是信息化技術(shù)的一個(gè)具體實(shí)現(xiàn), 具有很重要的現(xiàn)實(shí)意義。實(shí)現(xiàn)測(cè)試的客觀性、公正性, 自動(dòng)化組卷、閱卷可以減輕教師的工作強(qiáng)度。</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è)計(jì)6</p><p>  1. 系統(tǒng)架構(gòu)設(shè)計(jì)6</p><p>  2. 系統(tǒng)總體模塊功能設(shè)計(jì)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è)計(jì)9</p><p>  3. 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)9&

13、lt;/p><p>  第五章 界面設(shè)計(jì)與實(shí)現(xiàn)11</p><p>  1. 主頁設(shè)計(jì)11</p><p>  1.1 實(shí)現(xiàn)目標(biāo)11</p><p>  1.2 登錄窗口11</p><p>  1.3 注冊(cè)窗口13</p><p>  2. 主要界面設(shè)計(jì)—用戶登錄信息畫面14<

14、/p><p>  2.1 實(shí)現(xiàn)目標(biāo)14</p><p>  2.2 主界面代碼設(shè)計(jì)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>  參考文獻(xiàn)25</b></p><p>  致謝 …………………………………………………………………………………26</p><p><b>  前 言</b></p><p>  隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在很多國(guó)外的大學(xué)和社會(huì)其他部門都已經(jīng)開設(shè)了遠(yuǎn)程教育,通過計(jì)算

16、機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)異地教育和培訓(xùn)?,F(xiàn)在,計(jì)算機(jī)硬件技術(shù)的發(fā)展 已經(jīng)達(dá)到了相當(dāng)高的水平。但是,遠(yuǎn)程教育軟件的開發(fā)目前還處于起步階段,隨著這項(xiàng)技術(shù)的不斷深入發(fā)展,就要求有更好、更完善的軟件系統(tǒng)應(yīng)用到遠(yuǎn)程教育當(dāng)中去,這就給軟件設(shè)計(jì)人員提出了更高的設(shè)計(jì)要求。</p><p>  遠(yuǎn)程教育包括很多環(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)程教育已經(jīng)蓬勃

17、發(fā)展起來,但是目前學(xué)校和社會(huì)上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試至少要經(jīng)過五個(gè)步驟,即人工出題、考生考試、人工閱卷、成績(jī)?cè)u(píng)定和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會(huì)越來越大,并且其工作將是一件十分煩瑣和非常容易出錯(cuò)的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。而計(jì)算機(jī)應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用的不斷擴(kuò)大,使人們迫切要求利用這些技術(shù)來進(jìn)行在線考試,以減輕教師的工作負(fù)擔(dān)及

18、提高工作效率,與此同時(shí)也提高了考試的質(zhì)量,從而使考試更趨于公正、客觀,更加激發(fā)學(xué)生的學(xué)習(xí)興趣。例如,目前許多國(guó)際著名的計(jì)算機(jī)公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式。</p><p>  為了適應(yīng)新形勢(shì)的發(fā)展,本文基于B/S模式,結(jié)合功能強(qiáng)大的Dreamweaver MX網(wǎng)頁設(shè)計(jì)工具,以SQL-SERVER作為后臺(tái)數(shù)據(jù)庫,采用內(nèi)嵌HTML語言的ASP(Active Server Pages)編程技術(shù)開發(fā)了無紙

19、化網(wǎng)上考試系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了對(duì)題庫和考生的自由管理,可自動(dòng)生成試卷、自動(dòng)判卷,以及完成相關(guān)的系統(tǒng)維護(hù)。其中,系統(tǒng)維護(hù)主要包括題庫管理、考生管理、新聞發(fā)布、科目管理和考試計(jì)劃管理。</p><p>  網(wǎng)上遠(yuǎn)程考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  第一章 緒論</b></p><p><b>  1. 課題研究背景<

20、/b></p><p>  近幾年來,隨著Internet的崛起,遠(yuǎn)程教育開始發(fā)展,普及網(wǎng)絡(luò)教育的呼聲日益高漲,其勢(shì)頭不亞于電子商務(wù)的發(fā)展。中國(guó)的網(wǎng)絡(luò)教育也隨Internet的發(fā)展而同步增長(zhǎng),同時(shí),網(wǎng)絡(luò)教育也為中國(guó)的教育事業(yè)開辟了新的天地。</p><p>  在網(wǎng)絡(luò)技術(shù)逐漸滲入社會(huì)生活各個(gè)層面的今天,傳統(tǒng)的考試方式也面臨著變革,而網(wǎng)絡(luò)考試則是一個(gè)很重要的方向?;赪eb技術(shù)的網(wǎng)絡(luò)考

21、試系統(tǒng)可以借助于遍布全球的Internet進(jìn)行,因此考試即可以在本地進(jìn)行,也可以在異地進(jìn)行,大大拓展了考試的靈活性。試卷可以根據(jù)題庫中的內(nèi)容即時(shí)生成,可避免考試前的壓題;還可以直接把成績(jī)送到數(shù)據(jù)庫中,進(jìn)行統(tǒng)計(jì)、排序等操作。所以現(xiàn)在較好的考試方法為網(wǎng)絡(luò)考試,試題內(nèi)容放在服務(wù)器上,考生通過姓名、準(zhǔn)考證號(hào)碼和口令進(jìn)行登錄,考試答案也存放在服務(wù)器中,這樣考試的公平性、答案的安全性可以得到有效的保證。因此,采用網(wǎng)絡(luò)考試方式將是以后考試發(fā)展的趨勢(shì)。

22、</p><p>  隨著國(guó)家的開放,考試標(biāo)準(zhǔn)化也逐漸與國(guó)際接軌,現(xiàn)在比較流行的考試系統(tǒng)大致分兩種:一種使用類似高考的答題卡,使用光電輸入的方法對(duì)答題卡上的客觀題進(jìn)行判分,對(duì)主觀題則進(jìn)行人工批改。另一種服務(wù)的主要對(duì)象是基于網(wǎng)絡(luò)答題的各種認(rèn)證和考試,這些考試的試卷大都以客觀題為主。</p><p>  現(xiàn)今的這些考試系統(tǒng)都不能滿足軟件學(xué)院的需要,第一種需要紙質(zhì),只能在校園內(nèi)使用,不可能應(yīng)對(duì)學(xué)

23、生分布各地的需要。而第二種本來也是很好的選擇,但是與這種考試系統(tǒng)相配套的試題往往以客觀題居多,這與軟件學(xué)院的實(shí)際有很大的出入。由于上述與軟件學(xué)院情況明顯不符的問題,照搬那些系統(tǒng)明顯不行,所以必須開發(fā)一套新的軟件學(xué)院遠(yuǎn)程在線考試系統(tǒng),同時(shí)能夠很好地支持教學(xué)改革,使學(xué)生得到更好的學(xué)習(xí)條件。</p><p><b>  課題研究目的和意義</b></p><p>  隨著網(wǎng)

24、絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在很多國(guó)內(nèi)外的大學(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)程教育包括很多環(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ā)展起

25、來。但目前學(xué)校和社會(huì)上的各種考試大都都采用傳統(tǒng)的考試方法,在此方式下,組織一次考試,要經(jīng)過五個(gè)步驟,即人工出題、考生考試、人工閱卷、成績(jī)?cè)u(píng)估和試卷分析。</p><p>  顯然隨著考試類型的不斷增加和考試要求的不斷提高,教師的工作量也越來越大,可以說傳統(tǒng)的考試方法已經(jīng)不能適用于現(xiàn)代考試的需要。隨著計(jì)算機(jī)應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴(kuò)大,如遠(yuǎn)程教育和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬戶。人們迫切需要

26、這些技術(shù)來進(jìn)行在線考試,以減輕教師的工作的負(fù)擔(dān)以及提高工作效率,與此同時(shí)提高了考試的質(zhì)量,從而使考試更趨于公正、客觀,更加激發(fā)學(xué)生的學(xué)習(xí)興趣。</p><p>  軟件學(xué)院遠(yuǎn)程在線考試系統(tǒng)的從實(shí)際需求入手,對(duì)比現(xiàn)有的在線考試系統(tǒng),借鑒現(xiàn)有系統(tǒng)先進(jìn)之處,查找現(xiàn)在系統(tǒng)的空白和不足,研究解決的途徑,從而開發(fā)出滿足需求的軟件學(xué)院遠(yuǎn)程在線考試系統(tǒng)。使得在軟件學(xué)院遠(yuǎn)程考試系統(tǒng)的幫助下,教師可輕松完成教學(xué)計(jì)劃,學(xué)生也可修得所需

27、學(xué)分。學(xué)生不用奔波于實(shí)習(xí)地與學(xué)校之間,節(jié)省了路費(fèi)與時(shí)間,提高了效率。本系統(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ù)是實(shí)現(xiàn)在線考試的系統(tǒng)化、規(guī)范化和自動(dòng)化[2]。</p><p>  系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的。在線考試系統(tǒng)需要完成的功能主要有:用戶的注冊(cè)和登錄;用戶在線答題;對(duì)科目進(jìn)行管理;對(duì)管理員進(jìn)行試題的管理;以及個(gè)人信息管理功能。在數(shù)據(jù)庫方面,利用關(guān)系數(shù)據(jù)庫功能強(qiáng)大的查詢語言對(duì)企業(yè)各類信息入庫保存,按要求及時(shí)處理。</p><p>  該系統(tǒng)集錄入、維護(hù)、查詢、審

29、核和各種處理為一體,各種操作可以通過菜單進(jìn)行,操作快捷、方便,性能高效、強(qiáng)大;使用易懂、易會(huì),形象增強(qiáng)的數(shù)據(jù)處理,用戶均可根據(jù)需要自行使用。</p><p><b>  2. 系統(tǒng)概述</b></p><p>  本系統(tǒng)是一個(gè)在線考試系統(tǒng),在實(shí)施過程中主要實(shí)現(xiàn)以下功能[3]:</p><p><b> ?。?)注冊(cè)用戶模塊</b

30、></p><p>  注冊(cè)用戶主要實(shí)現(xiàn)用戶的登錄功能和注冊(cè)功能。</p><p><b> ?。?)在線測(cè)試模塊</b></p><p>  在線測(cè)試是本系統(tǒng)的核心模塊,不論是管理員還是普通用戶都可以進(jìn)行在線測(cè)試。在此頁面中,可以選擇不同的科目進(jìn)行科目測(cè)試,也可以顯示或者隱藏答案提示。</p><p><b

31、> ?。?)科目管理模塊</b></p><p>  只有管理員權(quán)限的用戶登錄才可以進(jìn)入科目管理模塊,在科目管理模塊中,除了顯示已有己。</p><p><b>  (4)用戶管理模塊</b></p><p>  在用戶管理模塊中,管理員可以刪除用戶和修改用戶信息。該頁面沒有增加用戶功能,用戶可以自己注冊(cè)登錄。</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等等,而用于后臺(tái)數(shù)據(jù)庫管理的DBMS也有很多,比如有Oracle、MS SQL SERVER、SYBASE、INFORMIX、DB2、VISUAL FOXPRO、ACCESS等

33、等[4]。</p><p>  本人根據(jù)指導(dǎo)老師的布置要求,采用面向?qū)ο蟮能浖_發(fā)方法來實(shí)現(xiàn)此在線考試軟件,系統(tǒng)開發(fā)工具我們選擇了能夠跨平臺(tái)的開發(fā)工具Visual Studio 2008。在前臺(tái)操作與后臺(tái)數(shù)據(jù)庫處理的連接上,主要采用ADO.NET技術(shù)和SQL Server2005數(shù)據(jù)庫,運(yùn)用客戶機(jī)服務(wù)器模式(B/S)配合功能強(qiáng)大的SQL查詢語言實(shí)現(xiàn)預(yù)定的功能需求。</p><p><

34、b>  3.1 ASP技術(shù)</b></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的語法在很大程度上與ASP兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),用于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序[5]。</p><p>  采取了ASP.NET技術(shù)

35、的系統(tǒng)在性能上有了很大的改善,主要表現(xiàn)在以下幾方面: </p><p> ?。?) 由于ASP頁面每次打開都必須經(jīng)過先編譯后解釋的過程,所以頁面在反復(fù)打開時(shí)速度沒有任何提升,而ASP.NET頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web應(yīng)用程序重新啟動(dòng)。這使得在多次訪問時(shí)速度有了極大的提升。</p><p> ?。?)由于ASP沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用AS

36、P撰寫數(shù)據(jù)庫頁面時(shí)只能借助ADO的RecordSet對(duì)象逐筆讀取記錄,而ASP.NET通過ADO.NET提供的DataGrid等數(shù)據(jù)庫元件可以直接和數(shù)據(jù)庫聯(lián)系[6]。</p><p>  (3) 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)換到新的版本&

37、lt;/p><p> ?。?)ASP.NET采取代碼分離技術(shù)方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系統(tǒng)開發(fā)與維護(hù)的復(fù)雜度和費(fèi)用。</p><p>  3.2 Visual Studio 2008的概述</p><p>  Visual Studio 2008是一個(gè)全面集成的開發(fā)環(huán)境,用于編寫,調(diào)試代碼,把代碼編譯為程序集進(jìn)行發(fā)布[7],實(shí)際上,Visual

38、Studio 提供了非常專業(yè)的多文檔界面應(yīng)用程序,在該應(yīng)用程序中可以進(jìn)行與開發(fā)代碼相關(guān)的任何操作,它提供了:</p><p>  (1) 文本編輯器:在文本編輯器中,可以編寫C#代碼(以及VB 2005,J#和C++代碼)。這個(gè)文本編輯器相當(dāng)復(fù)雜。</p><p>  (2) 代碼的設(shè)計(jì)視圖編輯器:它可以在項(xiàng)目中可視化的放置用戶界面和數(shù)據(jù)訪問控件。此時(shí)Visual Studio會(huì)自動(dòng)在源文

39、件中添加必要的C#代碼,在項(xiàng)目中實(shí)例化這些控件。</p><p>  (3) 支持窗口:它們可以查看修改項(xiàng)目的各個(gè)方面。也可以使用這些窗口指定編譯選項(xiàng)。</p><p>  (4) 在環(huán)境中編譯:可以只選擇一個(gè)菜單選項(xiàng)編譯項(xiàng)目,而不必在命令行上運(yùn)行C#編譯器。Visual Studio會(huì)調(diào)用C#編譯器。</p><p>  (5) 集成的調(diào)試程序:編程的本質(zhì)是代碼在

40、第一次運(yùn)行時(shí),一般不會(huì)正確執(zhí)行。也許在第二次、第三次才能正確運(yùn)行。Visual Studio無縫的鏈接到一個(gè)調(diào)試程序上,可以在該調(diào)試環(huán)境中設(shè)置斷點(diǎn),觀察變量。</p><p>  (6) 集成的MSDN幫助:Visual Studio可以在IDE中調(diào)用MSDN文檔說明。</p><p>  (7) 訪問其他程序:Visual Studio還能調(diào)用許多其他工具來查看和修改計(jì)算機(jī)或網(wǎng)絡(luò)的一些內(nèi)

41、容,而無需退出開發(fā)環(huán)境。</p><p>  3.3 SQL Server 2005數(shù)據(jù)庫</p><p>  SQL Sevrer2005是一個(gè)B/S體系結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),它使Transact—SQL語言在客戶和SQL Server之間發(fā)送處理請(qǐng)求,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è)計(jì)</p><p><b>  1. 系統(tǒng)架構(gòu)設(shè)計(jì)</b></p><p>  首先用戶登錄,如果登陸成功系統(tǒng)檢測(cè)用戶類型,用戶類型分為兩種:普通用戶和

43、管理員。普通用戶登錄后只能進(jìn)行在線答題和個(gè)人信息管理,在線答題時(shí)可以選擇科目,可以顯示和隱藏答案提示,模塊測(cè)試后可以重做答錯(cuò)的題。</p><p>  管理員身份登錄功能較多,除了可以在線答題外,還可以進(jìn)行科目管理、試題管理和用戶管理,科目管理包括增加、刪除、修改科目,試題管理同樣是增、刪、改操作;用戶管理中只能刪除和修改用戶信息,增加用戶在注冊(cè)用戶功能中完成。如圖 3-1為在線考試系統(tǒng)功能框架圖。</p&

44、gt;<p>  圖3-1在線考試系統(tǒng)功能框架</p><p>  2. 系統(tǒng)總體模塊功能設(shè)計(jì)</p><p>  經(jīng)過對(duì)整個(gè)系統(tǒng)的分析,可以得出以下功能模塊,如圖3-2所示:</p><p> ?。?)登陸者模塊:面向登陸者。可以先進(jìn)行注冊(cè),再實(shí)現(xiàn)登錄功能,進(jìn)而進(jìn)行在線考試。</p><p>  (2)管理員模塊:面向管理員。

45、可以對(duì)考題進(jìn)行添加、刪除、修改和更新功能;可以進(jìn)行答題的測(cè)試;科目的管理;題庫的管理;以及對(duì)用戶的管理。</p><p>  圖3-2 功能模塊圖</p><p><b>  3. 系統(tǒng)用例描述</b></p><p>  用例圖(use case diagram)以每一個(gè)參與系統(tǒng)的人員都能理解的方式列舉系統(tǒng)的業(yè)務(wù)需求,它將系統(tǒng)、子系統(tǒng)和類的行

46、為可視化,以利于所有參與人員準(zhǔn)確理解這些元素,并確保軟件的開發(fā)人員最終實(shí)現(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>  管理員的用例包括安排出卷教師、安排審卷教師、安排考試時(shí)間、安排判卷教師、管理考試試卷、管理學(xué)

48、生答卷和管理基本信息。管理員的用例圖如圖3-5所示。</p><p>  圖3-5管理員用例圖</p><p><b>  第四章 數(shù)據(jù)庫的</b></p><p>  1. 數(shù)據(jù)庫需求分析</p><p>  數(shù)據(jù)庫需求分析就是要了解在這個(gè)應(yīng)用系統(tǒng)中,用戶需要查詢、更新、刪除和保存哪些數(shù)據(jù),收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及

49、數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。</p><p>  通在線考試系統(tǒng)的數(shù)據(jù)庫管理要進(jìn)行各種各樣的數(shù)據(jù)輸入和導(dǎo)出,提供各類信息的添加、刪除、修改和更新等功能。通過上述對(duì)系統(tǒng)的設(shè)計(jì)分析,根據(jù)在線考試系統(tǒng)的需求,共需設(shè)計(jì)以下五種信息:用戶注冊(cè)信息、科目管理信息、試題管理信息、用戶管理信息、個(gè)人信息管理。</p><p>  2. 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)</p&

50、gt;<p>  等到了上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體以及實(shí)體之間的關(guān)系,為后面的數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這些實(shí)體包括各種具體信息,通過相互之間的作用形成數(shù)據(jù)流動(dòng)。</p><p>  管理員基本信息管理,顯示已錄入系統(tǒng)中的管理員基本信息,包括管理員登陸名、管理員的真實(shí)姓名、管理員的編號(hào),可實(shí)現(xiàn)對(duì)用戶基本信息的更新操作以及查詢操作。</p>&l

51、t;p>  功能描述:主要對(duì)管理員基本信息的更新和查詢。這部分信息由外部導(dǎo)入可以隨時(shí)手動(dòng)更新,但不能進(jìn)行添加、刪除、修改操作。</p><p>  學(xué)生用戶基本信息管理,顯示已錄入系統(tǒng)中的學(xué)生用戶基本信息,包括學(xué)生用戶登陸名、學(xué)生用戶的真實(shí)姓名、學(xué)生用戶的學(xué)號(hào),學(xué)生用戶所在的班級(jí)名稱,學(xué)生用戶所在的年級(jí),可實(shí)現(xiàn)對(duì)用戶基本信息的更新操作以及查詢操作[5]。</p><p>  功能描述

52、:主要對(duì)用戶基本信息的更新和查詢。這部分信息由外部導(dǎo)入可以隨時(shí)手動(dòng)更新,但不能進(jìn)行添加、刪除、修改操作。</p><p>  3. 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  通過調(diào)查分析各種資料,根據(jù)本管理系統(tǒng)用戶需要操作和處理的各種數(shù)據(jù),對(duì)數(shù)據(jù)表進(jìn)行了分析。確定在數(shù)據(jù)庫中存儲(chǔ)的各種數(shù)據(jù)之間的關(guān)系以及數(shù)據(jù)類型,列舉出部分?jǐn)?shù)據(jù)表的關(guān)系如下:</p><p><b&

53、gt; ?。?)用戶信息表</b></p><p>  用戶信息表包括的數(shù)據(jù)項(xiàng)有: 用戶名、密碼、性別、身份證號(hào)碼、電子郵箱、角色編號(hào)等,如表4-1所示。</p><p><b>  表4-1用戶信息表</b></p><p><b> ?。?)角色表</b></p><p>  角色表

54、包含的字段有角色編號(hào)、角色名,如表4-2所示。</p><p><b>  表4-2 角色表</b></p><p><b> ?。?)課程表</b></p><p>  課程表中的字段有課程編號(hào)和課程名以及兩個(gè)備用字段, 在本系統(tǒng)中共設(shè)置管理員、教師和學(xué)生三個(gè)角色。可在studio 2005 中設(shè)置登錄角色的安全設(shè)置。如

55、圖4-3所示。</p><p>  表4-3 課程表角色表</p><p><b> ?。?)試題表</b></p><p>  試題表中的字段有題號(hào)、課程編號(hào)、題干、A答案、B答案、C答案、D答案、正確答案,如表4-4所示。</p><p><b>  表4-4 角色表</b></p>

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

57、<p> ?。?)可進(jìn)行選擇用戶身份,支持鼠標(biāo)操作。</p><p> ?。?)用戶名和密碼驗(yàn)證成功后,進(jìn)入主界面。</p><p> ?。?)用戶名錯(cuò)誤或密碼錯(cuò)誤提醒并返回輸入有誤。</p><p><b>  登錄窗口</b></p><p>  在輸入登錄信息后,系統(tǒng)先檢查驗(yàn)證碼,然后檢驗(yàn)用戶名和密碼

58、。設(shè)計(jì)如下所示的登錄窗口。</p><p><b>  圖5-1 登錄窗口</b></p><p>  在登錄過程中,系統(tǒng)會(huì)首先根據(jù)畫面上用戶輸入的內(nèi)容進(jìn)行驗(yàn)證檢查,相關(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('密碼錯(cuò)誤!');</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>  如果驗(yàn)證通過,系統(tǒng)會(huì)連接數(shù)據(jù)庫,進(jìn)行數(shù)據(jù)正確性以及用戶權(quán)限的檢查,以上檢查成功的情況下,就會(huì)進(jìn)入本系統(tǒng)的主窗體,如果失敗,跳出錯(cuò)誤提示框[7]。</p><p><b>  1.3 注冊(cè)窗口</b></p><p&g

68、t;<b>  圖5-2 注冊(cè)窗口</b></p><p>  在注冊(cè)過程中,系統(tǒng)會(huì)自動(dòng)檢查用戶注冊(cè)的信息是否合法,相關(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('注冊(cè)成功!返回登錄頁面');<

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è)計(jì)—用戶登錄信息畫面</p><p><b>  2.1 實(shí)現(xiàn)目標(biāo)</b></p><p>  程序啟動(dòng)后,登錄進(jìn)入在線答題窗體,在管理模塊中主要實(shí)現(xiàn)如下功能:</p><p> ?。?)檢索當(dāng)前啟用的組織結(jié)構(gòu)相關(guān)的部門及員工信息。</p><p>  (2)

79、對(duì)登陸者個(gè)人信息的管理。</p><p> ?。?)對(duì)基本信息進(jìn)行登錄和修改操作。</p><p>  (4)考試科目即考試內(nèi)容建立。</p><p>  (5)對(duì)考試信息的查詢。</p><p>  2.2 主界面代碼設(shè)計(jì)</p><p>  圖 5-3 系統(tǒng)登錄的主頁面</p><p>  

80、主頁面可以進(jìn)行考試各類信息的添加,更新和刪除,以及用戶信息查詢等功能。相關(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;//答對(duì)的數(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 = "答對(duì)"+count+"題,錯(cuò)"+(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)后,進(jìn)入信息添加頁面,需要將相關(guān)考試信息錄入考試系統(tǒng)中,方便用戶進(jìn)行考試。相關(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>  管理員登錄該界面后,對(duì)用戶所注冊(cè)的信息

115、進(jìn)行核實(shí)和管理。相關(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論