票務(wù)系統(tǒng)架構(gòu)設(shè)計(jì)案例分析_第1頁(yè)
票務(wù)系統(tǒng)架構(gòu)設(shè)計(jì)案例分析_第2頁(yè)
票務(wù)系統(tǒng)架構(gòu)設(shè)計(jì)案例分析_第3頁(yè)
票務(wù)系統(tǒng)架構(gòu)設(shè)計(jì)案例分析_第4頁(yè)
票務(wù)系統(tǒng)架構(gòu)設(shè)計(jì)案例分析_第5頁(yè)
已閱讀5頁(yè),還剩37頁(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)介

票務(wù)系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)案例分析8.1工程背景8.2需求分析8.3系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)8.4小結(jié)8.1工程背景由于票務(wù)種類的繁多,客戶信息的量大復(fù)雜。所以在其管理上存在較大困難,特別是早期單用人力和紙張進(jìn)行管理。導(dǎo)致信息的不全面和錯(cuò)誤率高,加之存儲(chǔ)介質(zhì)的約束,難以長(zhǎng)期有效的管理。隨著計(jì)算機(jī)網(wǎng)絡(luò)的開(kāi)展,電子商務(wù)的普及。一種基于B/S模式的票務(wù)系統(tǒng)提出了需求。由于票務(wù)的特殊性,需要系統(tǒng)有很強(qiáng)的穩(wěn)定性,要求較快的反響速度,響應(yīng)多點(diǎn)同時(shí)請(qǐng)求。另外后臺(tái)對(duì)票務(wù)的所有相關(guān)信息需要完全記錄。完成歷史信息的保存,查詢;對(duì)當(dāng)前信息的錄入,查詢,修改,刪除。8.2需求分析主要任務(wù)創(chuàng)立代表“目前〞業(yè)務(wù)情況的業(yè)務(wù)模型,并將此業(yè)務(wù)模型轉(zhuǎn)換成“將來(lái)〞的系統(tǒng)模型,包括功能需求和非功能需求。非功能需求又包括質(zhì)量屬性和各種約定。通過(guò)對(duì)客戶的當(dāng)前業(yè)務(wù)的分析,我們得到當(dāng)前業(yè)務(wù)的根本需求。功能需求功能說(shuō)明客戶信息管理用戶的創(chuàng)建、登錄、刪除和維護(hù)票務(wù)信息管理票務(wù)的添加、刪除和維護(hù)票務(wù)查詢查看相應(yīng)的票務(wù)信息預(yù)定購(gòu)票票務(wù)的預(yù)定、購(gòu)買和取消

非功能需求質(zhì)量屬性說(shuō)明性能用戶訪問(wèn)的系統(tǒng)應(yīng)該能在規(guī)定的時(shí)間內(nèi)做出響應(yīng),如果系統(tǒng)由于網(wǎng)絡(luò)或者數(shù)據(jù)庫(kù)原因不能在規(guī)定時(shí)間內(nèi)做出反應(yīng),那么系統(tǒng)應(yīng)該提出警告,不能出現(xiàn)用戶無(wú)故長(zhǎng)時(shí)間等待的情況。安全性在web數(shù)據(jù)庫(kù)客戶端,web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器之間,都應(yīng)該有防火墻保護(hù),防止網(wǎng)絡(luò)上的非法數(shù)據(jù)請(qǐng)求。易用性不同的用戶應(yīng)該能夠以不同形式訪問(wèn)不同的內(nèi)容可用性系統(tǒng)提供7X24小時(shí)的服務(wù),且很少停機(jī)

可測(cè)試性系統(tǒng)是的各部分易于單獨(dú)測(cè)試,并能方便地進(jìn)行整體測(cè)試

