XX教學在線答疑系統(tǒng)開發(fā)建設項目可行性方案_第1頁
XX教學在線答疑系統(tǒng)開發(fā)建設項目可行性方案_第2頁
XX教學在線答疑系統(tǒng)開發(fā)建設項目可行性方案_第3頁
XX教學在線答疑系統(tǒng)開發(fā)建設項目可行性方案_第4頁
XX教學在線答疑系統(tǒng)開發(fā)建設項目可行性方案_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 XX 教學在線答疑系統(tǒng)開發(fā)建設可行性方案隨著信息技術的飛速發(fā)展,網(wǎng)絡已經(jīng)越來越普及,如今利用網(wǎng)絡進行各種教學活動 已成為現(xiàn)實。在線答疑系統(tǒng)利用網(wǎng)絡來開展答疑工作,它可以突破時間和空間的限制, 提高答疑工作的便捷性和及時性,增加師生之間和學生之間的互動。這對現(xiàn)今高校的教 學方法、教學模式的改革具有重要意義。本在線答疑系統(tǒng)是利用Java Web技術開發(fā)的,采用了目前流行的 B/S體系結構, 選用MySQL5.0作為后臺數(shù)據(jù)庫,Tomcat6.0作為服務器。本系統(tǒng)集成了 Struts2和 Spring兩個開源框架,將Struts2的Action作為Spring當中的受管Bean。通過依賴 注入,A

2、ction能夠非常方便地獲得實現(xiàn)業(yè)務功能的受管 Bean的引用。本系統(tǒng)主要實現(xiàn)了如下三方面的功能。學生登錄和注冊及修改資料,搜索課程和申 請課程,提出問題和參與討論,查看自己的課程和提問,查看申請?zhí)幚砬闆r;老師登錄 和注冊及修改資料,回答問題和處理申請,添加學生和刪除學生,查看老師的課程;管 理員的課程管理,提問和回復管理,學生和教師用戶的管理,管理員用戶管理。3.2 系統(tǒng)總體結構 -.1.3.- iii3.2 系統(tǒng)總體結構 -.1.3.- ii i目錄第一章 前言 -.1.-.課題研究背景及意義 -.1.-.研究背景 -.1.-.研究意義 -.1.-.國內(nèi)外現(xiàn)狀 -.2.-.第二章 系統(tǒng)分析

3、 -.4.-.可行性分析 -.4.-.技術可行性分析 -.4.-.經(jīng)濟可行性分析 -.4.-.操作可行性分析 -.5.-.2.2 需求分析 -.5.-.功能性需求分析 -.5.-.非功能性需求分析 -.7.-.系統(tǒng)流程圖 -.7.-.系統(tǒng)數(shù)據(jù)流圖 -.1.0. -第三章 系統(tǒng)總體設計 -.1.3.-項目規(guī)劃 -.1.3.-3.3 系統(tǒng)功能模塊 -.1.4.-學生模塊功能定義 -.1.4. -教師模塊功能定義 -.1.5. -管理員功能模塊定義 -.1.6. -第四章 數(shù)據(jù)庫設計 -.1.9.-數(shù)據(jù)庫分析 -.1.9.-項目 E-R 圖-.1.9.-數(shù)據(jù)庫表的設計 -.2.2. -第五章 系統(tǒng)詳

4、細設計與實現(xiàn) -.2.8. -界面設計 -.2.8.-系統(tǒng)分層的實現(xiàn) -.2.9. -表示層的設計 -.2.9. -控制層的設計 -.2.9. -數(shù)據(jù)庫連接與操作的實現(xiàn) -.3.0. -數(shù)據(jù)源的配置 -.3.0. -數(shù)據(jù)庫操作的實現(xiàn) -.3.1. -各個功能模塊的設計與實現(xiàn) -.3.2. -用戶登錄和注冊 -.3.2. -5.4.2 學生用戶模塊 -.3.4. - #5.4.2 學生用戶模塊 -.3.4. - iv教師用戶模塊 -.4.2. -管理員模塊 -.4.6. -第六章 系統(tǒng)測試 -.5.2.-測試目的 -.5.2.-系統(tǒng)關鍵部分測試分析 -.5.2. -注冊用戶名唯一性驗證 -.5.

5、2. -分頁的實現(xiàn) -.5.3. -利用攔截器實現(xiàn)權限控制 -.5.4 -第七章 結論 -.5.5.-.系統(tǒng)功能總結 -.5.5.-系統(tǒng)的特色之處 -.5.5. -系統(tǒng)中仍然存在的問題 -.5.6. -體會與總結 -.5.6.-參考文獻 -.5.8.-.致謝錯 誤.!未定義書簽。附錄錯 誤.!未定義書簽。- - -第一章 前 言課題研究背景及意義研究背景隨著網(wǎng)絡技術的快速發(fā)展,網(wǎng)絡已然與人們生活的方方面面融為了一體。學校計算 機網(wǎng)絡經(jīng)過 10 多年的建設,目前,國內(nèi)大多數(shù)高校學生使用校園網(wǎng)已經(jīng)十分方便。如 何有效地使用網(wǎng)絡服務于管理,教學,學習,已成為一個重要的課題,非常值得我們關 注和研究。

6、答疑是教學活動中一個必要的步驟,主要的工作是解決學生在學習過程中所 碰到的難題。答疑工作是否開展的好對教育質量有著直接的影響。高校招生規(guī)模的不斷 擴大,師生人數(shù)的倍增,加之上課地點的變動等原因,使傳統(tǒng)的答疑方式無法滿足現(xiàn)今 的答疑需求,答疑方式亟待改進。因此,使用 Java Web 技術開發(fā)一個實用的網(wǎng)上答疑系統(tǒng)不僅能夠最大化地利用現(xiàn) 今教育資源,并且是更好地為學生提供服務的最佳方式。 為此,我選擇了利用 Java Web 等技術開發(fā)在線答疑系統(tǒng),它可以提高答疑工作的便捷性和及時性,通過計算機網(wǎng)絡實 現(xiàn)老師與學生之間的交互。研究意義隨著網(wǎng)絡技術的飛速發(fā)展,教學管理網(wǎng)絡化已經(jīng)成為當前教育的一個基

