在線考試系統的設計與實現_第1頁
在線考試系統的設計與實現_第2頁
在線考試系統的設計與實現_第3頁
在線考試系統的設計與實現_第4頁
在線考試系統的設計與實現_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、武漢科技大學本科畢業論文I在線考試系統的設計與實現在線考試系統的設計與實現摘 要隨著教育改革的不斷深入以及網絡的普及,教育方式正面臨著一場巨大的變革。網上教育以其全新的教學理念和教學手段提供了一種高效的教育方案。網上考試系統具有自動控制考試時間、系統自動評分、有效防止舞弊行為等優點;實現了考試功能與教育評估和教育管理功能的高度結合;使考務工作自動化,保證出卷、考試和考生管理各階段有序地進行,使考試更趨于客觀、合理和公正。在線考試系統分為前臺和后臺兩個模塊,前臺主要用于考生注冊和登錄系統、在線考試以及退出登錄;后臺主要用于管理員對考生信息、考題信息、考生成績信息、考試套題和課程信息等進行管理。只

2、要考生通過自己的用戶名和密碼進入前臺,按步驟依次選題和答題,答題完畢后系統會自動判斷考卷并給出分數。在線考試系統以 Visual Studio 2005 作為主要開發工具,使用 C#作為編程開發語言,使用 SQL Server 2000 數據庫,是一個基于 B/S 架構的系統。本文重點討論了在線考試系統的設計與實現方法,并指出了系統存在的不足和進一步改進的方向。關鍵詞:在線考試;VS 2005;SQL Server武漢科技大學本科畢業論文IIAbstractWith the deepening of the reform of education and the network popular

3、ization, the education mode is facing a huge change. Online education in the new teaching idea and teaching method provides an effective education plan. Online examination system can automatically control examination time, the system automatically score, effectively prevent fraud behavior etc, Reali

4、zing the function of education evaluation and examination with the education management function, To work out, ensure automated -study examination and the examinee management, each stage orderly, tend to be more objective and rational examination and justice.This system is divided into two modules,

5、front and back in front of the main used registered and logged examinee on-line exam system, and logged on, Mainly used for background information and questions administrator examinee information, the examinee scores of information, examination and course information, etc. If the examinee through th

6、eir user name and password to enter in front, according to the procedures and answer, answer selection system will automatically after the test scores and judgment.Based on Visual Studio 2005 as the main development tools, as a programming language developed using c #, combining the SQL Server 2000,

7、 develop a database based on B/S structure of online examination system were discussed, and the online exams page design and implementation of the system, and points out the problems and the direction of further improvement.Keywords:Online examination;VS 2005;SQL Server武漢科技大學本科畢業論文III目 錄1 緒論 .11.1 開

8、發的背景和意義.11.2 論文結構.12 系統需求分析 .22.1 需求分析.22.2 開發環境及工具.22.2.1 網站開發環境.22.2.2 服務器端和客戶端.23 系統概要設計 .33.1 系統目標.33.2 系統流程圖.43.3 系統功能結構.44 詳細設計 .74.1 數據庫設計.74.1.1 數據庫概要說明.74.1.2 數據庫概念設計.74.1.3 數據庫邏輯設計.84.1.4 公共類的編寫.104.2 網頁設計.154.2.1 網上考試系統登錄頁面.154.2.2 注冊頁面.184.2.3 在線考試頁面.204.2.4 后臺管理頁面.224.3 程序運行.295 結論 .30參

9、考文獻 .31致 謝 .32武漢科技大學本科畢業論文11 緒論緒論1.1 開發的背景和意義隨著網絡技術的飛速發展,現在很多國外的大學和社會其他部門都已經開設了遠程教育,通過計算機網絡實現異地教育和培訓。現在,計算機硬件技術的發展已經達到了相當高的水平。但是,遠程教育軟件的開發目前還處于起步階段,隨著這項技術的不斷深入發展,就要求有更好、更完善的軟件系統應用到遠程教育當中去,這就給軟件設計人員提出了更高的設計要求。遠程教育包括很多環節,例如教學系統、答疑系統和考試系統等等。其中很重要的一個環節就是在線考試系統,同時它也是最難實現的環節。考試是教育中的一個重要環節1。考試的目的一是為了考查學生的知

