2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  分類號: TP311.52 單位代碼: 106 </p><p>  密 級: 一般 學 號: </p><p>  本科畢業(yè)論文(設計)</p><p>  題 目: 基于SSH框架的論壇的設計與實現(xiàn)

2、</p><p>  專 業(yè): 計算機科學與技術 </p><p>  姓 名: </p><p>  指導教師: </p><p>  職 稱: 教 授 </p>

3、;<p>  答辯日期: 二〇一三年 月 日</p><p>  基于SSH框架的論壇的設計與實現(xiàn)</p><p>  摘 要:當今社會正處在網(wǎng)絡時代,信息化大潮席卷全球,網(wǎng)絡正以前所未有的速度在我國普及開來。論壇以其獨特的優(yōu)勢在信息化的過程中占有重要的一席。論壇的存在使得地球村的概念離我們越來越近,使得人與人之間的溝通、交流變得格外的容易。特別是在IT領域,只有有

4、了很好的交流,技術才會得到進步。因此,掌握如何設計并開發(fā)一個論壇也顯得格外的重要而且意義深遠。</p><p>  論壇采用B/S體系結構,其功能是讓用戶自由地發(fā)表自己的帖子和回復其他用戶的帖子。論壇包括用戶模塊、帖子模塊、后臺管理模塊。論壇在Struts+Hibernate+Spring框架的基礎上,用JSP語言進行開發(fā),使用的數(shù)據(jù)庫是MySQL,開發(fā)工具為MyEclipse10。本論壇界面簡潔,具有可擴展性和

5、可維護性。</p><p>  關鍵詞:BBS,S.S.H(Struts,Hibernate,Spring),JAVA,MySQL,JSP</p><p>  Design and implementation of BBS based on SSH framework</p><p>  Abstract:Society nowadays just be plac

6、ed in the network for ages, the information-based big tide rolls up the word, the network is making widely available to open in the our country with the unprecedented speed. Forum with its unique advantages in the proces

7、s of information occupies the important a seats. Forum makes the existence of the concept of global village closer and closer, making communication between people, communication becomes particularly easy. Especially in t

8、he IT field, only a ve</p><p>  This forum uses the B/S system structure, its function is to let users to freely express own posts and respond to other users posts. The forum includes user module, the posts

9、module, background management module. The forum is a based on Struts, Hibernate and Spring, develops with JSP, the use of the database is MySQL, development tools for MyEclipse10. This forum interface is simple and it ha

10、s scalability and maintainability.</p><p>  Keywords:BBS, SSH(Struts , Hibernate ,Spring) , JAVA , SQL ,JSP</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p&

11、gt;<p>  AbstractII</p><p>  第 1 章 緒論1</p><p><b>  1.1研究背景1</b></p><p><b>  1.2研究目的1</b></p><p><b>  1.3研究方法2</b></p&

12、gt;<p>  第 2 章 系統(tǒng)分析3</p><p><b>  2.1技術分析3</b></p><p>  2.1.1 開發(fā)語言綜述3</p><p>  2.1.2 S.S.H框架的優(yōu)點3</p><p>  2.1.3 系統(tǒng)層次設計5</p><p><b

13、>  2.2需求分析6</b></p><p>  2.2.1功能需求6</p><p>  2.2.2性能需求7</p><p>  2.2.3系統(tǒng)開發(fā)運行環(huán)境7</p><p>  第 3 章 系統(tǒng)設計8</p><p>  3.1 概要設計8</p><p>

14、  3.1.1功能模塊設計8</p><p>  3.1.2系統(tǒng)界面設計9</p><p>  3.2 數(shù)據(jù)庫設計10</p><p>  3.2.1概念模型設計(E-R圖)10</p><p>  3.2.2數(shù)據(jù)庫表及關系建立11</p><p>  3.2.3詳細數(shù)據(jù)庫結構設計11</p>

15、<p>  第 4 章 系統(tǒng)實現(xiàn)15</p><p>  4.1 系統(tǒng)框架實現(xiàn)15</p><p>  4.1.1底層數(shù)據(jù)庫的建立15</p><p>  4.1.2持久化層的建立(Hibernate)16</p><p>  4.1.3業(yè)務邏輯層的建立16</p><p>  4.1.4表示層的

16、建立16</p><p>  4.2 系統(tǒng)功能模塊實現(xiàn)17</p><p>  4.2.1用戶模塊實現(xiàn)17</p><p>  4.2.2帖子模塊實現(xiàn)21</p><p>  4.2.3后臺管理模塊實現(xiàn)23</p><p>  第 5 章 系統(tǒng)測試24</p><p>  5.1 測

17、試概述24</p><p>  5.1.1軟件測試的目的24</p><p>  5.1.2軟件測試的任務24</p><p>  5.1.3測試環(huán)境24</p><p>  5.2 單元測試25</p><p>  5.3 集成測試26</p><p>  5.4 功能測試26&

18、lt;/p><p>  第 6 章 總結28</p><p><b>  參考文獻29</b></p><p><b>  致 謝30</b></p><p><b>  第 1 章 緒論</b></p><p><b>  1.1研究背景

19、</b></p><p>  1978年在美國芝加哥開發(fā)出一套基于8080芯片的CBBS/Chicago (Computerized Bulletin Board System/Chicago),此乃最早的一套BBS系統(tǒng)。之后隨著蘋果機的問世,開發(fā)出基于蘋果機的Bulletin Board System和大眾信息系統(tǒng)Peoples Message System兩種BBS系統(tǒng)。1981年IBM個人計算機