7、本特征,網(wǎng) 絡教育作為一種新的教學方法,已經(jīng)走進我們的生活,并且被我們所接受,這對傳統(tǒng)教 育來說,是一個很好的補充。隨著廣泛應用的互聯(lián)網(wǎng)技術的發(fā)展,通過互聯(lián)網(wǎng)進行各種 不同的教學活動已經(jīng)成為現(xiàn)實。在線答疑系統(tǒng)利用校園網(wǎng)來開展答疑工作,主要體現(xiàn)在學生和教師之間“問”與“答”的雙向互動,學生依據(jù)自己的學習情況利用校園網(wǎng)向教 師提出種種疑問, 教師通過校園網(wǎng)解答學生遇到的難題, 系統(tǒng)在展現(xiàn)個性化學習的同時, 也展現(xiàn)了個性化輔導,學生和教師可以沖破存在于時間和空間上的限制性,通過連接上 校園網(wǎng)的計算機就能夠開展答疑工作。在大學校園里,學生如果能充分利用校園網(wǎng),針 對自身存在的問題及時向教師尋求幫助,

8、以獲得所提問題的答案, 并能表達自己的觀點, 彼此間進行自由討論交流,這必將拉近師生之間的距離,提高答疑工作的效率,增強學 校的學習氛圍。這對于現(xiàn)今高校的教育形式和教學方式的變革具有非常重大的意義。國內(nèi)外現(xiàn)狀當前能夠實現(xiàn)在線答疑功能的技術有很多種, 例如 CGI 、PHP、JSP、ASP 和 ASP.NET 等,而且主要有 C/S 架構和 B/S 架構,但 C/S 架構受到平臺和硬件的限制,不如 B/S 架構方便和大眾化。通過對國內(nèi)不少已經(jīng)投入使用的高等教育遠程教育系統(tǒng)的研究可以發(fā)現(xiàn), 在這些系 統(tǒng)中,答疑功能有的被放在一個非常次要的位置,有的甚至干脆被忽略。當前,國內(nèi)的 網(wǎng)上答疑系統(tǒng)大多是作

9、為一個包含在教育網(wǎng)站中的子系統(tǒng)而存在, 而專門用于進行答疑 的獨立平臺則少之又少。從功能的角度來看,國內(nèi)的網(wǎng)上答疑系統(tǒng)的功能不僅比較全面 而且較豐富,主要含用戶信息的管理、問題的查詢和統(tǒng)計、答疑、知識管理以及瀏覽等 功能。此外,另有不少答疑系統(tǒng)為了進一步增強其系統(tǒng)的特色而提供了一些額外的功能, 如:用戶的個性化定制等。在國內(nèi),主要是通過人工答疑方式和基于數(shù)據(jù)庫的自動答疑 方式來實現(xiàn)答疑系統(tǒng)的功能;從系統(tǒng)的智能化來看,國內(nèi)的很多答疑系統(tǒng)在提高關鍵詞 的匹配上存在較大困難。對于大多數(shù)問題和答案的智能管理都不是太完善。而且智能分 析、統(tǒng)計功能薄弱,無法根據(jù)學生所提出的問題對老師的教學提出建議。在國外

10、,現(xiàn)在有相當多的杰出并且智能化的專門的答疑系統(tǒng)。其從功能的角度看來 盡管相對簡潔,然而它們?nèi)康墓δ芏际蔷o緊圍繞著答疑這個核心功能來展開設計的,重心明確并且突出;在問題的展現(xiàn)方面,系統(tǒng)將有關人物、地點和時間概念等多種類型的問題作為基本點,為用戶提供正確性和簡潔性都比較高的答案。- - -第二章系統(tǒng)分析可行性分析可行性分析(FeasibilityAnalysis),即可行性研究,它是針對新系統(tǒng)的開發(fā)是不是具備必可能性和必要性并基于對系統(tǒng)的調(diào)查,對新系統(tǒng)的開發(fā)從技術、社會和經(jīng)濟等 方面開展分析和研究工作,以避免投資失誤,從而保障新系統(tǒng)的開發(fā)成功??尚行匝芯?的目標是用最小的代價在盡量短的時間內(nèi)確定

11、問題是否可以得到解決。其實質上是要進行一次大大壓縮簡化了的系統(tǒng)分析和設計過程,即以較抽象的方式在較高層次上進行的系統(tǒng)分析和設計的過程。技術可行性分析技術可行性不僅要考慮使用現(xiàn)有的技術可否完成系統(tǒng)的開發(fā),而且還要考慮軟件和硬件的配置可否能夠滿足開發(fā)的需要等。本系統(tǒng)的開發(fā)是一個較具代表性的 Java Web項目,采用Java程序語言,如今計 算機硬件的配置已經(jīng)完全可以滿足開發(fā)過程的需求。從軟件方面來看,系統(tǒng)使用JavaWeb技術進行開發(fā),前端界面使用的是 DIV+CSS技術,所需的軟件環(huán)境如下:JDK、 MyEclipse、Web應用服務器以及MySQL數(shù)據(jù)庫。這些軟件都已經(jīng)有了功能全面、 穩(wěn) 定

12、的版本,故軟件的開發(fā)平臺成熟可行,它們不僅可靠性高而且穩(wěn)定,因此完全可以滿 足系統(tǒng)的需求。經(jīng)濟可行性分析系統(tǒng)所需要的硬件環(huán)境,即計算機及其相關的硬件,從市場上可以很容易地購買到。所需軟件環(huán)境(JDK+MyEclipse+Tomcat+MySQL)可以從網(wǎng)上免費下載,從而降低了 開發(fā)成本。本系統(tǒng)主要的開發(fā)與維護成本也不會造成太大的經(jīng)濟壓力。此系統(tǒng)正式投入 使用后,學校的教學質量能夠得到大幅度的提高, 答疑工作也能更順利的開展,并且?guī)熒?之間的在線互動也可以更加方便地進行。同時對于學校學生來說,有問題可以立即登入 系統(tǒng)進行提問,只要是該課程下的學生用戶都可以參與討論。對于教師來說,能夠很方 便地查

