酒店客房管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文

上傳人:無*** 文檔編號:42840170 上傳時間:2021-11-28 格式:DOC 頁數(shù):57 大小:2.30MB
收藏 版權(quán)申訴 舉報 下載
酒店客房管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第1頁
第1頁 / 共57頁
酒店客房管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第2頁
第2頁 / 共57頁
酒店客房管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第3頁
第3頁 / 共57頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《酒店客房管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《酒店客房管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文(57頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 本科畢業(yè)論文本科畢業(yè)論文(設(shè)計設(shè)計) xxxxx二級學(xué)院二級學(xué)院醫(yī)藥信息工程學(xué)院醫(yī)藥信息工程學(xué)院專專 業(yè)業(yè)班班 級級學(xué)生姓名學(xué)生姓名學(xué)學(xué) 號號指導(dǎo)教師指導(dǎo)教師誠誠 信信 聲聲 明明我聲明,所呈交的畢業(yè)論文(設(shè)計)是本人在老師指導(dǎo)下進行的研究工作及取得的研究成果。據(jù)我查證,除了文中特別加以標注和致謝的地方外,論文(設(shè)計)中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得其他教育機構(gòu)的學(xué)位或證書而使用過的材料。我承諾,論文(設(shè)計)中的所有內(nèi)容均真實、可信。畢業(yè)論文(設(shè)計)作者(簽名): 年 月 日 【摘要摘要】基于現(xiàn)代社會信息的高速傳輸、交流、發(fā)展,過去的酒店客房管理系統(tǒng)采用 C/S 模式

2、開發(fā),日益顯現(xiàn)其不足。在繼承過去 C/S 模式的酒店客房管理系統(tǒng)的優(yōu)點下,開發(fā)更加符合現(xiàn)代酒店業(yè)務(wù)的 B/S 模式系統(tǒng)有迫切的需要。本文主要介紹酒店客房管理系統(tǒng)的設(shè)計與實現(xiàn)方法,包括設(shè)計目標、系統(tǒng)的功能設(shè)計,數(shù)據(jù)庫的設(shè)計、系統(tǒng)所用的具體技術(shù)等等。系統(tǒng)采用了 JSP 技術(shù)、Struts 為開發(fā)框架、Tomcat 為服務(wù)器,并通過 JDBC連接數(shù)據(jù)庫 SQL Server2000,Hibernate 作為對象關(guān)系映射框架。通過上述技術(shù)的支持,開發(fā)出一個低成本并且具有穩(wěn)定性、可擴展、易維護的酒店客房管理系統(tǒng),為酒店的客房管理業(yè)務(wù)提高效率?!娟P(guān)鍵詞關(guān)鍵詞】酒店;客房;Struts;JSPIIDesig

3、n and analysis of Hotel Room Management SystemAbstract Based on the information in modern society is transmission, exchange and development high-speed,the last hotel room management system developed in C/S model,however we can found that it has more and more shortcoming.In the succession of the C /

4、S mode the advantages of hotel rooms under management, development more in line with the modern hotel business, B / S model system there is an urgent need.In this paper, hotel rooms management system design and implementation, including design objectives, system functional design, database design, s

5、ystem uses specific technologies.System uses the JSP technology, Struts framework for the development, Tomcat as the server and connects to the database via JDBC SQL Server2000, Hibernate for object-relational mapping framework. Through this technology, support, and has developed a low-cost stable,

6、scalable, and easy maintenance management system for hotel rooms for the hotel rooms management business to improve efficiency.KeywordsHotel Rooms Struts JSPI目目 錄錄1前言前言.11.1選題背景選題背景.11.1.1 國內(nèi)現(xiàn)狀.11.1.2 國外情況.21.2 系統(tǒng)研究的意義系統(tǒng)研究的意義.21.3 系統(tǒng)開發(fā)環(huán)境及工具介紹系統(tǒng)開發(fā)環(huán)境及工具介紹.31.3.1 MyEclipse 簡介.31.3.2 Tomcat 服務(wù)器簡介.42相關(guān)技術(shù)

7、介紹相關(guān)技術(shù)介紹.52.1STRUTS框架技術(shù)框架技術(shù).52.1.1 Struts 基本概念 .52.1.2 Struts 實現(xiàn) MVC 的原理 .52.1.3 Struts 技術(shù)的優(yōu)缺點 .82.2HIBERNATE框架技術(shù)框架技術(shù).92.2.1 什么是 HIBERNATE.93 系統(tǒng)分析系統(tǒng)分析.123.1 系統(tǒng)可行性分析系統(tǒng)可行性分析.123.1.1 經(jīng)濟可行性分析.123.1.2 技術(shù)可行性分析.123.1.3 社會可行性分析.123.2 需求分析需求分析.133.2.1 系統(tǒng)功能需求.133.2.2 系統(tǒng)數(shù)據(jù)流圖.143.2.3 用例圖.143.3 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計.153.3.

8、1 數(shù)據(jù)庫的選擇.15II3.3.2 系統(tǒng) ER 圖.163.3.3 數(shù)據(jù)庫的設(shè)計.184 系統(tǒng)設(shè)計系統(tǒng)設(shè)計.214.1 系統(tǒng)功能模塊圖系統(tǒng)功能模塊圖.214.1.1 酒店客房管理系統(tǒng)總模塊圖.214.1.2 酒店客房管理系統(tǒng)各個分模塊圖.214.2 系統(tǒng)功能的設(shè)計系統(tǒng)功能的設(shè)計.235 系統(tǒng)架構(gòu)系統(tǒng)架構(gòu).265.1 系統(tǒng)架構(gòu)說明系統(tǒng)架構(gòu)說明.266系統(tǒng)詳細設(shè)計系統(tǒng)詳細設(shè)計.276.1HIBERNATE持久層持久層.276.1.1 編寫 PO 類.276.1.2 編寫 PO 的映身配置文件.306.1.3 連接數(shù)據(jù)庫.326.2 DAO 層層.336.2.1 DAO 的具體實現(xiàn).336.3 W

9、EB層設(shè)計層設(shè)計.376.3.1 Action 的實現(xiàn).377 系統(tǒng)測試系統(tǒng)測試.407.1 酒店客房管理系統(tǒng)的測試酒店客房管理系統(tǒng)的測試.407.2 測試舉例測試舉例.40結(jié)束語結(jié)束語.49參考文獻參考文獻.50致致 謝謝.5111 前言前言本系統(tǒng)是案例酒店管理系統(tǒng)的一個子系統(tǒng)客房管理系統(tǒng)主要完成 Web服務(wù)器端的用戶管理、前臺管理、報表、物品庫存管理等,各個管理模塊具有增、刪、查、改等功能。本文中數(shù)據(jù)庫服務(wù)器端采用了 SQL Sever 2000 數(shù)據(jù)庫并以 Hibernate 技術(shù)進行數(shù)據(jù)庫存取等操作,使 Web 與數(shù)據(jù)庫緊密聯(lián)系起來。1.11.1選題背景選題背景隨著酒店行業(yè)規(guī)模的日益擴

10、大,酒店的經(jīng)營管理而臨著越來越高的要求,比如,快速的查詢、快速的登記、顧客的自動優(yōu)惠等等。傳統(tǒng)的酒店系統(tǒng)大都使用 C/S(client/server)模式的計算機信息管理系統(tǒng),這種 C/S 式在 20 世紀90 年代分布式處理中起到主流系統(tǒng)的作用,它有著自身的一些優(yōu)點,如通過在客戶和服務(wù)之間劃分各自所包含的層次,提高了應(yīng)用的計算效率,緩解終端/主機模式中主機繁重的負擔(dān),在終端/主機模式和文件服務(wù)器模式中找到平衡等;然而隨著酒店規(guī)模的日益擴大,應(yīng)用程序的復(fù)雜程度不斷提高,傳統(tǒng)的(C/S)模式逐漸暴露出許多問題,如系統(tǒng)的可移植性、可擴展性、可維護性都很差等。1同時,隨著 Internet 迅速普及

11、以及國加入 WTO,酒店管理也面臨著許多新的挑戰(zhàn)和機遇,如提供遠程客房預(yù)定、網(wǎng)上信息發(fā)布等等。2因此,酒店迫切需要開發(fā)出基于 B/S(Browser/ Server)模式的酒店管理系統(tǒng),以適應(yīng)當前酒店行業(yè)的發(fā)展,提供更好的服務(wù)和提高酒店的經(jīng)濟效益。設(shè)計開發(fā)一個功能齊全、安全、高效、適合自己管理模式的管理信息系統(tǒng),對提高酒店的服務(wù)質(zhì)量、提高管理決策水平、減輕勞動強度、提高工作效率是十分重要的。1.1.1國內(nèi)現(xiàn)狀國內(nèi)現(xiàn)狀在 80 年代初發(fā)展起來的國內(nèi)的酒店管理系統(tǒng),充分吸收了國外管理系統(tǒng)的精華,再結(jié)合國內(nèi)的實際情況,逐步發(fā)展成熟,到 90 年代初期已形成了幾個較成熟的軟件系統(tǒng),同時,產(chǎn)生了幾家專職

12、從事酒店管理系的公司。到了 90 年代中后期,隨著計算機在酒店中的普及應(yīng)用,計算機技術(shù)的不斷發(fā)展,酒店管理2系統(tǒng)的發(fā)展到了一個新的時期,新的系統(tǒng)平臺、新的系統(tǒng)點及發(fā)展方向不斷涌現(xiàn),主要體現(xiàn)在系統(tǒng)基本轉(zhuǎn)到客戶機/服務(wù)器模式下的 windows 版,功能更加細致完善,系統(tǒng)更加穩(wěn)定可靠。對軟件開發(fā)商來說,小的軟件慢淘汰。3此外,國內(nèi)酒店業(yè)的應(yīng)用系統(tǒng)不同,各家供應(yīng)商的軟件也不同。對于一家酒店,如果各部門使用的是不同的平臺、不同的軟件,當員工進行軟件操作時,需要學(xué)各種人家,這樣不但使員工的學(xué)習(xí)成本增高,也同時影響酒店的效率。對于連鎖酒店集團而言,信息系統(tǒng)沒有實施標準化是非常嚴重的問題。酒店不但需要耗費大

13、量財力去維護不同的平臺,而且當未來同一連鎖集團的酒店共享服務(wù)中心或者實施電子商務(wù)時,平臺整合的任務(wù)十分困難和昂貴。中國加入 WTO 后,經(jīng)濟及旅游業(yè)得到了快速發(fā)展,2008 年北京奧運會和2010 世博會的舉行,旅游熱等因素給中國酒店業(yè)發(fā)展帶來了新的機遇和挑戰(zhàn)。通過調(diào)查,我國在 2020 年將會成為世界上第四大旅游國家。同時,大量跨國酒店集團入逐中國市場,由于酒店管理問題引起的競爭不力也越來越多的表現(xiàn)了出來。當中,現(xiàn)在甚至還有一些酒店停留在又人工操作和管理階段,這樣已經(jīng)無法適應(yīng)現(xiàn)代社會的發(fā)展趨勢。為了扭轉(zhuǎn)這種情勢,適應(yīng)日益激烈的市場競爭,國內(nèi)已悄悄刮起了一股“數(shù)字酒店”的颶風(fēng)。4智能化、數(shù)字化

14、的酒店管理系統(tǒng)已成為當今酒店發(fā)展的主要核心競爭力量之一。采用先進的計算機網(wǎng)絡(luò)通信技術(shù)改變酒店業(yè)務(wù)模式,實現(xiàn)酒店業(yè)務(wù)管理的自動化已經(jīng)成為一種必然。1.1.21.1.2 國外情況國外情況世界范圍的酒店 IT 商家,擁有 OP-ERA,F(xiàn)idelio,F(xiàn)idelio,xPres。品牌的 MICROS-Fidelio 和擁有 HISParagon,CLs,LogicTouch 品牌的 MAI 無疑是已經(jīng)形成壟斷地位的行業(yè)領(lǐng)先者。但他們也意識到由于新技術(shù)的不斷涌現(xiàn),酒店 IT 應(yīng)用行業(yè)隨時可能出現(xiàn)超越他們的黑馬。Fidelio 全球的安裝量超過 8500家,包括 Marriott,Radisson,Hi

15、lton,Wyndham,Bass 等連鎖酒店集團均選用其產(chǎn)品??v觀國外酒店業(yè)信息化發(fā)展軌跡和趨勢,我們不難看出,隨著酒店業(yè)競的加劇,酒店之間客源的爭奪越來越激烈,客房銷售的利潤空間越來越小,就需要使用更有效的信息化手段,拓展經(jīng)營空間,降低運營成本,提高管理和決策效率。51.21.2系統(tǒng)研究的意義3對于整個酒店來說,酒店經(jīng)營狀況起決定作用的是酒店的服務(wù)管理水平。如何利用先進的管理手段來提高酒店的管理水平成為酒店業(yè)務(wù)發(fā)展的當務(wù)之急。面對信息時代的機遇和挑戰(zhàn),利用科技手段提高酒店的管理無疑是一條行之有效的途徑。雖然計算機管理并不是酒店管理走向成功的關(guān)鍵元素,但它可以最大限度地發(fā)揮準確、快捷高效等作

16、用,對酒店業(yè)務(wù)管理提供強有力的支持。因此,采用全新的計算機網(wǎng)絡(luò)和酒店業(yè)務(wù)管理系統(tǒng),已經(jīng)成為酒店的管理效率,使作業(yè)人員與管理系統(tǒng)之間靈活互動,實現(xiàn)流暢的工作流銜接,幫助酒店有效地進行業(yè)務(wù)管理,釋放最大價值。酒店業(yè)務(wù)管理系統(tǒng)在達到節(jié)省人力資源成本同時,可以提高業(yè)務(wù)效率,并能夠及時、準確、迅速地滿足顧客服務(wù)的需求。61.31.3系統(tǒng)開發(fā)環(huán)境及工具介紹系統(tǒng)開發(fā)環(huán)境及工具介紹操作系統(tǒng)平臺:Windows Xp數(shù)據(jù)庫服務(wù)器:Microsoft SQL Server 2000系統(tǒng)服務(wù)器:Tomcat開發(fā)工具:MyEclipse 1.3.1 MyEclipse 簡介簡介MyEclipse 企業(yè)級工作平臺(My

17、Eclipse Enterprise Workbench ,簡稱MyEclipse)是對 Eclipse IDE 的擴展,利用它我們可以在數(shù)據(jù)庫和 J2EE 的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE 集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在結(jié)構(gòu)上,MyEclipse 的特征可以被分為 7 類:1. J2EE 模型2. WEB 開發(fā)工具3. EJB 開發(fā)工具4. 應(yīng)用程序服務(wù)器的連接器5. J2EE 項目部署服務(wù)6. 數(shù)據(jù)庫服務(wù)

18、47. MyEclipse 整合幫助對于以上每一種功能上的類別,在 Eclipse 中都有相應(yīng)的功能部件,并通過一系列的插件來實現(xiàn)它們。MyEclipse 結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。簡單而言,MyEclipse 是 Eclipse 的插件,也是一款功能強大的 J2EE 集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯,MyEclipse6.0 以前版本需先安裝 Eclipse。MyEclipse6.0 以后版本安裝時不需安裝 Eclipse。71.3.2 Tomcat 服務(wù)器簡介服務(wù)器簡介Tomcat 很受廣大程序員的喜歡,因為它運行

19、時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的 tomcat 標志改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。 Tomcat 是一個輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試 JSP 程序的首選。對于一個初學(xué)者來說,可以這樣認為,當在一臺機器上配置好 Apache 服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。實際上 Tomcat 部分是 Apache 服務(wù)器的擴展,但它是獨立運行的,所以當你運行 tomcat 時,它實際上作為一個與 Apache 獨立的進程單獨運行的。 這里

20、的訣竅是,當配置正確時,Apache 為 HTML 頁面服務(wù),而 Tomcat 實際上運行 JSP 頁面和 Servlet。另外,Tomcat 和 IIS、Apache 等Web 服務(wù)器一樣,具有處理 HTML 頁面的功能,另外它還是一個 Servlet 和 JSP容器,獨立的 Servlet 容器是 Tomcat 的默認模式。不過,Tomcat 處理靜態(tài)HTML 的能力不如 Apache 服務(wù)器。目前 Tomcat 最新版本為 7.0.6。52 2 相關(guān)技術(shù)介紹相關(guān)技術(shù)介紹2.12.1StrutsStruts 框架技術(shù)框架技術(shù)2.1.1 Struts 基本概念基本概念Struts 最早于 2

21、000 年 5 月作為 Jakarta 項目的組成部分問世,Jakarta 項目由 Apache(www.Jakarta.apache.org)基金組織運作。JakartaStruts 是 Apache 軟件組織提供的一項開放源代碼項目,它為 Java Web 應(yīng)用提供了 MVC 框架,尤其適用于開發(fā)大型可擴展的 Web 應(yīng)用。Struts 這個名字來源于在建筑和舊式飛機中使用的支撐金屬架。Struts 為 Web 應(yīng)用提供了一個通用的框架,使得開發(fā)人員可以把精力集中在如何解決實際業(yè)務(wù)問題上。此外,Struts 框架提供了許多可供擴展和定制的地方,使得應(yīng)用程序可以方便地擴展框架,來更好地適應(yīng)用

22、戶的實際需求8。2.1.2 Struts 實現(xiàn)實現(xiàn) MVC 的原理的原理1MVC 的基本概念MVC模式(Model模型-View視圖-Controller控制器)是軟件工程中的一種軟件架構(gòu)模式,是一種常用的設(shè)計模式。它把軟件系統(tǒng)分為三個基本部分:(Model模型),(View視圖)和(Controller控制器)。MVC模式的目的是實現(xiàn)一種動態(tài)的程序設(shè)計,使后續(xù)對程序的修改和擴展簡化,并且使程序某一部分的重復(fù)利用成為可能。除此之外此模式通過對復(fù)雜度的簡化使程序結(jié)構(gòu)更加直觀。MVC 減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,以及讓視圖層更富于變化。軟件系統(tǒng)通過對自身基本部份分離的同時也賦予了各個基

23、本部分應(yīng)有的功能。(控制器Controller)- 負責(zé)轉(zhuǎn)發(fā)請求,對請求進行處理。(視圖View) - 界面設(shè)計人員進行圖形界面設(shè)計。(模型Model) - 程序員編寫程序應(yīng)有的功能(實現(xiàn)算法等等)、數(shù)據(jù)庫專家進行數(shù)據(jù)管理和數(shù)據(jù)庫設(shè)計(可以實現(xiàn)具體的功能) 9。如圖2-1所示:6圖 2-1 MVC 模式2Struts 框架實現(xiàn)原理隨著 MVC 模式的廣泛應(yīng)用,催生了 MVC 框架的產(chǎn)生。在所有 MVC 的框架中,出現(xiàn)最早,應(yīng)用最廣的就是 Struts 框架10。Struts 實質(zhì)上就是在 JSP Model2 地基礎(chǔ)上實現(xiàn)的一個 MVC 框架。在 Struts 框架中,模型由實現(xiàn)業(yè)務(wù)邏輯地 J

24、avaBean 或 EJB 組件構(gòu)成,控制器由 ActionServlet 類和 Action 類來實現(xiàn),視圖由一組 JSP 文件構(gòu)成。Struts 實質(zhì)上就是在 JSP Model2 地基礎(chǔ)上實現(xiàn)的一個 MVC 框架。在 Struts 框架中,模型由實現(xiàn)業(yè)務(wù)邏輯地 JavaBean 或 EJB 組件構(gòu)成,控制器由 ActionServlet 類和 Action 類來實現(xiàn),視圖由一組 JSP 文件構(gòu)成。ActionServlet 類是 Struts 框架中的核心組件。ActionServlet 繼承了 Javax.servlet.http.HttpServlet 類,它在 MVC 模型中扮演中

25、央控制器的角色。ActionServlet 主要負責(zé)接受 HTTP 請求信息,根據(jù)配置文件 strutsconfig.xml 的配置信息,把請求轉(zhuǎn)發(fā)給適當?shù)?Action 對象。如果該 Action 對象不存在,ActionServlet 會先創(chuàng)建這個 Action 對象。Action 類負責(zé)調(diào)用模型的方法,更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。對于小型簡單的應(yīng)用,Action 類本身也可以完成一些實際的業(yè)務(wù)邏輯。對于大型應(yīng)用,Action 充當用戶請求和業(yè)務(wù)邏輯處理之間的適配器(Adaptor) ,其功能就是將請求于業(yè)務(wù)邏輯分開,Action 根據(jù)用戶請求調(diào)用相關(guān)的業(yè)務(wù)邏輯組件。當 Ac

