基于WEB的在線自測系統的設計與實現畢業設計說明書_第1頁
基于WEB的在線自測系統的設計與實現畢業設計說明書_第2頁
基于WEB的在線自測系統的設計與實現畢業設計說明書_第3頁
基于WEB的在線自測系統的設計與實現畢業設計說明書_第4頁
基于WEB的在線自測系統的設計與實現畢業設計說明書_第5頁
已閱讀5頁,還剩75頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、畢畢業業設設計計說說明明書書 基于基于WEBWEB的在線自測系統的設計與實現的在線自測系統的設計與實現 基于基于WEBWEB的在線自測系統的設計與實現的在線自測系統的設計與實現 摘 要:計算機應用技術的日益發展,為教育技術學的研究與發展帶來了新的機 遇,如何把計算機和網絡更有效地引進教育領域為教育服務,已成為教育領域中 的一個新的課題。 隨著網絡應用的多元化與普及化,學生學習的途徑更加多樣化。通過網絡, 學生可以更好的完成對所學知識的鞏固和理解,同時通過在線自測系統,可以在 網上對所學內容進行自我測試,清醒的認識自己的學習情況,發現不足,以便更 好的完成學習任務。在線自測系統可以配合多元化教育

2、,對學習效果直接進行考 察并自動組卷、自動判卷。根據成績庫學生可以很直觀的看到自測練習的成績, 以便了解自己近期的學習效果,有利于學生的自學。 本文主要闡述了基于 WEB 技術的在線自測系統的體系結構和具體設計以及實 現過程。介紹了在線自測系統中對題庫的管理、試卷的管理、學生成績的查詢, 在線自測功能的實現以及用戶權限的管理和試卷發布等功能。著重介紹了組卷功 能、時間控制功能、自動批改試卷功能的設計與實現。整個系統層次結構簡單, 操作容易,并具備一定的安全性,使用該系統能更高效、便捷地檢驗學生在課程 學習中的學習效果。 關鍵詞: 在線自測;時間控制;試題庫 The Design and Imp

3、lementation of Online Self-test System Based on WEB Abstract : The increasing development of computer application technology for educational research and development has brought new opportunities, and how the computer and network to be more effectively to introduce the field of education, has become

4、 a new topic. With the diversity of network applications and the popularity of more diverse ways of learning. Students can better complete the consolidation of the knowledge and understanding, through online self-test system, you can learn online content on the self- test, a clear understanding of t

5、heir own learning and found weaknesses in order to better completion of learning tasks. Online self-test system can accommodate the diversity of education, direct effects on learning and automatic generation of inspection, automatic graders. According to results library students can see the self-tes

6、t exercises very intuitive results, in order to understand their recent learning, helping students self-learning. This article focuses on technology-based WEB-line self-test system architecture and detailed design and implementation process. Introduced an online self-test item bank system on the man

7、agement, paper management, student achievement information, online self-test function of the realization and user rights management and publishing papers and so on. Test paper focuses on the function, time control function, automatic correcting function of the design and implementation papers. Hiera

8、rchy of the whole system is simple, easy, and have a certain security, to use the system more efficient and convenient to test students in the course of learning. Key words: On-line self_test;Time control; Test database 目目 錄錄 1 概 述.1 1.1 項目開發背景及意義.1 1.2 系統開發環境.1 1.3 系統開發技術及工具.2 2 需求分析.5 2.1 系統可行性分析.

9、5 2.2 系統基本需求.5 2.3 系統功能模塊需求.6 2.4 系統的設計目標.7 3 系統概要設計.7 3.1 系統開發環境.7 3.2 數據庫設計.7 4 系統詳細設計.11 4.1 數據庫連接及操作類的編寫.11 4.2 在線自測模塊設計.12 4.3 成績查詢模塊設計.16 4.4 查看正確答案模塊設計.17 4.5 試卷管理模塊設計.19 4.6 題庫管理模塊設計.23 4.7 管理員功能模塊設計.25 4.8 用戶登錄模塊設計.27 4.9 學生注冊模塊設計.29 5 系統測試.30 5.1 題庫管理模塊測試.30 5.2 試卷管理模塊測試.31 5.3 在線自測模塊測試.32

10、 6 結束語.33 參考文獻.34 致 謝.35 附 錄.36 附錄 1 程序清單.36 附錄 1.1 登錄模塊程序清單.36 附錄 1.2 題庫管理模塊程序清單.39 附錄 1.3 自動組卷模塊程序清單.41 附錄 1.4 發布試卷模塊程序清單.44 附錄 1.5 時間控制模塊程序清單.45 附錄 1.6 批改試卷模塊程序清單.46 附錄 1.7 成績查詢模塊程序清單.48 附錄 1.8 成績排序模塊程序清單.55 附錄 1.9 平均成績模塊程序清單.62 附錄 1.10 查看正確答案模塊程序清單.68 附錄 1.11 數據庫連接和操作模塊程序清單.71 基于基于 WEBWEB 的在線自測系