13、看學生提出的問題并回答,了解學生對知識的掌握程度,從而把握教學重點,這 樣學校的教學質量便得到了提高。操作可行性分析本系統(tǒng)主要是為了方便教師與學生之間的答疑工作的開展,提高學生的學習效率。 學生將所學習課程的疑問通過系統(tǒng)呈現(xiàn)給教師,待教師解答后,可查看到問題回復。系 統(tǒng)界面簡潔美觀,用戶一目了然,只要學生、教師和管理員通過網(wǎng)上瀏覽就可以自如地 使用本系統(tǒng)。因此,用戶操作起來會得心應手。需求分析在開發(fā)任何一個系統(tǒng)之前,進行必需的系統(tǒng)分析是非常有必要的,主要是根據(jù)對客 戶的需求和本系統(tǒng)的一些特點和模塊的分析等來確定如何有效地進行實際的開發(fā)。需求分析是軟件設計的一個重要組成部分。為了確定系統(tǒng)的目標,

14、應在本階段對系 統(tǒng)的應用情況進行全面的調(diào)查。功能性需求分析本系統(tǒng)包含學生、教師和后臺管理員這 3類用戶,其各用戶的具體功能如下。- - -學生用戶功能? 注冊和登錄,學生不僅可以很方便地進行用戶注冊,也能夠登錄在線答疑系統(tǒng)。? 資料的修改,注冊后學生可以修改自己的注冊資料。? 查看提問,學生發(fā)起問題后,可以查看該問題的回復情況。? 申請課程,如果學生還不能修某課程,可提交該課程的申請表。? 查詢課程,搜索自己感興趣的課程,支持模糊檢索。? 查看參與的提問, 學生不僅可以對自己參與課程下的問題進行討論, 而且還可以 查看這些問題。教師用戶功能? 用戶的登錄,老師可自由地登錄在線答疑系統(tǒng)。? 資料

15、的修改,老師可以修改自己的資料。? 查看未回答的提問,老師登錄后,可以查看待回答問題的列表。? 查看已回答的提問, 對于已經(jīng)回答的問題, 老師不僅可查看, 而且還可以繼續(xù)回 復講解。? 添加學生,老師能夠將學生添加到自己所教授的某門課程。? 刪除學生,老師能夠刪除自己所教課程下的學生。管理員功能? 課程管理,管理員可以對課程信息進行維護。? 內(nèi)容管理,管理員可以對提問內(nèi)容和回復內(nèi)容進行管理。? 用戶管理,管理員可以對學生用戶和老師用戶進行管理。? 管理員管理,主要是超級管理員對普通管理員的管理。222 非功能性需求分析(1 )系統(tǒng)安全性需求在軟件使用方面,學生用戶和教師用戶通過系統(tǒng)主界面登錄進

16、入系統(tǒng),但必須通過 必要的身份驗證。管理員則通過專門的登錄頁面來進入系統(tǒng),一旦管理員登錄成功就可 以對系統(tǒng)進行常規(guī)管理。用戶登錄的角色不同,從系統(tǒng)獲得的操作權限也不同。(2 )系統(tǒng)開發(fā)運行環(huán)境需求? JDK:作為整個Java的核心包含了 Java的基礎類庫、運行環(huán)境和 Java工具,是Java語言的軟件開發(fā)工具包。? MyEclipse :是一個非常杰出的Java開發(fā)工具,對各種開源產(chǎn)品的支持非常好。 它不僅功能非常強大,而且具備非常廣泛的支持性能。? Tomcat服務器:適用于中小型系統(tǒng)開發(fā)的 web應用服務器,開放源代碼且免 費。其性能穩(wěn)定、技術先進,因此不但博得了 Java開發(fā)人員的喜愛

17、,而且也得到了一些軟件開發(fā)商的肯定,是當今較流行的 Web應用服務器。? MySQL數(shù)據(jù)庫:是目前小型應用開發(fā)中比較流行的數(shù)據(jù)庫,且從MySQL5.0版本開始支持事務,保證了數(shù)據(jù)庫的完整性和安全性。系統(tǒng)流程圖用戶進入系統(tǒng)主界面后,會顯示所有課程列表,成功登錄后才能查看課程的提問以 及進行其它操作。如果是學生用戶,則可以查看個人資料、自己的課程、提問、參與的 問題和申請?zhí)幚砬闆r,還可以進行課程的申請,修改資料和登錄密碼。如果是老師用戶, 則可以查看個人資料、自己的課程和申請列表,并能對學生進行管理(添加或刪除學生), 修改資料和登錄密碼,系統(tǒng)會提示老師未回答問題和未處理申請的個數(shù)管理員經(jīng)由后臺登

18、錄界面進入系統(tǒng),成功地登錄以后,系統(tǒng)會根據(jù)管理員角色(超 級管理員和普通管理員)的不同來顯示相應的操作權限列表。管理員能夠對課程、提問 和回復、學生和老師用戶以及管理員用戶進行管理。本系統(tǒng)的流程圖如下頁圖 2.1 所示。- - -在線答疑系統(tǒng)系統(tǒng)首頁否否管理員老師用戶修改資料- - -管理員用戶的管理學生和老師用戶的管理添加和刪除學生回答問題和處理申請圖2.1系統(tǒng)流程圖224 系統(tǒng)數(shù)據(jù)流圖本系統(tǒng)數(shù)據(jù)流的設計主要包括在線答疑信息管理、課程管理和用戶管理等的實現(xiàn),其相應的數(shù)據(jù)流圖分別如下圖2.2所示。學生個人息在線信息在線答疑系統(tǒng)ji-1 在線答疑 管理信忌.?信息教在線答r師個人圖2.2系統(tǒng)頂層

