基于WEB的通用試題庫組卷系統(tǒng)的設計與實現(xiàn)畢業(yè)設計_第1頁
基于WEB的通用試題庫組卷系統(tǒng)的設計與實現(xiàn)畢業(yè)設計_第2頁
基于WEB的通用試題庫組卷系統(tǒng)的設計與實現(xiàn)畢業(yè)設計_第3頁
基于WEB的通用試題庫組卷系統(tǒng)的設計與實現(xiàn)畢業(yè)設計_第4頁
基于WEB的通用試題庫組卷系統(tǒng)的設計與實現(xiàn)畢業(yè)設計_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、摘摘要要 智能組卷系統(tǒng)是計算機輔助教學的一個重要應用,它的開發(fā)與研究一直是教 育改革的重要方面。本文結(jié)合學校的實際情況詳細介紹了智能組卷系統(tǒng)的設計 與實現(xiàn),并著重對組卷的算法和試題庫系統(tǒng)的建設進行了研究和設計。論文從用 戶的實際需求出發(fā),對智能組卷系統(tǒng)應具備的主要功能進行了詳細闡述,提出了 系統(tǒng)的總體設計方案,并對系統(tǒng)的主要模塊和數(shù)據(jù)庫進行了詳細設計。論文首先 分析和研究了智能組卷系統(tǒng)中試題庫系統(tǒng)的理論基礎,提出了試題庫系統(tǒng)的建設 方案,包括試題庫的參數(shù)屬性設置、屬性分布及試題庫構(gòu)建原則;然后介紹了目 前常用組卷算法,對智能組卷的策略與算法進行了分析研究,提出了本系統(tǒng)使用 的自動組卷的方法和思

2、路,確定系統(tǒng)采用的組卷策略及相關(guān)算法,并闡述了組卷 的具體步驟與程序編寫方案。經(jīng)過深入的研究和詳細的分析,論文設計并實現(xiàn)了 一個基于 CS,以 JSP 技術(shù)和 Oracle 后臺數(shù)據(jù)庫為基礎的,具備題庫管理、智能 組卷、閱卷等功能為一體的組卷系統(tǒng)。智能組卷對于減少教師工作量、提高教 學水平具有一定的價值,對促進教育社會化和現(xiàn)代化有著重要的現(xiàn)實意義。 隨著計算機網(wǎng)絡技術(shù)及遠程教育的發(fā)展,作為遠程教育的必要組成部分網(wǎng) 絡考試系統(tǒng),是遠程教學過程中不可缺少的教學環(huán)節(jié)。通過考試,老師可對學 生的學習進行考核,并了解學生的學習效果,為改進教學提供依據(jù)。同時,學 生可通過考試了解自己對所學內(nèi)容的掌握情況,

3、激發(fā)學生自主學習的熱情,從 而達到提高教學質(zhì)量的目的。針對目前一些網(wǎng)絡考試軟件普遍存在著缺乏開放 性、試題質(zhì)量不高、測試有效性不足等情況,經(jīng)過我們一段時間的認真分析與 調(diào)查,設計開發(fā)了一個網(wǎng)絡環(huán)境下的考試系統(tǒng)。 關(guān)鍵字:關(guān)鍵字:試題庫智能組卷組卷策略JSPOracle ABSTRACT Intelligence group system is a computer-aided instruction one important application for its development and research has been an important aspect of educati

4、on reform. this combination of school in the real situation on the smart set of a system design and implementation of the group, and focusing on the question algorithm and a library system for research and design. Paper from a user s actual demand on the smart set of a system for major functional ha

5、d elaborated a system, the overall design, and the system of the module and a database for the detailed design. Paper first, analysis and study the smart set of a system of the question to the library system, the question of the treasury system, including questions of property sets the parameters an

6、d property distribution and the question of the treasury building; and then introduced the present a common set of algorithmic, the smart set of strategies and algorithms analyzed studies, the system of automatic group of ways and ideas, establish the system uses a set policy and algorithms, and the

7、 group of concrete steps and procedures in compiling After thoroughgoing research and analysis, the paper designed and implemented a, b, based on the structure of the sql server 2008 asp technology and the database to the library, management, the smart set up, the manual section rolls, papers and ot

8、her functions in one group of a system. the smart set up to reduce teachers workload, the level of education has a certain value to promote socialization and modern education has important actual significance With the development of network technology of the computer and teleeducation , have an exam

9、ination the system as essential component network of teleeducation , it is a long-range indispensable teaching link in the course of teaching. Through examination, teacher can study and examine student, and find out about students results of learning, offer basis on which improve teaching. Meanwhile

10、, student can understand between oneself and situations of knowing of content learnt through examination, excite student independent enthusiasm of study , thus achieve the goal of improving teaching quality.To some network examination software have and lack opening, examination question of low quali

11、ty, test validity situation such as being enough generally at present, Through analysing and investigate conscientiously , designed and developed the examination system under a network environment . Key words:Question libraryIntelligenceGroup of a strategyJSP Oracle 目目錄錄 1 1 前前言言.1 1.11.1 開發(fā)背景開發(fā)背景.1

12、 1.21.2 國內(nèi)外研究現(xiàn)狀國內(nèi)外研究現(xiàn)狀.1 1.31.3 系統(tǒng)設計目標系統(tǒng)設計目標.2 2 2 系統(tǒng)開發(fā)所采用的技術(shù)系統(tǒng)開發(fā)所采用的技術(shù).3 2.12.1 JSPJSP 技術(shù)技術(shù).3 2.22.2 TomcatTomcat 服務器服務器.3 2.32.3 Oracle9iOracle9i 數(shù)據(jù)庫數(shù)據(jù)庫.4 2.42.4 MyEclipseMyEclipse 8.58.5 開發(fā)環(huán)境開發(fā)環(huán)境.5 2.52.5 MVCMVC 三層框架三層框架.5 3 3 自動組卷系統(tǒng)需求分析自動組卷系統(tǒng)需求分析.7 3.13.1 可行性分析可行性分析.7 3.23.2 功能分析功能分析.7 3.2.1 功能介