26、tionServlet 控制器收到用戶請求后,把請求轉(zhuǎn)發(fā)到一個 Action 實例。如果這個實例不存在,控制器會首先創(chuàng)建它,然后調(diào)用這個 Action 實例的 execute()方法。Action 的 execute()方法返回 ActionForward 對象,它封控制器視圖模型7裝了把用戶請求再轉(zhuǎn)發(fā)給其他 Web 組件的信息。用戶定義自己的 Action 類,即 Action 基類的子類時,必須覆蓋 execute()方法。在 Action 基類中返回 null。Struts 的配置文件 strutsconfig.xml:一個用戶請求是通過 ActionServlet 來處理和轉(zhuǎn)發(fā)的,那么

27、,ActionServlet 如何決定把用戶請求轉(zhuǎn)發(fā)給哪個 Action 對象呢?這就需要一些描述用戶請求路徑和 Action 映射關(guān)系的配置信息了。在 Struts 中,這些配置映射信息都存儲在特定的 XML 文件 strutsconfig.xml 中。在該配置文件中,每一個 Action 的映射信息都通過一個元素來配置。這些配置信息在系統(tǒng)啟動的時候被讀入內(nèi)存,供 Struts 在運行期間使用。在內(nèi)存中,每一個元素都對應(yīng)一個 org.apache.struts.action.ActionMapping 類的實例。3Struts Framework 的工作原理1)讀取配置(初始化 Module

28、Config 對象)Struts 框架總控制器(ActionServlet)是一個 Servlet,在 web.xml 中配置成自動啟動的 Servlet 讀取配置文件(Struts-config.xml)的配置信息,為不同的Struts 模塊初始化相應(yīng)的 ModuleConfig 對象2)發(fā)送請求用戶提交表單或者調(diào)用 URL 向 Web 應(yīng)用程序器提交一個請求,請求的數(shù)據(jù)用 HTTP 協(xié)議上傳給 Web 服務(wù)器。3)填充 FORM(實例化、復(fù)位、填充數(shù)據(jù)、校驗、保存)(*.do 請求)從 ActionConfig 中找出對應(yīng)該請求的 Action 子類,如沒有對應(yīng)的 Action,控制器直接