19、數(shù)據(jù)流圖管理員管理部分主要實現(xiàn)了課程管理、提問和回復管理以及學生和老師用戶管理,其數(shù)據(jù)流圖如圖2.3所示加改除息添偉刪仁課程信息清單提問怕息晴心冋復信息清敢圖2.3第一層數(shù)據(jù)流圖一管理員管理教師管理部分主要實現(xiàn)了學生管理、回答問題、處理申請以及查看課程信息,其數(shù) 據(jù)流圖如圖2.4所示。申請?zhí)幚硇畔⑶鍐尾榭葱畔⒔處熭?出入 出冋題信息清單圖2.4第一層數(shù)據(jù)流圖一教師管理學生管理部分主要實現(xiàn)了搜索課程和申請課程、提出問題和參與討論、查看自己的課程和提問以及產(chǎn)看申請?zhí)幚砬闆r,其數(shù)據(jù)流圖如圖2.5所示。中請課程和提問fa息課程和申淸處理信息清單輸輸AFA圖2.5第一層數(shù)據(jù)流圖一學生管理第三章系統(tǒng)總體設

20、計總體設計,也可以稱為概要設計或者初步設計,其基本目的便是回答“概括地說,應當 如何實現(xiàn)系統(tǒng)”這個問題。經(jīng)過這個階段,將劃分出構成系統(tǒng)的物理元素(數(shù)據(jù)庫、程 序、文件、文檔和人工過程等),然而所有的物理元素依舊處于黑盒子級,這些黑盒子 里的具體內(nèi)容將在之后進行詳細的設計??傮w設計階段的另外一項重要任務是確定系統(tǒng) 中的每一個程序由哪些模塊構成以及這些模塊相互之間的關系,即設計軟件的結構。項目規(guī)劃總體規(guī)劃:在線答疑系統(tǒng)是一個非常典型的Java Web項目,它由系統(tǒng)前臺展示模塊和后臺數(shù)據(jù)管理模塊等兩大模塊構成。前臺展示模塊主要提供身份登錄驗證,提出問題與回復、參與討論,查看課程和提 問,申請課程和處

21、理申請、修改資料以及添加 /刪除學生等功能模塊。后臺管理模塊:該模塊主要進行數(shù)據(jù)庫的管理和維護,包含對學生和教師用戶的管理、課程的管理、提問和回復的管理、管理員用戶的管理等。系統(tǒng)總體結構系統(tǒng)總體結構是系統(tǒng)總體設計的核心部分,通過系統(tǒng)結構圖可以很清楚地看出整個 系統(tǒng)的結構。根據(jù)各個結構模塊分別進行分析,從而為將來的設計和實現(xiàn)打下良好的基 礎。根據(jù)前面對系統(tǒng)所做出的分析,本系統(tǒng)總體上包括3類用戶,即學生用戶、老師用戶和后臺管理員用戶。系統(tǒng)總體結構如圖 3.1所示。學牛用戶r老師用戶在線答疑系縉管理員段徐煤用和IHirl課程捉出問題利參與討論件存川詰處理悄況Mi fn 、;i 冊 fi | 修 .l

22、/r血斤老師的課乳阿答問題.和川譏的簷理和 老 Un JI1 門 屮I!.11III八的I?月圖3.1系統(tǒng)結構圖系統(tǒng)功能模塊在線答疑系統(tǒng)依據(jù)用戶的類別共分成三個模塊:學生模塊、教師模塊和管理員模塊。學生模塊功能定義表3.1學生模塊功能列表定義功能名稱學生注冊用于注冊學生信息學生登錄用于學生登錄系統(tǒng)的身份驗證修改資料用于學生修改個人資料搜索課程用于學生搜索所有可提問的課程申請課程用于學生申請感興趣的課程提問問題用于學生提出對課程內(nèi)出現(xiàn)的疑問參與討論用戶學生之間針對問題進行交流討論我的提問用于學生查看自己所提出問題的回復情況我的課程用于學生查看自己已經(jīng)申請的課程我的申請用于學生查看自己的申請?zhí)幚砬?/p>

23、況退出學生退出系統(tǒng)登錄教師模塊功能定義表3.2教師模塊功能列表功能名稱定義教師注冊用于注冊教師信息教師登錄用于教師登錄系統(tǒng)的身份驗證修改資料用于教師修改個人資料回答問題用于教師回答學生所提出的問題申請?zhí)幚碛糜诮處熖幚韺W生的課程申請?zhí)砑訉W生用于教師為自己的課程添加學生刪除學生用于教師刪除自己課程下的學生查看課程用于教師查看自己的課程退出教師退出系統(tǒng)登錄管理員功能模塊定義表3.3管理員模塊功能列表功能名稱定義管理員登錄用于管理員登錄系統(tǒng)的身份驗證課程管理用于對課程信息進行添加、修改和刪除提問管理用于問題信息的維護,對過時答疑信息的刪除回復管理用于回復信息的維護,對不良回復信息的刪除學生管理用于對學

24、生用戶的信息進行修改和刪除教師管理用于教師用戶信息的修改和刪除管理員管理用于管理用戶信息的修改、添加和刪除退出管理員退出系統(tǒng)登錄- 17 - 18 - - -第四章數(shù)據(jù)庫設計數(shù)據(jù)庫技術是管理信息資源的最佳方式。數(shù)據(jù)庫設計是針對一個特定的應用環(huán)境構 造出最優(yōu)的數(shù)據(jù)庫模式來創(chuàng)建數(shù)據(jù)庫及其應用系統(tǒng),從而實現(xiàn)對數(shù)據(jù)的有效存儲,以滿 足用戶對信息和處理的要求。數(shù)據(jù)庫結構的設計將直接影響到應用系統(tǒng)的效率和實現(xiàn)的 效果。因此,合理的數(shù)據(jù)庫設計不但能夠提升數(shù)據(jù)存儲的效率,而且可以有效的確保數(shù) 據(jù)的完整性和一致性。確定了系統(tǒng)需要開發(fā)的功能之后,接下來應該進行數(shù)據(jù)庫的設計工作,分析該系統(tǒng) 的各個實體之間的關系,做

