在線答疑系統_第1頁
在線答疑系統_第2頁
在線答疑系統_第3頁
在線答疑系統_第4頁
在線答疑系統_第5頁
已閱讀5頁,還剩60頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、在線答疑系統數學與計算科學信息與計算科學湖南科技大學畢業設計(論文)題 目作 者學 院專 業學 號指導教師二o四年五月三一日畢業設計(論文)任務書數學與計算科學院信息與計算科學系(教研室)系(教研室)主任: _(簽名)_年月日學生姓名: _學號: _專業:信息與計算科學1設計(論文)題目及專題:_在線答疑系統 _2學生設計(論文)時間:自2014年2月25日開始至2014年5月31日止3設計(論文)所用資源和參考資料:1耿祥義,張躍平Java大學實用教程(第三版)北京:電子工業出版社.2012.2唐振明.Java程序設計.北京:電子工業出版社,2011.3耿祥義,張躍平JSP程序設訃.北京:淸

2、華大學出版社,2012.4(美)弗里曼.Head First設計模式(中文版).北京:中國電力岀版社.2013.5王珊,薩師熄數據庫系統概論(第4版).北京:高等教冇出版社,2012.6昊亞11他索依娜.30天學通Java Web項目案例開發.北京:電子工業出版社,2009.7張海藩.軟件工程導論.北京:淸華大學出版社,200&8嚴蔚敏.數據結構(C語言版)M北京:淸華大學出版社,2009.9何有世,劉秋生.管理信息系統(第2版).南京:東南大學出版社,2013.10陳作聰,王永皎,程風娟.Web程序設訃.北京:清華大學出版社,2012.4設計(論文)應完成的主要內容:本系統將利用網絡來開展答

3、疑工作,主要包含學生、老師和后臺管理員三方用戶。本系統將 針對用戶的不同功能進行研究開發,主要將實現學生提出問題和申請課程,老師回答問題和處理 申請,管理員對用戶、提問及課程進行管理等功能。5提交設計(論文)形式(設計說明與圖紙或論文等)及要求:提交一份紙制文檔及電子文檔(含源程序、可執行代碼),要求格式規范、敘述淸楚、簡潔, 不少于12000字或40個版而。6發題時間: 2014 年 1 月 9 日指導教師:(簽名)rr科技大學(簽名)學 生:隨著信息技術的飛速發展,網絡已經越來越普及,如今利用網絡進行各種教學活動 已成為現實。在線答疑系統利用網絡來開展答疑工作,它可以突破時間和空間的限制,

4、 提高答疑工作的便捷性和及時性,增加師生之間和學生之間的互動。這對現今高校的教 學方法、教學模式的改革具有重要意義。本在線答疑系統是利用Java Web技術開發的,采用了目前流行的B/S體系結構, 選用MySQL5. 0作為后臺數據庫,Tomcat6. 0作為服務器。本系統集成了 Struts2和Spring 兩個開源框架,將Struts2的Action作為Spring當中的受管Beano通過依賴注入, Action能夠非常方便地獲得實現業務功能的受管Bean的引用。本系統主要實現了如下三方面的功能。學生登錄和注冊及修改資料,搜索課程和申 請課程,提出問題和參與討論,查看自己的課程和提問,查看

5、申請處理惜況;老師登錄 和注冊及修改資料,回答問題和處理申請,添加學生和刪除學生,查看老師的課程;管 理員的課程管理,提問和回復管理,學生和教師用戶的管理,管理員用戶管理。關鍵詞:B/S; Java Web;在線答疑系統ABSTRACTABSTRACTWith the rapid development of information technology, networking has become increasingly popular. At present, using network to teach in various teaching activities has become

6、 a reality. Online question-answering system takes advantage of the network to implement the answering work, which breaks the limitations of time and space, conveniently and timely improves answering work, and increases the frequency of interactions among teachers and students It is of great signifi

7、cance to the reform of teaching methods and teaching models in colleges and universities.Online question-answering system is developed by Java Web technology, adopted the prevalent B/S structure, used MySQL5.0 as the background database and employed Tomcat6.0 as the server. The system integrated two

8、 open source frameworks of Struts2 and Spring, and used the Struts2 Action as a managed Bean in Spring Through dependency injection, Action can easily get references of the managed Bean that implements business function The system realized the functions as follows Students can login, register and mo

9、dify their information, search and apply for courses, ask questions and participate in discussions, check their courses and questions, check applying processes; Teachers also can login and register and modify their information, answer questions and process applications, add and delete student, and c

10、heck their courses; Administrators can manage courses, questions, answers, student users, teacher users and administrator usersKeywords:Keywords: B/S; Java Web;online question-answering system湖南科技大學本科生畢業設汁(論文)目錄第一章前言.-1 -1.1課題研究背景及意義 .-1-1.1.1研究背景 .-1 -1.1.2研究意義 .-1-1.2國內外現狀.-1 -第二章系統分析.-3-2.1可行性分析

