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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  隨機抽題防作弊在線考試系統(tǒng)</p><p><b>  摘 要</b></p><p>  本文主要介紹了隨機抽題防作弊在線考試系統(tǒng)的需求分析、總體設計和詳細的設計過程、并在此基礎建立了后臺數(shù)據庫,利用ASP.NET和SQL(Structured Query Language)數(shù)據庫技術開發(fā)實現(xiàn)了該考試系統(tǒng)。該系統(tǒng)分為前臺學生端和后臺用戶端

2、,其中后臺用戶包括教師和系統(tǒng)管理員。它具有用戶登錄驗證、學生在線考試、動態(tài)隨機抽題、自動判卷、學生信息管理、班級信息管理、科目信息管理、試題信息管理、試卷信息管理、成績信息管理、個人信息管理等功能,本系統(tǒng)主要由以下模塊組成:用戶登錄模塊、抽取試題模塊、自動評分模塊、試題管理模塊、教師管理模塊與管理員管理模塊,分別包括了系統(tǒng)各種相關數(shù)據信息的增加、修改、刪除等功能。</p><p>  關鍵字:在線考試系統(tǒng);隨機抽

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)的問題的提出及發(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框架簡介2</p><p> 

8、 2.2 C#語言簡介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內置對象4</p><p>  2.4 SQL Server 20

9、05 簡介5</p><p>  2.5 ADO.NET簡介5</p><p>  2.5.1 ADO.NET的基本內容5</p><p>  3. 可行性研究及需求分析6</p><p>  3.1 可行性研究6</p><p>  3.1.1 可行性分析6</p><p>  3

10、.1.2 待開發(fā)系統(tǒng)的主要開發(fā)目標6</p><p>  3.2 需求分析7</p><p>  3.2.1 系統(tǒng)需要解決的主要問題7</p><p>  3.2.2 系統(tǒng)功能模塊劃分7</p><p><b>  4. 總體設計9</b></p><p>  4.1 系統(tǒng)流程圖9&l

11、t;/p><p>  4.2 系統(tǒng)結構圖9</p><p>  4.3 重點模塊設計11</p><p>  4.4 系統(tǒng)數(shù)據庫設計12</p><p>  4.4.1 在線考試系統(tǒng)實體屬性圖12</p><p>  4.4.2 實體之間的關系圖16</p><p>  4.4.3 在線考

12、試系統(tǒng)數(shù)據庫建表及其說明17</p><p>  4.5 表之間的關系圖23</p><p>  5. 詳細設計及實現(xiàn)24</p><p>  5.1 用戶登錄24</p><p>  5.2 學生模塊24</p><p>  5.2.1 考生成績查詢24</p><p>  5.2

13、.2 考生考試有效性判斷25</p><p>  5.2.3 顯示試卷27</p><p>  5.2.4 答題及自動評分28</p><p>  5.3 教師模塊30</p><p>  5.3.1 教師系統(tǒng)首頁30</p><p>  5.3.2 試題信息管理功能30</p><p&

14、gt;  5.3.3 考試結果管理功能30</p><p>  5.4 管理員模塊34</p><p>  5.4.1 管理員模塊首頁34</p><p>  5.4.2 學生信息管理功能34</p><p>  5.4.3 教師信息管理功能34</p><p>  5.4.4 班級信息管理功能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 成績管理頁面36</p><p>  5.4.9 管理員信息維護功能36</p><p>  5.5 主要

16、功能模塊36</p><p>  6. 功能測試45</p><p>  6.1 測試目標45</p><p>  6.2 測試項目說明45</p><p>  6.3 測試評價45</p><p>  6.4 具體測試45</p><p><b>  7.結論52<

17、;/b></p><p><b>  參考文獻53</b></p><p><b>  謝 辭54</b></p><p>  附 錄(另行打?。?4</p><p>  基于ASP.NET隨機抽題防作弊在線考試系統(tǒng)</p><p><b>  

18、1. 前言</b></p><p>  1.1 在線考試系統(tǒng)的問題的提出及發(fā)展背景</p><p>  隨著網絡技術的飛速發(fā)展,實驗室教學管理系統(tǒng)也應該為同學們工作、生活和學習提供一種全新的學習工作方式。特別是考試,在傳統(tǒng)的考試方式下,組織一次考試至少要經過五個步驟,即人工出題、考生考試、人工閱卷、成績評估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,傳統(tǒng)的考試

19、方式給教師帶來了很大的工作壓力。人們迫切要求利用一些技術來進行在線考試,用于減輕教師的工作負擔以及提高工作效率和考試質量,從而使考試趨于公正、客觀。</p><p>  1.2 考試系統(tǒng)的研究目的及其意義</p><p>  在線考試系統(tǒng)的主要特點是一方面以按照要求自動生成各種試卷;另一方面,考試時間靈活,用戶可以在規(guī)定時間段內參加考試,考試結束時給出考試結果,計算機閱卷給了用戶的最大的公

20、平感。</p><p>  在線考試雖然改變了考試形式,但是同樣存在與傳統(tǒng)考試一樣的現(xiàn)象——作弊。常見的在線考試系統(tǒng)雖然可以保證一份試卷上的試題不相同,使在線考試中一個重要環(huán)節(jié)——生成試卷過程簡化、智能化,但是由于考生座位的可變性,很可能會出現(xiàn)前后左右同學試卷試題與中間同學試卷試題重復的現(xiàn)象,也就是說雖然可以保證學生自己的試卷試題不重復,卻不能保證相鄰同學間試卷的試題不重復。要怎樣解決這個問題,是本系統(tǒng)重點研究的

21、方向。</p><p>  1.3 考試系統(tǒng)的功能和作用</p><p>  常見的在線考試系統(tǒng),在生成試卷時都有一個前提,就是要求系統(tǒng)要有足夠的大題庫,才能降低隨機抽題時試卷試題的重復率,防止考生考試作弊。這樣相對于傳統(tǒng)的考試形式雖然可以減輕教師在生成試卷和試卷批改方面的工作量,但是仍需要教師花大量的精力在出題上。</p><p>  而本系統(tǒng)在題庫方面可以進一步

22、減輕教師的工作量,假設教師設置的試卷某種題型題量為x,這樣本系統(tǒng)的題庫只要存在3x的試題,也能解決考試試卷試題重復的問題,進一步減輕教師負擔。</p><p>  本系統(tǒng)是利用ASP.NET與SQL2005技術開發(fā)的在線考試系統(tǒng)。它使用方便,操作簡單,多用戶同時在線考試、自動判卷、題庫管理、隨機生成試卷、用戶管理、成績管理等功能。希望本系統(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是一套完整的開發(fā)工具集,用于生成ASP.NET Web應用程序、移動應用程序等多種應用程序,是多種語言所共同

24、使用的集成開發(fā)環(huán)境(IDE)。Visual Studio利用.NET框架的功能,可簡化ASP Web應用程序和Web服務開發(fā)的關鍵技術。可以非常輕松地創(chuàng)建具有自動伸縮能力的、功能強大的、性能可靠的各類應用程序[1]。</p><p>  2.1.2 .NET框架簡介</p><p>  .NET框架(.NET Framework)是微軟支持下一代應用程序的內部Windows組件。它將引導未

25、來軟件開發(fā)策略,特別是基于Web的應用開發(fā)朝著自然、簡單、高效、靈活的方向發(fā)展。.NET Framework具有兩個主要組件:公共語言運行庫和基本類庫。公共語言運行庫(Common Language Ran-time, CLR)是.NET Framework的基礎,它包含Windows和ASP.NET兩部分應用的支持。用戶可以將運行庫看作一個在執(zhí)行是管理代碼的代理。公共語言運行庫管理內存、線程執(zhí)行、代碼執(zhí)行、代碼安全驗證、編譯以及其他系

26、統(tǒng)服務[1]。</p><p>  2.2 C#語言簡介</p><p>  C#從C和C++派生而來,汲取了C、C++、Java以及Delphi和Visual Basic等語言的有點,具有簡單、強大、靈活、類型安全和面向對象等優(yōu)點。C#是唯一為.NET框架設計的語言,能使用.NET框架代碼庫提供的各種功能。Visual Studio 2005、C#和.NET 框架具有以下優(yōu)點。</

27、p><p>  1、統(tǒng)一的開發(fā)工具和.NET框架</p><p>  開發(fā).NET應用程序主要使用Visual Studio開發(fā)工具和.NET框架,這與開發(fā)J2EE平臺的應用程序大大不相同,J2EE平臺有來自不同軟件提供商的開發(fā)工具和不同的J2EE應用服務器,需要花時間熟悉和掌握不同的J2EE平臺開發(fā)工具和應用服務器。</p><p>  2、開發(fā).NET技術簡單和快速

28、</p><p>  Microsoft Visual 2005提供高級代碼編輯器、方便的用戶界面設計器、集成調試器和許多其他工具,并在C#2.0和.NET框架的基礎上加快各種不同類型功能強大的應用程序的開發(fā)。</p><p><b>  3、語言互操作性</b></p><p>  由于C#編輯器生成的IL代碼符合公共類型規(guī)范(CTS),因此

29、從C#生成的IL代碼可以從Visual Basic、Visual C++、Visual J#的.NET版本等CTS語言中的任何一種生成的代碼進行交互。</p><p>  4、.NET框架的庫</p><p>  .NET框架包含一個由4000多個類型組成的內容詳盡的庫,這些類型被組織為命名空間,為從文件輸入和輸出到字符串操作、到Windows窗體控件的所以內容提供各種有用的功能[1]。&

30、lt;/p><p>  2.3 ASP.NET</p><p>  ASP.NET是一種統(tǒng)一的Web平臺,它提供了生成企業(yè)級應用程序所需要的全部服務。它建立在.NET框架的編程類的基礎上,為Web應用程序模型提供了一組可簡化Web應用程序生成的控件和基礎結構(如Web窗體和Web服務)。用來在服務器端構建強大的Web應用,包括ASP.NET頁框架、Web Form、XML Web服務、配置和部

31、署等概念[2]。</p><p>  2.3.1 ASP.NET的基本概念</p><p>  1、ASP.NET頁框架</p><p>  ASP.NET頁框架是一種編程框架,它在Web服務器上運行,以動態(tài)地生成和管理Web窗體頁。ASP Web頁面(Web Form)是ASP.NET中的基本內容,主要提供瀏覽界面設計及其交互功能的代碼編程能力。與其他Web頁面相

32、比(如單純的超文本鏈接標示語言(HTML)頁面、動態(tài)服務器(ASP)頁面等),ASP.NET的Web頁面全面支持面向對象的設計思想,既頁面內容布局可通過可視化對象來設計,其交互功能可通過捕捉這些對象的事件和調用方法來完成。</p><p><b>  2、Web窗體</b></p><p>  Web窗體又被稱為Web表單,Web窗體提供了窗體設計器、編輯器、控件和調

33、試功能,這些功能結合在一起,能夠為瀏覽器和Web客戶端設備快速的生成給予服務器的可編程用戶界面。</p><p>  3、ASP.NET應用程序</p><p>  ASP.NET應用程序是指可以從特定位置(該特定位置指Web應用程序服務器上的虛擬目錄及其子目錄)調用的所有文件、頁、處理程序、模塊和可執(zhí)行代碼[2]。</p><p>  2.3.2 ASP.NET的

34、優(yōu)越性</p><p>  ASP.NET帶來了一場網絡編程的革命,開發(fā)人員可以方便快速地開發(fā)Web應用程序和Web服務。具體地說,ASP.NET的優(yōu)點有如下幾個方面。</p><p>  1)世界級的工具支持。ASP.NET框架補充了Visual Studio集成開發(fā)環(huán)境中的大量工具箱和設計器。拖放服務器控件和自動部署只是這個強大的工具所提供功能中的少數(shù)幾種。</p>&l

35、t;p>  2)威力和靈活性。因為ASP.NET基于公共語言運行庫,所以Web應用程序開發(fā)人員可以利用整個平臺的威力和靈活性。</p><p>  3)簡易性。ASP.NET使執(zhí)行任務變得容易,從簡單的窗體提交和客戶端身份驗證到部署和站點配置。另外,公共語言運行庫利用托管代碼服務,簡化了開發(fā)。</p><p>  4)可縮放性和可用性。ASP.NET在設計時考慮了可縮放性,增加了專門

