版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、功能需求功能說明客戶信息管理用戶的創(chuàng)建、登錄、刪除和維護票務信息管理票務的添加、刪除和維護票務查詢查看相應的票務信息預定購票票務的預定、購買和取消 非功能需求質量屬性說明性能用戶訪問的系統(tǒng)應該能在規(guī)定的時間內做出響應,如果系統(tǒng)由于網絡或者數據庫原因不能在規(guī)定時間內做出反應,那么系統(tǒng)應該提出警告,不能出現用戶無故長時間等待的情況。 安全性在web數據庫客戶端,web服務器和數據庫服務器之間,都應該有防火墻保護,防止網絡上的非法數據請求。 易用性不同的用戶應該能夠以不同形式訪問不同的內容 可用性系統(tǒng)提供7X24小時的服務,且很少停機 可測試性系統(tǒng)是的各部分易于單獨測試,并能方便地進行整體測試 6.
2、2.1 定義系統(tǒng) 根據業(yè)務的功能需求,該系統(tǒng)主要的涉眾有系統(tǒng)管理人員和客戶,系統(tǒng)管理人員又分為票務管理人員和用戶管理人員。票務管理人員會對票務信息進行相關維護,用戶管理人員對客戶信息進行相關的維護。由此得出系統(tǒng)角色,分析其對系統(tǒng)的具體要求,并找出系統(tǒng)的各個用例。用例說明票務信息查詢用戶輸入相關查詢條件信息,查看到相關票務的具體信息,當查詢條件不符合規(guī)定時,系統(tǒng)給出相應提示。票務操作用戶根據查詢出來的票務信息對票務信息進行預訂,購買,取消等操作票務信息維護票務管理員對票務信息進行維護,如添加,刪除等用戶信息維護用戶管理員根據用戶資料,維護系統(tǒng)中記錄的用戶相關信息。 根據上述分析,可以得到系統(tǒng)用例
3、視圖: 6.2.2 細化定義 (1) 細化用例 細化業(yè)務用例模型,是為了更加詳細地分析和描述用例。同時,將業(yè)務用例模型轉換成系統(tǒng)的用例模型。下面,以“角色”用戶進行票務購買為例。要素說明用例名稱用戶購買票務簡要描述用戶根據當前票務信息購買相應票務事件流基本事件流 (1)用戶在購票的名稱欄中輸入要購買的票務的起始地與目的地(2)系統(tǒng)根據客戶輸入,列出相應的票務信息 細化用例后,還需對用例進行詳細描述,直到所有涉眾都認可描述的內容已經能夠正確表達出他們的需求為止。在RUP方法論中指明通過闡述一個用例的名稱、簡要描述、事件流、特殊需求、前置條件和后置條件等六個方面可以對用例進行描述。下面以用例“用戶
4、購買票務”為例細化描述。要素說明事件流(3)用戶根據自己的實際情況選擇符合自己相應條 件的票務,如票價、時間等。(4)系統(tǒng)顯示購買成功,或者顯示交易失敗。(5)該“用戶購買票務”用例結束?!坝脩糍徺I票務”用例細化描述(續(xù))要素說明備選事件流系統(tǒng)查詢不到票務相關信息,則按下一步步驟進行:(1)提示用戶票務交易無法進行,并給出交易失敗原因(2)其次,撤銷此次交易的記錄。特殊需求系統(tǒng)不可偽造數據,交易失敗原因要合理并且詳盡“用戶購買票務”用例細化描述(續(xù))要素說明前置條件用戶必須先登陸后置條件交易成功后數據庫及時更新票務信息“用戶購買票務”用例細化描述(續(xù)) 上面對用例的描述僅限于文字描述,還不夠形
5、象。再以活動圖的形式進行建模描述如下: (2) 結構化用例 結構化用例的目的是通過觀察這些已經細化的用例,看能不能抽取出共有的、可選的行為,把這些共同的內容建立為新的用例。這樣的好處是,可以消除冗余的需要以及改善系統(tǒng)整體需求內容的可維護性。像“用戶信息維護”用例中,“查詢用戶信息”應作為一個新的用例提取出來,以提高上面所說的需求內容的可維護性。6.3 系統(tǒng)架構設計 將需求內容轉換成設計模型的雛形以及用戶體驗模型,其目的是建立整個系統(tǒng)初步的解決方案,為詳細設計活動打下基礎,這一階段的具體活動如下:6.3.1 體系結構的選擇 早期的票務系統(tǒng)僅僅針對售票單位,只是簡單的數量控制,票務記錄。而新的票務
6、系統(tǒng)不僅僅具有以前的所有功能,還利用網絡將客戶包括近來。方便客戶進行操作,利用網絡可以讓客戶在任何有網絡的地方就可以直接連入系統(tǒng)。又由于計算機的支持,數據庫中有所有客戶的信息,可以方便售票方對客戶進行管理,提供更好的服務。 本系統(tǒng)采用基于B/S的分層結構。這種結構有如下特點:節(jié)省投資、跨地域廣;維護和升級方式簡單,如果想對功能修改,可以方便的進行更改,大大減少維護成本。 系統(tǒng)的結構視圖如下: 在J2EE開發(fā)中,搭配良好的框架可以降低開發(fā)人員解決復雜問題的難度,而如何將框架整合起來,以使每一層都向另外的層次以松散的方式來提供接口,同時讓組合的三個框架在每一層都以一種松耦合的方式彼此溝通,從而與低
7、層的技術透明無關,這就是框架分析的目的和要求。 所以我們把Structs、Hibernate和Spring組合起來的目標就是希望能實現系統(tǒng)的“低耦合、高內聚”。也就是要求系統(tǒng)易于維護、易于適應變更、可重用性的特點。 根據前期對需求的分析,決定采用基于SSH框架來構建此分布式的信息管理系統(tǒng)。SSH多層的構架模式,從上到下依次為視圖層、控制器層、模型層、持久化層和數據庫層,如下圖所示:框架講解: 視圖層:職責是提供控制器,將頁面的請求委派給其他層進行處理,為顯示提供業(yè)務數據模型。 控制層:職責是按預定的業(yè)務邏輯處理視圖層提交的請求。 (1) 處理業(yè)務邏輯和業(yè)務校驗 (2) 事務管理 (3) 管理業(yè)
8、務層對象間的依賴關系 (4) 向表示層提供具體業(yè)務服務的實現類 模型層:職責是將模型的狀態(tài)轉交視圖層,以提供頁面給瀏覽器。 數據持久層:職責是建立持久化類及其屬性與數據庫中表及其字段的對應關系。提供簡化SQL語句的機制。實現基本的數據操作(增、刪、讀、改) 數據庫層:數據庫的建立與管理。 規(guī)則(約束): (1)系統(tǒng)各層次及層內部子層次之間都不得跨層調用。 (2) 由bean傳遞模型狀態(tài)。 (3)需要在表示層綁定到列表的數據采用基于關系的數據集傳遞。 (4)對于每一個數據庫表(Table)都有一個DB Entity class與之對應,由Hibernate完成映射。 (5)有些跨數據庫或跨表的操
9、作(如復雜的聯合查詢)也需要由Hibernate來提供支持。 (6) 表示層和控制層禁止出現任何SQL語句。SSH框架介紹: 視圖層、控制器層用Structs框架來實現,模型層的功能Spring來完成。持久化層時使用Hibernate實現,在這層使用了DAO模式。 Structs應用MVC模型使頁面展現與業(yè)務邏輯分離,做到了頁面展現與業(yè)務邏輯的低耦合。當充當表示層的頁面需要變更時,只需要修改該具體的頁面,不影響業(yè)務邏輯Bean等;同樣,業(yè)務邏輯需要變更的時候,只需要修改相應的Java程序。 使用Spring能運用IoC技術來降低了業(yè)務邏輯中各個類的相互依賴:假如,類A因為需要功能F而調用類B,
10、在通常的情況下類A需要引用類B,因而類A就依賴于類B了,也就是說當類B不存在的時候類A就無法使用了。使用了IoC,類A調用的僅僅是實現了功能F的接口的某個類,這個類可能是類B,也可能是類C,由Spring的XML配置文件來決定。這樣,類A就不再依賴與類B,耦合度降低,重用性得以提高。 使用Hibernate能讓業(yè)務邏輯與數據持久化分離,就是將數據存儲到數據庫的操作分離。在業(yè)務邏輯中只需要將數據放到值對象中,然后交給Hibernate,或者從Hibernate那里得到值對象。至于用DB2、 Oracle、MySQL還是SQL Server,如何執(zhí)行的操作,與具體的系統(tǒng)無關,只需在Hibernat
11、e的相關的XML文件里根據具體系統(tǒng)配置好。 現在我們通過下表來看看構架是如何來滿足系統(tǒng)的關鍵質量屬性需求。6.3.2 系統(tǒng)架構的分析與設計1 質量場景 1)性能場景:在系統(tǒng)處于高峰時期,保證登陸的每個顧客所作的選擇和查詢的響應時間能在5s以內,如果需要等待則給出有友好的提示。系統(tǒng)可以保證以最快速度同時響應500個用戶的操作。 制品:制品:系統(tǒng)刺激:刺激:提交請求響應:響應:請求被正確處理環(huán)境:環(huán)境:在正常操作下1 2 3響應度量:響應度量:平均等待時間在5秒內源:用戶 2)安全性場景:杜絕非法用戶試圖繞過應用服務器直接連接到數據庫服務器的端口上,防止非法竊取注冊用戶個人息;屏蔽某IP短時間內的
12、大量無意義的訪問,以防被擠爆,使正常用戶無法使用。保證系統(tǒng)數據的機密性和完整性。 制品:制品:系統(tǒng)刺激:刺激:試圖非法操作信息響應:響應:系統(tǒng)維持審核蹤跡環(huán)境:環(huán)境:在正常操作下1 2 3響應度量:響應度量:半天內恢復校正數據源:系統(tǒng)外部 3)易用性場景:在該系統(tǒng)中,用戶希望在運行時能盡快取消某操作使錯誤的影響降到最低,取消在1秒內發(fā)生;要求具有基本電腦操作常識的人,可以根據良好的界面設計迅速學會使用方法,讓熟手用戶使用快捷鍵。 制品:制品:系統(tǒng)刺激:刺激:使錯誤的影響最低響應:響應:提示操作希望取消環(huán)境:環(huán)境:運行時1 2 3響應度量:響應度量:在2秒內源:用戶 4) 可用性場景:在正常的工
13、作時間內,系統(tǒng)必須具有極高的可用性,保證出故障幾率最低。出現故障時系統(tǒng)有相應的處理機制。 制品:制品:系統(tǒng)刺激:刺激:錯誤或異常發(fā)生響應:響應:系統(tǒng)給出警告信息環(huán)境:環(huán)境:在正常操作下1 2 3響應度量:響應度量:系統(tǒng)不停機源:系統(tǒng)內部2 數據持久層的架構分析 在數據持久層,我們使用Hibernate來進行處理,通過下面我們來看看如何通過Hibernate來滿足系統(tǒng)的質量屬性需求。 Hibernate體系結構概要圖 從這個圖可以看出,Hibernate通過配置文件和映射文件來實現與數據庫的交互及實現對象關系映射(Object Relational Mapping,簡稱ORM),通過這種機制,將
14、java程序中的對象自動持久化到關系數據庫中,對持久化對象的改動都會反映到數據庫中。其中配置文件主要用來配置好數據庫連接的各種參數以及定義數據映射文件,通常以hibernate.cfg.xml或者perties形式出現;XML Mapping配置文件是數據庫中表的數據映射文件,通常以*.hbm.xml形式出現。 下面我們來更詳細地看一下Hibernate運行時體系結構方案。這種方案將應用層從底層的JDBC/JTA API中抽象出來,而讓Hibernate來處理這些細節(jié)。Hibernate體系結構方案圖中各個對象的定義如下:SessionFactory 針對單個數據庫映
15、射關系經過編譯后的內存鏡像,是線程安全的(不可變)。 它是生成Session的工廠,本身要用到ConnectionProvider。 該對象可以在進程或集群的級別上,為那些事務之間可以重用的數據提供可選的二級緩存。Session 表示應用程序與持久儲存層之間交互操作的一個單線程對象,此對象生存期很短。 其隱藏了JDBC連接,也是Transaction的工廠。 其會持有一個針對持久化對象的必選(第一級)緩存,在遍歷對象圖或者根據持久化標識查找對象時會用到。持久的對象及其集合持久的對象及其集合 帶有持久化狀態(tài)的、具有業(yè)務功能的單線程對象,此對象生存期很短。 這些對象可能是普通的JavaBeans/
16、POJO,唯一特殊的是他們正與(僅僅一個)Session相關聯。 一旦這個Session被關閉,這些對象就會脫離持久化狀態(tài),這樣就可被應用程序的任何層自由使用。 (例如,用作跟表示層打交道的數據傳輸對象。)瞬態(tài)瞬態(tài)(transient)和脫管和脫管(detached)的對象及其集合的對象及其集合 那些目前沒有與session關聯的持久化類實例。 他們可能是在被應用程序實例化后,尚未進行持久化的對象。 也可能是因為實例化他們的Session已經被關閉而脫離持久化的對象。事務事務Transaction (可選的)應用程序用來指定原子操作單元范圍的對象,它是單線程的,生命周期很短。 它通過抽象將應用
17、從底層具體的JDBC、JTA以及CORBA事務隔離開。 某些情況下,一個Session之內可能包含多個Transaction對象。 盡管是否使用該對象是可選的,但無論是使用底層的API還是使用Transaction對象,事務邊界的開啟與關閉是必不可少的。ConnectionProvider (可選的)生成JDBC連接的工廠(同時也起到連接池的作用)。 它通過抽象將應用從底層的Datasource或DriverManager隔離開。 僅供開發(fā)者擴展/實現用,并不暴露給應用程序使用。TransactionFactory (可選的)生成Transaction對象實例的工廠。 僅供開發(fā)者擴展/實現用,
18、并不暴露給應用程序使用。擴展接口擴展接口 Hibernate提供了很多可選的擴展接口,你可以通過實現它們來定制你的持久層的行為。 Hibernate滿足的質量屬性需求 (1) 性能 Hibernate本質上是包裝了JDBC來進行數據操作的,由于Hibernate在調用JDBC上面是優(yōu)化了JDBC調用,并且盡可能的使用最優(yōu)化的,最高效的JDBC調用,所以性能令人滿意,同時應用程序需要在關聯關系間進行導航的時候,由Hibernate獲取關聯對象,Hibernate提供的對持久化數據的緩存機制也對系統(tǒng)的性能的提高起了很大的作用。 (2) 安全性 Hibernate提供的悲觀鎖/樂觀鎖機制,能夠在多個
19、用戶進行并發(fā)操作時保持數據庫中數據的一致性與完整性,避免了對數據庫中數據的破壞。 (3) 易用性 用戶在對票務信息進行操作時都得到Hibernate的支持。3 業(yè)務邏輯層架構設計 業(yè)務邏輯層作為該系統(tǒng)的關鍵部分,對系統(tǒng)的靈活性實現起著決定性的 作用。在本系統(tǒng)的業(yè)務邏輯層架構層中,采取了MVC模式,下面簡單介紹一 下MVC模式的好處: (1) 實現了客戶端表示層和業(yè)務邏輯層的完全分離 (2) 高效可靠的事務處理 (3) 具有良好的易用性,安全性MVC模式訪問流程: MVC模式在本系統(tǒng)中應用: 當客戶利用網頁瀏覽器,發(fā)出HTTP請求時,這通常會牽涉到送出表單數據,例如用戶名和密碼。Servlet收到這樣的數據并解析數據。Servlet扮演控制器的角色,處理你的請求,通常會向模型(一般是數據庫)發(fā)出請求。處理結果往往以JavaBean的形式打包。視圖就是JSP,而JSP唯一的工作就是產生頁面,表現模型的視圖以及進一步動作所需要的所有控件。當頁面返回瀏覽器作為視圖顯示出來,用戶提出的進一步請求,也會以同樣的方式處
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度LNG運輸車輛改裝與安全檢測合同3篇
- 2024年食品行業(yè)社會保險管理與代繳合同
- 2025年度物流車輛智能系統(tǒng)升級合同4篇
- 2025年度醫(yī)療健康公司股權轉讓與產業(yè)鏈合作合同3篇
- 2025年度商業(yè)大廈車位包銷及物業(yè)管理合同4篇
- 2025年度智能倉儲物流系統(tǒng)建設承包經營協(xié)議4篇
- 2024石材行業(yè)石材應用技術研究采購合同2篇
- 2025年度網絡直播個人勞務合同范本3篇
- 2025年度嬰幼兒專用牛奶采購合作協(xié)議書3篇
- 2025年電動自行車品牌代理銷售合同標準版2篇
- 《縣域腫瘤防治中心評估標準》
- 做好八件事快樂過寒假-2024-2025學年上學期中學寒假家長會課件-2024-2025學年高中主題班會課件
- 【課件】寒假是用來超越的!課件 2024-2025學年高中上學期寒假學習和生活指導班會
- 2024-2025學年北師大版數學七年級上冊期末練習卷
- 2025年山東兗礦集團公司招聘筆試參考題庫含答案解析
- 燃氣有限公司工程部管理制度匯編
- 2024年中國干粉涂料市場調查研究報告
- (自考)經濟學原理中級(政經)課件 第二章 商品和貨幣
- ×××老舊小區(qū)改造工程施工組織設計(全面)
- 調解行業(yè)可行性分析報告
- 科創(chuàng)板知識題庫試題及答案
評論
0/150
提交評論