11、.-3-2. 1. 1 技術可行性分析.-3-2.1.2經濟可行性分析 .-3-2.1.3操作可行性分析 .-3-2.2需求分析.-4-2.2.1功能性需求分析 .-4-2.2.2非功能性需求分析 .-5-2. 2. 3 系統流程圖 .-5 -2.2.4 系統數據流圖.-7-第三章 系統總體設計.-9-3. 1 項目規劃.-9-3.2系統總體結構 .-9-3.3系統功能模塊 .-10-3. 3. 1 學生模塊功能定義 .-10-3. 3.2 教師模塊功能定義 .-10-3. 3.3 管理員功能模塊定義.-11 -第四章數據庫設計 .-13-4.1數據庫分析 .-13-4.2 項目 E-R 圖

12、.-13-4.3數據庫表的設計 .-16-I-I-湖南科技大學本科生畢業設訃(論文)第五章 系統詳細設計與實現 .-19-5. 1 界面設計.-19-5.2系統分層的實現 .-19-5.2.1 表示層的設計 .-20-5.2.2控制層的設計.-20-5.3數據庫連接與操作的實現 .-20-5. 3.1數據源的配置.-20-5.3.2數據庫操作的實現.-21-5.4各個功能模塊的設計與實現 .-21-5.4.1用戶登錄和注冊.-21-5.4.2學生用戶模塊.-23-5.4.3教師用戶模塊.-29-5.4.4管理員模塊 .-32 -第六章 系統測試 .-37-6. 1 測試目的.-37-6.2系統

13、關鍵部分測試分析 .-37-6.2.1注冊用戶名唯一性驗證 .-37-6.2.2 分頁的實現.-38-6. 2.3利用攔截器實現權限控制 .-38 .-第七章結論 .-41-7. 1系統功能總結.-41 .-7.2系統的特色之處.-41 -7.3系統中仍然存在的問題 .-41-7.4體會與總結.-42 .-參考文獻 .-43-致謝.錯誤!未定義書簽。附錄 .-45 - -11-11-第一章前言1.1課題研究背景及意義1.1.1研究背景隨著網絡技術的快速發展,網絡已然與人們生活的方方面面融為了一體。學校計算 機網絡經過10多年的建設,LI前,國內大多數高校學生使用校園網已經十分方便。如 何有效地

14、使用網絡服務于管理,教學,學習,已成為一個重要的課題,非常值得我們關 注和研究。答疑是教學活動中一個必要的步驟,主要的工作是解決學生在學習過程中所 碰到的難題。答疑工作是否開展的好對教育質量有著直接的影響。高校招生規模的不斷 擴大,師生人數的倍增,加之上課地點的變動等原因,使傳統的答疑方式無法滿足現今 的答疑需求,答疑方式亟待改進。因此,使用Jas Web技術開發一個實用的網上答疑系統不僅能夠最大化地利用現 今教育資源,并且是更好地為學生提供服務的最佳方式。為此,我選擇了利用Java Web 等技術開發在線答疑系統,它可以提高答疑工作的便捷性和及時性,通過計算機網絡實 現老師與學生之間的交互。

15、1.1.2研究意義隨著網絡技術的飛速發展,教學管理網絡化已經成為當前教育的一個基本特征,網 絡教育作為一種新的教學方法,已經走進我們的生活,并且被我們所接受,這對傳統教 育來說,是一個很好的補充。隨著廣泛應用的互聯網技術的發展,通過互聯網進行各種 不同的教學活動已經成為現實。在線答疑系統利用校園網來開展答疑工作,主要體現在 學生和教師之間“問”與“答”的雙向互動,學生依據自己的學習情況利用校園網向教 師提出種種疑問,教師通過校園網解答學生遇到的難題,系統在展現個性化學習的同時, 也展現了個性化輔導,學生和教師可以沖破存在于時間和空間上的限制性,通過連接上 校園網的計算機就能夠開展答疑工作。在大

16、學校園里,學生如果能充分利用校園網,針 對自身存在的問題及時向教師尋求幫助,以獲得所提問題的答案,并能表達自己的觀點, 彼此間進行自山討論交流,這必將拉近師生之間的距離,提高答疑工作的效率,增強學 校的學習氛圍。這對于現今高校的教育形式和教學方式的變革具有非常重大的意義。1.2國內外現狀當前能夠實現在線答疑功能的技術有很多種,例如CGI、PHP、JSP、ASP和ASP. NET 等,而且主要有C/S架構和B/S架構,但C/S架構受到平臺和硬件的限制,不如B/S架 構方便和大眾化。通過對國內不少已經投入使用的高等教育遠程教育系統的研究可以發現,在這些系 統中,答疑功能有的被放在一個非常次要的位置