36、用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。</p><p>  5)可管理性。ASP.NET采用基于文本的分層配置系統(tǒng),簡化了將設置應用于服務器環(huán)境和Web應用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應用新設置。</p><p>  6)自定義性和擴展性。ASP.NET隨附了一個設計周到的結構,它使開發(fā)人員可以在適當?shù)募墑e“插入”代碼。</p

37、><p>  7)安全性。借助內置的Windows身份驗證和基于每個應用程序的配置,可以保證應用程序是安全的[2]。</p><p>  2.3.3 常用到的ASP.NET內置對象 </p><p>  Application對象:對整個ASP.NET執(zhí)行環(huán)境而言,一個虛擬目錄下的所有ASP.NET程序構成了一個Web應用程序。在多任務執(zhí)行的情況下,來自四面八方的眾多用

38、戶可能執(zhí)行同一個Web應用程序,這便依賴Application對象。</p><p>  Request對象:獲取從客戶瀏覽器傳給服務器端的數(shù)據,如接收來自表單的數(shù)據。</p><p>  Response對象:Request對象與Response對象就像一般程序語言里的Input及Output命令,若要讓服務器端的ASP.NET程序能夠接收來自客戶端的信息,須用Request對象;若想將

39、服務器端的信息傳遞給客戶端,須用Response對象。</p><p>  Session對象:Session對象的信息只適用于同一位用戶,換句話說,一個Session對象只屬于一位用戶[2]。</p><p>  2.4 SQL Server 2005 簡介</p><p>  SQL Server 2005是Microsoft公司推出的全新的數(shù)據庫平臺它包括多種

