畢業(yè)設(shè)計--基于struts2技術(shù)bbs論壇系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
已閱讀1頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)論文(設(shè)計)</p><p>  二〇一三年 五月 十五日</p><p> 題 目基于Struts2的BBS論壇系統(tǒng)設(shè)計與實現(xiàn)</p><p> 作 者</p><p> 學(xué) 院信息科學(xué)與工程學(xué)院</p><p> 專 業(yè)計算機科學(xué)與技術(shù)專業(yè)</p>

2、<p> 學(xué) 號</p><p> 指導(dǎo)教師xx 講師</p><p><b>  摘 要</b></p><p>  隨著時代的推進(jìn),網(wǎng)絡(luò)統(tǒng)領(lǐng)時代潮流,如今已經(jīng)普及于人類的生產(chǎn)和日常生活之中。互聯(lián)網(wǎng)是對現(xiàn)實世界的模擬,互聯(lián)網(wǎng)憑借著高效性,跨區(qū)域性,即時性,擴展和改變著我們所生活的現(xiàn)實世界。BBS作為一種簡便、松散、充滿個性的

3、現(xiàn)代電子遠(yuǎn)程通訊手段,現(xiàn)在在國內(nèi)得到廣泛的應(yīng)用。BBS論壇是互聯(lián)網(wǎng)上很常見的一種實時動態(tài)的交流平臺。</p><p>  本次設(shè)計的基于J2EE的BBS論壇系統(tǒng),定位于綜合類業(yè)余論壇,主要用戶群體是普通用戶。該論壇在網(wǎng)絡(luò)環(huán)境的支持下,具有支持用戶進(jìn)行發(fā)表文章等功能。具體包含3個模塊,分別是會員模塊,帖子模塊和論壇管理模塊。會員模塊主要是對會員的個人屬性管理,帖子模塊是針對帖子的管理,而論壇管理模塊針對論壇版塊、公

4、告和廣告的管理。</p><p>  本論壇將采用B/S體系結(jié)構(gòu),在Struts框架的基礎(chǔ)上,結(jié)合當(dāng)今主流的網(wǎng)站開發(fā)技術(shù)Java語言以及JSP技術(shù)。人們通過瀏覽器就可以訪問本網(wǎng)站的主頁,保證服務(wù)器的安全。數(shù)據(jù)庫采用免費,易用的MySQL數(shù)據(jù)庫。該論壇功能較齊全,在這里可以自由地發(fā)表自己的觀點或?qū)φ搲闹黝}發(fā)表意見,我們還可以對網(wǎng)友的問題及時地解決,獲取對自己有用的知識。本系統(tǒng)嚴(yán)格按照軟件項目開發(fā)的流程進(jìn)行開發(fā),系

5、統(tǒng)開發(fā)的可行性分析、需求分析、概要設(shè)計、詳細(xì)設(shè)計以及對系統(tǒng)的測試與維護(hù)都有詳細(xì)的論述。</p><p>  關(guān)鍵字:Java;B/S;Struts;BBS</p><p><b>  Abstract</b></p><p>  Along with the advancement of era, network has been spread

6、 in human production and daily life. The Internet is a simulation of the real world, with high efficiency, trans-regional, immediacy, and changing the world we live in a reality.BBS as a kind of simple and loose and full

7、 of personality in modern electronic communications, now widely used in China. BBS is a very common on the Internet a real-time dynamic communication platform. </p><p>  The BBS system based on J2EE is desig

8、ned, aimed at amateur BBS, and its main user groups is ordinary users. The system with the support of network environment will support users publish articles, etc. The System includes three modules, respectively is membe

9、r module, the posts module and management module. Member module is the management of personal property. Posts module manage posts and management module manage section, announcements, and advertising.</p><p>

10、  BBS adopts B/S architecture, on the basis of the Struts framework, combined with today's mainstream Java language website development technology and JSP technology. People can access the site via a browser page, an

11、d ensure the safety of server. The MySQL database is adopted which free and easy-to-use. The BBS function is relatively complete. Here you can freely published their own views and opinions on the theme of the BBS, and al

12、so can solve problems in a timely manner of online friends, to get</p><p>  Key words:Java;B/S;Struts;BBS</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p>

13、<p>  AbstractII</p><p><b>  第一章 緒論1</b></p><p><b>  1.1選題背景1</b></p><p><b>  1.2系統(tǒng)簡介1</b></p><p>  1.2.1 BBS研究現(xiàn)狀1</p

14、><p>  1.2.2 Struts2框架2</p><p>  1.3 系統(tǒng)設(shè)計目的3</p><p>  1.4 系統(tǒng)設(shè)計意義3</p><p>  1.5 論文結(jié)構(gòu)4</p><p>  第二章 系統(tǒng)分析6</p><p>  2.1 系統(tǒng)開發(fā)初步調(diào)查6</p>&

15、lt;p>  2.1.1 論壇規(guī)模大小6</p><p>  2.1.2 管理機制是否健全6</p><p>  2.1.3 論壇信息時效性6</p><p>  2.2 系統(tǒng)可行性研究分析7</p><p>  2.3 需求分析7</p><p>  2.4 數(shù)據(jù)流圖與設(shè)計8</p>

16、<p>  2.4.1 數(shù)據(jù)流圖設(shè)計9</p><p>  2.4.2 論壇業(yè)務(wù)流程圖10</p><p>  2.5 開發(fā)平臺與開發(fā)工具11</p><p>  第三章 總體設(shè)計12</p><p>  3.1 功能模塊12</p><p>  3.2 數(shù)據(jù)庫概念設(shè)計12</p>

17、<p>  3.2.1 設(shè)計方法13</p><p>  3.2.2 設(shè)計步驟13</p><p>  3.2.3 設(shè)計范式14</p><p>  3.3 E-R模型圖16</p><p>  3.3.1 用戶與帖子實體分析16</p><p>  3.3.2 帖子與版塊實體分析17</p

18、><p>  3.3.3 全局E-R分析17</p><p>  3.4數(shù)據(jù)庫邏輯設(shè)計18</p><p>  第四章 系統(tǒng)設(shè)計與實現(xiàn)21</p><p>  4.1 開發(fā)框架說明21</p><p>  4.1.1 框架工作原理21</p><p>  4.1.2 框架工作流程22&l

19、t;/p><p>  4.2 系統(tǒng)架構(gòu)設(shè)計22</p><p>  4.3 系統(tǒng)設(shè)計模式23</p><p>  4.4 系統(tǒng)實現(xiàn)25</p><p>  4.4.1 數(shù)據(jù)訪問接口包Dao25</p><p>  4.4.2 系統(tǒng)實體包Model28</p><p>  4.4.3 工具類

20、包Util30</p><p>  4.4.4 控制類包Web33</p><p>  4.5 系統(tǒng)運行35</p><p>  第五章 系統(tǒng)測試37</p><p>  5.1 系統(tǒng)測試環(huán)境37</p><p>  5.2 單元測試37</p><p>  5.2.1 黑盒測試3

21、7</p><p>  5.2.2 白盒測試38</p><p>  5.2.2 模塊接口測試39</p><p>  5.3 集成測試40</p><p>  5.3.1 自頂向下集成40</p><p>  5.4 確認(rèn)測試40</p><p><b>  總結(jié)41&l

22、t;/b></p><p><b>  參考文獻(xiàn)42</b></p><p><b>  致謝43</b></p><p>  附錄 代碼示例44</p><p><b>  分頁類的實現(xiàn)44</b></p><p>  數(shù)據(jù)庫連接類的實現(xiàn)

23、47</p><p>  用戶操作數(shù)據(jù)庫類49</p><p><b>  系統(tǒng)配置文件56</b></p><p><b>  第一章 緒論</b></p><p><b>  1.1選題背景</b></p><p>  隨著網(wǎng)絡(luò)的迅猛發(fā)展,網(wǎng)絡(luò)