29、轉(zhuǎn)發(fā)給 JSP 靜態(tài)頁面。如有對應(yīng)的 Action 且這個Action 有一個相應(yīng)的 ActionForm,ActionForm 被實例化并用 HTTP 請求的數(shù)據(jù)填充其屬性,并且保存在 Servlet Context 中(request 或者 session 中) ,這樣它們就可以被其他 Action 對象或者 JSP 調(diào)用。4)派發(fā)請求控制器根據(jù)配置信息 ActionConfig 將請求派發(fā)到具體的 Action,相應(yīng)的FormBean 一并傳給這個 Action 的 execute()方法。5)處理業(yè)務(wù)8Action 一般只包含一個 execute 方法,它負責(zé)執(zhí)行相應(yīng)的業(yè)務(wù)邏輯(調(diào)用其

30、他業(yè)務(wù)模塊) 。完畢返回一個 ActionForward 對象,控制器通過該 ActionForward對象來進行轉(zhuǎn)發(fā)工作。6)返回響應(yīng)Action 根據(jù)業(yè)務(wù)處理的不同結(jié)果返回一個目標響應(yīng)對象給總控制器,該目標響應(yīng)對象對應(yīng)一個具體 JSP 頁面或者另一個 Action。7)查找響應(yīng)(翻譯響應(yīng))總控制器根據(jù)業(yè)務(wù)功能 Action 返回的目標響應(yīng)對象,找到對應(yīng)的資源對象,通常是一個具體的 JSP 頁面。8)響應(yīng)用戶目標響應(yīng)對象將結(jié)果展現(xiàn)給用戶目標響應(yīng)對象(JSP)講結(jié)果頁面展現(xiàn)給用戶。流程如圖 2-3 所示。1.初初始始化化3填填充充FormBean7.轉(zhuǎn)轉(zhuǎn)換換Http請請求求到到目目標標響響應(yīng)應(yīng)

