社區(qū)類論壇設(shè)計(jì)方案_第1頁(yè)
社區(qū)類論壇設(shè)計(jì)方案_第2頁(yè)
社區(qū)類論壇設(shè)計(jì)方案_第3頁(yè)
社區(qū)類論壇設(shè)計(jì)方案_第4頁(yè)
已閱讀5頁(yè),還剩21頁(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、社區(qū)類論壇設(shè)計(jì)方案第1章需求分析論壇能夠?yàn)樯鐓^(qū)提供一個(gè)自由的空間,來(lái)方便大家交流。最初,論壇只是用于發(fā)布公告信息、討論問(wèn)題的在線交流平臺(tái),后來(lái),隨著網(wǎng)絡(luò)的普及,論壇的功能越來(lái)越豐富, 受到廣大網(wǎng)民的歡迎。 因此商業(yè)也對(duì)論壇重視起來(lái),紛紛在自己的上開(kāi)辟論壇,作為與網(wǎng)民交流的園地。同時(shí),在線技術(shù)支持和在線服務(wù)也在論壇中開(kāi)展起來(lái)。1.1 用例分析在論壇里,人們之間的交流打破了空間,時(shí)間的限制。在與別人進(jìn)行交往時(shí),無(wú)須考慮自身的年齡,學(xué)歷,知識(shí),社會(huì)地位,財(cái)富,外貌,健康狀況,也無(wú)從知道交談的對(duì)方的真實(shí)社會(huì)身份。這樣,參與討論的人可以處于一個(gè)平等的位置與其他人進(jìn)行任何問(wèn)題的探討。 論壇往往是由一些有志

2、于此道的愛(ài)好者建立,對(duì)所有人都免費(fèi)開(kāi)放。而且,由于 BBS的參與人眾多,因此各方面的話題都不乏熱心者。我們當(dāng)然可以利用它來(lái)解決學(xué)習(xí)中的一些疑惑,也可以把自己的心事吐露出來(lái)。圖 1-1 是論壇的用例分析。基本參數(shù)論壇分頁(yè)參數(shù)刪除添加設(shè)置權(quán)限用戶相關(guān)參數(shù)設(shè)置論壇參數(shù)管理用戶刪除創(chuàng)建版塊轉(zhuǎn)移刪除版塊管理版塊管理用戶管理員置頂修改版塊瀏覽版塊列表編輯指定精華修改個(gè)人信息注冊(cè)用戶發(fā)帖登陸瀏覽帖子搜索回帖圖 1-1 論壇的用例分析我們來(lái)分析每類對(duì)象的相關(guān)操作,設(shè)計(jì)對(duì)象的功能實(shí)現(xiàn)接口,既設(shè)計(jì)對(duì)象的操作類的方法或者說(shuō)是功能函數(shù)。論壇類只有設(shè)置參數(shù)一個(gè)方法,既把設(shè)置一組參數(shù)作為一個(gè)方法,也可以把設(shè)置一個(gè)參數(shù)作為

3、一個(gè)方法。圖1-2 是論壇對(duì)象的用例分析。論壇對(duì)象用例圖論壇分頁(yè)參數(shù)設(shè)置論壇參數(shù)基本參數(shù)用戶相關(guān)參數(shù)管理員圖 1-2 論壇對(duì)象的用例分析版塊實(shí)體類有了瀏覽列表和管理兩個(gè)方法,管理方法又可分為創(chuàng)建、修改、和刪除三個(gè)子方法,圖1-3 是板塊對(duì)象的用例分析,管理員可以管理版塊和瀏覽版塊列表,而用戶只能瀏覽版塊列表。版塊對(duì)象用例圖創(chuàng)建版塊管理版塊修改版塊刪除版塊管理員瀏覽版塊列表用戶圖 1-3 版塊對(duì)象的用例分析帖子類有瀏覽、發(fā)帖、回帖、搜索和管理5 個(gè)方法,瀏覽方法,瀏覽方法又可分為列表和查看兩個(gè)子方法,管理方法又可分為編輯、刪除、置頂、轉(zhuǎn)移、指定精華5 個(gè)子方法。圖 1-4 是帖子對(duì)象的用例分析,

4、只有管理員可以管理帖子,一般用戶是沒(méi)有這個(gè)權(quán)限的。帖子對(duì)象用例圖刪除轉(zhuǎn)移管理帖子置頂指定精華管理員編輯發(fā)帖回帖搜索用戶瀏覽帖子圖 1-4 帖子對(duì)象的用例分析用戶類有注冊(cè)、登陸和管理3 個(gè)方法,管理方法又分為添加、刪除和設(shè)置權(quán)限 3 個(gè)子方法。圖 1-5 是用戶對(duì)象的用例分析,用戶的信息和權(quán)限是由管理員來(lái)設(shè)置管理的。用戶對(duì)象用例圖刪除管理用戶添加設(shè)置權(quán)限管理員注冊(cè)登陸修改個(gè)人信息用戶圖 1-5 用戶對(duì)象的用例分析1.2 業(yè)務(wù) / 機(jī)構(gòu)劃分像日常生活中的黑板報(bào)一樣,論壇按不同的主題分為許多版塊,版面的設(shè)立依據(jù)是大多數(shù)擁護(hù)的要求和喜好, 用戶可以閱讀別人關(guān)于某個(gè)主題的看法,也可以將自己的想法毫無(wú)保留