20、誕生時,并沒有自己的BBS系統(tǒng)。直到1982年,Buss Lane 才用Basic語言為IBM個人計算機編寫了一個原型程序。其后經(jīng)過幾番增修,終于在1983年通過Capital PC User Group的Communication Special Interest Group會員的努力,改寫出了個人計算機系統(tǒng)的BBS。經(jīng)Thomas Mach整理后,終于完成了個人計算機的第1版BBS系統(tǒng)——RBBS-PC。這套BBS系統(tǒng)的最大特色是其

21、源程序全部公開,有利于日后的修改和維護,因此后來在開發(fā)其他的BBS系統(tǒng)時都以此為框架,所以RBBS-PC贏得了BBS鼻祖的美稱。</p><p>  大約是從1991年開始,國內(nèi)開始了第一個BBS論壇。經(jīng)過長時間的發(fā)展,直到1995年,隨著計算機及其外設的大幅降價,BBS論壇才逐漸被人們所認識。1996年更是以驚人的速度發(fā)展起來。國內(nèi)的BBS論壇,大多數(shù)還是大型綜合性BBS論壇。隨著計算機的普及,特別是寬帶的普及

22、,BBS的活動將會進一步高漲。但是,隨之而來對專注于領域方面的BBS將會慢慢增加需求。盡管BBS論壇的數(shù)量在不斷增長,但BBS的發(fā)展過程,也出現(xiàn)了一些問題。由于國內(nèi)使用的BBS架站軟件,都是從國外引進的,因此沒有必要的中文說明。雖然一些熱心的站長翻譯了一些資料,但是僅靠這些是遠遠不夠的。而國內(nèi)自己開發(fā)的BBS基本上都是處于最原始的JSP MODEL1模式,這種模式是控制層與表示層合二為一,雖然開發(fā)簡單,但是擁有很差的擴展性,可維護性,這

23、樣極大地限制了BBS站點的擴展。于是在這種情況下,本文提出了基于MVC模式的SSH框架的BBS論壇。本論壇的優(yōu)點在于它具有強大的可擴展性和可維護性,適合網(wǎng)民創(chuàng)建自己的中小型BBS論壇。</p><p><b>  1.2研究目的</b></p><p>  進入二十一世紀,計算機技術迅速向著網(wǎng)絡化、集成化方向發(fā)展。傳統(tǒng)的單機版應用軟件正在逐漸退出舞臺,取而代之的是支持

24、網(wǎng)絡、支持多種數(shù)據(jù)信息(多媒體)的新一代網(wǎng)絡版應用軟件,而目前網(wǎng)絡版軟件中似乎存在著兩種不同的趨勢,一種是稱為客戶端——服務器的C/S結構,這類軟件具有結構嚴謹,運行效率高,服務器端壓力小,安全性好等優(yōu)點,被廣泛運用于局域網(wǎng)中。而另一種,也是本畢業(yè)設計所采用的,是稱為瀏覽器——服務器的B/S結構,它的特點是在客戶端直接采用了功能強大的瀏覽器軟件作為界面,其優(yōu)點在于軟件開發(fā)效率高,客戶端不受操作平臺的限制、也不受地域的限制,網(wǎng)絡傳輸量少,

25、既適用于局域網(wǎng),又適用于Internet,而且投資小、見效快,用戶可以不必進行服務器方面的投資,而是去租用,甚至是免費使用ISP的服務器資源,因而受到越來越多中小型單位的青睞。</p><p>  隨著Internet技術的不斷發(fā)展,以及用戶群爆炸性地增長,網(wǎng)絡不再僅僅是信息的被動獲取來源,更成為人們探討問題、交換觀點的場所,其中,網(wǎng)上論壇扮演了極其重要的角色,隨著時間的推移,論壇站點中積存了豐富的信息資源,不但

26、有各類技術資料和新聞文檔,還包含著用戶的判斷和評論,論壇站點己成為Web信息庫的重要組成部分,自網(wǎng)上論壇誕生20多年以來,隨著Web技術的發(fā)展,己經(jīng)由原來簡單的電子公告板系統(tǒng)發(fā)展為功能豐富的網(wǎng)上論壇和虛擬社區(qū)模式。各種論壇隨著網(wǎng)絡迅速發(fā)展,幾乎充實著生活工作的每一個方面,無論是商界、政界,還是娛樂界,都有各種論壇?;ヂ?lián)網(wǎng)正在融入我們的生活,網(wǎng)絡提供給我們的不只是一個獲取信息的來源,而且還是一個可以相互交流的空間,網(wǎng)上論壇正是一種供人們進

27、行交流的網(wǎng)絡空間, 影響和改變著我們的生活。為了方便信息交流,在結合java和ssh技術之下開發(fā)了這個快捷、界面友好的交流系統(tǒng),實現(xiàn)了一個功能相對齊全的論壇系統(tǒng),網(wǎng)友可以自由地提出問題以及幫助他人解決問題,或者交流經(jīng)驗。</p><p><b>  1.3研究方法</b></p><p>  論壇在Struts+Spring+Hibernate 擴展Structs框架

28、的基礎上,用今天主流的網(wǎng)站開發(fā)技術jsp語言進行開發(fā)。論壇將采用B/S體系結構,人們通過瀏覽器就可以訪問網(wǎng)站的主頁。在這論壇可以自由地發(fā)表自己的觀點和對論壇主題發(fā)表意見,我們還可以對網(wǎng)友的問題進行及時的解決,獲取對自己有用的知識。本網(wǎng)站按照軟件項目開發(fā)的流程進行開發(fā),對于網(wǎng)站開發(fā)的可行性分析、需求分析、概要設計、詳細設計以及對網(wǎng)站的測試與維護都有詳細的論述和實現(xiàn)過程。</p><p>  第 2 章 系統(tǒng)分析&l