8.2.1定義系統(tǒng)根據(jù)業(yè)務(wù)的功能需求,該系統(tǒng)主要的涉眾有系統(tǒng)管理人員和客戶,系統(tǒng)管理人員又分為票務(wù)管理人員和用戶管理人員。票務(wù)管理人員會(huì)對(duì)票務(wù)信息進(jìn)行相關(guān)維護(hù),用戶管理人員對(duì)客戶信息進(jìn)行相關(guān)的維護(hù)。由此得出系統(tǒng)角色,分析其對(duì)系統(tǒng)的具體要求,并找出系統(tǒng)的各個(gè)用例。用例說(shuō)明票務(wù)信息查詢用戶輸入相關(guān)查詢條件信息,查看到相關(guān)票務(wù)的具體信息,當(dāng)查詢條件不符合規(guī)定時(shí),系統(tǒng)給出相應(yīng)提示。票務(wù)操作用戶根據(jù)查詢出來(lái)的票務(wù)信息對(duì)票務(wù)信息進(jìn)行預(yù)訂,購(gòu)買,取消等操作票務(wù)信息維護(hù)票務(wù)管理員對(duì)票務(wù)信息進(jìn)行維護(hù),如添加,刪除等用戶信息維護(hù)用戶管理員根據(jù)用戶資料,維護(hù)系統(tǒng)中記錄的用戶相關(guān)信息?!鶕?jù)上述分析,可以得到系統(tǒng)用例視圖:

細(xì)化定義(1)細(xì)化用例細(xì)化業(yè)務(wù)用例模型,是為了更加詳細(xì)地分析和描述用例。同時(shí),將業(yè)務(wù)用例模型轉(zhuǎn)換成系統(tǒng)的用例模型。下面,以“角色〞用戶進(jìn)行票務(wù)購(gòu)置為例。要素說(shuō)明用例名稱用戶購(gòu)買票務(wù)簡(jiǎn)要描述用戶根據(jù)當(dāng)前票務(wù)信息購(gòu)買相應(yīng)票務(wù)事件流基本事件流(1)用戶在購(gòu)票的名稱欄中輸入要購(gòu)買的票務(wù)的起始地與目的地(2)系統(tǒng)根據(jù)客戶輸入,列出相應(yīng)的票務(wù)信息細(xì)化用例后,還需對(duì)用例進(jìn)行詳細(xì)描述,直到所有涉眾都認(rèn)可描述的內(nèi)容已經(jīng)能夠正確表達(dá)出他們的需求為止。在RUP方法論中指明通過(guò)闡述一個(gè)用例的名稱、簡(jiǎn)要描述、事件流、特殊需求、前置條件和后置條件等六個(gè)方面可以對(duì)用例進(jìn)行描述。下面以用例“用戶購(gòu)置票務(wù)〞為例細(xì)化描述。要素說(shuō)明事件流(3)用戶根據(jù)自己的實(shí)際情況選擇符合自己相應(yīng)條件的票務(wù),如票價(jià)、時(shí)間等。(4)系統(tǒng)顯示購(gòu)買成功,或者顯示交易失敗。(5)該“用戶購(gòu)買票務(wù)”用例結(jié)束?!坝脩糍?gòu)置票務(wù)〞用例細(xì)化描述〔續(xù)〕要素說(shuō)明備選事件流系統(tǒng)查詢不到票務(wù)相關(guān)信息,則按下一步步驟進(jìn)行:(1)提示用戶票務(wù)交易無(wú)法進(jìn)行,并給出交易失敗原因(2)其次,撤銷此次交易的記錄。特殊需求系統(tǒng)不可偽造數(shù)據(jù),交易失敗原因要合理并且詳盡“用戶購(gòu)置票務(wù)〞用例細(xì)化描述〔續(xù)〕要素說(shuō)明前置條件用戶必須先登陸后置條件交易成功后數(shù)據(jù)庫(kù)及時(shí)更新票務(wù)信息“用戶購(gòu)置票務(wù)〞用例細(xì)化描述〔續(xù)〕上面對(duì)用例的描述僅限于文字描述,還不夠形象。再以活動(dòng)圖的形式進(jìn)行建模描述如下:(2)結(jié)構(gòu)化用例

結(jié)構(gòu)化用例的目的是通過(guò)觀察這些已經(jīng)細(xì)化的用例,看能不能抽取出共有的、可選的行為,把這些共同的內(nèi)容建立為新的用例。這樣的好處是,可以消除冗余的需要以及改善系統(tǒng)整體需求內(nèi)容的可維護(hù)性。像“用戶信息維護(hù)〞用例中,“查詢用戶信息〞應(yīng)作為一個(gè)新的用例提取出來(lái),以提高上面所說(shuō)的需求內(nèi)容的可維護(hù)性。8.3

系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)將需求內(nèi)容轉(zhuǎn)換成設(shè)計(jì)模型的雛形以及用戶體驗(yàn)?zāi)P?,其目的是建立整個(gè)系統(tǒng)初步的解決方案,為詳細(xì)設(shè)計(jì)活動(dòng)打下根底,這一階段的具體活動(dòng)如下:

體系結(jié)構(gòu)的選擇早期的票務(wù)系統(tǒng)僅僅針對(duì)售票單位,只是簡(jiǎn)單的數(shù)量控制,票務(wù)記錄。而新的票務(wù)系統(tǒng)不僅僅具有以前的所有功能,還利用網(wǎng)絡(luò)將客戶包括近來(lái)。方便客戶進(jìn)行操作,利用網(wǎng)絡(luò)可以讓客戶在任何有網(wǎng)絡(luò)的地方就可以直接連入系統(tǒng)。又由于計(jì)算機(jī)的支持,數(shù)據(jù)庫(kù)中有所有客戶的信息,可以方便售票方對(duì)客戶進(jìn)行管理,提供更好的效勞。本系統(tǒng)采用基于B/S的分層結(jié)構(gòu)。這種結(jié)構(gòu)有如下特點(diǎn):節(jié)省投資、跨地域廣;維護(hù)和升級(jí)方式簡(jiǎn)單,如果想對(duì)功能修改,可以方便的進(jìn)行更改,大大減少維護(hù)本錢。系統(tǒng)的結(jié)構(gòu)視圖如下:在J2EE(是一套全然不同于傳統(tǒng)應(yīng)用開(kāi)發(fā)的技術(shù)體系結(jié)構(gòu),包含許多組件,主要可簡(jiǎn)化且標(biāo)準(zhǔn)應(yīng)用系統(tǒng)的開(kāi)發(fā)與部署,進(jìn)而提高可移植性、平安與再用價(jià)值)開(kāi)發(fā)中,搭配良好的框架可以降低開(kāi)發(fā)人員解決復(fù)雜問(wèn)題的難度,而如何將框架整合起來(lái),以使每一層都向另外的層次以松散的方式來(lái)提供接口,同時(shí)讓組合的三個(gè)框架在每一層都以一種松耦合的方式彼此溝通,從而與低層的技術(shù)透明無(wú)關(guān),這就是框架分析的目的和要求。所以我們把Structs(為Web應(yīng)用提供了一個(gè)MVC模式的通用框架)、Hibernate(開(kāi)放源代碼的對(duì)象關(guān)系映射框架)和Spring(開(kāi)源框架)組合起來(lái)的目標(biāo)就是希望能實(shí)現(xiàn)系統(tǒng)的“低耦合、高內(nèi)聚〞。也就是要求系統(tǒng)易于維護(hù)、易于適應(yīng)變更、可重用性的特點(diǎn)。根據(jù)前期對(duì)需求的分析,決定采用基于SSH框架來(lái)構(gòu)建此分布式的信息管理系統(tǒng)。SSH多層的構(gòu)架模式,從上到下依次為視圖層、控制器層、模型層、持久化層和數(shù)據(jù)庫(kù)層,如以下圖所示:SSH為SecureShell的縮寫(xiě),由IETF的網(wǎng)絡(luò)工作小組〔NetworkWorkingGroup〕所制定;SSH為建立在應(yīng)用層和傳輸層根底上的平安協(xié)議。SSH是目前較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)效勞提供平安性的協(xié)議。利用SSH協(xié)議可以有效防止遠(yuǎn)程管理過(guò)程中的信息泄露問(wèn)題。SSH也俗稱三層體系結(jié)構(gòu):第一層:實(shí)體類層第二層:業(yè)務(wù)邏輯層第三層:表示層(顯示層)框架講解:視圖層:職責(zé)是提供控制器,將頁(yè)面的請(qǐng)求委派給其他層進(jìn)行處理,為顯示提供業(yè)務(wù)數(shù)據(jù)模型??刂茖樱郝氊?zé)是按預(yù)定的業(yè)務(wù)邏輯處理視圖層提交的請(qǐng)求。

〔1〕

處理業(yè)務(wù)邏輯和業(yè)務(wù)校驗(yàn)