5、地帖到論壇中。一般來(lái)說(shuō),論壇也提供功能,如果需要私下的交流, 也可以將想說(shuō)的話直接發(fā)到某個(gè)人的電子信箱中。用戶在前臺(tái)的注冊(cè)、登陸,以及修改個(gè)人的注冊(cè)信息組合成注冊(cè)登陸模塊;用戶瀏覽版塊、瀏覽主題帖列表、查看帖子組成合成瀏覽模塊;用戶發(fā)帖、回帖、編輯發(fā)布的帖子組合成發(fā)帖回帖模塊;管理員編輯帖子、刪除帖子、轉(zhuǎn)移帖子、置頂帖子和指定精華帖組合成管理帖子模塊。1.3 業(yè)務(wù)流程用戶注冊(cè)登陸進(jìn)入論壇,就某個(gè)話題展開(kāi)討論,通過(guò)發(fā)帖功能發(fā)布新的話題,通過(guò)回帖功能回復(fù)已有的話題,通過(guò)搜索功能查找已有的話題。管理員要管理論壇,軟件需要具有的功能有創(chuàng)建、編輯、刪除論壇的版塊,管理注冊(cè)的用戶,管理帖子,設(shè)置論壇基本參

6、數(shù)。這樣的流程決定了論壇所具有的功能,圖 1-6 表示論壇功能流程。瀏覽者瀏覽版塊搜索瀏覽帖子回帖注冊(cè)登陸用戶管理版塊發(fā)帖管理用戶管理員管理帖子圖 1-6論壇功能流程1.4 實(shí)體 - 關(guān)系分析每個(gè)模塊的功能,真實(shí)反映需求,通過(guò)對(duì)需求的認(rèn)真分析,可以設(shè)計(jì)出符合要求的單獨(dú)模塊。 對(duì)于論壇來(lái)說(shuō),聯(lián)系各個(gè)模塊的主線是使用者的權(quán)限,用戶能使用論壇的那些功能由用戶權(quán)限決定。論壇的每個(gè)功能都與相應(yīng)的權(quán)限對(duì)應(yīng)。瀏覽版塊與發(fā)帖回帖模塊、管理帖子模塊關(guān)聯(lián),是由論壇的系統(tǒng)流程決定的,圖 1-7 是帖子相關(guān)模塊關(guān)系。發(fā)帖回帖瀏覽帖子管理帖子圖 1-7 帖子相關(guān)模塊關(guān)系管理版塊模塊與瀏覽模塊關(guān)聯(lián),是由帖子與版塊的父子關(guān)

7、系決定的,帖子依附于版塊,先有版塊,后有帖子,帖子必須發(fā)表在某個(gè)版塊中,圖1-8是管理板塊模塊與瀏覽模塊的關(guān)系。圖 1-8管理版塊模塊與瀏覽模塊的關(guān)系管理用戶模塊與注冊(cè)登陸模塊關(guān)聯(lián),是由同一類對(duì)象用戶決定的,注冊(cè)后獲得論壇的身份,后成為用戶,所有的用戶需要接受管理員的管理,用戶登錄證明自己在論壇中的身份,圖 1-9 是管理用戶模塊與注冊(cè)登錄模塊的關(guān)系。注冊(cè)登陸用戶管理用戶圖 1-9 管理用戶模塊與注冊(cè)登陸模塊的關(guān)系1.5 實(shí)體屬性和職責(zé)表 1-5-1 是網(wǎng)上論壇實(shí)體目錄表實(shí)體名說(shuō)明實(shí)體條目編號(hào)管理員論壇的管理人員P-01用戶論壇注冊(cè)用戶包括游客P-02帖子用戶發(fā)表的文章言論S-01短消息用戶間

8、相互發(fā)送的信息S-02公告系統(tǒng)發(fā)布的信息S-03版面信息發(fā)布論壇版面的信息S-04聯(lián)盟論壇信發(fā)布聯(lián)盟論壇的信息S-05息表 1-5-1 網(wǎng)上論壇實(shí)體目錄表下圖以“管理員”為例,說(shuō)明實(shí)體條目的具體編制方法,圖1-5-2 表示了實(shí)體條目的編制方法。1-5-2 實(shí)體條目的編制方法第2章設(shè)計(jì)方案上一節(jié)中確定了論壇系統(tǒng)的設(shè)計(jì)思路,分析了論壇系統(tǒng)的整體需求。但是只知道需不行的,整體需對(duì)系統(tǒng)目標(biāo)的一個(gè)模糊描述。要實(shí)現(xiàn)一個(gè)系統(tǒng),還需要從需求分析上升到軟件設(shè)計(jì)階段。2.1 系統(tǒng)結(jié)構(gòu)從需求分析中得知,可以將功能分為前臺(tái)和后臺(tái)兩類,因此模塊也分為兩大類:前臺(tái)模塊和后臺(tái)模塊。用戶在前臺(tái)注冊(cè)、登陸,以及修改個(gè)人的注冊(cè)信