10、識掌握情況,二是為教師提供教學分析的依據。傳統的考試由于涉及到組織命題、試卷印刷、考場安排、組織閱卷等諸多環節,考試時間周期長、效率低下;同時人工披卷等主觀因素也影響到考試的公正性。隨著網絡技術在教育領域應用的普及,應用現代信息技術構架的網絡在線考試系統展現出了越來越多的優越性。網絡在線考試系統旨在探索一種以互聯網為基礎的考試模式。通過這一新的考試模式,為考試創造一種新的考試環境,提高考試工作效率和標準化水平,使考務管理突破時空限制,使考生可以隨時隨地通過網絡完成考試。網絡在線考試系統從根本上解決了傳統考試過程中工作量大、效率低、反饋周期長、資源浪費等缺陷,成為技術發展與研究的方向。“網上考試

11、系統”作為現代遠程教育的一部分,以 Internet 網絡作為載體,不受時間、科目和地域的限制,給考生、評卷人和出題者帶來巨大的便利,同時也使考試成為真正意義上的平等、公開。它可以杜絕試題泄露、評卷不公、考生作弊。考生可以在規定的期間內選擇最佳狀態時期參加考試,系統會為每一個考生同樣的試卷,同時當場給出成績, 評卷人和出題者可以在世界任何一個地方進行試題結構、試題內容的維護和進行評卷工作1.2 論文結構第一章:對網上考試系統的開發背景和意義進行闡述。第二章:對網上考試系統作出詳細的需求分析。第三章:會話通信程序的概要設計分析。第四章:會話通信程序的詳細設計分析。第五章:對整個系統的開發設計作出

12、總結。武漢科技大學本科畢業論文22 系統需求分析系統需求分析2.1 需求分析隨著計算機技術和互聯網的快速發展,人類已經進入了信息時代,也有人稱為數字化時代。在數字化的網絡環境下,學生希望得到個性化的滿足,根據自己的情況進行學習,同時也希望能夠得到科學的評價;老師希望有效改進現有的考試模式,提高考試的效率;教育機構也希望給網上的學生提供更全面、靈活的服務,全面準確地對學生進行跟蹤和評價。網絡考試系統正是迎合這一時代需求而開發的,它旨在探索一種以互聯網為基礎的考試模式。通過這種新的模式,為學校創造一種新的考試環境,提高考試工作效率和標準化水平,是學校管理者、教師和學生可以隨時隨地通過網絡進行考試。

13、網絡考試系統的開發與應用,避免了以往學校里考試紙張、筆、監考和巡考等各種資源的浪費,并且后臺管理是管理員單一的管理,確保了程序的安全性。網絡考試系統管理員登錄后,對考試內容、科目和考試題目等都作了詳細的分類,只要考生通過自己的用戶名和密碼進入前臺,按步驟依次進行選題和答題,答題完畢后系統會自動判斷考卷,并核對出最后考卷的分數,解決了在學校考試后等待考卷分數通知的問題。2.2 開發環境及工具2.2.1 網站開發環境網站開發環境:Microsoft Visual Studio 2005 集成開發環境。網站開發語言:ASP.NET+C#。網站后臺數據庫:SQL Server 2000.開發環境運行平

14、臺:Windows XP/Windows 2000/Windows Server 2003。2.2.2 服務器端和客戶端操作系統:Windows Server 2003Web 服務器:Internet 信息服務(IIS)管理器。數據庫服務器:SQL Server 2000.瀏覽器:IE 6.0。網站服務器運行環境:Microsoft .NET Framework 瀏覽器:Internet Explorer 6.0分辨率:最佳效果 1024768 像素 武漢科技大學本科畢業論文33 系統概要設計3.1 系統目標本程序是將傳統的考試模式與先進的網絡應用相結合開發設計的。主要實現如下目標:1. 操作

15、簡單方便、界面簡潔美觀。2. 具有實時性,已注冊地用戶無論身在何地,通過 Internet 瀏覽器,都可登錄網絡考試系統。3. 具有嚴肅性和公正性,系統提供的自動交卷功能使考試到結束時間時,系統將自動交卷。4. 提供考試時間倒計時動能,讓考生隨時了解考試剩余時間。5. 系統自動交卷、閱卷,保證成績真實、準確。6. 對考生注冊信息進行管理。7. 系統運行穩定、安全可靠。武漢科技大學本科畢業論文43.2 系統流程圖管理員在線考試選擇考試課程和套題開始考試提交試卷查看考試結果對考生信息、考試信息、管理員信息、考試套題信息和考試題目進行添加、修改、刪除等管理考生注 冊登錄留 言圖 3.1 網站的流程圖

