網(wǎng)上售樓系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
網(wǎng)上售樓系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、網(wǎng)上售樓系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要本文所要介紹的網(wǎng)上樓房銷售系統(tǒng)是當(dāng)前流行的網(wǎng)上商店的一種形式,它也是電子商務(wù)的一個(gè)縮影。當(dāng)前的網(wǎng)上樓房銷售系統(tǒng)不少,但是采用J2EE架構(gòu)開發(fā)的還是寥若晨星。通過該系統(tǒng)的開發(fā)研究,不僅可以學(xué)到如何使用J2EE架構(gòu)來開發(fā)一個(gè)比較完善的網(wǎng)上樓房銷售系統(tǒng),還可以由此擴(kuò)展思路,開發(fā)出其它形式的服務(wù)于電子商務(wù)的應(yīng)用系統(tǒng)。本采用JAVA語言開發(fā),后臺(tái)數(shù)據(jù)庫是與Java無縫連接、操作簡(jiǎn)單、易于使用的MYSQL,主要采用Struts框架技術(shù),實(shí)現(xiàn)了一個(gè)基于web的B/S模式的網(wǎng)上樓房銷售系統(tǒng)。其主要功能包括對(duì)外溝通展示功能、信息發(fā)布功能、在線樓房展示功能、到在線洽談功能、在線交易功能

2、、在線采購功能、在線客戶服務(wù)功能以及強(qiáng)大的系統(tǒng)管理員的功能等等。本文闡述了在線購買樓房方式的優(yōu)勢(shì),并對(duì)所做的分析、設(shè)計(jì)及實(shí)現(xiàn)過程做了詳細(xì)介紹關(guān)鍵詞J2EE;MVC;模型;售樓;AbstractInthispaper,theonlineBuildingsalessystemintroducedisaformofthepopularonlinestore,Itisalsoamicrocosmofe-commerce.Thecurrentnumberofonlinebuildingsalessystemisnotafew,However,theadoptionofaframeworkforthede

3、velopmentofJ2EEisrareasmorningstars.Thesystemdevelopedbytheresearch,notonlycanlearnhowtousetheJ2EEarchitecturetodevelopacompleteonlineBuildingsalessystem,canalsoextendthisideatodevelopotherformsofe-commerceservicesintheapplicationsystem.MysystemisimplementedbyJAVA,usingStrutsinnormalprocessingofSoft

4、wareDevelopmentandinB/SmodeofWebindesignanddevelopmentofSystemandbackgrounddatabasethathasseamlessconnectivitywithjava,issimpleandeasy-to-usedisMYSQL.Itsmainfunctionsincludedisplayofexternalcommunicationfunctions,informationpublishing,onlineBuildingdisplayfunctions,tonegotiateonlinefeatures,onlinetr

5、adingfeatures,onlineprocurementfunctions,onlinecustomerservicefunctionsandastrongsystemadministratorfunctions,andsoon.ThisthesisintroducesadvantagesofShoppingoninternetandpresentsafurtherintroductiontoanalysis,designandprocessoftheweb.KeywordsJ2EE;MVC;module;SalesIV/44目錄摘要IAbstractII第一章緒論錯(cuò)誤!未定義書簽。1.

6、1 課題的研究背景11.2國現(xiàn)狀11.3研究意義2第二章相關(guān)技術(shù)介紹32.1 JAVA開發(fā)語言的選擇32.2 MVC設(shè)計(jì)模式52.3 Struts72.4 wel.xml72.5 tomeat容器8第三章需求分析93.1整體說明103.1.1樓房瀏覽模塊113.1.2樓房管理模塊123.1.3 購物車模塊錯(cuò)誤!未定義書簽。3.1.4 訂單管理模塊123.1.5 留言信息模塊錯(cuò)誤!未定義書簽。3.1.6 顧客留言信息管理模塊錯(cuò)誤!未定義書簽3.1.7 樓房類別信息管理模塊133.1.8 推薦樓房信息顯示模塊錯(cuò)誤!未定義書簽3.1.9 顧客的注冊(cè)、登錄模塊133.1.10后臺(tái)信息管理的登錄模塊13

7、3.1.11用戶管理模塊133.1.12公告容顯示模塊錯(cuò)誤!未定義書簽。3.1.13公告管理模塊錯(cuò)誤!未定義書簽。3.1.14樓房評(píng)論和回應(yīng)模塊錯(cuò)誤!未定義書簽。3.1.15樓房評(píng)論和回應(yīng)管理模塊錯(cuò)誤!未定義書簽。3.1.16網(wǎng)上調(diào)查模塊錯(cuò)誤!未定義書簽。3.1.17新建樓房上架顯示模塊133.1.18樓房銷售排行顯示模塊錯(cuò)誤!未定義書簽。3.1.19分類瀏覽樓房模塊133.1.20網(wǎng)上調(diào)查管理模塊錯(cuò)誤!未定義書簽。3.2具體需求錯(cuò)誤!未定義書簽。3.2.1功能錯(cuò)誤!未定義書簽。3.2.2可用性錯(cuò)誤!未定義書簽。3.2.3可靠性錯(cuò)誤!未定義書簽。3.2.4性能錯(cuò)誤!未定義書簽。3.2.5可支持

8、性錯(cuò)誤!未定義書簽。3.2.6設(shè)計(jì)約束錯(cuò)誤!未定義書簽。3.2.7聯(lián)機(jī)用戶文檔和幫助系統(tǒng)需求錯(cuò)誤!未定義書簽。3.2.8購買的構(gòu)件錯(cuò)誤!未定義書簽。3.2.9接口錯(cuò)誤!未定義書簽。第四章數(shù)據(jù)庫設(shè)計(jì)144.1數(shù)據(jù)庫的概念144.2數(shù)據(jù)庫的三層結(jié)構(gòu)144.3數(shù)據(jù)庫的選擇164.3.1數(shù)據(jù)庫的概念164.4數(shù)據(jù)庫表的描述164.3.1 用戶信息表(tb_member)174.3.2樓房信息表(tb_buildinginfo)錯(cuò)誤!未定義書簽。4.3.3訂單信息表(tb_order)錯(cuò)誤!未定義書簽。4.3.4訂單信息明細(xì)表(tb_order_detail)錯(cuò)誤!未定義書簽。4.3.5管理員表(adm

9、in)錯(cuò)誤!未定義書簽。4.3.6公告信息表(tb_BBS)錯(cuò)誤!未定義書簽。4.3.7折扣信息表(tb_rebate)錯(cuò)誤!未定義書簽。4.3.8投票信息表(tb_poll)錯(cuò)誤味定義書簽。4.3.9樓房類別表(buildingtype)錯(cuò)誤!未定義書簽。4.3.10留言信息表(mess)錯(cuò)誤!未定義書簽。4.3.11評(píng)論表(remark)錯(cuò)誤!未定義書簽。4.3.12回應(yīng)信息表(remark)錯(cuò)誤!未定義書簽。第五章基于UML的系統(tǒng)建模205.1 UML概述及系統(tǒng)分析步驟205.1.1 UML概述205.1.2基于UML面向?qū)ο蟮南到y(tǒng)分析步驟245.2樓房管理模塊的結(jié)構(gòu)圖245.3購物車模