11、統的設計與實現的在線自測系統的設計與實現 1 概 述 1.1 項目開發背景及意義 基于 WEB 技術的在線自測系統可以借助于遍布全球的因特網進行,因此在線 自測既可以在本地進行,也可以在異地進行。試卷可以根據題庫中的內容即時生成; 可采用大量標準化試題,便于使用計算機判卷,大大提高閱卷效率;可以直接把成 績存到數據庫中,進行統計、排序等操作。現在較好的學生自我測試的方法為在線 自測,試題內容放在服務器上,考生通過用戶名和密碼進行登錄,試卷答案存放在 服務器中,這樣考試的公平性、答案的安全性可以得到有效的保證。因此,在線自 測的學習方法將是以后學生自我測試的發展趨勢。 在線考試系統可以使學生在網

12、上學習過后及時檢驗自己的學習效果,以發現自 己的不足,使得學習效率得到很大提高。在線自測統中試卷的生成、考卷的提交、 試題的批閱等都可以在網絡上自動完成。只要形成一套成熟的題庫就可以實現學生 自測練習的自動化。這樣一來,教師所要做的只是精心設計題目、維護題庫,而不 是組織考試,從而大大減輕了教師的負擔,其經濟性是相當可觀的,實用性、安全 性也很好。 1.2 系統開發環境 本系統采用 B/S 結構,即 Browser/Server(瀏覽器/服務器)結構,其隨著 Internet 技術的興起,對 C/S 結構的一種變化或者改進的結構。在這種結構下,用戶 界面完全通過 WWW 瀏覽器實現,一部分事務

13、邏輯在前端實現,但是主要事務邏輯 在服務器端實現,形成所謂的 3-tier 結構。B/S 結構,主要是利用了不斷成熟的 WWW 瀏覽器技術,結合瀏覽器的多種 Script 語言(VBScript、JavaScript)和 ActiveX 技術,通過瀏覽器就實現了原來需要復雜專用軟件才能實現的強大功能, 并節約了開發成本,是一種全新的軟件系統構造技術。隨著 Windows 98/Windows 2000 將瀏覽器技術植入操作系統內部,這種結構更成為當今應用軟件的首選體系結 構。顯然 B/S 結構應用程序相對于傳統的 C/S 結構應用程序是巨大的進步。 B/S 結構具有以下優點: a) 具有分布性

14、特點,可以隨時隨地進行查詢、瀏覽等業務處理。 b) 業務擴展簡單方便,通過增加網頁即可增加服務器功能。 c) 維護管理方便,只需更改網頁即可實現所有用戶的同步更新。 d) 開發簡單,共享性強。 1.3 系統開發技術及工具 1.3.1 JSP JSP 的工作原理是當用戶瀏覽器從 WEB 服務器上請求 JSP 文件時,WEB 服務 器響應該 HTTP 請求,JSP 引擎解釋 JSP 標識和小腳本,通過訪問 JavaBean 組件, 使用 JDBC 技術訪問數據庫,生成所請求的內容,并且將結果以 HTML 或者 XML 頁面的形式返回給瀏覽器。Servlet 為 WEB 開發員提供了一個簡單、一致的

15、機制, 來擴展 WEB 服務器的功能,并且和已有的業務系統交互,可以把 Servlet 看作在服 務端運行的 Applet。JavaBean 是一種“類” ,通過封裝屬性和方法成為具有某種功 能或處理某業務的對象。JavaBean 被組織成為 Package 以便進行管理。實際上就是 把一組 JavaBean 一起放在 XX 目錄中,每個類的定義前加上 PackageXX,必須放在 系統環境 Classpath 包含的目錄下,系統才能找到其中的 JavaBean。JSP 技術是 Servlet 技術的擴展,對 HTML 和 XML 的頁面創作提供支持。網頁設計員能夠非常 容易地將固定或靜態的模

16、板數據與動態內容進行組合。JSP 功能特點如下: a) JSP 具有跨平臺能力、語法簡單、書寫容易,并且有“一處編寫,隨處運行” 的特點。與 ASP 相比,JSP+JavaBean 可以在所有平臺下運行,而 Java 字節碼都是 具有標準性、 跨平臺性,在 移植到另外的 平臺上時基本不用重新編譯。而 ASP 目前僅用于 NT 和 IIS,需要通過 ASP+COM 組合實現擴充,而且在 Unix 下使用 COM 非常困難。 b) 采用 JavaBean 執行應用中的復雜處理,由于這些組件可重復使用,能提高 開發效率。此外,組件的使用有利于實現靜態和動態頁面的分離,頁面設計者和開 發設計者可以各司