16、3.3 系統功能結構根據網上考試系統的特點,可以將其分為前臺和后臺兩個部分進行設計。前臺主要用于考生注冊和登錄系統、在線考試、留言以及退出登錄;后臺主要用于管理員對考生信息、考題信息、考生成績信息、考試套題和課程信息等進行管理。網上考試系統的前臺功能結構圖如下所示:武漢科技大學本科畢業論文5在線考試網前臺系統 考生注冊考生/管理員登錄找回密碼在線考試留言板退出系統考試規則選擇考試課程套題開始考試考試結束 圖 3.2 網上考試系統前臺功能結構圖網上考試系統的后臺功能結構圖如下所示:武漢科技大學本科畢業論文6添加管理員在線考試網后臺系統管理員信息管理套題信息管理學生成績管理考試題目管理退出系統課程

17、信息管理注冊學生管理修改管理員刪除管理員添加課程刪除套題添加套題刪除課程添加題目刪除題目圖 3.3 網上考試系統后臺功能結構圖武漢科技大學本科畢業論文74 詳細設計4.1 數據庫設計4.1.1 數據庫概要說明在程序開發過程中,數據庫設計師非常重要的一個環節。一個設計良好的數據庫結構,可以提高效率,方便維護,并且為以后進行功能的擴充留有余地。本網站采用 SQL Server 20002數據庫,名稱為 mydb,其中包含 6 張數據表:tb_Administator,tb_Lesson,tb_Questions,tb_Student,tb_StuResult,tb_Taoti.4.1.2 數據庫概

18、念設計通過對網站進行的需求分析、網站流程設計以及系統功能結構的確定,規劃出系統中使用的數據庫實體對象分別為“管理員信息” 、 “課程信息” 、 “套題信息” 、 “考生成績信息” 、 “用戶注冊信息”等。對網站進行有效地管理就要設置一個或多個管理員,管理員實體包括管理員編號、管理員姓名、管理員密碼和注冊時間。考試套題實體包括套題名稱、所屬課程、添加時間等屬性。管理員信息實體 E-R 圖3和考試套題實體 E-R 圖分別如下所示:管理員管理員編號管理員姓名管理員密碼注冊時間圖 4.1 管理員信息實體 E-R 圖考試套題套題名稱所屬課程添加時間圖 4.2 考試套題實體 E-R 圖考生信息實體包括用戶

19、名、密碼、電子郵件、密碼提示問題、密碼提示答案等屬性。實體 E-R 圖如下所示:武漢科技大學本科畢業論文8考生安全問題加入時間電子郵件用戶名密碼安全答案圖 4.3 管理員信息實體 E-R 圖4.1.3 數據庫邏輯設計根據在數據庫概念設計中給出的數據庫實體 E-R 圖,設計數據表結構。管理員信息表用于保存管理員信息,tb_Administrator 表的結構如下表所示:表 4.1 tb_Administrator 表的結構字段名稱數據類型長度默認值允許空字段描述IDbigint8否唯一標識Namevarchar50否管理員名稱PWDvarchar50否管理員密碼JoinTimedatetime8

20、Getdate()是加入時間 考生課程信息表用于保存課程信息,tb_Lesson 表的結構如下所示:表 4.2 tb_Lesson 表的結構字段名稱數據類型長度默認值允許空字段描述IDbigint8否唯一標識NameVarchar60是課程名稱JoinTimeDatetime8Getdate()是添加時間注冊考生信息表用于保存在網站注冊的考生信息,tb_Student 表的結構如下所示:表 4.3 tb_Student 表的結構字段名稱數據類型長度默認值允許空字段描述武漢科技大學本科畢業論文9IDBigint8否唯一標識UserNameVarchar20是用戶名PWDVarchar20是密碼E

21、mailVarchar20是電子郵件QuestionVarchar20是密碼問題AnswerVarchar20是密碼答案JoinTimedatetime8Getdate()是加入時間考試套題信息表用于保存課程所對應的套題信息,tb_Taoti 表的結構如下所示:表 4.4 tb_Taoti 表的結構字段名稱數據類型長度默認值允許空字段描述IDBigint8否唯一標識NameVarchar50是套題名稱LessonIDBigint8是所屬課程號JoinTimeDatetime8Getdate()是添加時間考生成績信息表用于保存考生的考試成績,tb_StuResult 表的結構如下所示:表 4.5