17、,有的其至干脆被忽略。當前,國內的 網上答疑系統大多是作為一個包含在教育網站中的子系統而存在,而專門用于進行答疑 的獨立平臺則少之乂少。從功能的角度來看,國內的網上答疑系統的功能不僅比較全面 而且較豐富,主要含用戶信息的管理、問題的查詢和統計、答疑、知識管理以及瀏覽等 功能。此外,另有不少答疑系統為了進一步增強其系統的特色而提供了一些額外的功能, 如:用戶的個性化定制等。在國內,主要是通過人工答疑方式和基于數據庫的自動答疑 方式來實現答疑系統的功能;從系統的智能化來看,國內的很多答疑系統在提高關鍵詞 的匹配上存在較大困難。對于大多數問題和答案的智能管理都不是太完善。而且智能分 析、統計功能薄弱

18、,無法根據學生所提出的問題對老師的教學提出建議。在國外,現在有相當多的杰出并且智能化的專門的答疑系統。其從功能的角度看來 盡管相對簡潔,然而它們全部的功能都是緊緊圉繞著答疑這個核心功能來展開設計的, 重心明確并且突出;在問題的展現方面,系統將有關人物、地點和時間概念等多種類型 的問題作為基本點,為用戶提供正確性和簡潔性都比較高的答案。-2-第二章系統分析2.1可行性分析可行性分析(Feasibility Analysis),即可行性研究,它是針對新系統的開發是不 是具備必可能性和必要性并基于對系統的調查,對新系統的開發從技術、社會和經濟等 方面開展分析和研究工作,以避免投資失誤,從而保障新系統

19、的開發成功??尚行匝芯?的U標是用最小的代價在盡量短的時間內確定問題是否可以得到解決。其實質上是要進 行一次大大壓縮簡化了的系統分析和設計過程,即以較抽象的方式在較高層次上進行的 系統分析和設計的過程。2.1.1技術可行性分析技術可行性不僅要考慮使用現有的技術可否完成系統的開發,而且還要考慮軟件和 硬件的配置可否能夠滿足開發的需要等。本系統的開發是一個較具代表性的Java Web項目,采用Java程序語言,如今計算 機硬件的配置已經完全可以滿足開發過程的需求。從軟件方面來看,系統使用Java Web 技術進行開發,前端界面使用的是DIV+CSS技術,所需的軟件環境如下:JDK、MyEclips

20、e、 Web應用服務器以及MySQL數據庫。這些軟件都已經有了功能全面、穩定的版本,故軟 件的開發平臺成熟可行,它們不僅可靠性高而且穩定,因此完全可以滿足系統的需求。2.1.2經濟可行性分析系統所需要的硬件環境,即訃算機及其相關的硬件,從市場上可以很容易地購買到。 所需軟件環境(JDK+MyEc 1 ipse+Tomcat +MySQL)可以從網上免費下載,從而降低了開發成 本。本系統主要的開發與維護成本也不會造成太大的經濟壓力。此系統正式投入使用后, 學校的教學質量能夠得到大幅度的提高,答疑工作也能更順利的開展,并且師生之間的 在線互動也可以更加方便地進行。同時對于學校學生來說,有問題可以立

21、即登入系統進 行提問,只要是該課程下的學生用戶都可以參與討論。對于教師來說,能夠很方便地查 看學生提出的問題并回答,了解學生對知識的掌握程度,從而把握教學重點,這樣學校 的教學質量便得到了提高。2.1.3操作可行性分析本系統主要是為了方便教師與學生之間的答疑工作的開展,提高學生的學習效率。 學生將所學習課程的疑問通過系統呈現給教師,待教師解答后,可查看到問題回復。系-3- 統界面簡潔美觀,用戶一LI了然,只要學生、教師和管理員通過網上瀏覽就可以自如地 使用本系統。因此,用戶操作起來會得心應手。2.2需求分析在開發任何一個系統之前,進行必需的系統分析是非常有必要的,主要是根據對客 戶的需求和本系

22、統的一些特點和模塊的分析等來確定如何有效地進行實際的開發。需求分析是軟件設計的一個重要組成部分。為了確定系統的口標,應在本階段對系 統的應用情況進行全面的調查。2.2.1功能性需求分析本系統包含學生、教師和后臺管理員這3類用戶,其各用戶的具體功能如下。學生用戶功能注冊和登錄,學生不僅可以很方便地進行用戶注冊,也能夠登錄在線答疑系統。資料的修改,注冊后學生可以修改自己的注冊資料。查看提問,學生發起問題后,可以查看該問題的回復情況。申請課程,如果學生還不能修某課程,可提交該課程的申請表。查詢課程,搜索自己感興趣的課程,支持模糊檢索。查看參與的提問,學生不僅可以對自己參與課程下的問題進行討論,而且還