13、紹.7 3.2.2 業(yè)務流程圖.8 4 4 系統(tǒng)總體設計系統(tǒng)總體設計.9 4.14.1 系統(tǒng)主要功能設計系統(tǒng)主要功能設計.9 4.24.2 系統(tǒng)主要功能流程圖設計系統(tǒng)主要功能流程圖設計.10 4.34.3 數(shù)據(jù)庫設計數(shù)據(jù)庫設計.11 4.3.1 關(guān)系數(shù)據(jù)庫的基本概念.11 4.3.2 系統(tǒng) E-R 圖.11 4.3.3 數(shù)據(jù)庫表結(jié)構(gòu).12 4.3.4 數(shù)據(jù)庫連接.13 5 5 系統(tǒng)詳細設計及實現(xiàn)系統(tǒng)詳細設計及實現(xiàn).14 5.15.1 用戶登錄功能用戶登錄功能.14 5.25.2 用戶注冊功能用戶注冊功能.15 5.35.3 功能選擇界面功能選擇界面.17 5.45.4 增加新題目功能增加新題目

14、功能.18 5.55.5 查詢修改題目功能查詢修改題目功能.20 5.65.6 修改題目功能修改題目功能.21 5.75.7 刪除題目功能刪除題目功能.22 5.85.8 隨機選擇題目練習功能隨機選擇題目練習功能.23 5.95.9 成績單成績單.24 6 6 系統(tǒng)測試系統(tǒng)測試.26 6.16.1 測試概論測試概論.26 6.26.2 自動組卷系統(tǒng)采用的測試方法自動組卷系統(tǒng)采用的測試方法.26 6.36.3 自動組卷系統(tǒng)登陸功能測試自動組卷系統(tǒng)登陸功能測試.27 6.46.4 自動組卷系統(tǒng)新增題目功能測試自動組卷系統(tǒng)新增題目功能測試.28 結(jié)結(jié)論論.30 謝謝辭辭.31 參考文獻參考文獻.32

15、 附附錄錄.33 1 1 前前言言 1.11.1 開發(fā)背景開發(fā)背景 在網(wǎng)絡技術(shù)飛速發(fā)展的形勢下,隨著網(wǎng)絡教學的進一步發(fā)展,為了能夠使 得考試更加公正客觀,使每次考試都能更好地檢驗學生的水平,網(wǎng)絡教學系統(tǒng) 中的一個重要組成部分一一試題庫系統(tǒng)的建設和管理也越來越受到人們的重視。 各類考試從組織出卷到試卷的印制及試卷管理等工作非常繁瑣且工作量也 很大,傳統(tǒng)的組織管理方式不僅工作任務繁重,而且在試卷的標準化程度、難 易程度、題量大小等各方面難以控制。如何提高教學質(zhì)量,規(guī)范化考試過程, 盡量減少人為因素對考試的影響,使考試更具客觀性,科學性,是教育界多年 來追求的目標。利用計算機自動生成試卷,并逐步積累

16、形成有效的試題庫,能 夠使對試題和試卷的管理變得高效而便捷,對于提高工作效率,使試卷管理逐 步走向正規(guī)化自動化將起到十分重要的作用。研究和開發(fā)試題庫系統(tǒng)是實現(xiàn)此 目標的重要手段。 雖然現(xiàn)在已開發(fā)出一些試題庫系統(tǒng)和計算機輔助考試系統(tǒng),但是真正能夠 推廣的還不多。在諸多的原因中,主要有這樣幾個問題:一是對已有試題庫系 統(tǒng)的維護和更新不方便。試題庫系統(tǒng)隨著課程內(nèi)容的發(fā)展變化,必須不斷的更 新。但現(xiàn)有的試題庫系統(tǒng)往往對其試題數(shù)據(jù)庫的開放性不夠,用戶對已有試題 的維護不夠方便。而且,對要錄入的試題的內(nèi)容有一些限制,如圖表、圖片、 公式、圖像、乃至多媒體信息等數(shù)據(jù),都不能很好的處理。二是現(xiàn)已見諸文獻 的試

17、卷的自動生成算法,存在一些問題。這些算法,大都基于經(jīng)驗的積累,雖 然便于溝通,但卻有很強的任意性,有損于它的公平性和客觀性。 1.21.2 國內(nèi)外研究現(xiàn)狀國內(nèi)外研究現(xiàn)狀 國內(nèi)網(wǎng)絡教育和網(wǎng)絡大學的興起,通過對國內(nèi)網(wǎng)上大學了解發(fā)現(xiàn),網(wǎng)上課 程支持系統(tǒng)明顯不足。我國的網(wǎng)絡學院的開辦,作為網(wǎng)絡課程重要組成部分的 網(wǎng)絡考試系統(tǒng)也有很多地覅昂未開發(fā),如北京師范大學的網(wǎng)絡教學平臺,其測 試考核自動化,但是功能單一,只能適用于計算機應用操作考試,網(wǎng)絡版拓展 性能差,采用的是兩層的 C/S 架構(gòu),只能在局域網(wǎng)內(nèi)使用;上海交大也有開發(fā) 了一個網(wǎng)絡考試平臺,它的試題庫做的不錯,但是實時的在線考試功能較差。 不少高校