22、 tb_StuResult 表的結構字段名稱數據類型長度默認值允許空字段描述Res_IDBigint8否唯一標識Stu_IDvarchar50是用戶名Which_Lessonvarchar50是所屬課程名稱taotiidBigint8是所屬套題編號taotiNamevarchar50是所屬套題名稱Res_singleInt4是單選成績Res_moreInt4是多選成績Res_totalInt4是總成績Res_subdatedatetime8Getdate()是成績提交時間考試題目信息表用于保存各套題中所包含的詳細考試題目,tb_Questions 表的結構如下所示:表 4.6 tb_Quest

23、ions 表的結構字段名稱數據類型長度默認值允許空字段描述武漢科技大學本科畢業論文10IDBigint8否唯一標識Que_subjectVarchar50是考試題目Que_typeChar10是題目類型Que_joindateDatetime8Getdate()是添加時間Que_lessonidInt4是所屬課程號Que_taotiidBigint8是所屬套題號OptionAVarchar50是選項 AOptionBVarchar50是選項 BOptionCVarchar50是選項 COptinDVarchar50是選項 DQue_answerchar10是正確答案4.1.4 公共類的編寫在網

24、站開發項目中通常以類的形式來組織、封裝一些常用的方法和事件,公共類的編寫可以減少重復代碼的編寫,有利于代碼維護,在編程過程中可以起到事半功倍的效果。網上考試系統中創建了一個公共類 Datacon,在此公共類中共創建了 6 各方法,具體如下:1. getcon:用來連接在線考試網的數據庫,類型為 SqlConnection4。2. eccom:用于執行對數據庫操作的 SQL 語句命令,如刪除操作命令、修改操作命令等。3. ecadabind:用于將數據庫數據綁定到表格控件中。4. ecDropDownList5:用于將數據綁定到下拉列表框中。5. ecadabindinfostring:用于將數

25、據庫數據綁定到表格控件中,并獲取數據表中的主鍵字段。6. ExceRead:用于讀取數據庫中數據,返回一個 SqlDataReader。1.數據庫連接的方法數據庫連接的方法在此公共類中編寫了一個 getcon()方法,該方法用來連接數據庫,類型為SqlConnection。代碼如下:public SqlConnection getcon() /定義數據庫連接字符串 string strCon = Data Source=(local);DataBase=db_Examination;User ID=sa;PWD=sa; /創建一個新的數據庫連接 SqlConnection sqlCon = n

26、ew SqlConnection(strCon); /返回SqlConnection類型的值 return sqlCon;武漢科技大學本科畢業論文11 2.2.執行數據庫操作命令的方法執行數據庫操作命令的方法在 eccom6方法中,首先傳一個 SQL 語句,然后與 SQL Server 數據庫建立連接 ,應用 SqlCommand 對象執行所傳進來的 SQL 語句,最后應用 try-catch-finally 語句進行異常處理,如果執行該 SQL 語句則返回 true,反之則返回 false。代碼如下:public bool eccom(string sqlstr) SqlConnection

27、 con=this.getcon(); con.Open(); SqlCommand mycommand=new SqlCommand(sqlstr,con); try mycommand.ExecuteNonQuery(); return true; catch return false; finally /關閉數據庫連接 con.Close(); 注釋:1. SqlConnection 類:SQL Server 數據庫一個打開的連接。2. SqlConnection.Open 方法:用于打開數據庫連接。3. SqlCommand 類:要對 SQL Server 數據庫執行的一個 SQL 語

28、句或存儲過程。4. Sqlcommand.ExecuteNonQuery 方法:對連接執行 SQL 語句并返回受影響的行數。3.將數據綁定到表格控件的方法將數據綁定到表格控件的方法在公共類中為了實現該方法,編寫了一個 ecadabind(GridView gv,string sqlstr4)方法,用來執行 SQL 語句,返回類型為 bool 型。該方法主要是執行SqlDataAdapter 中的語句,并將其綁定到 GridView 控件上,相應功能執行成功后返回true,否則返回 false。代碼如下:public bool ecadabind(GridView gv,string sqlst

29、rl4) /定義新的數據庫連接 SqlConnection con = this.getcon(); /打開數據庫連接 con.Open();武漢科技大學本科畢業論文12 /定義并初使化數據適配器 SqlDataAdapter mydataadapter7 = new SqlDataAdapter(sqlstrl4,con); /創建一個數據集mydataset DataSet mydataset = new DataSet(); /將數據適配器中的數據填充到數據集中 mydataadapter.Fill(mydataset); /將此數據集作為表格控件的數據源 gv.DataSource=m