29、t;/p><p><b>  2.1技術分析</b></p><p>  2.1.1 開發(fā)語言綜述</p><p>  本系統(tǒng)是基于面向?qū)ο笏枷氲腏AVA語言中J2EE平臺進行編寫,J2EE平臺具有以下優(yōu)點。</p><p>  1.簡化結構:J2EE平臺支持簡化的、基于組件開發(fā)模型,遵循J2EE標準的所有服務器都支持該模型

30、。J2EE標準還允許客戶訂購與J2EE兼容的第三方的現(xiàn)成組件,把其部署到異構環(huán)境中,節(jié)省了由自己制訂整個方案所需的費用。</p><p>  2. 提高開發(fā)效率:由于組件技術的使用,可以按照開發(fā)人員的技能對應用程序開發(fā)進行分工,并行開發(fā),提供整體開發(fā)效率。例如:圖形設計師創(chuàng)建JSP模板,商業(yè)邏輯由該領域的專家完成,JSP頁面由Java工程師完成,應用程序的裝配和部署由團隊中其他的成員完成,其中許多工作可以同時進行

31、,有助于加速應用程序的開發(fā)。</p><p>  3.易于維護:基于組件的設計簡化了應用程序的維護。由于組件可以被獨立地更新和替代,通過更新應用程序中特定的組件,新的功能可以被很容易地增加。</p><p>  4.可伸縮性:基于J2EE平臺的應用程序可被部署到各種操作系統(tǒng)上,例如,可被部署到高端UNIX或其他的大型機系統(tǒng)上。J2EE領域的供應商提供了更為廣泛的負載平衡策略,能消除系統(tǒng)中的

32、瓶頸,允許多臺服務器集成部署,實現(xiàn)可高度伸縮的系統(tǒng),滿足未來商業(yè)應用的需要。</p><p>  2.1.2 S.S.H框架的優(yōu)點</p><p>  S.S.H框架是J2EE應用中Struts+Spring+Hibernate三大免費開源框架的結合使用, 它可以看成工具,也是中間件。它是用來提高我們的開發(fā)效率,提高我們軟件產(chǎn)品的可維護性、可擴展性乃至敏捷性的。它有很多優(yōu)秀的設計理念及模式

33、應用。比如,Struts屬于MVC框架,關鍵是要了解MVC的概念及大致原理;Hibernate屬于ORM系統(tǒng),屬于持久層的解決方案,同樣需要對ORM的概念及原理有一個總體的了解;Spring屬于應用程序框架,其核心是IOC容器以及AOP,Spring中還集成了很多適用東西,比如對JDBC的封裝、自己的MVC、對動態(tài)語言的簡潔訪問等。</p><p>  S.S.H由以下3個框架構成:</p><

34、;p>  1.Struts框架</p><p>  Struts 是Apache軟件基金會(ASF)贊助的一個開源項目。它通過采用Servlet/JSP技術,實現(xiàn)了基于Java EE Web應用的MVC設計模式的應用框架,是MVC經(jīng)典設計模式中的一個經(jīng)典產(chǎn)品。其基本構成如圖2.1所示。</p><p>  圖2.1 Struts框架工作流程</p><p> 

35、 2.Spring框架</p><p>  Spring是一個開源框架,Spring 是于2003 年興起的一個輕量級的Java 開發(fā)框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而

36、,Spring的用途不僅限于服務器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。Spring框架由以下7個部分組成。</p><p>  圖2.2 Spring框架構成</p><p>  3.Hibernate框架</p><p>  Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的

37、對象封裝,使得Java程序員可以隨心所欲地使用面向?qū)ο缶幊趟枷雭聿倏v數(shù)據(jù)庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p>  圖2.3 Hibernate框架</p><p>  

38、2.1.3 系統(tǒng)層次設計</p><p>  系統(tǒng)根據(jù)S.S.H框架的特點,決定使用四層結構,這樣做的優(yōu)點是</p><p>  1、可以分層開發(fā),訪問數(shù)據(jù)庫與業(yè)務邏輯實現(xiàn)能夠分開。</p><p><b>  2、提高代碼的復用</b></p><p>  圖2.4 BBS系統(tǒng)的分層結構</p><

39、p><b>  2.2需求分析</b></p><p><b>  2.2.1功能需求</b></p><p>  對于訪問論壇的用戶,可分為注冊會員和普通用戶,這兩種用戶有著不同的權限,比如普通用戶只能發(fā)普通帖,回帖,而注冊會員除此之外,還可以發(fā)含有圖片,附件的帖,并且可以對自己的注冊資料進行修改等等。</p><p&

40、gt;  以下為用戶角色劃分:</p><p>  普通用戶(游客):普通用戶以游客身份登錄本系統(tǒng),只具有發(fā)普通帖,回帖的功能。</p><p>  注冊用戶:具備普通用戶所有的能力。并且注冊用戶可以發(fā)含有圖片、附件的帖,可以登錄,修改個人信息。</p><p>  管理員:登錄以后可以對論壇系統(tǒng)進行管理,包括用戶管理、帖子管理、論壇信息管理。</p>

41、<p>  本系統(tǒng)是一套網(wǎng)上交流的BBS軟件,根據(jù)用戶的需要和實際的管理條件,應由用戶功能模塊,帖子功能模塊和后臺管理模塊等幾個模塊所構成,用戶可以對一些數(shù)據(jù)進行查找和修改,并且注冊的用戶可以對帖子進行特定的操作,而管理員可以對用戶和帖子進行相關的管理。</p><p>  鑒于本系統(tǒng)的性質(zhì),系統(tǒng)應該實現(xiàn)以下功能。</p><p><b>  用戶功能模塊</b