18、及科研單位也有開發(fā)了各門各類的基于 Web 的在線考試系統(tǒng)。除了前 文提及的教育部現(xiàn)代遠程教育試點網(wǎng)絡學院正在研究和試用的在線考試系統(tǒng)外, 一些大規(guī)模高線的部分計算機學科,特別是基礎學科也在制作和試驗使用在線 考試來進行無紙化考試,如華中理工大學,上海同濟大學等。 大型教育培訓機構(gòu)由于面向的培訓對象分布范圍廣,他們是研制和試用在 線考試系統(tǒng)的積極力量。如全球最大的信息技術(shù)教育培訓和提供 IT 解決方案的 跨國公司之一 MIT(印度國家信息學院),它在中國的培訓從 2004 年起全面實 行,其學生都利用網(wǎng)上在線考試系統(tǒng)進行考試。 大約 1997 年初,國外開始出現(xiàn)支持網(wǎng)上教學的系統(tǒng)和平臺,近年來

19、層出不 窮。國外大多數(shù)系統(tǒng)側(cè)重網(wǎng)上的課程開發(fā),課程管理,學生歷史記錄等方面, 對教學過程提供全面有效但是比較基礎的支持,也有一些系統(tǒng)重視教學活動的 設計,如提供對不同教學模式的教學實施方便些的支持。沒過的 NTU,英國的 penColege 都是十分典型的網(wǎng)絡教育示例。但是,一些范圍內(nèi)的考試采取的技 術(shù)還是停留在局部范圍的基于 C/S 架構(gòu)的應用程序,整體性的考試工具還未形 成。由于技術(shù)和相關(guān)理論的不斷成熟,近幾年,基于 Web 的在線考試系統(tǒng)得到 了長足的發(fā)展,已經(jīng)成為現(xiàn)代遠程教育研究的一個熱點;相反的,也正是應為 技術(shù)和相關(guān)理論的不夠成熟,基于 Web 的在線考試系統(tǒng)還需要不斷的研究和完

20、善,應為它還沒能夠完全地在現(xiàn)代遠程教育評價和學習中發(fā)展和實施。 目前在英國,已經(jīng)實現(xiàn)了英語資格考試的網(wǎng)上學習和水平認證的全過程, 許多國際著名的計算機公司和組織的各種認證考試大部分采用這種方式。 1.31.3 系統(tǒng)設計目標系統(tǒng)設計目標 本文以實現(xiàn)面向網(wǎng)絡考試系統(tǒng)的自動組卷算法為目標,對試題庫系統(tǒng)的體 系結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)、試卷生成算法的設計與實現(xiàn)進行了深入的研究。實 現(xiàn)了一個面向網(wǎng)絡教學的試題庫系統(tǒng),較好地解決了試題中數(shù)據(jù)的存儲和編輯 問題。在分析已有試卷自動生成算法優(yōu)劣的基礎上,借鑒傳統(tǒng)的試卷生成過程, 實現(xiàn)了一種基于概率統(tǒng)計原理的試卷生成算法。該算法可以在試題庫中隨機選 取考題。試題庫中

21、多種類型數(shù)據(jù)存儲方式的確定和自動組卷算法的設計實現(xiàn)是 本文的關(guān)鍵技術(shù)。 2 2 系統(tǒng)開發(fā)所采用的技術(shù)系統(tǒng)開發(fā)所采用的技術(shù) 2.12.1 JSPJSP 技術(shù)技術(shù) JSP 全稱 JavaServerPages,它是由 Sun Microsystems 公司提出、許多公司 參與建立的一種動態(tài)網(wǎng)頁技術(shù)標準。它誕生在 1999 年 6 月 1 日。用 JSP 開發(fā)的 Web 應用是跨平臺的,即能在 Linux 下運行,也能在其他操作系統(tǒng)上運行。目 前國內(nèi)外已經(jīng)在廣泛地使用 JSP。隨著 JAVA 語言得到普及,越來越多的公司 開始關(guān)注 JSP 的前景。 JSP 頁面由 HTML 代碼和嵌入其中的 Jav

22、a 代碼所組成。服務器在頁面被客 戶端請求以后對這些 Java 代碼進行處理,然后將生成的 HTML 頁面返回給客 戶端的瀏覽器。Java Servlet 是 JSP 的技術(shù)基礎,而且大型的 Web 應用程序的 開發(fā)需要 Java Servlet 和 JSP 配合才能完成。JSP 具備了 Java 技術(shù)的簡單易用, 完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點。 JSP 技術(shù)的優(yōu)點如下: 一次編寫,到處運行。在這一點上 Java 比 PHP 更出色,除了系統(tǒng)之外, 代碼不用做任何更改。 系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意 環(huán)境中進行系統(tǒng)部署,

23、在任意環(huán)境中擴展。相比 ASP/PHP 的局限性是顯而易見 的。 強大的可伸縮性。從只有一個小的 Jar 文件就可以運行 Servlet/JSP,到由多 臺服務器進行集群和負載均衡,到多臺 Application 進行事務處理,消息處理, 一臺服務器到無數(shù)臺服務器,Java 顯示了一個巨大的生命力。 多樣化和功能強大的開發(fā)工具支持。這一點與 ASP 很像,Java 已經(jīng)有了許 多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利 的運行于多種平臺之下。 2.22.2 TomcatTomcat 服務器服務器 Tomcat 服務器是一個免費的開放源代碼的 Web 應用服務器,目前最