23、可以 查看這些問題。教師用戶功能用戶的登錄,老師可自山地登錄在線答疑系統。資料的修改,老師可以修改自己的資料。查看未回答的提問,老師登錄后,可以查看待回答問題的列表。查看已回答的提問,對于已經回答的問題,老師不僅可查看,而且還可以繼續回 復講解。添加學生,老師能夠將學生添加到自己所教授的某門課程。刪除學生,老師能夠刪除自己所教課程下的學生。管理員功能課程管理,管理員可以對課程信息進行維護。內容管理,管理員可以對提問內容和回復內容進行管理。用戶管理,管理員可以對學生用戶和老師用戶進行管理。管理員管理,主要是超級管理員對普通管理員的管理。-4-2.2.2非功能性需求分析(1)系統安全性需求在軟件使

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

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

26、問題和未處理申請的個數。管理員經由后臺登錄界面進入系統,成功地登錄以后,系統會根據管理員角色(超 級管理員和普通管理員)的不同來顯示相應的操作權限列表。管理員能夠對課程、提問 和回復、學生和老師用戶以及管理員用戶進行管理。本系統的流程圖如下頁圖2. 1所示。-5-在線答疑系統-6-課程管理和用戶管理等的實現,l-r2. 2.4系統數據流圖本系統數據流的設計主要包括在線答疑信息管理、其相應的數據流圖分別如下圖2. 2所示。答疑信息消單圖2. 2系統頂層數據流圖管理員管理部分主要實現了課程管理、提問和回復管理以及學生和老師用戶管理, 其數據流圖如圖2. 3所示。V 信息教在線答師個人(在線答疑系統

27、疑信息學生個人 信息雲輸入輸出在線答疑 管理信息管理員提問信息淸單冋貝信息清電煤程信息措年輸爺i iA出圖2. 3第一層數據流圖一管理員管理-7-巾請處理位息清單我的課程i i查看信息教師1f f學牛管理學生信息清單課丹和申悄處理仁息淸單輸輸1 1輸V VAA-f f入問題信息淸單教師管理部分主要實現了學生管理、回答問題、處理申請以及查看課程信息,其數 據流圖如圖24所示。輸i i輸入出問題伯息淸單圖2. 4第一層數據流圖一教師管理學生管理部分主要實現了搜索課程和申請課程、提出問題和參與討論、查看自己的課程和提問以及產看申請處理情況,其數據流圖如圖2. 5所示。圖2. 5第一層數據流圖一學生管

28、理-8-輸入冋答問題已申請課W和提呵1.1.所討論問題仁息淸屮第三章系統總體設計總體設計,也可以稱為概要設計或者初步設計,其基本目的便是回答“概括地說, 應當如何實現系統”這個問題。經過這個階段,將劃分出構成系統的物理元素(數據庫、 程序、文件、文檔和人工過程等),然而所有的物理元素依舊處于黑盒子級,這些黑盒 子里的具體內容將在之后進行詳細的設計??傮w設計階段的另外一項重要任務是確定系 統中的每一個程序山哪些模塊構成以及這些模塊相互之間的關系,即設訃軟件的結構。3.1項目規劃總體規劃:在線答疑系統是一個非常典型的Java Web項日,它由系統前臺展示模 塊和后臺數據管理模塊等兩大模塊構成。前臺

29、展示模塊主要提供身份登錄驗證,提出問題與回復、參與討論,查看課程和提 問,申請課程和處理申請、修改資料以及添加/刪除學生等功能模塊。后臺管理模塊:該模塊主要進行數據庫的管理和維護,包含對學生和教師用戶的管 理、課程的管理、提問和回復的管理、管理員用戶的管理等。3.2系統總體結構系統總體結構是系統總體設計的核心部分,通過系統結構圖可以很清楚地看出整個 系統的結構。根據各個結構模塊分別進行分析,從而為將來的設計和實現打下良好的基 礎。根據前面對系統所做出的分析,本系統總體上包括3類用戶,即學生用戶、老師用 戶和后臺管理員用戶。系統總體結構如圖3.1所示。圖3. 1系統結構圖-9-3-3系統功能模塊

30、在線答疑系統依據用戶的類別共分成三個模塊:學生模塊、教師模塊和管理員模塊。3. 3.1學生模塊功能定義表3. 1學生模塊功能列表功能名稱定義學生注冊用于注冊學生信息學生登錄用于學生登錄系統的身份驗證修改資料用于學生修改個人資料搜索課程用于學生搜索所有可提問的課程申請課程用于學生申請感興趣的課程提問問題用于學生提岀對課程內出現的疑問參與討論用戶學生之間針對問題進行交流討論我的提問用于學生査看自己所提岀問題的回復情況我的課程用于學生查看自己已經申請的課程我的申請用于學生査看自己的申諳處理情況退岀學生退出系統登錄3. 3.2教師模塊功能定義表3. 2教師模塊功能列表功能名稱定義教師注冊用于注冊教師信

31、息教師登錄用于教師登錄系統的身份驗證修改資料用于教師修改個人資料回答問題用于教師回答學生所提出的問題申請處理用于教師處理學生的課程申請添加學生用于教師為自己的課程添加學生刪除學生用于教師刪除自己課程下的學生查看課程用于教師査看自己的課程退岀教師退出系統登錄-10-3. 3.3管理員功能模塊定義表3. 3管理員模塊功能列表功能名稱定義管理員登錄用于管理員登錄系統的身份驗證課程管理用于對課程信息進行添加、修改和刪除提問管理用于問題信息的維護,對過時答疑信息的刪除回復管理用于回復信息的維護,對不良回復信息的刪除學生管理用于對學生用戶的信息進行修改和刪除教師管理用于教師用戶信息的修改和刪除管理員管理用

32、于管理用戶信息的修改、添加和刪除退岀管理員退岀系統登錄-12-第四章數據庫設計數據庫技術是管理信息資源的最佳方式。數據庫設汁是針對一個特定的應用環境構 造出最優的數據庫模式來創建數據庫及其應用系統,從而實現對數據的有效存儲,以滿 足用戶對信息和處理的要求。數據庫結構的設汁將直接影響到應用系統的效率和實現的 效果。因此,合理的數據庫設訃不但能夠提升數據存儲的效率,而且可以有效的確保數 據的完整性和一致性。確定了系統需要開發的功能之后,接下來應該進行數據庫的設計工作,分析該系統 的各個實體之間的關系,做好數據庫的設計對后期的開發有著非常重要的作用。4.1數據庫分析由于本系統的規模不是很大,因此選用

33、MySQL數據庫,該數據庫為開源免費產品, 可以直接通過網上下載得到,從而大大節約了開發成本。MySQL數據庫是現今小型應用 開發中比較流行的數據庫,且從其3.0版本開始支持事務,能夠確保數據的完整性和安 全性。4.2項目E-R圖在線答疑系統作為學生和老師之間針對于學生所提岀的問題進行溝通和交流的橋 梁,所包含的實體有提問信息、回答信息、課程、用戶、申請信息和關系。下面將依次 介紹各個實體所對應的E-R圖。用戶的E-R圖主要包括用戶的編號、用戶名、密碼和電子郵件等信息,具體如圖4.1所示。UP權世圖4. 1用戶E-R圖-13 -課程實體包含課程名、課程編號和課程描述,具體如下圖4. 2所示。圖

34、4.2課程E-R圖提問信息實體主要包括提問的編號、提問用戶的ID、提問標題等信息,具體如圖4. 3 所示。圖4. 3提問信息E-R圖回復信息實體主要包括所回復問題的編號、回復標題和內容等信息,其E-R圖如圖4.4所示。是否處理以及申請理山等的-14 -申請信息實體主要包含申請人編號、所申請課程編號、一些標志信息,其E-R圖如圖4.5所示。學生和課程之間存在學習的關系,該關系記錄了學生的ID和課程的ID信息,具體 如圖4. 6所示。關系V)盍 ip圖46關系信息E-R圖實體之間存在著一定的關系,如一個老師能教授多門課程,并且一門課程也能被多 個學生學習,具體關系如圖47所示。-15 -4.3數據