42、></p><p>  用戶的登錄:用戶輸入登錄信息,如用戶名、密碼,以注冊會員的身份進入論壇;</p><p>  用戶的注冊:主要是指除管理員以外的用戶角色(一般為游客),在網(wǎng)上在線填寫一些會員的注冊信息。注冊后即可成為論壇的注冊會員;</p><p>  用戶資料的修改:注冊會員登錄成功后,可以修改自己的注冊信息,如密碼或者其它的內(nèi)容等。</p&g

43、t;<p><b>  帖子功能模塊</b></p><p>  帖子的發(fā)表:游客或者登陸成功的注冊用戶可以選擇自己感興趣的版塊,發(fā)表自己的帖子;</p><p>  帖子的回復:游客或者登陸成功的注冊用戶可以查看感興趣的帖子并且進行回復。</p><p><b>  后臺管理模塊</b></p>

44、<p>  用戶的管理:管理員登錄成功后,可以查看論壇的所有注冊用戶的信息并且進行必要的修改;</p><p>  帖子的管理:管理員登錄成功后,可以查看論壇的所有版塊的所有帖子并且進行必要的管理,如刪除帖子、帖子加精、帖子置頂;</p><p>  論壇信息的管理:管理員登錄成功后,可以查看論壇所有信息,并且可對論壇基本信息,如公告,版塊等進行管理。</p>

45、<p><b>  2.2.2性能需求</b></p><p>  響應時間:50個用戶同時在線時響應時間不超過3秒。</p><p>  易用性:符合一般人的操作習慣,出現(xiàn)問題時,能夠提示。</p><p>  可修改性:能夠根據(jù)需求,增加或減少模塊。</p><p>  2.2.3系統(tǒng)開發(fā)運行環(huán)境</

46、p><p>  開發(fā)環(huán)境: Windows 7 Tomcat7.0 JDK1.6</p><p>  硬件實現(xiàn): CoreP7350@2.0GHz 4G內(nèi)存 80G硬盤</p><p>  開發(fā)語言: Java</p><p>  數(shù) 據(jù) 庫: MySQL5.5</p><p>  開發(fā)工具: MyEclips

47、e10 </p><p>  預期成果: 一個可擴展的基于MVC模式的 BBS論壇</p><p>  第 3 章 系統(tǒng)設計</p><p><b>  3.1 概要設計</b></p><p>  根據(jù)需求分析的結果,對系統(tǒng)進行詳細的概要設計。</p><p>  3.1.1功能模塊設計<

48、/p><p>  繪制出的用例圖,將本系統(tǒng)分為三個大的模塊,它們分別是會員資料模塊,帖子資料模塊和后臺管理模塊。本系統(tǒng)的功能層次圖如圖3.1所示。</p><p>  圖3.1系統(tǒng)功能層次圖</p><p>  如圖3.1,BBS系統(tǒng)實現(xiàn)了如下的功能。</p><p>  用戶模塊:此模塊用來實現(xiàn)用戶的登陸注冊和會員資料的修改。</p>

49、;<p>  用戶登陸模塊:用戶可以通過此模塊對論壇進行登陸,登陸后便可以使用所有的會員功能,比如上傳圖片和附件等等。</p><p>  用戶注冊模塊:沒有帳號的用戶,可以通過此模塊添加用戶信息,添加成功后便可登陸論壇,使用會員功能。</p><p>  資料修改模塊:已注冊的用戶在登陸后,可以通過此模塊,對會員的基本資料,聯(lián)系方式,密碼,頭像等資料進行修改?!?lt;/p

50、><p><b>  帖子模塊:</b></p><p>  發(fā)表帖子模塊:用戶可以在相應的版區(qū)中,發(fā)表自己的主題,發(fā)表成功后,其他用戶便可以在相應的版區(qū)中看到這篇帖子,并可以對其進行回復等操作。</p><p>  回復帖子模塊:用戶在發(fā)表完主題后,用戶便可查看相關內(nèi)容,并可以對已發(fā)表的帖子進行回復。</p><p>&l

51、t;b>  后臺管理:</b></p><p>  帖子管理模塊:帖子管理模塊是管理員對帖子管理的平臺,如果管理員查看到帖子有不適宜發(fā)表的內(nèi)容時,可以對帖子選擇刪除或者鎖定等操作,如果看到優(yōu)秀的帖子,還可以將帖子進行置頂,加精。</p><p>  圖3.2帖子管理模塊功能層次圖</p><p>  用戶管理模塊:管理員可以通過此模塊,對用戶進行管

52、理,對一些不法的用戶可以修改或者刪除資料。</p><p>  論壇管理模塊:管理員對論壇的添加,創(chuàng)建,刪除等功能都是在此模塊里進行處理。</p><p>  3.1.2系統(tǒng)界面設計</p><p>  對于系統(tǒng)來說,用戶界面設計將非常重要,因為一個交互良好的界面能夠加深瀏覽者的印象。設計的實現(xiàn)可以分為兩個部分。第一部分為站點的規(guī)劃及草圖的繪制,這一部分可以在紙上完

53、成。第二部分為網(wǎng)頁的制作,這一過程是在計算機上完成的。</p><p>  設計首頁的第一步是設計版面布局。我們可以將網(wǎng)頁看作傳統(tǒng)的報刊雜志來編輯,這里面有文字、圖像乃至動畫,我們要做的工作就是以最適合的方式將圖片和文字排放在頁面的不同位置。 除了要有一臺配置不錯的計算機外,軟件也是必需的。不能簡單地說一個軟件的好壞,只要是設計者使用起來覺得方便而且能得心應手的,就可以稱為好軟件。當然,它應該能滿足設計者的要求。