9、息組合成注冊(cè)登錄模塊;用戶瀏覽版塊、瀏覽主題帖列表、查看帖子組成合成瀏覽模塊;用戶發(fā)帖、回帖、編輯發(fā)布的帖子組合成發(fā)帖回帖模塊;管理員編輯帖子、刪除帖子、轉(zhuǎn)移帖子、置頂帖子和指定精華帖組合成管理帖子模塊。以上 4 個(gè)模塊組成前臺(tái)的功能模塊。后臺(tái)模塊都是與管理員相關(guān)的,設(shè)置論壇參數(shù)單獨(dú)為論壇設(shè)置模塊;創(chuàng)建、修改和刪除版塊為管理版塊模塊;添加、刪除和設(shè)置權(quán)限為管理用戶模塊。圖 2-1 表示了論壇的模塊體系。圖 2-1 論壇的模塊體系2.2 系統(tǒng)架構(gòu)選擇本系統(tǒng)將采用三層架構(gòu)。所謂三層架構(gòu)即三層體系結(jié)構(gòu),顧名思義,我們將運(yùn)用程序從整體上分為三個(gè)獨(dú)立而又彼此相關(guān)聯(lián)的層次,這三層分別是:界面層、業(yè)務(wù)邏輯層

10、、數(shù)據(jù)層。(1) 界面層:界面層就是運(yùn)用程序與用戶的操作接口,提供給用戶一個(gè)視覺(jué)上的界面,通過(guò)界面層,用戶輸入數(shù)據(jù)、獲取數(shù)據(jù)。界面層同時(shí)也提供一定的安全性,確保用戶不會(huì)看到的信息。比如說(shuō):網(wǎng)頁(yè)。在用戶層,常用到的技術(shù)如: HTML、 CSS、 JavaScript 、 ASP/ 等。(2) 業(yè)務(wù)邏輯層:業(yè)務(wù)邏輯層就是將一些業(yè)務(wù)處理的邏輯與規(guī)則經(jīng)過(guò)封裝,它提供一些接口與用戶層與數(shù)據(jù)層進(jìn)行交互, 是界面層和數(shù)據(jù)層的橋梁,它響應(yīng)界面層的用戶請(qǐng)求,執(zhí)行任務(wù)并從數(shù)據(jù)層抓取數(shù)據(jù),并將必要的數(shù)據(jù)傳送給界面層。在業(yè)務(wù)邏輯層,當(dāng)今比較流行的技術(shù)和規(guī),如:Microsoft的 COM/DCOM/COM+/NET組

11、件, SUN的 EJB 等。(3) 數(shù)據(jù)層:數(shù)據(jù)層主要是提供業(yè)務(wù)邏輯層的數(shù)據(jù)接口和后臺(tái)的數(shù)據(jù)管理,數(shù)據(jù)層定義、維護(hù)數(shù)據(jù)的完整性、安全性,它響應(yīng)邏輯層的請(qǐng)求,訪問(wèn)數(shù)據(jù)。這一層通常由大型的數(shù)據(jù)庫(kù)服務(wù)器實(shí)現(xiàn),比較典型的數(shù)據(jù)庫(kù)管理系統(tǒng)有: SQL Sercer 2000/2005、Orcale 8i/9i,DB2等。圖 2-2 三層架構(gòu)2.3 設(shè)計(jì)模式選擇用 JSP 開(kāi)發(fā)的 Web應(yīng)用是跨平臺(tái)的,既能在 Linux 下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。 JSP 將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于 Web的應(yīng)用程序的開(kāi)發(fā)變的迅速和容易。 JSP技術(shù)是Servlets技術(shù)的擴(kuò)

12、展。JDBC(Java DataBase Connectivity) 是 Java 語(yǔ)言為了支持 SQL功能而提供的與數(shù)據(jù)庫(kù)相連的用戶接口。 JDBC由一組 Java 語(yǔ)言編寫的類和接口組成,使用嵌式的 SQL,主要實(shí)現(xiàn)三方面的功能:建立與數(shù)據(jù)庫(kù)的連接,執(zhí)行SQL聲明及處理 SQL執(zhí)行結(jié)果。 JDBC是建立在 ODBC的基礎(chǔ)上,實(shí)際上可視為 ODBC的 Java 語(yǔ)言翻譯形式。JDBC支持的兩種模型如下。兩層模型: JDBC支持兩層模型,圖 2-3 是 JDBC支持的兩層模型。圖 2-3 JDBC 支持的兩層模型三層模型: JDBC支持的三層模型,圖2-4 是 JDBC支持的三層模型。Java

