在線考試系統(tǒng)畢業(yè)論文
《在線考試系統(tǒng)畢業(yè)論文》由會員分享,可在線閱讀,更多相關《在線考試系統(tǒng)畢業(yè)論文(39頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、在線考試系統(tǒng) 在線考試系統(tǒng) 摘要 隨著網(wǎng)絡的普及和對教育的重視,各院校各學科的網(wǎng)上考試都具有了必要的使用環(huán)境。但是,目前國內(nèi)的一些網(wǎng)絡教學系統(tǒng)的主要功能是教學,不能單獨作為考試平臺,通用性差,而且系統(tǒng)中對主觀題的評閱多是采用人工評閱方式,沒有實現(xiàn)真正意義上的自動評分。另一方面,我們所在院校的計算機基礎課已開設了多年,但尚在沿用傳統(tǒng)的考試形式或使用單機版的考試系統(tǒng)?;赪eb的網(wǎng)上考試系統(tǒng)的設計與實現(xiàn)就是基于上述目的開發(fā)設計的。 本系統(tǒng)采用B/S架構作為系統(tǒng)的總體結(jié)構,以Web數(shù)據(jù)庫技術為依托,利用微軟的ASP.NET技術,結(jié)合ADO,實現(xiàn)了對Web數(shù)據(jù)庫的訪問和查詢。該設計實現(xiàn)了
2、按題型隨機抽題組卷、在線考試、題庫管理、系統(tǒng)管理的功能,能夠?qū)陀^題在線評分。學生用學號登錄成功后,閱讀考試須知,之后選擇考試科目進入考試頁面,完成相應科目考試,自動給出考試成績。系統(tǒng)管理,實現(xiàn)了對題庫、考生信息、考試成績、考試科目的管理。題庫管理,實現(xiàn)了對試題的添加、編輯、刪除功能;考生信息管理可以添加、修改、刪除、查詢考生信息,成績管理可以刪除成績信息,科目管理主要是修改考試科目信息。 基于Web的網(wǎng)上考試系統(tǒng)本身是一個很大的系統(tǒng),尤其試題庫部分需要許多人的參與以及大量的投入才能建成。該系統(tǒng)雖然僅僅是完成《計算機文化基礎》和《操作系統(tǒng)》課程的考試,但卻具有良好的實用性與通用性,提供友好的
3、人機界面,具有較好的可擴充性和開放性。 論文關鍵詞:ASP.net B/S 網(wǎng)絡考試系統(tǒng) 數(shù)據(jù)庫 Summary:With the popularity of the network and the importance of education, the institutions of various subjects on-line examinations have the necessary use of the environment. However, there are some domestic network teaching system main fu
4、nction is teaching, not alone as a test platform, general poor, and the system on the subjective question of Ping Yue Ping Yue mostly artificial means, there is no real sense of the automatic scoring. On the other hand, the institutions where we have set up basic computer classes for many years, but
5、 still follow the traditional examination forms or use stand-alone version of the exam system. Web-based Online Examination System is based on the purpose and implementation of development and design. The system uses the B / S structure as the systems overall structure to Web database technology
6、 as the basis, using Microsofts ASP.NET technology, combined with ADO, realized the Web database access and queries. The design is achieved by randomly Questions in paper selection, online exam, question bank management, system management functions, to question the objective line score. Students wit
7、h Student ID login is successful, read the exam notes, and then select the test subjects into the test page, complete the appropriate subject examination, examination results are given automatically. System management, implementation of test database, candidate information, examination results, test
8、 subjects of management. Question bank management, and the addition of questions, edit, delete functions; candidate information management can add, modify, delete, query candidates information, performance management, performance information can be deleted, subject mainly to modify the test subjects
9、 management information. Web-based online examination system itself is a great system, in particular, part of item bank need the participation of many people and lots of investment to build. Although the system is just the completion of "Computer Culture" and "operating system" course Paper Key
10、words: ASP.net B / S database of network test system 1 目錄 第1章 引言 1 1.1開發(fā)背景 1 1.2 開發(fā)意義 2 第2章 系統(tǒng)開發(fā)工具及開發(fā)平臺 3 2.1開發(fā)工具及平臺 3 2.2 開發(fā)工具的簡單介紹 3 2.2.1 .NET 3 2.2.2 C# 語言 4 2.2.3 SQL Server2000 5 2.2.4 訪問數(shù)據(jù)庫:ADO.NET 5 第3章 系統(tǒng)分析 7 3.1 系統(tǒng)及需求分析 7 3.1.1 系統(tǒng)需求 7 3.1.2 可行性分析 7 3.2 系統(tǒng)功能簡介 8
11、3.2.1 用戶登錄及注冊模塊 8 3.2.2 在線考試模塊 9 3.2.3 試題管理模塊 9 3.2.4學生信息管理模塊 9 3.2.5 教師信息管理模塊 10 3.2.6 成績信息管理 10 第4章 系統(tǒng)總體設計 11 4.1 系統(tǒng)架構設計 11 4.2 系統(tǒng)功能模塊劃分 12 第5章 數(shù)據(jù)庫設計 13 5.1 總體設計 13 5.2 表設計 13 5.2.2 學生表 ostudent 13 5.2.2 教師表 oteacher 13 5.2.3 管理員 oadmin 14 5.2.4選擇題表 oselect 14 5.2.5 填空題表 oinput 14
12、 5.2.6判斷題ojudge 15 5.2.7 成績信息表oresult 15 第6章 系統(tǒng)功能詳細設計及實現(xiàn) 16 6.1 系統(tǒng)通用類及模塊設計 16 6.2 用戶登錄和注冊 16 6.2.1 用戶登錄 17 6.2.1 用戶注冊 19 6.3 教師功能 20 6.3.1 信息管理 20 6.3.2 試題添加: 23 6.3.3 試題維護 24 6.4 學生功能 27 6.4.1 考試管理 28 6.4.2 信息管理 30 數(shù)理系網(wǎng)站建設 6.5 管理員功能 32 6.5.1 添加信息 32 6.5.2 信息管理 33 6.5.3 信息查詢
13、34 致謝 37 參考文獻 38 第1章 引言 1.1開發(fā)背景 Internet技術的發(fā)展使得考試的技術手段和載體發(fā)生了革命性的變化,Internet的開放性、分布性的特點和基于Internet的巨大的計算能力使得考試突破了時間和空間的限制。與傳統(tǒng)考試模式相比,在線考試具有無可比擬的優(yōu)越性,它可以將傳統(tǒng)考試過程中的試卷組織、審定印制、傳送收集、登記發(fā)放、評判歸檔各個環(huán)節(jié)縮小到一至兩個環(huán)節(jié),幾乎屏蔽了所有人工直接干預考試活動的可能性,不但能夠節(jié)約大量的時
14、日、人力、物力與財力,而且還可以大幅度增加考試成績的客觀性和公正性。 傳統(tǒng)的考試方式一般要經(jīng)過人工出卷、考生考試、人工閱卷等過程。對于一些課程來說,隨著考生數(shù)量的增加,教師出卷閱卷的工作量將會越來越大,并且其工作十分煩瑣和非常容易出錯。在線考試系統(tǒng)課題產(chǎn)生的背景是當今教育信息化的趨勢及我國高校教育信息化系統(tǒng)的建設,目的是充分利用學?,F(xiàn)有的計算機軟、硬件和網(wǎng)絡資源實現(xiàn)無紙化考試以避免傳統(tǒng)手工考試的不足。與傳統(tǒng)考試模式相比,網(wǎng)上考試滲入了更多的技術環(huán)節(jié),對實現(xiàn)安全性的途徑、方法也提出了更高的技術要求。通過Internet來實現(xiàn)網(wǎng)上考試,是現(xiàn)代教育技術的一個具體實現(xiàn),具有很重要的現(xiàn)實意義??梢詫崿F(xiàn)
15、教考分離以及考務工作的全自動化管理,可以有效利用校園網(wǎng)的軟硬件資源,使其發(fā)揮最大效力,更好的為學校的教學、科研、管理服務,可以大規(guī)模的實行考試,實現(xiàn)考試的客觀性、公證性,自動化組卷、閱卷可以減輕教師的工作強度。傳統(tǒng)考試要求老師刻試卷、印試卷、安排考試、監(jiān)考、收集試卷、評改試卷、講評試卷和分析試卷。這是一個漫長而復雜的過程,已經(jīng)越來越不適應現(xiàn)代教學的需要。在線考試系統(tǒng)是傳統(tǒng)考場的延伸,它可以利用網(wǎng)絡的無限廣闊空間,隨時隨地的對學生進行考試,加上Web數(shù)據(jù)庫技術的利用,大大簡化了傳統(tǒng)考試的過程。 本文以Internet為平臺,研究了基于Web考試系統(tǒng)的設計與開發(fā),包括系統(tǒng)需求分析和系統(tǒng)功能設計以
16、及數(shù)據(jù)庫設計。重點闡述了用戶注冊模塊、用戶登錄模塊、在線考試模塊、試卷管理模塊、用戶管理模塊、成績管理模塊的設計。 1.2 開發(fā)意義 在網(wǎng)絡技術逐漸滲入社會生活各個層面的今天,傳統(tǒng)的考試方式也面臨著變革,而網(wǎng)絡考試則是一個很重要的方向?;赪eb技術的網(wǎng)絡考試系統(tǒng)可以借助于遍布全球的Internet進行,因此考試既可以在本地進行,也可以在異地進行,大大拓展了考試的靈活性。試卷可以根據(jù)題庫中的內(nèi)容即時生成,可避免考試前的壓題;而且可以采用大量標準化試題,從而使用計算機閱卷,大大提高閱卷效率;還可以直接把成績送到數(shù)據(jù)庫中,進行統(tǒng)計、排序等操作。所以現(xiàn)在較好的考試方法為網(wǎng)絡考試,試題內(nèi)容放在服務
17、器上,考生通過姓名、準考證號碼和口令進行登錄,考試答案也存放在服務器中,這樣考試的公平性、答案的安全性可以得到有效的保證。因此,采用網(wǎng)絡考試方式將是以后考試發(fā)展的趨勢。 近幾年來,借鑒發(fā)達國家的成功經(jīng)驗,結(jié)合我國的實際情況,伴隨著網(wǎng)絡應用的不斷擴大,遠程教育和虛擬大學的出現(xiàn),網(wǎng)絡應用正不斷深入人心。人們迫切要求利用網(wǎng)絡技術進行在線考試,來提高了考試的質(zhì)量,突出公正和客觀性,減輕組織及保障工作的負擔,提高工作效率。于是許多教育教學類的課程在線考試軟件應運而生,高等學校,企事業(yè)單位也都紛紛組織研究此類應用的解決方案,并研制開發(fā)了大量的不同類型計算機在線考試軟件,也推出了一批優(yōu)秀的在線考試軟件產(chǎn)品
18、,比如全國計算機等級考試軟件、職稱計算機能力考試等等。有力地推動了我國網(wǎng)絡化在線考試的發(fā)展水平,并積累了大量有價值的經(jīng)驗。 第2章 系統(tǒng)開發(fā)工具及開發(fā)平臺 2.1開發(fā)工具及平臺 本系統(tǒng)采用ASP.NET模式開發(fā)制作,用Visual Studio.NET2005和SQL SERVER 2000作為開發(fā)工具,用Web數(shù)據(jù)庫理論設計數(shù)據(jù)庫,SQL語言進行數(shù)據(jù)庫查詢、插入、刪除等操作,設計出能實現(xiàn)各個功能模塊的WEB應用程序(B/S)模式。 2.2 開發(fā)工具的簡單介紹 2.2.1 .NET .NET作為新一代互聯(lián)軟件和服務戰(zhàn)略,將使微軟現(xiàn)有的軟件在網(wǎng)絡時代不僅適用于傳統(tǒng)的個人計
19、算機,而且能夠滿足呈現(xiàn)強勁增長的新設備的需要。到底什么是.NET呢?微軟總裁兼首席執(zhí)行官Steve Ballmer把它定義為:.NET代表一個集合,一個環(huán)境,一個可以作為平臺支持下一代Internet的可編程結(jié)構。 .NET的最終目的就是讓用戶在任何地方、任何時間,以及利用任何設備都能訪問所需的信息、文件和程序。用戶不需要知道這些文件放在什么地方,只需要發(fā)出請求,然后只管接收就可以了。而所有后臺的復雜性是完全屏蔽起來的。 ".NET 是 Microsoft 的用以創(chuàng)建 XML Web 服務(下一代軟件)平臺,該平臺將信息、設備和人以一種統(tǒng)一的、個性化的方式聯(lián)系起來。" "借助于 .NET
20、 平臺,可以創(chuàng)建和使用基于 XML 的應用程序、進程和 Web 站點以及服務,它們之間可以按設計、在任何平臺或智能設備上共享和組合信息與功能,以向單位和個人提供定制好的解決方案。" ".NET 是一個全面的產(chǎn)品家族,它建立在行業(yè)標準和 Internet 標準之上,提供開發(fā)(工具)、管理(服務器)、使用(構造塊服務和智能客戶端)以及 XML Web 服務體驗(豐富的用戶體驗)。.NET 將成為您今天正在使用的 Microsoft 應用程序、工具和服務器 < XML Web 的服務能力以滿足您的所有業(yè)務需求。".NET為開發(fā)人員提供了新的開發(fā)平臺 (.NET框架) ,新的開發(fā)語言(C#) ,新
21、的開發(fā)工具 (Visual Studio .NET) ,新的開發(fā)方式 (Web Service) ;為普通用戶提供了Windows CE、Windows XP、Stinger、Xbox、Tablet PC、.NET My Services、MSN等產(chǎn)品;為企業(yè)提供了bCentral。在未來,最終大多數(shù)流行的 Microsoft 軟件應用程序--包括 Office 和 Visual Studio .NET--將開始與 XML Web 服務實現(xiàn)交互,并把它們的主要功能作為 XML Web 服務公開,以便其他開發(fā)人員可以利用。 2.2.2 C# 語言 .NET支持多種程序語言,僅.NET架構就
22、默認支持Visual Basic.NET與C#兩種程序語言。 C#是專門針對在.NET架構上開發(fā)應用程序而設計的新程序語言,就程序語法來說有點類似C++,或者說更像Java。因此有著易用、靈活性大的特點,不但擁有完整的面向?qū)ο笾С?,在程序語法的執(zhí)行效率上也比Visual Basic.NET快,所以說C#是.NET上的欽定語言也不為過。 用傳統(tǒng)程序設計語言設計程序時,都是通過編寫程序代碼來設計用戶界面,在設計過程中看不到界面的實際顯示效果,必須編譯后運行程序才能觀察。如果對界面的效果不滿意,還要回到程序中修改。有時候,這種編程-編譯-修改的操作可能要反復多次,大大影響了軟件開發(fā)效率。C#語言在
23、.NET的IDE(集成環(huán)境)下提供了可視化設計工具,把Windows界面設計的復雜性“封裝”起來,開發(fā)人員不必為界面設計而編寫大量程序代碼。只需要按設計要求的屏幕布局,用系統(tǒng)提供的工具,選擇各種“控件”,并設置這些控件的屬性,.NET會自動產(chǎn)生界面設計代碼,程序設計人員只需要編寫實現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設計的效率。C#通過事件來執(zhí)行對象的操作。一個對象可能會產(chǎn)生多個事件,每個事件都可以通過一段程序來響應。例如,命令按鈕是一個對象,當用戶單擊該按鈕時,將產(chǎn)生一個“單擊“(CLICK)事件,而在產(chǎn)生該事件時將執(zhí)行一段程序,用來實現(xiàn)指定的操作。在用.NET設計大型應用軟件時,不
24、必建立具有明顯開始和結(jié)束的程序,而是編寫若干個微小的子程序,即過程。這些過程分別面向不同的對象,由用戶操作引發(fā)某個事件來驅(qū)動完成某種特定的功能,或者由事件驅(qū)動程序調(diào)用通用過程來執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。 2.2.3 SQL Server2000 Microsoft SQL Server 2000是一個高性能的客戶端/服務器結(jié)構的關系數(shù)據(jù)庫管理系統(tǒng)(RDBMS,Relational Database Management System)。SQL Server 2000是為了支持高容量的事務處理以及數(shù)據(jù)倉庫和決策支持系統(tǒng)(比如銷售分析應用)而設計的。它運行在Micro
25、soft Windows NT4或Microsoft Windows 2000 Server上--基于intel處理器的網(wǎng)絡。可以把SQL Server 2000作為一種個人桌面數(shù)據(jù)庫系統(tǒng)安裝在運行Window NT Workstation 4、Windows 2000 Professional、Windows98和Windows Millennium Edition(Me)的機器上??梢允褂孟嗤腃D來安裝任何一個SQL Server 2000的服務器版本或個人版本。 2.2.4 訪問數(shù)據(jù)庫:ADO.NET C#.NET在數(shù)據(jù)庫程序設計方面,使用ADO.NET作為數(shù)據(jù)庫存取的接口。ADO
26、.NET采用新穎的對象觀念,專為Microsoft.NET平臺量身打造,采用離線存取模式,可供多人同時存取,特別適合在Internet環(huán)境中使用。ADO.NET是微軟新一代.NET數(shù)據(jù)庫的存取結(jié)構,ADO.NET是數(shù)據(jù)庫和數(shù)據(jù)源間溝通的橋梁,主要提供一個面向?qū)ο蟮臄?shù)據(jù)存取架構,用來開發(fā)數(shù)據(jù)庫應用程序。ADO.NET具有下列優(yōu)越性: l ADO.NET 是在.NET Framework上存取數(shù)據(jù)庫的一組類庫,它包含了.NET Data Provider(數(shù)據(jù)提供者)以進行數(shù)據(jù)庫的連接與存取,通過ADO.NET,數(shù)據(jù)庫程序設計人員能夠很輕松地使用各種對象,來存取符合自己需求的數(shù)據(jù)庫內(nèi)容。換句話說
27、,ADO.NET定義了一個數(shù)據(jù)庫存取的標準接口,讓提供數(shù)據(jù)庫管理系統(tǒng)的各個廠商可以根據(jù)此標準,開發(fā)相應的.NET Data Provider,如此編寫數(shù)據(jù)庫應用程序人員不必了解各類數(shù)據(jù)庫底層運作的細節(jié),只要學會ADO.NET提供對象的架構,便可輕易地存取所有支持. NET Data Provider的數(shù)據(jù)庫。 l ADO.NET是應用程序和數(shù)據(jù)源之間溝通的橋梁。通過ADO.NET提供的對象,再配合SQL語法就可以存取數(shù)據(jù)庫內(nèi)的數(shù)據(jù),而且凡是通過ODBC或OLEDB接口所能存取的數(shù)據(jù)庫(如:Dbase、FoxPro、Excel、Access、SQL Server、Oracle等),也可通過AD
28、O.NET對象來存取。 l ADO.NET可提高數(shù)據(jù)庫的延展性。ADO.NET可以將數(shù)據(jù)庫內(nèi)的數(shù)據(jù)以XML格式傳送到客戶端(Client)的DataSet對象中,此時客戶端可以和數(shù)據(jù)庫服務器聯(lián)機,當客戶端程序?qū)?shù)據(jù)進行新增、修改、刪除等動作后,再和數(shù)據(jù)庫服務器聯(lián)機,將數(shù)據(jù)送回數(shù)據(jù)庫服務器端完成更新的動作。如此一來就可以避免客戶端和數(shù)據(jù)庫服務器聯(lián)機時,當客戶端不對數(shù)據(jù)庫服務器作任何動作時,卻一直占用數(shù)據(jù)庫服務器的資源。此種結(jié)構使得數(shù)據(jù)處理有相互連接的雙層結(jié)構,朝多層結(jié)構發(fā)展,因而提高了數(shù)據(jù)庫的延展性。 本系統(tǒng)選用了SQL 數(shù)據(jù)庫,它具有簡單易學,操作方便的特性。如果需要,還可以稍加修改,將數(shù)
29、據(jù)庫與應用程序分離,采用客戶端/服務器方式,將數(shù)據(jù)庫放置到服務器端,此軟件作為客戶端應用程序,可對數(shù)據(jù)庫進行聯(lián)機存取。 第3章 系統(tǒng)分析 3.1 系統(tǒng)及需求分析 3.1.1 系統(tǒng)需求 通過調(diào)查,要求系統(tǒng)需要有以下功能: (1) 在主頁面內(nèi)選擇不同的身份(管理員,教師,學生)登錄不同的用戶界面及用戶選擇注冊。 (2) 管理員模塊:可以維護教師和學生的個人信息及對自己信息的更改。 (3) 教師模塊:可以增加,刪除,修改試題及查看學生的成績信息并可對自己的信息進行維護 (4) 學生模塊,根據(jù)自己的用戶名密碼登錄考試界面,進行考試,考試完后可以查看考試成績并可對自己的信息進行維護。
30、3.1.2 可行性分析 可行性分析是在系統(tǒng)調(diào)查的基礎上,針對新系統(tǒng)的開發(fā)是否具有必要性和可 行性,對新系統(tǒng)的開發(fā)從技術、經(jīng)濟、社會的方面進行可行性分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功。可行性分析的目的就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能解決。該系統(tǒng)的可行性分析包括如下幾個內(nèi)容: (1)技術方面的可行性:它主要分析技術條件是否順利完成開發(fā)工作,軟硬件是否滿足開發(fā)者的需要等。其中,軟件方面在線考試需要的軟件環(huán)境都已具備,數(shù)據(jù)庫服務器方面則有SQL Server 2000,夠處理大量數(shù)據(jù),同時保持數(shù)據(jù)的完整性并提供許多高級管理功能,其靈活性、安全性、易用性為數(shù)據(jù)庫編程
31、提供了良好的條件。 (2) 經(jīng)濟方面的可行性:主要是對這項經(jīng)濟效益進行評價,本系統(tǒng)作為一個視訊的項目,無需開發(fā)經(jīng)費并且這系統(tǒng)實施后可以顯著提高考試效率,有助于學院實行網(wǎng)絡管理化。 (3) 操作方面的可行性:目前,大學校園網(wǎng)絡覆蓋了教學區(qū)和學生區(qū)的主要建筑物,從而滿足各學院、各職能部門、各直屬單位上網(wǎng)要求,學校良好的網(wǎng)絡設施為開發(fā)使用無紙化考試網(wǎng)絡系統(tǒng)提供了堅實基礎。 綜上所述,此系統(tǒng)開發(fā)目標已經(jīng)明確,在經(jīng)濟和技術等方面可行,并且投入少見效快。 3.2 系統(tǒng)功能簡介 3.2.1 用戶登錄及注冊模塊 用戶登陸,驗證用戶的信息是否合法,用戶在使用之前必須登錄。用戶只要輸入用戶名、密碼
32、就可以了。若用戶輸入的以上兩項與數(shù)據(jù)庫中保存的相符,則表明用戶登錄成功,可以開放該用戶對應的系統(tǒng);如果不符,則登錄失敗。如果用戶要注冊,首先選擇是教師還是用戶注冊,模塊執(zhí)行流程如圖3.3所示。其中管理員、用戶登錄模塊執(zhí)行流程類似,文件為:INDEX.ASP . 如圖3.1所示 Yes No No 按照用戶名查詢 No Yes 重新輸入 登錄信息錄入 接受登錄信息 用戶名密碼驗證碼為空空? 重新輸入 登錄 用戶已存在嗎? 密碼正確嗎 圖3.1用戶登錄模塊執(zhí)行流程 提示用戶名或密碼不能為空 Yes 3.2.
33、2 在線考試模塊 在此模塊中包含隨機生成試題、在線考試、自動判卷、成績查詢等模塊。 進入在線考試系統(tǒng)。在線測試是隨機產(chǎn)生試題的,學生要先登入自己的用戶,考試過后可以查詢最新的成績。交卷過后進入判卷系統(tǒng)??荚囘^程中學生可以不按題目順序答題。 3.2.3 試題管理模塊 題庫管理包括判斷題管理、填空題管理、選擇題管理。教師可以通過題庫管理對各種類型的試題進行添加、刪除、修改以及查詢。題庫管理功能模塊圖如下圖所示,各種類型試題的管理功能均類似,主要的操作有:添加試題、刪除試題、修改試題和查看試題。如圖3.2所示。 題庫管理 填空題管理 選擇題管理 判斷題管理 圖3.2題庫管理
34、 3.2.4學生信息管理模塊 學生管理模塊包括查詢信息、更改信息、刪除信息等操作。如圖3.3所示。 學生管理 查看成績 查詢基本信息 更改、刪除 圖3.3學生管理 3.2.5 教師信息管理模塊 該模塊等功能同學生信息管理模塊。 3.2.6 成績信息管理 本模塊共分為查詢、刪除、更改和查看詳細信息等功能。如圖3.4所示。 成績管理 查詢成績 查看詳細信息 更改學生信息 刪除學生成績 圖3.4成績管理 第4章 系統(tǒng)總體設計 4.1 系統(tǒng)架構設計 本系統(tǒng)采用ASP.NET應用程序的典型系統(tǒng)架構模
35、式:數(shù)據(jù)庫——數(shù)據(jù)訪問層——業(yè)務邏輯層。數(shù)據(jù)庫是應用系統(tǒng)的基礎,它保存系統(tǒng)中所有數(shù)據(jù)。數(shù)據(jù)訪問層封裝對數(shù)據(jù)庫的操作,如創(chuàng)建數(shù)據(jù)庫連接、打開數(shù)據(jù)庫連接、執(zhí)行存儲過程和關閉數(shù)據(jù)庫連接等。在本系統(tǒng)中,業(yè)務邏輯層與應用系統(tǒng)的上層業(yè)務數(shù)據(jù)庫的關聯(lián),它調(diào)用數(shù)據(jù)庫訪問層,同時也為上層頁面表示層服務。業(yè)務邏輯層通過數(shù)據(jù)訪問層實現(xiàn)對數(shù)據(jù)庫的操作,同時為應用系統(tǒng)的頁面表示層服務提供訪問數(shù)據(jù)庫的接口或函數(shù)等。(Document類)為介紹業(yè)務邏輯層的實現(xiàn)方法。頁表表示層實現(xiàn)應用系統(tǒng)的具體頁面。它一般有Web頁面或控件組成,如系統(tǒng)主頁面logi.aspx、學生頁面student.aspx、教師頁面teacher.asp
36、x、用戶注冊頁面add.aspx等。如圖4.1. 頁面表示層 業(yè)務邏輯層 數(shù)據(jù)訪問層 數(shù)據(jù)庫 圖4.1系統(tǒng)架構 4.2 系統(tǒng)功能模塊劃分 從前面章節(jié)可以看出,本系統(tǒng)實現(xiàn)了5個完整的功能,可以根據(jù)這些功能設計出系統(tǒng)中的功能、模塊。系統(tǒng)中的各個模塊劃分如圖4.2所示: 在線考試系統(tǒng) 管理員登錄 教師登錄 學員登錄 添加用戶 添加試題 查詢信息 成績查詢 信息管理 信息管理 維護試題 成績查詢 在線考試 信息管理 圖4.2功能分析 第5章 數(shù)據(jù)庫設計 5.1 總體設計 考慮到在線考試系統(tǒng)的實際
37、需要,本系統(tǒng)需要的數(shù)據(jù)至少包括不同角色的用戶數(shù)據(jù)以及選擇題數(shù)據(jù)、填空題數(shù)據(jù)、判斷題數(shù)據(jù)和成績數(shù)據(jù)。 不同角色的用戶數(shù)據(jù)主要包括用用戶名、密碼、性別、姓名等數(shù)據(jù);試題數(shù)據(jù)主要包括試題號、學生號、教師號、試題題目、試題選項、參考答案等數(shù)據(jù);成績數(shù)據(jù)主要包括試題號、選擇題成績、判斷題成績、填空題成績、總成績等數(shù)據(jù)。 5.2 表設計 5.2.2 學生表 ostudent ostudent表包括學生信息數(shù)據(jù),如ID、姓名、密碼、性別的詳細描述等。表的字段說明如表5.1所示。 表5.1 ostudent 5.2.2 教師表 oteacher 教師表oteacher包括教師信息數(shù)據(jù),如I
38、D、姓名、密碼、性別的詳細描述等。表的字段說明如表5.2所示。 表5.2 oteacher 5.2.3 管理員 oadmin 管理員oadmin包括管理員信息數(shù)據(jù),如ID、姓名、密碼、性別的詳細描述等。其字段與學生和教師類似。 5.2.4選擇題表 oselect 選擇題表oselect用來存儲選擇題數(shù)據(jù),如id、題目、選項、參考答案等。表的字段說明如表5.3所示。 表5.3 oselect 5.2.5 填空題表 oinput 填空題表oinput用來存儲選擇題數(shù)據(jù),如id、題目、選項、參考答案等。表的字段說明如表5.4所示。 表5.4 oinput 5.2.
39、6判斷題ojudge 判斷題ojudge用來存儲選擇題數(shù)據(jù),如id、題目、選項、參考答案等。表的字段說明如表5.5所示。 表5.5 ojudge 5.2.7 成績信息表oresult 成績信息表oresult用來存儲成績數(shù)據(jù),如選擇題成績、判斷題成績、填空題成績等的詳細描述。表的字段說明如表5.6所示。 表5.6 oresult 第6章 系統(tǒng)功能詳細設計及實現(xiàn) 6.1 系統(tǒng)通用類及模塊設計 數(shù)據(jù)庫連接是連接數(shù)據(jù)庫的必須對象該類定義了一個連接字符串dsn,該字符串在整個設計中都可以使用。函數(shù)Open()、Colse()和Dispose()分別實現(xiàn)創(chuàng)建數(shù)據(jù)庫連接(包括打
40、開數(shù)據(jù)庫的連接)、關閉數(shù)據(jù)庫連接和釋放數(shù)據(jù)庫連接的功能。在文件App_Code中寫入函數(shù):student,teacher,admin,OperateData等。 teacher函數(shù)的代碼如下: public static bool teacher(string teacherId, string teacherPwd) { 連接并打開數(shù)據(jù)庫,執(zhí)行sql語句: SqlCommand cmd = new SqlCommand("select count(*) from oteacher where teacherid=" + teacherId +
41、 " and teacherpwd=" + teacherPwd + "", conn); int i = Convert.ToInt32(cmd.ExecuteScalar()); 關閉數(shù)據(jù)庫,如果i>0,則返回true,否則返回false } student函數(shù)與admin函數(shù)的代碼與teacher函數(shù)的代碼類似,在此不做介紹。Bind()函數(shù)接受傳值,執(zhí)行對應的語句,主要利用DataAdapter和DataAdapter來完成。 public static void Bind(GridView dg, string id, string str1, string
42、 str2) { 連接并打開數(shù)據(jù)庫 SqlDataAdapter sda = new SqlDataAdapter(str1, conn); DataSet ds = new DataSet(); sda.Fill(ds, str2); dg.DataSource = ds.Tables[str2]; dg.DataKeyNames = new string[] { id }; dg.DataBind(); } 6.2 用戶登錄和注冊 用戶登錄和注冊是本應用程序的功能
43、,用戶登錄是應用程序的入口,而且用戶只有通過登錄才能進入系統(tǒng)中。 6.2.1 用戶登錄 用戶登錄由頁面login.aspx實現(xiàn),它的代碼隱藏文件為login.aspx.cs。該頁面也是整個應用程序的起始頁面,用戶都是從該頁面登陸進入系統(tǒng)中的。 u 界面設計 為了實現(xiàn)用戶登錄功能,應用程序在該頁面添加3個TextBox控件、2個Button控件、3個驗證控件,它們的名稱分別為TextBox1、TextBox2、TextBox3、Button1、Button2。控件TextBox1、TextBox2分別用來輸入用戶名稱和 用戶密碼;控件RequireFieldValidator1、
44、RequireFieldValidator2、 RequireFieldValidator3分別來執(zhí)行用戶名稱和用戶密碼和驗證碼的非空驗證;頁面login.aspx的設計界面如圖6.1所示: 圖6.1 登錄頁面 u 頁面初始化 設置頁面login.aspx為應用程序的起始頁面。按F5鍵運行,出現(xiàn)如圖6.2所示的出始界面。 圖6.2 運行后的登錄頁面 u 用戶登錄功能 分別在[ID]、[密碼]和[驗證碼]文本框中輸入用戶名稱、密碼和驗證碼,然后單擊[登錄]按鈕觸發(fā)事件Button1_Click(object sender, System.EventArgs e),該事件實現(xiàn)登
45、錄功能。它調(diào)用文件App_Code中的函數(shù)public static bool teacher(string teacherId, string teacherPwd)從數(shù)據(jù)庫中的oteacher表中獲取教師的ID值。如果ID值為空,說明該用戶為非法用戶,否則添加用戶的用戶信息到全局變量Session中,最后跳到教師主頁面。學生和管理員的驗證與同學的類似,事件Button1_Click(object sender, System.EventArgs e)的程序代碼如下: private void Button1_Click(object sender, System.EventArgs e)
46、 { 判斷驗證碼是否正確,如果錯誤則顯示驗證碼錯誤,否則: 如果是學員登錄則先打開數(shù)據(jù)庫,執(zhí)行sql語句如下: SqlCommand cmd = new SqlCommand("select count(*) from ostudent where studentid=" +TextBox1.Text.Trim() + " and studentpwd=" + TextBox2.Text.Trim() + "", conn); int i = Convert.ToInt32(cmd.ExecuteScalar());
47、關閉數(shù)據(jù)庫 如果i>0 則將ID存入Session并跳到學生主頁面。 } 如果是管理員,其過程同上,跳到管理員助頁面。 6.2.1 用戶注冊 單擊頁面login.aspx中的注冊超鏈接會跳到對應的注冊(add.aspx)界面,選擇學生注冊,將觸發(fā)學生注冊(addt.aspx)事件。為了實現(xiàn)該頁面功能添加了3個TextBox控件,3個驗證控件,1個RadioButtonList控件,1個Button控件,名稱分別為:TextBox1、TextBox2、TextBox3、RequiredFieldValidator1、 Requ
48、iredFieldValidator2、RequiredFieldValidator3、RadioButtonList1、Button2。單擊確定按鈕將觸發(fā)注冊事件,代碼如下: protected void Button2_Click(object sender, EventArgs e) { 連接并打開數(shù)據(jù)庫,執(zhí)行sql語句: SqlCommand cmd = new SqlCommand("select studentid from ostudent where studentid=" + TextBox1.Text.Trim() + ""
49、, conn); int i = Convert.ToInt32(cmd.ExecuteScalar()); 如果i > 0,顯示此ID號已存在,回到adds.aspx頁面,否則執(zhí)行插入語句: string str = "insert into ostudent (studentid,studentname,sex,studentpwd) values(" + TextBox1.Text.Trim() + "," + TextBox2.Text.Trim() + "," + RadioButtonList1.SelectedValue.ToString(
50、) + "," + TextBox3.Text.Trim() + ")"; } 程序運行后的界面如圖6.2所示: 圖6.2 學生注冊 教師注冊界面與學生注冊界面類似。 6.3 教師功能 教師功能主要實現(xiàn)添加試題,試題維護,信息管理功能。添加試題中有判斷題、選擇題、填空題的添加,相應的試題維護中有判斷題、選擇題、填空題的維護,在信息管理中包括信息查看、成績查詢和修改密碼。在整個頁面中分為四塊,頭部是標題頁面,左中是ifram,連接到left.htm,右中也是一個iframe,連接到teacherchangepwd.aspx,下部是鏈接圖片,整個頁面布局為,左
51、邊是導航,點擊鏈接將鏈接頁面放置到右邊的ifram中。整體的頁面設計如圖6.3所示: 圖6.3 教師頁面 6.3.1 信息管理 u 信息查看 信息查看頁面為teacherinformation,aspx,隱藏文件為:teacherinformation.aspx.cs.在頁面設計中有三個TextBox,分別為TextBox1、TextBox2、TextBox3,默認的他們的enable都為false;一個RadionButtonList,默認的enable也為false;一個Button按鈕,其對應的代碼為取消代碼,點擊此按鈕后,將回到teacherchangepwd.aspx頁面
52、。隱藏頁面為teacherinformation.aspx.cs,在頁面首次加載時會從oteacher表中讀取教師基本信息,SqlDataAdapter da = new SqlDataAdapter("select * from oteacher where teacherid=" + Session["teacherId"].ToString() + "", conn);然后填充數(shù)據(jù)集,將對應的教師信息映射到三個TextBox和RadioButtonList中。教師可以在這個頁面上看到自己的信息。但是教師自己不可以刪除自身的信息,只有管理員有此功能。 u 修改密碼 頁面teacherp
53、wdchange.aspx的設計:三個TextBox,分別為TextBox1、TextBox2、TextBox3,分別用來輸入舊密碼、新密碼、再次輸入新密碼,四個驗證控件,分別為:RequiredFieldValidator1、RequiredFieldValidator2、RequiredFieldValidator3、CompareValidator1,分別用于TextBox1、TextBox2、TextBox3的驗證,CompareValidator1用于驗證兩個密碼是否相同。一個按鈕,點擊此按鈕觸發(fā)Button1_Click事件,用于密碼的修改,首先判斷輸入的舊密碼是否與用戶登錄時的I
54、D相同,若相同將用戶的密碼重置,重要的Sql語句為:string str1 = "update oteacher set teacherpwd=" + TextBox2.Text.Trim() + " where teacherid=" + Session["teacherId"].ToString() + "";打開數(shù)據(jù)庫,執(zhí)行SqlCommand,將密碼重置,然后關閉數(shù)據(jù)庫,并顯示密碼修改成功。若不相同則顯示舊密碼錯誤,光標將定位到TexBox1上,可以重新輸入舊密碼,進行密碼的更正。 u 成績查詢 成績查詢see.aspx的頁面設計:一個Label,一個TextBox,一個
55、Button按鈕,一個數(shù)據(jù)庫綁定控件GridView1。在TextBox1中輸入要查詢的學生的ID,點擊查詢按鈕Button1將會顯示要查詢的學生的成績信息。在頁面首次加載時,會將數(shù)據(jù)庫中所有的學生的成績信息顯示出來,調(diào)用Class1中的Bind()函數(shù),string str = "select * from oexamresult"; Class1.Bind(GridView1, "id", str, "stuinfo"); ,點擊查詢按鈕后會根據(jù)輸入的學生的ID顯示對應學生的成績信息,如果TextBox1中的輸入為空會提示Response.Write("");否則會執(zhí)行tring strsql = "select * from oexamresult where studentid=" + TextBox1.Text.ToString() + ""; Class1.Bind(GridView1, "id", strsql, "stuinfo");當GridView1的頁面發(fā)生變化時會執(zhí)行 GridView1.PageIndex = e.NewPageIndex;GridView1_Bind();當點擊刪除要刪除的對應學生的信息時將會執(zhí)行如下代碼:int ID = (int)GridView1.Data
57、Keys[e.RowIndex].Value;string strsql = "delete from oexamresult where id =" + ID + "";Class1.OperateData(strsql); GridView1_Bind();函數(shù)GridView1_Bind()的代碼如下: public void GridView1_Bind() { string str = "select * from oexamresult order by id desc"; Class1.Bind(GridView1, "id", str
58、, "SingleChooseInfo"); SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["dsn"]); conn.Open(); SqlCommand cmd = new SqlCommand("select * from oexamresult", conn); SqlDataReader sdr = cmd.ExecuteReader(); conn.Close(); } 運行界面為如圖6.4
59、所示: 圖6.4 成績查詢 6.3.2 試題添加: u 選擇題添加 選擇題添加adds.aspx頁面的設計:7個TextBox控件,五個驗證控件,1個RadioButtonList控件,2個Button控件,分別為TextBoxid、txtID、TextBox1、TextBox2、TextBox3、TextBox4、TextBox5,五個驗證控件分別驗證試題內(nèi)容,答案A,答案B,答案C,答案D不為空,Button1為確定按鈕,Button2為取消按鈕,點擊確定按鈕會將新試題添加到表oselet,執(zhí)行的sql語句:string str ="insert into oselect(que
60、stionid,questiontext,a,b,c,d,answer,teacherid) values(" + txtID.Text.Trim() + "," + TextBox1.Text.Trim() + "," + TextBox2.Text.Trim() + "," + TextBox3.Text.Trim() + "," + TextBox4.Text.Trim() + "," + TextBox5.Text.Trim() + "," + RadioButtonList1.SelectedValue.ToString() + "," + TextBoxid.Text.Trim()
61、 + ")"; 添加過后會顯示添加成功提示信息,然后會將所有的TextBox控件置空,點擊取消按鈕觸發(fā)Button2_Click事件,在此事件中會將所有的TextBox控件的Text置空。運行界面如圖6.5: 圖6.5 添加選擇題 u 判斷題添加 判斷題添加addj.aspx頁面的設計:三個TextBox控件,分別輸入教師號,題號,試題題目;一個RadioButtonList空件,用于選擇正確答案,一個驗證控件用于驗證試題題目不為空。兩個Button按鈕,一個確定按鈕,一個取消按鈕,點擊確定按鈕會將新試題添加到表ojudge,執(zhí)行的sql語句為:string str = "insert
62、 into ojudge(questionid,questiontext,answer,teacherid) values(" + txtID.Text.Trim() + "," + TextBox1.Text.Trim() + "," + RadioButtonList1.SelectedValue.ToString() + "," + TextBoxid.Text.Trim() + ")";添加過后會出現(xiàn)添加成功的提示信息,然后將TextBox控件置空;點擊取消按鈕會把所有的TextBox控件置空。 u 填空題添加 填空題添加addi.aspx頁面的設計:四個TextBox控件,分別輸
63、入教師號,題號,試題題目,正確答案;一個驗證控件用于驗證試題題目不為空。兩個Button按鈕,一個確定按鈕,一個取消按鈕,點擊確定按鈕會將新試題添加到表oinput,執(zhí)行的sql語句為:string str = string str = "insert into oinput(questionid,questiontext,answer,teacherid) values(" + txtID.Text.Trim() + "," + TextBox1.Text.Trim() + "," +TextBox2.Text.Trim() + "," + TextBoxid.Text.Trim() + "
64、)";添加過后會出現(xiàn)添加成功的提示信息,然后將TextBox控件置空;點擊取消按鈕會把所有的TextBox控件置空。 6.3.3 試題維護 u 選擇題維護 選擇題維護mends.aspx頁面設計只有一個GrridView控件,在頁面首次加載的時候教師會看到所有的選擇題標題,調(diào)用GridView1_Bind()函數(shù),當點擊詳細信息會跳到informationselect.aspx頁面,可對試題進行維護、更改,當點擊刪
65、除按鈕時會將此條試題信息刪除,sql語句為:string strsql = "delete from oselect where id =" + ID + "";GridView1_Bind()函數(shù)的代碼如下: public void GridView1_Bind() { string strsql = "select * from oselect order by id desc"; Class1.Bind(GridView1, "id", strsql, "SingleChooseInfo"); SqlConnection
66、conn = new SqlConnection(ConfigurationSettings.AppSettings["dsn"]); conn.Open(); SqlCommand cmd = new SqlCommand("select * from oselect", conn); SqlDataReader sdr = cmd.ExecuteReader(); conn.Close(); } informationselect.aspx頁面的設計:6個TextBox控件,分別用來存放試題編號、試題內(nèi)容、選項A、選項B、選項C、選項D信息,1個RadioButtonList控件,用來存放正確選項,兩個Button按鈕,Button1為保存,Button
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。