54、常用的軟件是Macromedia的Dreamweaver以及Adobe的Photoshop。</p><p>  設計是有原則的,無論使用何種手法對畫面中的元素進行組合,都一定要遵循五個大的原則:統(tǒng)一、連貫、分割、對比及和諧。</p><p>  統(tǒng)一是指設計作品的整體性,一致性。設計作品的整體效果是至關重要的,在設計中切勿將各組成部分孤立分散,那樣會使畫面呈現(xiàn)出一種枝蔓紛雜的凌亂效果。&

55、lt;/p><p>  連貫是指要注意頁面的相互關系。設計中應利用各組成部分在內(nèi)容上的內(nèi)在聯(lián)系和表現(xiàn)形式上的相互呼應,并注意整個頁面設計風格的一致性,實現(xiàn)視覺上和心理上的連貫,使整個頁面設計的各個部分極為融洽,猶如一氣呵成。</p><p>  分割是指將頁面分成若干小塊,小塊之間有視覺上的不同,這樣可以使觀者一目了然。在信息量很多時為使觀者能夠看清楚,就要注意到將畫面進行有效的分割。分割不僅

56、是表現(xiàn)形式的需要。換個角度來講,分割也可以被視為對于頁面內(nèi)容的一種分類歸納。</p><p>  對比是指通過矛盾和沖突,使設計更加富有生氣。對比手法很多,例如:多與少、曲與直、強與弱、長與短、粗與細、疏與密、虛與實、主與次、黑與白、動與靜、美與丑、聚與散等等。在使用對比的時候應慎重,對比過強容易破壞美感,影響統(tǒng)一。</p><p>  和諧是指整個頁面符合美的法則,渾然一體。如果一件設計

57、作品僅僅是色彩、形狀、線條等的隨意混合,那么作品將不但沒有“生命感”,而且也根本無法實現(xiàn)視覺設計的傳達功能。和諧不僅要看結構形式,而且要看作品所形成的視覺效果能否與人的視覺感受形成一種溝通,產(chǎn)生心靈的共鳴。這是設計能否成功的關鍵。</p><p><b>  3.2 數(shù)據(jù)庫設計</b></p><p>  數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,構造最優(yōu)的數(shù)據(jù)庫模式,建

58、立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應用需求(信息要求和處理要求)。</p><p><b>  數(shù)據(jù)庫和設計概述</b></p><p>  數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎,把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來,提供存儲、維護、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時、準確地從數(shù)據(jù)庫中獲得所需的信息。</p><p&g

59、t;  數(shù)據(jù)庫是信息系統(tǒng)的各個部分能否緊密地結合在一起以及如何結合的關鍵所在。</p><p>  數(shù)據(jù)庫設計是信息系統(tǒng)開發(fā)和建設的重要組成部分。</p><p>  3.2.1概念模型設計(E-R圖)</p><p>  數(shù)據(jù)模型是是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表與操作提供一個抽象的框架。描述了數(shù)據(jù)結構、

60、數(shù)據(jù)操作及數(shù)據(jù)約束。 </p><p>  E-R圖概念化地構建實體間關系的模型,這使得它們區(qū)別于數(shù)據(jù)庫模型圖。E-R圖的理念是:項目所有參與者能理解E-R圖。E-R圖由不同實體類型、關系、特性和類型構成。實體是諸如用戶的實際對象,有時更抽象,但必須有業(yè)務意義。特性用于描述實體,關系用于實體之間。</p><p>  實體:現(xiàn)實世界中的事物;</p><p><

61、;b>  屬性:事物的特性;</b></p><p>  聯(lián)系:現(xiàn)實世界中事物間的關系。實體集的關系有一對一、一對多、多對多的聯(lián)系。</p><p><b>  本系統(tǒng)的ER圖。</b></p><p>  圖3.4 系統(tǒng)E-R圖</p><p>  3.2.2數(shù)據(jù)庫表及關系建立</p>

62、<p>  根據(jù)以上這些步驟就可以創(chuàng)建一個數(shù)據(jù)庫,依次建立下列表結構。</p><p><b>  用戶基本信息表</b></p><p><b>  用戶詳細信息表</b></p><p><b>  論壇帖子表</b></p><p><b>  論壇回

63、復表</b></p><p><b>  論壇版區(qū)表</b></p><p>  表與表之間的關系如下:</p><p>  用戶基本信息表和用戶詳細信息表是一對一的關系,一個用戶對應一個詳細信息表。</p><p>  用戶基本信息表和論壇帖子表是一對多的關系,一個用戶可以發(fā)表多篇帖子。</p>

64、<p>  用戶基本信息表和論壇回復表是一對多的關系,一個用戶可以回復多篇帖子。</p><p>  論壇回復表和論壇帖子表是一對多的關系,一篇帖子后面可以跟多篇回復。</p><p>  論壇版區(qū)表和論壇帖子表是一對多的關系,在一個版區(qū)中可以含有多篇帖子。</p><p>  3.2.3詳細數(shù)據(jù)庫結構設計</p><p>&l

65、t;b>  1、用戶基本信息表</b></p><p>  用戶基本信息表中存放的是用戶登陸時所需要或者記錄用戶的基本信息,包含比如登陸名、密碼、最后登陸時間等。用戶基本信息表的建立主要是記錄用戶最常用的一些信息?!   ?lt;/p><p>  表3.1用戶基本信息表</p><p><b>  2、用戶詳細信息表</b><

66、;/p><p>  用戶詳細信息表中存放的是用戶的身高,體重,聯(lián)系方式等詳細資料,建立此表的目的是把一些用戶不經(jīng)常用到的詳細信息,單獨存放到一張表中,可以節(jié)約系統(tǒng)的資源。</p><p>  表3.2 用戶詳細信息表</p><p><b>  3、論壇帖子表</b></p><p>  論壇帖子表存放的是用戶所發(fā)表的主題帖