13、 AppletHTML BrowserJava ApplicationJava AppletJDBCDBMS圖 2-4JDBC 支持的三層模型基于 JSP的建設(shè)目前主要有兩種基本的開(kāi)發(fā)模式: 兩層模型和三層模型。目前市場(chǎng)上的軟件開(kāi)發(fā)者大都基于這兩種基本的框架形成自己的開(kāi)發(fā)模式,但是都不同程度地存在編碼重復(fù)現(xiàn)象。針對(duì)開(kāi)發(fā)代碼重復(fù)的問(wèn)題,圖 2-5 表示了設(shè)計(jì)模式。圖 2-5 設(shè)計(jì)模式此種模式對(duì)于基本的數(shù)據(jù)庫(kù)應(yīng)用和基本的頁(yè)面都能夠通過(guò)參數(shù)來(lái)實(shí)現(xiàn),對(duì)于頁(yè)面和數(shù)據(jù)庫(kù)的設(shè)計(jì)復(fù)雜的情況,此種設(shè)計(jì)也針對(duì)一些特殊情況進(jìn)行了處理設(shè)計(jì)。為了適應(yīng)特殊的需要,比如應(yīng)用時(shí)需要的頁(yè)面沒(méi)有相應(yīng)的模板、Word插件的處理等,

14、此種設(shè)計(jì)也提供了擴(kuò)展的能力,應(yīng)用時(shí)可以根據(jù)自己的特殊需要來(lái)添加相應(yīng)的JSP模板文件。2.4 技術(shù)路線選擇俗話說(shuō):工欲善其事,必先利其器。我選擇了器,同樣的 Borland JBuilder全球最具威力之WebLogic 作為應(yīng)用服務(wù)Java 開(kāi)發(fā)環(huán)境 JBuilder也被選擇作為開(kāi)發(fā)工具,而數(shù)據(jù)庫(kù)則選用MySQL。2.3.1WebLogic 服務(wù)器的選擇本設(shè)計(jì)項(xiàng)目的應(yīng)用服務(wù)器選擇 WebLogic Platform 8.1 。Platform 8.1 簡(jiǎn)體中文版是 BEA 公司 2004 年 2 月 9 日發(fā)布的應(yīng)用服務(wù)器平臺(tái)。 BEA 公司的 WebLogic 企業(yè)應(yīng)用平臺(tái)軟件可提供統(tǒng)一的、

15、簡(jiǎn)便的和可擴(kuò)展的應(yīng)用基礎(chǔ)結(jié)構(gòu),為企業(yè)節(jié)省了時(shí)間和資金,確保企業(yè)軟件更和諧地協(xié)同工作,可讓企業(yè)軟件開(kāi)發(fā)人員和 IT 工作人員更富效率,更少失誤,并且其敏捷性讓企業(yè)能夠快速地適應(yīng)新的軟件需求, 避免以往那些導(dǎo)致大量軟件項(xiàng)目失敗的復(fù)雜性。為此選用該應(yīng)用服務(wù)器軟件構(gòu)建和運(yùn)行網(wǎng)上商城應(yīng)用系統(tǒng)。其優(yōu)點(diǎn)主要體現(xiàn)在流程、訪問(wèn)、變化三個(gè)方面:(1) 優(yōu)化端到端的流程,使企業(yè)更有效率;(2) 改進(jìn)信息訪問(wèn)方式,增強(qiáng)業(yè)務(wù)響應(yīng)能力;(3) 借助正確的決策標(biāo)準(zhǔn),適應(yīng)業(yè)務(wù)的各種變化。2.3.2Java 應(yīng)用開(kāi)發(fā)工具選擇對(duì)于 Java 的開(kāi)發(fā), Borland JBuilder 全球最具威力之 Java 開(kāi)發(fā)環(huán)境,相較過(guò)去

16、版本, JBuilder 提供更多省時(shí)工具與精靈, 讓您團(tuán)隊(duì)生產(chǎn)力提升至極限,協(xié)助您在最短時(shí)間開(kāi)發(fā)更好的軟件。這僅是完整 Borland 解決方案的一 部 份 , JBuilder Enterprise 以 融 入 應(yīng) 用 程 序 開(kāi) 發(fā) 周 期 (applicationlifecycle) 為第一要?jiǎng)?wù),能夠使用您現(xiàn)有之技術(shù)投資,并給您最大的自由與彈性,讓您以自己的方式與流程完成工作。BorlandOptimizeitSuite已包含于JBuilderEnterprise版中: JBuilder所包含之創(chuàng)新工具與加值功能將企業(yè)級(jí)Java開(kāi)發(fā)提升至新境界。加速Java開(kāi)發(fā)之最佳工具:視覺(jué)化設(shè)計(jì)工