10、塊的結(jié)構(gòu)圖255.4留言信息管理模塊的結(jié)構(gòu)圖25第六章系統(tǒng)實(shí)現(xiàn)276.1總體架構(gòu)及實(shí)現(xiàn)276.1.1系統(tǒng)總體結(jié)構(gòu)圖276.1.2用戶首頁界面風(fēng)格276.2 樓房信息查詢286.2.1 功能描述286.2.2 模塊流程圖286.2.3 界面風(fēng)格296.2.4 實(shí)現(xiàn)算法29第七章系統(tǒng)測(cè)試327.1測(cè)試概述327.2測(cè)試用例設(shè)計(jì)324/447.3本章小結(jié)34結(jié)論34參考文獻(xiàn)35致錯(cuò)誤!未定義書簽。第一章前言在網(wǎng)絡(luò)日趨普及的今天,基于因特網(wǎng)的一種新的商業(yè)模式已經(jīng)開始走進(jìn)很多人的生活,其特征是商務(wù)活動(dòng)在因特網(wǎng)上以數(shù)字化電子方式完成。1.1課題的研究背景網(wǎng)上樓房銷售系統(tǒng)是一種新興的樓房銷售平臺(tái)。隨著全球經(jīng)

11、濟(jì)一體化的逐步發(fā)展和深入,再加上計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,傳統(tǒng)建筑商因企業(yè)成本高、規(guī)模小,品種少已經(jīng)阻礙了樓房市場(chǎng)的發(fā)展,網(wǎng)上樓房銷售系統(tǒng)的應(yīng)運(yùn)而生,它有著其他形式的建筑商所不能比擬的優(yōu)勢(shì):不受時(shí)空的限制,一天24小時(shí)的營業(yè)時(shí)間。全世界圍都可以銷售;它不需要店鋪和龐大的銷售網(wǎng)絡(luò),通過在網(wǎng)上直接訂購、支付、結(jié)算,減少了中間的環(huán)節(jié)和開支,它以成本低,樓房數(shù)量多、品種齊全而備受消費(fèi)者的青睞。因此,在網(wǎng)上購買樓房已成為購買樓房的主要手段。為了滿足廣大顧客的需要,所以推出了網(wǎng)上樓房的解決方案。1.2國現(xiàn)狀無論是出于仿效,還是迫于競(jìng)爭(zhēng),一些老牌的樓房銷售商也加入網(wǎng)上建筑商的行列,如龐諾建筑商(Barne

12、sandnoble.),疆界建筑商(Borders.)等。至少在1997年,國外網(wǎng)上建筑商達(dá)兩百家以上。而在國,自新華建筑商創(chuàng)辦第一家網(wǎng)上建筑商后,網(wǎng)上建筑商如雨后春筍般涌現(xiàn)出來。其中最為有名的莫過于1999年1月1日開通的銷售商網(wǎng)上建筑商和3月9日正式營業(yè)的樓房大廈網(wǎng)上建筑商?,F(xiàn)在,國網(wǎng)上建筑商數(shù)量數(shù)不勝數(shù),因此我們很容易能看出國網(wǎng)上建筑商競(jìng)爭(zhēng)的激烈性。1.3研究意義樓房銷售系統(tǒng)在國際互聯(lián)網(wǎng)上可以實(shí)現(xiàn)的商務(wù)功能已經(jīng)多樣化,從基本的對(duì)外溝通展示功能、信息發(fā)布功能、在線樓房展示功能、到在線洽談功能、在線交易功能、在線采購功能、在線客戶服務(wù)功能、在線管理功能等等,幾乎以往傳統(tǒng)商店功能都可以在互聯(lián)網(wǎng)

13、上進(jìn)行電子化的高效運(yùn)作。同傳統(tǒng)的建筑商相比,網(wǎng)上樓房商店具有如下三點(diǎn)優(yōu)勢(shì):1)企業(yè)上網(wǎng)不僅給消費(fèi)者和企業(yè)提供了更多的選擇消費(fèi)與開拓銷售市場(chǎng)的機(jī)會(huì),而且也是提供了更加密切的信息交流場(chǎng)所,從而提高了企業(yè)把握市場(chǎng)和消費(fèi)者了解市場(chǎng)的能力。同時(shí)企業(yè)上網(wǎng)擴(kuò)大了企業(yè)的競(jìng)爭(zhēng)領(lǐng)域,使企業(yè)從常規(guī)的廣告競(jìng)爭(zhēng)、促銷手段等領(lǐng)域的競(jìng)爭(zhēng)擴(kuò)大到無形的虛擬競(jìng)爭(zhēng)空間。2)網(wǎng)上建筑商改變了企業(yè)競(jìng)爭(zhēng)的交易成本。網(wǎng)上建筑商具有投入成本低、批發(fā)數(shù)量大及用戶多的優(yōu)勢(shì)。電子商務(wù)也使企業(yè)規(guī)模影響競(jìng)爭(zhēng)力的基礎(chǔ)發(fā)生了改變。例如在傳統(tǒng)的銷售渠道中,大書商與小書商之間的競(jìng)爭(zhēng)差別很大。電子商務(wù)使大書商與小書商之間規(guī)模差距的競(jìng)爭(zhēng)變得幾乎微不足道。美國西雅

14、圖亞馬遜公司在網(wǎng)上開辦了一家大型建筑商,提供250萬冊(cè)樓房供在線購買。只有兩個(gè)人管理的網(wǎng)上建筑商提供的書目和服務(wù),幾乎可以與200人管理的傳統(tǒng)建筑商提供的書目和服務(wù)一樣。3)網(wǎng)上建筑商的經(jīng)驗(yàn)表明,如果網(wǎng)上建筑商可以為顧客提供品種齊全的樓房、折扣以及靈活的條件、可靠的安全性和友好的界面,在線購物者一般都愿意在網(wǎng)上進(jìn)行樓房交易。展望未來,網(wǎng)上樓房超市勢(shì)必成為社會(huì)發(fā)展不可缺少的一部分,而其自身的發(fā)展趨勢(shì)也必然更專業(yè)化、高質(zhì)量化。那么就要求我們提供的不僅僅是簡(jiǎn)單的在線查詢、購買這么一個(gè)功能,而是要做到以客戶的需求、愛好等各方面因素來改進(jìn)我們的服務(wù),使之更加專業(yè),更有特色1.4本章小結(jié)本章介紹樓盤銷售系

15、統(tǒng)的可行性研究,其系統(tǒng)的目的,系統(tǒng)意義的簡(jiǎn)要介紹,對(duì)于系統(tǒng)開發(fā)前期階段和過程起著重要的意義。第二章相關(guān)技術(shù)介紹本章介紹了在網(wǎng)上售樓系統(tǒng)中主要使用到的相關(guān)技術(shù),如MVC、J2EE等。本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)需要使用者對(duì)這些技術(shù)有一定的理解。2.1JAVA開發(fā)語言的選擇現(xiàn)在,市場(chǎng)上可以選購的應(yīng)用開發(fā)產(chǎn)品很多,流行的也有數(shù)十種。目前在我國市場(chǎng)上最為流行,使用最多,最為先進(jìn)的可用作企業(yè)級(jí)開發(fā)語言的產(chǎn)品有:SUN公司的JavaMicrosoft公司的VisualBasicMicrosoft公司的VisualCBorland公司的DelphiPOWERSOFT公司的POWERBUILDER在目前市場(chǎng)上這些眾多的