24、新版 本是 6.0.20。 Tomcat 是 Apache 軟件基金會(Apache Software Foundation)的 Jakarta 項 目中的一個核心項目,由 Apache、Sun 和其他一些公司及個人共同開發(fā)而成。 由于有了 Sun 的參與和支持,最新的 Servlet 和 JSP 規(guī)范總是能在 Tomcat 中 得到體現(xiàn),Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 規(guī)范。因為 Tomcat 技 術(shù)先進、性能穩(wěn)定,而且免費,因而深受 Java 愛好者的喜愛并得到了部分軟件 開發(fā)商的認可,成為目前比較流行的 Web 應用服務器。 Tomcat 很受廣

25、大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性 好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷的 改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。 Tomcat 是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不 是很多的場合下被普遍使用,是開發(fā)和調(diào)試 JSP 程序的首選。對于一個初學者 來說,可以這樣認為,當在一臺機器上配置好 Apache 服務器,可利用它響應 對 HTML 頁面的訪問請求。實際上 Tomcat 部分是 Apache 服務器的擴展,但 它是獨立運行的,所以當你運行 tomcat 時,它實際上作為一個與 Apache 獨

26、立 的進程單獨運行的。 這里的訣竅是,當配置正確時,Apache 為 HTML 頁面服務,而 Tomcat 實際上運行 JSP 頁面和 Servlet。另外,Tomcat 和 IIS、Apache 等 Web 服務器 一樣,具有處理 HTML 頁面的功能,另外它還是一個 Servlet 和 JSP 容器,獨 立的 Servlet 容器是 Tomcat 的默認模式。不過,Tomcat 處理靜態(tài) HTML 的能力 不如 Apache 服務器。 2.32.3 Oracle9iOracle9i 數(shù)據(jù)庫數(shù)據(jù)庫 Oracle Database,又名 Oracle RDBMS,或簡稱 Oracle。是甲骨文

27、公司的一 款關(guān)系數(shù)據(jù)庫管理系統(tǒng)。到目前仍在數(shù)據(jù)庫市場上占有主要份額。勞倫斯埃里森 和他的朋友,之前的同事 Bob Miner 和 Ed Oates 在 1977 年建立了軟件開發(fā)實驗 室咨詢公司(SDL,Software Development Laboratories) 。 Oracle 數(shù)據(jù)庫服務器: Oracle Server 是一個對象一關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它提供開放的、全面的、 和集成的信息管理方法。每個 Server 由一個 Oracle DB 和一個 Oracle Server 實 例組成。它具有場地自治性(Site Autonomy)和提供數(shù)據(jù)存儲透明機制,以此 可實現(xiàn)數(shù)據(jù)存儲

28、透明性。每個 Oracle 數(shù)據(jù)庫對應唯一的一個實例名 SID,Oracle 數(shù)據(jù)庫服務器啟動后,一般至少有以下幾個用戶:Internal,它不 是一個真實的用戶名,而是具有 SYSDBA 優(yōu)先級的 Sys 用戶的別名,它由 DBA 用戶使用來完成數(shù)據(jù)庫的管理任務,包括啟動和關(guān)閉數(shù)據(jù)庫;Sys,它是 一個 DBA 用戶名,具有最大的數(shù)據(jù)庫操作權(quán)限;System,它也是一個 DBA 用戶名,權(quán)限僅次于 Sys 用戶。 客戶端: 為數(shù)據(jù)庫用戶操作端,由應用、工具、SQL* NET 組成,用戶操作數(shù)據(jù)庫 時,必須連接到一服務器,該數(shù)據(jù)庫稱為本地數(shù)據(jù)庫(Local DB) 。在網(wǎng)絡環(huán)境 下其它服務器上

29、的 DB 稱為遠程數(shù)據(jù)庫(Remote DB) 。用戶要存取遠程 DB 上 的數(shù)據(jù)時,必須建立數(shù)據(jù)庫鏈。 Oracle 數(shù)據(jù)庫的體系結(jié)構(gòu)包括物理存儲結(jié)構(gòu)和邏輯存儲結(jié)構(gòu)。由于它們是 相分離的,所以在管理數(shù)據(jù)的物理存儲結(jié)構(gòu)時并不會影響對邏輯存儲結(jié)構(gòu)的存 取。 邏輯存儲結(jié)構(gòu) 它由至少一個表空間和數(shù)據(jù)庫模式對象組成。這里,模式是對象的集合, 而模式對象是直接引用數(shù)據(jù)庫數(shù)據(jù)的邏輯結(jié)構(gòu)。模式對象包括這樣一些結(jié)構(gòu): 表、視圖、序列、存儲過程、同一詞、索引、簇和數(shù)據(jù)庫鏈等。邏輯存儲結(jié)構(gòu) 包括表空間、段和范圍,用于描述怎樣使用數(shù)據(jù)庫的物理空間。而其中的模式 對象和關(guān)系形成了數(shù)據(jù)庫的關(guān)系設計。 數(shù)據(jù)塊(Block

30、):是數(shù)據(jù)庫進行 UO 操作的最小單位,它與操作系統(tǒng)的塊 不是一個概念。oracle 數(shù)據(jù)庫不是以操作系統(tǒng)的塊為單位來請求數(shù)據(jù),而是以 多個 Oracle 數(shù)據(jù)庫塊為單位。 段(Segment):是表空間中一個指定類型的邏輯存儲結(jié)構(gòu),它由一個或多 個范圍組成,段將占用并增長存儲空間。 2.42.4 MyEclipseMyEclipse 8.58.5 開發(fā)環(huán)境開發(fā)環(huán)境 MyEclipse 企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱 MyEclipse)是對 EclipseIDE 的擴展,利用它我們可以在數(shù)據(jù)庫和 JavaEE 的開 發(fā)、發(fā)布以及應用程序服