25、好數(shù)據(jù)庫的設計對后期的開發(fā)有著非常重要的作用。數(shù)據(jù)庫分析由于本系統(tǒng)的規(guī)模不是很大,因此選用MySQL數(shù)據(jù)庫,該數(shù)據(jù)庫為開源免費產(chǎn)品, 可以直接通過網(wǎng)上下載得到,從而大大節(jié)約了開發(fā)成本。MySQL數(shù)據(jù)庫是現(xiàn)今小型應用開發(fā)中比較流行的數(shù)據(jù)庫,且從其 5.0版本開始支持事務,能夠確保數(shù)據(jù)的完整性和 安全性。項目E-R圖在線答疑系統(tǒng)作為學生和老師之間針對于學生所提出的問題進行溝通和交流的橋 梁,所包含的實體有提問信息、回答信息、課程、用戶、申請信息和關系。下面將依次 介紹各個實體所對應的E-R圖。用戶的E-R圖主要包括用戶的編號、用戶名、密碼和電子郵件等信息,具體如圖4.1 所示。圖4.1用戶E-R圖

26、課程實體包含課程名、課程編號和課程描述,具體如下圖4.2所示圖4.2課程E-R圖提問信息實體主要包括提問的編號、提問用戶的ID、提問標題等信息,具體如圖4.3所示?;貜托畔嶓w主要包括所回復問題的編號、回復標題和內(nèi)容等信息,其E-R圖如圖4.4所示。一些標志信息,其E-R圖如圖4.5所示圖4.5申請信息E-R圖學生和課程之間存在學習的關系,該關系記錄了學生的ID和課程的ID信息,具體如圖4.6所示。實體之間存在著一定的關系,如一個老師能教授多門課程,并且一門課程也能被多個學生學習,具體關系如圖4.7所示數(shù)據(jù)庫表的設計系統(tǒng)數(shù)據(jù)庫設計的好壞不僅對今后網(wǎng)站連接數(shù)據(jù)庫的速度有著非常重要的影響,而 且也

27、對查詢更新的復雜度有著非常重要的影響。本節(jié)介紹對本系統(tǒng)的數(shù)據(jù)庫表進行的設 計,是在完成系統(tǒng)功能分析的基礎上根據(jù)系統(tǒng)的需求目標而進行的設計。根據(jù)前面所介 紹的實體所擁有的屬性以及實體之間的關系描述,下面將介紹數(shù)據(jù)庫中這些實體對應的 表的設計,分別是課程表、提問表、回復表、用戶表、申請表和關系表,具體設計如下 所示。(1)用戶表:主要包含用戶名、用戶ID、登錄密碼、電子郵件和其它相關信息, 表中各字段的詳細信息如下表4.1所示。表4.1用戶信息表DY_User字段名稱數(shù)據(jù)類型字段大小是否主/ 外鍵字段說明備注UIDintN/A主鍵用戶編號非空UNamevarchar20否用戶名唯一且非空UPwdv

28、archar20否登錄密碼非空UGe nderchar2否用戶性別無UEmailvarchar40否電子郵件無URoleintN/A否用戶角色默認值UHeadvarchar50否圖像URL默認值URegDatedateN/A否注冊日期無ULastLog indatetimeN/A否最后登錄時間無ULastEmitdatetimeN/A否取后發(fā)表時間無TReadCou ntintN/A否閱讀次數(shù)默認值- -TReadCou ntintN/A否閱讀次數(shù)默認值- # -UPermitintN/A否用戶權限默認值- -(2)課程信息表:包含課程名、課程ID以及課程描述信息,表中各字段的詳細信 息如下表

29、4.2所示。表4.2課程信息表DY_Topic_Group字段名稱數(shù)據(jù)類型字段大小是否主/ 外鍵字段說明備注TGIDintN/A主鍵課程編號非空TGNamevarchar50否課程名非空TDetailvarchar200否課程描述非空(3 )提問信息表:該表主要包括提問標題、內(nèi)容和所屬課程等提問信息,表中各字段的詳細信息如下表4.3所示。表4.3提問信息表DY_Topic字段名稱數(shù)據(jù)類型字段大小是否主/ 外鍵字段說明備注TIDintN/A主鍵提冋編號非空UIDintN/A外鍵提問人ID無TGIDintN/A外鍵所屬課程ID無TTitlevarchar200否提問標題非空TCo ntenttex

30、tN/A否提問內(nèi)容非空TDatedatetimeN/A否提問時間非空(4)回復信息表:該表主要包含所回復問題ID、回復標題、回復ID以及回復內(nèi)容等信息,各字段的詳細信息如下表 4.4所示。表4.4回復信息表DY_Revert字段名稱數(shù)據(jù)類型字段大小是否主/外鍵字段說明備注RIDintN/A主鍵回復編號非空TIDintN/A外鍵所回復提問ID無UIDintN/A外鍵回復人ID無RTitlevarchar200否回復標題無RCo ntenttextN/A否回復內(nèi)容非空RDatedatetimeN/A否回復時間非空(5 )申請信息表:該表主要包含申請編號、申請人編號和所申請課程編號等,表 中各字段的

31、詳細信息如下表4.5所示。表4.5申請信息表DY_Apply字段名稱數(shù)據(jù)類型字段大小是否主/外鍵字段說明備注AIDintN/A主鍵申請編號非空UIDintN/A外鍵申請人ID無TGIDintN/A外鍵所申請課程ID無AReas onvarchar200否申請理由非空AFlagintN/A否申請?zhí)幚順酥灸J值- # -AFlagintN/A否申請?zhí)幚順酥灸J值- -AStatuschar10否申請?zhí)幚頎顟B(tài)默認值(6)用戶-課程關系表:用于記錄存在于用戶和課程之間的關系,包含用戶編號課程編號和關系編號等信息,表中各字段的詳細信息如下表4.6所示。表4.6用戶-課程關系表DY_TU字段名稱數(shù)據(jù)類型字

32、段大小是否主/外鍵字段說明備注TUIDintN/A主鍵關系ID非空UIDintN/A外鍵用戶ID無TGIDintN/A外鍵課程ID無- 27 - - -第五章 系統(tǒng)詳細設計與實現(xiàn)通過這一階段的工作進行了詳細的設計,我們將會確切地描述所要開發(fā)的目標系 統(tǒng),其基本任務是要確定能夠具體地實現(xiàn)所要求的系統(tǒng)的方法途徑。界面設計對于任何系統(tǒng)來講,設計用戶界面都是相當重要的。因為一個交互良好的界面不僅 可以使瀏覽者對系統(tǒng)的印象更深刻,而且可以為與客戶進行溝通提供方便。本系統(tǒng)的界面使用 JSP 頁面來實現(xiàn),并采用 DIV+CSS 技術對界面進行美化。 在頁面的實現(xiàn)過程中,主要遵循了以下兩個原則: (1)統(tǒng)一連