16、程序開發(fā)工具中,有些強(qiáng)調(diào)語言的彈性與執(zhí)行效率;有些偏重于可視化程序開發(fā)工具所帶來的便利性與效率的提高,各有各的優(yōu)點(diǎn)和特色,也滿足了不同用戶的不同需求。我的選擇Java語言開發(fā),其原因基于以下幾點(diǎn):Java是一種簡(jiǎn)單的、面向?qū)ο蟮摹⒎植际降?、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、性能很優(yōu)異的、多線程的、動(dòng)態(tài)的語言1。1)簡(jiǎn)單:Java的風(fēng)格類似于C+,并且摒棄了C+中容易引發(fā)程序錯(cuò)誤的地方,如指針和存管理。此外Java提供了豐富的類庫。2)面向?qū)ο螅好嫦驅(qū)ο罂梢哉f是Java最重要的特性。Java語言的設(shè)計(jì)完全是面向?qū)ο蟮摹ava支持靜態(tài)和動(dòng)態(tài)風(fēng)格的代碼繼承及重用。3)分布式:Java包括一個(gè)支

17、持HTTP和FTP等基于TCP/IP協(xié)議的子庫。因此,Java應(yīng)用程序可憑借URL打開并訪問網(wǎng)絡(luò)上的對(duì)象,其訪問方式與訪問本地文件系統(tǒng)幾乎完全相同。4)健壯:Java致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤°Java自己操縱存減少了存出錯(cuò)的可能性。Java提供Null指針檢測(cè)數(shù)組邊界、檢測(cè)異常出口、字節(jié)代碼校驗(yàn)。5)安全:Java的安全性可從兩個(gè)方面得到保證。一方面,在Java語言里,像指針和釋放存等C+功能被刪除,避免了非法存操作。另一方面,當(dāng)Java用來創(chuàng)建瀏覽器時(shí),語言功能和瀏覽器本身提供的功能結(jié)合起來,使它更安全°6)結(jié)構(gòu)中立:為了建立Java作為網(wǎng)絡(luò)的一個(gè)整體,Java

18、將它的程序編譯成一種結(jié)構(gòu)中立的中間文件格式。只要有Java運(yùn)行系統(tǒng)的機(jī)器都能執(zhí)行這種中間代碼。Java源程序被編譯成一種高層次的與機(jī)器無關(guān)的byte-code格式語言,這種語言被設(shè)計(jì)在虛擬機(jī)上運(yùn)行,由機(jī)器相關(guān)的運(yùn)行調(diào)試器實(shí)現(xiàn)執(zhí)行°7)可移植的:Java的可移植性一直是Java程序設(shè)計(jì)師們的精神指標(biāo),也是Java之所以能夠受到程序設(shè)計(jì)師們喜愛的原因之一,最大的功臣就是JVM的技術(shù)4。JAVA編譯器產(chǎn)生的目標(biāo)代碼(J-Code)是針對(duì)一種并不存在的CPU-JAVA虛擬機(jī)(JAVAVirtualMachine),而不是某一實(shí)際的CPU°JAVA虛擬機(jī)能掩蓋不同CPU之間的差別,使

19、J-Code能運(yùn)行于任何具有JAVA虛擬機(jī)的機(jī)器上。8)高性能:Java可以在運(yùn)行時(shí)直接將目標(biāo)代碼翻譯成機(jī)器指令。Sun用直接解釋器一秒鐘可調(diào)用300,000個(gè)過程。翻譯目標(biāo)代碼的速度與C/C+的性能沒什么區(qū)別。9)多線程:Java支持多線程,多線程功能使得在一個(gè)程序里可同時(shí)執(zhí)行多個(gè)小任務(wù)。線程,有時(shí)也稱小進(jìn)程,是一個(gè)大進(jìn)程里分出來的小的獨(dú)立的進(jìn)程。10)動(dòng)態(tài):Java的動(dòng)態(tài)特性是其面向?qū)ο笤O(shè)計(jì)方法的發(fā)展。它允許程序動(dòng)態(tài)地裝入運(yùn)行過程中所需要的類,這是C+語言進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)所無法實(shí)現(xiàn)的。Java編譯器不是將對(duì)實(shí)例變量和成員函數(shù)的引用編譯為數(shù)值引用,而是將符號(hào)引用信息在字節(jié)碼中保存下傳遞給

20、解釋器,再由解釋器在完成動(dòng)態(tài)連接類后,將符號(hào)引用信息轉(zhuǎn)換為數(shù)值偏移量。2.2MVC設(shè)計(jì)模式MVC(Model-View-Controller的簡(jiǎn)稱)是XEROXPARC在20世紀(jì)80年代為編程語言Smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,至今已被廣泛使用,目前是J2EE應(yīng)所最常見的體系結(jié)構(gòu),它是一種設(shè)計(jì)模式,它把應(yīng)用程序分成三個(gè)核心模塊:模型、視圖、控制器,它們各自處理自己的任務(wù)。視圖是用戶看到并與之交互的界面,也即應(yīng)用程序的外觀。作用包括接收用戶的輸入,它并不包括任何實(shí)際的業(yè)務(wù)邏輯,它只是將數(shù)據(jù)轉(zhuǎn)發(fā)給控制器。同時(shí),視圖還負(fù)責(zé)展現(xiàn)模型傳遞給用戶的數(shù)據(jù),當(dāng)后臺(tái)模型更新數(shù)據(jù)時(shí),視圖也應(yīng)當(dāng)隨之

21、更新它的顯示。模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯,是應(yīng)用程序的主體部分。一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù),因此提高了代碼的可重用性??刂破鹘邮苡脩舻妮斎氩⒄{(diào)用模型和視圖去完成用戶的需求。當(dāng)Web用戶單擊Web頁面中的遞交按鈕來發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。控制器接收請(qǐng)求并決定調(diào)用哪個(gè)模型組件去處理請(qǐng)求,然后決定調(diào)用哪個(gè)視圖來顯示模型處理返回的數(shù)據(jù)。MVC的優(yōu)點(diǎn)表現(xiàn)在如下幾個(gè)方面:1)首先,最重要的一點(diǎn)是多個(gè)視圖能共享一個(gè)模型。同一個(gè)模型可以被不同的視圖重用,大大提高了代碼的可重用性。2)由于MVC的三個(gè)模塊相互獨(dú)立,改變其中一個(gè)不會(huì)影響其他兩個(gè),所以依據(jù)這種設(shè)計(jì)思想能構(gòu)造良好的

22、松偶合的構(gòu)件。3) 此外,控制器提高了應(yīng)用程序的靈活性和可配置性??刂破骺梢杂脕砺?lián)接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。MVC的缺點(diǎn)表現(xiàn)如下:在于它沒有明確的定義,所以一個(gè)開發(fā)人員完全理解MVC并不是很容易。使用MVC也需要精心的計(jì)劃,由于它的部原理比較復(fù)雜,所以開發(fā)者需要花費(fèi)相當(dāng)可觀的時(shí)間去考慮如何將MVC運(yùn)用到應(yīng)用程序之中。同時(shí)由于模型和視圖要嚴(yán)格的分離,這樣也給調(diào)試應(yīng)用程序帶來了一定的困難。每個(gè)構(gòu)件在使用之前都需要經(jīng)過徹底的測(cè)試。一旦構(gòu)件經(jīng)過了測(cè)試,就可以毫無顧忌的重用它們了。還有開發(fā)MVC系統(tǒng)比簡(jiǎn)單的JSP開發(fā)要復(fù)雜許多,它需要更多的時(shí)間學(xué)習(xí)