〔2〕事務(wù)管理〔3〕管理業(yè)務(wù)層對(duì)象間的依賴關(guān)系〔4〕向表示層提供具體業(yè)務(wù)效勞的實(shí)現(xiàn)類模型層:職責(zé)是將模型的狀態(tài)轉(zhuǎn)交視圖層,以提供頁(yè)面給瀏覽器。數(shù)據(jù)持久層:職責(zé)是建立持久化類及其屬性與數(shù)據(jù)庫(kù)中表及其字段的對(duì)應(yīng)關(guān)系。提供簡(jiǎn)化SQL語(yǔ)句的機(jī)制。實(shí)現(xiàn)根本的數(shù)據(jù)操作〔增、刪、讀、改〕數(shù)據(jù)庫(kù)層:數(shù)據(jù)庫(kù)的建立與管理。規(guī)那么〔約束〕:〔1〕系統(tǒng)各層次及層內(nèi)部子層次之間都不得跨層調(diào)用?!?〕由bean傳遞模型狀態(tài)?!?〕需要在表示層綁定到列表的數(shù)據(jù)采用基于關(guān)系的數(shù)據(jù)集傳遞?!?〕對(duì)于每一個(gè)數(shù)據(jù)庫(kù)表〔Table〕都有一個(gè)DB

Entity

class與之對(duì)應(yīng),由Hibernate完成映射?!?〕有些跨數(shù)據(jù)庫(kù)或跨表的操作〔如復(fù)雜的聯(lián)合查詢〕也需要由Hibernate來(lái)提供支持?!?〕表示層和控制層禁止出現(xiàn)任何SQL語(yǔ)句。現(xiàn)在我們通過(guò)下表來(lái)看看構(gòu)架是如何來(lái)滿足系統(tǒng)的關(guān)鍵質(zhì)量屬性需求。8.3.2系統(tǒng)體系結(jié)構(gòu)的分析與設(shè)計(jì)1質(zhì)量場(chǎng)景 1〕性能場(chǎng)景:在系統(tǒng)處于頂峰時(shí)期,保證登陸的每個(gè)顧客所作的選擇和查詢的響應(yīng)時(shí)間能在5s以內(nèi),如果需要等待那么給出有友好的提示。系統(tǒng)可以保證以最快速度同時(shí)響應(yīng)500個(gè)用戶的操作。

制品:系統(tǒng)刺激:提交請(qǐng)求響應(yīng):請(qǐng)求被正確處理環(huán)境:在正常操作下123響應(yīng)度量:平均等待時(shí)間在5秒內(nèi)源:用戶2〕平安性場(chǎng)景:杜絕非法用戶試圖繞過(guò)應(yīng)用效勞器直接連接到數(shù)據(jù)庫(kù)效勞器的端口上,防止非法竊取注冊(cè)用戶個(gè)人息;屏蔽某IP短時(shí)間內(nèi)的大量無(wú)意義的訪問(wèn),以防被擠爆,使正常用戶無(wú)法使用。保證系統(tǒng)數(shù)據(jù)的機(jī)密性和完整性。

制品:系統(tǒng)刺激:試圖非法操作信息響應(yīng):系統(tǒng)維持審核蹤跡環(huán)境:在正常操作下123響應(yīng)度量:半天內(nèi)恢復(fù)校正數(shù)據(jù)源:系統(tǒng)外部3〕易用性場(chǎng)景:在該系統(tǒng)中,用戶希望在運(yùn)行時(shí)能盡快取消某操作使錯(cuò)誤的影響降到最低,取消在1秒內(nèi)發(fā)生;要求具有根本電腦操作常識(shí)的人,可以根據(jù)良好的界面設(shè)計(jì)迅速學(xué)會(huì)使用方法,讓熟手用戶使用快捷鍵。

制品:系統(tǒng)刺激:使錯(cuò)誤的影響最低響應(yīng):提示操作希望取消環(huán)境:運(yùn)行時(shí)123響應(yīng)度量:在2秒內(nèi)源:用戶

4)可用性場(chǎng)景:在正常的工作時(shí)間內(nèi),系統(tǒng)必須具有極高的可用性,保證出故障幾率最低。出現(xiàn)故障時(shí)系統(tǒng)有相應(yīng)的處理機(jī)制。

制品:系統(tǒng)刺激:錯(cuò)誤或異常發(fā)生響應(yīng):系統(tǒng)給出警告信息環(huán)境:在正常操作下123響應(yīng)度量:系統(tǒng)不停機(jī)源:系統(tǒng)內(nèi)部2

數(shù)據(jù)持久層的體系結(jié)構(gòu)分析

在數(shù)據(jù)持久層,我們使用Hibernate來(lái)進(jìn)行處理,通過(guò)下面我們來(lái)看看如何通過(guò)Hibernate來(lái)滿足系統(tǒng)的質(zhì)量屬性需求。