24、用戶要求不斷提高計算機科學(xué)技術(shù)的發(fā)展水平,特別是新興的網(wǎng)絡(luò)論壇,各個網(wǎng)站中都需要用戶注冊,才能進(jìn)行該網(wǎng)站的更多娛樂操作,而且在網(wǎng)站中還設(shè)有瀏覽者留言、意見反饋等功能,這些功能都只是為了網(wǎng)絡(luò)開發(fā)部及網(wǎng)絡(luò)維護(hù)員們對該網(wǎng)站進(jìn)行修改和更新。</p><p>  在這些現(xiàn)狀中我們可以發(fā)現(xiàn)這樣一個事實,每個用戶在瀏覽網(wǎng)頁上的內(nèi)容時,只是對網(wǎng)站的部分內(nèi)容感興趣,而且這種興趣會持續(xù)一段時間。因為在瀏覽了這個網(wǎng)頁之后,用戶只是單純

25、的瀏覽了網(wǎng)頁的內(nèi)容,其他的所有用戶都是如此,這樣大大減少了用戶再次登錄該網(wǎng)站進(jìn)行瀏覽的可能性,這是網(wǎng)站的點擊率的一個重要缺陷。正如我們的BBS(Bulletin Board System,簡稱BBS,電子公告板系統(tǒng))系統(tǒng)能夠添加到其中就能彌補這個缺陷,BBS論壇是各個用戶在瀏覽了網(wǎng)站內(nèi)容后,可以發(fā)表自己對網(wǎng)站的意見,各個用戶之間也可以通過發(fā)帖的形式進(jìn)行技術(shù)和經(jīng)驗的交流。</p><p><b>  1.

26、2系統(tǒng)簡介</b></p><p>  1.2.1 BBS研究現(xiàn)狀</p><p>  BBS全稱為電子公告板,是Internet上的一種電子信息服務(wù)系統(tǒng),是目前流行網(wǎng)絡(luò)論壇的前身。它提供一塊公共電子白板,每個用戶都可以在上面書寫,可發(fā)布信息或提出看法;它是一種交互性強,內(nèi)容豐富而及時的Internet電子信息服務(wù)系統(tǒng),用戶在BBS站點上可以獲得各種信息服務(wù)、發(fā)布信息、進(jìn)行討論

27、、聊天等等[1]。早期BBS的型態(tài)大多在終端機上以單色或彩色的純文字呈現(xiàn)畫面,并使用調(diào)制解調(diào)器撥接或Telnet協(xié)議連接。但隨著HTTP網(wǎng)絡(luò)協(xié)議及HTML等網(wǎng)頁技術(shù)的發(fā)展,BBS的型態(tài)也轉(zhuǎn)變?yōu)榫W(wǎng)絡(luò)論壇或網(wǎng)絡(luò)社區(qū)等多元樣貌,早期撥接與Telnet式的BBS系統(tǒng)則快速式微[1]。本文設(shè)計的論壇系統(tǒng)指的是以HTTP協(xié)議連接,能夠提供web服務(wù)的論壇系統(tǒng)。</p><p>  在計算機技術(shù)發(fā)達(dá)的西方國家,特別是美國,BB

28、S發(fā)展迅速。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展與完善,就美國而言,目前BBS的主要發(fā)展方向是新聞類、電子商務(wù)和博客類,這三類網(wǎng)站經(jīng)過整合逐步從BBS中分離出來,并成為各自的門戶。第四個功能互動式問答正在分離,但還沒有出現(xiàn)該領(lǐng)域的門戶網(wǎng)站,這一類網(wǎng)站模式被成為威客(譯自英文witkey)模式[1]。近幾年,美國的BBS系統(tǒng)主要采用的是PHP(Hypertext Preprocessor,簡稱PHP,英文超文本預(yù)處理語言)技術(shù),因為此語言風(fēng)格類似于C語言

29、,加之C語言在美國使用廣泛,所以PHP才得以推廣使用。其實,國外對BBS的直接研究很少,間接的研究主要集中在對網(wǎng)絡(luò)社會、虛擬社區(qū)方面,這些不屬于本文討論的范圍。</p><p>  由于種種原因,國內(nèi)的計算機技術(shù)水平遠(yuǎn)遠(yuǎn)落后于西方國家。中國的BBS起步于90年代,由于互聯(lián)網(wǎng)尚未得到廣泛的普及,當(dāng)時的用戶訪問量每天只有幾十人,導(dǎo)致對BBS的研究較為缺乏。近幾年,國內(nèi)計算機技術(shù)水平的發(fā)展,使得BBS系統(tǒng)進(jìn)入了調(diào)整和成

30、熟期。就國內(nèi)大陸高校的BBS而言,主要體現(xiàn)了四個特點,分別是普及率高,影響深刻和注重管理。高校中的BBS具有廣告少、訪問速度快、用戶認(rèn)同感等特點,因此在高校師生中普及率相當(dāng)高。同時,高校BBS中的信息與學(xué)校日常工作、校園生活有關(guān),成為廣大高校師生樂于使用的信息平臺,交友平臺,甚至在一定程度上發(fā)揮了校園門戶的作用[3]。國內(nèi)BBS的發(fā)展,很大程度上借鑒了美國BBS。因此,在建站技術(shù)上,也采用了用戶群較廣的PHP語言。雖然PHP語言的語法簡

31、單,有成熟的社區(qū)支持,但是,面對企業(yè)級的開發(fā),則顯得力不從心。PHP語言對多線程和網(wǎng)絡(luò)編程支持不好,語法不嚴(yán)謹(jǐn),第三方開源的系統(tǒng)框架較少[6,12]。這些都制約了BBS的發(fā)展。因此,這也是本文不采用PHP語言開發(fā)而采用Java語言結(jié)合第三方開源框架開發(fā)的原因。</p><p>  目前,國內(nèi)BBS數(shù)量巨大,各種各樣的BBS如同網(wǎng)絡(luò)雨后春筍般的出現(xiàn)。論壇幾乎涵蓋了我們生活的各個方面,每個人都可以找到一個自己感興趣的

32、論壇。論壇按其盈利性質(zhì)可以分為商業(yè)論壇和業(yè)余論壇,按其專業(yè)性質(zhì)可以分為綜合類論壇和專題類論壇。綜合類的論壇包含的信息比較豐富和廣泛,能夠吸引幾乎全部的網(wǎng)民來到論壇,通常大型的門戶網(wǎng)站有足夠的人氣和凝聚力以及強大的后盾支持能夠把門戶類網(wǎng)站做到很強大,但是對于小型規(guī)模的網(wǎng)絡(luò)公司,或個人簡歷的論壇網(wǎng)站,就傾向于選擇專題性的論壇,來做到精致。專題類的論壇,能夠吸引真正志同道合的人一起來交流探討,有利于信息的分類整合和搜集,專題性論壇對學(xué)術(shù)科研教

33、學(xué)都起到重要的作用,但是缺點是受眾人群較小,很難得到推廣。</p><p>  本文設(shè)計的基于Struts2框架的BBS論壇系統(tǒng),定位于綜合類業(yè)余論壇,主要用戶群體是普通用戶。該論壇在網(wǎng)絡(luò)環(huán)境的支持下,具有支持用戶進(jìn)行發(fā)表文章等功能。具體包含3個模塊,分別是會員模塊,帖子模塊和論壇管理模塊。會員模塊主要是對會員的個人屬性管理,帖子模塊是針對帖子的管理,而論壇管理模塊針對論壇版塊、公告和廣告的管理。</p&g

34、t;<p>  1.2.2 Struts2框架</p><p>  Struts2是一個用于創(chuàng)建企業(yè)級Java web應(yīng)用程序的優(yōu)雅的、可擴展的框架。該框架旨在簡化開發(fā)的整個周期,從建設(shè)、部署到維護(hù)應(yīng)用程序。Struts2最初稱為WebWork2。在獨立工作好幾年后,WebWork和Struts社區(qū)聯(lián)手創(chuàng)建Struts2。這個新版本的Struts是簡單的使用。因為Struts2的本質(zhì)是采用攔截器的機