23、和掌握。同時(shí)新東西的引入會(huì)帶來新的問題,在選擇MVC開發(fā)模式時(shí)必須仔細(xì)考慮這下問題:1)必須基于MVC組件的方式重新思考和設(shè)計(jì)應(yīng)用結(jié)構(gòu)。原來通過建立一個(gè)簡(jiǎn)單的JSP頁面就能實(shí)現(xiàn)的應(yīng)用現(xiàn)在變成了多個(gè)步驟的設(shè)計(jì)和實(shí)現(xiàn)過程。2)所有的頁面和組件必須在MVC框架中實(shí)現(xiàn),所以必須進(jìn)行附加地開發(fā)工作。MVC本身就是一個(gè)非常復(fù)雜的系統(tǒng),所以采用MVC實(shí)現(xiàn)Web應(yīng)用時(shí),最好選一個(gè)現(xiàn)成的MVC框架,在此之下進(jìn)行開發(fā),從而取得事半功倍的效果1。2.3 Struts簡(jiǎn)介Struts是Apache軟件基金會(huì)(ASF)贊助的一個(gè)開源項(xiàng)目。它最初是Jakarta項(xiàng)目中的子項(xiàng)目,并在2004年3月成為ASF的頂級(jí)項(xiàng)目。它通

24、過采用Java、Servlet/JSP技術(shù),實(shí)現(xiàn)了基于JavaEEWeb應(yīng)用的Model-View-ControllerMVC設(shè)計(jì)模式的應(yīng)用框架WebFramework,是MVC經(jīng)典設(shè)計(jì)模式中的一個(gè)經(jīng)典產(chǎn)品。很多開發(fā)人員認(rèn)為Struts目前尚不成熟,應(yīng)用的成本較高。附帶的一點(diǎn)點(diǎn)建議:Struts的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個(gè)方面:TAGLIB和頁面導(dǎo)航°TAGLIB是Struts的標(biāo)記庫,靈活動(dòng)用,能大大提高開發(fā)效率。Struts這個(gè)名字來源于在建筑和舊式飛機(jī)中使用的支持金屬架。它的目的是為了減少在運(yùn)用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用的時(shí)間。你仍然需要學(xué)習(xí)和應(yīng)用該架構(gòu),不過它將可以完成其中一

25、些繁重的工作。Struts跟Tomcat、Turbine等諸多Apache項(xiàng)目一樣,是開源軟件,這是它的一大優(yōu)點(diǎn),使開發(fā)者能更深入的了解其部實(shí)現(xiàn)機(jī)制。2.4 wel.xml配置web.xml是JavaSERVLET規(guī)所必需的web應(yīng)用程序配置描述°SERVLET/JSP容器使用這個(gè)文件來裝載、配置應(yīng)用程序,它用來通知SERVLET容器如何配置SERVLET和其他應(yīng)用程序需要的高級(jí)對(duì)象。struts-config.xmlstruts-config.xml是Struts中核心文件。該文件配置各種組件,包括數(shù)據(jù)源DATASOURCE、表單類FORMBEAN、全局異常GLOBALEXCEPT

26、ION、全局轉(zhuǎn)發(fā)GLOBALFORWARD、行為映射ACTIONMAPPINGS、控制器Controller、消息資源MESSAGERESOURCE及插件PLUGINS。2.5 tomcat容器Tomcat是一個(gè)免費(fèi)的開源的SERVLET容器,它是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache5Sun和其它一些公司及個(gè)人共同開發(fā)而成。由于有了Sun的參與和支持最新的SERVLET和JSP規(guī)總能在Tomcat中得到體現(xiàn)tomcat被JAVAWORLD雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,可見其在業(yè)界的地位。Tomcat4.0x中采用了新的SERVLET容器:C

27、atalina,完整的實(shí)現(xiàn)了Servlet2.3和Jspl.2規(guī)。由于Java的跨平臺(tái)特性,基于Java的Tomcat也具有跨平臺(tái)性。與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個(gè)WAR(WebArchive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也是許多文件的一個(gè)壓縮包。這個(gè)包中的文件按一定目錄結(jié)構(gòu)來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會(huì)有一個(gè)WEB-INF目錄,這個(gè)目錄很重要。通常在WEB-INF目錄下有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是這個(gè)應(yīng)用的配置文件,而classes目錄下則包

28、含編譯好的SERVLET類和JSP或SERVLET所依賴的其它類(如JAVABEAN)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當(dāng)然也可以放到系統(tǒng)的CLASSPATH中,但那樣移植和管理起來不方便。在Tomcat中,應(yīng)用程序的部署很簡(jiǎn)單,你只需將你的WAR放到Tomcat的WEBAPP目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問這個(gè)應(yīng)用的JSP時(shí),通常第一次會(huì)很慢,因?yàn)門omcat要將JSP轉(zhuǎn)化為SERVLET文件,然后編譯口0°編譯以后,訪問將會(huì)很快。Tomcat不僅僅是一個(gè)SERVLET容器,它也具有傳統(tǒng)的Web服務(wù)器的功

29、能:處理Html頁面但是與Apache相比它的處理靜態(tài)Html的能力就不如Apache.我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理JSP和SERVLET.這種集成只需要修改一下Apache和Tomcat的配置文件即可。2.6本章小結(jié)本章首先介紹的JAVA開發(fā)語言的相關(guān)概念和基礎(chǔ)知識(shí),然后進(jìn)一步介紹MVC高聚低耦合的開發(fā)模式的基本概念,最后介紹了本系統(tǒng)開發(fā)使用的開發(fā)語言及其搭建服務(wù)器的相關(guān)概念。第三章需求分析與概述網(wǎng)上樓房銷售系統(tǒng)是一個(gè)基于部網(wǎng)和外部網(wǎng)的應(yīng)用程序,采用J2EE技術(shù),提高系統(tǒng)數(shù)據(jù)的共享性,增加系統(tǒng)服務(wù)的對(duì)象。3.1功能結(jié)構(gòu)描述

30、3.1.1功能需求分析本系統(tǒng)主要分為5大功能模塊,樓盤管理模塊,訂單管理模塊,交易管理模塊,用戶管理模塊,管理員管理模塊,各大模塊中又分為多個(gè)2級(jí)模塊,用戶登錄系統(tǒng)后便可以瀏覽樓盤信息,購買樓盤,查看訂單信息,交易記錄信息。管理員登錄系統(tǒng)可以添加,刪除,更改樓盤信息等。具體的功能細(xì)節(jié)如下圖:圖3-1功能結(jié)構(gòu)圖3.1.1系統(tǒng)數(shù)據(jù)流設(shè)計(jì)根據(jù)功能結(jié)構(gòu)描述和需求分析制定系統(tǒng)的數(shù)據(jù)流向,具體的管理員管理和用戶管理的數(shù)據(jù)操作流向見下圖:圖3-2系統(tǒng)數(shù)據(jù)流圖3.2系統(tǒng)整體分析與概述本節(jié)將從功能,可行性,性能分析本系統(tǒng)。3.2.1功能需求分析整個(gè)功能分為兩大分類,用戶管理和管理員管理,用戶登錄后可以查看購買樓