31、務器的整合方面極大的提高工作效率。它是功能豐富 的 JavaEE 集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支 持 HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。 在結(jié)構(gòu)上,MyEclipse 的特征可以被分為 7 類: 1JavaEE 模型 2 WEB 開發(fā)工具 3EJB 開發(fā)工具 4應用程序服務器 的連接器 5JavaEE 項目部署服務 6數(shù)據(jù)庫服務 7MyEclipse 整合幫助 對于以上每一種功能上的類別,在 Eclipse 中都有相應的功能部件,并通過 一系列的插件來實現(xiàn)它們。MyEclipse 結(jié)構(gòu)上的這種模塊化,可以讓我

32、們在不影 響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。 2.52.5 MVCMVC 三層框架三層框架 MVC 架構(gòu)是Model-View-Controller的縮寫,中文翻譯為模型-視圖-控制 器。MVC 應用程序總是由這三個部分組成。Event(事件)導致 Controller 改變 Model 或 View,或者同時改變兩者。只要 Controller 改變了 Models 的數(shù)據(jù)或者 屬性,所有依賴的 View 都會自動更新。類似的,只要 Controller 改變了 View,View 會從潛在的 Model 中獲取數(shù)據(jù)來刷新自己。 MVC 架構(gòu)是一個復雜的架構(gòu),其實現(xiàn)也顯得非

33、常復雜。但是,我們已經(jīng)總 結(jié)出了很多可靠的設計模式,多種設計模式結(jié)合在一起,使 MVC 架構(gòu)的實現(xiàn) 變得相對簡單易行。Views 可以看作一棵樹,顯然可以用 Composite Pattern 來 實現(xiàn)。Views 和 Models 之間的關(guān)系可以用 Observer Pattern 體現(xiàn)。Controller 控 制 Views 的顯示,可以用 Strategy Pattern 實現(xiàn)。Model 通常是一個調(diào)停者,可 采用 Mediator Pattern 來實現(xiàn)。 現(xiàn)在讓我們來了解一下 MVC 三個部分在 J2EE 架構(gòu)中處于什么位置,這樣 有助于我們理解 MVC 架構(gòu)的實現(xiàn)。MVC 與

34、J2EE 架構(gòu)的對應關(guān)系是:View 處 于 Web Tier 或者說是 Client Tier,通常是 JSP/Servlet,即頁面顯示部分。 Controller 也處于 Web Tier,通常用 Servlet 來實現(xiàn),即頁面顯示的邏輯部分實 現(xiàn)。Model 處于 Middle Tier,通常用服務端的 javaBean 或者 EJB 實現(xiàn)。 圖2-1 MVC框架3個部分的關(guān)系(中文版) 圖2-2 MVC框架3個部分的關(guān)系(英文版) 3 3 自動組卷系統(tǒng)需求分析自動組卷系統(tǒng)需求分析 3.13.1 可行性分析可行性分析 (1)技術(shù)可行性 開發(fā)此自動組卷系統(tǒng)需要的硬件環(huán)境要求不高,操作系統(tǒng)

35、為 Windows XP 系 列,軟件的開發(fā)平臺為 MyEclipse8.5。除專業(yè)技術(shù)人員外,普通操作人員無需 掌握 JAVA,JSP,ORACLE 等的使用。根據(jù)現(xiàn)有的技術(shù)設備條件和準備充足的技術(shù) 力量和設備,從技術(shù)方面開發(fā)此自動組卷系統(tǒng)是可行的。 (2)經(jīng)濟可行性 本自動組卷系統(tǒng)主要面向大中專學院,所需的硬件和軟件環(huán)境都不高,所 需的專業(yè)技術(shù)人員也不多,大部分教師在系統(tǒng)的演示完畢之后就可以親自操作 了。并且利用學校已有的教學工具,所以開發(fā)此系統(tǒng)成本低,經(jīng)濟效益高,實 用性強,因此系統(tǒng)經(jīng)濟可行性開發(fā)。 (3)操作可行性 運行此自動組卷系統(tǒng)需要的硬件和軟件環(huán)境要求不高,運行系統(tǒng)為 Windo

36、ws XP 系列,運行方法為網(wǎng)頁打開,可視的圖形界面和各種按鈕讓用戶可 以快速的了解本系統(tǒng),并且熟練的使用本系統(tǒng)。從用戶操作方面本自動組卷系 統(tǒng)是可行的。 (4)可行性研究結(jié)論 綜合上面的技術(shù)可行性,經(jīng)濟可行性,操作可行性的分析和研究,認為開 發(fā)本自動組卷系統(tǒng)的開發(fā)是可行的。 3.23.2 功能分析功能分析 3.2.1 功能介紹 (1)登陸功能 此系統(tǒng)需要有登陸功能,與數(shù)據(jù)庫連接。登陸分為管理員登陸和普通用戶 登錄,登陸時選擇登陸的級別,管理員或者是普通用戶。 (2)注冊功能 此系統(tǒng)需要有注冊新用戶的功能,與數(shù)據(jù)庫連接,注冊時只能選擇注冊普 通用戶,不能注冊新的管理員用戶。 (3)增加新題功能

37、 管理員可以在登陸后增加新的題目,與數(shù)據(jù)庫連接,增加新題的各項不能 為空,否則提示新增題目失敗。 (4)查詢所有題目信息,并修改 管理員可以在登陸后查詢所有題目信息,與數(shù)據(jù)庫連接。 (5)隨機選題功能 用戶登錄后,可選擇隨即選擇題目答題,程序隨機在數(shù)據(jù)庫中選擇相對應 數(shù)的題目給用戶答題。 (6)對比功能 用戶答題提交后,程序提交用戶提交的答案,并找出題目的正確答案給用 戶,讓用戶對比自己答題是否正確,正確答案是什么。 3.2.2 業(yè)務流程圖 首頁 用戶登陸注冊新用戶 普通用戶登 陸 管理員登陸 隨 機 選 擇 題 目 查 看 答 題 信 息 增 加 新 題 目 查 詢 所 有 題 目 修 改