31、對對象象2.Http請請求求6.返返回回目目標標響響應(yīng)應(yīng)對對象象5.調(diào)調(diào)用用后后臺臺業(yè)業(yè)務(wù)務(wù)功功能能完完成成商商務(wù)務(wù)邏邏輯輯8.Http響響應(yīng)應(yīng)4、將將請請求求轉(zhuǎn)轉(zhuǎn)移移到到具具體體Action處處理理Struts-config.xml模模型型(ActionForm)視視圖圖JSP業(yè)業(yè)務(wù)務(wù)功功能能控控制制器器(Action)業(yè)業(yè)務(wù)務(wù)功功能能類類(JavaBean)Struts框框架架總總控控制制器器(ActionServlet)圖 2-2 Struts 框架流程2.1.3 Struts 技術(shù)的優(yōu)缺點技術(shù)的優(yōu)缺點Struts 優(yōu)點:Struts 是開源軟件。使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機制。

32、Struts 實9際就是實現(xiàn)了 MVC 的機制,切實可行的把控制和顯示分開,從管理上來說可以節(jié)省不必要的時間和人力的浪費。提高了開發(fā)速度。也真正的實現(xiàn)了 bean 的重用。除此之外,Struts 的優(yōu)點主要集中體現(xiàn)在兩個方面:Taglib 和頁面導(dǎo)航。Taglib 是 Struts 的標記庫,靈活動用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的 JSP 開發(fā)者而言,除了使用 JSP 自帶的常用標記外,很少開發(fā)自己的標記,或許 Struts 是一個很好的起點。 關(guān)于頁面導(dǎo)航,事實上可以使系統(tǒng)的脈絡(luò)更加清晰。通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護有著莫大的好處。尤其是當另

33、一批開發(fā)者接手這個項目時,這種優(yōu)勢體現(xiàn)得更加明顯。Struts 缺點:1.開發(fā)人員需要學(xué)習(xí)如何使用 Struts 的標志庫。事實上要理解這些 Struts 的標志庫,特別是 Bean 和 HTML 標志庫的確要花費比較長的時間。2.你不能在視圖中用 JSP 來實現(xiàn)處理管道(processing pipeline) 。只能做些簡單的 include 和 forward,這樣很明顯就會限制了視圖的靈活性。 3.對 JSP 頁面的任何修改都會導(dǎo)致 JSP 的重新編譯,這樣是非常耗費時間的。2.22.2Hibernate 框架技術(shù)框架技術(shù)2.2.12.2.1 什么是什么是 Hibernate一 Hib