17、具,讓您快速、順暢地建構(gòu)EJB,全新DataTransferObject(DTO)與 SessionFaade 精靈協(xié)助您用戶端程序碼簡(jiǎn)單而正確地使用 EJB。JBuilder與 BorlandTogetherEditionforJBuilder雙向塑模 (two-waymodeling) 能力,使得 UML圖形與程序碼能夠雙向自動(dòng)同步,您可以運(yùn)用 UML技術(shù)建立設(shè)計(jì)藍(lán)圖與開(kāi)發(fā)團(tuán)隊(duì)成員相互溝通, 或藉由程序碼驗(yàn)證模型是否合理。2.3.3 網(wǎng)頁(yè)設(shè)計(jì)工具選擇本項(xiàng)目的界面設(shè)計(jì)軟件工具選用Dreamweaver MX。Macromedia 公司推出的 Dreamweaver MX中文版,不僅是專業(yè)人員

18、制作的首選工具,而且普及到廣大網(wǎng)頁(yè)制作愛(ài)好者中,相對(duì)于其它網(wǎng)頁(yè)制作工具和以前版本,有以下這些優(yōu)勢(shì):(1) 對(duì)簡(jiǎn)體中文良好的支持,不會(huì)出現(xiàn)一些不兼容中文的現(xiàn)象。例如,在早期的 Dreamweaver4.0 中,制作 Flash 按鈕時(shí)會(huì)出現(xiàn)亂碼。(2) 使用 Dreamweaver MX中文版,可以在可視化界面制作出ASP, ASP,NET,JSP, PHP, ColdFusion站點(diǎn)。(3)Dreamweaver MX 中文版自帶大量模板,簡(jiǎn)化了用戶的制作過(guò)程。(4)Dreamweaver MX 中文版支持?jǐn)?shù)量眾多的第三方插件,大大增強(qiáng)了Dreamweaver MX的功能。(5) 通過(guò)配置 D

19、reamweaver MX 生成符合 XHTML 的代碼,確保用最新的HTML設(shè)計(jì)標(biāo)準(zhǔn)及時(shí)更新站點(diǎn)。2.3.4 MySQL 數(shù)據(jù)庫(kù)服務(wù)器的選擇本設(shè)計(jì)項(xiàng)目的數(shù)據(jù)庫(kù)選擇MySQL。 MySQL是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫(kù)服務(wù)器。 SQL(結(jié)構(gòu)化查詢語(yǔ)言) 是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫(kù)語(yǔ)言。 MySQL 是以一個(gè)客戶機(jī) / 服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個(gè)服務(wù)器守護(hù)程序和很多不同的客戶程序和庫(kù)組成。MySQL是一個(gè)真正的多用戶、 多線程 SQL數(shù)據(jù)庫(kù)服務(wù)器。 SQL(結(jié)構(gòu)化查詢語(yǔ)言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫(kù)語(yǔ)言。MySQL是以一個(gè)客戶機(jī) /服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn), 它由一個(gè)服務(wù)器守護(hù)程序和

20、很多不同的客戶程序和庫(kù)組成。SQL是一種標(biāo)準(zhǔn)化的語(yǔ)言, 它使得存儲(chǔ)、更新和存取信息更容易。 例如,你能用 SQL語(yǔ)言為一個(gè)檢索產(chǎn)品信息及存儲(chǔ)顧客信息,同時(shí) MySQL也足夠快和靈活以允許你存儲(chǔ)記錄文件和圖像。MySQL 主要目標(biāo)是快速、健壯和易用。最初是因?yàn)槲覀冃枰@樣一個(gè)SQL服務(wù)器,它能處理與任何可不昂貴硬件平臺(tái)上提供數(shù)據(jù)庫(kù)的廠家在一個(gè)數(shù)量級(jí)上的大型數(shù)據(jù)庫(kù),但速度更快,MySQL就開(kāi)發(fā)出來(lái)。自1996 年以來(lái),我們一直都在使用MySQL,其環(huán)境有超過(guò)40個(gè)數(shù)據(jù)庫(kù),包含10,000 個(gè)表,其中 500 多個(gè)表超過(guò) 7 百萬(wàn)行,這大約有100個(gè)字節(jié) (GB)的關(guān)鍵應(yīng)用數(shù)據(jù)。MySQL建立的基礎(chǔ)

21、是業(yè)已用在高要求的生產(chǎn)環(huán)境多年的一套實(shí)用例程。盡管 MySQL 仍在開(kāi)發(fā)中,但它已經(jīng)提供一個(gè)豐富和極其有用的功能集。第3章系統(tǒng)實(shí)現(xiàn)本系統(tǒng)是采用 JSP+JavaBean+Servlet 開(kāi)發(fā)的 . 具有 Java 語(yǔ)言跨平臺(tái)的特性,可以方便的運(yùn)行在 Windows、Linux 、Unix 等操作系統(tǒng)上。 支持 MySQL、 Oracle 、SQL server 數(shù)據(jù)庫(kù),如需要還可以方便的擴(kuò)充其他數(shù)據(jù)庫(kù)的支持。系統(tǒng)整體系統(tǒng)結(jié)構(gòu)清晰,擴(kuò)展性良好。支持集群運(yùn)行,同時(shí)做到負(fù)載均衡。同時(shí)運(yùn)用了多種設(shè)計(jì)模式,具有核穩(wěn)定、界面簡(jiǎn)潔、功能強(qiáng)大、操作方便、數(shù)據(jù)安全等特點(diǎn)。3.1 系統(tǒng)文件功能本設(shè)計(jì)的主目錄是 b

