在線答疑系統(tǒng)_第1頁(yè)
在線答疑系統(tǒng)_第2頁(yè)
在線答疑系統(tǒng)_第3頁(yè)
在線答疑系統(tǒng)_第4頁(yè)
在線答疑系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

2、華大學(xué)出版社,2012.4(美)弗里曼.Head First設(shè)計(jì)模式(中文版).北京:中國(guó)電力岀版社.2013.5王珊,薩師熄數(shù)據(jù)庫(kù)系統(tǒng)概論(第4版).北京:高等教冇出版社,2012.6昊亞11他索依娜.30天學(xué)通Java Web項(xiàng)目案例開發(fā).北京:電子工業(yè)出版社,2009.7張海藩.軟件工程導(dǎo)論.北京:淸華大學(xué)出版社,200&8嚴(yán)蔚敏.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)M北京:淸華大學(xué)出版社,2009.9何有世,劉秋生.管理信息系統(tǒng)(第2版).南京:東南大學(xué)出版社,2013.10陳作聰,王永皎,程風(fēng)娟.Web程序設(shè)訃.北京:清華大學(xué)出版社,2012.4設(shè)計(jì)(論文)應(yīng)完成的主要內(nèi)容:本系統(tǒng)將利用網(wǎng)絡(luò)來(lái)開展答

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

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

5、申請(qǐng)?zhí)幚硐r;老師登錄 和注冊(cè)及修改資料,回答問(wèn)題和處理申請(qǐng),添加學(xué)生和刪除學(xué)生,查看老師的課程;管 理員的課程管理,提問(wèn)和回復(fù)管理,學(xué)生和教師用戶的管理,管理員用戶管理。關(guān)鍵詞:B/S; Java Web;在線答疑系統(tǒng)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湖南科技大學(xué)本科生畢業(yè)設(shè)汁(論文)目錄第一章前言.-1 -1.1課題研究背景及意義 .-1-1.1.1研究背景 .-1 -1.1.2研究意義 .-1-1.2國(guó)內(nèi)外現(xiàn)狀.-1 -第二章系統(tǒng)分析.-3-2.1可行性分析

11、.-3-2. 1. 1 技術(shù)可行性分析.-3-2.1.2經(jīng)濟(jì)可行性分析 .-3-2.1.3操作可行性分析 .-3-2.2需求分析.-4-2.2.1功能性需求分析 .-4-2.2.2非功能性需求分析 .-5-2. 2. 3 系統(tǒng)流程圖 .-5 -2.2.4 系統(tǒng)數(shù)據(jù)流圖.-7-第三章 系統(tǒng)總體設(shè)計(jì).-9-3. 1 項(xiàng)目規(guī)劃.-9-3.2系統(tǒng)總體結(jié)構(gòu) .-9-3.3系統(tǒng)功能模塊 .-10-3. 3. 1 學(xué)生模塊功能定義 .-10-3. 3.2 教師模塊功能定義 .-10-3. 3.3 管理員功能模塊定義.-11 -第四章數(shù)據(jù)庫(kù)設(shè)計(jì) .-13-4.1數(shù)據(jù)庫(kù)分析 .-13-4.2 項(xiàng)目 E-R 圖

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

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

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

15、1.1.2研究意義隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,教學(xué)管理網(wǎng)絡(luò)化已經(jīng)成為當(dāng)前教育的一個(gè)基本特征,網(wǎng) 絡(luò)教育作為一種新的教學(xué)方法,已經(jīng)走進(jìn)我們的生活,并且被我們所接受,這對(duì)傳統(tǒng)教 育來(lái)說(shuō),是一個(gè)很好的補(bǔ)充。隨著廣泛應(yīng)用的互聯(lián)網(wǎng)技術(shù)的發(fā)展,通過(guò)互聯(lián)網(wǎng)進(jìn)行各種 不同的教學(xué)活動(dòng)已經(jīng)成為現(xiàn)實(shí)。在線答疑系統(tǒng)利用校園網(wǎng)來(lái)開展答疑工作,主要體現(xiàn)在 學(xué)生和教師之間“問(wèn)”與“答”的雙向互動(dòng),學(xué)生依據(jù)自己的學(xué)習(xí)情況利用校園網(wǎng)向教 師提出種種疑問(wèn),教師通過(guò)校園網(wǎng)解答學(xué)生遇到的難題,系統(tǒng)在展現(xiàn)個(gè)性化學(xué)習(xí)的同時(shí), 也展現(xiàn)了個(gè)性化輔導(dǎo),學(xué)生和教師可以沖破存在于時(shí)間和空間上的限制性,通過(guò)連接上 校園網(wǎng)的計(jì)算機(jī)就能夠開展答疑工作。在大

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

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