Hibernate體系結(jié)構(gòu)概要圖從這個(gè)圖可以看出,Hibernate通過(guò)配置文件和映射文件來(lái)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互及實(shí)現(xiàn)對(duì)象關(guān)系映射〔ObjectRelationalMapping,簡(jiǎn)稱ORM〕,通過(guò)這種機(jī)制,將java程序中的對(duì)象自動(dòng)持久化到關(guān)系數(shù)據(jù)庫(kù)中,對(duì)持久化對(duì)象的改動(dòng)都會(huì)反映到數(shù)據(jù)庫(kù)中。其中配置文件主要用來(lái)配置好數(shù)據(jù)庫(kù)連接的各種參數(shù)以及定義數(shù)據(jù)映射文件,通常以或者perties形式出現(xiàn);XMLMapping配置文件是數(shù)據(jù)庫(kù)中表的數(shù)據(jù)映射文件,通常以*.hbm.xml形式出現(xiàn)。下面我們來(lái)更詳細(xì)地看一下Hibernate運(yùn)行時(shí)體系結(jié)構(gòu)方案。這種方案將應(yīng)用層從底層的JDBC/JTAAPI中抽象出來(lái),而讓Hibernate來(lái)處理這些細(xì)節(jié)。Hibernate滿足的質(zhì)量屬性需求(1)性能Hibernate本質(zhì)上是包裝了JDBC來(lái)進(jìn)行數(shù)據(jù)操作的,由于Hibernate在調(diào)用JDBC上面是優(yōu)化了JDBC調(diào)用,并且盡可能的使用最優(yōu)化的,最高效的JDBC調(diào)用,所以性能令人滿意,同時(shí)應(yīng)用程序需要在關(guān)聯(lián)關(guān)系間進(jìn)行導(dǎo)航的時(shí)候,由Hibernate獲取關(guān)聯(lián)對(duì)象,Hibernate提供的對(duì)持久化數(shù)據(jù)的緩存機(jī)制也對(duì)系統(tǒng)的性能的提高起了很大的作用。(2)平安性Hibernate提供的悲觀鎖/樂(lè)觀鎖機(jī)制,能夠在多個(gè)用戶進(jìn)行并發(fā)操作時(shí)保持?jǐn)?shù)據(jù)庫(kù)中數(shù)據(jù)的一致性與完整性,防止了對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的破壞。(3)易用性用戶在對(duì)票務(wù)信息進(jìn)行操作時(shí)都得到Hibernate的支持。3業(yè)務(wù)邏輯層體系結(jié)構(gòu)設(shè)計(jì)業(yè)務(wù)邏輯層作為該系統(tǒng)的關(guān)鍵局部,對(duì)系統(tǒng)的靈活性實(shí)現(xiàn)起著決定性的作用。在本系統(tǒng)的業(yè)務(wù)邏輯層體系結(jié)構(gòu)層中,采取了MVC模式,下面簡(jiǎn)單介紹一下MVC模式的好處:(1)實(shí)現(xiàn)了客戶端表示層和業(yè)務(wù)邏輯層的完全別離(2)高效可靠的事務(wù)處理(3)具有良好的易用性,平安性MVC模式訪問(wèn)流程:MVC模式在本系統(tǒng)中應(yīng)用:當(dāng)客戶利用網(wǎng)頁(yè)瀏覽器,發(fā)出HTTP請(qǐng)求時(shí),這通常會(huì)牽涉到送出表單數(shù)據(jù),例如用戶名和密碼。Servlet收到這樣的數(shù)據(jù)并解析數(shù)據(jù)。Servlet扮演控制器的角色,處理你的請(qǐng)求,通常會(huì)向模型〔一般是數(shù)據(jù)庫(kù)〕發(fā)出請(qǐng)求。處理結(jié)果往往以JavaBean的形式打包。視圖就是JSP,而JSP唯一的工作就是產(chǎn)生頁(yè)面,表現(xiàn)模型的視圖以及進(jìn)一步動(dòng)作所需要的所有控件。當(dāng)頁(yè)面返回瀏覽器作為視圖顯示出來(lái),用戶提出的進(jìn)一步請(qǐng)求,也會(huì)以同樣的方式處理。由于JSP繼承了J2EE良好的易用性和平安性,從而為實(shí)現(xiàn)系統(tǒng)的關(guān)鍵質(zhì)量屬性奠定了根底。在MVC模式中,視圖不再是經(jīng)典意義上的模型的觀察者。當(dāng)模型發(fā)生改變時(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)論