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

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

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

15 積分

下載資源

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

資源描述:

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

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

2、開發(fā),日益顯現(xiàn)其不足。在繼承過去 C/S 模式的酒店客房管理系統(tǒng)的優(yōu)點(diǎn)下,開發(fā)更加符合現(xiàn)代酒店業(yè)務(wù)的 B/S 模式系統(tǒng)有迫切的需要。本文主要介紹酒店客房管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法,包括設(shè)計(jì)目標(biāo)、系統(tǒng)的功能設(shè)計(jì),數(shù)據(jù)庫的設(shè)計(jì)、系統(tǒng)所用的具體技術(shù)等等。系統(tǒng)采用了 JSP 技術(shù)、Struts 為開發(fā)框架、Tomcat 為服務(wù)器,并通過 JDBC連接數(shù)據(jù)庫 SQL Server2000,Hibernate 作為對(duì)象關(guān)系映射框架。通過上述技術(shù)的支持,開發(fā)出一個(gè)低成本并且具有穩(wěn)定性、可擴(kuò)展、易維護(hù)的酒店客房管理系統(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 實(shí)現(xiàn) MVC 的原理 .52.1.3 Struts 技術(shù)的優(yōu)缺點(diǎn) .82.2HIBERNATE框架技術(shù)框架技術(shù).92.2.1 什么是 HIBERNATE.93 系統(tǒng)分析系統(tǒng)分析.123.1 系統(tǒng)可行性分析系統(tǒng)可行性分析.123.1.1 經(jīng)濟(jì)可行性分析.123.1.2 技術(shù)可行性分析.123.1.3 社會(huì)可行性分析.123.2 需求分析需求分析.133.2.1 系統(tǒng)功能需求.133.2.2 系統(tǒng)數(shù)據(jù)流圖.143.2.3 用例圖.143.3 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì).153.3.

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

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

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

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

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

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

14、的酒店管理系統(tǒng)已成為當(dāng)今酒店發(fā)展的主要核心競爭力量之一。采用先進(jìn)的計(jì)算機(jī)網(wǎng)絡(luò)通信技術(shù)改變酒店業(yè)務(wù)模式,實(shí)現(xiàn)酒店業(yè)務(wù)管理的自動(dòng)化已經(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í)到由于新技術(shù)的不斷涌現(xiàn),酒店 IT 應(yīng)用行業(yè)隨時(shí)可能出現(xiàn)超越他們的黑馬。Fidelio 全球的安裝量超過 8500家,包括 Marriott,Radisson,Hi

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

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

17、Eclipse Enterprise Workbench ,簡稱MyEclipse)是對(duì) Eclipse IDE 的擴(kuò)展,利用它我們可以在數(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 項(xiàng)目部署服務(wù)6. 數(shù)據(jù)庫服務(wù)

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

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

20、的訣竅是,當(dāng)配置正確時(shí),Apache 為 HTML 頁面服務(wù),而 Tomcat 實(shí)際上運(yùn)行 JSP 頁面和 Servlet。另外,Tomcat 和 IIS、Apache 等Web 服務(wù)器一樣,具有處理 HTML 頁面的功能,另外它還是一個(gè) Servlet 和 JSP容器,獨(dú)立的 Servlet 容器是 Tomcat 的默認(rèn)模式。不過,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 項(xiàng)目的組成部分問世,Jakarta 項(xiàng)目由 Apache(www.Jakarta.apache.org)基金組織運(yùn)作。JakartaStruts 是 Apache 軟件組織提供的一項(xiàng)開放源代碼項(xiàng)目,它為 Java Web 應(yīng)用提供了 MVC 框架,尤其適用于開發(fā)大型可擴(kuò)展的 Web 應(yīng)用。Struts 這個(gè)名字來源于在建筑和舊式飛機(jī)中使用的支撐金屬架。Struts 為 Web 應(yīng)用提供了一個(gè)通用的框架,使得開發(fā)人員可以把精力集中在如何解決實(shí)際業(yè)務(wù)問題上。此外,Struts 框架提供了許多可供擴(kuò)展和定制的地方,使得應(yīng)用程序可以方便地?cái)U(kuò)展框架,來更好地適應(yīng)用

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

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

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

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

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

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

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

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

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

31、對(duì)對(duì)象象2.Http請(qǐng)請(qǐng)求求6.返返回回目目標(biāo)標(biāo)響響應(yīng)應(yīng)對(duì)對(duì)象象5.調(diào)調(diào)用用后后臺(tái)臺(tái)業(yè)業(yè)務(wù)務(wù)功功能能完完成成商商務(wù)務(wù)邏邏輯輯8.Http響響應(yīng)應(yīng)4、將將請(qǐng)請(qǐng)求求轉(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)缺點(diǎn)技術(shù)的優(yōu)缺點(diǎn)Struts 優(yōu)點(diǎn):Struts 是開源軟件。使開發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。

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

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

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