18、,無(wú)法根據(jù)學(xué)生所提出的問(wèn)題對(duì)老師的教學(xué)提出建議。在國(guó)外,現(xiàn)在有相當(dāng)多的杰出并且智能化的專門的答疑系統(tǒng)。其從功能的角度看來(lái) 盡管相對(duì)簡(jiǎn)潔,然而它們?nèi)康墓δ芏际蔷o緊圉繞著答疑這個(gè)核心功能來(lái)展開設(shè)計(jì)的, 重心明確并且突出;在問(wèn)題的展現(xiàn)方面,系統(tǒng)將有關(guān)人物、地點(diǎn)和時(shí)間概念等多種類型 的問(wèn)題作為基本點(diǎn),為用戶提供正確性和簡(jiǎn)潔性都比較高的答案。-2-第二章系統(tǒng)分析2.1可行性分析可行性分析(Feasibility Analysis),即可行性研究,它是針對(duì)新系統(tǒng)的開發(fā)是不 是具備必可能性和必要性并基于對(duì)系統(tǒng)的調(diào)查,對(duì)新系統(tǒng)的開發(fā)從技術(shù)、社會(huì)和經(jīng)濟(jì)等 方面開展分析和研究工作,以避免投資失誤,從而保障新系統(tǒng)

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

20、e、 Web應(yīng)用服務(wù)器以及MySQL數(shù)據(jù)庫(kù)。這些軟件都已經(jīng)有了功能全面、穩(wěn)定的版本,故軟 件的開發(fā)平臺(tái)成熟可行,它們不僅可靠性高而且穩(wěn)定,因此完全可以滿足系統(tǒng)的需求。2.1.2經(jīng)濟(jì)可行性分析系統(tǒng)所需要的硬件環(huán)境,即訃算機(jī)及其相關(guān)的硬件,從市場(chǎng)上可以很容易地購(gòu)買到。 所需軟件環(huán)境(JDK+MyEc 1 ipse+Tomcat +MySQL)可以從網(wǎng)上免費(fèi)下載,從而降低了開發(fā)成 本。本系統(tǒng)主要的開發(fā)與維護(hù)成本也不會(huì)造成太大的經(jīng)濟(jì)壓力。此系統(tǒng)正式投入使用后, 學(xué)校的教學(xué)質(zhì)量能夠得到大幅度的提高,答疑工作也能更順利的開展,并且?guī)熒g的 在線互動(dòng)也可以更加方便地進(jìn)行。同時(shí)對(duì)于學(xué)校學(xué)生來(lái)說(shuō),有問(wèn)題可以立

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

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

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

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

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

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

27、疑信息學(xué)生個(gè)人 信息雲(yún)輸入輸出在線答疑 管理信息管理員提問(wèn)信息淸單冋貝信息清電煤程信息措年輸爺i iA出圖2. 3第一層數(shù)據(jù)流圖一管理員管理-7-巾請(qǐng)?zhí)幚砦幌⑶鍐挝业恼n程i i查看信息教師1f f學(xué)牛管理學(xué)生信息清單課丹和申悄處理仁息淸單輸輸1 1輸V VAA-f f入問(wèn)題信息淸單教師管理部分主要實(shí)現(xiàn)了學(xué)生管理、回答問(wèn)題、處理申請(qǐng)以及查看課程信息,其數(shù) 據(jù)流圖如圖24所示。輸i i輸入出問(wèn)題伯息淸單圖2. 4第一層數(shù)據(jù)流圖一教師管理學(xué)生管理部分主要實(shí)現(xiàn)了搜索課程和申請(qǐng)課程、提出問(wèn)題和參與討論、查看自己的課程和提問(wèn)以及產(chǎn)看申請(qǐng)?zhí)幚砬闆r,其數(shù)據(jù)流圖如圖2. 5所示。圖2. 5第一層數(shù)據(jù)流圖一學(xué)生管

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

29、展示模塊主要提供身份登錄驗(yàn)證,提出問(wèn)題與回復(fù)、參與討論,查看課程和提 問(wèn),申請(qǐng)課程和處理申請(qǐng)、修改資料以及添加/刪除學(xué)生等功能模塊。后臺(tái)管理模塊:該模塊主要進(jìn)行數(shù)據(jù)庫(kù)的管理和維護(hù),包含對(duì)學(xué)生和教師用戶的管 理、課程的管理、提問(wèn)和回復(fù)的管理、管理員用戶的管理等。3.2系統(tǒng)總體結(jié)構(gòu)系統(tǒng)總體結(jié)構(gòu)是系統(tǒng)總體設(shè)計(jì)的核心部分,通過(guò)系統(tǒng)結(jié)構(gòu)圖可以很清楚地看出整個(gè) 系統(tǒng)的結(jié)構(gòu)。根據(jù)各個(gè)結(jié)構(gòu)模塊分別進(jìn)行分析,從而為將來(lái)的設(shè)計(jì)和實(shí)現(xiàn)打下良好的基 礎(chǔ)。根據(jù)前面對(duì)系統(tǒng)所做出的分析,本系統(tǒng)總體上包括3類用戶,即學(xué)生用戶、老師用 戶和后臺(tái)管理員用戶。系統(tǒng)總體結(jié)構(gòu)如圖3.1所示。圖3. 1系統(tǒng)結(jié)構(gòu)圖-9-3-3系統(tǒng)功能模塊

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