38、題 目 信 息 隨 機 選 擇 題 目 圖 3-1 自動組卷業(yè)務流程圖 4 4 系統(tǒng)總體設計系統(tǒng)總體設計 4.14.1 系統(tǒng)主要功能設計系統(tǒng)主要功能設計 本系統(tǒng)主要包括用戶登陸和題目管理,注冊新用戶三個獨立的模塊,主要 包括管理員登陸,普通用戶登錄,查詢所有題目信息,修改題目信息,增加新 題目,隨機選擇題目做題等功能。 自動組卷系統(tǒng) 用戶登錄注冊新用戶題目管理 普 通 用 戶 登 錄 增 加 新 題 目 查 詢 所 有 題 目 修 改 題 目 信 息 隨 機 選 擇 題 目 管 理 員 登 陸 圖 4-1 自動組卷系統(tǒng)功能模塊圖 (1)用戶登錄模塊 創(chuàng)建一個文本框和密碼框,文本框用來輸入用戶名

39、,密碼框用來輸出密碼, 設置一個單選按鈕組,用來選擇登陸級別,是管理員登陸還是普通用戶登錄, 登陸的時候與數(shù)據(jù)庫數(shù)據(jù)進行交互比較。 (2)注冊新用戶模塊 填寫一系列的用戶基本信息,密碼需要輸入兩次,提交的時候利用事先編 寫好的正規(guī)表達式判斷輸入信息是否合格,兩次密碼是否相同,如果相同則往 數(shù)據(jù)庫中增加數(shù)據(jù),不同則提示創(chuàng)建失敗。 (3)題目管理模塊 正常登陸后,為了便于管理和操作,管理員有權(quán)限增加新題目,查詢所有 題目和修改題目信息等的全部權(quán)限,而普通用戶只有隨即選擇題目的權(quán)限。 為保證系統(tǒng)的高效、科學、合理,系統(tǒng)應實現(xiàn)以下目標: (1)系統(tǒng)能夠穩(wěn)定、可靠的運行,具有良好的可維護性、可擴展性、可

40、移 植性。在數(shù)據(jù)組織、系統(tǒng)功能、系統(tǒng)結(jié)構(gòu)上保留足夠的擴充余地,便于今后的 擴充。 (2)系統(tǒng)能夠簡化管理,提高效率。 (3)系統(tǒng)能夠提供流暢的數(shù)據(jù)信息處理、快速方便的信息查詢。為確保系 統(tǒng)實際應用時的科學性和先進性,本系統(tǒng)采用 B/S 結(jié)構(gòu)的設計思想。 (4)系統(tǒng)具有良好的安全保密性能,良好的誤操作保護和故障恢復性能。 (5)具有良好的用戶接口,操作簡單、方便,易于學習和掌握。 4.24.2 系統(tǒng)主要功能流程圖設計系統(tǒng)主要功能流程圖設計 Login.jsp 登陸頁 AddAdmin.jsp 注冊頁 Main.jsp 功能選擇 頁(主頁) AddTitle.jsp 增加新題 目頁 UpadteT

41、itle.jsp 更新題目 頁 QueryTitle.jsp 查詢所有 題目頁 Test.jsp 考試頁 Score.jsp 成績頁 圖 4-2 系統(tǒng)主要功能流程圖 (1)用戶注冊流程 Login.jsp-填寫登陸用戶信息和登陸級別-提交信息到服務器-和數(shù)據(jù)庫中 數(shù)據(jù)比較-存在則登陸到 Main.jsp (2)增加新題目流程 Main.jsp-請求增加新題目-AddTitle.jsp-填寫題目信息-提交信息到服務 器-和數(shù)據(jù)庫中歐諾個數(shù)據(jù)比較-如果 titleId 重復則顯示增加失敗,否則向數(shù) 據(jù)庫中錄入新數(shù)據(jù) (3)更新題目流程 Main.jsp-請求更新題目-UpdateTitle.jsp

42、-修改需要修改的信息-提交信息 到服務器-更新數(shù)據(jù)庫中數(shù)據(jù) (4)查詢所有題目流程 Main.jsp-請求查詢所有題目-提交信息到服務器-服務器發(fā)送響應到 QueryTitle.jsp-顯示所有數(shù)據(jù) (5)查詢所有題目流程 Main.jsp-請求隨機選擇 2 道題目考試-服務器發(fā)送響應到 Test.jsp-顯示隨 機到的題目信息 (6)成績流程 Test.jsp-提交考試答案,提交信息到服務器-和數(shù)據(jù)庫中的正確答案進行 比較-發(fā)送響應到 Score.jsp-顯示考試成績 4.34.3 數(shù)據(jù)庫設計數(shù)據(jù)庫設計 4.3.1 關(guān)系數(shù)據(jù)庫的基本概念 關(guān)系數(shù)據(jù)庫是數(shù)據(jù)庫來組織數(shù)據(jù)的一種方式,是現(xiàn)在數(shù)據(jù)庫中