33、貫。頁面的整體風格要與自己所要表達的內(nèi)容相符,本系統(tǒng)是在線答 疑系統(tǒng),采用草綠色為界面的顏色基調(diào), 能凸顯學生的活力和知識學習生機勃勃的景象。(2)布局合理、和諧。整個頁面要符合大眾人群的審美觀念。布局是一個頁面顯 示的主體框架,一個設計良好的布局,能給用戶很好的使用效果和深刻的瀏覽記憶。本系統(tǒng)的主界面如下圖 5.1 所示。在線答疑系統(tǒng)a磁孵 刪饕liSSAlZ卿液蘇:額時系統(tǒng)分層的實現(xiàn)根據(jù)MVC設計思想,本系統(tǒng)以Struts2框架為控制器,用來管理各頁面?zhèn)鬟^來的 請求,從而發(fā)給相應的action處理;各JSP頁面作為動態(tài)頁面表示層來進行顯示;DBUtil 和各個Action等均作為Sprin

34、g當中的受管Bean。表示層的設計JSP技術能夠將普通靜態(tài)的HTML技術和動態(tài)的HTML技術相結合起來進行編碼。 它具有運行效率高、跨平臺性等優(yōu)點。根據(jù)系統(tǒng)的分層情況,表示層選用的是JSP動態(tài)頁面技術??刂茖拥脑O計控制層的采用的是Struts2框架。因為能夠使用Struts2的控件上傳文件,并且其攔截器機制也能夠對特定信息進行攔截。該系統(tǒng)中Struts2的工作原理體現(xiàn)如下:當用戶從前臺JSP頁面選擇操作后,通過 Struts2控制器轉發(fā)給相應的action進行處理, 各action通過Spring的依賴注入的DBUtil來實現(xiàn)對數(shù)據(jù)庫的各項操作,最后將得到 的數(shù)據(jù)傳到JSP頁面進行顯示。本系統(tǒng)

35、在項目結構中WEB-INF文件夾下的web.xml文件中對Struts2進行的配置如下:5.3數(shù)據(jù)庫連接與操作的實現(xiàn)數(shù)據(jù)源的配置由于系統(tǒng)采用數(shù)據(jù)庫連接池技術訪問數(shù)據(jù)庫,所以在連接數(shù)據(jù)庫之前要對數(shù)據(jù)源進行配置,本系統(tǒng)在項目結構中WEB-INF文件夾下的web.xml文件中對其進行的配置如下:vdescriptionDB Connectionv/description vres-ref- namejdbc/zxdyv/res-ref- name javax.sql.DataSource Co ntain er數(shù)據(jù)庫操作的實現(xiàn)本項目中的DBUtil類包含全部要用到的數(shù)據(jù)庫方法,需要將DBUtil類的

36、資源注入到項目中開發(fā)的 Action,并將Action配置成為Spring框架中的受管Bean。DBUtil類的具體實現(xiàn)代碼見附錄1,其大致結構如下:publicclassDBUtilprivate JdbcTemplate jt;/ 聲明 JdbcTemplate對象引用private List rl = null;聲明 List 對象引用private Stri ng sql = null; / 聲明 SQL 字符串引用private DataSource ds;/ 聲明 DataSource引用private DataSourceTra nsactio nMa nager dtm;/聲明

37、數(shù)據(jù)源事務管理類引用private DefaultTransactionDefinition dtd;/聲明 DefaultTransactionDefinition引用publicvoid setJt(JdbcTemplate jt)/jt 成員的 setter方 法this.jt = jt;/設置jt屬性的值publicvoid setDs(DataSource ds)this.ds=ds;對數(shù)據(jù)庫進行操作的各個方法5.4各個功能模塊的設計與實現(xiàn)根據(jù)系統(tǒng)分析和系統(tǒng)的總體設計,基本確定了該系統(tǒng)所包含的模塊,下面具體介紹 各個模塊的基本功能的設計與實現(xiàn)。用戶登錄和注冊依據(jù)系統(tǒng)分析和功能的需求,

38、用戶在沒有登錄的情形下,除了對系統(tǒng)首頁進行瀏覽 外無法執(zhí)行其它操作。只有在登陸成功的情況下,才能夠發(fā)表疑問和回復并執(zhí)行其它操 作。學生和老師用戶通過系統(tǒng)首頁登錄系統(tǒng),而管理員則通過后臺登錄界面進入系統(tǒng)。在利用Struts2框架進行開發(fā)的過程中,有時一個動作要與一個Action對應,可是這些Action中有些屬性或方法是通用的,倘若在每一個Action里面反復書寫相同的 屬性或方法就會導致代碼看起來不僅冗長并且枯燥。因此,首先要定義一個可以讓之后 的所有Action繼承的一個包含通用屬性和方法的基類Action,即BaseAction類。其具體實現(xiàn)類是 DYBaseAction , DYBase