34、ernate 定義Hibernate 是一種 Java 語言下的對象關(guān)系映射解決方案。 它是一種自由、開源的軟件。它用來把對象模型表示的對象映射到基于 SQL 的關(guān)系模型結(jié)構(gòu)中去,為面向?qū)ο蟮念I(lǐng)域模型到傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的映射,提供了一個使用方便的框架。二 Hibernate 的作用Hibernate 不僅管理 Java 類到數(shù)據(jù)庫表的映射(包括從 Java 數(shù)據(jù)類型到SQL 數(shù)據(jù)類型的映射) ,還提供數(shù)據(jù)查詢和獲取數(shù)據(jù)的方法,可以大幅度減少10開發(fā)時人工使用 SQL 和 JDBC 處理數(shù)據(jù)的時間。它的設(shè)計目標是將軟件開發(fā)人員從大量相同的數(shù)據(jù)持久層相關(guān)編程工作中解放出來。無論是從設(shè)計草案還是從

35、一個遺留數(shù)據(jù)庫開始,開發(fā)人員都可以采用 Hibernate。三 Hibernate 的應(yīng)用Hibernate 對 JDBC 進行了非常輕量級的對象封裝,使得 Java 程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate 可以應(yīng)用在任何使用JDBC 的場合,它既可以在 Java 的客戶端程序使用,也可以在 Servlet/JSP 的Web 應(yīng)用中使用。最具革命意義的是,Hibernate 可以在應(yīng)用 EJB(Enterprise JavaBeans 是 Java 應(yīng)用于企業(yè)計算的框架)的 J2EE 架構(gòu)中取代 CMP,完成數(shù)據(jù)持久化的重任。四 Hibernate API 簡介

36、1 Hibernate API 中的接口可以分為以下幾類:(1) 提供訪問數(shù)據(jù)庫的操作的接口,包括 session、Transaction、Query 接口;(2) 用于配置 Hibernate 的接口,Configuration;(3) 間接接口,使應(yīng)用程序接受 Hibernate 內(nèi)部發(fā)生的事件,并作出相關(guān)的回應(yīng),包括:Interceptor、Lifecycle、Validatable;(4) 用于擴展 Hibernate 功能的接口,如UserType、CompositeUserType、IdentifierGenerator 接口。Hibernate 內(nèi)部還封裝了 JDBC、JTA(J

37、ava Transaction API)和 JNDI(Java Naming And Directory Interface) 。其中,JDBC 提供底層的數(shù)據(jù)訪問操作,只要用戶提供了相應(yīng)的 JDBC 驅(qū)動程序,Hibernate 可以訪問任何一個數(shù)據(jù)庫系統(tǒng)。JTA 和 JNDI 使 Hibernate 能夠和 J2EE 應(yīng)用服務(wù)器集成。2 Hibernate 的核心接口框圖五 Hibernate 的優(yōu)缺點11(1)優(yōu)點:a.Hibernate 使用 Java 反射機制 而不是字節(jié)碼增強程序來實現(xiàn)透明性。b.Hibernate 的性能非常好,因為它是個輕量級框架。映射的靈活性很出色。c. 它支

38、持各種關(guān)系數(shù)據(jù)庫,從一對一到多對多的各種復(fù)雜關(guān)系。(2)缺點:Hibernate 限制您所使用的對象模型。例如,一個持久性類不能映射到多個表。11 123 3 系統(tǒng)系統(tǒng)分析分析3.13.1 系統(tǒng)可行性分析系統(tǒng)可行性分析可行性研究的目的是用最小的代價,在盡可能短的時間內(nèi)確定問題是否能夠得到解決,以是否值得解決。在項目開發(fā)之前進行可行性論證是非常必要的。一個項目如果未經(jīng)過充分的可行性證明,只粗略地估計解決問題的花費和方法,就盲目上陣開始軟件開發(fā)工作,結(jié)果往往是不能在預(yù)定的系統(tǒng)規(guī)?;蛘邥r間限制解決問題,甚至無法求解,最后造成花費在該項目上時間、人力、物力資源和經(jīng)費的浪費。3.1.1 經(jīng)濟可行性分析經(jīng)

39、濟可行性分析主要是對預(yù)估費用和對項目的經(jīng)濟效益進行評價。在費用支出方面,需要考慮到主機費用。而開發(fā)費用,主要考慮人工成本,系統(tǒng)采用的開發(fā)環(huán)境及工具價格低廉,開發(fā)語言使用 JSP。而系統(tǒng)需要的運行軟件工具主要為:Tomcat 服務(wù)器、Microsoft SQL Server 2000.大大降低成本3.1.2 技術(shù)可行性分析技術(shù)可行性分析本系統(tǒng)采用當今流行的 JSP 作為系統(tǒng)的開發(fā)語言,開源且免費,能提供完善的指令控制語句、類與對象的支持及豐富的數(shù)據(jù)類型,為開發(fā)高性能、穩(wěn)定的系統(tǒng)提供保證,同時代碼模塊化高,方便系統(tǒng)以后的修改與維護。同時采用Struts 框架,使系統(tǒng)結(jié)構(gòu)清晰,同時也加快了開發(fā)的速度

40、,提高系統(tǒng)的可拓展性。Tomcat 作為系統(tǒng)的服務(wù)器,其支持 jsp 語言,同時免費、開源、跨平臺、部署簡易,是現(xiàn)代通用、性能強大的服務(wù)器。3.1.3 社會可行性分析社會可行性分析社會可行性分析是開發(fā)項目的運行方式在用戶組織內(nèi)是否行的通。由于系13統(tǒng)使用 B/S 模式,而且系統(tǒng)分系統(tǒng)管理員與普通用戶兩類,便于管理。再者系統(tǒng)的界面友好,功能人性化,減少酒店對員工的系統(tǒng)操作培訓(xùn)費用3.2 需求分析需求分析通過對本地城市中多間酒店的調(diào)查,以及對當前較為流行的 C/S 和 B/S 的酒店客房管理系統(tǒng)的研究,得到當今社會上酒店客房管理系統(tǒng)希望有以下的業(yè)務(wù)功能:1.運行環(huán)境要求(包括硬件與軟件)不能過高,

41、能保證系統(tǒng)穩(wěn)定運行為前提2.系統(tǒng)的界面友好,操作人員使用系統(tǒng)能得心應(yīng)手3.入住酒店的客人登記資料要詳盡4.提供營業(yè)報表的查詢功能5 添加全國城市的身份證對照表,方便核對6 酒店的物件的庫存管理3.2.1 系統(tǒng)功能需求系統(tǒng)功能需求酒店客房管理系統(tǒng)分為六個模塊。當中包括:前臺管理、預(yù)定管理、庫存管理、用戶管理(僅限管理員)、資料管理和報表。系統(tǒng)核心模塊為前臺管理,其功能預(yù)覽如下:1、 開房管理(客戶信息登記)2、 退房管理3、 房間狀態(tài)4、 房間操作管理5、 商品消費管理6、 會員管理系統(tǒng)應(yīng)該達到以下要求: 1、可用性。目標系統(tǒng)功能齊全,能夠完全滿足業(yè)務(wù)需求。2、可靠性。能連續(xù)準確的處理業(yè)務(wù),有較