35、庫表的設計系統數據庫設計的好壞不僅對今后網站連接數據庫的速度有著非常重要的影響,而 且也對查詢更新的復雜度有著非常重要的影響。本節介紹對本系統的數據庫表進行的設 計,是在完成系統功能分析的基礎上根據系統的需求目標而進行的設汁。根據前面所介 紹的實體所擁有的屬性以及實體之間的關系描述,下面將介紹數據庫中這些實體對應的 表的設計,分別是課程表、提問表、回復表、用戶表、申請表和關系表,具體設計如下 所示。(1)用戶表:主要包含用戶名、用戶ID、登錄密碼、電子郵件和其它相關信息,表中各字段的詳細信息如下表4. 1所示。表4. 1用戶信息表DY.User字段名稱數據類型字段大小是否主/外鍵字段說明備注U

36、IDintN/A主鍵用戶編號非空UNamevarchar20否用戶需唯一且非空UPwdvarchar20否登錄密碼非空UGenderchar2否用戶性別無UEmailvarchar40否電子郵件無URoleintN/A否用戶角色默認值UHeadvarchar50否圖像URL默認值URegDatedateN/A否注冊日期無ULastLogindatetimeN/A否最后登錄時間無ULastEmitdatetimeN/A否最后發表時間無UPermitintN/A否用戶權限默認值(2)課程信息表:包含課程名、課程ID以及課程描述信息,表中各字段的詳細信息如下表4. 2所示。表4. 2課程信息表DY

37、Topic Group字段名稱數據類型字段大小是否主/外鍵字段說明備注TGIDintN/A主鍵課程編號非空TGNamevarchar50否課程名非空TDetailvarchar200否課程描述非空-16 -(3)提問信息表:該表主要包括提問標題、內容和所屬課程等提問信息,表中各字 段的詳細信息如下表4. 3所示。表4. 3提問信息表DY.Topic字段名稱數據類型字段大小是否主/外鍵字段說明備注TIDintN/A主鍵提問編號非空UIDintN/A外鍵提問人ID無TGIDintN/A外鍵所屬課程ID無TTitlevarchar200否提問標題非空TContenttextN/A否提問內容非空TDa