39、Action 類的主要源代碼如下。public class DYBaseAct ion exte nds Action Supportpublic Stri ng execute()throws Excepti onStri ng result = SUCCESS;if(logout.equals(actio nStr)Stri ng role = (Stri ng)getSessio n( ).get(role);getSessi on( ).clear();System.out.pri ntl n(role:=+role);if(0.equals(role)|1.equals(role)u

40、rl = In dexActio n.actio n;message =退出成功,現(xiàn)在將跳轉到主頁;elseurl = adm in Logi n.jsp;message =退出成功,現(xiàn)在將要跳轉到登陸頁;result = LOGIN;-32 -retur n result;- - -(1 )用戶注冊用戶通過系統(tǒng)首頁進入注冊頁面,注冊頁面如下圖5.2所示在線答疑系統(tǒng)ms確圖5.2用戶注冊頁面因為注冊的用戶有很多,本模塊使用了Ajax技術,在客戶端還未提交注冊表之前可以對信息進行驗證,倘若注冊信息不符合要求則禁止提交,這樣不但使得網(wǎng)絡流量在 很大程度上得到減少,而且也使得服務器的負擔得到極大的減

41、輕。采用Ajax技術向服務器發(fā)送異步請求,在創(chuàng)建好 XmlHttpRequest 對象后要獲取 用戶注冊時所填寫的用戶名,而后再把驗證請求發(fā)送到服務器端,其相應的JavaScript源代碼見附錄2。(2 )用戶登錄學生和老師用戶通過系統(tǒng)主頁登錄,如下圖5.3所示圖5.3用戶登錄頁面管理員通過后臺的登錄頁面進入系統(tǒng)學生用戶模塊學生用戶成功登錄系統(tǒng)后,主頁面顯示了所有的課程列表,學生可以搜索課程并查看自己課程下的所有提問,但無法查看未申請課程的提問。主界面如下圖 5.4所示在線答疑系統(tǒng)、頫噩 拠般liisxsii?|褲|喘頤00輕號:nwoo-Y曲貼自端解礙 110001-i+耳俏啟抽15S靳種劇

42、輛盲熾1!載H期貢圍貢麟派箕隠:SS5t ” 審頃申rif黠- # - -圖5.12我的申請頁面理申6*8改書網(wǎng)申耆厚宙:19主審誦smiq去的申nrsaiae圖5.13申請課程頁面教師用戶模塊教師用戶成功登錄系統(tǒng)后,主頁面顯示了自己的課程列表,具體頁面與學生用戶主頁面類似。單擊用戶名,可以進入教師的個人控制頁面,如下圖5.14所示。0在線答疑系統(tǒng)- -0在線答疑系統(tǒng)- # -BQffJi的叭申O)渾如主1*1畫的貿(mào)片4啣的I目那SrlHMS2014-D5-22 12:14:D4電于峽發(fā)紳IS:昱釀黃斗圖5.14教師個人控制頁面?zhèn)€人控制頁面顯示了教師的個人信息,包括用戶編號、用戶名、性別、注冊

43、日期、 郵箱和發(fā)表權限等。在個人控制頁面,可以進行與教師相關的各項操作,如修改資料、 回答問題、處理申請、添加和刪除學生以及查看自己的課程等。教師用戶模塊的查看以及修改資料、修改密碼、查看我的課程等功能與學生用戶模 塊相同,在前面已經(jīng)做了介紹,這里就不再贅述了。在教師的個人控制界面,系統(tǒng)對教師未回答的問題和未處理的申請會自動進行提示。單擊個人控制頁面左側的未回答,會顯示待回答問題列表,具體如下圖5.15所示在線答疑系統(tǒng)- -在線答疑系統(tǒng)- -左域ust * mUSA 找的駅申皆列表m勦I學圭H世用宣時圖5.15未回答問題列表頁面已回答問題界面與未回答界面類似,就不再詳細介紹了單擊個人控制頁面左

44、側的申請列表,可以對申請進行處理,具體如下圖5.16所示在線答疑系統(tǒng)ittW: -站岀己回晉袁的*屋啊隗43朿加#主ms農(nóng)的朗eaafflT$WA申翩程申話脈希-券習申i鮒tRE甜幽曲售氐廊.掲世琢卄師中tRH h 底勰C+僉艮弼廿瓠姐喚S詢祁魄It iS 111.3aftsapfs:S51 XLR *圖5.16申請列表頁面單擊個人控制頁面左側的添加學生,可以為自己的某一門課程添加學生,具體如下- - -圖5.17所示刪:甜”馳單擊個人控制頁面左側的學生管理,可以刪除自己課程的學生,如下圖5.18所示。在線答疑系統(tǒng)刪:鈿冊你翹辭翻用酵嬲沬1T強電孑聃曲1憫ASM1小好女昭嚨懾an 501M5廿

45、M14-D5-2211.01:1 J 1M2 億57A6旦啊旳儡丁1 SOlMLlE2fl1fl05-22lfl:14:22GOOkUh膵郵舐帥:甌汗4|5|Sl5Sl F學生管理申謝壊(3):fW去的烈總掘西圖5.18學生管理頁面544管理員模塊管理員分為普通管理員和超級管理員,普通管理與與超級管理員相比只是少了對管理員進行管理的權限。接下來以超級管理員為例來描述管理員模塊的詳細設計與實現(xiàn)。管理員成功登錄系統(tǒng)后進入系統(tǒng)的在線管理中心,具體如下圖5.19所示圖5.19在線管理中心頁面管理員模塊包括課程管理、內(nèi)容管理、用戶管理、系統(tǒng)維護、修改密碼和退出五大 模塊。(1 )課程管理單擊課程管理下的

46、新增課程,可以添加新課程,具體如下圖5.20所示在線答疑系統(tǒng)am程摘atsm用戶懿num sw-制溯 理賈瞬 iSWtl 貝 蹄A刪藏圖5.20添加課程頁面單擊課程管理下的課程列表,可以對課程進行刪除和編輯,如下圖5.21所示。在線答疑系統(tǒng)L WK內(nèi)龍理I朗菅理、月戶懿1.肝滌:霸蹲目翩鈿I熬員財I USBA迅岀堿(2 )內(nèi)容管理*弭鶻跚名停最甥學醴魅號運聆100H溺摘晦自腳攜醐n鵬1Q0D1晦自腳抿10002昨自牖膵1Q0D3一1WH飜頒齪:潁齢蔦頂下-艮汀圖5.21課程列表頁面單擊課程管理下的提問管理,可以查看提問詳情或刪除提問,如下圖5.22所示。7黠懿I: sm卜讎竝目障屋與月戶菅理!

47、1E歸 曹戦孵:勦橄L重髭芳1腳.吳琵靜服儲1E邸鈾忖盤抽環(huán)翅匚幀子2工耕習標軸裁麻霊灘3O1H&1512.45 劉3幀子K1MSM51J451I4曲耶測$融淵哦城蒔.凋九加詢禎15114534-期S劄圧-15彷45計W*頂憬頂瑋頒能:頤*頂圖5.22提問管理頁面單擊課程管理下的回復管理,可以查看回復詳情或刪除回復,如提問管理類似。 (3 )用戶管理單擊用戶管理下的用戶列表,可以刪除用戶、取消老師或將學生設為老師,具 體如下圖5.23所示。在線答疑系統(tǒng)1耗熬I刪I娜鯉i取諫、刪目働鉛寵牖A駅賺ro10郵 曲糊B慮防伽15新Wfi加腳!i:WI師側:6鰹#密辦i爲B(tài)i糠y程刪2012211:1:

48、17B麹冥卷Mlmu201f-2212:j7:2?am1籍謫:寵舒黒腫射*樓和屮擁龍黑執(zhí)船 癱頫飆刪鳩;頓孫, 誕F%圖5.23用戶列表頁面單擊用戶管理選項下的重置密碼,可以對用戶的登錄密碼進行修改,具體與學 生用戶模塊對密碼進行修改的功能類似。(4 )系統(tǒng)維護單擊系統(tǒng)維護下的修改密碼,可以修改當前用戶的登錄密碼,具體與學生用戶 模塊的修改密碼功能類似。單擊系統(tǒng)維護下的管理員列表,可以刪除管理員,具體如下圖5.24所示。在線答疑系統(tǒng)1醸諜i_ ira、內(nèi)容訝豳聽1月戶謎I. awi Wfi勅雪理員A酗鞍MW)1期曲adhtH3adninb管理員列表冬I頁屢頃菲頒鞭:載屏F氯可”圖5.24管理員

49、列表頁面單擊系統(tǒng)維護下的添加管理員,可以添加管理員并制定管理員級別,具體如下圖5.25所示在線答疑系統(tǒng)I ms:孵瞬朋舌理I am重ififl|_刪酈I sumsJt退出藏mas礙氐話圖5.25添加管理員頁面單擊系統(tǒng)維護下的重置密碼,可以修改管理員的密碼,具體與學生用戶模塊修改密碼類似。5)退出系統(tǒng)單擊退出系統(tǒng)可以注銷此次登錄,跳轉到管理員登錄頁面- - - -第六章 系統(tǒng)測試測試目的軟件測試的不但要對軟件是否完成了你所期望的那些事情進行確認, 還要對軟件是 否使用了正確的方式來完成這個事情進行確認,其目的之一便是確認軟件質量。軟件測 試不但要測試軟件產(chǎn)品自身,同時也包含對軟件開發(fā)過程的測試。