67、信息。</p><p>  表3.3 論壇帖子表</p><p><b>  4、論壇回復表</b></p><p>  論壇回復表存放的是用戶回復主題的回復信息。</p><p>  表3.4 論壇回復表</p><p><b>  5、論壇版區(qū)表</b></p>

68、;<p>  論壇版區(qū)表是存放的是論壇中版塊信息。</p><p>  表3.5 論壇版區(qū)表</p><p>  第 4 章 系統(tǒng)實現(xiàn)</p><p>  4.1 系統(tǒng)框架實現(xiàn)</p><p>  在系統(tǒng)的整體設計中,我們采取了三層結構。這樣結構的優(yōu)點是靈活,移植和可維護性比較高。每個層在處理程序上都應該有一項明確的責任,而不應

69、該在功能上與其它層混合,并且每個層要與其它層分開的。</p><p>  圖4.1 S.S.H框架的結合使用</p><p>  4.1.1底層數(shù)據(jù)庫的建立</p><p>  在前期的數(shù)據(jù)庫選用中,本系統(tǒng)選取了適合中小型網(wǎng)站的MySQL數(shù)據(jù)庫,而在數(shù)據(jù)庫的設計中,本文已經(jīng)確立了表結構。根據(jù)這些就可以創(chuàng)建一個數(shù)據(jù)庫,在數(shù)據(jù)庫創(chuàng)建并連接好后,就可以創(chuàng)建表、修改表和刪除

70、表,創(chuàng)建、修改、和刪除主鍵、外鍵等等。選中“spring”數(shù)據(jù)庫,“use spring;”并使用“create table <表名>”sql語句,依次創(chuàng)建以下表結構。</p><p><b>  表4.1表結構</b></p><p>  4.1.2持久化層的建立(Hibernate)</p><p>  本論壇利用了DAO設計模

71、式結合Hibernate框架來創(chuàng)建數(shù)據(jù)持久化層。DAO(Data Access Object)模式稱為數(shù)據(jù)訪問對象模式,其本質(zhì)是向外部提供一個訪問數(shù)據(jù)源的統(tǒng)一接口,對外隱藏操作數(shù)據(jù)源的實現(xiàn)細節(jié),而DAO的實現(xiàn)使用的是Hibernate。首先,在spring的配置文件bean.xml中配置dataSource、sessionFactory、transactionManager,然后編寫entity層中的實體類。在實體類中,需要加上無參的空

72、實現(xiàn)的構造器,還有getter和setter方法。Hibernate通過注解來映射(OR)對象。注解比以往使用xml文檔實現(xiàn)的映射文件更加便捷,只需在實體類中標記“@entity”、“@Id”等,便可聲明Hibernate中持久化類的屬性與數(shù)據(jù)庫對應表之間字段的映射關系。接著是DAO接口的定義。DAO接口中定義了特定持久化類所對應的抽象業(yè)務邏輯方法。最后是DAO接口的實現(xiàn)類。該類利用HibernateAPI實現(xiàn)DAO接口所定義的抽象方法

73、。這樣的設計的有利于當改用其他的持久化機制或持久化中間件時(例如,出現(xiàn)了更好地ORM框架),由于</p><p>  4.1.3業(yè)務邏輯層的建立</p><p>  本系統(tǒng)的業(yè)務邏輯是交由Struts中的Action進行判斷的,比如判斷登陸的業(yè)務邏輯時,會建立一個LoginAction類來進行邏輯判斷,而一些關聯(lián)的映射,本系統(tǒng)是寫在Struts的struts.xml中。</p>

74、<p>  從編碼的視角來看,這層是最容易被忽視的一層。 我們往往在持久層周圍看到這些業(yè)務處理的代碼,這其實是不正確的,因為它導致了程序代碼的緊密偶合,這樣一來,隨著時間推移這些代碼很難維護。針對這一問題,本系統(tǒng)可以使用Spring框架來解決,利用Spring框架中的“依賴注射”(“控制反轉”)把程序中所涉及到包含業(yè)務邏輯和Dao的Objects,例如transaction management handler(事物管理控

75、制)、Object Factoris(對象工廠)、service objects(服務組件)都放在Spring的容器中,通過Spring來管理。這種方式讓你的對象從創(chuàng)建中釋放了出來,降低了偶合度。</p><p>  4.1.4表示層的建立</p><p>  在表示層上,主要是基于JSP和AJAX異步傳輸技術來進行建立,最后通過Struts框架的struts.xml文件進行關聯(lián)映射.具體

76、的頁面設計,會在后面的章節(jié)中進行介紹。</p><p>  4.2 系統(tǒng)功能模塊實現(xiàn)</p><p>  4.2.1用戶模塊實現(xiàn)</p><p>  在用戶模塊的設計中,首先完成的是業(yè)務邏輯層的相應action類的編寫,之后在通過具體的需要,編寫相應的數(shù)據(jù)庫訪問DAO。在一切結束之后,從DAO和業(yè)務邏輯類中抽象出接口,通過Spring的IOC對接口進行對象注入。&l

77、t;/p><p>  在模塊的設計過程中,遇到的難點是在注冊時使用的AJAX異步傳輸,來判斷用戶名是否可以被注冊。AJAX技術是一個基于Javascript腳本語言的技術,目前對這種技術的使用還不是很多,但通過反復的調(diào)試,逐漸的掌握了AJAX的要點。</p><p><b>  其主要代碼如下:</b></p><p>  圖4.2 AJAX技術