22、bs,在 Weblogic 服務(wù)器中發(fā)布和部署的 Web應(yīng)用放在它的 bbs 子目錄下。本設(shè)計(jì)所編寫的人事管理系統(tǒng)是一個(gè) Java Web應(yīng)用 , 它由一組 Servlet 、 JSP和與其相關(guān)的 class 組成。每種組件在 Web應(yīng)用中都有固定的存放目錄。 目錄結(jié)構(gòu)如表 3-1 網(wǎng)上論壇 Web應(yīng)用文件目錄結(jié)構(gòu)表所示。目描述錄/bak存放整個(gè)工程的備份文件/classe包含幾個(gè)模塊的目錄,里面存放各模塊編譯后的字節(jié)碼s文件/doc工程文檔文件,包括標(biāo)題,描述, ,公司,作者,版本等信息/bbs存放 css 、 javascripts、images、 WEB-INF、 jsp等文件夾/bbs

23、/cs存放系統(tǒng)頁(yè)面顯示樣式的層疊樣式表文件s/bbs/存放實(shí)現(xiàn)日歷時(shí)間、動(dòng)態(tài)菜單、表單校驗(yàn)、輸入格式校javascripts驗(yàn)等 java 腳本/bbs/存放系統(tǒng)頁(yè)面要使用的圖片文件images/bbs/存放系統(tǒng)運(yùn)行需要的JAR文件WEB-INF/lib/bbs/存放 Web應(yīng)用的配置文件 web.xml 、Web服務(wù)器的配置文WEB-INF件 server.xml/bbs/包含多個(gè)模塊的目錄,存放JSP文件jsp/src包含多個(gè)模塊的目錄,存放Servlet 、JavaBean 文件表 3-1 網(wǎng)上論壇 Web應(yīng)用文件目錄結(jié)構(gòu)表從上表可以看出,在 src 目錄下存放著所有的 .jsp 文件;

24、在 WEB-INF 目錄下存放著與 Web應(yīng)用配置信息有關(guān)的 web.xml 文件和與 Web服務(wù)器配置信息有關(guān)的 server.xml文件;在 foundation目錄下的四個(gè)子目錄中分別存放著連接數(shù)據(jù)庫(kù)、處理數(shù)據(jù)的 Java 文件和處理字符、日期、數(shù)據(jù)轉(zhuǎn)換、調(diào)試及異常處理的 Java 文件;在 common目錄下存放著共用的接口和表單類及實(shí)現(xiàn)收發(fā)、表單校驗(yàn)等功能的Java 文件,其子目錄upload中存放的是smartupload 插件文件,主要用來(lái)實(shí)現(xiàn)圖片的上傳、下載等功能。3.2 主要類和接口DataBaseMySQL類的 UML圖,圖 3-1 是 DataBaseMySQL類的 UM

25、L圖。圖 3-1DataBaseAccess 類的 UML圖本系統(tǒng)可以通過(guò)DataBaseMySQL類實(shí)現(xiàn)對(duì)不同類型的數(shù)據(jù)庫(kù)的連接和數(shù)據(jù)訪問(wèn)。由上圖可以看出,DataBaseMySQL類由 java.lang類包的 Object類擴(kuò)展而來(lái)。調(diào)用它的getDB2Connection() 方法、 getInformixConnection() 方法、 getMySqlConnection() 方法、 getOracleConnection() 方法、 getSQ LServerConnection() 方法和 getSybaseConnection() 方法可以分別實(shí)現(xiàn)對(duì) D B2、Informi

26、x 、MySql、Oracle 、SQL Server 和 Sybase 數(shù)據(jù)庫(kù)的連接。DataBaseMySQL類也可以被MySQLCommand類的實(shí)例調(diào)用,以執(zhí)行SQL命令,查詢數(shù)據(jù)庫(kù)的數(shù)據(jù)。DataBaseMySQL類可以調(diào)用 java.lang類包里的Exception 類、String 類、StringBuffer 類做異常處理、 字符串處理和字符串緩沖等。 DataBaseAccess 類還可以調(diào)用 Connection 對(duì)象、 DriverManage r 類和 SQLException 類的實(shí)例連接數(shù)據(jù)庫(kù), 并處理執(zhí)行 SQL語(yǔ)句時(shí)出現(xiàn)的異常。此外,DataBaseMySQL