31、盤等,管理員的登錄后可以添加,更改樓盤信息等,具體的需求如下。(1) 顧客可以方便地查看樓房信息,及了解每天的特價(jià)樓房。(2) 顧客可以方便地隊(duì)購物車中的樓房進(jìn)行增加、刪除、修改和下訂單。(3) 顧客可以反饋?zhàn)约旱臐M意和不滿意意見。(4) 管理員可以方便地添加、刪除、修改樓房和添加和刪除、樓房類別。(5) 管理員可以方便地查看訂單,可以方便執(zhí)行訂單。(6) 管理員可以方便地查看顧客留言信息和記錄反饋信息的處理情況。(7) 管理員可以方便地添加、刪除、修改推薦樓房,新上架樓房,暢銷樓房。(8) 管理員可以方便地查看和凍結(jié)用戶信息。3.2.1可行性分析本系統(tǒng)采用JSP開發(fā)語言,使用TOMCAT服務(wù)

32、器,在windowsXP下開發(fā),使用B/S結(jié)構(gòu)開發(fā)系統(tǒng)其性能特性如下:(1) 響應(yīng)時(shí)間:對(duì)遠(yuǎn)程查詢?cè)L問響應(yīng)的平均時(shí)間是3秒,最長(zhǎng)是10秒;Intranet程序的響應(yīng)時(shí)間少于1秒。(2) 吞吐量:每秒處理的事務(wù)數(shù)達(dá)到2000條。(3) 容量:系統(tǒng)可以容納的客戶數(shù)是1000人同時(shí)使用。具體是開發(fā)環(huán)境為應(yīng)用的開發(fā)工具是JDK1.5、Tomcat6.0、DreamweaverMX8.0和MYSQL,設(shè)計(jì)的模塊和性能將受到上述開發(fā)工具的約束。3.2.1性能分析使用數(shù)據(jù)對(duì)象關(guān)聯(lián)查詢提交樓盤檢索速度,訂單和交易記錄分離管理降低功能模塊的耦合,用戶可以清晰的了解系統(tǒng)的模塊分類。3.2本章小結(jié)本章介紹了系統(tǒng)的功

33、能需求,并從功能,可行性,性能等方面詳細(xì)對(duì)系統(tǒng)進(jìn)行了描述。使用數(shù)據(jù)樓房瀏覽模塊樓房瀏覽模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客可以分不同樓房種類瀏覽樓房的名稱、種類、價(jià)錢、建造商和建造日期等;顧客可以輸入樓房關(guān)鍵字查詢樓房信息。3.1.2樓房管理模塊樓房管理模塊是應(yīng)用程序,它的用戶是后臺(tái)系統(tǒng)管理員。樓房信息管理員可以添加、刪除、修改樓房的種類和樓房。3.1.4訂單管理模塊訂單管理模塊是應(yīng)用程序,它的用戶是后臺(tái)系統(tǒng)管理員。管理員負(fù)責(zé)查看訂單的詳細(xì)信息和執(zhí)行訂單。3.1.7樓房類別信息管理模塊樓房類別信息管理模塊是應(yīng)用程序,它的用戶是后臺(tái)管理員。管理員可以查看、增加、刪除樓房類別信息。3.1.9顧客

34、的注冊(cè)、登錄模塊顧客的注冊(cè)、登錄模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客需求登錄樓房銷售系統(tǒng)才可以選購樓房。3.1.10后臺(tái)信息管理的登錄模塊信息管理的登錄模塊是應(yīng)用程序,它的用戶是后臺(tái)管理員。管理員登錄通過驗(yàn)證,可以對(duì)后臺(tái)信息進(jìn)行操作。3.1.11用戶管理模塊用戶管理模塊是應(yīng)用程序,它的用戶是后臺(tái)管理員。管理員可以查看用戶的詳細(xì)信息、凍結(jié)或解凍用戶信息。3.1.17新建樓房上架顯示模塊新建樓房上架信息顯示模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客可以查看最新的上架樓房列表,可以將新上架樓房放入購物車。3.1.19分類瀏覽樓房模塊分類瀏覽樓房模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客可以點(diǎn)擊樓房類別,然

35、后顯示該類別的所有樓房,可以將樓房放入購物車。第四章數(shù)據(jù)庫設(shè)計(jì)4.1數(shù)據(jù)庫的概念本將使用一直以來使用都最為廣泛的關(guān)系模型作為數(shù)據(jù)庫的建設(shè)依據(jù)。在用戶的觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一二維表,一個(gè)關(guān)系對(duì)應(yīng)通常說的一表,并且關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng)。而一個(gè)基于關(guān)系模型的數(shù)據(jù)庫則是由若干個(gè)二維表組成的。對(duì)于一些大型和中型的數(shù)據(jù)庫,如Oracle,SQLServer2000/7.0等都屬于關(guān)系型數(shù)據(jù)庫,同時(shí)它們所帶有的數(shù)據(jù)庫管理工具是其他小型數(shù)據(jù)庫所沒有的,而同時(shí)這些工具又為管理員的工作節(jié)省了很多的時(shí)間和財(cái)力。4.2 數(shù)據(jù)庫的三層結(jié)構(gòu)1、用戶視圖層:這一層面向各個(gè)具體用戶。從滿足用

36、戶需求出發(fā)而設(shè)計(jì)的各種各樣的文件結(jié)構(gòu),在系統(tǒng)中稱為子模型。子模型用圖、表來表示,給人以直觀清晰、一目了然之感。用戶看到的是一些視圖,它只提供用戶所需的信息,以免用戶訪問到其它無關(guān)的信息。例如,在銀行中的顧客看到的是數(shù)據(jù)庫顧客賬戶的信息,他們不能訪問銀行雇員的工資信息。然而計(jì)算機(jī)是不會(huì)認(rèn)識(shí)這些圖表的。為了讓計(jì)算機(jī)認(rèn)識(shí)它,DBMS設(shè)置了一種數(shù)據(jù)定義語言(DLL)。用DLL精確定義數(shù)據(jù)模型的程序稱為模式。除非整體改動(dòng),否則數(shù)據(jù)庫模式一般是部經(jīng)常變化的。用戶視圖的這種語言形式定義稱為子模式。24/44由圖可見,對(duì)于同一數(shù)據(jù)庫,系統(tǒng)提供許多的用戶視圖。也就是說,一個(gè)數(shù)據(jù)庫可以有多個(gè)不同的子模式。2、邏輯

37、層:這一層面向全局,它綜合各用戶的信息需求,設(shè)計(jì)了一個(gè)全局性的、完整的而又無冗余的系統(tǒng)框架,稱為邏輯模型。邏輯層的簡(jiǎn)單數(shù)據(jù)結(jié)構(gòu)的操作要與復(fù)雜的物理層結(jié)構(gòu)相聯(lián)系,但用戶不用擔(dān)心這些,因?yàn)檫壿媽邮怯蓴?shù)據(jù)庫管理員來使用的。邏輯模型的語言形式定義為邏輯模型。用戶的信息來自邏輯層,而邏輯層又從物理層獲的信息。3、物理層:這一層完全面向物理存儲(chǔ)。物理層詳細(xì)的描述了復(fù)雜的底層數(shù)據(jù)結(jié)構(gòu)。在完成存放基本文件的前提下,考慮物理存儲(chǔ)的最佳組織形式,我們把不考慮用戶需求而僅僅著眼于物理存儲(chǔ)的模型稱為物理模型。用DDL定義的語言形式稱為物理模式。物理模式是邏輯模式的具體實(shí)現(xiàn)。數(shù)據(jù)庫系統(tǒng)具有幾個(gè)模式。在最底層是物理模式,