30、ydataset; try /綁定數據庫中數據 gv.DataBind(); /返回這個數據集 return true; catch return false; finally /關閉數據庫連接 con.Close(); 4.將數據綁定到下拉列表框的方法將數據綁定到下拉列表框的方法將數據綁定到下拉列表框中主要應用了公共類中的 ecDropDownList(DropDownList DDL,string sqlstr3,string DTF,string DVF)方法。該方法首先傳了 4 個值,分別為 DropDownList 控件、SQL 語句、列表項提供的內容字段和列表項提供值;然后與 SQ

31、L Server 數據庫建立連接,應用 SqlDataAdapter 對象填充數據集并指定 DropDownList 控件的數據源;最后設置列表項提供的內容字段和列表項提供值所綁定的數據源,應用 try-catch-finally 語句進行異常處理,如果DropDownList 控件執行 DataBind 方法返回 true,反之則返回 false。代碼如下:public bool ecDropDownList(DropDownList DDL, string sqlstr3, string DTF, string DVF) /創建數據庫連接 SqlConnection con = this.

32、getcon(); /打開數據庫連接 con.Open(); /定義并初使化數據適配器 SqlDataAdapter mydataadapter = new SqlDataAdapter(sqlstr3,con);武漢科技大學本科畢業論文13 /創建一個數據集mydataset DataSet mydataset = new DataSet(); /將數據適配器中的數據填充到數據集中 mydataadapter.Fill(mydataset); DDL.DataSource = mydataset; DDL.DataTextField = DTF9; DDL.DataValueField =

33、DVF; try DDL.DataBind(); return true; catch return false; finally /關閉數據庫連接 con.Close(); 5.5.在表格控件中獲取數據主鍵字段的方法在表格控件中獲取數據主鍵字段的方法在表格控件中獲取數據主鍵字段的方法,主要應用了公共類中的ecadabindinfostring(GridView gv,string sqlstr5,string DNK)方法,該方法與ecadabind 方法類似。該方法用來執行 SQL 語句,返回類型為 bool 型,主要是執行 SqlDataAdapter 中的語句,并將其綁定到 GridV

34、iew 控件上顯示其主鍵字段的名稱,相應功能執行成功后返回 true,否則返回 false。代碼如下:public bool ecadabindinfostring(GridView gv,string sqlstr5,string DNK) /通過調用公共類中getcon方法,創建一個新的數據庫連接對象 SqlConnection con = this.getcon(); /打開數據庫連接 con.Open(); /定義并初使化數據適配器 SqlDataAdapter mydataadapter = new SqlDataAdapter(sqlstr5,con); /創建一個數據集mydat

35、aset DataSet mydataset = new DataSet(); /將數據適配器中的數據填充到數據集中 mydataadapter.Fill(mydataset);武漢科技大學本科畢業論文14 gv.DataSource=mydataset; gv.DataKeyNames = new string DNK ; try gv.DataBind(); return true; catch return false; finally con.Close(); 6.6.數據讀取的方法數據讀取的方法數據讀取方法主要應用到了公共類中的 ExceRead 方法。首先調用公共類中的getcon

36、 方法創建一個新的數據庫連接對象,接著創建一個 SqlCommand 命令對象,然后應用該命令對象的 ExecuteReader 方法創建一個數據閱讀器,用來讀取數據庫中的數據,最后返回一個 SqlDataReader 類對象。代碼如下:public SqlDataReader ExceRead(string SqlCom) /通過調用公共類中getcon方法,創建一個新的數據庫連接對象 SqlConnection con = this.getcon(); con.Open(); /創建一個SqlCommand對象,表示要執行的SqlCom語句或存儲過程 SqlCommand sqlcom =

37、 new SqlCommand(SqlCom, con); /創建一個數據閱讀器,用來讀取數據庫中數據 SqlDataReader read = sqlcom.ExecuteReader(); return read; 4.2 網頁設計4.2.1 網上考試系統登錄頁面考生和管理員需要通過登錄頁面進入在線考試網。考生在登錄在線考試網之前,首先需要通過登錄頁面進行注冊。為了防止考生忘記密碼,提供了密碼找回功能。在線考試網登錄頁面的運行效果如下所示:武漢科技大學本科畢業論文15圖 4.4 網上考試系統登錄主頁面很多情況下,考生會將密碼遺忘或丟失,這樣就無法登錄自己的學生賬號,為了避免造成不必要的損失