27、類還可以調(diào)用 Properties 類做對(duì)象屬性的獲取和設(shè)置處理。調(diào)用 Context 對(duì)象和 InitContext 類來(lái)為應(yīng)用創(chuàng)建上下文環(huán)境,并對(duì)其做初始化處理。還可以調(diào)用 DataSource 對(duì)象訪問(wèn)數(shù)據(jù)源。3.3 主要系統(tǒng)界面下面僅將用戶登錄界面、發(fā)帖界面、投票界面、搜索界面列出。(1) 用戶登錄界面圖 3-2 是用戶登陸界面,是本系統(tǒng)的用戶登陸界面,數(shù)據(jù)庫(kù)中已經(jīng)存在用戶的信息。該模塊在用戶登陸時(shí)要進(jìn)行用戶名和密碼的有效性校驗(yàn),查詢用戶表,如果該用戶存在則讓他進(jìn)入主頁(yè),如果不存在或者密碼有誤,回到登陸頁(yè)以便用戶再次輸入用戶名及密碼登陸。圖 3-2 用戶登陸界面如果用戶是首次訪問(wèn)此論壇

28、,還沒(méi)有注冊(cè),可以單擊 沒(méi)有注冊(cè) 按鈕進(jìn)入新用戶注冊(cè)界面進(jìn)行注冊(cè),這是給用戶進(jìn)入論壇的一個(gè)通道,是任何論壇都不可缺少的部分。如果已經(jīng)注冊(cè)了的用戶在登陸時(shí)忘記了密碼,則可單擊 忘記論壇密碼 按鈕,系統(tǒng)應(yīng)該提示用戶輸入密碼提示等幫用戶找回密碼,這是個(gè)比較人性化的設(shè)計(jì)。(2) 發(fā)帖界面當(dāng)?shù)顷戇M(jìn)來(lái)想說(shuō)話的時(shí)候,自然會(huì)想到怎么才能說(shuō),怎么發(fā)帖子呢?圖 3-3 是發(fā)帖界面,是發(fā)帖子的界面,這里只允許會(huì)員發(fā)表新帖子,需要填寫的新帖子信息包括:用戶名、密碼、主題、當(dāng)前心情、具體容等,這也是帖子表里應(yīng)該有的最基本信息。其中標(biāo)題下不能超過(guò)200 個(gè)漢字,要進(jìn)行校驗(yàn)。針對(duì)“當(dāng)前心情” ,本論壇提供了一些心情圖片,用

29、戶只需選擇一個(gè)即可?!叭荨笔侵笗鴮懱尤輹r(shí)輸入框支持什么不支持什么等。具體容輸入框上的按鈕可以對(duì)輸入的容進(jìn)行字體等方面的設(shè)置。輸入框下方還提供了一些小圖片,用戶單擊表情圖標(biāo)就可在帖子中加入相應(yīng)的表情。“高級(jí)設(shè)置”中的簽名顯示還是不顯示或者匿名看作者而定,可以選擇也可以不選。所有容填寫完畢后,單擊 發(fā)表 按鈕則數(shù)據(jù)庫(kù)中相應(yīng)的帖子表增加一條記錄,用戶帖子發(fā)表成功。圖 3-3 發(fā)帖界面(3) 投票界面當(dāng)看到一個(gè)比較不錯(cuò)的帖子, 要對(duì)其進(jìn)行評(píng)論時(shí), 就可以對(duì)其發(fā)起投票,這是發(fā)起投票的設(shè)計(jì)初衷。投票表與帖子表相似,也相當(dāng)于一個(gè)帖子,只是要針對(duì)某個(gè)具體的帖子進(jìn)行操作。圖 3-4 是投票界面,發(fā)起投票的界面

30、與帖子表的界面相似,也只允許會(huì)員發(fā)表對(duì)帖子的投票, 需要填寫的投票信息包括: 用戶名、密碼、帖子主題、投票項(xiàng)目、當(dāng)前心情、具體容等,其中標(biāo)題不能超過(guò) 200 個(gè)漢字,要進(jìn)行校驗(yàn)。針對(duì)“當(dāng)前心情” ,本論壇提供了一些心情圖片,用戶只需選擇一個(gè)即可?!巴镀表?xiàng)目”設(shè)置一些投票項(xiàng)目,但每行只能有一個(gè)項(xiàng)目,最多只能設(shè)置十個(gè)選項(xiàng),超過(guò)了就自動(dòng)作廢,根據(jù)作者的意愿可進(jìn)行單選和多選的設(shè)置進(jìn)行選擇?!叭荨笔侵笗鴮懱尤輹r(shí)輸入框支持什么不支持什么等。具體容輸入框上的按鈕可以對(duì)輸入的容進(jìn)行字體等方面的設(shè)置。輸入框下方還提供了一些小圖片,用戶單擊表情圖標(biāo)就可在帖子中加入相應(yīng)的表情?!案呒?jí)設(shè)置”中的簽名顯示還是不顯示或