17、其職 JSP 為分離處理邏輯和表示層提供了很好的解決方案。 c) JSP 技術為創建顯示動態生成內容的 WEB 頁面提供了一個簡捷而快速的方 法。JSP 技術的設計目的是使構造基于 WEB 應用程序更加容易和快捷,這些應用 程序能夠與各種 WEB 服務器、應用服務器、瀏覽器和開發工具共同工作。 d) JSP 的效率和安全性更高。ASP 以源碼形式存放,以解釋方式運行,每次 ASP 網頁調用都需要對源碼進行解釋,運行效率不高。JSP 在執行以前先被編譯成 字節碼,字節碼由 Java 虛擬機(Java Virtual Machine)解釋執行,比源碼解釋的效 率高服務器上還有字節碼 Cache 機

18、制,能提高字節碼的訪問效率。第一次調用 JSP 網頁可能稍慢,因為它被編譯成 Cache,以后就快得多了。同時,JSP 源程序不大 可能被下載,特別是 JavaBean 程序完全可以放到不對外的目錄中。 e) JSP 的組件方式更方便,易于維護。JSP 通過 JavaBean 實現了功能擴充,而 且 JavaBean 更為簡單。而 ASP 需要通過 COM 來擴充復雜的功能。在維護方面, COM 必須在服務器上注冊,如果修改了 COM 程序,就必須重新注冊,甚至必須關 機和重新啟動。JavaBean 則不需要注冊,放在 CLASSPATH 包含的目錄中就行了。 另外 JavaBean 是完全

19、OOP,可以針對不同的業務處理功能方便地建立一整套可重 復利用的對象庫,例如用戶權限控制、E-mail 自動回復等等。 1.3.2 Tomcat Tomcat 是一個小型的輕量級應用服務器,在中小型系統和并發訪問用戶不是很 多的場合下被普遍使用,是開發和調試 JSP 程序的首選。對于一個初學者來說,可 以這樣認為,當在一臺機器上配置好 Apache 服務器,可利用它響應對 HTML 頁面 的訪問請求。實際上 Tomcat 部分是 Apache 服務器的擴展,但它是獨立運行的,所 以當運行 Tomcat 時,它實際上作為一個與 Apache 獨立的進程單獨運行的。當配置 正確時,Apache 為

20、 HTML 頁面服務,而 Tomcat 實際上運行 JSP 頁面和 Servlet。另 外,Tomcat 和 IIS、Apache 等 WEB 服務器一樣,具有處理 HTML 頁面的功能,另 外它還是一個 Servlet 和 JSP 容器,獨立的 Servlet 容器是 Tomcat 的默認模式。 JDK(Java Development Kit)是 Sun Microsystems 針對 Java 開發員的產品。自從 Java 推出以來,JDK 已經成為使用最廣泛的 Java SDK。JDK 是整個 Java 的核心, 包括了 Java 運行環境,Java 工具和 Java 基礎的類庫。My

21、Eclipse 已經自帶 JDK,在 MyEclipse 中,只需配置好 Tomcat 的就可以搭建好服務器。 1.3.3 SQL Server 2005 Microsoft SQL server 2005 是由 Microsoft 公司開發的,由一系列相互協助的組 件構成,能滿足最大的 WEB 站點和企業數據處理系統存儲和和分析數據的需求。 它提供了豐富的圖形化管理工具,簡化了系統管理與操作。 Microsoft SQL server 2005 具有如下特性: a) 其數據引擎提供完整的 XML 支持 b) 簡單友好的操作方式 c) 多種形式的管理架構 d) 高度的可靠性、可擴展性和可用性

22、e) 數據庫可以在不同的平臺上使用 f) 易于安裝、管理、部署和使用 1.3.4 JDK JDK(Java Development Kit)是 Sun Microsystems 針對 Java 開發員的產品。自 從 Java 推出以來,JDK 已經成為使用最廣泛的 Java SDK。JDK 是整個 Java 的核心, 包括了 Java 運行環境,Java 工具和 Java 基礎的類庫。JDK 是學好 Java 的第一步。 而專門運行在 x86 平臺的 Jrocket 在服務端運行效率也要比 Sun JDK 好很多。從 SUN 的 JDK5.0 開始,提供了泛型等非常實用的功能,其版本也在不斷更

23、新,運行 效率得到了非常大的提高。 1.3.5 JavaScript JavaScript 是一種基于對象(Object)和事件驅動(EventDriven)并具有安全性 能的腳本語言。使用它的目的是與 HTML 超文本標記語言、Java 腳本語言(Java 小程序)一起實現在一個 WEB 頁面中連接多個對象,與 WEB 客戶交互作用。從 而可以開發客戶端的應用程序等。它是通過嵌入或調入到標準的 HTML 語言中實現 的。它的出現彌補了 HTML 語言的缺陷,它是 Java 與 HTML 折中的選擇,具有以 下幾個基本特點: a) JavaScript 是一種腳本編寫語言 JavaScript