40、軟件組件與服務,例如關系數(shù)據引擎、分析服務、通知服務、報表服務、中介服務、等等。關系數(shù)據引擎是SQL Server 2005處理解決關系數(shù)據庫的核心組件,它可滿足各類不同等級應用程序對數(shù)據的存儲,查詢與更新的需求。分析服務提供了商業(yè)智能的專業(yè)平臺,它可以應用在OLAP、數(shù)據倉庫、數(shù)據挖掘上,協(xié)助企業(yè)建立最適當?shù)臎Q策支持。用以滿足企業(yè)對日益復雜的信息系統(tǒng)的需求[3]。</p><p>  2.5 ADO.NET簡介

41、 </p><p>  ADO.NET是一種新型的數(shù)據庫訪問技術,它運行于.NET平臺上,集合所有允許數(shù)據處理的類,是一個具有典型數(shù)據功能的數(shù)據容器對象。ADO.NET作為頁面和數(shù)據庫的中間件,使用.NET數(shù)據提供程序,實現(xiàn)應用程序到數(shù)據源的連接,適用于各種數(shù)據庫連接,具有很好的通用性。通過ADO.NET,應用程序能夠連接到指向住據庫的數(shù)據源,檢索、操作和更新數(shù)據。</p><p>  2

42、.5.1 ADO.NET的基本內容</p><p>  ADO.NET對象模型中有五個主要的組件,分別是Connection對象、Command對象、DataAdapter、DataSet以及DataReader,用來完成數(shù)據訪問操作。</p><p>  Connection對象主要是開啟程序和數(shù)據庫之間的連結。沒有利用連結對象將數(shù)據庫打開,是無法從數(shù)據庫中取得數(shù)據的。</p>