42、強的容錯能力。3、可理解性。用戶容易理解和使用該系統(tǒng)。144、安全保密性。保證系統(tǒng)的物理安全、數(shù)據(jù)存儲做好使用人員的授權(quán)管理。5、時間經(jīng)濟性。優(yōu)化邏輯設(shè)計與物理設(shè)計,使系統(tǒng)運行效率高。6、可維護性和適應(yīng)性。系統(tǒng)應(yīng)易于修改、易于擴充、易于維護,能夠適應(yīng)業(yè)務(wù)不斷發(fā)展變化的需要。3.2.2 系統(tǒng)數(shù)據(jù)流圖系統(tǒng)數(shù)據(jù)流圖1 管理員成功登錄后,進行相應(yīng)操作,產(chǎn)生的數(shù)據(jù)流,如圖 3-1 所示管理員登陸驗證系統(tǒng)管理頁面管理員信息前臺管理預(yù)訂管理資料管理用戶管理庫存管理報表退出系統(tǒng)圖 3-1 酒店客房管理系統(tǒng)數(shù)據(jù)流圖3.2.3 用例圖用例圖用例圖(User Case)是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的

43、模型圖,呈現(xiàn)了一些參與者和一些用例,以及它們之間的關(guān)系,主要用于對系統(tǒng)、子系統(tǒng)或類的功能行為進行建模。12如圖 3-2:15普通用戶管理員用戶管理資料管理預(yù)訂管理前臺管理庫存管理報表圖 3-2 用例圖3.3 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計3.3.1 數(shù)據(jù)庫的選擇數(shù)據(jù)庫的選擇Microsoft SQL Server 2000 能提供超大型系統(tǒng)所需的數(shù)據(jù)庫服務(wù)。大型服務(wù)器可能有成千上萬的用戶同時連接到 SQL Server 2000 實例。SQL Server 2000 為這些環(huán)境提供了全面的保護,具有防止問題發(fā)生的安全措施,例如,可以防止多個用戶試圖同時更新相同的數(shù)據(jù)。SQL Server 2000 還在

44、多個用戶之間有效地分配可用資源,比如內(nèi)存、網(wǎng)絡(luò)帶寬和磁盤 I/O。 超大型 Internet 站點可將其數(shù)據(jù)分開存放在多臺服務(wù)器上,從而使處理負荷分散到多臺計算機上,使站點能為成千上萬的并發(fā)用戶提供服務(wù)。 可以在一臺計算機上運行多個 SQL Server 2000 實例。例如,一個為其它許多組織提供數(shù)據(jù)庫服務(wù)的組織可為每個客戶組織單獨運行一個 SQL Server 2000 實例,而全部實例可集中在一臺計算機上。這樣,既隔開了每個客戶組織的數(shù)據(jù),同時又使服務(wù)組織只需管理一臺服務(wù)器計算機從而減少了費用。 SQL Server 2000 應(yīng)用程序可在裝有 SQL Server 2000 的計算機上

45、運行。該應(yīng)用程序通過 Windows 進程間通訊 (IPC) 組件(例如共享內(nèi)存)而非通過網(wǎng)16絡(luò)連接到 SQL Server 2000。這使 SQL Server 2000 得以應(yīng)用于應(yīng)用程序必須在本地存儲數(shù)據(jù)的小型系統(tǒng)中。 大型 Web 站點和企業(yè)級數(shù)據(jù)處理系統(tǒng)通常會生成大量的數(shù)據(jù)庫處理,超出了一臺計算機的支持能力。在這些大型系統(tǒng)中,數(shù)據(jù)庫服務(wù)由組成數(shù)據(jù)庫服務(wù)層的一組數(shù)據(jù)庫服務(wù)器提供。SQL Server 2000 不支持采用平衡負荷的聚集形式建立數(shù)據(jù)庫服務(wù)層,但支持跨自主服務(wù)器組分存數(shù)據(jù)的機制。盡管每個服務(wù)器需分開管理,但組內(nèi)的各個服務(wù)器可共同分擔(dān)數(shù)據(jù)庫處理負荷。共享同一工作負荷的一組自

46、主服務(wù)器稱為服務(wù)器聯(lián)合體。133.3.2 系統(tǒng)系統(tǒng) ER 圖圖用用戶戶用用戶戶ID賬賬戶戶名名密密碼碼類類別別登登陸陸記記錄錄記記錄錄號號用用戶戶名名密密碼碼登登陸陸時時間間記記錄錄登登陸陸歷歷史史 n 1圖 3-3 實體聯(lián)系圖 117房房間間房房號號房房間間類類型型房房間間價價格格房房間間狀狀態(tài)態(tài)備備注注房房間間賬賬單單賬賬單單號號消消費費號號付付款款客客人人入入住住單單消消費費號號客客人人姓姓名名性性別別入入住住類類型型預(yù)預(yù)付付款款身身份份證證號號電電話話地地址址入入住住時時間間離離開開時時間間當當前前狀狀態(tài)態(tài)賬賬單單登登記記11選選擇擇房房間間11入入住住房房間間入入住住ID消消費費號號

47、入入住住房房間間號號入入住住房房間間登登記記11圖 3-4 實體聯(lián)系圖 2會會員員會會員員ID姓姓名名電電話話身身份份證證號號碼碼圖 3-5 實體聯(lián)系圖 3身身份份證證資資料料庫庫庫庫編編號號地地區(qū)區(qū)代代碼碼地地方方名名圖 3-6 實體聯(lián)系圖 418商商品品商商品品號號名名稱稱類類型型數(shù)數(shù)量量價價錢錢商商品品消消費費單單商商品品名名稱稱價價錢錢數(shù)數(shù)量量消消費費時時間間ID房房間間號號賬賬單單號號消消費費人人消消費費商商品品n1圖 3-7 實體聯(lián)系圖 53.3.3 數(shù)據(jù)庫的設(shè)計數(shù)據(jù)庫的設(shè)計1、依據(jù)項目的處理需求,對應(yīng)數(shù)據(jù)表的設(shè)計及功能如下:結(jié)賬表(TB_ACCOUNT):用于保存客人結(jié)賬信息客人

48、入住信息登記表(TB_CUSTOMER):用于保存客人入住信息登記信息商品表(TB_GOOD):用于保存酒店商品信息房間表(TB_HOUSE):用于保存酒店房間信息房間入住表(TB_HOUSECUSTOMER):用于保存房間入住信息會員表(TB_HUIYUAN):用于保存會員信息登陸記錄表(TB_LOGINRECORD):用于保存登陸記錄信息商品消費表(TB_PAYFORGOODS):用于保存商品消費表信息身份證代碼表(TB_PCAREA):用于保存全國身份證代碼信息19用戶表(TB_USER):用于保存系統(tǒng)用戶信息其中,房間表和身份證代碼表屬于后臺設(shè)置部分,需要首先導(dǎo)入設(shè)置。其余的數(shù)據(jù)庫表都