38、中間層是邏輯模式,在最高層是子模式??偠灾?,數(shù)據(jù)庫系統(tǒng)支持一個(gè)物理模式,一個(gè)邏輯模式和幾個(gè)子模式。在某一層上修改一個(gè)模式而不影響其它層的模式定義的能力稱為數(shù)據(jù)獨(dú)立性。有兩種獨(dú)立性。物理獨(dú)立性:是指當(dāng)數(shù)據(jù)的物理存儲(chǔ)設(shè)備、物理存儲(chǔ)結(jié)構(gòu)和存取方法發(fā)生變化時(shí),數(shù)據(jù)的邏輯結(jié)構(gòu)和定義可以不變,應(yīng)用程序也可以不變的能力。邏輯獨(dú)立性:是一種應(yīng)用程序可以不管邏輯模式定義的改變而正確執(zhí)行的能力。從另一方面說,用戶要求的改變,應(yīng)對(duì)用戶的子模式的影響最小。邏輯獨(dú)立性比物理獨(dú)立性更加難以實(shí)現(xiàn)。因?yàn)閼?yīng)用程序更大程度上依賴于它們所訪問的數(shù)據(jù)的邏輯結(jié)構(gòu)。數(shù)據(jù)獨(dú)立性概念與現(xiàn)代編程語言中抽象數(shù)據(jù)類型概念的許多方面相似。兩者都對(duì)

39、用戶隱藏了底層信息,而用戶關(guān)系的只是普通結(jié)構(gòu)。4.3數(shù)據(jù)庫的選擇4.3.1數(shù)據(jù)庫的概念本使用MYSQL實(shí)現(xiàn)關(guān)系型數(shù)據(jù)庫。MYSQL是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器,是一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的應(yīng)用,它由一個(gè)服務(wù)器守護(hù)程序MYSQL和很多不同的客戶程序及相關(guān)的庫組成。它有較好的數(shù)據(jù)承載能力,一個(gè)環(huán)境有超過40個(gè)數(shù)據(jù)庫,包含10,000個(gè)表,其中500多個(gè)表超過7百萬行,總數(shù)據(jù)大約有100GB的數(shù)據(jù)庫系統(tǒng)可以很好的被MYSQL所支持,而MYSQL本身不會(huì)像Oracle那樣對(duì)系統(tǒng)及硬盤空間有很高的要求,同時(shí)用戶權(quán)限設(shè)置簡(jiǎn)單、有效。這也是本選用MYSQL作為后臺(tái)數(shù)據(jù)庫系統(tǒng)的一個(gè)重要原因之一。

40、4.4數(shù)據(jù)庫表的描述概念模型是對(duì)信息世界建模,其表示方法有很多,其中最為常用的是實(shí)體關(guān)系模型,即ER模型,它是用ER圖來描述現(xiàn)實(shí)世界的概念模型。本系統(tǒng)中,每個(gè)樓盤信息對(duì)應(yīng)著特定的樓盤類型,用戶可以瀏覽樓盤信息并且預(yù)定樓盤信息,用戶可以預(yù)定多以樓盤信息,預(yù)定成功后生成訂單數(shù)據(jù),當(dāng)系統(tǒng)處理完訂單后,生成交易信息表,其易表和訂單表是一一對(duì)應(yīng)的。具體數(shù)據(jù)對(duì)象之間的關(guān)系如圖41。圖4-1本系統(tǒng)的實(shí)體-關(guān)系模型圖4.5數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)通過上節(jié)數(shù)據(jù)表的映射關(guān)系圖,根據(jù)本系統(tǒng)的功能需求,設(shè)計(jì)具體數(shù)據(jù)表單的容結(jié)構(gòu),一下詳細(xì)描述各個(gè)數(shù)據(jù)表的字段信息。4.5.1用戶信息表(CUSTOMER)用戶注冊(cè)后生成用戶信息,

41、容主要包括用戶的名字,密碼,用戶,真實(shí),性別和用戶圖片。具體字段類型如表4-1:字段描述字段名稱字段類型是否主鍵是否為空用戶IDID自動(dòng)編號(hào)是否用戶名稱NAME字符類型否否用戶密碼PASSWD字符類型否否CREDIT字符類型否否用戶積分MARK整數(shù)類型否否真實(shí)REALNAME字符類型否否用戶性別SEX布爾類型否否用戶照片IMG字符類型否否表4-1用戶信息表4.5.2樓盤信息表(BUILDING)管理員通過登錄后添加樓盤信息,添加樓盤信息需要輸入樓盤名稱,樓盤介紹,樓盤價(jià)格,樓盤類型,樓盤圖片主要信息,其中樓盤類型和樓盤類型表以外鍵的方式關(guān)聯(lián)起來。具體字段類型如表4-2:字段描述字段名稱字段類型

42、是否主鍵是否為空樓盤IDID自動(dòng)編號(hào)是否樓盤名稱BUILDNAME字符類型否否樓盤介紹CONTENT字符類型否否樓盤價(jià)格PRICE整數(shù)類型否否樓盤類型BUILDSTYLE整數(shù)類型否否樓盤圖片IMG字符類型否否樓盤提示TOOLTIP字符類型否否是否上架UP布爾類型否否出售時(shí)間DURTIME時(shí)間類型否否點(diǎn)擊量CLICK整數(shù)類型否否表4-2樓盤信息表4.5.3樓盤類型表(BUILDSTYLE)樓盤信類對(duì)應(yīng)著樓盤類型,樓盤類型包括樓盤類型名稱,類型介紹。具體字段類型如表4-3:字段描述字段名稱字段類型是否主鍵是否為空類型IDID自動(dòng)編號(hào)是否類型名稱STYLETITLE字符類型否否類型介紹CONENT字

43、符類型否否表4-3樓盤類型表4.5.4樓盤訂單表(BUILDORDER)用戶可以查看樓盤然后預(yù)訂樓盤,生成訂單,訂單具體信息包括樓盤ID,用戶ID,添加時(shí)間和是否處理。具體字段類型如表4-4:字段描述字段名稱字段類型是否主鍵是否為空訂單IDID自動(dòng)編號(hào)是否樓盤IDBUILDING整數(shù)類型否否用戶IDCUSTOMER整數(shù)類型否否添加時(shí)間ADDTIME時(shí)間類型否否是否提交SUBMIT布爾類型否否表4-4樓盤訂單表4.5.5樓盤交易表(CUSTOMER)用戶訂單處理后,生成交易表,記錄用戶和樓盤的交易信息。具體字段類型如表4-5:字段描述字段名稱字段類型是否主鍵是否為空交易IDID自動(dòng)編號(hào)是否訂單I

44、DBUILDORDER整數(shù)類型否否用戶IDCUSTOMER整數(shù)類型否否交易介紹CONTENT字符類型否否添加時(shí)間ADDTIME時(shí)間類型否否表4-5樓盤交易表4.5.6管理員信息表(ADMIN)管理員信息不許具體的信息,只包括名稱和密碼。具體字段類型如表4-6:字段描述字段名稱字段類型是否主鍵是否為空管理員IDID自動(dòng)編號(hào)是否管理員名稱NAME字符類型否否管理員密碼PASSWD字符類型否否表4-6管理員信息表第五章基于UML的系統(tǒng)建模5.1 UML概述及系統(tǒng)分析步驟5.1.1 UML概述統(tǒng)模語言(UML是UnifiedModelingLanguage的縮寫)是用來對(duì)軟件密集系統(tǒng)進(jìn)行可視化建模的一