78、在本系統(tǒng)中的應用</p><p>  當用戶登錄時,會有“自動登錄”的選項,其實現(xiàn)是在登錄時,檢測是否勾選“自動登錄”,若勾選了,會往瀏覽器發(fā)送cookie,以保留登錄信息,下次訪問時就不用再輸入用戶名和密碼就可以自動登錄了。</p><p>  發(fā)送cookie代碼如下:</p><p>  接收cookie代碼(攔截器)如下:</p><p&

79、gt;  圖4.3 cookie的應用</p><p>  當用戶登錄成功后,用戶可以選擇進入到個人中心,來管理個人信息。個人中心分為用戶的操作框和具體信息顯示框兩部分。用戶可以選擇修改簽名、編輯頭像、更改個人信息等操作。</p><p><b>  圖4.4個人中心</b></p><p>  4.2.2帖子模塊實現(xiàn)</p>&

80、lt;p>  帖子模塊的完成流程和用戶模塊類似,都是先根據(jù)JSP網(wǎng)頁,建立相應的Action邏輯判斷類,之后建立和帖子有關的數(shù)據(jù)庫訪問DAO,最后抽象出接口進行依賴注入。編寫帖子模塊首先遇到的難點是分頁功能的實現(xiàn),當打開某個論壇時,如果論壇中的帖子數(shù)量不能在一頁中顯示出來,那么怎樣進行處理。在一些參考學習后,本系統(tǒng)最后編寫了一個分頁類,來解決這個難題。Pages.java、PageList.java位于com.oyj.forum.

81、service.web包下,其中的屬性有:</p><p>  表4.2 Pages類的屬性</p><p>  表4.3 PageList類的屬性</p><p><b>  圖4.5分頁的實現(xiàn)</b></p><p>  當用戶進入某版塊時,就會顯示出分頁信息,并且把相關的帖子發(fā)列表送給用戶。當我們每次查看某個帖子

82、,或回復某個帖子時,回復數(shù)量、點擊數(shù)量都會進行自增。進入帖子后,系統(tǒng)會根據(jù)文章發(fā)表時間的順序,將帖子和相關的回復顯示出來。</p><p><b>  圖4.6查看帖子</b></p><p>  4.2.3后臺管理模塊實現(xiàn)</p><p>  后臺管理模塊是管理員對論壇進行管理的平臺。管理員可以在此模塊中主要完成對帖子和用戶的管理,管理員可以

83、通過用戶的ID和用戶名對其進行搜索,從而實現(xiàn)管理。</p><p>  圖4.7 管理員對用戶進行管理</p><p>  此外管理員還可以進行添加,修改論壇信息。</p><p>  圖4.8管理員對版區(qū)進行管理</p><p>  第 5 章 系統(tǒng)測試</p><p><b>  5.1 測試概述<

84、/b></p><p>  5.1.1軟件測試的目的</p><p>  軟件測試是軟件開發(fā)過程中的一個重要組成部分,其目的就是對軟件產(chǎn)品(包括階段性成果)進行驗證和確認的活動過程,盡快盡早地發(fā)現(xiàn)在軟件產(chǎn)品中所存在的各種問題。</p><p>  軟件測試是由“驗證(verification)”和“有效性確認(validation)”活動構成的整體:</

85、p><p>  “驗證”是檢驗軟件是否已正確地實現(xiàn)了產(chǎn)品規(guī)格書所定義的系統(tǒng)功能和特性。驗證過程提供證據(jù)表明軟件相關產(chǎn)品與所有生命周期活動的要求(如正確性、完整性、一致性、準確性等)相一致。相當于以軟件產(chǎn)品設計規(guī)格說明書為標準進行軟件測試的活動。</p><p>  “有效性確認”是確認所開發(fā)的軟件是否滿足用戶真正需求的活動。一切從客戶出發(fā),理解客戶的需求,對軟件需求定義、設計的懷疑,發(fā)現(xiàn)需求定

86、義和產(chǎn)品設計中的問題。這主要通過各種軟件評審活動來實現(xiàn),包括讓客戶參加評審、測試活動。</p><p>  5.1.2軟件測試的任務</p><p><b>  尋找Bug;</b></p><p>  避免軟件開發(fā)過程中的缺陷;</p><p><b>  衡量軟件的品質(zhì);</b></p&g

87、t;<p><b>  關注用戶的需求。</b></p><p>  總的目標是:確保軟件的質(zhì)量。</p><p><b>  5.1.3測試環(huán)境</b></p><p>  測試環(huán)境是在windows版本的Tomcat7.0下進行的。</p><p><b>  5.2 單

88、元測試</b></p><p>  單元測試是在編碼階段,針對每個程序單元而進行的測試,其測試的對象是程序系統(tǒng)中的最小單元——類、函數(shù)、模塊或組件等。單元測試主要使用白盒測試方法,從程序的內(nèi)部結構出發(fā)設計測試用例,檢查程序模塊或組件已實現(xiàn)的功能與定義的功能是否一致,以及編碼中是否存在錯誤。白盒測試使用了junit工具,結合Spring的事務管理,可以在不對數(shù)據(jù)庫產(chǎn)生任何影響下,安全地進行白盒測試,并且

89、測試時可以使用Spring的容器,省去了創(chuàng)建對象的操作。</p><p>  以下為UserInfoDAOimpl.java的部分測試代碼。</p><p>  以下為BoardDAOimplTest.java的部分測試代碼。</p><p><b>  5.3 集成測試</b></p><p>  集成測試,也稱組裝測

90、試、聯(lián)合測試、子系統(tǒng)測試,在單元測試的基礎上,按照設計要求不斷進行集成而進行的相應測試,目的是發(fā)現(xiàn)單元之間的接口問題,如接口參數(shù)類型不匹配、接口數(shù)據(jù)在傳輸中丟失、數(shù)據(jù)誤差不斷積累等問題。</p><p>  選擇什么樣的方式把單元組裝起來形成一個可運行的系統(tǒng),直接影響到測試成本,測試計劃、測試用例的設計、測試工具的選擇等。本論壇采用漸增式集成。首先對某兩、三個單元進行測試,然后將這些單元逐步組裝成較大的系統(tǒng)。在組