49、屬于前臺功能表。通過實現(xiàn)功能可以對表的內(nèi)容進行增、刪、查、改等等。2、數(shù)據(jù)表前臺的功能性表,如 3-1 表表 3-1 數(shù)據(jù)表 1表名數(shù)據(jù)項名數(shù)據(jù)類型長度TB_ACCOUNTACCOUNTIDvarcher20CUSTOMERIDvarcher20PAYFORHOUSEfloat8TB_CUSTOMERCUSTOMERIDvarcher20CUSTOMERNAMEvarcher20SEXvarcher4INHOMETYPEvarcher10BUDGETMONEYfloat8PERSONNALCARDvarcher18TELEPHONEvarcher11ADDRESSvarcher100INTIM

50、Edatetime8OUTTIMEdatetime8CURRENTSTATEvarcher5TB_GOODGOODSIDvarcher100GOODSNAMEvarcher100TYPEvarcher10QULANTITYint4PRICEfloat8TB_HOUSECUSTOMERCUSHOUSEIDint4CUSTOMERIDvarcher20INHOUSEIDvarcher10TB_HUIYUANHUIYUANIDvarcher20IDvarcher20USERNAMEvarcher20TELEPHONEvarcher1120PERSONALCARDvarcher18TB_LOGINRE

51、CORDIDint4USERNAMEvarcher50PASSWORDvarcher50LOGINTIMEdatetime8TB_PAYFORGOODSIDint4HOUSEIDvarcher20ACCOUNTIDvarcher20CUSTOMERNAMEvarcher100GOODSNAMEvarcher200PRICEfloat8QULTANTITYint4INACCOUNTTIMEdatetime8TB_USERUSERIDvarcher15USERNAMEvarcher20PASSWORDvarcher20USERRANKvarcher10注:斜體字為主鍵 。后臺設(shè)置的表,有房間表(T

52、B_HOUSE)和身份證代碼表(TB_PCARE),如下表 3-2:表 3-2 數(shù)據(jù)表 2表名數(shù)據(jù)項名數(shù)據(jù)類型長度TB_HOUSEHOUSEIDvarcher10HOUSETYPEvarcher20HOUSEPRICEfloat8HOUSESTATEvarcher5MARKvarcher200TB_PCAREAIDvarcher20PCNUMBERvarcher10ZONEvarcher100214 4 系統(tǒng)設(shè)計系統(tǒng)設(shè)計系統(tǒng)總體設(shè)計是問題求解及建立解答的高級策略。系統(tǒng)總體設(shè)計的主要任務(wù)是將系統(tǒng)分解成易于管理的子系統(tǒng),并構(gòu)造系統(tǒng)的策略,諸如系統(tǒng)運行的軟硬件平臺、數(shù)據(jù)管理策略等,最終得到系統(tǒng)的體系

53、結(jié)構(gòu)設(shè)計模型。144.1 系統(tǒng)功能模塊圖系統(tǒng)功能模塊圖系統(tǒng)邏輯模型中數(shù)據(jù)流圖中的模塊是邏輯處理模塊,模型中沒有說明模塊的物理構(gòu)成和實現(xiàn)途徑,同時也看不出模塊的層次分解關(guān)系,為此在系統(tǒng)結(jié)構(gòu)設(shè)計中要將數(shù)據(jù)流圖上的各個邏輯處理模塊進一步分解,用模塊結(jié)構(gòu)圖確定系統(tǒng)的層次結(jié)構(gòu)關(guān)系,并將系統(tǒng)的邏輯模型轉(zhuǎn)變?yōu)槲锢砟P汀?54.1.1 酒店客房管理系統(tǒng)總模塊圖酒店客房管理系統(tǒng)總模塊圖 如圖 4-1:酒酒店店客客房房管管理理前前臺臺管管理理預(yù)預(yù)訂訂管管理理報報表表物物品品庫庫存存管管理理用用戶戶管管理理資資料料管管理理圖 4-1 酒店客房管理系統(tǒng)總模塊圖4.1.2 酒店客房管理系統(tǒng)各個分模塊圖酒店客房管理系統(tǒng)各

54、個分模塊圖22前前臺臺管管理理開開房房管管理理商商品品消消費費管管理理退退房房管管理理房房間間狀狀態(tài)態(tài)房房間間操操作作管管理理會會員員管管理理圖 4-2 前臺管理功能模塊圖預(yù)預(yù)訂訂管管理理預(yù)預(yù)訂訂入入住住退退訂訂查查詢詢與與 修修改改圖 4-3 預(yù)訂管理功能模塊圖營營業(yè)業(yè)報報表表客客人人結(jié)結(jié)賬賬報報表表商商品品消消費費報報表表預(yù)預(yù)付付款款報報表表當當前前住住客客報報表表圖 4-4 報表功能模塊圖23庫庫存存管管理理入入庫庫出出庫庫當當前前庫庫存存查查詢詢庫庫存存盤盤點點圖 4-5 物品庫存管理功能模塊圖用用戶戶管管理理用用戶戶登登錄錄歷歷史史賬賬號號管管理理賬賬號號權(quán)權(quán)限限設(shè)設(shè)置置圖 4-6

55、用戶管理功能模塊圖資資料料管管理理會會員員資資料料管管理理身身份份證證代代碼碼圖 4-7 資料管理功能模塊圖 4.2 系統(tǒng)功能的設(shè)計系統(tǒng)功能的設(shè)計(管理員通過密碼驗證后能進行如下操作)1.前臺管理酒店的前臺管理包括如下:A.開房管理為客人正確填寫入住資料,并選擇入住房間、入住類型,輸入入住時間和離開時間。點擊入住,即保存入住信息。24B.退房管理通過查詢房間號,搜索要進行退房操作的房間。也可以不輸入房間號,直接點擊查詢,即返回可以進行退房操作的房間。C.商品消費管理為酒店的小商品消費進行管理。在導(dǎo)航欄點擊商品消費,即能登記錄入某房間號某人進行消費某項商品。點擊添加,進行保存。商品消費查詢,輸入

56、房間號,能查詢對應(yīng)房間住客進行的消費記錄。D.房間狀態(tài)查詢通過選擇單選框“在住”或“空置” ,再點擊查詢,即能返回當前在住或空置房的列表。E.房間操作管理對房間操作進行管理,實質(zhì)為“一鍵換房”功能。對已經(jīng)登記入住的客人,若有換房要求,能為客人選擇空置房進行換房。F.會員管理對希望成為本酒店住客會員的客人,為其登記信息,添加成為會員。2. 預(yù)訂管理A.預(yù)訂本功能與開房管理相近,記錄客戶預(yù)訂的必要信息。B.入住查詢已經(jīng)預(yù)訂的客人或者客人身份證號,并對其進行入住操作,點擊入住按鈕,正式開房。若然沒有輸入客人或者客人身份證號,即返回所有預(yù)訂的客人列表。C.退訂對已經(jīng)預(yù)訂的客戶,進行退訂操作。查詢需要退