43、;<p>  Command對象主要可以用來對數(shù)據庫發(fā)出一些指令,是架構在Connection對象上,是透過連結到數(shù)據源的Connection對象來下命令的。</p><p>  DataAdapter對象主要是在數(shù)據源以及DataSet之間執(zhí)行數(shù)據傳輸?shù)墓ぷ鳎@個對象是架構在Command對象上,提供了許多配合DataSet使用的功能。</p><p>  DataSet這

44、個對象可以視為一個暫存區(qū)(Cache),從數(shù)據庫中所查詢到的數(shù)據保留起來,甚至可以將整個數(shù)據庫顯示出來。</p><p>  3. 可行性研究及需求分析</p><p><b>  3.1 可行性研究</b></p><p>  在線考試系統(tǒng)的主要特點是一方面可以動態(tài)地管理各種考試信息,按照要求自動生成各種試卷;另一方面,計算機化的考試的最大特

45、點是閱卷快,系統(tǒng)可以在考試結束時當場給出考試結果,計算機閱卷給了用戶的最大的公平感。如何通過一種開發(fā)語言能高效的設計出這個系統(tǒng)是值得考慮的一個需求。ASP.NET技術為這個系統(tǒng)設計提供了極大的方便。</p><p>  3.1.1 可行性分析</p><p>  技術方面的可行性,在軟件方面可以用以下幾種:</p><p>  (1)操作系統(tǒng)用windows。win

46、dows作為一個優(yōu)秀的網絡操作系統(tǒng),它的發(fā)行版本中集成了大量的網絡應用軟件。</p><p>  (2)web服務器端采用IIS+ASP.NET+SQL Server2005。IIS是微軟公司主推的Web服務器,它使系統(tǒng)的主要好處是一方面可以動態(tài)地管理各種考試信息,就可以按照要求自動生成各種試卷。該系統(tǒng)最大的實際應用就是特別適合于現(xiàn)代大學的考試,不僅減輕了教師因要批改大量試卷的負擔,而且可以進一步解決考生考試作弊