35、制來處理用戶的請求,這樣的設(shè)計也使得業(yè)務(wù)邏輯控制器能夠與ServletAPI完全脫離開。因為Struts2以WebWork為核心,所以Struts2可以理解為WebWork的更新產(chǎn)品[2]。</p><p>  Struts2是一個相當(dāng)強大的MVC Web開源框架。它的框架結(jié)構(gòu)清晰,開發(fā)流程一目了然,開發(fā)人員可以很好的掌控開發(fā)的過程。同時,它還提供了強大的OGNL(Object-GraphNavigationLa

36、nguage,簡稱OGNL,表達(dá)式語言)進(jìn)行參數(shù)傳遞,成為Struts2里訪問各種作用域中數(shù)據(jù)的簡單方式,你可以方便獲取Request、Attribute等中的數(shù)據(jù),大大簡化了開發(fā)人員在獲取數(shù)據(jù)時的代碼量[8]。Struts2已經(jīng)把模塊化作為了體系架構(gòu)中的基本思想,可以通過三種方法來將應(yīng)用程序模塊化:將配置信息拆分成多個文件;把自包含的應(yīng)用模塊創(chuàng)建為插件;創(chuàng)建新的框架特性,即將與特定應(yīng)用無關(guān)的新功能組織成插件,以添加到多個應(yīng)用中去。St

37、ruts2最大的優(yōu)點在于它的攔截器。它的核心就是攔截器,是一個Action級別的AOP(AspectOrientedProgramming,簡稱AOP,面向切面編程),Struts2中的許多特性都是通過攔截器來實現(xiàn)的,例如異常處理,文件上傳,驗證等。攔截器是可配置與重用的,可以將一些通用的功能如:登錄驗證,權(quán)限驗證等置于攔截器中以完成一些Java Web</p><p>  1.3 系統(tǒng)設(shè)計目的</p>

38、;<p>  當(dāng)今網(wǎng)絡(luò)技術(shù)逐漸滲入社會生活各個層面,以前網(wǎng)站上的論壇管理系統(tǒng)要求用戶登陸以后才能進(jìn)行相關(guān)訪問及互動。而隨著網(wǎng)絡(luò)互聯(lián)技術(shù)的進(jìn)步,現(xiàn)在網(wǎng)站投票只需打開網(wǎng)頁就可進(jìn)行論壇留言。論壇對象是很多的,各個層次的人群都可進(jìn)行論壇訪問,大至國家領(lǐng)導(dǎo),小至一個普通干部,從當(dāng)初指定用戶書面表達(dá)到現(xiàn)在通過網(wǎng)絡(luò)直接點擊相應(yīng)主題就可進(jìn)行留言。</p><p>  網(wǎng)上論壇管理系統(tǒng)可解決游客訪問及留言,所以現(xiàn)在幾

39、乎各個網(wǎng)站都有各種類型網(wǎng)站論壇管理系統(tǒng),管理者可以直觀快捷的解決游客或用戶的留言或提問。因此本文提出了本課題的研究,建立一個友好的、多功能的、輕松的交流平臺,方便所有在線用戶之間的交流溝通;為大家提供一個美觀、文明的暢聊平臺,論壇中還為帖子按類型進(jìn)行分類,既方便了管理員對論壇的管理,又方便了用戶對帖子和論壇信息的了解,為用戶提供了最高的效率和最便捷的手段。</p><p>  本論壇定位于個人業(yè)余綜合類論壇,因此

40、,無論開發(fā)成本還是系統(tǒng)的規(guī)模,都在可控的范圍內(nèi)。設(shè)計本系統(tǒng)的目的不僅方便論壇會員之間的交流與學(xué)習(xí),同樣也對以前的信息管理、論壇管理提出了革新的要求。相對于以前人們獲取信息的途徑,本次設(shè)計的論壇不僅縮短了用戶之間的時空距離,同時加快了信息的獲取速度。論壇的管理,一直是管理員們較為棘手的問題,一是從人員的流動性以及數(shù)量上來說,人員比較難管理;二是從信息的特性上來說,信息需要分類及更新,因此也是比較難管理。</p><p&

41、gt;  1.4 系統(tǒng)設(shè)計意義</p><p>  隨著網(wǎng)絡(luò)交流平臺的發(fā)展,網(wǎng)絡(luò)發(fā)帖的論壇方式已經(jīng)成為了主要的交流平臺,現(xiàn)在論壇交流方式越來越平凡,用戶只要上網(wǎng)就能了解更多的網(wǎng)絡(luò)信息和跟其他的用戶進(jìn)行經(jīng)驗交流、信息采納。通過這種在網(wǎng)上暢快的留言,發(fā)表見解的交流方式,并且網(wǎng)絡(luò)界中各方面人才眾多,你便可以與別人分享和交流經(jīng)驗,最終達(dá)到彼此共進(jìn)步的目的。</p><p>  論壇網(wǎng)站簡單大方、美

42、觀,使人容易瀏覽,像這樣的網(wǎng)站針對的對象是廣大的上網(wǎng)者,他們都有權(quán)在該網(wǎng)站注冊并進(jìn)行暢談;網(wǎng)站不斷的更新帖子,網(wǎng)絡(luò)瀏覽者不會對該網(wǎng)站厭倦,并且對該論壇有什么不滿都可以發(fā)表意見,使管理者與用戶之間也進(jìn)行了交流,使得交流面更加廣泛。</p><p>  論壇網(wǎng)站的設(shè)計,不僅給用戶帶來人性化的體驗,而且也對論壇的日常管理也有重大意義。在當(dāng)代計算機技術(shù)飛速發(fā)展的大環(huán)境下,計算機技術(shù)和軟件技術(shù)的更新是論壇完全有可能也有能力

43、采用這樣先進(jìn)的管理技術(shù)。因此本系統(tǒng)對論壇管理帶來的影響可以看到:對傳統(tǒng)信息交流理念的沖擊,可能引起信息交流管理的變動;對論壇工作人員的要求提高,使論壇在一定的可能下進(jìn)行整合與發(fā)展,迫使工作人員繼續(xù)學(xué)習(xí)新知識,拓寬論壇在市場環(huán)境下的生存空間。</p><p><b>  1.5 論文結(jié)構(gòu)</b></p><p>  本文主要從五個章節(jié)對整個BBS系統(tǒng)進(jìn)行詳細(xì)介紹,從系統(tǒng)

44、的分析、設(shè)計到具體的實現(xiàn),完全按照軟件開發(fā)的標(biāo)準(zhǔn)流程進(jìn)行,各章的主要內(nèi)容如下:</p><p>  第二章主要是對課題的需求調(diào)研,不管是專題類的BBS還是綜合類的BBS,都經(jīng)過詳細(xì)的調(diào)查與研究,熟悉BBS的業(yè)務(wù)流程以及網(wǎng)站運營的管理。通過網(wǎng)上的調(diào)研結(jié)果得到系統(tǒng)的可行性分析以及需求分析,并根據(jù)當(dāng)前綜合類的BBS確定出系統(tǒng)的設(shè)計方案,最后結(jié)合設(shè)計方案對系統(tǒng)的經(jīng)濟(jì)、技術(shù)和社會三個方面進(jìn)行可行性分析,確定系統(tǒng)是否可以開發(fā)

45、、是否值得開發(fā)。本章的核心是系統(tǒng)的可行性分析和需求分析,最后結(jié)合這兩點以數(shù)據(jù)流圖的方式進(jìn)行詳細(xì)的說明。</p><p>  第三章主要是課題的開發(fā)前期系統(tǒng)模塊的總體設(shè)計,將通過第二章的需求分析得到的數(shù)據(jù)流圖轉(zhuǎn)換成數(shù)據(jù)、軟件結(jié)構(gòu)。詳細(xì)說明系統(tǒng)中可能存在的功能模塊,繪制出模塊圖,并進(jìn)行說明。通過E-R模型圖,詳細(xì)分析用戶與帖子,版塊與帖子的關(guān)系,最后得出系統(tǒng)的全局E-R圖。確定數(shù)據(jù)庫的設(shè)計方法和步驟,結(jié)合設(shè)計范式,把

46、數(shù)據(jù)庫的設(shè)計從概念設(shè)計轉(zhuǎn)變成邏輯設(shè)計。本章的核心是確定系統(tǒng)模塊,結(jié)合分析系統(tǒng)得到的E-R圖,完成數(shù)據(jù)庫的邏輯設(shè)計。</p><p>  第四章主要是系統(tǒng)的設(shè)計與實現(xiàn)。首先介紹本系統(tǒng)所采用的開發(fā)框架,了解其運行原理和流程。然后介紹系統(tǒng)開發(fā)所采用的架構(gòu)和設(shè)計模式,并對特殊的設(shè)計模式進(jìn)行詳細(xì)說明。最后介紹系統(tǒng)實現(xiàn)運行的效果,結(jié)合圖片以及文字說明,詳細(xì)描述系統(tǒng)的運行狀況。本章的核心是介紹系統(tǒng)所采用的技術(shù),并描述系統(tǒng)運行實