38、tedatetimeN/A否提問時間非空TReadCountintN/A否閱讀次數默認值(4)回復信息表:該表主要包含所回復問題ID、回復標題、回復ID以及回復內容 等信息,各字段的詳細信息如下表4. 4所示。表4. 4回復信息表DY.Revert字段名稱數據類型字段大小是否主/外鍵字段說明備注RIDintN/A主鍵回復編號非空TIDintN/A外鍵所回復提問ID無UIDintN/A外鍵回復人ID無RTitlevarchar200否回復標題無RContenttextN/A否回復內容非空RDatedatetimeN/A否回復時間非空(5)申請信息表:該表主要包含申請編號、申請人編號和所申請課程編

39、號等,表 中各字段的詳細信息如下表4. 5所示。表4. 5申請信息表DY.Apply字段名稱數據類型字段大小是否主/外鍵字段說明備注AIDintN/A主鍵申請編號非空UIDintN/A外鍵申請人ID無TGIDintN/A外鍵所申請課程ID無AReasonvarchar200否申請理由非空AFlagintN/A否申請處理標志默認值AStatuschar10否申請處理狀態默認值-17-(6)用戶-課程關系表:用于記錄存在于用戶和課程之間的關系,包含用戶編號. 課程編號和關系編號等信息,表中各字段的詳細信息如下表4. 6所示。表4. 6用戶-課程關系表DY TU字段名稱數據類型字段大小是否主/外鍵字

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

41、己所要表達的內容相符,本系統是在線答 疑系統,采用草綠色為界面的顏色基調,能凸顯學生的活力和知識學習生機勃勃的景象。(2)布局合理、和諧。整個頁面要符合大眾人群的審美觀念。布局是一個頁面顯 示的主體框架,一個設計良好的布局,能給用戶很好的使用效果和深刻的瀏覽記憶。本系統的主界面如下圖5. 1所示。ssss電攝鶴o o MRMR關齢I I璉I IHRHR0 00 0豪夠:1000110001:i i I I血卿朋-個曲SS-2016-15-2016-15121&.24121&.24邨哥10WZ-10WZ-計脯與自遨滝衆0 00 0鞘豈1010隔1 11 1CTCT椚? ESSW5KESSW5K