43、廣泛應用的 一種流行關(guān)系。關(guān)系數(shù)據(jù)庫的理論是建立在數(shù)學的集合的基礎上,是集合論在 數(shù)據(jù)組織上的應用。在關(guān)系數(shù)據(jù)庫中所有的數(shù)據(jù)都按照表的方式組織。它主要 是通過建立數(shù)據(jù)庫中的表之間的對應關(guān)系來維護數(shù)據(jù),在關(guān)系數(shù)據(jù)庫中,所有 的實體和實體之間的關(guān)系都是用關(guān)系來表示的。實體間的關(guān)系可以有一對一, 一對多和多對多的關(guān)系。 4.3.2 系統(tǒng) E-R 圖 E-R 圖也就是我們所說的實體和關(guān)系圖。在數(shù)據(jù)庫設計的開始,我首先考 慮的是如何用數(shù)據(jù)模型來定義數(shù)據(jù)庫的結(jié)構(gòu)與語義,以及如何對現(xiàn)實中的事物 進行抽象。在本系統(tǒng)中采用“實體聯(lián)系模型”(E-R 模型)來描述數(shù)據(jù)庫的結(jié)構(gòu) 與語義,以對現(xiàn)實世界進行初步的抽象。E

44、-R 圖模型的優(yōu)點在于它是直接從現(xiàn) 實世界抽象出實體類型及實體間聯(lián)系,對現(xiàn)實的事物比較直觀。它摒棄了許多 與具體計算機相關(guān)的部分,通過一般性的敘述來描述實體之間的關(guān)系,比較接 近于人的思維,較易理解。通過分析確定了實體之間的關(guān)系之后再用 E-R 圖來 表示數(shù)據(jù)模型。這樣在初步的設計中能夠快速而簡便地定義出系統(tǒng)之間的聯(lián)系。 (1)Admin 用戶實體 E-R 圖 1 管理員 操作 試題庫 試題 普通用戶 m n p 生成 1 試卷 q 考試 試卷 wy Admin 用戶 用戶 ID用戶名密碼 圖 4-3 描述 Admin 用戶實體及屬性的 E-R 圖 (2)Titles 實體 E-R 圖 題目

45、題目 ID 類型 內(nèi)容選 擇 答 案 圖 4-4 描述 Title 實體及屬性的 E-R 圖 (3)系統(tǒng)整體 E-R 圖 圖 4-5 自動組卷系統(tǒng)的整體 E-R 圖 4.3.3 數(shù)據(jù)庫表結(jié)構(gòu) 本系統(tǒng)中的數(shù)據(jù)庫采用 Oracle 數(shù)據(jù)庫,數(shù)據(jù)庫登陸用戶是“zidong”密碼 是“zidong” 。數(shù)據(jù)庫是網(wǎng)站的核心,數(shù)據(jù)庫設計的合理與否對網(wǎng)站的建設有著 至關(guān)重要的影響。一個良好的數(shù)據(jù)庫開發(fā)過程一般是先系統(tǒng)分析,再邏輯設計, 然后物理實現(xiàn)。邏輯設計中根據(jù)系統(tǒng)分析設計一個關(guān)系模型,物理設計為邏輯 設計中的數(shù)據(jù)模型選取一個最合理的應用環(huán)境的物理結(jié)構(gòu),通常選取一個常用 數(shù)據(jù)庫軟件,用數(shù)據(jù)庫軟件創(chuàng)建與邏輯

46、設計中數(shù)據(jù)模型對應的數(shù)據(jù)庫。 (1)admins 表,用來存儲管理員和普通會員的用戶名和密碼信息的表 表 4-1 admins 表 屬性名類型允許空備注 admin_nameVarchar2(20)否用戶名 admin_passwordVarchar2(20)否用戶密碼 admin_levelNumber(1)否用戶級別 1 為管理員 2 為普通用戶 CREATE TABLE admins ( admin_name varchar2(20) NOT NULL, admin_password varchar2(20) NOT NULL, admin_level number(1) NOT NUL

47、L, PRIMARY KEY (admin_name) ); (2)titles 表,用來存儲題目的各種信息的表 表 4-2 titles 表 屬性名類型允許空備注 title_idNumber(2)否題目 ID 設置為主鍵 tietle_typeVarchar2(20)否題目類型 title_questionVarchar2(500)否題目問題 title_answerVarchar2(100)否題目答案的 4 個選 擇 title_chooseVarchar2(100)否題目的正確答案 CREATE TABLE titles ( title_id number(2) NOT NULL, t

48、itle_type varchar2(20) NOT NULL, title_question varchar2(500) NOT NULL, title_answer varchar2(100) NOT NULL, title_choose varchar2(100) NOT NULL, PRIMARY KEY (title_id) ); 4.3.4 數(shù)據(jù)庫連接 import java.sql.*; import oracle.jdbc.driver.OracleDriver; public class DBUtil public static Connection getConnectio