45、種語言。UML為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說明、可視化、和編制文檔的一種標(biāo)準(zhǔn)語言。UML是用面向?qū)ο髨D的方式來描述任何類型的系統(tǒng),具有很廣泛的應(yīng)用領(lǐng)域。特別是在建立軟件系統(tǒng)的模型中,它支持從系統(tǒng)需求、系統(tǒng)分析到系統(tǒng)設(shè)計(jì)的整個(gè)建模過程,提供UML圖形的編輯和美化工具,保證得到語確、語義完整的UML圖形模型,并提供包括文檔管理和圖形打印等輔助支持。它不僅支持建立系統(tǒng)的靜態(tài)模型,還支持描述系統(tǒng)的動(dòng)態(tài)模型。UML由以下四部分組成:1)視圖。視圖是表達(dá)系統(tǒng)的某一方面特征的UML建模元素的子集,視圖并不是圖,它是由一個(gè)或者多個(gè)圖組成的對(duì)系統(tǒng)某個(gè)角度的抽象。在建立一個(gè)系統(tǒng)模型時(shí),通過定義多個(gè)反應(yīng)系統(tǒng)不同方面

46、的視圖,才能對(duì)系統(tǒng)做出完整、精確的描述。2)圖。視圖由圖組成,UML通常提供9種基本的圖,把這幾種基本圖結(jié)合起來就可以描述系統(tǒng)的所有視圖。3)模型元素。UML中模型元素包括事物和事物之間的聯(lián)系。事物描述了一般的面向?qū)ο蟮母拍?,如類、?duì)象、接口、消息和組建等。事物之間的關(guān)系能夠把事物聯(lián)系在一起,組成有意義的結(jié)構(gòu)模型。常見的聯(lián)系包括關(guān)聯(lián)關(guān)系、依賴關(guān)系、泛化關(guān)系、實(shí)現(xiàn)關(guān)系和聚合關(guān)系。同一個(gè)模型元素可以在幾個(gè)不同的UML圖中使用,不過同一個(gè)模型元素在任何圖中都保持相同的意義和符號(hào)。4)通用機(jī)制。UML提供的通用機(jī)制可以為模型元素提供額外的注釋、信息和語義。這些通用機(jī)制同時(shí)提供擴(kuò)展機(jī)制,擴(kuò)展機(jī)制允許用戶

47、對(duì)UML進(jìn)行擴(kuò)展,以便適應(yīng)一個(gè)特定的方法和過程、組織或用戶。UML的各種圖時(shí)UML模型的重要組成部分,在本系統(tǒng)的建模過程中用到了用例圖和活動(dòng)圖,以下是9種具體的描述:1)用例圖用例圖(UseCaseDiagram)顯示多個(gè)外部參與者以及他們與系統(tǒng)提供的用例之間的連接。用例是系統(tǒng)中的一個(gè)描述參與者與系統(tǒng)之間交互作用功能單元。用例僅僅描述系統(tǒng)參與者從外部觀察到的系統(tǒng)功能,并不描述這些功能在系統(tǒng)部的具體實(shí)現(xiàn)。用例圖的用途是列出系統(tǒng)中的用例和參與者,并顯示哪個(gè)參與者參與了哪些用例的執(zhí)行。2)類圖類是對(duì)應(yīng)領(lǐng)域或應(yīng)用解決方案中概念的描述。類圖(ClassDiagram)以類為中心組織,類圖中的其他元素或?qū)?/p>

48、于某個(gè)類,或與類相關(guān)聯(lián)。類可以以多種方式相互連接:關(guān)聯(lián)、依賴(一個(gè)類依賴或使用另一個(gè)類)、特殊化(一個(gè)類是另一個(gè)類的特殊化),這些連接成為類之間的關(guān)系。所有的關(guān)系連同每個(gè)類的部結(jié)構(gòu)都在類圖中顯示。關(guān)系用類框之間的連線表示,不同的關(guān)系用連線上和連線端口處的修飾符來區(qū)別。3)對(duì)象圖對(duì)象圖(ObjectDiagram)是類圖的變體,它使用與類圖相似的符號(hào)描述,不同之處在于對(duì)象圖顯示的是類的多個(gè)對(duì)象實(shí)例而非實(shí)際的類。可以說,對(duì)象圖是類圖的一個(gè)例子,用于顯示系統(tǒng)執(zhí)行時(shí)的一個(gè)可能的快照,即在某一時(shí)間點(diǎn)上系統(tǒng)可能呈現(xiàn)的樣子。對(duì)象圖和類圖表示的不同之處在于它用帶下劃線的對(duì)象名稱來表示對(duì)象,顯示一個(gè)關(guān)系中所有的

49、實(shí)例。4) 狀態(tài)圖狀態(tài)圖(StateDiagram)是對(duì)類描述的補(bǔ)充,它用于顯示類的的對(duì)象可能具備的所有狀態(tài),以及引起狀態(tài)改變的事件。狀態(tài)的變化稱之為轉(zhuǎn)換。狀態(tài)圖由對(duì)象的各個(gè)狀態(tài)和連接這些狀態(tài)的轉(zhuǎn)換組成。每個(gè)狀態(tài)對(duì)一個(gè)對(duì)象在其生命周期中滿足某種條件的一個(gè)時(shí)間段建模。事件的發(fā)生會(huì)觸發(fā)狀態(tài)間的轉(zhuǎn)換,導(dǎo)致對(duì)象從一種狀態(tài)轉(zhuǎn)換為另一種狀態(tài)。實(shí)際建模時(shí),并不需要為所有的類都繪制狀態(tài)圖,僅對(duì)那些具有多個(gè)明確狀態(tài)并且這些狀態(tài)會(huì)影響和改變其行為的類才有繪制狀態(tài)圖的必要。此外,還可以為系統(tǒng)繪制整體狀態(tài)圖。5) 時(shí)序圖時(shí)序圖(SequenceDiagram)顯示多個(gè)對(duì)象之間的動(dòng)作狀態(tài),重點(diǎn)是顯示對(duì)象之間發(fā)送的消息的

50、時(shí)間順序。時(shí)序圖也是顯示對(duì)象之間的交互,就是在系統(tǒng)執(zhí)行時(shí),某個(gè)指定時(shí)間點(diǎn)將發(fā)生的事情。時(shí)序圖的一個(gè)用途是用來表示用例中的行為順序,當(dāng)執(zhí)行一個(gè)用理性為時(shí),時(shí)序圖中的每條消息對(duì)應(yīng)了一個(gè)類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的觸發(fā)事件。6) 協(xié)作圖協(xié)作圖(CollaborationDiagram)對(duì)一次交互中有意義的對(duì)象和對(duì)象間的鏈建模。除了顯示消息的交換以外,協(xié)作圖也是顯示對(duì)象以及他們之間的關(guān)系。時(shí)序圖和協(xié)作圖都可以表示各個(gè)對(duì)象間的交互關(guān)系,但它們的側(cè)重點(diǎn)不同。時(shí)序圖用消息的幾何排列關(guān)系來表達(dá)消息的時(shí)間順序,各個(gè)角色之間的關(guān)系是隱含的。協(xié)作圖用各個(gè)角色的幾何排列表示角色之間的關(guān)系,并用消息來說明這些關(guān)系。在實(shí)際