42、6 6 卿-2014-(6-1512-2014-(6-1512 45244524D D0 0#251515#2515155.2系統分層的實現根據MVC設計思想,本系統以Struts2框架為控制器,用來管理各頁面傳過來的請 求,從而發給相應的action處理;各JSP頁面作為動態頁面表示層來進行顯示;DBUtil-19 -和各個Action等均作為Spring肖中的受管Beano圖5. 1系統主界面5.2.1表示層的設計JSP技術能夠將普通靜態的HTML技術和動態的HTML技術相結合起來進行編碼。它 具有運行效率高、跨平臺性等優點。根據系統的分層情況,表示層選用的是JSP動態頁 面技術。5.2.

43、2控制層的設計控制層的采用的是Struts2框架。因為能夠使用Struts2的控件上傳文件,并且其 攔截器機制也能夠對特定信息進行攔截。該系統中Struts2的工作原理體現如下:當用 戶從前臺JSP頁面選擇操作后,通過Struts2控制器轉發給相應的action進行處理, 各action通過Spring的依賴注入的DBUtil來實現對數據庫的各項操作,最后將得到 的數據傳到JSP頁面進行顯示。本系統在項LI結構中WEB-INF文件夾下的web. xml文件 中對Struts2進行的配置如下:struts2org.apache.struts2.dispatcher.FilterDispatche

44、rstruts2/*5.3數據庫連接與操作的實現5.3.1數據源的配置山于系統采用數據庫連接池技術訪問數據庫,所以在連接數據庫之前要對數據源進 行配置,本系統在項目結構中WEB-INF文件夾下的web. xml文件中對其進行的配置如下:DB Connectionjdbc/zxdy javax.sql.DataSource Container-20-5. 3.2數據庫操作的實現本項H中的DBUtil類包含全部要用到的數據庫方法,需要將DBUtil類的資源注入 到項LI中開發的Action,并將Action配置成為Spring框架中的受管Beano DBUtil類 的具體實現代碼見附錄1,其大致結

45、構如下:publicpublic classclass DBUtil privateprivate JdbcTempIate jt;聲明 JdbcTemplate 對象引用privateprivate List rl = = null;null;聲明List對象引用privateprivate String sql = null;null; 聲明SQL字符串引用privateprivate DataSource ds;聲明DataSource引用privateprivate DataSourceTransactionManager dtm; /聲明數據源事務管理類引用 privatepriva

46、te DefaultTransactionDefinition dtd: 聲明DefaultTransactionDefinition引用 publicpublic voidvoid set J t( JdbcTemplate jt)jt成員的 setter 方法this.jtthis.jt二jt;設置jt屬性的值publicpublic voidvoid setDs(DataSource ds)this,this, ds 二 ds;對數據庫進行操作的各個方法5.4各個功能模塊的設計與實現根據系統分析和系統的總體設計,基本確定了該系統所包含的模塊,下面具體介紹 各個模塊的基本功能的設計與實現。

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

48、-21 -1)體實現類是DYBaseActionr DYBaseAction類的主要源代碼如下。 public class DYBaseAction extends ActionSupportpublic String execute()throws Exception)String result = SUCCESS;if(HlogoutH.equals(actionStr)String role = (String)getSession().get(HroleM); getSession().clear();System.out.println(nrole:=n+role);if(HOn.e

49、quals(role)H 1 H.equals(role)url = HIndexAction.actionH;message二”退出成功,現在將跳轉到主頁;elseurl = HadminLogin.jspH;message二”退出成功,現在將要跳轉到登陸頁“; result = LOGIN;return result;(1)用戶注冊用戶通過系統首頁進入注冊頁面,注冊頁面如下圖5. 2所示。圖5. 2用戶注冊頁面-22 -19錢在線答縣統因為注冊的用戶有很多,本模塊使用了 Ajax技術,在客戶端還未提交注冊表之前 可以對信息進行驗證,倘若注冊信息不符合要求則禁止提交,這樣不但使得網絡流量在很

50、大程度上得到減少,而且也使得服務器的負擔得到極大的減輕。釆用Ajax技術向服務器發送異步請求,在創建好XmlHttpRequest對象后要獲取用 戶注冊時所填寫的用戶名,而后再把驗證請求發送到服務器端,其相應的JavaScript 源代碼見附錄2。(2)用戶登錄學生和老師用戶通過系統主頁登錄,如下圖53所示。圖5. 3用戶登錄頁面管理員通過后臺的登錄頁面進入系統。5.4.2學生用戶模塊學生用戶成功登錄系統后,主頁面顯示了所有的課程列表,學生可以搜索課程并查看自己課程下的所有提問,但無法查看未申請課程的提問。主界面如下圖3. 4所示。-23 -翱舉在線答疑系統個人聽在線答疑系統1 1 UD:UD

51、:7 7勵p p暢玄hum201405-15201405-152015-2211.01.172015-2211.01.17201)5-22201)5-22 W.053?W.053?陽q q 躍 133.om133.om藥區學生用戶主界面顯示了全部課程,實現了分頁功能,項LI中的FenYeAction類是所 要用到的全部分頁類的基類,其源代碼見附錄3。單擊用戶名,可以進入學生的個人控制頁面,如下圖55所示。圖5. 5學生個人控制頁面個人控制頁面顯示了學生的個人信息,包括用戶編號、用戶名、性別、注冊日期、郵箱和發表權限等。在個人控制頁面,可以進行與學主相關的各項操作,如修改資料、申請課程、查看課程

52、和提問等。-24 -o o髓噩附聯刼宇I I穌I I個人資M M審百朝在線答疑系統e*翻冊悔與申胡程在線答疑系統個人238238髯按問單擊個人控制頁面左側的修改密碼,可以修改自己的登錄密碼,如下圖3.6所示。問和回復,具體如下圖58所示。-25 -Mr:刪 送岀圖5. 6修改密碼頁面單擊個人控制頁面左側的修改資料,可以修改用戶頭像和郵箱,如下圖3.7所示。修慟圖5. 7修改資料頁面單擊個人控制頁面左側的我的課程,可以查看自己的課程,以及相應課程的所有提個人龍mA$w在線答疑系統她子:瑚7 7刖firns1II範已側1111刪1515自躺熊4 45 5辦癖血 J J-20122-20122100

53、3371003371 11 1C C哪擁?滋敘捐顧 tr-20M6-1512:45:24tr-20M6-1512:45:24髓豈!1M05-flM!1M05-flM0 00 0勲負屬1 1貢送紗期心毎站彳 篦偵圖5.8我的課程頁面單擊個人控制頁面左側的我的提問,可以查看自己的提問信息,如下圖5.9所示。水姑:謝V V fttfttms、翔胡個人詡Wfi申測帥餉|能辭齡矣艄髓sg-sesg-se小好 2014-05-2014-05-15151245241245242W2W杭子201201仙刃210.210.伯寸臨:潮-M-M悔蝴B B慈馳I IM?M? 2014-06-152014-06-15儂

54、524524212212?Rfi-201405-?Rfi-201405-15151212:46244624小丸子 2014-2014-(6-15(6-1512.452412.45241212小好沏軸已512512邀2 2& &曲-夠寫?麗沁小丸子疑于亦252512.452412.4524120120蝕子釧的閒M M矩2222A卿握觴昨界瞬巾好發超捌皿巧12452&12452&13111311 144)5-15144)5-15121:24121:24俎頁聞頂第頂圖5. 9我的提問頁面-26 -在線答疑系統單擊個人控制頁面左側的我的參與,可以查看自己參與的問題的詳細信息,我的參 與頁面與我的提問頁

55、面類似。在我的提問和參與頁面都可以查看問題詳情,在此頁面可以對問題進行回復,具體如下圖510所示。2014-0152014-015 12:45:2412:45:24宇習gtrugtru springspring hlberrtehlberrte刃ItIt序定卻俯?廈矯老荻跚況推薦JIJI左尋發*于 20I4-0&-IS20I4-0&-IS 12:45:2412:45:24M M杓,列手處左的訶 20I4-C5-I520I4-C5-I5網鈿201201血吃2 2EBKeEBKe勲頁I I議頁目財鏗0KJS5S0KJS5S:處:1 1殆鵝似A3A3:l.TiSSBtgSl.TiSSBtgSa.a.

56、目翎黔技不剁汛6 6干蟲目E E與萃1 1訊無夭的東33T T圖5.10問題詳情頁面-27 -R?53finR?53finh h林J J11在問題詳情頁面可以發起新問題,如下圖511所示。在線答疑系統小奸:刼b b即圖5. 11發起新問題頁面單擊個人控制頁面左側的我的申請,可以查看自己的申請信息,如下圖512所示。ftOSftOS:去的軸個人前去號何I I650650 5tt?t個人也未酮腳ag申盼(3)淞毬 在線答疑系統單擊個人控制頁面左側的添加學生,可以為自己的某一門課程添加學生,具體如下圖5. 17所示。-31 -圖5.17添加學生頁面單擊個人控制頁面左側的學生管理,可以刪除自己課程的學

57、生,如下圖5. 18所示。纜麹v v魁ma 二圖5.18學生管理頁面用戶目用戶遞1 1銘韶|後櫥L L徹營理員I I 1S1S輛 血退出糸袈iSiS鞅前砸9 9, ,倆廚獅科診tt5.4.4管理員模塊管理員分為普通管理員和超級管理員,普通管理與與超級管理員相比只是少了對管理員進行管理的權限。接下來以超級管理員為例來描述管理員模塊的詳細設汁與實現。管理員成功登錄系統后進入系統的在線管理中心,具體如下圖5. 19所示。.在線答疑系統9 9辟麗I:I: E E程處內昶箋| | 1!1! 口曽理、用PSPS煌r r 用PWRPWR匚 S5SHS5SH $ $ 5JE35JE3護|管理彫俸1-1-| |

58、 IESBIESB ft退岀總帥歡迎來到在線管理中心圖5. 19在線管理中心頁面管理員模塊包括課程管理、內容管理、用戶管理、系統維護、修改密碼和退出五大 模塊。(1)課程管理圖5. 20添加課程頁面-32 -單擊課程管理下的新增課程,可以添加新課程,具體如下圖5. 20所示。瞪:|紳耗繍i i儡建:-:單擊課程管理下的課程列表,可以對課程進行刪除和編輯,如下圖5. 21所示。在線答疑系統腫表L髀懿L翳狀$內言調匕擁昭、用PO目掰濟i IS溯g紛鉛L菅蝶妙I舶菅頤!錨網A退出紈JUDC3JUDC3SSSS號1WW1WW1(0011(001陽xmxm1WIQ1WIQ(:詢麗1WW1WWSS?SS?

59、1WM1WM難陽一離SXlkSXlk#2#2 121121瀟頒駆:毓滄策成(2)內容管理圖5. 21課程列表頁面單擊課程管理下的提問管理,可以查看提問詳情或刪除提問,如下圖5. 22所示。跖列表L黑髓-器廉9 9內希丑L顏烈01寵打,帀丑I刪鈿管朝舫I麹寵員 ISSfiA A過出綠鵜1 1能以洋PH極病澀20105-151246241 S2 22014-2014-(t16(t16124524124524酹3 3(H觀鎌嫦耶鮒悔2014-(6-151246242014-(6-151246241 S4 4勵20M6-1520M6-151245241245245 5幀

60、子201W6-1512O201W6-1512OXW:英頂保頂圖522提問管理頁面-33 -在線答疑系統單擊課程管理下的回復管理,可以查看回復詳悄或刪除回復,如提問管理類似。(3)用戶管理單擊用戶管理下的用戶列表,可以刪除用戶、取消老師或將學生設為老師,具 體如下圖523所示。miwmwm菇腳谿IJLI卿軀艇感4 4腳201415201415281TOON281TOONfiB-ff-fifiB-ff-fi:5渤2020側1 =s6 6用呵g悅呦31$2210:U:Z31$2210:U:Zin鵬7 7牌呵g悅如3)16-153)16-152020血&2222換8 83J1W6-153J1W6-15

溫馨提示

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

評論

0/150

提交評論