版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 隨機(jī)抽題防作弊在線考試系統(tǒng)</p><p><b> 摘 要</b></p><p> 本文主要介紹了隨機(jī)抽題防作弊在線考試系統(tǒng)的需求分析、總體設(shè)計(jì)和詳細(xì)的設(shè)計(jì)過(guò)程、并在此基礎(chǔ)建立了后臺(tái)數(shù)據(jù)庫(kù),利用ASP.NET和SQL(Structured Query Language)數(shù)據(jù)庫(kù)技術(shù)開(kāi)發(fā)實(shí)現(xiàn)了該考試系統(tǒng)。該系統(tǒng)分為前臺(tái)學(xué)生端和后臺(tái)用戶端
2、,其中后臺(tái)用戶包括教師和系統(tǒng)管理員。它具有用戶登錄驗(yàn)證、學(xué)生在線考試、動(dòng)態(tài)隨機(jī)抽題、自動(dòng)判卷、學(xué)生信息管理、班級(jí)信息管理、科目信息管理、試題信息管理、試卷信息管理、成績(jī)信息管理、個(gè)人信息管理等功能,本系統(tǒng)主要由以下模塊組成:用戶登錄模塊、抽取試題模塊、自動(dòng)評(píng)分模塊、試題管理模塊、教師管理模塊與管理員管理模塊,分別包括了系統(tǒng)各種相關(guān)數(shù)據(jù)信息的增加、修改、刪除等功能。</p><p> 關(guān)鍵字:在線考試系統(tǒng);隨機(jī)抽
3、題;防作弊;ASP.NET;SQL</p><p><b> Abstract</b></p><p> Request to increase and examine continuously along with the examination type of raise continuously,the teacher's workload will
4、 be more and more big,and it works and will is a very trivial and permit the mistakable affair very much,can say that the traditional examination method has already canted adapt the demand of the modern examination.Along
5、 with the fast fierce development that calculator apply,the application of network extends continuously,the people request to use these techniques urgentl</p><p> Key words: Online Examination System;Manage
6、 System;ASP.NET;SQL</p><p><b> 目 錄</b></p><p><b> 1. 前言1</b></p><p> 1.1 在線考試系統(tǒng)的問(wèn)題的提出及發(fā)展背景1</p><p> 1.2 考試系統(tǒng)的研究目的及其意義1</p><p
7、> 1.3 考試系統(tǒng)的功能和作用1</p><p> 2. 基本軟件介紹2</p><p> 2.1 Visual Studio 2005、.NET 框架2</p><p> 2.1.1 Visual Studio20052</p><p> 2.1.2 .NET框架簡(jiǎn)介2</p><p>
8、 2.2 C#語(yǔ)言簡(jiǎn)介2</p><p> 2.3 ASP.NET3</p><p> 2.3.1 ASP.NET的基本概念3</p><p> 2.3.2 ASP.NET的優(yōu)越性4</p><p> 2.3.3 常用到的ASP.NET內(nèi)置對(duì)象4</p><p> 2.4 SQL Server 20
9、05 簡(jiǎn)介5</p><p> 2.5 ADO.NET簡(jiǎn)介5</p><p> 2.5.1 ADO.NET的基本內(nèi)容5</p><p> 3. 可行性研究及需求分析6</p><p> 3.1 可行性研究6</p><p> 3.1.1 可行性分析6</p><p> 3
10、.1.2 待開(kāi)發(fā)系統(tǒng)的主要開(kāi)發(fā)目標(biāo)6</p><p> 3.2 需求分析7</p><p> 3.2.1 系統(tǒng)需要解決的主要問(wèn)題7</p><p> 3.2.2 系統(tǒng)功能模塊劃分7</p><p><b> 4. 總體設(shè)計(jì)9</b></p><p> 4.1 系統(tǒng)流程圖9&l
11、t;/p><p> 4.2 系統(tǒng)結(jié)構(gòu)圖9</p><p> 4.3 重點(diǎn)模塊設(shè)計(jì)11</p><p> 4.4 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)12</p><p> 4.4.1 在線考試系統(tǒng)實(shí)體屬性圖12</p><p> 4.4.2 實(shí)體之間的關(guān)系圖16</p><p> 4.4.3 在線考
12、試系統(tǒng)數(shù)據(jù)庫(kù)建表及其說(shuō)明17</p><p> 4.5 表之間的關(guān)系圖23</p><p> 5. 詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)24</p><p> 5.1 用戶登錄24</p><p> 5.2 學(xué)生模塊24</p><p> 5.2.1 考生成績(jī)查詢(xún)24</p><p> 5.2
13、.2 考生考試有效性判斷25</p><p> 5.2.3 顯示試卷27</p><p> 5.2.4 答題及自動(dòng)評(píng)分28</p><p> 5.3 教師模塊30</p><p> 5.3.1 教師系統(tǒng)首頁(yè)30</p><p> 5.3.2 試題信息管理功能30</p><p&
14、gt; 5.3.3 考試結(jié)果管理功能30</p><p> 5.4 管理員模塊34</p><p> 5.4.1 管理員模塊首頁(yè)34</p><p> 5.4.2 學(xué)生信息管理功能34</p><p> 5.4.3 教師信息管理功能34</p><p> 5.4.4 班級(jí)信息管理功能35<
15、/p><p> 5.4.5 教室信息管理35</p><p> 5.4.6 試題信息管理36</p><p> 5.4.7 科目信息管理功能36</p><p> 5.4.8 成績(jī)管理頁(yè)面36</p><p> 5.4.9 管理員信息維護(hù)功能36</p><p> 5.5 主要
16、功能模塊36</p><p> 6. 功能測(cè)試45</p><p> 6.1 測(cè)試目標(biāo)45</p><p> 6.2 測(cè)試項(xiàng)目說(shuō)明45</p><p> 6.3 測(cè)試評(píng)價(jià)45</p><p> 6.4 具體測(cè)試45</p><p><b> 7.結(jié)論52<
17、;/b></p><p><b> 參考文獻(xiàn)53</b></p><p><b> 謝 辭54</b></p><p> 附 錄(另行打?。?4</p><p> 基于ASP.NET隨機(jī)抽題防作弊在線考試系統(tǒng)</p><p><b>
18、1. 前言</b></p><p> 1.1 在線考試系統(tǒng)的問(wèn)題的提出及發(fā)展背景</p><p> 隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,實(shí)驗(yàn)室教學(xué)管理系統(tǒng)也應(yīng)該為同學(xué)們工作、生活和學(xué)習(xí)提供一種全新的學(xué)習(xí)工作方式。特別是考試,在傳統(tǒng)的考試方式下,組織一次考試至少要經(jīng)過(guò)五個(gè)步驟,即人工出題、考生考試、人工閱卷、成績(jī)?cè)u(píng)估和試卷分析。顯然,隨著考試類(lèi)型的不斷增加及考試要求的不斷提高,傳統(tǒng)的考試
19、方式給教師帶來(lái)了很大的工作壓力。人們迫切要求利用一些技術(shù)來(lái)進(jìn)行在線考試,用于減輕教師的工作負(fù)擔(dān)以及提高工作效率和考試質(zhì)量,從而使考試趨于公正、客觀。</p><p> 1.2 考試系統(tǒng)的研究目的及其意義</p><p> 在線考試系統(tǒng)的主要特點(diǎn)是一方面以按照要求自動(dòng)生成各種試卷;另一方面,考試時(shí)間靈活,用戶可以在規(guī)定時(shí)間段內(nèi)參加考試,考試結(jié)束時(shí)給出考試結(jié)果,計(jì)算機(jī)閱卷給了用戶的最大的公
20、平感。</p><p> 在線考試雖然改變了考試形式,但是同樣存在與傳統(tǒng)考試一樣的現(xiàn)象——作弊。常見(jiàn)的在線考試系統(tǒng)雖然可以保證一份試卷上的試題不相同,使在線考試中一個(gè)重要環(huán)節(jié)——生成試卷過(guò)程簡(jiǎn)化、智能化,但是由于考生座位的可變性,很可能會(huì)出現(xiàn)前后左右同學(xué)試卷試題與中間同學(xué)試卷試題重復(fù)的現(xiàn)象,也就是說(shuō)雖然可以保證學(xué)生自己的試卷試題不重復(fù),卻不能保證相鄰?fù)瑢W(xué)間試卷的試題不重復(fù)。要怎樣解決這個(gè)問(wèn)題,是本系統(tǒng)重點(diǎn)研究的
21、方向。</p><p> 1.3 考試系統(tǒng)的功能和作用</p><p> 常見(jiàn)的在線考試系統(tǒng),在生成試卷時(shí)都有一個(gè)前提,就是要求系統(tǒng)要有足夠的大題庫(kù),才能降低隨機(jī)抽題時(shí)試卷試題的重復(fù)率,防止考生考試作弊。這樣相對(duì)于傳統(tǒng)的考試形式雖然可以減輕教師在生成試卷和試卷批改方面的工作量,但是仍需要教師花大量的精力在出題上。</p><p> 而本系統(tǒng)在題庫(kù)方面可以進(jìn)一步
22、減輕教師的工作量,假設(shè)教師設(shè)置的試卷某種題型題量為x,這樣本系統(tǒng)的題庫(kù)只要存在3x的試題,也能解決考試試卷試題重復(fù)的問(wèn)題,進(jìn)一步減輕教師負(fù)擔(dān)。</p><p> 本系統(tǒng)是利用ASP.NET與SQL2005技術(shù)開(kāi)發(fā)的在線考試系統(tǒng)。它使用方便,操作簡(jiǎn)單,多用戶同時(shí)在線考試、自動(dòng)判卷、題庫(kù)管理、隨機(jī)生成試卷、用戶管理、成績(jī)管理等功能。希望本系統(tǒng)能夠在考試中發(fā)揮高效、便捷的作用。</p><p>
23、;<b> 2. 基本軟件介紹</b></p><p> 2.1 Visual Studio 2005、.NET 框架</p><p> 2.1.1 Visual Studio2005</p><p> Visual Studio是一套完整的開(kāi)發(fā)工具集,用于生成ASP.NET Web應(yīng)用程序、移動(dòng)應(yīng)用程序等多種應(yīng)用程序,是多種語(yǔ)言所共同
24、使用的集成開(kāi)發(fā)環(huán)境(IDE)。Visual Studio利用.NET框架的功能,可簡(jiǎn)化ASP Web應(yīng)用程序和Web服務(wù)開(kāi)發(fā)的關(guān)鍵技術(shù)??梢苑浅]p松地創(chuàng)建具有自動(dòng)伸縮能力的、功能強(qiáng)大的、性能可靠的各類(lèi)應(yīng)用程序[1]。</p><p> 2.1.2 .NET框架簡(jiǎn)介</p><p> .NET框架(.NET Framework)是微軟支持下一代應(yīng)用程序的內(nèi)部Windows組件。它將引導(dǎo)未
25、來(lái)軟件開(kāi)發(fā)策略,特別是基于Web的應(yīng)用開(kāi)發(fā)朝著自然、簡(jiǎn)單、高效、靈活的方向發(fā)展。.NET Framework具有兩個(gè)主要組件:公共語(yǔ)言運(yùn)行庫(kù)和基本類(lèi)庫(kù)。公共語(yǔ)言運(yùn)行庫(kù)(Common Language Ran-time, CLR)是.NET Framework的基礎(chǔ),它包含Windows和ASP.NET兩部分應(yīng)用的支持。用戶可以將運(yùn)行庫(kù)看作一個(gè)在執(zhí)行是管理代碼的代理。公共語(yǔ)言運(yùn)行庫(kù)管理內(nèi)存、線程執(zhí)行、代碼執(zhí)行、代碼安全驗(yàn)證、編譯以及其他系
26、統(tǒng)服務(wù)[1]。</p><p> 2.2 C#語(yǔ)言簡(jiǎn)介</p><p> C#從C和C++派生而來(lái),汲取了C、C++、Java以及Delphi和Visual Basic等語(yǔ)言的有點(diǎn),具有簡(jiǎn)單、強(qiáng)大、靈活、類(lèi)型安全和面向?qū)ο蟮葍?yōu)點(diǎn)。C#是唯一為.NET框架設(shè)計(jì)的語(yǔ)言,能使用.NET框架代碼庫(kù)提供的各種功能。Visual Studio 2005、C#和.NET 框架具有以下優(yōu)點(diǎn)。</
27、p><p> 1、統(tǒng)一的開(kāi)發(fā)工具和.NET框架</p><p> 開(kāi)發(fā).NET應(yīng)用程序主要使用Visual Studio開(kāi)發(fā)工具和.NET框架,這與開(kāi)發(fā)J2EE平臺(tái)的應(yīng)用程序大大不相同,J2EE平臺(tái)有來(lái)自不同軟件提供商的開(kāi)發(fā)工具和不同的J2EE應(yīng)用服務(wù)器,需要花時(shí)間熟悉和掌握不同的J2EE平臺(tái)開(kāi)發(fā)工具和應(yīng)用服務(wù)器。</p><p> 2、開(kāi)發(fā).NET技術(shù)簡(jiǎn)單和快速
28、</p><p> Microsoft Visual 2005提供高級(jí)代碼編輯器、方便的用戶界面設(shè)計(jì)器、集成調(diào)試器和許多其他工具,并在C#2.0和.NET框架的基礎(chǔ)上加快各種不同類(lèi)型功能強(qiáng)大的應(yīng)用程序的開(kāi)發(fā)。</p><p><b> 3、語(yǔ)言互操作性</b></p><p> 由于C#編輯器生成的IL代碼符合公共類(lèi)型規(guī)范(CTS),因此
29、從C#生成的IL代碼可以從Visual Basic、Visual C++、Visual J#的.NET版本等CTS語(yǔ)言中的任何一種生成的代碼進(jìn)行交互。</p><p> 4、.NET框架的庫(kù)</p><p> .NET框架包含一個(gè)由4000多個(gè)類(lèi)型組成的內(nèi)容詳盡的庫(kù),這些類(lèi)型被組織為命名空間,為從文件輸入和輸出到字符串操作、到Windows窗體控件的所以?xún)?nèi)容提供各種有用的功能[1]。&
30、lt;/p><p> 2.3 ASP.NET</p><p> ASP.NET是一種統(tǒng)一的Web平臺(tái),它提供了生成企業(yè)級(jí)應(yīng)用程序所需要的全部服務(wù)。它建立在.NET框架的編程類(lèi)的基礎(chǔ)上,為Web應(yīng)用程序模型提供了一組可簡(jiǎn)化Web應(yīng)用程序生成的控件和基礎(chǔ)結(jié)構(gòu)(如Web窗體和Web服務(wù))。用來(lái)在服務(wù)器端構(gòu)建強(qiáng)大的Web應(yīng)用,包括ASP.NET頁(yè)框架、Web Form、XML Web服務(wù)、配置和部
31、署等概念[2]。</p><p> 2.3.1 ASP.NET的基本概念</p><p> 1、ASP.NET頁(yè)框架</p><p> ASP.NET頁(yè)框架是一種編程框架,它在Web服務(wù)器上運(yùn)行,以動(dòng)態(tài)地生成和管理Web窗體頁(yè)。ASP Web頁(yè)面(Web Form)是ASP.NET中的基本內(nèi)容,主要提供瀏覽界面設(shè)計(jì)及其交互功能的代碼編程能力。與其他Web頁(yè)面相
32、比(如單純的超文本鏈接標(biāo)示語(yǔ)言(HTML)頁(yè)面、動(dòng)態(tài)服務(wù)器(ASP)頁(yè)面等),ASP.NET的Web頁(yè)面全面支持面向?qū)ο蟮脑O(shè)計(jì)思想,既頁(yè)面內(nèi)容布局可通過(guò)可視化對(duì)象來(lái)設(shè)計(jì),其交互功能可通過(guò)捕捉這些對(duì)象的事件和調(diào)用方法來(lái)完成。</p><p><b> 2、Web窗體</b></p><p> Web窗體又被稱(chēng)為Web表單,Web窗體提供了窗體設(shè)計(jì)器、編輯器、控件和調(diào)
33、試功能,這些功能結(jié)合在一起,能夠?yàn)闉g覽器和Web客戶端設(shè)備快速的生成給予服務(wù)器的可編程用戶界面。</p><p> 3、ASP.NET應(yīng)用程序</p><p> ASP.NET應(yīng)用程序是指可以從特定位置(該特定位置指Web應(yīng)用程序服務(wù)器上的虛擬目錄及其子目錄)調(diào)用的所有文件、頁(yè)、處理程序、模塊和可執(zhí)行代碼[2]。</p><p> 2.3.2 ASP.NET的
34、優(yōu)越性</p><p> ASP.NET帶來(lái)了一場(chǎng)網(wǎng)絡(luò)編程的革命,開(kāi)發(fā)人員可以方便快速地開(kāi)發(fā)Web應(yīng)用程序和Web服務(wù)。具體地說(shuō),ASP.NET的優(yōu)點(diǎn)有如下幾個(gè)方面。</p><p> 1)世界級(jí)的工具支持。ASP.NET框架補(bǔ)充了Visual Studio集成開(kāi)發(fā)環(huán)境中的大量工具箱和設(shè)計(jì)器。拖放服務(wù)器控件和自動(dòng)部署只是這個(gè)強(qiáng)大的工具所提供功能中的少數(shù)幾種。</p>&l
35、t;p> 2)威力和靈活性。因?yàn)锳SP.NET基于公共語(yǔ)言運(yùn)行庫(kù),所以Web應(yīng)用程序開(kāi)發(fā)人員可以利用整個(gè)平臺(tái)的威力和靈活性。</p><p> 3)簡(jiǎn)易性。ASP.NET使執(zhí)行任務(wù)變得容易,從簡(jiǎn)單的窗體提交和客戶端身份驗(yàn)證到部署和站點(diǎn)配置。另外,公共語(yǔ)言運(yùn)行庫(kù)利用托管代碼服務(wù),簡(jiǎn)化了開(kāi)發(fā)。</p><p> 4)可縮放性和可用性。ASP.NET在設(shè)計(jì)時(shí)考慮了可縮放性,增加了專(zhuān)門(mén)
36、用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。</p><p> 5)可管理性。ASP.NET采用基于文本的分層配置系統(tǒng),簡(jiǎn)化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和Web應(yīng)用程序。由于配置信息是以純文本形式存儲(chǔ)的,因此可以在沒(méi)有本地管理工具幫助的情況下應(yīng)用新設(shè)置。</p><p> 6)自定義性和擴(kuò)展性。ASP.NET隨附了一個(gè)設(shè)計(jì)周到的結(jié)構(gòu),它使開(kāi)發(fā)人員可以在適當(dāng)?shù)募?jí)別“插入”代碼。</p
37、><p> 7)安全性。借助內(nèi)置的Windows身份驗(yàn)證和基于每個(gè)應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的[2]。</p><p> 2.3.3 常用到的ASP.NET內(nèi)置對(duì)象 </p><p> Application對(duì)象:對(duì)整個(gè)ASP.NET執(zhí)行環(huán)境而言,一個(gè)虛擬目錄下的所有ASP.NET程序構(gòu)成了一個(gè)Web應(yīng)用程序。在多任務(wù)執(zhí)行的情況下,來(lái)自四面八方的眾多用
38、戶可能執(zhí)行同一個(gè)Web應(yīng)用程序,這便依賴(lài)Application對(duì)象。</p><p> Request對(duì)象:獲取從客戶瀏覽器傳給服務(wù)器端的數(shù)據(jù),如接收來(lái)自表單的數(shù)據(jù)。</p><p> Response對(duì)象:Request對(duì)象與Response對(duì)象就像一般程序語(yǔ)言里的Input及Output命令,若要讓服務(wù)器端的ASP.NET程序能夠接收來(lái)自客戶端的信息,須用Request對(duì)象;若想將
39、服務(wù)器端的信息傳遞給客戶端,須用Response對(duì)象。</p><p> Session對(duì)象:Session對(duì)象的信息只適用于同一位用戶,換句話說(shuō),一個(gè)Session對(duì)象只屬于一位用戶[2]。</p><p> 2.4 SQL Server 2005 簡(jiǎn)介</p><p> SQL Server 2005是Microsoft公司推出的全新的數(shù)據(jù)庫(kù)平臺(tái)它包括多種
40、軟件組件與服務(wù),例如關(guān)系數(shù)據(jù)引擎、分析服務(wù)、通知服務(wù)、報(bào)表服務(wù)、中介服務(wù)、等等。關(guān)系數(shù)據(jù)引擎是SQL Server 2005處理解決關(guān)系數(shù)據(jù)庫(kù)的核心組件,它可滿足各類(lèi)不同等級(jí)應(yīng)用程序?qū)?shù)據(jù)的存儲(chǔ),查詢(xún)與更新的需求。分析服務(wù)提供了商業(yè)智能的專(zhuān)業(yè)平臺(tái),它可以應(yīng)用在OLAP、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)挖掘上,協(xié)助企業(yè)建立最適當(dāng)?shù)臎Q策支持。用以滿足企業(yè)對(duì)日益復(fù)雜的信息系統(tǒng)的需求[3]。</p><p> 2.5 ADO.NET簡(jiǎn)介
41、 </p><p> ADO.NET是一種新型的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù),它運(yùn)行于.NET平臺(tái)上,集合所有允許數(shù)據(jù)處理的類(lèi),是一個(gè)具有典型數(shù)據(jù)功能的數(shù)據(jù)容器對(duì)象。ADO.NET作為頁(yè)面和數(shù)據(jù)庫(kù)的中間件,使用.NET數(shù)據(jù)提供程序,實(shí)現(xiàn)應(yīng)用程序到數(shù)據(jù)源的連接,適用于各種數(shù)據(jù)庫(kù)連接,具有很好的通用性。通過(guò)ADO.NET,應(yīng)用程序能夠連接到指向住據(jù)庫(kù)的數(shù)據(jù)源,檢索、操作和更新數(shù)據(jù)。</p><p> 2
42、.5.1 ADO.NET的基本內(nèi)容</p><p> ADO.NET對(duì)象模型中有五個(gè)主要的組件,分別是Connection對(duì)象、Command對(duì)象、DataAdapter、DataSet以及DataReader,用來(lái)完成數(shù)據(jù)訪問(wèn)操作。</p><p> Connection對(duì)象主要是開(kāi)啟程序和數(shù)據(jù)庫(kù)之間的連結(jié)。沒(méi)有利用連結(jié)對(duì)象將數(shù)據(jù)庫(kù)打開(kāi),是無(wú)法從數(shù)據(jù)庫(kù)中取得數(shù)據(jù)的。</p>
43、;<p> Command對(duì)象主要可以用來(lái)對(duì)數(shù)據(jù)庫(kù)發(fā)出一些指令,是架構(gòu)在Connection對(duì)象上,是透過(guò)連結(jié)到數(shù)據(jù)源的Connection對(duì)象來(lái)下命令的。</p><p> DataAdapter對(duì)象主要是在數(shù)據(jù)源以及DataSet之間執(zhí)行數(shù)據(jù)傳輸?shù)墓ぷ?,這個(gè)對(duì)象是架構(gòu)在Command對(duì)象上,提供了許多配合DataSet使用的功能。</p><p> DataSet這
44、個(gè)對(duì)象可以視為一個(gè)暫存區(qū)(Cache),從數(shù)據(jù)庫(kù)中所查詢(xún)到的數(shù)據(jù)保留起來(lái),甚至可以將整個(gè)數(shù)據(jù)庫(kù)顯示出來(lái)。</p><p> 3. 可行性研究及需求分析</p><p><b> 3.1 可行性研究</b></p><p> 在線考試系統(tǒng)的主要特點(diǎn)是一方面可以動(dòng)態(tài)地管理各種考試信息,按照要求自動(dòng)生成各種試卷;另一方面,計(jì)算機(jī)化的考試的最大特
45、點(diǎn)是閱卷快,系統(tǒng)可以在考試結(jié)束時(shí)當(dāng)場(chǎng)給出考試結(jié)果,計(jì)算機(jī)閱卷給了用戶的最大的公平感。如何通過(guò)一種開(kāi)發(fā)語(yǔ)言能高效的設(shè)計(jì)出這個(gè)系統(tǒng)是值得考慮的一個(gè)需求。ASP.NET技術(shù)為這個(gè)系統(tǒng)設(shè)計(jì)提供了極大的方便。</p><p> 3.1.1 可行性分析</p><p> 技術(shù)方面的可行性,在軟件方面可以用以下幾種:</p><p> (1)操作系統(tǒng)用windows。win
46、dows作為一個(gè)優(yōu)秀的網(wǎng)絡(luò)操作系統(tǒng),它的發(fā)行版本中集成了大量的網(wǎng)絡(luò)應(yīng)用軟件。</p><p> (2)web服務(wù)器端采用IIS+ASP.NET+SQL Server2005。IIS是微軟公司主推的Web服務(wù)器,它使系統(tǒng)的主要好處是一方面可以動(dòng)態(tài)地管理各種考試信息,就可以按照要求自動(dòng)生成各種試卷。該系統(tǒng)最大的實(shí)際應(yīng)用就是特別適合于現(xiàn)代大學(xué)的考試,不僅減輕了教師因要批改大量試卷的負(fù)擔(dān),而且可以進(jìn)一步解決考生考試作弊
47、問(wèn)題。</p><p> 經(jīng)濟(jì)方面可行性,系統(tǒng)開(kāi)發(fā)周期一般為2個(gè)月左右,開(kāi)發(fā)所需硬件軟件設(shè)施大多數(shù)PC機(jī)系統(tǒng)能夠承擔(dān),開(kāi)發(fā)費(fèi)用不高。目前,學(xué)校都擁有高性能PC機(jī)和局域網(wǎng),該軟件系統(tǒng)的安裝、部署、運(yùn)行和維護(hù),都不需要太高的費(fèi)用。</p><p> 操作可行性方面:大多數(shù)PC機(jī)和局域網(wǎng)能夠運(yùn)行該系統(tǒng)。該系統(tǒng)的安裝、調(diào)試、運(yùn)行不會(huì)改變?cè)?jì)算機(jī)系統(tǒng)的設(shè)置和網(wǎng)絡(luò)的布局,并且大多數(shù)用戶幾乎不用做任
48、何培訓(xùn)都能夠方便的操作軟件。</p><p> 3.1.2 待開(kāi)發(fā)系統(tǒng)的主要開(kāi)發(fā)目標(biāo)</p><p> (1)隨機(jī)抽取試題,降低考試試卷試題重復(fù)率的可行性與完整性。</p><p> (2)教室座位和考試試卷聯(lián)系起來(lái),通過(guò)考試教室的作為安排生成試卷,使前后左右和中間同學(xué)的試卷題目不一樣,防止學(xué)生考試作弊。</p><p><b&g
49、t; 3.2 需求分析</b></p><p> 3.2.1 系統(tǒng)需要解決的主要問(wèn)題</p><p> 考生進(jìn)入考試系統(tǒng)后,需要選擇考試科目,只有考試科目存在考試試卷,考生才能參加該門(mén)課程的考試,所以系統(tǒng)還應(yīng)有考試科目選擇的功能和判斷考試科目是否存在的功能。鑒于考試環(huán)境一般為機(jī)房,考試者之間的距離很近,為了避免考生考試做弊,試卷的題型和題量都應(yīng)是相同的,但試題題目不能重復(fù)
50、。所以在抽題時(shí)要做到前后左右同學(xué)的試題和中間同學(xué)的試題不重復(fù),這個(gè)是本系統(tǒng)與其他在線考試系統(tǒng)的主要區(qū)別,也是本系統(tǒng)主要研究方向。另外,系統(tǒng)還應(yīng)該對(duì)考試時(shí)間進(jìn)行控制,在離考試結(jié)束前三分鐘,會(huì)提示考生交卷,時(shí)間到了系統(tǒng)會(huì)自動(dòng)保存考生答案??忌x擇提交答卷后,系統(tǒng)會(huì)自動(dòng)判卷,給出考生分?jǐn)?shù)。作為老師,還應(yīng)擁有試卷分析功能,用于分析該門(mén)課程考試情況。</p><p> 3.2.2 系統(tǒng)功能模塊劃分 </p>
51、<p> 本系統(tǒng)是為了滿足在線考試的需求而設(shè)計(jì)開(kāi)發(fā)的,所以本考試系統(tǒng)應(yīng)具備的考試系統(tǒng)功能分為前臺(tái)考生端和后臺(tái)管理端兩個(gè)部分,其中后臺(tái)管理端又包括管理員管理和教師管理兩個(gè)方面?;竟δ苋缦拢?lt;/p><p><b> 前臺(tái)考生端:</b></p><p> 用戶登錄驗(yàn)證模塊:該模塊的主要任務(wù)是辨別系統(tǒng)登錄人員身份。</p><p&g
52、t; 考生信息管理模塊:考生成績(jī)查詢(xún),考生密碼修改功能。</p><p> 試卷顯示模塊:根據(jù)后臺(tái)生成的試卷ID顯示試題內(nèi)容,供學(xué)生考試。</p><p> 自動(dòng)評(píng)分模塊:系統(tǒng)自動(dòng)進(jìn)行學(xué)生試卷的評(píng)分功能。</p><p> 其功能模塊圖如下圖:</p><p> 圖:3-1 前臺(tái)考生端功能模塊圖</p><p&g
53、t;<b> 后臺(tái)管理端:</b></p><p> 試題管理模塊:試題管理是該系統(tǒng)一個(gè)比較基本的模塊,其中按不同的試題題型設(shè)置了試題添加、試題修改、試題查詢(xún)、試題刪除等功能。</p><p> 教師管理模塊:該模塊的主要功能是教師可以進(jìn)行試卷設(shè)置、試題詳細(xì)信息查修改、試題添加、考試結(jié)果查詢(xún)、試卷分析、教師信息維護(hù)等功能。</p><p>
54、; 抽取試題模塊:該模塊是本系統(tǒng)最重要的功能是根據(jù)先前每個(gè)科目教師設(shè)定的試卷設(shè)置,隨機(jī)抽取試題,根據(jù)考試教室座位的安排情況,生成的試卷,可以做到每個(gè)學(xué)生的試題題目不重復(fù),以防學(xué)生作弊。</p><p> 管理員管理模塊:在該模塊中,管理員可以進(jìn)行學(xué)生信息管理、教師信息管理管理、試題信息管理、班級(jí)信息管理、教室信息管理、科目信息管理、考試結(jié)果管理、管理員信息維護(hù)等功能。</p><p>
55、 后臺(tái)管理端功能模塊圖如下:</p><p> 圖:3-2 后臺(tái)管理端功能模塊圖</p><p><b> 4. 總體設(shè)計(jì)</b></p><p><b> 4.1 系統(tǒng)流程圖</b></p><p> 本部分介紹了在線考試系統(tǒng)的總體設(shè)計(jì),主要包括公用登錄設(shè)計(jì),學(xué)生端系統(tǒng)設(shè)計(jì),管理員端系統(tǒng)
56、設(shè)計(jì)、教師端系統(tǒng)設(shè)計(jì)。</p><p><b> 流程圖如圖4-1;</b></p><p><b> 是</b></p><p> 否 </p><p> 圖:4-1 系統(tǒng)流程圖</p><p><b
57、> 4.2 系統(tǒng)結(jié)構(gòu)圖</b></p><p> 系統(tǒng)統(tǒng)由一個(gè)登錄界面登錄,在登錄時(shí)是如果是學(xué)生,則用戶名為考生學(xué)號(hào),如果是管理員登錄,用戶名為管理員編號(hào),若為教師登錄,用戶名則為教師編號(hào)。在驗(yàn)證碼輸入正確后,分別從各自己的數(shù)據(jù)庫(kù)表中查詢(xún)帳戶,核對(duì)登錄密碼,然后根據(jù)不同的角色進(jìn)入不同的界面。</p><p> 學(xué)生端系統(tǒng)結(jié)構(gòu)圖如下圖4-2:</p>&
58、lt;p> 圖:4-2 學(xué)生端子系統(tǒng)結(jié)構(gòu)圖</p><p> 管理員端系統(tǒng)結(jié)構(gòu)圖如下圖4-3:</p><p> 圖:4-3管理員端系統(tǒng)結(jié)構(gòu)圖</p><p> 教師端系統(tǒng)結(jié)構(gòu)圖如下圖4-4:</p><p> 圖:4-4教師端系統(tǒng)結(jié)構(gòu)圖</p><p> 4.3 重點(diǎn)模塊設(shè)計(jì)</p>
59、<p> 隨機(jī)抽題模塊為本系統(tǒng)的重點(diǎn)模塊。若像常見(jiàn)的在線考試系統(tǒng)那樣,在學(xué)生進(jìn)行考試時(shí)開(kāi)始抽題,很容易造成系統(tǒng)負(fù)載過(guò)大而引起系統(tǒng)崩潰。故本系統(tǒng)把隨機(jī)抽題功能是放在后臺(tái)實(shí)現(xiàn),即把本模塊依附在教師端系統(tǒng)中的設(shè)置考試試卷功能里。大致實(shí)現(xiàn)過(guò)程如下:</p><p> 當(dāng)教師設(shè)置好各種試題題數(shù)和分值,選好要參加的考試班級(jí)和考試教室,點(diǎn)擊確定時(shí),系統(tǒng)首先會(huì)判斷教師設(shè)置的總分是否等于各種題型總分之和。若不等于,則
60、系統(tǒng)會(huì)自動(dòng)計(jì)算,試卷的總分為系統(tǒng)自動(dòng)計(jì)算之后的總分。</p><p> 然后系統(tǒng)會(huì)計(jì)算題庫(kù)中該教師所教科目的各種題型的總題數(shù),判斷教師設(shè)置題數(shù)是否大于題庫(kù)中的題數(shù)。若大于,則提示生成試卷失敗。</p><p> 其次系統(tǒng)會(huì)根據(jù)所選擇參加考試的班級(jí)人數(shù)和考試教室的座位安排情況生成一張接近考生人數(shù)的m*n二維數(shù)組表,用于存放生成試卷的信息。</p><p> 例如
61、班級(jí)學(xué)生人數(shù)為Z,教室座位安排情況為M*N。則,m=Z/M+(Z%N>0).GetHashCode(),n=N</p><p> 即,生成一張m*n的二維數(shù)組表如下圖:</p><p> [0,0] [0,1] [0,2] …… [0,n-2] [0,n-1]</p><p> [1,1] [1,1] [1,2]
62、 …… [1,n-2] [1,n-1]</p><p> [2,1] [2,1] [2,2] …… [2,n-2] [2,n-1]</p><p> …… ……</p><p> ……
63、 ……</p><p> …… ……</p><p> [m-2,1] [m-2,1] [m-2,2] …… [m-2,n-2] [m-2,n-1]</p><p> [m-1,1] [m-1,1] [m-1,2] …… [m-1,n-2] [m-1
64、,n-1]</p><p> 圖:4-5存放考試信息的二位數(shù)組表</p><p> 再者系統(tǒng)根據(jù)判斷當(dāng)前位置是否存在前面和左邊位子,進(jìn)行隨機(jī)抽題。以此類(lèi)推,隨機(jī)抽題生成所有試卷。</p><p> 例如位子[0,0]不存在前面和左邊位子,則系統(tǒng)在抽取某種題型時(shí)會(huì)在該科目這種試題里抽題;位子[0,1]不存在前面位子,只存在左邊位子[0,0],則系統(tǒng)會(huì)除去左邊位子
65、[0,0]抽過(guò)的試題范圍內(nèi)抽題;位子[2,2]存在前面位子[1,2]和左邊位子[1,1],則系統(tǒng)化在抽取試題時(shí)會(huì)在除去前面位子[1,2]和左邊位子[1,1]的試題范圍內(nèi)進(jìn)行隨機(jī)抽題。</p><p> 最后系統(tǒng)將生成的試卷ID按學(xué)生學(xué)號(hào)順序與參加考試的考生學(xué)號(hào)綁定在一起。只要考生在考試時(shí)按學(xué)號(hào)順序就坐,則可以保證前后左右同學(xué)的試卷和中間同學(xué)試卷試題不一樣。</p><p> 4.4 系
66、統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p> 4.4.1 在線考試系統(tǒng)實(shí)體屬性圖</p><p><b> ?。?)學(xué)生屬性圖</b></p><p> 圖:4-6學(xué)生屬性圖</p><p><b> ?。?)管理員屬性圖</b></p><p> 圖:4-7管理員屬性圖</p
67、><p><b> ?。?)教師屬性圖</b></p><p> 圖:4-8教師屬性圖</p><p><b> (4)班級(jí)屬性圖</b></p><p> 圖:4-9班級(jí)屬性圖</p><p><b> ?。?)座位屬性圖</b></p>
68、<p> 圖:4-10座位屬性圖</p><p><b> (6)課程屬性圖</b></p><p> 圖:4-11課程屬性圖</p><p> ?。?)試卷設(shè)置屬性圖</p><p> 圖:4-12試卷設(shè)置屬性圖</p><p> ?。?)抽取試卷屬性圖</p>
69、<p> 圖:4-13抽取試卷屬性圖</p><p> ?。?)考生答案屬性圖</p><p> 圖:4-14學(xué)生答案屬性圖</p><p> ?。?0)考生得分屬性圖</p><p> 圖:4-15考生得分屬性圖</p><p> (11)選擇題屬性圖</p><p>
70、 圖:4-16選擇題屬性圖</p><p> ?。?2)填空題屬性圖</p><p> 圖:4-17填空題屬性圖</p><p> ?。?3)判斷題屬性圖</p><p> 圖:4-18判斷題屬性圖</p><p> ?。?4)多選題屬性圖</p><p> 圖:4-19多選題屬性圖<
71、;/p><p> (15)簡(jiǎn)答題屬性圖</p><p> 圖:4-20簡(jiǎn)答題屬性圖</p><p> 4.4.2 實(shí)體之間的關(guān)系圖</p><p> 主要實(shí)體關(guān)系圖如下圖4-21:</p><p> * 1 1</p><p> *
72、 1</p><p> 1 * * *</p><p><b> *</b></p><p> 1 1</p><p><b> *</b></p><p>
73、; 1 *</p><p><b> *</b></p><p> 1 1</p><p><b> 1</b></p><p><b> 1</b></p><p
74、> 圖:4-21主要實(shí)體關(guān)系圖</p><p> 4.4.3 在線考試系統(tǒng)數(shù)據(jù)庫(kù)建表及其說(shuō)明</p><p> 考慮到整個(gè)系統(tǒng)的需要,我們一共設(shè)計(jì)了以下幾個(gè)數(shù)據(jù)庫(kù)表:學(xué)生信息表、教師信息表、管理員信息表、班級(jí)信息表、座位信息表、試卷設(shè)置表、試卷表、學(xué)生答案表、選擇題表、判斷題表、填空題表、多選題表、判斷題表、考生得分表學(xué)生答案表。</p><p><
75、;b> (1)學(xué)生信息表 </b></p><p><b> 用來(lái)保存學(xué)生信息:</b></p><p> 表:4-1 學(xué)生信息表</p><p> 表:4-1 學(xué)生信息表(續(xù))</p><p><b> ?。?)管理員信息表</b></p><p>
76、; 用來(lái)保存管理員信息:</p><p> 表:4-2管理員信息表</p><p><b> ?。?)教師信息表</b></p><p><b> 用來(lái)保存教師信息:</b></p><p> 表:4-3教師信息表</p><p><b> ?。?)班級(jí)信息
77、表</b></p><p><b> 用來(lái)保存班級(jí)信息:</b></p><p> 表:4-4 班級(jí)信息表</p><p> ?。?)教室座位信息表</p><p> 用來(lái)保存教室座位信息:</p><p> 表:4-5教室座位信息表</p><p>&
78、lt;b> ?。?)試卷設(shè)置表</b></p><p> 用來(lái)保存設(shè)置試卷信息:</p><p> 表:4-6設(shè)置試卷信息表</p><p><b> ?。?)試卷信息表</b></p><p><b> 用來(lái)保存試卷信息:</b></p><p>
79、 表:4-7 試卷信息表</p><p> 表:4-7 試卷信息表(續(xù))</p><p><b> ?。?)考生答案表</b></p><p><b> 保存考生答案</b></p><p> 表:4-8 試卷信息表</p><p> (9)考生得分信息表</p
80、><p> 用來(lái)保存考生得分信息:</p><p> 表:4-9考生得分表</p><p><b> (10)選擇題表</b></p><p> 用來(lái)保存選擇題信息:</p><p> 表:4-10 選擇題表</p><p><b> ?。?1)填空題表&l
81、t;/b></p><p> 用來(lái)保存填空題信息:</p><p> 表:4-11填空題表</p><p><b> ?。?2)判斷題表</b></p><p> 用來(lái)保存判斷題信息:</p><p> 表:4-12判斷題表</p><p><b>
82、 ?。?3)多選題表</b></p><p> 用來(lái)保存多選題信息:</p><p> 表:4-13多選題表</p><p><b> (14)簡(jiǎn)答題表</b></p><p> 用來(lái)保存簡(jiǎn)答題信息:</p><p> 表:4-14簡(jiǎn)答題表</p><p&
83、gt; 4.5 表之間的關(guān)系圖</p><p> 圖:4-22表之間的關(guān)系圖</p><p> 5. 詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)</p><p> 對(duì)系統(tǒng)的需求有了完整、準(zhǔn)確、具體的了解后,接下來(lái)的工作就是正確實(shí)現(xiàn)這些模塊的具體功能。</p><p><b> 5.1 用戶登錄</b></p><p&g
84、t; 用戶登錄由Login.aspx頁(yè)面實(shí)現(xiàn),它的代碼隱藏文件為L(zhǎng)ogin.aspx.cs文件,用戶登錄是應(yīng)用程序的主入口,用戶只有通過(guò)該入口才能進(jìn)入系統(tǒng)。因?yàn)橛脩羲鶎俳巧袑W(xué)生、教師和管理員三類(lèi),所以在設(shè)計(jì)登錄頁(yè)面時(shí),需要提供一個(gè)角色選擇框讓用戶選擇自己所屬的角色。</p><p> 用戶輸入用戶賬號(hào)、密碼和驗(yàn)證碼,選擇登錄身份后,單擊“登錄”按鈕后,系統(tǒng)先判斷驗(yàn)證碼是否正確,錯(cuò)誤則彈出對(duì)話框提示驗(yàn)證碼錯(cuò)誤
85、;正確則根據(jù)用戶選擇的身份搜索tb_Admin、tb_Student、tb_Teacher三張表,查找記錄,若存在則可登錄到系統(tǒng),否則彈出對(duì)話框提示登錄失敗。 </p><p><b> 5.2 學(xué)生模塊</b></p><p> 用戶以學(xué)生身份進(jìn)入學(xué)生系統(tǒng)首頁(yè)studentSelect.aspx,在此頁(yè)系統(tǒng)提供三種功能供學(xué)生選擇,學(xué)生可進(jìn)行考試成績(jī)查詢(xún)或是點(diǎn)擊進(jìn)
86、入考試界面studentexam.aspx亦或是可以修改學(xué)生密碼studentChangePwd.aspx,這里學(xué)生只能修改自己的登錄密碼,不能修改其他信息。</p><p> 5.2.1 考生成績(jī)查詢(xún)</p><p> 在學(xué)生選擇科目進(jìn)行成績(jī)查詢(xún),相關(guān)代碼如下:</p><p> SqlCommand cmd = new SqlCommand("s
87、elect count(*) from tb_Score where StudentNum ='" + Session["ID"].ToString() + "' and CourseID ='" + ddlKm.SelectedValue.ToString() + "'", conn);</p><p> i
88、nt i = Convert.ToInt32(cmd.ExecuteScalar());//返回值為是否存在考生相關(guān)科目成績(jī)信息</p><p> if (i > 0)</p><p><b> {</b></p><p> SqlDataReader sdr = d.DataRead("select * from tb_
89、Score where StudentNum ='" + Session["ID"].ToString() + "' and CourseID ='" + ddlKm.SelectedValue.ToString() + "'");</p><p> while (sdr.Read())</p>
90、<p><b> {</b></p><p> ……//若存在該考生改科目的考試成績(jī)記錄,則在文本框顯示顯示相應(yīng)數(shù)據(jù)</p><p><b> }</b></p><p> ……//通過(guò)sSQL語(yǔ)句,在相應(yīng)文本框顯示學(xué)生學(xué)號(hào)、姓名、班級(jí)信息</p><p><b> }
91、</b></p><p><b> else </b></p><p><b> {</b></p><p> MessageBox.Show("沒(méi)有你的考試記錄!");</p><p><b> }</b></p><
92、;p> 功能流程圖如下圖5-1</p><p> N Y</p><p> 圖:5-1考生成績(jī)查詢(xún)功能流程圖</p><p> 此功能首先通過(guò)學(xué)生學(xué)號(hào)StudentNum和課程編號(hào)CourseID查找tb_Score表里記錄,先判斷是否存在考生記錄i,若i>0,則輸出相應(yīng)數(shù)據(jù),否則彈出對(duì)話框“沒(méi)有你的
93、考試記錄!”。</p><p> 5.2.2 考生考試有效性判斷</p><p> 當(dāng)用戶選擇進(jìn)入考試后出現(xiàn)閱讀考試規(guī)則頁(yè)面,只有仔細(xì)閱讀考試規(guī)則后,點(diǎn)擊“已經(jīng)閱讀完考試制度”按鈕,才能選擇要參加的考試科目,進(jìn)入考試頁(yè)面。</p><p><b> 相關(guān)代碼如下:</b></p><p> SqlCommand
94、cmd = new SqlCommand("select count(*) from tb_Score where StudentNum='" + StuID + "' and CourseID =('" + StuKC + "')", conn);</p><p><b> ……</b></
95、p><p> if (i > 0)</p><p><b> {</b></p><p> MessageBox.Show("你已經(jīng)參加過(guò)此科目的考試了!");</p><p><b> }</b></p><p><b> else
96、</b></p><p><b> {</b></p><p> cmd = new SqlCommand("select count(*) from tb_ExamSet where CourseID='" + StuKC + "' nd ClassID='" + Session[&qu
97、ot;classID"].ToString() + "'", conn);</p><p> int N = Convert.ToInt32(cmd.ExecuteScalar());</p><p> if (N > 0)</p><p><b> {</b></p><p
98、> ……//取出考生試卷編號(hào),放在Session[“examinationID”]值里,并跳轉(zhuǎn)到StartExam.aspx頁(yè)面</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p>
99、; MessageBox.Show("該科目暫無(wú)考試信息!");</p><p><b> }</b></p><p> 功能流程圖如下圖5-2</p><p> N Y</p><p> N
100、 Y</p><p> 圖:5-2選擇參加考試功能流程圖</p><p> 在學(xué)生選擇科目參加考試時(shí),系統(tǒng)首先通過(guò)學(xué)生學(xué)號(hào)StudentNum和課程編號(hào)CourseID查找tb_Score表里記錄,先判斷是否存在考生記錄i,若i>0,則輸出相應(yīng)數(shù)據(jù),否則彈出對(duì)話框“你已經(jīng)參加過(guò)此科目的考試了!”。接著,根據(jù)CourseID考試科目編號(hào)和ClassID班級(jí)編號(hào)查找試卷設(shè)置表tb
101、_ExamSet的相關(guān)記錄,若N>0則教師有對(duì)該班級(jí)設(shè)置過(guò)試卷,考生可以進(jìn)入考試頁(yè)面開(kāi)始考試,否則提示“該科目暫無(wú)考試信息”。</p><p> 5.2.3 顯示試卷</p><p> 考生進(jìn)入考試頁(yè)面,開(kāi)始考試。(因其他題型顯示試題方法類(lèi)似,故以下只列出單選題試題顯示方法)實(shí)現(xiàn)代碼如下:</p><p> if (selectNum == 0)<
102、/p><p><b> {</b></p><p> Button_S.Visible = false; //隱藏選擇題按鈕</p><p><b> }</b></p><p> string selectid = d.MySqlExecuteScalar("select Selec
103、tID from tb_Examination where ExaminationID = '" + Session["examinationid"].ToString() + "'").ToString();</p><p> if (selectid != "")</p><p><b>
104、 {</b></p><p> DataTable dt_select = d.MySqlDataTable("select * from tb_Select where ID in(" + selectid + ")");</p><p> gvSelect.DataSource = dt_select;</p>&
105、lt;p> gvSelect.DataBind();</p><p><b> }</b></p><p> 功能流程圖如下圖5-3:</p><p> Y N</p><p><b> Y</b></p>
106、;<p> 圖:5-3顯示試卷功能流程圖</p><p> 當(dāng)學(xué)生點(diǎn)擊確定進(jìn)入考試頁(yè)面StartExam.aspx時(shí),系統(tǒng)根據(jù)之前保存的Session[“examinationID”]考生考試試卷ID查找試卷表tb_Examination記錄,抽取該試卷各種題型試題ID,利用GridView控件根據(jù)各種題型的試題ID綁定數(shù)據(jù),循環(huán)把試題信息顯示在試卷上。</p><p>
107、 5.2.4 答題及自動(dòng)評(píng)分</p><p> 考生考生答題后系統(tǒng)進(jìn)行自動(dòng)評(píng)分。(因其他題型自動(dòng)評(píng)分方法類(lèi)似,故以下只列出單選題自動(dòng)評(píng)分方法SaveSelect())其實(shí)現(xiàn)代碼如下:</p><p> protected void SaveSelect()//遍歷選擇題,取出學(xué)生答案和考題編號(hào)并保存</p><p><b> {</b>
108、</p><p> foreach (GridViewRow dr in gvSelect.Rows)</p><p><b> {</b></p><p> string Select_StuAnswer = "";</p><p> if (((RadioButton)dr.FindCon
109、trol("Select_A")).Checked)</p><p><b> {</b></p><p> Select_StuAnswer = "1";</p><p><b> }</b></p><p> else if (((RadioBut
110、ton)dr.FindControl("Select_B")).Checked)</p><p><b> {</b></p><p> Select_StuAnswer = "2";</p><p><b> }</b></p><p> else
111、if (((RadioButton)dr.FindControl("Select_C")).Checked)</p><p><b> {</b></p><p> Select_StuAnswer = "3";</p><p><b> }</b></p>&l
112、t;p> else if (((RadioButton)dr.FindControl("Select_D")).Checked)</p><p><b> {</b></p><p> Select_StuAnswer = "4";</p><p><b> }</b>
113、</p><p> string SelectID = ((Label)dr.FindControl("lb_SelectID")).Text.ToString();</p><p> string Select_RightAns = "";</p><p> SqlDataReader sdr = d.DataRead
114、("select RightAns from tb_Select where ID ='" + SelectID + "'");</p><p> while (sdr.Read())</p><p><b> {</b></p><p> Select_RightAns = sdr
115、["RightAns"].ToString();</p><p><b> }</b></p><p> if (Select_RightAns.Trim().Equals(Select_StuAnswer.Trim()))</p><p><b> {</b></p><p&
116、gt; scale = 1.0f;</p><p> S_Score += selectSco;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> sca
117、le = 0.0f;</p><p> S_Score += 0;</p><p><b> }</b></p><p> Session["S_Sco"] = S_Score;//考生分?jǐn)?shù)</p><p> string sql = "insert into tb_StudentA
118、ns (StudentNum,ExaminationID,Type,TestID,StudentAns,Scale) values ('" + Session["ID"].ToString() + "','" + Session["examinationid"].ToString() + "','" + 1
119、+ "','" + SelectID + "','" + Select_StuAnswer.ToString() + "','" + scale + "') ";</p><p> BaseClass.OperateData(sql);</p><p>
120、<b> }</b></p><p><b> }</b></p><p><b> 功能流程圖如下圖:</b></p><p> Y N</p><p> Y
121、 N</p><p> Y N</p><p><b> Y</b></p><p> Y N</p><p> 圖:5-4系統(tǒng)自動(dòng)評(píng)分功能流程圖</p><p>
122、 交卷分為考生自己提交試卷和系統(tǒng)自動(dòng)保存試卷兩種情況。不管哪種情況進(jìn)行提交試卷功能,系統(tǒng)都會(huì)進(jìn)行自動(dòng)評(píng)分功能。首先系統(tǒng)用foreach函數(shù),遍歷選擇題,取出學(xué)生答案放在Select_StuAnswer變量里和考題編號(hào);然后利用試題編號(hào)查找選擇題表tb_Select記錄,把學(xué)生答案和該試題正確答案進(jìn)行比對(duì)評(píng)分,正確Scale正確率為1,總分S_Score加上每題分值,錯(cuò)誤Scale正確率為0總分S_Score加上0,;最后把Examina
123、tionID試卷編號(hào)、TestID試題編號(hào)、StudentAns學(xué)生答案、Type試題類(lèi)型值為1、Scale正確率存放在tb_StudentAns學(xué)生答案表。</p><p><b> 5.3 教師模塊</b></p><p> 5.3.1 教師系統(tǒng)首頁(yè)</p><p> 教師系統(tǒng)首頁(yè),默認(rèn)顯示選擇查詢(xún)?cè)囶}類(lèi)型TSearch.axps.c
124、s頁(yè)面,在教師系統(tǒng)首頁(yè)里,提供試卷管理功能、試題信息管理功能、考試結(jié)果管理功能和個(gè)人信息管理功能。</p><p> 5.3.2 試題信息管理功能</p><p> 在線考試系統(tǒng),試題信息管理是其重要組成部分,教師可以按不同的試題題型進(jìn)行試題添加、修改、查詢(xún)、刪除等功能。選擇題試題管理是對(duì)選擇題表tb_Select的添加、刪除、修改操作;填空題試題管理是對(duì)填空題表tb_Blank的添加
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 無(wú)紙化隨機(jī)抽題考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-在線考試系統(tǒng)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----在線考試系統(tǒng)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- java在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 在線考試系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---網(wǎng)絡(luò)在線考試系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----網(wǎng)上在線考試系統(tǒng)設(shè)計(jì)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告
- c語(yǔ)言在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---在線考試系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告
- 在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論