35、一個(gè)遺留數(shù)據(jù)庫開始,開發(fā)人員都可以采用 Hibernate。三 Hibernate 的應(yīng)用Hibernate 對(duì) JDBC 進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得 Java 程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫。 Hibernate 可以應(yīng)用在任何使用JDBC 的場合,它既可以在 Java 的客戶端程序使用,也可以在 Servlet/JSP 的Web 應(yīng)用中使用。最具革命意義的是,Hibernate 可以在應(yīng)用 EJB(Enterprise JavaBeans 是 Java 應(yīng)用于企業(yè)計(jì)算的框架)的 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) 用于擴(kuò)展 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ū)動(dòng)程序,Hibernate 可以訪問任何一個(gè)數(shù)據(jù)庫系統(tǒng)。JTA 和 JNDI 使 Hibernate 能夠和 J2EE 應(yīng)用服務(wù)器集成。2 Hibernate 的核心接口框圖五 Hibernate 的優(yōu)缺點(diǎn)11(1)優(yōu)點(diǎn):a.Hibernate 使用 Java 反射機(jī)制 而不是字節(jié)碼增強(qiáng)程序來實(shí)現(xiàn)透明性。b.Hibernate 的性能非常好,因?yàn)樗莻€(gè)輕量級(jí)框架。映射的靈活性很出色。c. 它支

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

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

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

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

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

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

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

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

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

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

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

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

50、Edatetime8OUTTIMEdatetime8CURRENTSTATEvarcher5TB_GOODGOODSIDvarcher100GOODSNAMEvarcher100TYPEvarcher10QULANTITYint4PRICEfloat8TB_HOUSECUSTOMERCUSHOUSEIDint4CUSTOMERIDvarcher20INHOUSEIDvarcher10TB_HUIYUANHUIYUANIDvarcher20IDvarcher20USERNAMEvarcher20TELEPHONEvarcher1120PERSONALCARDvarcher18TB_LOGINRE

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

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

53、結(jié)構(gòu)設(shè)計(jì)模型。144.1 系統(tǒng)功能模塊圖系統(tǒng)功能模塊圖系統(tǒng)邏輯模型中數(shù)據(jù)流圖中的模塊是邏輯處理模塊,模型中沒有說明模塊的物理構(gòu)成和實(shí)現(xiàn)途徑,同時(shí)也看不出模塊的層次分解關(guān)系,為此在系統(tǒng)結(jié)構(gòu)設(shè)計(jì)中要將數(shù)據(jù)流圖上的各個(gè)邏輯處理模塊進(jìn)一步分解,用模塊結(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:酒酒店店客客房房管管理理前前臺(tái)臺(tái)管管理理預(yù)預(yù)訂訂管管理理報(bào)報(bào)表表物物品品庫庫存存管管理理用用戶戶管管理理資資料料管管理理圖 4-1 酒店客房管理系統(tǒng)總模塊圖4.1.2 酒店客房管理系統(tǒng)各個(gè)分模塊圖酒店客房管理系統(tǒng)各

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

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

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

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

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

59、的交互DAO(Data Access Object)數(shù)據(jù)訪問對(duì)象與持久層交互持持久久層層(Hibernate)通過實(shí)體關(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ù)打下了堅(jiān)實(shí)的基礎(chǔ)。中間層為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種:Web 層,就是 MVC 模式里面的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的 MVC 框架采用 Struts

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

61、ouseHouseCustomerHuiYuanLoginRecordPayForGoodsPcAreaUser下面只給出 House 和 Customer 類,其它的可以參看源代碼。package com.hibernate.mapings;/* * * 酒店房間實(shí)體 * */public class House implements java.io.Serializable private String houseid; /房間id28private String housetype;/房間類型private Double houseprice;/房間價(jià)格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; /身份證號(hào)private String telephone;/電話號(hào)碼private String address;/聯(lián)系地址private Timestamp intime;/入住時(shí)間private Timestamp outtime;/離開時(shí)間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 的映身配置文件的映身配置文件要想完成對(duì)數(shù)據(jù)庫的持久化操作,僅有 PO 是不夠的,還必需要增加想應(yīng)的映射文件。當(dāng) PO 增加映射文件后,可以完成 O/R Mapping,從而在某個(gè)特定對(duì)象的管理下完成數(shù)據(jù)庫訪問。 因此必須為這個(gè) PO 配上一個(gè)映射文件,通常將這個(gè)映射文件命名為:類名.hbm.xml,并與這個(gè)類放置在同一目錄下。下面以 Customer 為例。Customer.hbm.xml,如下: 31 32 6.1.3 連接數(shù)據(jù)庫連接數(shù)據(jù)庫除了前面介紹的 PO

展開閱讀全文
溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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