24、 是一種腳本語言,它采用小程序段的方式實現編程。像其它腳本語 言一樣,JavaScript 同樣已是一種解釋性語言,它提供了一個簡易的開發過程。它 的基本結構形式與 C、C+、VB、Delphi 十分類似。但它不像這些語言一樣,需要 先編譯,而是在程序運行過程中被逐行地解釋。它與 HTML 標識結合在一起,從而 方便用戶的使用 操作。 b) 基于對象 的語言 JavaScript 是一種基于對象的語言,同時也可以看作一種面向對象的語言。這 意味著它能運用自己已經創建的對象。因此,許多功能可以來自于腳本環境中對象 的方法與腳本的相互作用。 c) 簡單性 JavaScript 的簡單性主要體現在:

25、首先它是一種基于 Java 基本語句和控制流之 上的簡單而緊湊的設計,從而對于學習 Java 是一種非常好的過渡。其次它的變量類 型是采用弱類型,并未使用嚴格的數據類型。 d) 安全性 JavaScript 是一種安全性語言,它不允許訪問本地的硬盤,并不能將數據存入 到服務器上,不允許對網絡文檔進行修改和刪除,只能通過瀏覽器實現信息瀏覽或 動態交互,從而有效地防止數據的丟失。 e) 動態性 JavaScript 是動態的,它可以直接對用戶或客戶輸入做出響應,無須經過 WEB 服務程序。它對用戶的反映響應,是采用以事件驅動的方式進行的。所謂事件驅動, 就是指在主頁(HomePage)中執行了某種

26、操作所產生的動作,就稱為“事件” Event) 。比如按下鼠標、移動窗口、選擇菜單等都可以視為事件。當事件發生后, 可能會引起相應的事件響應。 f) 跨平臺性 JavaScript 是依賴于瀏覽器本身,與操作環境無關,只要能運行瀏覽器的計算 機,并支持 JavaScript 的瀏覽器就可正確執行。從而實現了“編寫一次,走遍天下” 夢想。實際上 JavaScript 最杰出之處在于可以用很小的程序做大量的事。無須有高 性能的電腦,軟件僅需一個字處理軟件及瀏覽器。 1.3.6 MyEclipse MyEclipse 是一個十分優秀的用于開發 Java、J2EE 的 Eclipse 插件集合, My

27、Eclipse 的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分 不錯。MyEclipse 目前支持 Java Servlet、AJAX、JSP、JSF、Struts、Spring、Hibernate、EJB3、JDBC 數據庫鏈接工 具等多項功能。可以說 MyEclipse 幾乎囊括了目前所有主流開源產品的專屬 Eclipse 開發工具。 2 需求分析 2.1 系統可行性分析 可行性的目的就是用最小的代價在盡可能短的時間內確定問題是否能夠解決, 系統方案在經濟上、技術上和操作上是否可以接受。因此,可行性研究實質上是要 進行一次大大壓縮簡化了的系統分析和設計的過程,也就是在較高層

28、次上以較抽象 的方式進行系統分析和設計的過程。 因此,在對在線自測系統進行開發前,首先對系統進行整體規劃與設計,否則 就會導致開發工作量大,系統不符合要求,更為糟糕的是還可能導致系統不完善或 整個系統根本就無法運行。因此,系統的總體規劃與設計是在線自測必備且首要的 步驟。具體到本系統而言,就是要根據在線自測系統的目標、內容、規模、性質、 現有的配置等具體情況,進行系統可行性分析,明確系統開發的方向,規劃系統整 體的物理結構。 2.1.1 技術可行性技術可行性 本系統操作系統采用 Windows 系列操作系統,數據庫管理系統采用 SQL server 2005,采用 JSP+Servlet+Ja

29、vaBean 實現 MVC 三層模式進行系統的開發,IDE 工具 采用 MyEclipse。本系統的設計在技術上是可行的。 2.1.2 經濟可行性經濟可行性 在線自測系統可以節省大量的人力物力以及時間,可以最大限度的滿足學生的 需要,減輕老師的教學負擔。讓學生可以更方便地進行在線自測。同時,系統自動 組卷、判卷,老師也可以通過本系統更方便地了解到學生的學習情況。 2.1.3 操作可行性操作可行性 在線自測系統具備良好的界面、使用方便、操作簡單、易于被用戶接受,用戶 只需熟練操作計算機和對此系統使用做簡單地了解即可方便使用,而且使用此系統 可以減輕學校的負擔,從使用方面來看此系統的開發是可行的。

30、 2.2 系統基本需求 目前網上學習已經成為一種潮流,與此同時在線自測系統也成為一種需求。經 過對在線自測系統需求的分析,要求本系統具有以下功能: 考試系統的用戶分為管理員、教師和學生三種。 a) 管理員:對教師信息、學生信息、學院信息、班級信息、科目信息的管理。 b) 教師:題庫的管理、學生成績的查詢,平均成績的查詢以及試卷的發布。 c) 學生:主要是參加自主測驗,測驗完可以立即查出自己的考試成績,并可以 查看正確答案和該課程的平均成績。 另外,系統提供學生的注冊,可以方便更多學生使用本系統。題型分為選擇題 和填空題,系統實現自動隨機抽題組卷。系統控制在線自測時間,時間一到自動提 交試卷。刷