47、現(xiàn)的結(jié)果,并以圖表文字的方式展現(xiàn)其過程。</p><p>  第五章主要是系統(tǒng)的測試。在了解和明確系統(tǒng)測試的原則后,搭建測試平臺和測試環(huán)境。測試前期,制定詳細(xì)的測試用例,結(jié)合黑盒測試和白盒測試方法進(jìn)行測試。最后采用集成測試,整合模塊進(jìn)行測試,并詳細(xì)記錄測試結(jié)果。本章的核心是通過不同的測試方法,測試系統(tǒng)是否符合性能和功能要求。</p><p>  最后一章主要是針對課題的總結(jié)。介紹本次設(shè)計的

48、優(yōu)缺點,并對開發(fā)過程進(jìn)行總結(jié)。自我的心得體會,總結(jié)開發(fā)的收獲,以及對未來的展望。</p><p><b>  第二章 系統(tǒng)分析</b></p><p>  可行性分析的目的是用最小的成本在盡可能短的時間內(nèi)確定該系統(tǒng)是否可能開發(fā)、是否可以開發(fā)、是否值得開發(fā)。其實質(zhì)是在較高層次上以較抽象方式進(jìn)行的、簡化的、壓縮的需求分析和概要設(shè)計過程[7]。本次對課題的需求調(diào)研,不管是專

49、題類的BBS還是綜合類的BBS,都經(jīng)過詳細(xì)的調(diào)查與研究,熟悉BBS的業(yè)務(wù)流程以及網(wǎng)站運營的管理。通過網(wǎng)上的調(diào)研結(jié)果得到系統(tǒng)的可行性分析以及需求分析,并根據(jù)當(dāng)前綜合類的BBS確定出系統(tǒng)的設(shè)計方案,結(jié)合設(shè)計方案對系統(tǒng)的經(jīng)濟(jì)、技術(shù)和社會三個方面進(jìn)行可行性分析,確定系統(tǒng)是否可以開發(fā)、是否值得開發(fā)。</p><p>  2.1 系統(tǒng)開發(fā)初步調(diào)查</p><p>  系統(tǒng)可行性研究的基礎(chǔ)是在開發(fā)的前期

50、進(jìn)行各項調(diào)查并明確系統(tǒng)的開發(fā)目標(biāo)和規(guī)模。BBS論壇在其傳播與發(fā)展中,由一個互聯(lián)網(wǎng)的常規(guī)應(yīng)用發(fā)展成為一種日趨普遍的社會現(xiàn)象。它的規(guī)模和大小主要依據(jù)興辦單位的規(guī)模和實力來定位的,大的論壇有國家級的論壇和一些省市所投資建設(shè)的論壇,小一些的則像愛好者自建的論壇等。所以,考慮系統(tǒng)面向的場所和規(guī)模,為系統(tǒng)的開發(fā)做準(zhǔn)確的定位是十分必要的。以下是本文所做的系統(tǒng)開發(fā)調(diào)查:</p><p><b>  1.論壇規(guī)模。<

51、;/b></p><p>  以學(xué)校的論壇來說,它面向的對象大都是學(xué)生和教師等范圍,在學(xué)校這樣一個不是很大范圍內(nèi),規(guī)模沒有必要達(dá)到一些較大論壇的規(guī)模,只要能夠滿足學(xué)校范圍內(nèi)的需求就可以了。當(dāng)然,如果能夠作到盡善盡美更好,但是學(xué)校的資金和人力管理能否達(dá)到也是要考慮的。所以,面向的對象決定論壇的規(guī)模。本文設(shè)計的論壇規(guī)模較小,適合學(xué)校等用戶群體使用。</p><p><b>  

52、2.管理機制。</b></p><p>  BBS論壇的管理成為國內(nèi)網(wǎng)絡(luò)政治思想教育及網(wǎng)絡(luò)輿論調(diào)控的一個核心問題。一個好的論壇不僅僅看它的功能和規(guī)模是否齊全,還要看它的管理機制是否健全。這不僅僅是人的因素,還有操作手段和途徑,比如一個好的論壇管理系統(tǒng)。本文設(shè)計的論壇,以國家法律法規(guī)作為開發(fā)規(guī)范,并且賦予系統(tǒng)管理員審核帖子的權(quán)限,因此,本系統(tǒng)在管理機制方面,是健全的。</p><p&

53、gt;  3.論壇信息時效性。</p><p>  論壇需要統(tǒng)一信息的管理,對各類信息情況和論壇信息的數(shù)量,種類要及時掌握,這就要求它具有很強的時效性。為了減少過時信息和大量內(nèi)容重復(fù)多余的信息占用有限的空間而又要盡量做到信息種類的齊全,作為論壇的管理人員來說需要及時地對信息進(jìn)行登錄和注銷的處理。有些信息如新聞,即時消息等更換的頻率較高,有時需要每天更換,而有些大型信息則可能幾年才更換一次。這些信息的發(fā)布和注銷要求

54、管理員及時掌握,時效性非常重要。本文設(shè)計的系統(tǒng),無論是管理員還是版主,會隨時監(jiān)控帖子的時效性,保證帖子的更換頻率,使得每位用戶能夠掌握自己所需的信息。</p><p>  2.2 系統(tǒng)可行性研究分析</p><p>  可行性分析是在進(jìn)行初步調(diào)查后所進(jìn)行的對系統(tǒng)開發(fā)必要性和可能性的研究,所以也稱為可行性研究。信息系統(tǒng)也應(yīng)從技術(shù)可行性、經(jīng)濟(jì)可行性和社會可行性三方面來論證。通過長時間的觀察與實

55、踐,本文認(rèn)為論壇系統(tǒng)的可行性分析如下:</p><p>  1.經(jīng)濟(jì)可行性分析。</p><p>  按論壇可以分為營利和非營利,無論哪種性質(zhì)的論壇,都需要前期的經(jīng)濟(jì)投入,主要是支出的費用:其中包括設(shè)備購置費、軟件開發(fā)費用、管理和維護(hù)費、人員工資和培訓(xùn)費等。由于各個論壇實行統(tǒng)一操作,系統(tǒng)共享,人員工資,維護(hù)費用相對較少,前期的資金投入主要集中于購置設(shè)備上。建立論壇管理中心,可將來自各方面的

56、信息集中管理,提高信息管理的計劃性,快速地反饋市場信息。</p><p>  2.技術(shù)可行性分析。</p><p>  技術(shù)上的可行性分析要考慮的情況主要有技術(shù)、資源(廣義而言,技術(shù)也是一類特殊而且高價值的資源)、約束與限制等因素[7]。論壇系統(tǒng)的工作主要是為網(wǎng)絡(luò)用戶之間提供一條渠道,能相互溝通信息和共享信息。當(dāng)代社會,計算機技術(shù)飛速發(fā)展,軟件和硬件的發(fā)展也是前所未有的,加上網(wǎng)絡(luò)的共享性,

57、開放性,互通性等特點,為本論壇系統(tǒng)的實現(xiàn)提供了技術(shù)條件。 </p><p>  3.社會可行性分析。</p><p>  社會可行性分析,主要是評估對新系統(tǒng)及其開發(fā)工作與社會的相容程度,確定新系統(tǒng)是否可以開發(fā)。在當(dāng)代計算機技術(shù)飛速發(fā)展的大環(huán)境下,計算機技術(shù)和軟件技術(shù)的更新是論壇完全有可能也有能力采用這樣先進(jìn)的管理技術(shù)。它對論壇帶來的影響可以看到:</p><p> 

