【正文】
圖 59 選擇試卷頁(yè)面 圖 510 在線考試頁(yè)面 38 和展望 總結(jié) 本文是根據(jù)我所做的在線題庫(kù)管理系統(tǒng)形成的,這個(gè)管理系統(tǒng)花費(fèi)了不少時(shí)間,關(guān)于學(xué)習(xí)有關(guān)相關(guān)知識(shí),把在學(xué)校中、實(shí)驗(yàn)室里所學(xué)到的關(guān)于軟件工程和軟件開發(fā)以及對(duì)開發(fā)軟件、數(shù)據(jù)庫(kù)工具的熟悉和掌握,比較清楚地形成了這個(gè)系統(tǒng)所要求的基本功能。 表 控制處理層 事件 Action 入口 ActionForm 出口 采集題目信息 Gain_kninfAction Gain_kninfForm sp 審核題目 verifyAction verifyAction Form verify.jsp 注釋刪除操作 DelAction DelForm verify.jsp 注釋修改操作 ChangeAction changeForm verify.jsp 模型層設(shè)計(jì) 題目 審 核 業(yè)務(wù) 邏 輯 層設(shè) 計(jì) 主 要包 括 建立 封 裝 了 題目信息 的bean:,建立封裝了答案信息的 bean:,完成將試題和和相應(yīng)的答案存放數(shù)據(jù)庫(kù)的操作,同時(shí)也提供了數(shù)據(jù)維護(hù)的操作等邏輯。 表 題目采集 模塊的界面 頁(yè)面 JSP 功能描述 題目采集首頁(yè) 題目采集主頁(yè)面 添加試題頁(yè)面 添加試題頁(yè)面 提交頁(yè)面 提交試題 注: 題目采集 模 塊 中 也 用 到 前 面 提 到 的 公 共 頁(yè) 面 , 例 如 , 各個(gè)界面流的基本流程關(guān)系圖 49 所示 p i c k . j s pa d d s t . j s pu p d a t e s t . j s p 49 題目采集 的頁(yè)面 流程圖 31 控制層設(shè)計(jì) 題目采集 的控制層主要負(fù)責(zé)進(jìn)入 題目采集 界面、進(jìn)入更新試題詳細(xì)信息界面、進(jìn)入增加試題信息、刪除試題信息和修 改試題信息界面、進(jìn)入增加、刪除和修改答案界面等事件的流程控制。 表 個(gè)人信息管理的控制層設(shè)計(jì) 事件 Action 入口 ActionForm 出口 進(jìn)入 用戶詳細(xì)信息頁(yè)面 BListAction BLisForm Detusermsp 進(jìn)入 信息修改頁(yè)面 detuserAction Detusermess detuseForm altusermsp 提交用戶修改信息 altuseaction altmessage.jsp altuseform Alterusep 模型層設(shè)計(jì) 個(gè)人信息管理模型組件負(fù)責(zé)完成個(gè)人信息的數(shù)據(jù)庫(kù)操作的業(yè)務(wù)邏輯,建立封裝了個(gè)人信息信息的 bean。 24 各功能模塊設(shè)計(jì) 根據(jù)上述介紹的系統(tǒng)功能模塊 設(shè)計(jì) ,進(jìn)一步對(duì) 各個(gè)功能 模塊進(jìn)行設(shè)計(jì)。信息的管理離不開數(shù)據(jù)庫(kù)的支持,我們采用 MySQL 數(shù)據(jù)庫(kù)管理系統(tǒng)。 數(shù)據(jù)模型 本系統(tǒng)的數(shù)據(jù)模型主要是進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì) ,對(duì)數(shù)據(jù)庫(kù)的三大結(jié)構(gòu)模型進(jìn)行設(shè)計(jì)。 8鄭人杰 等 , 1997:《 實(shí)用軟件工程 》 (第二版 ),清華大學(xué)出版社 : p3040 18 在 線 題 庫(kù) 系 統(tǒng)注冊(cè)在線考試用戶管理登錄管理用 戶答 案管 理題目審核題目采集選擇試卷作答試卷提交試卷即使對(duì)比存儲(chǔ)查詢用戶答案多選題采集單選題采集填空題采集多選題采集單選題采集填空題采集 圖 42 系統(tǒng)模塊圖 登錄模塊 系統(tǒng)允許多個(gè)用戶使用,學(xué)生用戶需要事先注冊(cè),系統(tǒng)予以登記并賦予適當(dāng)?shù)臋?quán)限,教師用戶由系統(tǒng)管理員分配,用戶每次使用時(shí),都應(yīng)調(diào)用登錄模塊進(jìn)行登錄,系統(tǒng)審核用戶名和密碼后,才可以進(jìn)入系統(tǒng)。 Strcut 框架將用戶輸入的表單數(shù)據(jù)保存在 ActionForm Bean 中,將它傳遞給控制器,控制器可以對(duì) ActionForm Bean 中的數(shù)據(jù)進(jìn)行修改, JSP 文件使用 Strcut 標(biāo)簽讀取修改后的 ActionForm Bean 的信息,重新設(shè)置 HTML 表單。 6 Watts S. Humphrey 著,袁昱譯 , 2021:《 小組軟件開發(fā)過程 》 ,人民郵電出版社。 性能需求 根據(jù)用戶對(duì)本系統(tǒng)的要求,確定系統(tǒng)在響應(yīng)時(shí)間、可靠性、安全等方面有較高的性能要求。 活動(dòng)視圖如圖 36 所示 5。 在線考試功能是指用戶可以選擇自己所需的試卷進(jìn)行考核,具體描述如下: 前置條件 是用戶進(jìn)入選擇試卷頁(yè)面;后置條件是回答問卷后,提交試卷 ,選擇自己需求的試卷信息,例如:科目、難易度等; ,系統(tǒng)會(huì)隨機(jī)顯出你所需求的試卷,你可以進(jìn)行相應(yīng)的作答; ,點(diǎn)擊提交,系統(tǒng)會(huì)顯示相應(yīng)的正確答案以及部分詳解,并且給出用戶成績(jī)。 瀏覽器子系統(tǒng) 注冊(cè)用戶,可以進(jìn)行后面的存儲(chǔ)答案,游客和注冊(cè)用戶可以通過該系統(tǒng)選擇自己所需的考卷進(jìn)行考核,這就是瀏覽器子系統(tǒng)的功能。 業(yè)務(wù) 流程 游客通過注冊(cè)成為注冊(cè)用戶后,可以 選擇試卷、填寫試卷、提交試卷、即時(shí)對(duì)比答案 和存儲(chǔ)答案 等。在下文的代碼實(shí)現(xiàn)中將給出在 SQL Sever 中連接數(shù)據(jù)庫(kù)的代碼并深入解釋。 JDBC與 JAVA 結(jié)合,是用戶很容易把 SQL 語(yǔ)言傳送到任何的關(guān)系數(shù)據(jù)庫(kù)中,程序員用它編寫的數(shù)據(jù)庫(kù)應(yīng)用軟件和 JAVA 語(yǔ)言編寫的程序具有一樣的特性:一次編寫,多處運(yùn)行。 JSP 技術(shù)介紹 JSP( JAVA SERVER PAGES) 2是由 Sun Microsystems 公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。 Browser/Server 結(jié)構(gòu)極大的簡(jiǎn)化了客戶機(jī)的工作,客戶機(jī)上只需安裝、配置少量的客戶端軟件即可, 服務(wù)器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫(kù)的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。 介紹在實(shí)現(xiàn)在線題庫(kù)系統(tǒng)中所遇到的問題和需要完善的地方 。 第二章 , 系統(tǒng)開發(fā)相關(guān) 技術(shù)的介紹 。 在這個(gè)網(wǎng)絡(luò)信息這么便利的時(shí)代,試題很多,但是很雜,沒有一個(gè)系統(tǒng)的歸納。 為實(shí)現(xiàn)學(xué)習(xí)者們和知識(shí)的橋梁作用,來(lái)幫助學(xué)習(xí)者們更好的進(jìn)行學(xué)習(xí)和研究。是典型的 B/S 架構(gòu)的應(yīng)用程序,安裝使用和維護(hù)簡(jiǎn)單,可以很好地滿足一般題庫(kù)管理 需求。 其次, 本文重點(diǎn)研究 在線題庫(kù) 的設(shè)計(jì)與實(shí)現(xiàn)方案。開發(fā)了在線題庫(kù)系統(tǒng) 1。本系統(tǒng),收集了大量的歷年考試試題 和相關(guān)題目,作為學(xué)生進(jìn)行在線審核自己能力的一個(gè)平臺(tái)。 第 三 章 , 對(duì)系統(tǒng)進(jìn)行 需求分析 。 3 B/S 模式介紹 B/S 結(jié)構(gòu)( Browser/Server 結(jié)構(gòu))結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。 在 Browser/Server 三層體系結(jié)構(gòu)下,表示層 (Presentatioon)、功能 層 (Business Logic)、數(shù)據(jù)層( Data Service)被割成三個(gè)相對(duì)獨(dú)立的單元: 第一層 表示層: Web 瀏覽器 在表示層中包含系統(tǒng)的顯示邏輯,位于客戶端。它由 HTML 代碼和嵌入其中的 JAVA 代碼所組成。 JDBC 大致可以分為以下三個(gè)部分: JDBC API 的主要特點(diǎn)之一是簡(jiǎn)單且容易掌握。 MySQL 簡(jiǎn)介 MySQL 是瑞典的 MySQL AB 公司開發(fā)的一個(gè)可用于各種流行操作系統(tǒng)平臺(tái)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),它具有客戶機(jī) /服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫(kù)管理系統(tǒng)。題目采集員采集題目、題目審核員 審核 題目、用戶答案管理、用戶管理等。在瀏覽器,用戶可以通過系統(tǒng)所提示的所需條件來(lái)選擇自己想要考 核的試卷,再進(jìn)行答卷然后提交,就可以進(jìn)行即時(shí)的對(duì)比,可以選擇是否進(jìn)行答案存儲(chǔ)。 服務(wù)器 子系統(tǒng) 服務(wù)器子系統(tǒng)主要是提供給資源管理人員和系統(tǒng)管理員使用的功能。 題目采集員 服務(wù)器收集知識(shí)提取題目劃分類別整理題目提交 圖 36 題目采集 活動(dòng)視圖 題目審核 在線題庫(kù)系統(tǒng)中,對(duì)于題目采集員采集的 試題,題目審核員要對(duì)他所采集的試題,進(jìn)行全面性的審核,審核過的試題存入數(shù)據(jù)庫(kù);審核不過的,讓題目采集員進(jìn)行必要的修改或刪除 ,活動(dòng)視圖如圖37 所示。 界面需求 系統(tǒng)的界面要求如下: 1)頁(yè)面內(nèi)容:主題突出,站點(diǎn)定義、術(shù)語(yǔ)和行文格式統(tǒng)一、規(guī)范、明確,欄目、菜單設(shè)置和布局合理,傳遞的信息準(zhǔn)確、及時(shí)。: p5565 15 系統(tǒng)安全性需求 系統(tǒng)有嚴(yán)格的權(quán)限管理功能,各功能模塊需有相應(yīng)的權(quán)限方能進(jìn)入。 控 制 器 : 控 制 器 由 ActionServlet 類和 Action 類 實(shí) 現(xiàn) ,ActionServlet 類是 Struct 框架中的核心組件。 注冊(cè)模塊 游客登錄到在線題庫(kù)系統(tǒng),只要填寫用戶名,密碼,及常用郵箱 ,就能完成注冊(cè)。 數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)模型設(shè)計(jì) 概念設(shè)計(jì)以反映現(xiàn)實(shí)世界中的實(shí)體、屬性和它們之間的關(guān)系等的原始數(shù)據(jù) 形式,建立數(shù)據(jù)庫(kù)的每一幅用戶視圖。 數(shù)據(jù)庫(kù)的物理設(shè)計(jì)主要是對(duì)數(shù)據(jù)在內(nèi)存中的安排,包括對(duì)索引區(qū)、緩沖區(qū)的設(shè)計(jì);對(duì)使用 的外存設(shè)備及外存空間的組織,包括索引區(qū)、數(shù)據(jù)塊的組織與劃分;設(shè)置訪問數(shù)據(jù)的方式方法。 用戶注冊(cè)模塊設(shè)計(jì) 用戶注冊(cè) 是對(duì)游客來(lái)說,填寫 用戶名、密碼以及常用的聯(lián)系方式等注冊(cè)信息 , 完成注冊(cè)。 27 表 個(gè)人信息管理的控制層設(shè)計(jì) 模型組件 描述 DBUtil 數(shù)據(jù)庫(kù)的基本操作 ,為復(fù)用組件 userinfobean 封裝了個(gè)人信息管理的 bean 用戶答案管理 表示層設(shè)計(jì) 根據(jù)上述功能介紹,總結(jié)出用戶答案管理的頁(yè)面設(shè)計(jì)如表 所列 。表列出了題庫(kù)管理控制層每個(gè) Action 的入口(即調(diào)用 Action 的組件)、傳遞 Action 的 ActionForm,以及出口(即 Action 將請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)組件)。模型組件見表 。 在形成在線題庫(kù)管理系統(tǒng)的過程中,也不斷地進(jìn)行著有關(guān)這方面的學(xué)習(xí),使得關(guān)于這個(gè)方面的知識(shí)有了很好的提升。 圖 58 題目審核員審核試題頁(yè)面 在線考試 進(jìn)入系統(tǒng)后即可開始考試,答題完畢后單擊“提交”按鈕提交自己的答案 。表列出了 題目審核 控制層每個(gè) Action 的入口(即調(diào)用 Action 的組件)、傳遞 Action 的 ActionForm,以及出口(即 Action將請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)組件)。 表 在線考試的模型層設(shè)計(jì) 模型組件 描述 DBUtil 數(shù)據(jù)庫(kù)的基本操作 ,為復(fù)用組件 OrderOnLinebean 封裝了 用戶答案 信息的 bean 題目采集 模塊設(shè)計(jì) 表示層設(shè)計(jì) 根據(jù)上述的功能介紹,總結(jié)出 題目采集 功能的頁(yè)面設(shè)計(jì)如表 所示。 表 個(gè)人信息管理模塊頁(yè)面設(shè)計(jì) 頁(yè)面 JSP 功能描述 詳細(xì)個(gè)人信息頁(yè)面 顯示 用戶詳細(xì)信息頁(yè)面 修改個(gè)人信息 顯示修改信息頁(yè)面 提交個(gè)人修改信息 連接數(shù)據(jù)庫(kù)修改信息 根據(jù)頁(yè)面流的設(shè)計(jì)可以確定各個(gè)界面的訪問入口以及界面之間的切換關(guān)系, 頁(yè)面的流程圖如圖 46 所示 26 i n d e x . j s pD e t u s e r m e s s a ge . j s pa l t u s e r r m e s s ag e . j s pA l t e r u s e r d o n e. j s p 46 個(gè)人信息管理 的頁(yè)面 流程圖 控制層設(shè)計(jì) 個(gè)人信息管理模塊的控制層主要負(fù)責(zé)用戶自己信息的管理 ,表列出了個(gè)人信息控制層的 每個(gè) Action 的入口 (即調(diào)用 Action 人組件 ), 傳遞 Action 的 ActionForm 以及出口。通過頁(yè)面,游客 ,注冊(cè)用戶和管理人員可以從事各自的活動(dòng)。 U s e I D : c h a r U s e N a m e : c h a r U s e P a s s w o r d : c h a r S e x : c h a r A g e : i n t T e l e p h o n e n u m b e r : c h a r U s e r _ l i m i t : c h a ru s e r s _ i n f Q u e s t i o n I D : c h a r C o u r s e I D : c h a r Q u e s t i o n c o n t e n t : c h a r D _ E : c h a r s t y l e : c h a rq u e s t i o n A n s w e r I D : c h a r Q u e s t