31、新或離開考試頁面,視為提交考卷,在一定程度上加強了系統的公平性 和嚴格性。測試完成系統自動批改試卷,得出學生該次自測練習的成績,并寫入數 據庫。考試完成后,學生可以查看已參加的考試的正確答案,可以查詢成績,并且 可以查看平均成績,了解自己的學習情況。 教師可以查詢學生的成績,并可以選擇試卷來查詢參加過該考試的學生成績, 并可以按成績的高低進行排序、查看該試卷的平均成績,以便更好的了解學生的學 習情況。 2.3 系統功能模塊需求 系統總體功能模塊如圖 2-1 所示。 在線自測系統 自 測 時 間 控 制 自 動 閱 卷 功 能 查 看 平 均 成 績 試 卷 平 均 成 績 自 動 組 卷 功

32、能 學 生 成 績 排 序 學 院 管 理 功 能 科 目 管 理 功 能 后臺部分前臺部分(學生用戶) 在 線 自 測 子 系 統 成 績 查 詢 子 系 統 正 確 答 案 子 系 統 教師用戶 學 生 成 績 試 卷 管 理 題 庫 管 理 管理員用戶 用 戶 管 理 資 源 管 理 圖 2-1 系統總體功能模塊圖 各個模塊包含主要功能如下: a)在線自測模塊:包括學生選擇試卷、進行答題、提交試卷、系統評分和記 錄成績功能。 b)成績查詢模塊:包括學生查詢自己參加過測試的所有試卷的成績,查詢某 試卷的個人成績和平均成績;教師查詢所有學生的成績,查詢某科目的學生成績并 排序,查看該科目的平

33、均成績功能。 c)正確答案模塊:已參加過測試的學生,可以查看該試卷的答案。 d)試卷管理模塊:包括自動組卷、發布試卷(或取消發布) 、預覽試卷和刪除 試卷功能。 e)題庫管理模塊:包括題庫中所有題目的查詢、添加、刪除和修改功能。 f)用戶管理模塊:包括三種帳戶(管理員、教師和學生)的查詢、添加、刪除 和修改功能。 g)資源管理 模塊:包括系統 資源(院系、科目和班級)的查詢、添加、刪除和修改功能。 其中學生權限下的功能模塊包括:在線自測模塊、成績查詢模塊和查看正確答 案模塊;教師權限下的功能模塊包括:題庫管理模塊、試卷管理模塊和學生成績管 理模塊;管理員權限下的功能模塊包括:用戶管理模塊和資源

34、管理模塊。 2.4 系統的設計目標 在線自測系統是為了更好的服務教師和學生,減輕教師和學生的負擔,使學生 可以自主學習。同時,教師可以監督學生,了解學生的學習情況。所以,本系統的 設計目標是在滿足以上功能的同時,盡量做到界面美觀大方,操作簡單,安全性高。 3 系統概要設計 3.1 系統開發環境 在線自測系統的實現技術有多種,可以采用傳統的客戶機/服務器型的 MIS 型 架構,即試題內容放在遠程的服務器上,在客戶機上安裝考試應用程序和數據庫客 戶機配置,因此每次訪問時要對機器進行安裝、配置,考務工作比較煩瑣,而且考 試程序放在客戶機上,安全性也受到一定影響。WEB 技術超越了傳統的“客戶機/ 服

35、務器”兩層結構,采用了三層體系結構:用戶界面層/事務層/數據庫層,因此 WEB 結構有著更好的安全性,在用戶機上不需要安裝任何應用程序,應用程序可 以安裝在事務層所在的計算機上,試題存放在數據庫服務器上,當然,事務層和數 據庫可以是同一臺機器(如果條件允許,還是應該把這兩層分別放在不同的計算機 上) ,因此本系統最終決定采用 WEB 技術實現。 3.2 數據庫設計 3.2.1 數據庫需求分析數據庫需求分析 通過對在線自測系統的功能分析,得出數據流圖如圖 3-1 所示。 生成試卷 題庫 管理 教師登錄 提 交 的 答 案 教師信息 管理操作 試 卷 內 容 考題 考題 考試請求 用戶信息 用戶信