58、 (a)對傳統(tǒng)信息交流理念的沖擊,可能引起信息交流管理的變動。</p><p>  (b)對論壇工作人員的要求提高,使論壇在一定的可能下進(jìn)行整合與發(fā)展,迫使工作人員繼續(xù)學(xué)習(xí)新知識,拓寬論壇在市場環(huán)境下的生存空間。</p><p>  本系統(tǒng)開發(fā)使用的是正版操作系統(tǒng),正版開發(fā)軟件和免費版數(shù)據(jù)庫,所有的軟件都有合同證明其合法性,開發(fā)的系統(tǒng)也具有相應(yīng)的合同制約,所以不存在侵權(quán)問題。同時也符合其他

59、相關(guān)的法律法規(guī)和社會道德規(guī)范。</p><p><b>  2.3 需求分析</b></p><p>  需求分析的目的是調(diào)查系統(tǒng)應(yīng)用領(lǐng)域,對該應(yīng)用領(lǐng)域中的信息和操作要求進(jìn)行詳細(xì)分析,形成需求分析說明書[7]。本設(shè)計通過詳細(xì)的市場調(diào)研,了解目前中小型論壇運作所需要的常用功能,參照已穩(wěn)定運行且技術(shù)成熟的同類型系統(tǒng),以及借鑒其中的優(yōu)良設(shè)計方案和設(shè)計理念從而完成設(shè)計。通過之

60、前的系統(tǒng)可行性分析,本文認(rèn)為本次研究的系統(tǒng)可以開發(fā),也值得開發(fā)。通過調(diào)研,本文認(rèn)為一個成熟的BBS論壇系統(tǒng),它不僅能夠滿足用戶之間交流的需求,還能滿足用戶之間相互學(xué)習(xí)的需求。以往的論壇系統(tǒng),由于界面過于花哨,導(dǎo)致用戶無法集中精力,瀏覽自己所喜歡的帖子,并且這會導(dǎo)致一種惡性循環(huán),影響用戶的再次登錄。其次,以往的論壇系統(tǒng),在系統(tǒng)的組織結(jié)構(gòu)上,存在過于繁瑣,甚至組織冗余,這將導(dǎo)致管理員對系統(tǒng)管理的效率。有的論壇,普通用戶在初次使用時,會感覺無

61、從下手,甚至沒有導(dǎo)航欄目,以至于用戶根本無法抓住重點綜上所述,在經(jīng)過詳細(xì)分析后,本人設(shè)計的系統(tǒng)不僅界面直觀、簡潔,而且在組織上也達(dá)到簡練的目的。本系統(tǒng)的設(shè)計不針對特定用戶群體,也不是特定的專業(yè)論壇,所以任何普通用戶都可以使用本論壇。本系統(tǒng)具體包含3個模塊,分別是會員模塊,帖子模塊和論壇管理模塊。</p><p>  1.會員模塊:本模塊包含3個功能,分別是會員注冊、會員登錄和資料修改。本人認(rèn)為,當(dāng)用戶瀏覽論壇時,

62、對感興趣的帖子想發(fā)表意見或者想發(fā)表主題時,就必須成為論壇會員,此做法為了保證論壇的安全性。因此,用戶需要先注冊成為會員。會員管理該模塊實現(xiàn)對會員的增加、修改功能,不會實現(xiàn)刪除功能,以免誤刪會員。</p><p>  2.帖子模塊:這個模塊包含3個子功能,分別是發(fā)帖管理、回帖管理和刪帖管理。該模塊主要是針對論壇的帖子管理。當(dāng)會員發(fā)表新帖時,本文會把當(dāng)前主題保存在數(shù)據(jù)庫中的一張表,其他會員回帖時,必須與該主題相關(guān),否

63、則無法存儲在數(shù)據(jù)庫中另一張內(nèi)容表中。主要功能是對帖子的增刪改。</p><p>  3.論壇管理:該模塊包含4個功能,分別是公告管理、版塊管理、廣告管理和帖子管理。此模塊的功能主要是管理員、版主所獨有。每個論壇都有自己的廣告投放區(qū)域,這也是論壇盈利的一部分,因此本人設(shè)計的論壇也有此功能,管理員有對廣告的增加、刪除功能。論壇都有重要新聞或者主題動態(tài)的展示,在論壇的最上邊,此功能屬于管理員所有,因此管理員有對廣告的增

64、加、刪除功能。版塊管理是管理員、版主所獨有的功能,他們可以開辟新的版塊供用戶使用,因此對于版塊實現(xiàn)的功能是增加、刪除、修改的功能。 </p><p>  2.4 數(shù)據(jù)流圖與設(shè)計</p><p>  數(shù)據(jù)流圖(Data Flow Diagram),簡稱DFD,是一種幫助用戶理解和分析整個系統(tǒng)數(shù)據(jù)流程的圖形工具,它拋開了系統(tǒng)信息和具體內(nèi)容,精確的在邏輯上描述系統(tǒng)的功能、輸入、輸出和數(shù)據(jù)存儲等,

65、是系統(tǒng)邏輯模型的重要組成部分。數(shù)據(jù)流圖描繪的是數(shù)據(jù)從系統(tǒng)輸入到系統(tǒng)輸出的過程所經(jīng)受的轉(zhuǎn)換,它是從數(shù)據(jù)加工和傳遞的角度,來刻畫數(shù)據(jù)變化的過程的[4]。</p><p>  數(shù)據(jù)流圖的基本組成部分有4種,分別是數(shù)據(jù)流、加工、數(shù)據(jù)存儲和外部實體。以下是各組成部分的詳細(xì)描述[4]:</p><p>  1.數(shù)據(jù)流:是由一組固定成分的數(shù)據(jù)組成,來表示數(shù)據(jù)的流向。值得注意的是,數(shù)據(jù)流圖中描述的是數(shù)據(jù)流

66、,而不是控制流。除了流向數(shù)據(jù)存儲或從數(shù)據(jù)存儲流出的數(shù)據(jù)不必命名外,每個數(shù)據(jù)流必須要有一個合適的名字,以反映該數(shù)據(jù)流的含義。由于數(shù)據(jù)流是流動的數(shù)據(jù),因此必須標(biāo)明流向。</p><p>  2.加工:描述了輸入數(shù)據(jù)流到輸出數(shù)據(jù)之間的變換,也就是輸入數(shù)據(jù)流經(jīng)過什么處理后變成了輸出數(shù)據(jù)。每個加工都有一個名字和編號。編號能反映該加工位于分層的數(shù)據(jù)流圖的哪個層次和哪張圖中,能夠看出它是由哪個加工分解出來的子加工。</p

67、><p>  3.數(shù)據(jù)存儲:數(shù)據(jù)存儲表示暫時存儲的數(shù)據(jù)。每個數(shù)據(jù)存儲都有一個名字,可以是文件或文件的一部分、數(shù)據(jù)庫的元素等。</p><p>  4.外部實體:外部實體是存在于軟件系統(tǒng)之外的人員或組織,它指出數(shù)據(jù)所需要的發(fā)源地或系統(tǒng)所產(chǎn)生的數(shù)據(jù)的歸屬地,可以是人、物或其他系統(tǒng)。</p><p>  2.4.1 數(shù)據(jù)流圖設(shè)計</p><p>  在

68、本次設(shè)計的BBS論壇系統(tǒng)中,實體用垂直長方形表示,流程的數(shù)據(jù)處理用橢圓表示,數(shù)據(jù)流用箭頭表示,詳細(xì)描述如圖2.1所示:</p><p>  實體 數(shù)據(jù)存儲 數(shù)據(jù)處理 數(shù)據(jù)流</p><p>  圖2.1 數(shù)據(jù)流符號說明</p><p>  普通用戶在進(jìn)入論壇時,可以選擇注冊成為論壇會員,

69、當(dāng)執(zhí)行注冊動作時,系統(tǒng)會根據(jù)用戶輸入的用戶名去數(shù)據(jù)庫中查找是否存在該用戶名,不存在時,則存儲用戶的相關(guān)注冊信息到用戶表中,詳細(xì)描述如圖2.2所示:</p><p>  圖2.2 用戶注冊數(shù)據(jù)流圖</p><p>  當(dāng)然用戶注冊成為論壇會員后,系統(tǒng)需要強制用戶登錄。用戶必須填寫正確的用戶名、密碼和驗證碼,才能登陸成功,詳細(xì)描述如圖2.3所示:</p><p>  圖