31、息教師登錄用于教師登錄系統(tǒng)的身份驗(yàn)證修改資料用于教師修改個(gè)人資料回答問(wèn)題用于教師回答學(xué)生所提出的問(wèn)題申請(qǐng)?zhí)幚碛糜诮處熖幚韺W(xué)生的課程申請(qǐng)?zhí)砑訉W(xué)生用于教師為自己的課程添加學(xué)生刪除學(xué)生用于教師刪除自己課程下的學(xué)生查看課程用于教師査看自己的課程退岀教師退出系統(tǒng)登錄-10-3. 3.3管理員功能模塊定義表3. 3管理員模塊功能列表功能名稱定義管理員登錄用于管理員登錄系統(tǒng)的身份驗(yàn)證課程管理用于對(duì)課程信息進(jìn)行添加、修改和刪除提問(wèn)管理用于問(wèn)題信息的維護(hù),對(duì)過(guò)時(shí)答疑信息的刪除回復(fù)管理用于回復(fù)信息的維護(hù),對(duì)不良回復(fù)信息的刪除學(xué)生管理用于對(duì)學(xué)生用戶的信息進(jìn)行修改和刪除教師管理用于教師用戶信息的修改和刪除管理員管理用

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

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

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

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

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

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

38、tedatetimeN/A否提問(wèn)時(shí)間非空TReadCountintN/A否閱讀次數(shù)默認(rèn)值(4)回復(fù)信息表:該表主要包含所回復(fù)問(wèn)題ID、回復(fù)標(biāo)題、回復(fù)ID以及回復(fù)內(nèi)容 等信息,各字段的詳細(xì)信息如下表4. 4所示。表4. 4回復(fù)信息表DY.Revert字段名稱數(shù)據(jù)類型字段大小是否主/外鍵字段說(shuō)明備注RIDintN/A主鍵回復(fù)編號(hào)非空TIDintN/A外鍵所回復(fù)提問(wèn)ID無(wú)UIDintN/A外鍵回復(fù)人ID無(wú)RTitlevarchar200否回復(fù)標(biāo)題無(wú)RContenttextN/A否回復(fù)內(nèi)容非空RDatedatetimeN/A否回復(fù)時(shí)間非空(5)申請(qǐng)信息表:該表主要包含申請(qǐng)編號(hào)、申請(qǐng)人編號(hào)和所申請(qǐng)課程編

39、號(hào)等,表 中各字段的詳細(xì)信息如下表4. 5所示。表4. 5申請(qǐng)信息表DY.Apply字段名稱數(shù)據(jù)類型字段大小是否主/外鍵字段說(shuō)明備注AIDintN/A主鍵申請(qǐng)編號(hào)非空UIDintN/A外鍵申請(qǐng)人ID無(wú)TGIDintN/A外鍵所申請(qǐng)課程ID無(wú)AReasonvarchar200否申請(qǐng)理由非空AFlagintN/A否申請(qǐng)?zhí)幚順?biāo)志默認(rèn)值A(chǔ)Statuschar10否申請(qǐng)?zhí)幚頎顟B(tài)默認(rèn)值-17-(6)用戶-課程關(guān)系表:用于記錄存在于用戶和課程之間的關(guān)系,包含用戶編號(hào). 課程編號(hào)和關(guān)系編號(hào)等信息,表中各字段的詳細(xì)信息如下表4. 6所示。表4. 6用戶-課程關(guān)系表DY TU字段名稱數(shù)據(jù)類型字段大小是否主/外鍵字

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

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