36、息 學生信息 學生信息 教師信息 注冊信息 試卷文件 學生信息文件 教師信息文件 管理員 評分 系統 學生 登錄 教師 學生 資源管理 學生成績文件 成績信息 院系、科目文件 成績信息 圖 3-1 數據流程圖 3.2.2 數據項與結構數據項與結構 根據上述需求,設計如下所示的數據項和數據結構: a) 用戶表:用戶名、密碼、姓名、出生日期、性別、學院、專業、班級、學號、 E-mail、權限; b) 院系:編號和院系名稱; c) 班級:班級名稱和學院; d) 科目:編號、科目名稱; e) 選擇題題庫:問題號、科目、題目、選項和答案; f) 填空題題庫:問題號、科目、題目和答案; g) 試卷目錄:試

37、卷名、科目、題目數量、每題分數、狀態、總分、考試時間; h) 試卷選擇題表:問題號、科目、題目、選項和答案; i) 試卷填空題表:問題號、科目、題目和答案; j) 成績:用戶名、試卷名、姓名、成績、專業名稱和院系名稱。 3.2.3 系統系統 E-R 圖圖 基于上面的需求分析可以得出系統的 E-R 圖,如圖 3-2 所示。 N M 1 Q Y A S D 1 ZX 1 學生教師 管理員 員 試卷 院系 從屬 從屬 管理 管理考試 科目 從屬 1 1 1 從屬 班級 從屬 11 圖 3-2 系統 E-R 圖 3.2.4 數據庫表設數據庫表設 計計 數據庫 user 包含以下八個表:用戶表、院系表、

38、班級表、科目表、選擇題題庫 表、填空題題庫表、試卷目錄表、成績表。另外,試卷選擇題表、試卷填空題表為 系統隨即組卷時自動生成的表,表結構與題庫表相同。下面簡單介紹幾個表的結構。 用戶表用于存放管理員用戶、教師用戶和學生用戶的基本信息和權限,權限字 段為“1”為管理員, “2”為教師用戶, “3”為學生用戶。表結構如表 3-1 所示。 表 3-1 用戶表(Online_Examination) 名稱字段名數據類型主鍵非空 序號 idintYESYES 用戶名 usernamevarchar(50)NONO 密碼 passwordvarchar(50)NONO 姓名 rnamevarchar(50

39、)NONO 性別 sexvarchar(50)NONO 出生日期 timeavarchar(50)NONO 學院 xueyuanvarchar(50)NONO 專業 zhuanyevarchar(50)NONO 班級 banjivarchar(50)NONO 學號 xuehaovarchar(50)NONO 郵箱 emailvarchar(50)NONO 院系信息表用于存放院系信息,班級表與院系表為從屬關系。只需要兩個字段, 院系編號和院系信息。表結構如表 3-2 所示。 表 3-2 院系信息表(Online_Examination_XY) 名稱字段名數據類型主鍵非空 院系編號 idintYE

40、SYES 院系名稱 xueyuanvarchar(50)NONO 班級信息表用于存放班級信息,其中的學院名稱與院系表的學院名稱相關聯, 表示班級和學院的從屬關系。表結構如表 3-3 所示。 表 3-3 班級信息表(Online_Examination_BJ) 名稱字段名數據類型主鍵非空 班級編號 idintYESYES 班級名稱 banjivarchar(50)NONO 學院名稱 xueyuanvarchar(50)NONO 科目信息表用于存放科目信息,表結構如表 3-4 所示。 表 3-4 科目信息表(Online_Examination_LX) 名稱字段名數據類型主鍵非空 科目編號 idi

41、ntYESYES 科目名稱 leixingvarchar(50)NONO 選擇題題庫表用于存放選擇題信息,其中科目與科目表相關聯。還包括問題、 選項和正確答案字段。表結構如表 3-5 所示。 表 3-5 選擇題題庫表(Online_ST) 名稱字段名數據類型主鍵非空 問題號 idintYESYES 科目 leixingvarchar(50)NONO 問題 timuvarchar(5000)NONO 選項 1 xxavarchar(500)NONO 選項 2 xxbvarchar(500)NONO 選項 3 xxcvarchar(500)NONO 選項 4 xxdvarchar(500)NONO

42、 答案 daanvarchar(500)NONO 填空題題庫表用于存放填空題信息,其中科目與科目表相關聯。還包括問題和 正確答案字段。表結構如表 3-6 所示。 表 3-6 填空題題庫表(Online_ST1) 名稱字段名數據類型主鍵非空 問題號 idintYESYES 科目 leixingvarchar(50)NONO 問題 timuvarchar(500)NONO 答案 daanvarchar(500)NONO 試卷目錄表用于存放試卷信息,試卷權限字段標識試卷的發布狀態, “1”為發 布, “2”為未發布。另外其他字段還包括題目數量、每題分數、考試時間等。表結 構如表 3-7 所示。 表

43、3-7 試卷目錄表(Online_Examination_ML) 名稱字段名數據類型主鍵非空 序號 idintYESYES 試卷名 shijuan_namevarchar(50)NONO 試卷科目 shijuan_bumenvarchar(50)NONO 題目數量 timu_shuliangvarchar(50)NONO 試卷權限 shijuan_quanxianvarchar(50)NONO 每題分數 meitifenshuvarchar(50)NONO 總分 zongfenvarchar(50)NONO 考試時間 kaoshi_sjvarchar(50)NONO 學生成績表用于存放學生成績