70、2.3 用戶登錄數(shù)據(jù)流圖</p><p>  用戶成功登錄后,有權(quán)在論壇上發(fā)表帖子,發(fā)表后的帖子會在本論壇中用戶所關(guān)注的版塊中列出,詳細(xì)描述如圖2.4所示:</p><p>  圖2.4 用戶發(fā)帖數(shù)據(jù)流圖</p><p>  當(dāng)用戶對感興趣的話題回復(fù)時,回復(fù)的帖子會追加在當(dāng)前主題下面,并且持續(xù)的追加,并采用分頁形式顯示,避免回復(fù)過長,詳情描述如圖2.5所示:<

71、/p><p>  圖2.5 用戶回帖數(shù)據(jù)流圖</p><p>  2.4.2 論壇業(yè)務(wù)流程圖</p><p>  在本論壇系統(tǒng)中,系統(tǒng)中的人員用橢圓表示,條件判定用菱形表示,信息流用箭頭表示,過程處理用矩形表示,具體業(yè)務(wù)流程圖的符號說明如圖2.6所示:</p><p>  系統(tǒng)中人員 條件判定 信息

72、流 處理</p><p>  圖2.6 業(yè)務(wù)流程圖符號</p><p>  BBS論壇系統(tǒng)業(yè)務(wù)流程圖如圖2.7所示:</p><p>  圖2.7 業(yè)務(wù)流程圖</p><p>  2.5 開發(fā)平臺與開發(fā)工具</p><p>  在應(yīng)用開發(fā)領(lǐng)域中,目前系統(tǒng)平臺的體系結(jié)構(gòu)主要有兩種,即C/S(Cl

73、ient/Server)結(jié)構(gòu)和B/S(Brower/Server)結(jié)構(gòu)。 C/S結(jié)構(gòu),即大家熟知的客戶機和服務(wù)器結(jié)構(gòu)。此模式的服務(wù)器端通常是使用較高性能的PC機、工作站或者小型機,并采用大型數(shù)據(jù)庫來進(jìn)行數(shù)據(jù)持久。客戶端通常需要安裝專用的客戶端軟件以運行系統(tǒng)。B/S結(jié)構(gòu),即瀏覽器和服務(wù)器結(jié)構(gòu)。該模式是互聯(lián)網(wǎng)興起后的一種新模式。使用此模式客戶將不需要安裝專用的客戶端,直接使用瀏覽器訪問系統(tǒng)的域名即可使用系統(tǒng)同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。在這種結(jié)構(gòu)下

74、,用戶界面完全通過瀏覽器訪問WWW實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn),用通用瀏覽器就實現(xiàn)了原來需要復(fù)雜專用軟件才能實現(xiàn)的強大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。因此本系統(tǒng)采用了B/S結(jié)構(gòu)。</p><p>  本系統(tǒng)采用Java技術(shù)搭載MySQL開發(fā),所以系統(tǒng)運行將需要安裝有Java Runtime Environment(Java運行環(huán)境)。它是一種是簡單、面向?qū)ο?/p>

75、、分布式、解釋的、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、性能很優(yōu)異的、多線程的、動態(tài)的編程語言。用Java編寫的程序可讀性好,生成的代碼質(zhì)量高。MySQL 具有安全性高、可靠性、可擴展必好,對于海量、高效、智能化方面的問題有很好處理能力。</p><p><b>  第三章 總體設(shè)計</b></p><p>  總體設(shè)計,又稱系統(tǒng)概要設(shè)計。概要設(shè)計的目的是把通過需求分

76、析所得到的DFD轉(zhuǎn)換成為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)[4]。設(shè)計軟件結(jié)構(gòu)的具體任務(wù)是:將一個復(fù)雜系統(tǒng)按功能進(jìn)行模塊劃分、建立模塊的層次結(jié)構(gòu)及調(diào)用關(guān)系、確定模塊間的接口及人機界面等。數(shù)據(jù)結(jié)構(gòu)設(shè)計包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性、以及數(shù)據(jù)庫的設(shè)計。顯然,概要設(shè)計建立的是目標(biāo)系統(tǒng)的邏輯模型,與計算機無關(guān)。</p><p><b>  3.1 功能模塊</b></p><p> 

77、 本BBS論壇系統(tǒng)從大的方面來說,主要分為三個模塊:會員模塊、帖子模塊和論壇管理。會員模塊主要是會員進(jìn)行管理,如會員注冊、會員資料修改等。帖子模塊主要是對帖子的管理,如發(fā)帖、回帖、刪帖等。論壇管理主要是管理員對版塊、公告廣告及帖子審查的管理。當(dāng)用戶瀏覽論壇時,對感興趣的帖子想發(fā)表意見或者想發(fā)表主題時,就必須為論壇會員,此做法為了保證論壇的安全性。當(dāng)會員發(fā)表新帖時,本文會把當(dāng)前主題保存在數(shù)據(jù)庫中的一張表,其他會員回帖時,必須與該主題相關(guān),

78、否則無法存儲在數(shù)據(jù)庫中另一張內(nèi)容表中。此模塊的功能主要是管理員、版主所獨有的。論壇的部分盈利來自于廣告,公告用于展示重大新聞或者特殊主題。如圖3.1所示:</p><p>  圖3.1 論壇系統(tǒng)功能模塊圖</p><p>  3.2 數(shù)據(jù)庫概念設(shè)計</p><p>  概念設(shè)計是將通過需求分析得到的用戶需求,抽象為信息結(jié)構(gòu)的過程,是數(shù)據(jù)庫設(shè)計的關(guān)鍵之一。其結(jié)果是數(shù)據(jù)

79、庫的概念模式(概念模型)。概念模型不依賴于數(shù)據(jù)庫邏輯結(jié)構(gòu)和支持?jǐn)?shù)據(jù)庫的DBMS。在需求分析和邏輯設(shè)計之間插入概念設(shè)計,使設(shè)計者僅從用戶角度看待數(shù)據(jù)及處理要求和約束,將注意力從復(fù)雜、繁瑣的實現(xiàn)細(xì)節(jié)中解脫出來,集中在最重要的信息組織結(jié)構(gòu)和處理模式設(shè)計上。因此概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的重要步驟所在[4]。</p><p>  3.2.1 設(shè)計方法</p><p>  概念數(shù)據(jù)庫設(shè)計的方法主要

80、有兩種:一種是集中式設(shè)計方法,另一種是視圖綜合設(shè)計方法[4]。</p><p>  1.集中式設(shè)計方法。集中式設(shè)計方法首先合并在需求分析階段得到的各種應(yīng)用的需求;其次在此基礎(chǔ)上設(shè)計一個概念數(shù)據(jù)庫模式,滿足所有應(yīng)用的要求。</p><p>  2.視圖綜合設(shè)計方法。視圖綜合設(shè)計方法由一個視圖設(shè)計階段和一個視圖合并階段組成,不要求應(yīng)用需求的合并。</p><p>  本

81、文所涉及到的數(shù)據(jù)庫設(shè)計,采用集中式設(shè)計方法。明確了解需求分析階段得到的各種應(yīng)用的需求并將相關(guān)需求合并。會員模塊,主要的業(yè)務(wù)分為會員注冊、會員登錄和會員資料修改。這個模塊的需求是為了記錄在網(wǎng)站注冊的會員的個人身份信息,比如用戶名和密碼。其中,用戶群體分為普通用戶和管理員,他們的權(quán)限是不同的。這些需求說明,數(shù)據(jù)庫的設(shè)計必須包含會員的個人身份字段,比如說會員的編號、會員的用戶名、會員的密碼等。帖子模塊,主要的業(yè)務(wù)分為會員的發(fā)帖、會員的回帖和管

82、理員的刪帖。這個模塊的需求是帖子的使用,確切的說,是用戶對帖子的操作。其中,用戶分為管理員和普通用戶。普通用戶權(quán)限較低,只能在特定的版塊內(nèi)發(fā)帖和回復(fù)特定的帖子。而管理員權(quán)限較高,擁有對帖子的刪除操作,也就是說,管理員可以審核帖子是否符合國家法律。帖子的發(fā)表必須在特定的版塊內(nèi),不能隨便發(fā)表,并且回復(fù)的帖子也需要針對當(dāng)前帖子進(jìn)行回復(fù)。這些需求表明,數(shù)據(jù)庫的設(shè)計需要將帖子的內(nèi)容與用戶身份、版塊和回帖進(jìn)行關(guān)聯(lián),因此帖子表、版塊表和回帖表都需要加