47、問題。</p><p>  經濟方面可行性,系統(tǒng)開發(fā)周期一般為2個月左右,開發(fā)所需硬件軟件設施大多數(shù)PC機系統(tǒng)能夠承擔,開發(fā)費用不高。目前,學校都擁有高性能PC機和局域網,該軟件系統(tǒng)的安裝、部署、運行和維護,都不需要太高的費用。</p><p>  操作可行性方面:大多數(shù)PC機和局域網能夠運行該系統(tǒng)。該系統(tǒng)的安裝、調試、運行不會改變原計算機系統(tǒng)的設置和網絡的布局,并且大多數(shù)用戶幾乎不用做任

48、何培訓都能夠方便的操作軟件。</p><p>  3.1.2 待開發(fā)系統(tǒng)的主要開發(fā)目標</p><p>  (1)隨機抽取試題,降低考試試卷試題重復率的可行性與完整性。</p><p>  (2)教室座位和考試試卷聯(lián)系起來,通過考試教室的作為安排生成試卷,使前后左右和中間同學的試卷題目不一樣,防止學生考試作弊。</p><p><b&g

49、t;  3.2 需求分析</b></p><p>  3.2.1 系統(tǒng)需要解決的主要問題</p><p>  考生進入考試系統(tǒng)后,需要選擇考試科目,只有考試科目存在考試試卷,考生才能參加該門課程的考試,所以系統(tǒng)還應有考試科目選擇的功能和判斷考試科目是否存在的功能。鑒于考試環(huán)境一般為機房,考試者之間的距離很近,為了避免考生考試做弊,試卷的題型和題量都應是相同的,但試題題目不能重復

50、。所以在抽題時要做到前后左右同學的試題和中間同學的試題不重復,這個是本系統(tǒng)與其他在線考試系統(tǒng)的主要區(qū)別,也是本系統(tǒng)主要研究方向。另外,系統(tǒng)還應該對考試時間進行控制,在離考試結束前三分鐘,會提示考生交卷,時間到了系統(tǒng)會自動保存考生答案??忌x擇提交答卷后,系統(tǒng)會自動判卷,給出考生分數(shù)。作為老師,還應擁有試卷分析功能,用于分析該門課程考試情況。</p><p>  3.2.2 系統(tǒng)功能模塊劃分 </p>

51、<p>  本系統(tǒng)是為了滿足在線考試的需求而設計開發(fā)的,所以本考試系統(tǒng)應具備的考試系統(tǒng)功能分為前臺考生端和后臺管理端兩個部分,其中后臺管理端又包括管理員管理和教師管理兩個方面?;竟δ苋缦拢?lt;/p><p><b>  前臺考生端:</b></p><p>  用戶登錄驗證模塊:該模塊的主要任務是辨別系統(tǒng)登錄人員身份。</p><p&g

52、t;  考生信息管理模塊:考生成績查詢,考生密碼修改功能。</p><p>  試卷顯示模塊:根據后臺生成的試卷ID顯示試題內容,供學生考試。</p><p>  自動評分模塊:系統(tǒng)自動進行學生試卷的評分功能。</p><p>  其功能模塊圖如下圖:</p><p>  圖:3-1 前臺考生端功能模塊圖</p><p&g

53、t;<b>  后臺管理端:</b></p><p>  試題管理模塊:試題管理是該系統(tǒng)一個比較基本的模塊,其中按不同的試題題型設置了試題添加、試題修改、試題查詢、試題刪除等功能。</p><p>  教師管理模塊:該模塊的主要功能是教師可以進行試卷設置、試題詳細信息查修改、試題添加、考試結果查詢、試卷分析、教師信息維護等功能。</p><p>

54、;  抽取試題模塊:該模塊是本系統(tǒng)最重要的功能是根據先前每個科目教師設定的試卷設置,隨機抽取試題,根據考試教室座位的安排情況,生成的試卷,可以做到每個學生的試題題目不重復,以防學生作弊。</p><p>  管理員管理模塊:在該模塊中,管理員可以進行學生信息管理、教師信息管理管理、試題信息管理、班級信息管理、教室信息管理、科目信息管理、考試結果管理、管理員信息維護等功能。</p><p>

55、  后臺管理端功能模塊圖如下:</p><p>  圖:3-2 后臺管理端功能模塊圖</p><p><b>  4. 總體設計</b></p><p><b>  4.1 系統(tǒng)流程圖</b></p><p>  本部分介紹了在線考試系統(tǒng)的總體設計,主要包括公用登錄設計,學生端系統(tǒng)設計,管理員端系統(tǒng)