49、n() throws Exception DriverManager.registerDriver(new OracleDriver(); /獲得數(shù)據(jù)庫連接 String url = jdbc:oracle:thin:localhost:1521:xe; String user = zidong; String password = zidong; Connection conn = DriverManager.getConnection(url, user, password); return conn; 5 5 系統(tǒng)詳細設計及實現(xiàn)系統(tǒng)詳細設計及實現(xiàn) 5.15.1 用戶登錄功能用戶登錄功能

50、本界面比較簡單,創(chuàng)建一個 Login.jsp 頁面,使用 Macromedia Dreamweaver 8 設計成此效果,格式效果使用根目錄下 css 文件夾里面 styel.css 文件。用戶輸 入用戶名,密碼和選擇級別后點擊提交,數(shù)據(jù)傳送至 LoginServlet.java 中與數(shù) 據(jù)庫中的數(shù)據(jù)進行匹配,如果成功則跳轉(zhuǎn)至 Main.jsp 頁面,失敗則提示輸入用 戶名,密碼或級別錯誤,請重新輸出! 圖 5-1 登陸界面 Login.jsp 歡迎您,親愛的 用戶,請登錄。 用戶名 密碼 級別 管理員 普通用戶 ahref=AddAdmin.jsp創(chuàng)建新用戶 5.25.2 用戶注冊功能用戶注

51、冊功能 注冊新用戶,只可注冊級別為 2 的普通用戶,創(chuàng)建一個 AddAdmin.jsp 頁面, 使用 Macromedia Dreamweaver 8 設計成此效果,格式效果使用根目錄下 css 文 件夾里面 styel.css 文件。輸入用戶名和密碼點擊注冊后,數(shù)據(jù)傳送至 AddAdminServlet.java 中,增加至數(shù)據(jù)庫中,增加成功提示新用戶創(chuàng)建成功。點 擊“重置”可以清空輸入的用戶名和用戶密碼,點擊取消返回前頁面。 圖 5-2 注冊界面 AddAdmin.jsp 增加新用戶 /表單驗證 function checkForm() /用戶名 var adminName = docum

52、ent.form1.adminName; if (adminName.value = ) alert(用戶名不能為空); return false; /驗證密碼問題 var adminPassword = document.form1.adminPassword; if (adminPassword.value = ) alert(密碼不能為空); return false; return true; 該提示框為,注冊新用戶成功后的提示框。 圖 5-3 注冊成功界面 public class AddAdminServlet extends HttpServlet public void doG

53、et(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException this.doPost(request, response); public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8); response.setCharacte

54、rEncoding(utf-8); response.setContentType(text/html;charset=utf-8); /獲得客戶端輸出流 PrintWriter pw = response.getWriter(); / 獲取表單提交的數(shù)據(jù) String adminName = request.getParameter(adminName); String adminPassword = request.getParameter(adminPassword); String adminLevel = request.getParameter(adminLevel); Admin

55、s admin = new Admins(adminName, adminPassword, Integer.parseInt(adminLevel);try AdminDaoImpl dao = new AdminDaoImpl(); dao.add(admin); dao.closeDB(); catch (Exception e) e.printStackTrace(); return; pw.println(alert(注冊新用戶成功); location.href=Login.jsp;); pw.close(); 5.35.3 功能選擇界面功能選擇界面 本界面為登陸成功后的功能選擇界

56、面,功能模塊右上角顯示登陸用戶的用 戶名和身份,格式效果使用根目錄下 css 文件夾里面 styel.css 文件。功能模塊里 面有 4 個超級鏈接分別鏈接到 AddTitleServlet.java,QueryTitleServlet.java,QueryTitle 2Servlet.java 和 QueryTitle5Servlet.java。 圖 5-4 功能選擇界面 Main.jsp 當前用戶:$sessionScope.adminName,身份: 管理員 普通用戶 注銷 增加新題目(只限管理員使用) 查詢所有題目,并且進行修改(只限管理員使用) 隨機選擇 2 道題目練習 隨機選擇 5

57、 道題目練習 5.45.4 增加新題目功能增加新題目功能 本界面為功能選擇界面中點擊增加新題目后跳轉(zhuǎn)的頁面,格式效果使用根 目錄下 css 文件夾里面 styel.css 文件。輸入數(shù)據(jù)后點擊增加,數(shù)據(jù)傳送至 AddTitleServlet.java 進行正則表達式的驗證,成功后數(shù)據(jù)錄入數(shù)據(jù)庫中,并提 示增加新題目成功。點擊“重置”可以清空輸入的信息,點擊取消返回前頁面。 錄入一條數(shù)據(jù),題目標號:10;題目類型:科學題;題目問題:黑洞是什么顏 色的?;題目答案:A:紅色 B:無色 C:多彩的 D:黑色;題目正確答案:B 圖 5-5 增加新題目界面 AddTitle.jsp 圖 5-6 增加新題

58、目數(shù)據(jù)界面 AddTitle.jsp 增加新題目 題目編號(編號必須是數(shù)字,而且 10100 之間) * 題目類型 題目問題 題目選擇答案 題目正確答案 A B C D 5.55.5 查詢修改題目功能查詢修改題目功能 本界面為功能選擇界面中點擊“查詢所有題目,并進行修改”后的跳轉(zhuǎn)頁 面,格式效果使用根目錄下 css 文件夾里面 styel.css 文件。使用分頁顯示,每行 顯示 3 條數(shù)據(jù),分頁文件為 common 包中的 Page.java 文件。本頁面有修改和刪 除數(shù)據(jù)的功能,點擊“返回功能選擇”則跳轉(zhuǎn)至主頁 Main.jsp 頁面。 圖 5-7 查詢修改題目界面 QueryTitle.j

59、sp public class Pager private int recordCount;/總記錄數(shù) private int pageSize = 3;/每頁多少條 private int pageCount;/共幾頁 private int pageNum;/當前頁碼 /構(gòu)造方法 public Pager(int recordCount,int pageNum) this.recordCount = recordCount; this.pageNum = pageNum; this.pageCount = this.recordCount / this.pageSize; if (this

60、.recordCount % this.pageSize != 0) this.pageCount +; if (pageNum this.pageCount) this.pageNum = this.pageCount; 5.65.6 修改題目功能修改題目功能 本界面為查詢修改題目界面中點擊“修改”后的跳轉(zhuǎn)頁面,格式效果使用 根目錄下 css 文件夾里面 styel.css 文件。點擊修改 8 號題目,在確認框點擊確定 后,提交數(shù)據(jù)到后臺傳到 UpdateTieleServlet.java 中,然后取出 8 號題目的信息 提交到 UpateTitle.jsp 頁面中,用戶不能修改題目編號,修

溫馨提示

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

評論

0/150

提交評論