44、信息,平均成績模塊要用到整型的考試成績,所 以數據類型設計成 int,其他字段包括試卷名、學院、專業、學生名等。學生表結 構如表 3-8 所示。 表 3-8 學生成績表(Online_Examination_XJ) 名稱字段名數據類型主鍵非空 序號 idintYESYES 學生姓名 student_namevarchar(50)NONO 試卷名 shijuan_bumenvarchar(50)NONO 考試成績 kaoshi_cjintNONO 專業 zhuanyevarchar(50)NONO 學院 xueyuanvarchar(50)NONO 用戶名 usernamevarchar(50)

45、NONO 4 系統詳細設計 4.1 數據庫連接及操作類的編寫 數據庫連接及操作類通常包括連接數據庫的方法 getConnection()、執行查詢語 句的方法 executeQuery()、執行更新操作的方法 executeUpdate()和關閉數據庫連接的 方法 close()。下面將詳細介紹在線自測系統中數據庫連接及操作的類“conn” 。 conn.java 放在包 Javabean 下,主要負責數據庫的連接和數據的操作。數據庫連 接采用 JDBC 方法: public conn() try Class.forName(com.microsoft.jdbc.sqlserver.SQLSe

46、rverDriver); catch (Exception e) try String path = jdbc:microsoft:sqlserver:/:1433;DatabaseName=user; String name = sa; String word = 123; conn = DriverManager.getConnection(path, name, word); catch (Exception e) 數據的操作先調用 conn 的 createStatement 方法創建一個 stmt,然后調用 statement 的 executeQuery 方法執行

47、 sql 語句,結果集放到 resultset 聲明的 rs 中。以 查詢為例代碼如下: public ResultSet query(String sql) try stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_U PDATABLE); rs = stmt.executeQuery(sql); System.out.println(數據庫查詢成功!); return rs; catch (Exception e) return rs; 4.2 在線自測模塊設計 在線自測模塊是本系統

48、的主要功能模塊。后臺數據庫中已經存放了教師用戶添 加、發布,并由系統自動組卷生成的試卷表。學生用戶在選擇試卷后,進行測驗。 提交試卷后,系統自動批改試卷。 a) 進入自測頁面前的驗證 注冊學生用戶首先通過下拉菜單選擇試卷,為了保證系統的安全性,只有教師 用戶發布過的試卷,即數據庫表 Online_Examination_ML 中的試卷權限的值為“1” , 才會顯示在下拉菜單中。實現的主要方法是,查詢表 Online_Examination_ML 中的 試卷權限的值。主要代碼如下: String sql=select * from Online_shijuan_ML where shijuan_

49、quanxian=1; ResultSet rs=aaa.query(sql); =請選擇= option value= 選擇一份試卷進入考試,將選擇項以 select 標簽的 value 屬性傳遞給 kaishikaishi.jsp,該 JSP 獲取試卷名,首先查詢學生成績表 Online_Examination_XJ,如果查詢結果不為空,則說明已經測試過,不能再進行測 試。然后查詢數據庫中試卷名稱命名的表,獲取考卷內容。查詢試卷目錄表 Online_Examination_ML 中該試卷名所對應的數據,獲取字段 kaoshi_sj 的值,來控 制考試時間。 b) 前臺考試頁面 因為試卷的題

50、型為選擇和填空,所以在設計數據庫的時候將題庫表和試卷表都 區分為選擇題庫表和填空題庫表、選擇題試卷表和填空題試卷表。所以在獲取試卷 的時候要將兩個試卷表數據庫都查詢到,并以不同的形式顯示出來。選擇題的選項 用 radio 類型的標簽,填空類型用 text 類型的標簽傳遞答案,以便傳值給閱卷模塊。 獲取試卷的主要代碼如下: String sql2=select * from +shijuan_name; conn con = new conn(); ResultSet rs2=con.query(sql2); String sql21=select * from +shijuan_name+1;

51、 conn con21 = new conn(); ResultSet rs21=con21.query(sql21); 考試界面如圖4-1所示。 圖4-1 考試界面 c) 考試時間的控制 考試時間的控制對系統的公平性影響很大,所以本系統細致的實現了此功能。 基本方法是,在kaishikaishi.jsp的head部分設置一個隱藏的標簽作為JSP與Javascript 傳值的媒介,Javascript中用document.getElementById( ).value方法獲取該表的value值, 即該試卷的考試時間。然后,在kaishikaishi.jsp頁面加載完成的時候就開始計時,考 試時