56、設計、教師端系統(tǒng)設計。</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)結構圖</b></p><p>  系統(tǒng)統(tǒng)由一個登錄界面登錄,在登錄時是如果是學生,則用戶名為考生學號,如果是管理員登錄,用戶名為管理員編號,若為教師登錄,用戶名則為教師編號。在驗證碼輸入正確后,分別從各自己的數(shù)據庫表中查詢帳戶,核對登錄密碼,然后根據不同的角色進入不同的界面。</p><p>  學生端系統(tǒng)結構圖如下圖4-2:</p>&

58、lt;p>  圖:4-2 學生端子系統(tǒng)結構圖</p><p>  管理員端系統(tǒng)結構圖如下圖4-3:</p><p>  圖:4-3管理員端系統(tǒng)結構圖</p><p>  教師端系統(tǒng)結構圖如下圖4-4:</p><p>  圖:4-4教師端系統(tǒng)結構圖</p><p>  4.3 重點模塊設計</p>

59、<p>  隨機抽題模塊為本系統(tǒng)的重點模塊。若像常見的在線考試系統(tǒng)那樣,在學生進行考試時開始抽題,很容易造成系統(tǒng)負載過大而引起系統(tǒng)崩潰。故本系統(tǒng)把隨機抽題功能是放在后臺實現(xiàn),即把本模塊依附在教師端系統(tǒng)中的設置考試試卷功能里。大致實現(xiàn)過程如下:</p><p>  當教師設置好各種試題題數(shù)和分值,選好要參加的考試班級和考試教室,點擊確定時,系統(tǒng)首先會判斷教師設置的總分是否等于各種題型總分之和。若不等于,則

60、系統(tǒng)會自動計算,試卷的總分為系統(tǒng)自動計算之后的總分。</p><p>  然后系統(tǒng)會計算題庫中該教師所教科目的各種題型的總題數(shù),判斷教師設置題數(shù)是否大于題庫中的題數(shù)。若大于,則提示生成試卷失敗。</p><p>  其次系統(tǒng)會根據所選擇參加考試的班級人數(shù)和考試教室的座位安排情況生成一張接近考生人數(shù)的m*n二維數(shù)組表,用于存放生成試卷的信息。</p><p>  例如

61、班級學生人數(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)根據判斷當前位置是否存在前面和左邊位子,進行隨機抽題。以此類推,隨機抽題生成所有試卷。</p><p>  例如位子[0,0]不存在前面和左邊位子,則系統(tǒng)在抽取某種題型時會在該科目這種試題里抽題;位子[0,1]不存在前面位子,只存在左邊位子[0,0],則系統(tǒng)會除去左邊位子

65、[0,0]抽過的試題范圍內抽題;位子[2,2]存在前面位子[1,2]和左邊位子[1,1],則系統(tǒng)化在抽取試題時會在除去前面位子[1,2]和左邊位子[1,1]的試題范圍內進行隨機抽題。</p><p>  最后系統(tǒng)將生成的試卷ID按學生學號順序與參加考試的考生學號綁定在一起。只要考生在考試時按學號順序就坐,則可以保證前后左右同學的試卷和中間同學試卷試題不一樣。</p><p>  4.4 系

66、統(tǒng)數(shù)據庫設計</p><p>  4.4.1 在線考試系統(tǒng)實體屬性圖</p><p><b>  (1)學生屬性圖</b></p><p>  圖:4-6學生屬性圖</p><p><b> ?。?)管理員屬性圖</b></p><p>  圖:4-7管理員屬性圖</p

67、><p><b>  (3)教師屬性圖</b></p><p>  圖:4-8教師屬性圖</p><p><b> ?。?)班級屬性圖</b></p><p>  圖:4-9班級屬性圖</p><p><b> ?。?)座位屬性圖</b></p>

68、<p>  圖:4-10座位屬性圖</p><p><b> ?。?)課程屬性圖</b></p><p>  圖:4-11課程屬性圖</p><p>  (7)試卷設置屬性圖</p><p>  圖:4-12試卷設置屬性圖</p><p> ?。?)抽取試卷屬性圖</p>

69、<p>  圖:4-13抽取試卷屬性圖</p><p>  (9)考生答案屬性圖</p><p>  圖:4-14學生答案屬性圖</p><p> ?。?0)考生得分屬性圖</p><p>  圖:4-15考生得分屬性圖</p><p>  (11)選擇題屬性圖</p><p> 

70、 圖:4-16選擇題屬性圖</p><p> ?。?2)填空題屬性圖</p><p>  圖:4-17填空題屬性圖</p><p>  (13)判斷題屬性圖</p><p>  圖:4-18判斷題屬性圖</p><p> ?。?4)多選題屬性圖</p><p>  圖:4-19多選題屬性圖<