51、運(yùn)用中可以根據(jù)需要選用這兩種圖:如果需要重點(diǎn)強(qiáng)調(diào)時(shí)間或順序,那么選擇時(shí)序圖;如果需要重點(diǎn)強(qiáng)調(diào)上下文。那么選擇協(xié)作圖。7)活動(dòng)圖活動(dòng)圖(ActivityDiagram)是狀態(tài)圖的一個(gè)變體,用來描述執(zhí)行算法的工作流程中涉及的活動(dòng)。動(dòng)作狀態(tài)代表了一個(gè)活動(dòng),即一個(gè)工作流程步驟或一個(gè)操作的執(zhí)行?;顒?dòng)圖由多個(gè)動(dòng)作態(tài)組成,當(dāng)一個(gè)動(dòng)作完成之后,動(dòng)作態(tài)將會(huì)改變,轉(zhuǎn)換為另一個(gè)新的狀態(tài)(在狀態(tài)圖,狀態(tài)在進(jìn)行轉(zhuǎn)換之前需要標(biāo)明顯示的事件)。這樣,控制就在這些相互連接的動(dòng)作狀態(tài)之間流動(dòng)。此外,在活動(dòng)圖中還可以顯示決策和條件,以及動(dòng)作狀態(tài)的并發(fā)執(zhí)行。8)組件圖組件圖(ComponentDiagram)用代碼來顯示代碼物理結(jié)

52、構(gòu),組件圖可以是源代碼組件、二進(jìn)制組件或一個(gè)可執(zhí)行的組件。一個(gè)組件包含它所實(shí)現(xiàn)的一個(gè)或者多個(gè)邏輯類的相關(guān)信息,根據(jù)組件圖中顯示的組件之間的依賴關(guān)系,可以容易地分析出某個(gè)組件的變化將會(huì)對(duì)其他組件產(chǎn)生什么樣的影響。通常說來,組件圖用于實(shí)際的編程工作中。9)配置圖配置圖(DeploymentDiagram)用于顯示系統(tǒng)中的硬件和軟件的物理結(jié)構(gòu)。配置圖可以顯示實(shí)際的計(jì)算機(jī)和設(shè)備(節(jié)點(diǎn)),還可以顯示它們之間的連接和連接的類型。在配置圖中顯示哪些節(jié)點(diǎn),已經(jīng)分配了可以執(zhí)行的組件和對(duì)象,以顯示這些軟件單元分別在那個(gè)節(jié)點(diǎn)上運(yùn)行。5.1.2基于UML面向?qū)ο蟮南到y(tǒng)分析步驟UML是一個(gè)功能強(qiáng)大的、面向?qū)ο蟮目梢暬?/p>

53、統(tǒng)分析的建模語言,它采用一套成熟的建模技術(shù)。它的各個(gè)模型可以幫助用戶開發(fā)人員更好地理解業(yè)務(wù)流程,建立更可靠、更完善的系統(tǒng)模型,從而使用戶和開發(fā)人員對(duì)問題的描述表達(dá)到相同的理解,以減少語義差異,保障分析的正確性。運(yùn)用UML進(jìn)行面向?qū)ο笙到y(tǒng)分析設(shè)計(jì),通常都要經(jīng)過如下3個(gè)步驟。1)識(shí)別系統(tǒng)的用例和角色。首先要對(duì)項(xiàng)目進(jìn)行需求調(diào)研,分析項(xiàng)目的業(yè)務(wù)流程圖和數(shù)據(jù)流圖,以及項(xiàng)目中涉及的各級(jí)操作人員,識(shí)別出系統(tǒng)中的所有用例和角色;接著分析系統(tǒng)中個(gè)角和用例間的關(guān)系,使用UML建模工具畫出系統(tǒng)的用例圖;最后,勾畫出系統(tǒng)的概念層模型,借助UML建模工具描述概念層的類圖和活動(dòng)圖。2)進(jìn)行系統(tǒng)分析并抽象出類。系統(tǒng)分析的任

54、務(wù)是找出系統(tǒng)的所有需求并加以描述,同時(shí)建立特定領(lǐng)域模型,建立域模型有助于開發(fā)人員考察用例。從實(shí)際需求中抽象出類,并描述各個(gè)類之間的關(guān)系。3)設(shè)計(jì)系統(tǒng),并設(shè)計(jì)系統(tǒng)中的類及其行為。設(shè)計(jì)階段由結(jié)構(gòu)設(shè)計(jì)和詳細(xì)設(shè)計(jì)組成。結(jié)構(gòu)設(shè)計(jì)是高層設(shè)計(jì),其任務(wù)是定義包、包間的依賴關(guān)系和主要通信機(jī)制。包有利于描述系統(tǒng)的邏輯組成部分以及各個(gè)部分之間的依賴關(guān)系。詳細(xì)設(shè)計(jì)主要用來細(xì)化包的容,清晰的描述所有的類同時(shí)使用UNL的動(dòng)態(tài)模型描述在特定環(huán)境下這些類的實(shí)例的行為。5.2樓房管理模塊的結(jié)構(gòu)圖樓房信息管理員可以查看樓房種類的信息,可以添加、刪除、修改樓房的種類和樓房。如圖5-1圖5-1樓房信息管理結(jié)構(gòu)圖5.3 購物車模塊的結(jié)

55、構(gòu)圖顧客可以通過購物車模塊購買樓房、下訂單和刪除訂單。如圖5-2圖5-2購物車結(jié)構(gòu)圖5.4 留言信息管理模塊的結(jié)構(gòu)圖管理員可以查看顧客的留言信息(包括:用戶名、留言主題、留言容、留言時(shí)間),同時(shí)也可以進(jìn)行沒用的留言信息的刪除,圖5-3為結(jié)構(gòu)圖圖5-3留言管理結(jié)構(gòu)圖第六章系統(tǒng)實(shí)現(xiàn)6.1總體架構(gòu)及實(shí)現(xiàn)6.1.1系統(tǒng)總體結(jié)構(gòu)圖圖6-1為的總體結(jié)構(gòu)圖6-1的總體結(jié)構(gòu)6.1.2用戶首頁界面風(fēng)格網(wǎng)上樓房銷售系統(tǒng)的主頁面向用戶展示了推薦樓房信息、新上架樓房信息、最暢銷樓房信息、系統(tǒng)的公告信息、對(duì)自己喜歡的樓房類別進(jìn)行投票和查看樓房類別的入27/44口。如果用戶想購買樓房和發(fā)表樓房的評(píng)論必須登錄系統(tǒng),才能進(jìn)行

56、操作。圖6-1為的首頁截圖琶埋長(zhǎng)息汞頡:2msD大學(xué)網(wǎng)上售樓系統(tǒng)ELCOME山比ti;:mdHiai嘰E選入3登錄管理蘇塊用P圖6-1首頁截圖6.2樓房信息查詢6.2.1功能描述用戶在查詢樓房文本域中輸入樓房名稱,點(diǎn)擊查詢按鈕進(jìn)行站搜索,然后將搜索結(jié)果列出。6.2.2模塊流程圖如圖6-2是樓房信息查詢的流程圖圖6-2樓房查詢信息流程圖6.2.3界面風(fēng)格如圖6-3是樓房查詢模塊截圖It誦上址吋闔SHL989-1M400:0000014321別竝00:00-0001M432L1WlL939-1M4M:Q00Q014321L9S9-1M400:000001*J23dIHd1990-10-1000:000001Sfl1231990-10-1000;00000i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論