91、裝的過程中,一邊連接一邊測試,以發(fā)現(xiàn)連接過程中產(chǎn)生的問題,最后完成所有單元的集成,構造為一個完整的論壇。</p><p><b>  5.4 功能測試</b></p><p>  功能測試應該在集成測試完成之后進行,而且是針對應用系統(tǒng)進行測試。功能測試是基于產(chǎn)品功能說明書、用戶角度來對各項功能進行驗證,以確認每個功能是否都能正常使用。在測試時,不考慮程序內(nèi)部結構和實現(xiàn)

92、方式,只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。功能測試包括用戶界面、各種操作、不同的數(shù)據(jù)輸入輸出和存儲等的測試。</p><p>  表5.1登陸測試用例</p><p>  表5.2發(fā)貼測試用例</p><p><b>  第 6 章 總結</

93、b></p><p>  經(jīng)過努力,已經(jīng)基本完成了BBS系統(tǒng)的開發(fā)和設計。完成了用戶模塊、帖子模塊和后臺管理模塊的開發(fā),并基本實現(xiàn)了前期所制定的功能。</p><p>  BBS系統(tǒng)在不斷的設計更改過程中,逐漸的成熟。在編碼階段,參考了一些設計模式,在業(yè)務邏輯代碼和數(shù)據(jù)庫連接DAO中抽象出了若干接口,并對其進行了對象的依賴注入,大大的減少了模塊之間的耦合,使系統(tǒng)具有很高的靈活性和可維

94、護性,這是BBS系統(tǒng)最大的優(yōu)點。</p><p>  系統(tǒng)的另一個優(yōu)點就是JQuery和AJAX異步傳輸技術的結合使用,既減輕了服務器的負擔,也加快了用戶的訪問效率。</p><p>  當然BBS系統(tǒng)也存在很多不足的地方,比如用戶的權限判斷過于簡單,安全性低,希望在今后的學習中,逐步的進行改進。</p><p>  通過這次的設計,加深了對S.S.H框架,以及AJ

95、AX的一些理解。對于軟件工程方面的設計思想也有了更深一步的理解,只有在不斷的實踐于學習中,才會得到最豐厚的回報。</p><p><b>  參考文獻</b></p><p>  [1]馬賽斯扎克.實用軟件工程[M].北京:機械工業(yè)出版社,2007,391-420.</p><p>  [2]劉易斯.數(shù)據(jù)庫與事務處理[M].北京:機械工業(yè)出版社

96、,2005,10-35.</p><p>  [3]Dave Crane.Ajax in Action[M].北京:人民郵電出版社,2006,289-338.</p><p>  [4]孫衛(wèi)琴.精通struts[M].北京:電子工業(yè)出版社,2004,50-70.</p><p>  [5]孫衛(wèi)琴.精通hibernate[M].北京:電子工業(yè)出版社,2005,100-

97、120.</p><p>  [6]林信良.spring2.0技術手冊[M].北京:電子工業(yè)出版社,2006,50-100.</p><p>  [7]佚名.MySQL數(shù)據(jù)庫下的JSP分頁查詢模塊源碼[EB/OL].http://developer.51cto.com/art/200907/132916.htm.</p><p>  [8](美)MartyHall.

98、Servlet與JSP核心編程[M].北京:清華大學出版社,2009,54-56.</p><p>  [9]馮燕奎,趙德奎.JSP實用案例教程[M].北京:清華大學出版社,2004,70-100.</p><p>  [10](美)Jim Arlow.UML2.0 and the Unified Process[M].北京:機械工業(yè)出版社,2006,30-40.</p>&

99、lt;p>  [11]徐建波,周新蓮.Web設計原理于編程技術[M].北京:中南大學出版社,2005,185-193.</p><p>  [12]孫鑫編.Java Web開發(fā)詳解[M].北京:電子工業(yè)出版社,2006,189-274.</p><p>  [13]林上杰,林康司.JSP2.0技術手冊[M].北京:電子工業(yè)出版社,2004,3-6.</p><p&

100、gt;  [14]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論(第三版)[M].北京:高等教育出版社,1998.</p><p>  [15]蔡劍,景楠.Java Web應用開發(fā):J2EE和Tomcat[M].北京:清華大學出版社,2004.</p><p>  [16]朱少民.軟件測試方法和技術[M].北京:清華大學出版社,2010.</p><p><b>  致

101、謝</b></p><p>  歷時將近三個月的時間終于將畢業(yè)設計和論文完成,在畢業(yè)設計的完成過程中遇到很多的困難,都在同學和老師的幫助下克服了。尤其要感謝我的指導老師,XXX老師,他對我進行了無私的指導和幫助,悉心地幫助我進行論文的修改。</p><p>  感謝這篇論文所涉及到的各位學者。本文引用了數(shù)位學者的研究文獻,如果沒有各位學者的研究成果的幫助和啟發(fā),我將很難完成本篇

102、論文的寫作。</p><p>  感謝我的同學和朋友,在我開發(fā)論壇和寫論文的過程中給予我很多的啟發(fā)和指導,還在論文的撰寫和排版過程中提供熱情的幫助。</p><p>  由于我的學術水平有限,所寫論文難免有不足之處,懇請各位老師和學友批評和指正!在完成畢業(yè)設計期間,感謝我的朋友對我的幫助,在我困難的時候提出了很好的建議,在此表示深深的感謝。</p><p>  字數(shù)

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論