71、;/p><p> ?。?5)簡答題屬性圖</p><p>  圖:4-20簡答題屬性圖</p><p>  4.4.2 實體之間的關系圖</p><p>  主要實體關系圖如下圖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主要實體關系圖</p><p>  4.4.3 在線考試系統(tǒng)數(shù)據庫建表及其說明</p><p>  考慮到整個系統(tǒng)的需要,我們一共設計了以下幾個數(shù)據庫表:學生信息表、教師信息表、管理員信息表、班級信息表、座位信息表、試卷設置表、試卷表、學生答案表、選擇題表、判斷題表、填空題表、多選題表、判斷題表、考生得分表學生答案表。</p><p><

75、;b> ?。?)學生信息表 </b></p><p><b>  用來保存學生信息:</b></p><p>  表:4-1 學生信息表</p><p>  表:4-1 學生信息表(續(xù))</p><p><b>  (2)管理員信息表</b></p><p>

76、;  用來保存管理員信息:</p><p>  表:4-2管理員信息表</p><p><b>  (3)教師信息表</b></p><p><b>  用來保存教師信息:</b></p><p>  表:4-3教師信息表</p><p><b> ?。?)班級信息

77、表</b></p><p><b>  用來保存班級信息:</b></p><p>  表:4-4 班級信息表</p><p> ?。?)教室座位信息表</p><p>  用來保存教室座位信息:</p><p>  表:4-5教室座位信息表</p><p>&

78、lt;b>  (6)試卷設置表</b></p><p>  用來保存設置試卷信息:</p><p>  表:4-6設置試卷信息表</p><p><b> ?。?)試卷信息表</b></p><p><b>  用來保存試卷信息:</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> ?。?)考生得分信息表</p

80、><p>  用來保存考生得分信息:</p><p>  表:4-9考生得分表</p><p><b> ?。?0)選擇題表</b></p><p>  用來保存選擇題信息:</p><p>  表:4-10 選擇題表</p><p><b>  (11)填空題表&l

81、t;/b></p><p>  用來保存填空題信息:</p><p>  表:4-11填空題表</p><p><b>  (12)判斷題表</b></p><p>  用來保存判斷題信息:</p><p>  表:4-12判斷題表</p><p><b>

82、 ?。?3)多選題表</b></p><p>  用來保存多選題信息:</p><p>  表:4-13多選題表</p><p><b> ?。?4)簡答題表</b></p><p>  用來保存簡答題信息:</p><p>  表:4-14簡答題表</p><p&

83、gt;  4.5 表之間的關系圖</p><p>  圖:4-22表之間的關系圖</p><p>  5. 詳細設計及實現(xiàn)</p><p>  對系統(tǒng)的需求有了完整、準確、具體的了解后,接下來的工作就是正確實現(xiàn)這些模塊的具體功能。</p><p><b>  5.1 用戶登錄</b></p><p&g

84、t;  用戶登錄由Login.aspx頁面實現(xiàn),它的代碼隱藏文件為Login.aspx.cs文件,用戶登錄是應用程序的主入口,用戶只有通過該入口才能進入系統(tǒng)。因為用戶所屬角色有學生、教師和管理員三類,所以在設計登錄頁面時,需要提供一個角色選擇框讓用戶選擇自己所屬的角色。</p><p>  用戶輸入用戶賬號、密碼和驗證碼,選擇登錄身份后,單擊“登錄”按鈕后,系統(tǒng)先判斷驗證碼是否正確,錯誤則彈出對話框提示驗證碼錯誤

85、;正確則根據用戶選擇的身份搜索tb_Admin、tb_Student、tb_Teacher三張表,查找記錄,若存在則可登錄到系統(tǒng),否則彈出對話框提示登錄失敗。 </p><p><b>  5.2 學生模塊</b></p><p>  用戶以學生身份進入學生系統(tǒng)首頁studentSelect.aspx,在此頁系統(tǒng)提供三種功能供學生選擇,學生可進行考試成績查詢或是點擊進

86、入考試界面studentexam.aspx亦或是可以修改學生密碼studentChangePwd.aspx,這里學生只能修改自己的登錄密碼,不能修改其他信息。</p><p>  5.2.1 考生成績查詢</p><p>  在學生選擇科目進行成績查詢,相關代碼如下:</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());//返回值為是否存在考生相關科目成績信息</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>  ……//若存在該考生改科目的考試成績記錄,則在文本框顯示顯示相應數(shù)據</p><p><b>  }</b></p><p>  ……//通過sSQL語句,在相應文本框顯示學生學號、姓名、班級信息</p><p><b>  }