83、上相關(guān)的外鍵。論壇管理模塊,主要業(yè)務(wù)是公告管理、廣告管理、版塊管理和帖子管理。這個模塊的主要用戶群體是管理員,因為這是</p><p>  3.2.2 設(shè)計步驟</p><p>  概念結(jié)構(gòu)的設(shè)計策略主要有自頂向下、自底向上、自內(nèi)向外和混合策略四種。這些方法中最常用的是自底向上方法,下面就介紹基于自底向上方法的概念設(shè)計的步驟[4]。</p><p>  1.設(shè)計局部

84、概念模式。先從局部用戶需求出發(fā),為每個用戶建立一個相應(yīng)的局部概念結(jié)構(gòu)。在此過程需要對需求分析的結(jié)果進(jìn)行細(xì)化、補充和修改,例如數(shù)據(jù)項的拆分,數(shù)據(jù)定義的修改等。</p><p>  2.綜合局部概念模式成全局概念模式。這一步驟主要是綜合各局部概念結(jié)構(gòu),得到反映所有用戶需求的全局概念結(jié)構(gòu)。在這一過程中,主要處理各局部模式對各種對象定義的不一致等各種沖突問題,同時還要注意解決各局部結(jié)構(gòu)合并時可能產(chǎn)生的冗余問題等,必要時還

85、需要對信息需求再調(diào)整、分析與重定義。</p><p>  3.評審。最后一步是把全局結(jié)構(gòu)提交評審。評審分為用戶評審與開發(fā)人員評審兩部分。用戶評審的重點是確認(rèn)全局概念模式是否準(zhǔn)確完整地反映了用戶的信息需求,是否符合現(xiàn)實世界事物屬性間的固有聯(lián)系;開發(fā)人員評審則側(cè)重于確認(rèn)全局結(jié)構(gòu)是否完整,各種成分劃分是否合理,是否存在不一致性,以及各種文檔是否齊全等。</p><p>  本文所使用的數(shù)據(jù)庫概念

86、結(jié)構(gòu)設(shè)計策略就是上文所提到的自底向上方法。首先,定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成,得到全局概念結(jié)構(gòu)。局部應(yīng)用的概念結(jié)構(gòu)需要從局部用戶需求出發(fā),以每一個用戶為基礎(chǔ),建立局部概念結(jié)構(gòu)。用戶與帖子是存在關(guān)系的。作為概念結(jié)構(gòu)的個體,每一個用戶其自身也有很多屬性,比如用戶的姓名和密碼。每一個帖子也有其自身的屬性,比如帖子的發(fā)表時間和所屬版塊。用戶與帖子的關(guān)系表現(xiàn)在用戶發(fā)表和回復(fù)帖子。他們之間的關(guān)系式多對多的。一個用戶可以發(fā)表或回復(fù)多個帖子

87、,而一個帖子可以被多個用戶發(fā)表或回復(fù)。帖子與版塊之間也存在關(guān)系,是一種所屬關(guān)系。帖子必須屬于某一個版塊,不可能存在獨立于版塊的帖子。版塊其自身是很多屬性,比如版塊的添加時間和版塊的描述。版塊與帖子的關(guān)系表現(xiàn)在某一個版塊擁有某一些帖子。版塊與帖子之間的關(guān)系是一對多的。一個版塊可以擁有多個帖子。用戶與廣告、公告之間存在關(guān)系。廣告與公告基本相同,在此作為同一類對待。廣告與公告其自身有很多屬性,比如添加時間和添加者。當(dāng)前所指用戶主要是管理員。用

88、戶與廣告、公告之間的關(guān)系表現(xiàn)在一個用戶可以添加多個廣告、公告。它們之間的關(guān)系是一對多的,因為只存在</p><p>  3.2.3 設(shè)計范式</p><p>  設(shè)計范式是符合某一種級別的關(guān)系模式的集合。在關(guān)系數(shù)據(jù)庫中,這種規(guī)則就是范式。數(shù)據(jù)庫的設(shè)計范式是數(shù)據(jù)庫設(shè)計所需要遵循的規(guī)范,只有滿足這些規(guī)范的數(shù)據(jù)庫,其結(jié)構(gòu)才是是簡潔的、明晰的。同時,不會發(fā)生插入(insert)、刪除(delete

89、)和更新(update)的操作異常。反之,則是數(shù)據(jù)操作混亂,不僅給系統(tǒng)的編程人員制造麻煩,而且可能會存儲了大量不需要的冗余信息。</p><p>  目前關(guān)系數(shù)據(jù)庫有六種范式:第一范式、第二范式、第三范式、巴德斯科范式、第四范式和第五范式。一般使用的是前三種范式,以下便是數(shù)據(jù)庫前三種三范式的介紹:</p><p>  1.第一范式[4]。</p><p>  所謂第

90、一范式(first normal form,簡稱為1NF)指的是數(shù)據(jù)庫中每張表的每一個字段都是不可分割的基本數(shù)據(jù)項,同一字段中也不能有多個值,即實體中的某個屬性不能存在多個值或者重復(fù)的屬性。如果出現(xiàn)重復(fù)的屬性,就可能需要定義一個新的實體,并將重復(fù)的屬性單獨分割出去,新的實體由這些重復(fù)的屬性構(gòu)成,因此新實體與原實體之間的關(guān)系為一對多關(guān)系。在第一范式中表的每一條記錄只包含一個實例的信息。在任何一個關(guān)系數(shù)據(jù)庫中,設(shè)計的基本要求就是要符合第一范

91、式,不滿足第一范式的數(shù)據(jù)庫就不是關(guān)系數(shù)據(jù)庫。</p><p>  2.第二范式[4]。</p><p>  第二范式(簡稱為2NF)是建立在第一范式(1NF)的基礎(chǔ)之上,即滿足第二范式就必須先滿足第一范式。第二范式要求數(shù)據(jù)庫表中的每個實例或記錄必須可以被惟一地區(qū)分。通俗地講,就是為實現(xiàn)區(qū)分記錄,需要為表加上一個字段,該字段是惟一的,不能有重復(fù)的。第二范式要求實體的屬性必須完全依賴于主關(guān)鍵字

92、。</p><p>  3.第三范式[4]。</p><p>  滿足第三范式(簡稱為3NF)必須先滿足第二范式(2NF)。第三范式要求一個數(shù)據(jù)庫每一張表中不包含已在其它表中已包含的非主關(guān)鍵字信息。通俗地講,就是一張表中已經(jīng)包含另外一張表的主鍵字段之后,就不應(yīng)該包含另外那張被包含主鍵字段表的其它字段,否則會造成數(shù)據(jù)的冗余。簡而言之,第三范式就是屬性不依賴于其它非主屬性。</p>

93、<p>  本文所采用的數(shù)據(jù)庫設(shè)計范式是第一范式、第二范式和第三范式。一般說來,數(shù)據(jù)庫只需滿足第三范式就行了。本文之所以采用數(shù)據(jù)庫的設(shè)計范式,是因為范式已經(jīng)成為一種行業(yè)的設(shè)計標(biāo)準(zhǔn),采用范式設(shè)計,不僅能夠使數(shù)據(jù)庫的結(jié)構(gòu)能夠簡潔清晰,而且不會導(dǎo)致數(shù)據(jù)操作的混亂或丟失,其重要性顯而易見。本次設(shè)計的6張表,全部采用3范式。每一張表都有自己的獨立主鍵,比如用戶表中用戶編號就是主鍵。因為本文設(shè)計的系統(tǒng)較小,所以每張表都不出現(xiàn)重復(fù)的數(shù)據(jù)

94、項,因為重復(fù)的數(shù)據(jù)項會被分割出去,成為新表。除了用戶表,其余5張表都存在外鍵。發(fā)帖表中的外鍵是用戶編號和版塊編號,因為每個發(fā)表的帖子都有發(fā)表用戶和所屬版塊?;靥淼耐怄I是用戶編號和發(fā)帖編號,因為每個回帖都有發(fā)表用戶和對應(yīng)的發(fā)表的主帖。版塊表中的外鍵只有用戶編號,這需要記錄哪個用戶所添加的版塊。廣告和公告表中的外鍵也是只有用戶編號,因為它們獨立于版塊,也不需要版塊編號,只需要記錄哪個用戶添加的即可。</p><p>

