版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1網(wǎng)上論壇系統(tǒng)實踐指南網(wǎng)上論壇系統(tǒng)實踐指南 2n介紹網(wǎng)上論壇系統(tǒng)的立項、需求、設(shè)計和編程實現(xiàn),介紹網(wǎng)上論壇系統(tǒng)的立項、需求、設(shè)計和編程實現(xiàn),重點是重點是J2EE下的系統(tǒng)整體架構(gòu)設(shè)計、數(shù)據(jù)庫設(shè)計、下的系統(tǒng)整體架構(gòu)設(shè)計、數(shù)據(jù)庫設(shè)計、JDBC數(shù)據(jù)庫連接中間件的連接方法、用戶注冊登數(shù)據(jù)庫連接中間件的連接方法、用戶注冊登錄功能和版塊管理功能的編程實現(xiàn)源代碼。錄功能和版塊管理功能的編程實現(xiàn)源代碼。n根據(jù)課程設(shè)計指導(dǎo)書的文檔制作標準,給出詳細而根據(jù)課程設(shè)計指導(dǎo)書的文檔制作標準,給出詳細而標準的需求分析文檔和系統(tǒng)設(shè)計文檔。標準的需求分析文檔和系統(tǒng)設(shè)計文檔。n本項目的重要性與先進性在于:網(wǎng)上論壇系統(tǒng)是在本項目的
2、重要性與先進性在于:網(wǎng)上論壇系統(tǒng)是在當今最先進的當今最先進的J2EE平臺下設(shè)計的。平臺下設(shè)計的。n作為學(xué)生實習的項目,網(wǎng)上論壇系統(tǒng)的規(guī)模作為學(xué)生實習的項目,網(wǎng)上論壇系統(tǒng)的規(guī)模(或工或工作量作量)不大不小,既非常合適,又極具新意,希望不大不小,既非常合適,又極具新意,希望將學(xué)生劃分為多個項目組,每組將學(xué)生劃分為多個項目組,每組3-5人,確定人,確定1名名項目經(jīng)理,進行分工協(xié)作,一邊上課,一邊看書,項目經(jīng)理,進行分工協(xié)作,一邊上課,一邊看書,一邊模仿著做項目,用一邊模仿著做項目,用2周時間完成這項任務(wù)。驗周時間完成這項任務(wù)。驗收內(nèi)容包括需求文檔、設(shè)計文檔。收內(nèi)容包括需求文檔、設(shè)計文檔。 3系統(tǒng)立項
3、背景系統(tǒng)立項背景 n論壇又叫論壇又叫BBSBBS,全稱為全稱為Bulletin Board SystemBulletin Board System,中文意思是中文意思是“電電子公告板子公告板”,它是,它是InternetInternet上的一種交互性極強的、網(wǎng)友喜聞樂上的一種交互性極強的、網(wǎng)友喜聞樂見的電子信息服務(wù)系統(tǒng),提供一塊公共電子白板,每個用戶都可見的電子信息服務(wù)系統(tǒng),提供一塊公共電子白板,每個用戶都可以在上面書寫,發(fā)布各自的信息或提出不同的看法,以便與其它以在上面書寫,發(fā)布各自的信息或提出不同的看法,以便與其它用戶進行交流討論。用戶進行交流討論。nJ2EEJ2EE技術(shù)具有許多顯著的優(yōu)點
4、,所以我們采用技術(shù)具有許多顯著的優(yōu)點,所以我們采用J2EEJ2EE平臺來開發(fā)。平臺來開發(fā)。近兩年來也開始流行起新的網(wǎng)絡(luò)編程腳本語言近兩年來也開始流行起新的網(wǎng)絡(luò)編程腳本語言ASP.NETASP.NET。ASP.NETASP.NET和和JSPJSP同樣是屬于編譯型的,即在第一次運行同樣是屬于編譯型的,即在第一次運行WEBWEB應(yīng)用時將代碼編應(yīng)用時將代碼編譯,以后重新運行就不再進行編譯了,除非代碼發(fā)生改變。譯,以后重新運行就不再進行編譯了,除非代碼發(fā)生改變。 n網(wǎng)上論壇管理系統(tǒng)采用了網(wǎng)上論壇管理系統(tǒng)采用了J2EEJ2EE設(shè)計模式中的設(shè)計模式中的MVCMVCModel 2Model 2模式,模式,采用
5、采用MySQLMySQL做數(shù)據(jù)庫服務(wù)器。做數(shù)據(jù)庫服務(wù)器。4系統(tǒng)需求分析系統(tǒng)需求分析 n需求分析就是對顧客的需求進行定義或確定,這一過程十分重要,需求分析就是對顧客的需求進行定義或確定,這一過程十分重要,而且有許多工作看似容易,做起來很難。因為客戶的需求具有動而且有許多工作看似容易,做起來很難。因為客戶的需求具有動態(tài)性,甚至有個別用戶朝三暮四地變化;同時客戶的需求具有模態(tài)性,甚至有個別用戶朝三暮四地變化;同時客戶的需求具有模糊性,有些客戶對業(yè)務(wù)流程表達不規(guī)范,對需求表達不清楚不明糊性,有些客戶對業(yè)務(wù)流程表達不規(guī)范,對需求表達不清楚不明確,甚至自己都不清楚真正的需求是什么。所以唯一不變的是變確,甚
6、至自己都不清楚真正的需求是什么。所以唯一不變的是變化!化!n論壇具有的最基本模塊有:論壇具有的最基本模塊有:n(1) (1) 用戶模塊主要包括用戶登錄、注冊、用戶資料修改等;用戶模塊主要包括用戶登錄、注冊、用戶資料修改等;n(2) (2) 版塊模塊主要實現(xiàn)對論壇版塊的管理,如增刪改等;版塊模塊主要實現(xiàn)對論壇版塊的管理,如增刪改等;n(3) (3) 帖子模塊主要實現(xiàn)顯示帖子內(nèi)容,斑竹或管理員能進行相應(yīng)帖子模塊主要實現(xiàn)顯示帖子內(nèi)容,斑竹或管理員能進行相應(yīng)管理;管理;n(4) (4) 友情鏈接主要用于其他站長申請友情鏈接;友情鏈接主要用于其他站長申請友情鏈接;n(5) (5) 廣告模塊主要用于論壇放
7、置廣告,并進行相應(yīng)管理。廣告模塊主要用于論壇放置廣告,并進行相應(yīng)管理。 5系統(tǒng)需求分析系統(tǒng)需求分析n盡管需求分析過程的工作很多,但最主要的是完成以下盡管需求分析過程的工作很多,但最主要的是完成以下8 8項任務(wù):項任務(wù):n第第1 1項任務(wù):畫出網(wǎng)上論壇管理系統(tǒng)的組織結(jié)構(gòu)圖,由于論壇的組織項任務(wù):畫出網(wǎng)上論壇管理系統(tǒng)的組織結(jié)構(gòu)圖,由于論壇的組織結(jié)構(gòu)是以角色的組成為結(jié)構(gòu)的,因此列出角色結(jié)構(gòu)就可以了。畫出了結(jié)構(gòu)是以角色的組成為結(jié)構(gòu)的,因此列出角色結(jié)構(gòu)就可以了。畫出了組織結(jié)構(gòu)圖,就可以了解到論壇的角色組成,為往后的權(quán)限分配和開組織結(jié)構(gòu)圖,就可以了解到論壇的角色組成,為往后的權(quán)限分配和開發(fā)各個功能模塊奠定
8、了基礎(chǔ)。發(fā)各個功能模塊奠定了基礎(chǔ)。n第第2 2項任務(wù):畫出網(wǎng)上論壇管理系統(tǒng)的業(yè)務(wù)操作流程圖,即業(yè)務(wù)操作項任務(wù):畫出網(wǎng)上論壇管理系統(tǒng)的業(yè)務(wù)操作流程圖,即業(yè)務(wù)操作模型,重點是業(yè)務(wù)操作的流水步驟。模型,重點是業(yè)務(wù)操作的流水步驟。n第第3 3項任務(wù):列出論壇系統(tǒng)的功能點列表,即功能模型。項任務(wù):列出論壇系統(tǒng)的功能點列表,即功能模型。n第第4 4項任務(wù):列出論壇系統(tǒng)的性能點列表,即性能模型。項任務(wù):列出論壇系統(tǒng)的性能點列表,即性能模型。n第第5 5項任務(wù):列出系統(tǒng)的接口列表,即接口模型。由于網(wǎng)上論壇管理項任務(wù):列出系統(tǒng)的接口列表,即接口模型。由于網(wǎng)上論壇管理系統(tǒng)不需要與其它系統(tǒng)或設(shè)備進行交互、連接等,因
9、此此項需求任務(wù)系統(tǒng)不需要與其它系統(tǒng)或設(shè)備進行交互、連接等,因此此項需求任務(wù)在該論壇系統(tǒng)中略去。在該論壇系統(tǒng)中略去。n第第6 6項任務(wù):確定網(wǎng)上論壇管理系統(tǒng)的運行環(huán)境,即環(huán)境模型。項任務(wù):確定網(wǎng)上論壇管理系統(tǒng)的運行環(huán)境,即環(huán)境模型。n第第7 7項任務(wù):約定網(wǎng)上論壇管理系統(tǒng)的界面,即界面模型。項任務(wù):約定網(wǎng)上論壇管理系統(tǒng)的界面,即界面模型。n第第8 8項任務(wù):對網(wǎng)上論壇管理系統(tǒng)的開發(fā)工期、費用、開發(fā)進度、系項任務(wù):對網(wǎng)上論壇管理系統(tǒng)的開發(fā)工期、費用、開發(fā)進度、系統(tǒng)風險等問題進行分析與評估。統(tǒng)風險等問題進行分析與評估。 6需求規(guī)格說明書(需求規(guī)格說明書(Requirements Specificat
10、ionRequirements Specification) n1 1概述(概述(SummarySummary) n1.1 1.1 用戶簡介用戶簡介( (User Synopsis)User Synopsis)n現(xiàn)實生活中的交流存在時間和空間上的局限性,交流人群范圍的狹小,現(xiàn)實生活中的交流存在時間和空間上的局限性,交流人群范圍的狹小,以及間斷的交流,不能保證信息的準確性和可取性。因此,用戶需要以及間斷的交流,不能保證信息的準確性和可取性。因此,用戶需要通過網(wǎng)上論壇的交流擴大交流面,同時可以從多方面獲得自己的及時通過網(wǎng)上論壇的交流擴大交流面,同時可以從多方面獲得自己的及時需求。本系統(tǒng)面向所有樂于
11、參與交流活動的廣大網(wǎng)友,用戶角色大致需求。本系統(tǒng)面向所有樂于參與交流活動的廣大網(wǎng)友,用戶角色大致分為三類:普通用戶、管理員、斑竹(也稱為版主,以下均稱為斑分為三類:普通用戶、管理員、斑竹(也稱為版主,以下均稱為斑竹)。竹)。 n1.2 1.2 項目目的和目標項目目的和目標( (Purpose and Aim of Project)Purpose and Aim of Project)n信息時代迫切要求信息傳播速度加快,局部范圍的信息交流只會減緩信息時代迫切要求信息傳播速度加快,局部范圍的信息交流只會減緩前進的步伐。本系統(tǒng)的目的在于為分散于五湖四海的人提供一個共同前進的步伐。本系統(tǒng)的目的在于為分
12、散于五湖四海的人提供一個共同交流、學(xué)習、傾吐心聲的平臺,實現(xiàn)來自不同地方用戶的極強的信息交流、學(xué)習、傾吐心聲的平臺,實現(xiàn)來自不同地方用戶的極強的信息互動性,用戶在獲得自己所需要的信息的同時也可以廣交朋友,拓寬互動性,用戶在獲得自己所需要的信息的同時也可以廣交朋友,拓寬自己的視野和擴大自己的社交面。自己的視野和擴大自己的社交面。n1.3 1.3 術(shù)語定義術(shù)語定義( (Terms Glossary)Terms Glossary)nIceFishIceFish BBS: BBS:冰魚論壇的英文名稱。冰魚論壇的英文名稱。 7需求規(guī)格說明書(需求規(guī)格說明書(Requirements Specificat
13、ionRequirements Specification)n1.4 1.4 參考資料參考資料( (References)References)n實用軟件工程第二版,實用軟件工程第二版, 趙池龍等趙池龍等 編著,電子工業(yè)出版社,編著,電子工業(yè)出版社,20062006年年9 9月月n1.5 1.5 相關(guān)文檔相關(guān)文檔( (Related Documents)Related Documents)n【1 1】IceFish BBSIceFish BBS項目開發(fā)計劃書項目開發(fā)計劃書n【2 2】IceFishIceFish BBS BBS概要設(shè)計說明書概要設(shè)計說明書n【3 3】IceFishIceFish
14、 BBS BBS詳細設(shè)計說明書。詳細設(shè)計說明書。n1.61.6版本更新信息版本更新信息( (Version Updated Record)Version Updated Record) n2.2.目標系統(tǒng)描述目標系統(tǒng)描述( (System in Target)System in Target)n2.12.1組織結(jié)構(gòu)與職責組織結(jié)構(gòu)與職責( (Organizing Framework and Function)Organizing Framework and Function)n本系統(tǒng)用戶的組織結(jié)構(gòu)圖如圖本系統(tǒng)用戶的組織結(jié)構(gòu)圖如圖4-34-3所示。所示。n2.22.2角色定義角色定義( (Role
15、 Definition)Role Definition)n用戶在系統(tǒng)中扮演的角色,以及可以執(zhí)行的職責,如表用戶在系統(tǒng)中扮演的角色,以及可以執(zhí)行的職責,如表4-34-3所示。所示。 n2.32.3作業(yè)流程作業(yè)流程( (業(yè)務(wù)模型業(yè)務(wù)模型)()(Busywork Flow)(Operation Model)Busywork Flow)(Operation Model)n系統(tǒng)總體業(yè)務(wù)流程圖,如圖系統(tǒng)總體業(yè)務(wù)流程圖,如圖4-84-8所示。對于每一個小的業(yè)務(wù)流程圖,需要單獨畫所示。對于每一個小的業(yè)務(wù)流程圖,需要單獨畫出,為了節(jié)省篇幅,在此不再介紹。出,為了節(jié)省篇幅,在此不再介紹。 n2.4 2.4 信息源
16、信息源( (Bill of Document)Bill of Document)n本系統(tǒng)的主要信息源說明,如表本系統(tǒng)的主要信息源說明,如表4-44-4至表至表4-94-9所示。所示。 83.3.目標系統(tǒng)功能需求目標系統(tǒng)功能需求( (Function of Target System)Function of Target System)94. 4. 目標系統(tǒng)性能需求目標系統(tǒng)性能需求( (Performance of Target System)Performance of Target System) n4.1 4.1 時間需求時間需求( (Time Request)Time Request)n
17、(1)(1)查詢的最長等待時間不超過查詢的最長等待時間不超過5 5秒;秒;n(2)(2)更新信息的時間不超過更新信息的時間不超過3 3秒;秒;n(3)(3)數(shù)據(jù)的上傳和下載的時間不超過數(shù)據(jù)的上傳和下載的時間不超過1010秒。秒。n4.2 4.2 空間需求空間需求( (Space Request)Space Request)n(1)(1)支持的終端數(shù):支持的終端數(shù):=1000=1000;n(2)(2)支持的并行操作的使用者數(shù)支持的并行操作的使用者數(shù):=300:=300;n(3)(3)處理的記錄數(shù)處理的記錄數(shù):1000:1000。 105. 5. 目標系統(tǒng)界面與接口需求目標系統(tǒng)界面與接口需求( (
18、Interface of Target System)Interface of Target System) 圖圖4-5 4-5 論壇首頁論壇首頁 11圖圖4-6 4-6 后臺管理界面后臺管理界面 12開發(fā)環(huán)境和運行環(huán)境開發(fā)環(huán)境和運行環(huán)境 n目前的目前的J2EEJ2EE應(yīng)用開發(fā)環(huán)境分為兩大類:基于命令行的開發(fā)環(huán)境和集成開應(yīng)用開發(fā)環(huán)境分為兩大類:基于命令行的開發(fā)環(huán)境和集成開發(fā)環(huán)境?;诿钚械拈_發(fā)環(huán)境利用簡單的文本編輯工具寫程序代碼,發(fā)環(huán)境。基于命令行的開發(fā)環(huán)境利用簡單的文本編輯工具寫程序代碼,并使用并使用JavaJava命令進行編譯、發(fā)布、運行。常見的集成開發(fā)環(huán)境有命令進行編譯、發(fā)布、運行。常
19、見的集成開發(fā)環(huán)境有BorlandBorland公司的公司的JBuilderJBuilder、IBMIBM公司的公司的WSADWSAD、SUNSUN公司的公司的SUNoneSUNone Studio Studio等,但這等,但這些集成開發(fā)環(huán)境價格昂貴,且運行時對硬件配置要求較高。些集成開發(fā)環(huán)境價格昂貴,且運行時對硬件配置要求較高。n我們使用開源的免費集成開發(fā)環(huán)境我們使用開源的免費集成開發(fā)環(huán)境EclipseEclipse,來開發(fā)冰魚論壇管理系統(tǒng)。來開發(fā)冰魚論壇管理系統(tǒng)。冰魚論壇管理系統(tǒng)的測試、部署和運行冰魚論壇管理系統(tǒng)的測試、部署和運行, ,還需要一個還需要一個WEBWEB服務(wù)器的支持,服務(wù)器的支
20、持,這里選擇使用開源免費的這里選擇使用開源免費的TomcatTomcat。另外,還采用免費的另外,還采用免費的MySQLMySQL作為數(shù)據(jù)庫作為數(shù)據(jù)庫服務(wù)器。服務(wù)器。n系統(tǒng)環(huán)境配置如下:系統(tǒng)環(huán)境配置如下:JDK1.5+Eclipse3.1+Tomcat5.5.15+MySQL5.1JDK1.5+Eclipse3.1+Tomcat5.5.15+MySQL5.1。其其中的中的JDK1.5JDK1.5可以從可以從SunSun官方網(wǎng)(官方網(wǎng)(http:/http:/)下載,它是一切下載,它是一切JavaJava應(yīng)用程序的基礎(chǔ)。應(yīng)用程序的基礎(chǔ)。Eclipse3.1Eclipse3.1可以到可以到http
21、:/下載,下載,Tomcat5.5.15Tomcat5.5.15可以到可以到 下載,下載,MySQL5.1MySQL5.1可以可以到到http:/http:/下載。當然,以上介紹的版本可能已經(jīng)不是最下載。當然,以上介紹的版本可能已經(jīng)不是最新版本,讀者可以從它們的官方網(wǎng)站選擇下載最新版本。新版本,讀者可以從它們的官方網(wǎng)站選擇下載最新版本。n安裝過程:首先安裝安裝過程:首先安裝JDKJDK,可以選擇目標安裝位置,其它的步驟可以按默可以選
22、擇目標安裝位置,其它的步驟可以按默認選項進行安裝;接著安裝認選項進行安裝;接著安裝TomcatTomcat和和MySQLMySQL,可以都按照默認選項進行安可以都按照默認選項進行安裝;最后是裝;最后是EclipseEclipse,直接從官方網(wǎng)站下載的壓縮包解壓就行了,第一次直接從官方網(wǎng)站下載的壓縮包解壓就行了,第一次運行時會自動找出系統(tǒng)中適合運行時會自動找出系統(tǒng)中適合EclipseEclipse運行的運行的JavaJava環(huán)境。環(huán)境。 13整體架構(gòu)設(shè)計整體架構(gòu)設(shè)計 nJavaJava是一門純面向?qū)ο蟮木幊陶Z言,用來編寫各種應(yīng)是一門純面向?qū)ο蟮木幊陶Z言,用來編寫各種應(yīng)用程序。用程序。n與與Jav
23、aJava不同的是,不同的是,J2EEJ2EE是一種體系結(jié)構(gòu),而不是一門是一種體系結(jié)構(gòu),而不是一門編程語言。編程語言。nJ2EEJ2EE是一個標準中間件體系結(jié)構(gòu),旨在簡化和規(guī)范分是一個標準中間件體系結(jié)構(gòu),旨在簡化和規(guī)范分布式多層企業(yè)應(yīng)用系統(tǒng)的開發(fā)和部署。布式多層企業(yè)應(yīng)用系統(tǒng)的開發(fā)和部署。n如圖如圖4-74-7為為J2EEJ2EE多層體系結(jié)構(gòu),包括了客戶層、表示層、多層體系結(jié)構(gòu),包括了客戶層、表示層、業(yè)務(wù)邏輯層和企業(yè)信息系統(tǒng)層。業(yè)務(wù)邏輯層和企業(yè)信息系統(tǒng)層。nJ2EEJ2EE體系結(jié)構(gòu)的實施顯著地提高了企業(yè)應(yīng)用系統(tǒng)的可體系結(jié)構(gòu)的實施顯著地提高了企業(yè)應(yīng)用系統(tǒng)的可移植性、安全性、可伸縮性、負載平衡和可重
24、用性。移植性、安全性、可伸縮性、負載平衡和可重用性。 14J2EEJ2EE多層體系結(jié)構(gòu)多層體系結(jié)構(gòu)nJ2EEJ2EE架構(gòu)開發(fā)應(yīng)用系統(tǒng)主要有兩種類型:架構(gòu)開發(fā)應(yīng)用系統(tǒng)主要有兩種類型:Model1Model1和和Model2Model2。nModel1Model1為三層體系結(jié)構(gòu),以為三層體系結(jié)構(gòu),以JSPJSP為中心進行開發(fā),在為中心進行開發(fā),在JSPJSP頁面中同時實頁面中同時實現(xiàn)顯示、業(yè)務(wù)邏輯和流程控制。這種開發(fā)模式便于掌握且開發(fā)快速,現(xiàn)顯示、業(yè)務(wù)邏輯和流程控制。這種開發(fā)模式便于掌握且開發(fā)快速,然而從軟件工程化的角度來看,它存在著一些不足之處:(然而從軟件工程化的角度來看,它存在著一些不足之處
25、:(1 1)由一組)由一組JSPJSP頁面實現(xiàn)一個業(yè)務(wù)流程,在進行改動時要同時改進多個地方,不便頁面實現(xiàn)一個業(yè)務(wù)流程,在進行改動時要同時改進多個地方,不便于應(yīng)用擴展和升級;(于應(yīng)用擴展和升級;(2 2)業(yè)務(wù)邏輯和表示邏輯混合在)業(yè)務(wù)邏輯和表示邏輯混合在JSPJSP頁面中,不頁面中,不利于應(yīng)用系統(tǒng)業(yè)務(wù)的重用和改動;(利于應(yīng)用系統(tǒng)業(yè)務(wù)的重用和改動;(3 3)對于大型應(yīng)用程序,隨著后期)對于大型應(yīng)用程序,隨著后期開發(fā),開發(fā),JSPJSP會變得臃腫笨重,應(yīng)用系統(tǒng)的可維護性會嚴重惡化。會變得臃腫笨重,應(yīng)用系統(tǒng)的可維護性會嚴重惡化。nModel2Model2是基于是基于MVCMVC(Model-View-
26、ControlModel-View-Control)模式的框架,很好地將業(yè)務(wù)模式的框架,很好地將業(yè)務(wù)邏輯和表示邏輯分離出來。邏輯和表示邏輯分離出來。MVCMVC架構(gòu)具有以下優(yōu)點:(架構(gòu)具有以下優(yōu)點:(1 1)多視圖使用)多視圖使用同一模型,及時地得到模型數(shù)據(jù)變化,從而使所有相關(guān)聯(lián)的視圖和控同一模型,及時地得到模型數(shù)據(jù)變化,從而使所有相關(guān)聯(lián)的視圖和控制器做到同步;(制器做到同步;(2 2)MVCMVC三個層各施其職,互不干擾,并且有利于開三個層各施其職,互不干擾,并且有利于開發(fā)的分工;(發(fā)的分工;(3 3)容易支持新類型的客戶端,只需寫一個新的視圖和控)容易支持新類型的客戶端,只需寫一個新的視圖
27、和控制,就可連接到現(xiàn)存的業(yè)務(wù)模型中。制,就可連接到現(xiàn)存的業(yè)務(wù)模型中。 15J2EEJ2EE多層體系結(jié)構(gòu)多層體系結(jié)構(gòu)n本章的冰魚論壇管理系統(tǒng)案例,將采用本章的冰魚論壇管理系統(tǒng)案例,將采用Model2Model2的的MVCMVC架構(gòu)來實現(xiàn)。現(xiàn)在,根據(jù)架構(gòu)來實現(xiàn)?,F(xiàn)在,根據(jù)前面的需求分析,設(shè)計出論壇系統(tǒng)的總體結(jié)構(gòu)圖,如圖前面的需求分析,設(shè)計出論壇系統(tǒng)的總體結(jié)構(gòu)圖,如圖4-84-8所示。所示。n冰魚論壇管理系統(tǒng)由五個子系統(tǒng)構(gòu)成,并且除了注冊登錄功能模塊有所不同,冰魚論壇管理系統(tǒng)由五個子系統(tǒng)構(gòu)成,并且除了注冊登錄功能模塊有所不同,其它子系統(tǒng)或功能塊的處理與實現(xiàn)都是相似的增刪改查功能。因此,這里將仔其它子
28、系統(tǒng)或功能塊的處理與實現(xiàn)都是相似的增刪改查功能。因此,這里將仔細討論用戶注冊登錄和版塊管理的功能。對于帖子管理、友情管理等子系統(tǒng)將細討論用戶注冊登錄和版塊管理的功能。對于帖子管理、友情管理等子系統(tǒng)將在這里略去,讀者可以參考附件光盤上的源代碼。在這里略去,讀者可以參考附件光盤上的源代碼。n然后,根據(jù)需求分析文檔,設(shè)計出注冊登錄系統(tǒng)的整體體系結(jié)構(gòu)和版塊管理子然后,根據(jù)需求分析文檔,設(shè)計出注冊登錄系統(tǒng)的整體體系結(jié)構(gòu)和版塊管理子系統(tǒng)的整體體系結(jié)構(gòu),它們均分為四層:表示邏輯層、控制邏輯層、數(shù)據(jù)表示系統(tǒng)的整體體系結(jié)構(gòu),它們均分為四層:表示邏輯層、控制邏輯層、數(shù)據(jù)表示層、數(shù)據(jù)持久層。層、數(shù)據(jù)持久層。n由圖由
29、圖4-104-10可知版塊管理子系統(tǒng)用可知版塊管理子系統(tǒng)用MVCMVC模式設(shè)計出來的流程如下:管理員在模式設(shè)計出來的流程如下:管理員在ViewView層(視圖層)層(視圖層)JSPJSP頁面中輸入版塊相關(guān)信息后,由頁面中輸入版塊相關(guān)信息后,由ControlControl層(控制層)中的層(控制層)中的BoardServletBoardServlet利用利用requestrequest獲取獲取JSPJSP頁面中表單的版塊相關(guān)信息以及判斷頁面中表單的版塊相關(guān)信息以及判斷actionaction的行為(增刪改查),然后再傳遞給的行為(增刪改查),然后再傳遞給ModelModel層(模型層)的層(模型
30、層)的BoardBeanBoardBean進行版塊信息的封裝,接著進行版塊信息的封裝,接著BoardServletBoardServlet再調(diào)用模型層中已封裝了所有再調(diào)用模型層中已封裝了所有SQLSQL語語句句BoardDataBeanBoardDataBean中相應(yīng)的方法對數(shù)據(jù)庫進行相應(yīng)的操作。中相應(yīng)的方法對數(shù)據(jù)庫進行相應(yīng)的操作。n由以上流程可以看出,由以上流程可以看出,MVCMVC設(shè)計模式的一個明顯優(yōu)點是,三個層次各司其職,設(shè)計模式的一個明顯優(yōu)點是,三個層次各司其職,互不干擾?;ゲ桓蓴_。 16J2EEJ2EE多層體系結(jié)構(gòu)多層體系結(jié)構(gòu)nViewView層(層(JSPJSP頁面)負責在界面上表
31、現(xiàn),它是通過頁面)負責在界面上表現(xiàn),它是通過ModelModel(模型)模型)訪問企業(yè)數(shù)據(jù)并指定這些數(shù)據(jù)的顯示。訪問企業(yè)數(shù)據(jù)并指定這些數(shù)據(jù)的顯示。nControlControl層(層(ServletServlet)負責處理與視圖的交互轉(zhuǎn)化成模型執(zhí)行的負責處理與視圖的交互轉(zhuǎn)化成模型執(zhí)行的動作,用戶可以通過按鈕或菜單等,來提交在動作,用戶可以通過按鈕或菜單等,來提交在WebWeb應(yīng)用中應(yīng)用中GETGET和和POST HTTPPOST HTTP請求。請求。nModelModel層(層(JavaBeanJavaBean)負責實現(xiàn)業(yè)務(wù)邏輯的封裝,很好的分離了負責實現(xiàn)業(yè)務(wù)邏輯的封裝,很好的分離了后臺業(yè)務(wù)邏
32、輯和前臺表示邏輯,提高了程序的可維護性。后臺業(yè)務(wù)邏輯和前臺表示邏輯,提高了程序的可維護性。n另外,另外,MVCMVC模式也有利于軟件開發(fā)中的分工,對于擅長于網(wǎng)頁設(shè)模式也有利于軟件開發(fā)中的分工,對于擅長于網(wǎng)頁設(shè)計界面的美工,可以負責計界面的美工,可以負責ViewView層,而不必熟悉層,而不必熟悉JavaJava;熟悉熟悉JavaJava的的程序員主要負責程序員主要負責ControlControl層和業(yè)務(wù)邏輯層。這樣的分工合作,達層和業(yè)務(wù)邏輯層。這樣的分工合作,達到開發(fā)資源的最優(yōu)配置,充分發(fā)揮每個人的專長到開發(fā)資源的最優(yōu)配置,充分發(fā)揮每個人的專長.17數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計 n冰魚論壇系統(tǒng)通過數(shù)據(jù)
33、庫連接中間件冰魚論壇系統(tǒng)通過數(shù)據(jù)庫連接中間件JDBCJDBC,來訪問數(shù)據(jù)庫。來訪問數(shù)據(jù)庫。n幾乎在所有的幾乎在所有的WebWeb應(yīng)用程序中,都要訪問存儲在數(shù)據(jù)庫中的信息,應(yīng)用程序中,都要訪問存儲在數(shù)據(jù)庫中的信息,J2EEJ2EE提供了一個標準接口提供了一個標準接口JDBCJDBC來進行數(shù)據(jù)庫的訪問操作。來進行數(shù)據(jù)庫的訪問操作。n要利用要利用JDBCJDBC訪問數(shù)據(jù)庫,首先必須在機器上安裝一個數(shù)據(jù)庫管理系統(tǒng),訪問數(shù)據(jù)庫,首先必須在機器上安裝一個數(shù)據(jù)庫管理系統(tǒng),并將數(shù)據(jù)庫的并將數(shù)據(jù)庫的JDBCJDBC驅(qū)動程序添加到驅(qū)動程序添加到J2EEJ2EE應(yīng)用服務(wù)器的應(yīng)用服務(wù)器的JavaJava編譯器路徑編譯
34、器路徑中。中。n冰魚論壇管理系統(tǒng)采用的是冰魚論壇管理系統(tǒng)采用的是MySQLMySQL數(shù)據(jù)庫管理系統(tǒng),因此還需要數(shù)據(jù)庫管理系統(tǒng),因此還需要MySQLMySQL的驅(qū)動程序,該論壇系統(tǒng)所用的驅(qū)動程序為:的驅(qū)動程序,該論壇系統(tǒng)所用的驅(qū)動程序為:mysql-connector-mysql-connector-java-3.1.12-bin.jarjava-3.1.12-bin.jar,你可以從網(wǎng)站你可以從網(wǎng)站http:/http:/下載而得到它。再將該驅(qū)動程序下載而得到它。再將該驅(qū)動程序拷貝到拷貝到Tomcat_HomeTomcat_Home(TomcatTomcat的安裝目錄)下的的安裝目錄)下的co
35、mmonlibcommonlib子目錄下子目錄下即可。由于即可。由于MySQLMySQL并沒有提供界面操作,對于許多人來說,靠輸入并沒有提供界面操作,對于許多人來說,靠輸入SQLSQL命令來訪問數(shù)據(jù)庫,顯得十分不方便。為此,可以安裝數(shù)據(jù)管理工具命令來訪問數(shù)據(jù)庫,顯得十分不方便。為此,可以安裝數(shù)據(jù)管理工具MySQLMySQL-front-front,或者或者ysqlysql官方提供的官方提供的MySQLMySQL Query Browser Query Browser工具,這工具,這些工具的特點就是可視化,所有操作完全界面化,使些工具的特點就是可視化,所有操作完全界面化,使MySQLMySQL管
36、理變得管理變得較為簡單。較為簡單。n這里應(yīng)當注意的是,數(shù)據(jù)庫管理本身并不是一件容易的事情,只能通這里應(yīng)當注意的是,數(shù)據(jù)庫管理本身并不是一件容易的事情,只能通過可視化界面管理,讓操作簡單方便而已。過可視化界面管理,讓操作簡單方便而已。 18數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計n設(shè)計好系統(tǒng)數(shù)據(jù)庫后,便可以通過使用設(shè)計好系統(tǒng)數(shù)據(jù)庫后,便可以通過使用MySQLMySQL-font-font管管理工具,來創(chuàng)建冰魚論壇的數(shù)據(jù)庫。步驟如下:理工具,來創(chuàng)建冰魚論壇的數(shù)據(jù)庫。步驟如下:n(1 1)啟動)啟動MySQL5.1MySQL5.1數(shù)據(jù)庫服務(wù)器:數(shù)據(jù)庫服務(wù)器:n首先,打開【開始】菜單選擇【運行】,在彈出的運首先,打開【開
37、始】菜單選擇【運行】,在彈出的運行窗口中輸入行窗口中輸入“services.mscservices.msc /s” /s”,如圖如圖4-114-11所示,所示,點擊【確定】按鈕即打開系統(tǒng)服務(wù)。再在【服務(wù)】窗點擊【確定】按鈕即打開系統(tǒng)服務(wù)。再在【服務(wù)】窗口中找到口中找到MySQLMySQL選項(如圖選項(如圖4-124-12),點擊【啟動】即可),點擊【啟動】即可啟動啟動MySQLMySQL服務(wù)。服務(wù)。n(2 2)創(chuàng)建冰魚論壇數(shù)據(jù)庫:)創(chuàng)建冰魚論壇數(shù)據(jù)庫:n接著打開數(shù)據(jù)庫管理工具接著打開數(shù)據(jù)庫管理工具MySQLMySQL-Front-Front,如圖如圖4-134-13所示,所示,點擊窗口中的【
38、點擊窗口中的【SQLSQL編輯器】,把冰魚論壇管理系統(tǒng)的編輯器】,把冰魚論壇管理系統(tǒng)的SQLSQL腳本復(fù)制進來,然后執(zhí)行腳本復(fù)制進來,然后執(zhí)行SQLSQL腳本,系統(tǒng)的數(shù)據(jù)庫腳本,系統(tǒng)的數(shù)據(jù)庫就創(chuàng)建完成了。就創(chuàng)建完成了。 19數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計窗口窗口 20概要設(shè)計說明書(概要設(shè)計說明書(Architectural Design SpecificationArchitectural Design Specification)圖圖4-15 4-15 用戶登錄系統(tǒng)時序圖用戶登錄系統(tǒng)時序圖 21圖圖4-16 4-16 添加版塊時序圖添加版塊時序圖 22圖圖4-17 4-17 數(shù)據(jù)表關(guān)系數(shù)據(jù)表關(guān)系CD
39、MCDM圖圖 23系統(tǒng)目錄結(jié)構(gòu)系統(tǒng)目錄結(jié)構(gòu) 24數(shù)據(jù)庫連接實現(xiàn)數(shù)據(jù)庫連接實現(xiàn) n冰魚論壇管理系統(tǒng)經(jīng)常要訪問存儲在數(shù)據(jù)庫中冰魚論壇管理系統(tǒng)經(jīng)常要訪問存儲在數(shù)據(jù)庫中的信息,幾乎所有的功能操作都需要實現(xiàn)對數(shù)的信息,幾乎所有的功能操作都需要實現(xiàn)對數(shù)據(jù)庫的訪問操作,因此首先要建立與數(shù)據(jù)庫的據(jù)庫的訪問操作,因此首先要建立與數(shù)據(jù)庫的連接。連接。n從達到代碼重用的角度出發(fā),該系統(tǒng)實現(xiàn)了公從達到代碼重用的角度出發(fā),該系統(tǒng)實現(xiàn)了公用的數(shù)據(jù)庫連接類,以備在系統(tǒng)的其它用的數(shù)據(jù)庫連接類,以備在系統(tǒng)的其它JavaJava程程序中直接調(diào)用。序中直接調(diào)用。nConn.javaConn.java連接完整的代碼如程序連接完整的代
40、碼如程序4-24-2所示所示. . 25用戶注冊登錄功能實現(xiàn)用戶注冊登錄功能實現(xiàn) n首先實現(xiàn)用戶注冊功能,該功能利用首先實現(xiàn)用戶注冊功能,該功能利用MVCMVC設(shè)計模式實現(xiàn)。設(shè)計模式實現(xiàn)。其中的其中的ViewView(視圖層)由三個視圖層)由三個jspjsp頁面組成,分別為頁面組成,分別為reg.jspreg.jsp、adduser.jspadduser.jsp、regsuccess.jspregsuccess.jsp。其中的其中的reg.jspreg.jsp文件顯示了論壇注冊協(xié)議,只有同意該協(xié)議才文件顯示了論壇注冊協(xié)議,只有同意該協(xié)議才能進入下一步的注冊頁面能進入下一步的注冊頁面adduse
41、r.jspadduser.jsp。用戶信息注冊用戶信息注冊頁面頁面adduser.jspadduser.jsp主要由一個表單主要由一個表單formform組成,該表單組成,該表單formform利用了利用了postpost請求方法,將用戶信息傳遞給請求方法,將用戶信息傳遞給ControlControl(控制層)中的控制層)中的ServletServlet。如果用戶注冊成功,則轉(zhuǎn)向如果用戶注冊成功,則轉(zhuǎn)向regsuccess.jspregsuccess.jsp頁面文件,并提示注冊成功。如果用頁面文件,并提示注冊成功。如果用戶注冊失敗,依然轉(zhuǎn)向戶注冊失敗,依然轉(zhuǎn)向regsuccess.jspregsuccess.jsp頁面,不過在頁面,不過在該頁面上提示的是注冊失敗的原因。該頁面上提示的是注冊失敗的原因。n完整的完整的ViewView層代碼,如程序?qū)?/p>
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人體排毒課件
- 2025年江蘇航運職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025年棗莊職業(yè)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 10kV配電站房工程施工方案與技術(shù)支持
- 中班幼兒故事主題活動策劃方案五篇
- 物流配送委托合同范本
- 幼兒園志愿者活動策劃方案三篇
- 企業(yè)合同管理制度年
- 滬教版(上海)七年級地理第一學(xué)期中國區(qū)域篇(上)- 1.1 《新疆維吾爾自治區(qū)》聽課評課記錄
- 貨物買賣合同范文
- 湖南省長沙市長郡教育集團2024-2025學(xué)年七年級上學(xué)期期末考試英語試題(含答案)
- 2024-2025學(xué)年人教版三年級(上)英語寒假作業(yè)(九)
- 《招標投標法》考試題庫200題(含答案)
- 立春氣象與健康
- 河南退役軍人專升本計算機真題答案
- DB52T 1167-2017 含笑屬栽培技術(shù)規(guī)程 樂昌含笑
- 2025年全國高考體育單招考試政治模擬試卷試題(含答案詳解)
- 駕駛證學(xué)法減分(學(xué)法免分)試題和答案(50題完整版)1650
- 人教版2024新版七年級上冊數(shù)學(xué)第六章幾何圖形初步學(xué)業(yè)質(zhì)量測試卷(含答案)
- 小學(xué)數(shù)學(xué)五年級上冊奧數(shù)應(yīng)用題100道(含答案)
- 工業(yè)機器人編程語言:Epson RC+ 基本指令集教程
評論
0/150
提交評論