91、</b></p><p><b>  else </b></p><p><b>  {</b></p><p>  MessageBox.Show("沒有你的考試記錄!");</p><p><b>  }</b></p><

92、;p>  功能流程圖如下圖5-1</p><p>  N Y</p><p>  圖:5-1考生成績查詢功能流程圖</p><p>  此功能首先通過學生學號StudentNum和課程編號CourseID查找tb_Score表里記錄,先判斷是否存在考生記錄i,若i>0,則輸出相應數(shù)據,否則彈出對話框“沒有你的

93、考試記錄!”。</p><p>  5.2.2 考生考試有效性判斷</p><p>  當用戶選擇進入考試后出現(xiàn)閱讀考試規(guī)則頁面,只有仔細閱讀考試規(guī)則后,點擊“已經閱讀完考試制度”按鈕,才能選擇要參加的考試科目,進入考試頁面。</p><p><b>  相關代碼如下:</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("你已經參加過此科目的考試了!");</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、>  ……//取出考生試卷編號,放在Session[“examinationID”]值里,并跳轉到StartExam.aspx頁面</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>

99、;  MessageBox.Show("該科目暫無考試信息!");</p><p><b>  }</b></p><p>  功能流程圖如下圖5-2</p><p>  N Y</p><p>  N

100、 Y</p><p>  圖:5-2選擇參加考試功能流程圖</p><p>  在學生選擇科目參加考試時,系統(tǒng)首先通過學生學號StudentNum和課程編號CourseID查找tb_Score表里記錄,先判斷是否存在考生記錄i,若i>0,則輸出相應數(shù)據,否則彈出對話框“你已經參加過此科目的考試了!”。接著,根據CourseID考試科目編號和ClassID班級編號查找試卷設置表tb

101、_ExamSet的相關記錄,若N>0則教師有對該班級設置過試卷,考生可以進入考試頁面開始考試,否則提示“該科目暫無考試信息”。</p><p>  5.2.3 顯示試卷</p><p>  考生進入考試頁面,開始考試。(因其他題型顯示試題方法類似,故以下只列出單選題試題顯示方法)實現(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>  當學生點擊確定進入考試頁面StartExam.aspx時,系統(tǒng)根據之前保存的Session[“examinationID”]考生考試試卷ID查找試卷表tb_Examination記錄,抽取該試卷各種題型試題ID,利用GridView控件根據各種題型的試題ID綁定數(shù)據,循環(huán)把試題信息顯示在試卷上。</p><p>

107、  5.2.4 答題及自動評分</p><p>  考生考生答題后系統(tǒng)進行自動評分。(因其他題型自動評分方法類似,故以下只列出單選題自動評分方法SaveSelect())其實現(xiàn)代碼如下:</p><p>  protected void SaveSelect()//遍歷選擇題,取出學生答案和考題編號并保存</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;//考生分數(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)自動評分功能流程圖</p><p> 

122、 交卷分為考生自己提交試卷和系統(tǒng)自動保存試卷兩種情況。不管哪種情況進行提交試卷功能,系統(tǒng)都會進行自動評分功能。首先系統(tǒng)用foreach函數(shù),遍歷選擇題,取出學生答案放在Select_StuAnswer變量里和考題編號;然后利用試題編號查找選擇題表tb_Select記錄,把學生答案和該試題正確答案進行比對評分,正確Scale正確率為1,總分S_Score加上每題分值,錯誤Scale正確率為0總分S_Score加上0,;最后把Examina

123、tionID試卷編號、TestID試題編號、StudentAns學生答案、Type試題類型值為1、Scale正確率存放在tb_StudentAns學生答案表。</p><p><b>  5.3 教師模塊</b></p><p>  5.3.1 教師系統(tǒng)首頁</p><p>  教師系統(tǒng)首頁,默認顯示選擇查詢試題類型TSearch.axps.c

124、s頁面,在教師系統(tǒng)首頁里,提供試卷管理功能、試題信息管理功能、考試結果管理功能和個人信息管理功能。</p><p>  5.3.2 試題信息管理功能</p><p>  在線考試系統(tǒng),試題信息管理是其重要組成部分,教師可以按不同的試題題型進行試題添加、修改、查詢、刪除等功能。選擇題試題管理是對選擇題表tb_Select的添加、刪除、修改操作;填空題試題管理是對填空題表tb_Blank的添加

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論