52、間結束后, 自動提交考試表 單到自動閱卷頁 面,完成考試。 考試時間控制的核心代碼如下: input type=hidden name=time value= id=time var timer = document.getElementById(time).value; var startTime, timeOver function checkTime() var timeNow = new Date(); var remnantTime = timeOver.getTime() - timeNow.getTime(); if(remnantTime 1) alert( 時間到了,點擊確定

53、交卷。 ); document.autosub.submit(); else var msg = ; var date1 = new Date(); date1.setTime(remnantTime); msg = (date1.getTime() % 60000 = 0)?(Math.ceil(date1.getTime() / (60000) + 分 ):(Math.ceil(date1.getTime() / (60000)-1 + 分 ); msg += date1.getSeconds() + 秒 ; document.all.agree.value=msg; setTimeout

54、( checkTime(); ,1000); function window_load() startTime = new Date(); timeOver = new Date(); timeOver.setTime(startTime.getTime() + (timer * 1000); checkTime(); window.onload = window_load; /網頁加載完成開始計時 d) 自動批改試卷 kaishikaishi.jsp中設置了一個表單,試卷提交后,將表單的內容提交給 add_chengji.jsp頁面進行自動閱卷和學生成績的錄入。自動閱卷功能是 add_che

55、ngji.jsp獲取了學生在kaishikaishi.jsp中選擇或填入的答案,然后和數據庫中 的標準答案進行比對。如果比對正確,則在總分上加上每題分數,如果不正確則不 加分。 部分核心代碼如下: for(int i=1;i=shuliang_xz;i+) rs.next(); String daan1=request.getParameter(+i); if(daan1=null |daan1=) System.out.println(沒有aa的值); continue; daan1=new String(daan1.getBytes(ISO8859-1),gb2312); System.o

56、ut.println(第+i+題選擇的答案:+daan1); String daan=rs.getString(daan); if(daan.equals(A) daan=rs.getString(xxa); else if(daan.equals(B) daan=rs.getString(xxb); else if(daan.equals(C) daan=rs.getString(xxc); else if(daan.equals(D) daan=rs.getString(xxd); System.out.println(第+i+題正確答案:+daan); if(daan1.equals(d

57、aan) System.out.println(第+i+題回答正確!); zongfen=zongfen+meitifenshu1; System.out.println(-); 4.3 成績查詢模塊設計 成績查詢模塊分為學生用戶使用的成績查詢和教師用戶使用的成績查詢。 a)學生用戶的成績查詢 學生用戶查詢的成績是該用戶所參加自測的成績。學生的成績查詢模塊包含按 試卷查詢成績的功能。同時也可以查詢相應試卷的平均成績,以了解自己的學習情 況。考試成績查詢頁面如圖4-2所示。 圖4-2 考試成績查詢 該頁面顯示該學生所參加的所有考試的成績。 按試卷查詢成績功能的實現是將select標簽和submi

58、t標簽放入表單中,然后通過 select標簽的value屬性傳遞試卷名給cj_chaxun1.jsp,該jsp文件按照試卷名到數據庫 中查詢相應字段的值。 平均成績功能則是將該試卷所有學生的成績求平均。因為在實現過程中,sql語 句的avg( )函數在執行時總是出錯,所以在實現的過程中只能選用在循環語句中把查 詢結果的kaoshi_cj字段的值相加,再除以該試卷所有學生的個數。 核心代碼如下: b)教師用戶的成績查詢 教師用戶的成績查詢功能模塊與學生的成績查詢功能模塊類似,只是增加了一 個排序的功能,即將某試卷的所有學生成績進行排序。以便更好的了解學生的學習 情況。排序功能只是簡單利用了sql

59、語句中的“order by desc” ,核心代碼如下: conn cn = new conn(); String sql=select * from Online_Examination_XJ where shijuan_name=+sj_name+ order by kaoshi_cj desc; ResultSet rs= cn.query(sql); 排序前的頁面如圖4-3所示。 圖4-3 排序前 排序后的頁面如圖4-4所示。 圖4-4 排序后 4.4 查看正確答案模塊設計 完成考試后,學生可以查看正確答案。選擇試卷名后,將試卷名提交給 right_answer.jsp頁面,該頁面通過

60、查詢Online_Examination_XJ表中,該用戶是否有 該試卷的成績,來判斷該用戶是否自測完成。若未完成,彈出對話框提示該信息。 流程圖如圖4-5所示。 是否已參加考試 查看該試卷正 確答案 結束 選擇試卷 否 是 開始 圖 4-5 查看正確答案模塊流程圖 條件判斷的主要代碼: alert(您還未考試,不能查看答案!); window.location=kaishidati.jsp; 查看正確答案界面如圖4-6所示。 圖4-6 查看正確答案頁面 4.5 試卷管理模塊設計 試卷管理模塊的主要功能分為:自動組卷、試卷發布(取消試卷發布) 、試卷 預覽和刪除試卷。 4.5.1 自動組卷模塊

溫馨提示

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

評論

0/150

提交評論