57、訂的客戶,點擊刪除。D.查詢與修改對已經(jīng)預(yù)訂的客戶的信息進行查詢與修改。3.庫存管理A.入庫25對酒店的商品或用品進行入庫登記,輸入其商品名、編號、價格等信息。點擊入庫,進行保存。B.查詢輸入商品名稱,對該商品的信息進行查詢。4.用戶管理A.賬戶管理對本系統(tǒng)的用戶進行添加、查詢、修改、刪除等操作。B.用戶登錄歷史能根據(jù)用戶名查詢,登錄系統(tǒng)的歷史。C.賬號權(quán)限設(shè)置對賬號的權(quán)限級別進行設(shè)置。能把管理員級別換成普通會員,也可以把普通會員變成管理員級別,提升權(quán)限。5.資料管理A.會員管理能對酒店的客戶會員進行添加、修改、刪除操作。B.身份證代碼提供全國身份證代碼的列表,進行對照查詢。6.報表A.當前住

58、客報表(對當前住客進行列表匯總)B.客人結(jié)賬報表(對已經(jīng)結(jié)賬的客人進行列表匯總)C.商品消費報表(對商品消費記錄進行列表匯總)D.預(yù)付報表(對進行預(yù)付的客人記錄進行列表匯總)265 系統(tǒng)架構(gòu)系統(tǒng)架構(gòu)5.1 系統(tǒng)架構(gòu)說明系統(tǒng)架構(gòu)說明本系統(tǒng)采用的是典型的 J2EE 三層結(jié)構(gòu),分為表現(xiàn)層、中間層和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗等工作放在中間層處理??蛻舳瞬恢苯优c數(shù)據(jù)庫交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫交互。系統(tǒng)具體分層如 5-1 所示:視視圖圖層層(JSP)用戶界面負責(zé)業(yè)務(wù)收集和表示客戶端校驗WEB層層(Struts)MVC架構(gòu)的控制層控制業(yè)務(wù)邏輯層和表現(xiàn)層

59、的交互DAO(Data Access Object)數(shù)據(jù)訪問對象與持久層交互持持久久層層(Hibernate)通過實體關(guān)系映射ORMapping由數(shù)據(jù)庫表數(shù)數(shù)據(jù)據(jù)庫庫服服務(wù)務(wù)(Microsoft SQL Server 2000)存放數(shù)據(jù)圖 5-1 系統(tǒng)結(jié)構(gòu)圖該系統(tǒng)的表現(xiàn)層是傳統(tǒng)的 JSP 技術(shù),JSP 技術(shù)自 1999 年問世以來,經(jīng)過多年的發(fā)展,其廣泛的應(yīng)用和穩(wěn)定的表現(xiàn),為其作為表現(xiàn)層技術(shù)打下了堅實的基礎(chǔ)。中間層為了將控制層與業(yè)務(wù)邏輯層分離,又細分為以下幾種:Web 層,就是 MVC 模式里面的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的 MVC 框架采用 Struts

60、。DAO 層,負責(zé)與持久化對象交互。該層封裝了數(shù)據(jù)的增、刪、查、改的操作。PO,持久化對象。通過實體關(guān)系映射工具將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)映射成對象,很方便地實現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫,該系統(tǒng)采用 Hibernate 作為ORM 框架。276系統(tǒng)詳細設(shè)計系統(tǒng)詳細設(shè)計6.1 Hibernate 持久層持久層采用 Hibernate 作為持久層技術(shù)的最大的好處在于:可以完全以面向?qū)ο蟮姆绞竭M行系統(tǒng)分析、系統(tǒng)設(shè)計。面向?qū)ο蟮姆治龊兔嫦驅(qū)ο蟮脑O(shè)計才最接近于程序員的自然思維。6.1.1 編寫編寫 PO 類類10 個基本的 PersisentObject 類。分別為:AccountCustomerGoodsH

61、ouseHouseCustomerHuiYuanLoginRecordPayForGoodsPcAreaUser下面只給出 House 和 Customer 類,其它的可以參看源代碼。package com.hibernate.mapings;/* * * 酒店房間實體 * */public class House implements java.io.Serializable private String houseid; /房間id28private String housetype;/房間類型private Double houseprice;/房間價格private String ho

62、usestate;/房間狀態(tài)private String mark;/房間備注public House() /空的構(gòu)造方法public House(String houseid, String housetype, Double houseprice,String housestate, String mark) this.houseid = houseid;this.housetype = housetype;this.houseprice = houseprice;this.housestate = housestate;this.mark = mark;/構(gòu)造方法,給類中的屬性賦值/省略

63、get和set 訪問器 package com.hibernate.mapings;import java.sql.Timestamp;import java.util.HashSet;import java.util.Set;/* * 入住酒店客人信息 * */public class Customer implements java.io.Serializableprivate String customerid; /入住idprivate String customername;/客人姓名private String sex;/客人性別private String inhometype;

64、/入住類型29private Double budgetmoney;/預(yù)付款private String personnalcard; /身份證號private String telephone;/電話號碼private String address;/聯(lián)系地址private Timestamp intime;/入住時間private Timestamp outtime;/離開時間private String currentstate;private Set accounts=new HashSet();private Set housecustomers=new HashSet();publ

65、ic Customer() public Customer(String customerid, String customername, String sex,String inhometype, Double budgetmoney, String personnalcard,String telephone, String address, Timestamp intime, Timestamp outtime,String currentstate) this.customerid = customerid; this.customername = customername;this.

66、sex = sex;this.inhometype = inhometype;this.budgetmoney = budgetmoney;this.personnalcard = personnalcard;this.telephone = telephone;this.address = address;this.intime = intime;this.outtime = outtime;this.currentstate = currentstate;/省略getter和setter訪問器306.1.2 編寫編寫 PO 的映身配置文件的映身配置文件要想完成對數(shù)據(jù)庫的持久化操作,僅有 PO 是不夠的,還必需要增加想應(yīng)的映射文件。當 PO 增加映射文件后,可以完成 O/R Mapping,從而在某個特定對象的管理下完成數(shù)據(jù)庫訪問。 因此必須為這個 PO 配上一個映射文件,通常將這個映射文件命名為:類名.hbm.xml,并與這個類放置在同一目錄下。下面以 Customer 為例。Customer.hbm.xml,如下: 31 32 6.1.3 連接數(shù)據(jù)庫連接數(shù)據(jù)庫除了前面介紹的 PO

展開閱讀全文
溫馨提示:
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)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