95、;  3.3 E-R模型圖</p><p>  數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計的核心內(nèi)容是概念模型的表示方法。概念模型的表示方法很多,其中最為著名最為常用的是E-R圖。實體-聯(lián)系模型(簡稱E-R模型)是由P.P.Chen于1976年首先提出的。它提供不受任何DBMS約束的面向用戶的表達(dá)方法,在數(shù)據(jù)庫設(shè)計中被廣泛用作數(shù)據(jù)建模的工具,提供了表示實體類型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。</p><

96、;p>  E-R模型的基本元素包括實體、聯(lián)系和屬性。實體是數(shù)據(jù)描述的現(xiàn)實世界中的對象或概念,在E-R圖中用矩形表示,矩形框內(nèi)寫明實體名。屬性是實體所擁有的某一特性,一個實體可由若干個屬性來組成,在E-R圖中用橢圓表示,橢圓框內(nèi)寫明屬性名。聯(lián)系也稱關(guān)系,信息世界中反映實體內(nèi)部或?qū)嶓w之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系;實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。在E-R圖中用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用

97、無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n或m:n)。具體如圖3.2所示:</p><p>  實體 屬性 聯(lián)系</p><p>  圖3.2 E-R模型基本元素符號</p><p>  實體與實體之間的聯(lián)系主要可分為三類[4]:</p&

98、gt;<p>  1.一對一聯(lián)系:實體集A中的每一個實體,實體集B中至多有一個實體于之聯(lián)系,反之亦然,則A與B之間的聯(lián)系為1:1。</p><p>  2.一對多聯(lián)系:實體集A中的每一個實體,實體集B中有n(n≥0)個實體與之聯(lián)系;實體集B中的每一個實體,實體集A中至多有一個實體與之聯(lián)系,則A與B之間的聯(lián)系為1:n。</p><p>  3.多對多聯(lián)系:實體集A中的每一個實體

99、,實體集B中有個n(n≥0)實體與之聯(lián)系;實體集B中的每一個實體,實體集A中有m(m≥0)個實體與之聯(lián)系,則A與B之間的聯(lián)系為m:n。</p><p>  通過需求分析階段,得到數(shù)據(jù)流圖,并采用如前所述概念設(shè)計方法與步驟,經(jīng)過詳細(xì)設(shè)計后得到系統(tǒng)數(shù)據(jù)庫E-R模型。由于本文涉及到的實體過多,所以,本小節(jié)主要從用戶與帖子、帖子與版塊、全局三個具有代表性的方面進(jìn)行分析。</p><p>  3.3

100、.1 用戶與帖子實體分析</p><p>  用戶實體擁有編號、姓名、性別等屬性。帖子實體擁有編號、主題、內(nèi)容等屬性。用戶與帖子的關(guān)系主要是發(fā)表和回復(fù)。用戶與帖子之間的關(guān)系是多對多的。一個用戶可以發(fā)表或回復(fù)多個帖子,一個帖子可以被多個用戶發(fā)表或回復(fù)。用戶與帖子實體之間的關(guān)系如圖3.3所示:</p><p>  圖3.3 用戶與帖子E-R圖</p><p>  3.3

101、.2 帖子與版塊實體分析</p><p>  版塊實體擁有編號、名稱、描述等屬性。用戶發(fā)表的帖子,將會在用戶當(dāng)前所在的版塊中顯示出來,不同的版塊內(nèi)容帖子不同。版塊與帖子之間的關(guān)系是一對多的。一個版塊可以有多個帖子,但是一個帖子只能從屬于一個版塊。帖子與版塊實體之間的關(guān)系如圖3.4所示:</p><p>  圖3.4 帖子與版塊E-R圖</p><p>  3.3.3

102、 全局E-R分析</p><p>  論壇系統(tǒng)的實體主要有用戶、管理員、帖子和版塊等會員和個人信息之間的關(guān)系是一對一的。每個會員只能修改自己的信息。總體來看,用戶與帖子的關(guān)系是一對多,帖子與版塊的關(guān)系是多對一。同時,管理員與帖子的關(guān)系是一對多,與版塊的關(guān)系也是一對多。一個管理員可以審核多個帖子,也可以操作多個版塊。全局E-R分析描述如圖3.5所示:</p><p>  圖3.5 論壇系統(tǒng)全

103、局E-R圖</p><p>  3.4數(shù)據(jù)庫邏輯設(shè)計</p><p>  邏輯結(jié)構(gòu)設(shè)計是將抽象的概念結(jié)構(gòu)轉(zhuǎn)換為所選用的DBMS支持的數(shù)據(jù)類型,并對其進(jìn)行優(yōu)化。數(shù)據(jù)庫邏輯設(shè)計決定了數(shù)據(jù)庫及其應(yīng)用的整體性能。如果數(shù)據(jù)庫邏輯設(shè)計不合理,則提高數(shù)據(jù)庫性能的所有調(diào)優(yōu)方案將具有局限性[9]。</p><p>  數(shù)據(jù)庫邏輯設(shè)計時必須遵守規(guī)范化理論,才能使數(shù)據(jù)庫設(shè)計的方法相對完備

104、。規(guī)范化的理論不僅為數(shù)據(jù)庫邏輯設(shè)計提供了理論指導(dǎo),同時也減少了數(shù)據(jù)冗余,節(jié)約了存儲空間,從而提高了數(shù)據(jù)庫性能。</p><p>  通過對系統(tǒng)的功能模塊與數(shù)據(jù)庫概念設(shè)計分析,將E-R圖描述的概念模型轉(zhuǎn)換成關(guān)系模型,因此本次設(shè)計的論壇系統(tǒng)數(shù)據(jù)庫表主要有6張,分別是用戶表,發(fā)帖表,回帖表,版塊表,公告表和廣告表。</p><p>  數(shù)據(jù)庫邏輯結(jié)構(gòu)的設(shè)計的步驟有3步:第1步,將概念結(jié)構(gòu)轉(zhuǎn)化成為

105、一般的關(guān)系、網(wǎng)狀或?qū)哟文P?;?步,將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定 DBMS 支持下的數(shù)據(jù)模型轉(zhuǎn)換;第3步,對轉(zhuǎn)化后的數(shù)據(jù)模型進(jìn)行詳細(xì)的優(yōu)化。</p><p>  用戶表,用于記錄論壇系統(tǒng)中的用戶,包括管理員,版主和注冊會員。其字段包含用戶編號,姓名,密碼,性別,郵箱,QQ,電話和狀態(tài),這些字段都是非空的。值得注意的是,用戶的編號是主鍵,系統(tǒng)自增,不需要特別指定。用戶的狀態(tài)用來描述用戶的身份。具體描述見表3

106、.1用戶表:</p><p>  表3.1 T_USER用戶表</p><p>  發(fā)帖表,用于記錄會員所發(fā)帖子的相關(guān)信息,包括帖子主題,帖子內(nèi)容和帖子所屬版塊。其字段包含主題編號,版塊編號,用戶編號,主題名稱,主題內(nèi)容,發(fā)表日期和主體狀態(tài),這些字段都是非空的。其中主題編號是主鍵,系統(tǒng)自增,不需要特別指定。版塊編號是版塊表的主鍵,用戶編號是用戶表的主鍵,這兩個字段在此是外鍵。具體描述見表3

107、.2發(fā)帖表:</p><p>  表3.2 T_TOPIC發(fā)帖表</p><p>  回帖表,用于記錄會員對某一帖子回復(fù)的相關(guān)信息,包含回帖的用戶,回帖的信息和回帖的內(nèi)容。其字段包含回帖編號,用戶編號,主題編號,回帖內(nèi)容,回帖日期和回帖狀態(tài),這些字段都是非空的。其中回帖編號是主鍵,系統(tǒng)自增,不需要特別指定。用戶編號是用戶表的主鍵,主題編號是主題表的主鍵,這兩個字段在此是外鍵。具體描述見表3

溫馨提示

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

最新文檔

評論

0/150

提交評論