31、者匿名看作者而定,可以選擇也可以不選。所有容填寫完畢后,單擊 發(fā)表 按鈕則數(shù)據(jù)庫(kù)中相應(yīng)的帖子表增加一條記錄,用戶帖子發(fā)表成功。圖 3-4 投票界面(4) 搜索界面論壇搜索功能三論壇中除了導(dǎo)航按鈕這種直接的方式之外的另外一種定位方式。導(dǎo)航按鈕通過(guò)告訴用戶有哪些東西訪問(wèn)和查詢,而搜索則從用戶的角度出發(fā)來(lái)進(jìn)行設(shè)計(jì)。搜索首先需要輸入用戶要搜索的關(guān)鍵字,其次需要選擇該關(guān)鍵字是搜索的新聞主題作者、帖子標(biāo)題還是帖子容等,關(guān)鍵字搜索的選擇包括帖子主題、關(guān)鍵字等,同時(shí)在搜索時(shí)需要進(jìn)行日期圍的限定,因此需要給出日期的選擇項(xiàng),在本搜索設(shè)計(jì)中,我們?cè)O(shè)計(jì)的日期圍包括: 5 天以來(lái)、 10 天以來(lái)、 15 天以來(lái)、 30

32、 天以來(lái)、 60 天以來(lái)、 90 天以來(lái),以此從小的圍搜索,都可以滿足不同的搜索。 另外一種選擇,應(yīng)該包括論位置的定位。圖 3-5 是搜索界面。圖 3-5 搜索界面3.4 文件的打包和部署先在 JBuilder 9中將整個(gè)工程編譯 , 然后利用 JBuilder 9自帶的工具把工程源文件打包、配置。下面簡(jiǎn)單闡述如何在BEA Weblogic中部署自己的應(yīng)用程序:(1) 啟動(dòng) BEA Weblogic Platform 8.1的 configuration wizard創(chuàng)建一個(gè)自己的域 netshopdomain, 設(shè)置監(jiān)聽(tīng)端口為7777。(2) 啟動(dòng) Weblogic 的控制臺(tái),進(jìn)入Servi

33、ces Configuration JDBC的Connection Pools、Data Sources下分別配置數(shù)據(jù)連接池mynetshoppool和數(shù)據(jù)源netshoDS。(3) 啟動(dòng)Weblogic的控制臺(tái),進(jìn)入Your Deployed Resources下WebApplication Modules中部署自己的應(yīng)用程序。(4) 啟動(dòng) IE 瀏覽器,在地址欄中輸入: localhost:7001 即可訪問(wèn)自己的首頁(yè)。在其他機(jī)器中訪問(wèn)輸入: 192.168.3.X:7001 (其中 192.168.3.X 為服務(wù)器的 IP 地址)即可訪問(wèn)。3.5 設(shè)計(jì)難題及解決辦法3.5.1 系統(tǒng)后臺(tái)與

34、前臺(tái)的設(shè)計(jì)本系統(tǒng)設(shè)計(jì)過(guò)程是將后臺(tái)部分與前臺(tái)部分的入口放在主頁(yè)面上, 以方便系統(tǒng)管理人員的通用化管理。當(dāng)系統(tǒng)管理員登陸系統(tǒng)首頁(yè)時(shí),在系統(tǒng)的最上方會(huì)出現(xiàn)管理登陸入口,可以從此入后臺(tái)管理界面。同時(shí),在系統(tǒng)后臺(tái)和前臺(tái)的設(shè)計(jì)上,系統(tǒng)采用了共同的頁(yè)面開(kāi)發(fā)模式和組件調(diào)用模式,其中的文件頭和文件尾等部分都是相互通用的。3.5.2 頁(yè)面容的分塊設(shè)計(jì)在系統(tǒng)主頁(yè)中,從頁(yè)頭、版面列表、推薦論壇、用戶來(lái)訪信息、論壇圖例、文件尾等部分進(jìn)行了抽象提取, 這樣在需要用到的某一個(gè)部分的頁(yè)面時(shí),只需要進(jìn)行相關(guān)的包含即可。3.5.3 數(shù)據(jù)庫(kù)連接池的方便管理一般編寫數(shù)據(jù)庫(kù)連接的方式是,在程序需要請(qǐng)求數(shù)據(jù)庫(kù)時(shí)直接連接,這樣有一個(gè)問(wèn)題,就是用戶頻繁地請(qǐng)求連接,降低了數(shù)據(jù)庫(kù)的使用效率,在大用戶量的情況下,還容易造成排隊(duì)阻塞的情況。為了解決這個(gè)問(wèn)題,本系統(tǒng)使用了連接池,在系統(tǒng)初始化時(shí)啟動(dòng)perties文件中配置的連接池,如果程序需要連接, 則從該池中取出一個(gè)連接使用, 使用完后又返回給該池,這樣這些連接可以復(fù)用,提高了效率。3.5.4 組件技術(shù)使分

溫馨提示

  • 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)論