38、,所以設計了找回密碼的功能。找回密碼主要分為 3 個頁面來完成。頁面 1(Findpwd.aspx):輸入已注冊的用戶名;頁面 2(Findpwdd.aspx):系統會根據輸入的用戶名把相應的密碼問題列出來,然后由考生輸入問題答案;頁面 3(returnpwd.aspx):如果問題答案正確,則成功找回密碼。實現代碼:編寫后臺代碼,在 Page_Load 事件中,首先調用隨機驗證碼10,應用驗證碼技術可以防止用戶惡意注冊。其事件代碼如下:protected void Page_Load(object sender, EventArgs e) SessionStuName = this.txtUs

39、erName.Text; if (!IsPostBack) /判斷是否首次加載 /調用隨機驗證碼方法 Random rnd = new Random(); this.labValidate.Text = rnd.Next(1000, 9999).ToString(); 在處理登錄頁面提交的數據時,首先會根據“管理員登錄”復選框的值來判斷是武漢科技大學本科畢業論文16否登錄管理員頁面,如果該復選框被選中則執行核對用戶名、密碼和驗證碼而進入管理員頁面,否則進入考生頁面。輸入完相關的用戶名、密碼和驗證碼后,單擊“確定”按鈕,提交登錄信息。代碼如下:protected void btnLogin_Cl