42、6 6 卿-2014-(6-1512-2014-(6-1512 45244524D D0 0#251515#2515155.2系統(tǒng)分層的實(shí)現(xiàn)根據(jù)MVC設(shè)計(jì)思想,本系統(tǒng)以Struts2框架為控制器,用來(lái)管理各頁(yè)面?zhèn)鬟^(guò)來(lái)的請(qǐng) 求,從而發(fā)給相應(yīng)的action處理;各JSP頁(yè)面作為動(dòng)態(tài)頁(yè)面表示層來(lái)進(jìn)行顯示;DBUtil-19 -和各個(gè)Action等均作為Spring肖中的受管Beano圖5. 1系統(tǒng)主界面5.2.1表示層的設(shè)計(jì)JSP技術(shù)能夠?qū)⑵胀o態(tài)的HTML技術(shù)和動(dòng)態(tài)的HTML技術(shù)相結(jié)合起來(lái)進(jìn)行編碼。它 具有運(yùn)行效率高、跨平臺(tái)性等優(yōu)點(diǎn)。根據(jù)系統(tǒng)的分層情況,表示層選用的是JSP動(dòng)態(tài)頁(yè) 面技術(shù)。5.2.

43、2控制層的設(shè)計(jì)控制層的采用的是Struts2框架。因?yàn)槟軌蚴褂肧truts2的控件上傳文件,并且其 攔截器機(jī)制也能夠?qū)μ囟ㄐ畔⑦M(jìn)行攔截。該系統(tǒng)中Struts2的工作原理體現(xiàn)如下:當(dāng)用 戶從前臺(tái)JSP頁(yè)面選擇操作后,通過(guò)Struts2控制器轉(zhuǎn)發(fā)給相應(yīng)的action進(jìn)行處理, 各action通過(guò)Spring的依賴注入的DBUtil來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的各項(xiàng)操作,最后將得到 的數(shù)據(jù)傳到JSP頁(yè)面進(jìn)行顯示。本系統(tǒng)在項(xiàng)LI結(jié)構(gòu)中WEB-INF文件夾下的web. xml文件 中對(duì)Struts2進(jìn)行的配置如下:struts2org.apache.struts2.dispatcher.FilterDispatche

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

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

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

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

48、-21 -1)體實(shí)現(xiàn)類是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二”退出成功,現(xiàn)在將跳轉(zhuǎn)到主頁(yè);elseurl = HadminLogin.jspH;message二”退出成功,現(xiàn)在將要跳轉(zhuǎn)到登陸頁(yè)“; result = LOGIN;return result;(1)用戶注冊(cè)用戶通過(guò)系統(tǒng)首頁(yè)進(jìn)入注冊(cè)頁(yè)面,注冊(cè)頁(yè)面如下圖5. 2所示。圖5. 2用戶注冊(cè)頁(yè)面-22 -19錢在線答縣統(tǒng)因?yàn)樽?cè)的用戶有很多,本模塊使用了 Ajax技術(shù),在客戶端還未提交注冊(cè)表之前 可以對(duì)信息進(jìn)行驗(yàn)證,倘若注冊(cè)信息不符合要求則禁止提交,這樣不但使得網(wǎng)絡(luò)流量在很

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

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

52、和提問(wèn)等。-24 -o o髓噩附聯(lián)刼宇I(lǐng) I穌I I個(gè)人資M M審百朝在線答疑系統(tǒng)e*翻冊(cè)悔與申胡程在線答疑系統(tǒng)個(gè)人238238髯按問(wèn)單擊個(gè)人控制頁(yè)面左側(cè)的修改密碼,可以修改自己的登錄密碼,如下圖3.6所示。問(wèn)和回復(fù),具體如下圖58所示。-25 -Mr:刪 送岀圖5. 6修改密碼頁(yè)面單擊個(gè)人控制頁(yè)面左側(cè)的修改資料,可以修改用戶頭像和郵箱,如下圖3.7所示。修慟圖5. 7修改資料頁(yè)面單擊個(gè)人控制頁(yè)面左側(cè)的我的課程,可以查看自己的課程,以及相應(yīng)課程的所有提個(gè)人龍mA$w在線答疑系統(tǒng)她子:瑚7 7刖firns1II範(fàn)已側(cè)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勲負(fù)屬1 1貢送紗期心毎站彳 篦偵圖5.8我的課程頁(yè)面單擊個(gè)人控制頁(yè)面左側(cè)的我的提問(wèn),可以查看自己的提問(wèn)信息,如下圖5.9所示。水姑:謝V V fttfttms、翔胡個(gè)人詡Wfi申測(cè)帥餉|能辭齡矣艄髓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& &曲-夠?qū)??麗沁小丸子疑于?52512.452412.4524120120蝕子釧的閒M M矩2222A卿握觴昨界瞬巾好發(fā)超捌皿巧12452&12452&13111311 144)5-15144)5-15121:24121:24俎頁(yè)聞頂?shù)陧攬D5. 9我的提問(wèn)頁(yè)面-26 -在線答疑系統(tǒng)單擊個(gè)人控制頁(yè)面左側(cè)的我的參與,可以查看自己參與的問(wèn)題的詳細(xì)信息,我的參 與頁(yè)面與我的提問(wèn)頁(yè)

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

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

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論