50、本系統(tǒng)在開發(fā)過程中通過了各項測試,測試工作與編碼工作同時進行,每完成一個 功能的我都做了相關的測試工作,并且一一通過。在測試過程中,會發(fā)現(xiàn)系統(tǒng)的不少問 題,但是通過翻閱資料、上網(wǎng)查詢以及向同學請教,成功地解決了測試中發(fā)現(xiàn)的問題。 在系統(tǒng)開發(fā)的過程中不出現(xiàn)錯誤是不正常也是不可能的,通過這個項目的開發(fā),我深刻 體會到測試的重要性。下面我將對開發(fā)過程中的關鍵部分進行闡述。系統(tǒng)關鍵部分測試分析注冊用戶名唯一性驗證本系統(tǒng)使用 Ajax 技術向服務器發(fā)送異步請求來進行驗證,當輸入焦點離開用戶名 輸入框時便自動觸發(fā)注冊用戶名的唯一性驗證請求。 注冊用戶名唯一性驗證實現(xiàn)的效果 如下圖 6.1 所示。圖6.1用

51、戶名唯一性驗證622 分頁的實現(xiàn)系統(tǒng)中的很多頁面都要實現(xiàn)分頁的效果,因此在項目中開發(fā)了一個所有分頁類的基類Action來實現(xiàn)分頁,分頁效果如下圖6.2所示。小丸子*想的* 週出課程間粗回復強啟發(fā)寂畏邊號:10001動控制學儻 意等遜學溟程號:10003酵院自動腔諜程號;伽呦機械學共1頁I勒頁b怎澤寧習框觀騁h時小丸3 -2iM5-22 m:03:371O碳惟嗎?應該怎么祥學習呢即胡圖圏-2014-05-15 12:45:24迭樺分帀跨庭:每頁個卜海頁1個旨頁2木毎頁山嚇霉頁15個毎頁2葉圖6.2分頁的實現(xiàn)623 利用攔截器實現(xiàn)權限控制經(jīng)過前面的分析得到,如果用戶沒有登錄該在線答疑系統(tǒng),是不允許

52、進入提問列表和提問詳情頁面的,項目利用Struts2的攔截器編寫了自己的攔截器,很方便地實現(xiàn)了用戶權限控制。具體實現(xiàn)代碼如下。罰1訕卻血Overridepublic String intercept(Actionlnvocation invocation) throws ExceptionMap sessi on = Actio nCon textgetC on tex().getSessio n();得至 U sessi onStri ng result = LOGIN; if(sessio n. get(uid)!=null) return inv ocati on .i nv oke()

53、;return result;/返回結果字符串/如果從session里得到的uid不為null/調(diào)用下一個Action得到返回結果并返回/返回結果result該攔截器類作為AbstractInterceptor類的子類重寫了基類的intercept方法以判別 用戶是不是登錄了,倘若是則接著調(diào)用下一個Action,否則返回一個LOGIN視圖來提醒用戶還未登錄。在struts.xml中對其進行的配置如下。第七章結論本章主要對系統(tǒng)所實現(xiàn)了的功能進行總結,并總結了系統(tǒng)的特色之處,同時也對本次開發(fā)的體會做了一次總結。7.1系統(tǒng)功能總結本系統(tǒng)利用網(wǎng)絡來進行答疑,開發(fā)它的目的是為了能夠沖破時間和空間的局限性,進而提高答疑工作的便利性和及時性,從而促進師生之間和學生之間的互動。本系統(tǒng)較 好地實現(xiàn)了核心的答疑功能,同時實現(xiàn)了系統(tǒng)三類不同用戶的相應功能,如學生用戶的 申請課程和參與討論、教師用戶的處理申請和添加學

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論