40、ick(object sender, EventArgs e) /判斷驗證碼是否有誤 if(txtValidate.Text!=labValidate.Text) Response.Write(alert(驗證碼有誤!);location=javascript:history.go(-1); else /判斷是否是管理員登錄,如果是則調用getcom方法中的條件1 if(cblAdminLog.Items0.Selected=true) getcom(1); /非管理員登錄,調用getcom方法中條件2 else getcom(2); 調用自定義方法 getcom,判斷是管理員還是考生:pri

41、vate void getcom(int i) /打開數據庫連接,并調用公共類中的getcon方法 SqlConnection con=dataconn.getcon(); /打開數據庫連接 con.Open(); /創建一個新的SqlCommand實例對象 SqlCommand com=con.CreateCommand(); switch(i) case 1: com.CommandText=select count(*) from tb_Administrator where Name=+this.txtUserName.Text+and PWD=+this.txtPwd.Text+;

42、/獲取SQL語句的值強制轉換成數值類型 int count1=Convert.ToInt32(com.ExecuteScalar(); /判斷數據庫中是否存在數據武漢科技大學本科畢業論文17 if(count10) ApplicationName=txtUserName.Text; ApplicationPWD=txtPwd.Text; 如果登錄成功,則跳轉到管理員頁面 Page.Response.Redirect(houtai_Default.aspx); else /如果登錄失敗,則彈出錯誤信息 Response.Write(alert(用戶名或密碼有誤!);location=javasc

43、ript:history.go(-1); break; case 2: /設置SqlCommand命令對象的Text文本屬性 com.CommandText=select count(*)from tb_Student where UserName=+txtUserName.Text+and PWD=+txtPwd.Text+; /定義一個int型變量count2,并返回所查詢數據表的第一行第一列 int count2=Convert.ToInt32(com.ExecuteScalar(); if(count20) /應用Application對象保存用戶ID及密碼 ApplicationUs

44、erName=txtUserName.Text; ApplicationPWD=txtPwd.Text; 頁面跳轉至在線考試頁 Page.Response.Redirect(shouye.aspx); else Response.Write(alert(用戶名或密碼有誤!);location=javascript:history.go(-1); return; break; 4.2.2 注冊頁面要進入在線考試系統,考生首先需要注冊一個用戶名。單擊在線考試系統登錄頁中的“注冊” ,進入考生注冊頁面。在注冊頁面中輸入考生的基本信息,包括用戶名、密碼、密碼問題、問題答案、電子郵件等。考生注冊頁面的運

45、行效果如下圖所示:武漢科技大學本科畢業論文18圖 4.5 網上考試系統考生注冊頁面另外,考生注冊頁應用了 AJAX11無刷新檢測用戶名的技術。AJAX 為 Asynchronous JavaScript and XML 的縮寫,用來描述一組技術的集合,囊括 Java 技術、XML 以及 JavaScript 的編程技術,可以構建基于 Java 技術的 web 應用,并打破了使用頁面重載的慣例。AJAX,異步 Javascript 與 XML,是使用客戶端腳本與 Web12服務器交換數據的Web 應用開發方法。通過 AJAX,Web 頁面不用打斷交互流程就可以進行重新加載,從而實現動態更新。使用

46、 AJAX,可以創建類似本地桌面 Windows 應用程序。為了防止注冊的用戶名重復,可以通過單擊“檢測注冊號”按鈕進行檢測。如下圖所示,考生輸入注冊的用戶名后通過檢測顯示在數據庫中無此號,可以注冊。圖 4.6 檢測用戶名可以使用武漢科技大學本科畢業論文19檢測完考生注冊的用戶名,并在注冊頁面中輸入正確的信息后,如下圖所示,單擊“提交”按鈕,如果注冊成功就將會顯示“注冊成功” ,并跳轉至登錄主頁面。圖 4.7 網上考試系統登錄主頁面圖 4.8 網上考試系統注冊成功4.2.3 在線考試頁面考生在線答卷時首先需要選擇套題,系統需要根據考生提交的課程和套題信息從數據庫中獲取相應題目,然后通過 Dat

47、aList13控件顯示出來。課程和套題信息是通過Application 變量從上一頁中獲取的。1.Application 對象對象14Application 對象可稱之為記錄應用程序參數的對象。Application 對象是 HttpApplicationState 類的一個實例,它可以生成一個所有 Web武漢科技大學本科畢業論文20應用程序都可以存取的變量。這個變量的使用范圍涵蓋全部使用者,只要正在使用這個網頁的程序都可以存取這個變量。每個 Application 對象變量都是 Application 集合中的對象之一,由 Application 對象統一管理。使用 Application

48、對象的相關語法如下:Application“變量”=”變量內容”;Application(“對象名”)=Server.CreateObject(Progld)一個網站可以有不止一個 Application 對象。典型情況下,可以針對個別任務的一些文件創建個別個 Application 對象。例如,可以建立一個 Application 對象來適用全部公用用戶,而再創建另外一個只適用于網絡管理員的 Application 對象2.Session 對象對象Session 對象可稱之為記錄瀏覽器端的變量對象。Session 對象是 HttpSessionState 類的一個實例,其功能和 Applic

49、ation 對象類似,都是用來存儲跨網頁程序的變量或者對象,但 Session 對象和 Application 對象有些特性存在著差異。Session 對象只針對單一網頁使用者,也就是說各個連接的機器都有各自的 Session 對象,不同的客戶端無法互相存取。Application 對象中止于停止 IIS 服務時,而 Session 對象中止于聯機機器離線時,也就是當網頁使用者關掉瀏覽器或超過設定的Session 變量的有效時間時,Session 對象就會消失。Session 對象和 Application 對象一樣都是 Page 對象的成員,因此可直接在網頁中使用。使用 Session 對象

50、存放信息的語法如下:Session“變量名”=”內容”;從會話中讀取信息的語法如下:VariablesName=Session“變量名”;Session 對象是與特定用戶相聯系的。針對某一個用戶賦值的 Session 對象是和其他用戶的 Session 對象完全獨立的,不會相互影響。換句話說,這里面針對每一個用戶保存的信息是每一個用戶自己獨享的,不會產生共享情況。在線考試頁的主要功能是允許考生在網站 上針對指定的課程和套題進行考試。在該頁中,考試首先需要閱讀考試規則,然后選擇考試課程和套題;最后進入考試頁面進行答題,如下圖所示。當考生提交試卷或者到達考試結束時間時,系統將自動對考生提交的試卷進

51、行評分,并給出最終考試成績。武漢科技大學本科畢業論文21圖 4.9 考試規則圖 4.10 選擇考試課程和套題武漢科技大學本科畢業論文22圖 4.11 考試頁面4.2.4 后臺管理頁面首先介紹一下 SQL Server 試圖方面的技術分析。1. 視圖的概述視圖的概述15視圖時用戶用來查看數據庫表中數據的一種常用方式,其作用相當于一個虛擬表。當一些用戶需要經常訪問數據表中某些字段構成的數據,但從安全角度考慮,又不希望直接接觸數據表時,可以利用視圖這一數據對象。視圖不是數據表,它僅是一些SQL 查詢語句的集合,使用時按照不同的要求從數據表中提取不同的數據。視圖猶如數據表的窗戶,管理員定義這些“窗戶”

52、的位置后,用戶通過它可以瀏覽表中的部分或全部數據,視圖中數據的物理存放位置在數據庫的表中,這些表一般稱為視圖的基表。2. 視圖的創建視圖的創建在 SQL Server 中創建視圖有 3 種方法:使用創建視圖向導、企業管理器或在查詢分析器里執行 CREATE VIEW 語句。這里主要介紹在查詢分析器里執行 CREATE VIEW 語句。語法格式如下:CREATE VIEW 視圖名(視圖列名 1,視圖列名 2,視圖列名 n)武漢科技大學本科畢業論文23對包含 CREATE VIEW 語句的文本加密WITH ENCRYPTIONASSELECT 語句表示對視圖所有數據執行修改操作都必須遵守定義視圖

53、SELECT 語句的WHERE 字句所指定的條件WITH CHECK OPTION在后臺管理中,有很多信息需要刪除,刪除信息的代碼如下16:protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) GridView1.PageIndex = e.NewPageIndex; /調用公共類中的ecadabind方法, dataconn.ecadabind(GridView1, Select * From tb_Administrator Where + DropDownList1.Selec

54、tedValue + Like % + AdminUserName.Text + %); protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow) e.Row.Cells2.Text = Convert.ToString(Convert.ToDateTime(e.Row.Cells2.Text).ToShortDateString(); if (e.Row.RowType = DataControlRow

55、Type.DataRow) (LinkButton)(e.Row.Cells4.Controls0).Attributes.Add(onclick, return confirm(確定刪除嗎?); protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) /調用公共類中的eccom方法,刪除管理員信息 dataconn.eccom(delete from tb_Administrator where ID= + GridView1.DataKeyse.RowIndex.Value + ); Pa

56、ge.Response.Redirect(houtai_Default.aspx); 武漢科技大學本科畢業論文24后臺管理頁面主要包括管理員信息管理、注冊學生管理、課程信息管理、套題信息管理、學生成績管理、考試題目管理、退出系統 7 個模塊。管理員信息模塊主要是對管理員進行管理,包括添加、刪除管理員以及修改管理員密碼等。 圖 4.12 管理員信息管理頁面注冊學生管理模塊用于管理員管理注冊地考生,他們可以通過關鍵字查詢某一個學生,也可以刪除某一個學生。武漢科技大學本科畢業論文25圖 4.13 注冊學生信息管理頁面課程信息管理模塊主要用來添加和刪除課程。添加課程時,只需要在文本框中直接輸入名稱即可

57、,然后進行添加操作。代碼如下:圖 4.14 課程信息管理頁面考試套題管理頁的主要功能包括對考試套題進行添加、查詢、修改和刪除操作。添加考試套題信息時,需要首先在文本框中輸入所添加的套題名稱,并在下拉列表框武漢科技大學本科畢業論文26中選擇所屬課程名,然后再進行添加操作;在考試套題信息列表頁面中,可以通過選擇不同德 查詢條件(如套題名稱和所屬課程)并輸入相應的關鍵字,來實現查詢操作;根據實際需要,還可以實時更新考試套題中的詳細信息或者刪除考試套題。考試套題管理頁面的運行效果如下圖所示:圖 4.15 套題信息管理頁面在考試套題信息“查詢”按鈕事件中主要應用到了 SQL Server 視圖數據處理技

58、術,該頁創建的視圖名為 kecheng_taoti_view,建立該視圖的目的主要是從 tb_Lesson和 tb_Taoti 兩張表中檢索出包括套題名稱、所屬課程和加入時間的信息。代碼如下:protected void Button1_Click(object sender, EventArgs e) if (TextBox1.Text = ) dataconn.ecadabindinfostring(GridView1, select * from tb_Taoti ORDER BY ID DESC, ID); else dataconn.ecadabind(GridView1, Sele

59、ct * From kecheng_taoti_view Where + DropDownList1.SelectedValue + Like % + TextBox1.Text + %);武漢科技大學本科畢業論文27 圖 4.16 學生成績管理頁面 考試題目管理頁的主要功能包括對考試題目進行添加、查詢、修改和刪除操作。添加考試題目信息時,需要選擇所屬的考試專業、課程和套題;在考試題目信息列表頁面中,可以通過選擇不同的查詢條件(例如,考題類型、所屬課程、所屬套題和加入時間)并輸入相應的關鍵字,來實現查詢操作;根據實際需要,還可以實時更新考試題目中的詳細信息或者刪除考試題目。在添加考試題目時,需

60、要考慮該考試屬于哪門課程、哪一套題,然后單擊頁面中的“提交”按鈕,進行考試試題的添加。題目插入的代碼如下:protected void Button1_Click1(object sender, EventArgs e) if (this.TextBox1.Text != ) SqlConnection con = dataconn.getcon(); con.Open(); string sqlstr1 = select count(*) from tb_Questions where Que_subject= + TextBox1.Text.ToString() + ; SqlComman

溫馨提示

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

評論

0/150

提交評論