九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

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

  • 資源ID:116791688       資源大小:2.35MB        全文頁數(shù):57頁
  • 資源格式: DOC        下載積分:20積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

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

本科畢業(yè)論文本科畢業(yè)論文(設(shè)計設(shè)計) 酒店客房管理系統(tǒng)的設(shè)計與實(shí)現(xiàn) 誠誠 信信 聲聲 明明 我聲明,所呈交的畢業(yè)論文(設(shè)計)是本人在老師指導(dǎo)下進(jìn)行的研究工作 及取得的研究成果。據(jù)我查證,除了文中特別加以標(biāo)注和致謝的地方外,論文 (設(shè)計)中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得其他 教育機(jī)構(gòu)的學(xué)位或證書而使用過的材料。我承諾,論文(設(shè)計)中的所有內(nèi)容 均真實(shí)、可信。 畢業(yè)論文(設(shè)計)作者(簽名): 年 月 日 xxxxxxx 【摘要摘要】基于現(xiàn)代社會信息的高速傳輸、交流、發(fā)展,過去的酒店客房管 理系統(tǒng)采用 C/S 模式開發(fā),日益顯現(xiàn)其不足。在繼承過去 C/S 模式的酒店客房 管理系統(tǒng)的優(yōu)點(diǎn)下,開發(fā)更加符合現(xiàn)代酒店業(yè)務(wù)的 B/S 模式系統(tǒng)有迫切的需要。 本文主要介紹酒店客房管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)方法,包括設(shè)計目標(biāo)、系統(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)定性、可擴(kuò)展、易維護(hù)的酒店客房管理 系統(tǒng),為酒店的客房管理業(yè)務(wù)提高效率。 【關(guān)鍵詞關(guān)鍵詞】酒店;客房;Struts;JSP II Design and analysis of Hotel Room Management System Abstract 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 / 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, system 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, scalable, and easy maintenance management system for hotel rooms for the hotel rooms management business to improve efficiency. KeywordsHotel Rooms Struts JSP I 目目 錄錄 1前言前言.1 1.1選題背景選題背景1 1.1.1 國內(nèi)現(xiàn)狀1 1.1.2 國外情況2 1.2 系統(tǒng)研究的意義系統(tǒng)研究的意義2 1.3 系統(tǒng)開發(fā)環(huán)境及工具介紹系統(tǒng)開發(fā)環(huán)境及工具介紹3 1.3.1 MyEclipse 簡介3 1.3.2 Tomcat 服務(wù)器簡介.4 2相關(guān)技術(shù)介紹相關(guān)技術(shù)介紹.5 2.1STRUTS框架技術(shù)框架技術(shù)5 2.1.1 Struts 基本概念 .5 2.1.2 Struts 實(shí)現(xiàn) MVC 的原理 .5 2.1.3 Struts 技術(shù)的優(yōu)缺點(diǎn) .8 2.2HIBERNATE框架技術(shù)框架技術(shù).9 2.2.1 什么是 HIBERNATE.9 3 系統(tǒng)分析系統(tǒng)分析.12 3.1 系統(tǒng)可行性分析系統(tǒng)可行性分析.12 3.1.1 經(jīng)濟(jì)可行性分析12 3.1.2 技術(shù)可行性分析12 3.1.3 社會可行性分析12 3.2 需求分析需求分析.13 3.2.1 系統(tǒng)功能需求13 3.2.2 系統(tǒng)數(shù)據(jù)流圖14 3.2.3 用例圖14 3.3 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計15 3.3.1 數(shù)據(jù)庫的選擇15 II 3.3.2 系統(tǒng) ER 圖.16 3.3.3 數(shù)據(jù)庫的設(shè)計18 4 系統(tǒng)設(shè)計系統(tǒng)設(shè)計21 4.1 系統(tǒng)功能模塊圖系統(tǒng)功能模塊圖.21 4.1.1 酒店客房管理系統(tǒng)總模塊圖21 4.1.2 酒店客房管理系統(tǒng)各個分模塊圖.21 4.2 系統(tǒng)功能的設(shè)計系統(tǒng)功能的設(shè)計.23 5 系統(tǒng)架構(gòu)系統(tǒng)架構(gòu)26 5.1 系統(tǒng)架構(gòu)說明系統(tǒng)架構(gòu)說明.26 6系統(tǒng)詳細(xì)設(shè)計系統(tǒng)詳細(xì)設(shè)計.27 6.1HIBERNATE持久層持久層.27 6.1.1 編寫 PO 類.27 6.1.2 編寫 PO 的映身配置文件.30 6.1.3 連接數(shù)據(jù)庫32 6.2 DAO 層層33 6.2.1 DAO 的具體實(shí)現(xiàn)33 6.3 WEB層設(shè)計層設(shè)計.37 6.3.1 Action 的實(shí)現(xiàn).37 7 系統(tǒng)測試系統(tǒng)測試40 7.1 酒店客房管理系統(tǒng)的測試酒店客房管理系統(tǒng)的測試40 7.2 測試舉例測試舉例40 結(jié)束語結(jié)束語49 參考文獻(xiàn)參考文獻(xiàn)50 致致 謝謝51 1 1 前言前言 本系統(tǒng)是案例酒店管理系統(tǒng)的一個子系統(tǒng)客房管理系統(tǒng)主要完成 Web 服務(wù)器端的用戶管理、前臺管理、報表、物品庫存管理等,各個管理模塊具有 增、刪、查、改等功能。本文中數(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ò)大,酒店的經(jīng)營管理而臨著越來越高的要求, 比如,快速的查詢、快速的登記、顧客的自動優(yōu)惠等等。傳統(tǒng)的酒店系統(tǒng)大都 使用 C/S(client/server)模式的計算機(jī)信息管理系統(tǒng),這種 C/S 式在 20 世紀(jì) 90 年代分布式處理中起到主流系統(tǒng)的作用,它有著自身的一些優(yōu)點(diǎn),如通過在 客戶和服務(wù)之間劃分各自所包含的層次,提高了應(yīng)用的計算效率,緩解終端/主 機(jī)模式中主機(jī)繁重的負(fù)擔(dān),在終端/主機(jī)模式和文件服務(wù)器模式中找到平衡等; 然而隨著酒店規(guī)模的日益擴(kuò)大,應(yīng)用程序的復(fù)雜程度不斷提高,傳統(tǒng)的(C/S) 模式逐漸暴露出許多問題,如系統(tǒng)的可移植性、可擴(kuò)展性、可維護(hù)性都很差等。 1同時,隨著 Internet 迅速普及以及國加入 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è)計開發(fā)一個功能齊全、安全、高效、適合自己管理模式的管理信息系統(tǒng),對 提高酒店的服務(wù)質(zhì)量、提高管理決策水平、減輕勞動強(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 年代初期已形成了幾個較 成熟的軟件系統(tǒng),同時,產(chǎn)生了幾家專職從事酒店管理系的公司。到了 90 年代 中后期,隨著計算機(jī)在酒店中的普及應(yīng)用,計算機(jī)技術(shù)的不斷發(fā)展,酒店管理 2 系統(tǒng)的發(fā)展到了一個新的時期,新的系統(tǒng)平臺、新的系統(tǒng)點(diǎn)及發(fā)展方向不斷涌 現(xiàn),主要體現(xiàn)在系統(tǒng)基本轉(zhuǎn)到客戶機(jī)/服務(wù)器模式下的 windows 版,功能更加細(xì) 致完善,系統(tǒng)更加穩(wěn)定可靠。對軟件開發(fā)商來說,小的軟件慢淘汰。3 此外,國內(nèi)酒店業(yè)的應(yīng)用系統(tǒng)不同,各家供應(yīng)商的軟件也不同。對于一家 酒店,如果各部門使用的是不同的平臺、不同的軟件,當(dāng)員工進(jìn)行軟件操作時, 需要學(xué)各種人家,這樣不但使員工的學(xué)習(xí)成本增高,也同時影響酒店的效率。 對于連鎖酒店集團(tuán)而言,信息系統(tǒng)沒有實(shí)施標(biāo)準(zhǔn)化是非常嚴(yán)重的問題。酒店不 但需要耗費(fèi)大量財力去維護(hù)不同的平臺,而且當(dāng)未來同一連鎖集團(tuán)的酒店共享 服務(wù)中心或者實(shí)施電子商務(wù)時,平臺整合的任務(wù)十分困難和昂貴。 中國加入 WTO 后,經(jīng)濟(jì)及旅游業(yè)得到了快速發(fā)展,2008 年北京奧運(yùn)會和 2010 世博會的舉行,旅游熱等因素給中國酒店業(yè)發(fā)展帶來了新的機(jī)遇和挑戰(zhàn)。 通過調(diào)查,我國在 2020 年將會成為世界上第四大旅游國家。同時,大量跨國酒 店集團(tuán)入逐中國市場,由于酒店管理問題引起的競爭不力也越來越多的表現(xiàn)了 出來。當(dāng)中,現(xiàn)在甚至還有一些酒店停留在又人工操作和管理階段,這樣已經(jīng) 無法適應(yīng)現(xiàn)代社會的發(fā)展趨勢。為了扭轉(zhuǎn)這種情勢,適應(yīng)日益激烈的市場競爭, 國內(nèi)已悄悄刮起了一股“數(shù)字酒店”的颶風(fēng)。4智能化、數(shù)字化的酒店管理系 統(tǒng)已成為當(dāng)今酒店發(fā)展的主要核心競爭力量之一。采用先進(jìn)的計算機(jī)網(wǎng)絡(luò)通信 技術(shù)改變酒店業(yè)務(wù)模式,實(shí)現(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,Hilton,Wyndham,Bass 等連鎖酒店集團(tuán)均選用 其產(chǎn)品??v觀國外酒店業(yè)信息化發(fā)展軌跡和趨勢,我們不難看出,隨著酒店業(yè) 競的加劇,酒店之間客源的爭奪越來越激烈,客房銷售的利潤空間越來越小, 就需要使用更有效的信息化手段,拓展經(jīng)營空間,降低運(yùn)營成本,提高管理和 決策效率。5 1.21.2系統(tǒng)研究的意義 3 對于整個酒店來說,酒店經(jīng)營狀況起決定作用的是酒店的服務(wù)管理水平。 如何利用先進(jìn)的管理手段來提高酒店的管理水平成為酒店業(yè)務(wù)發(fā)展的當(dāng)務(wù)之急。 面對信息時代的機(jī)遇和挑戰(zhàn),利用科技手段提高酒店的管理無疑是一條行之有 效的途徑。雖然計算機(jī)管理并不是酒店管理走向成功的關(guān)鍵元素,但它可以最 大限度地發(fā)揮準(zhǔn)確、快捷高效等作用,對酒店業(yè)務(wù)管理提供強(qiáng)有力的支持。因 此,采用全新的計算機(jī)網(wǎng)絡(luò)和酒店業(yè)務(wù)管理系統(tǒng),已經(jīng)成為酒店的管理效率, 使作業(yè)人員與管理系統(tǒng)之間靈活互動,實(shí)現(xiàn)流暢的工作流銜接,幫助酒店有效 地進(jìn)行業(yè)務(wù)管理,釋放最大價值。酒店業(yè)務(wù)管理系統(tǒng)在達(dá)到節(jié)省人力資源成本 同時,可以提高業(yè)務(wù)效率,并能夠及時、準(zhǔn)確、迅速地滿足顧客服務(wù)的需求。6 1.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è)級工作平臺(MyEclipse Enterprise Workbench ,簡稱 MyEclipse)是對 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ù) 4 7. MyEclipse 整合幫助 對于以上每一種功能上的類別,在 Eclipse 中都有相應(yīng)的功能部件,并通過 一系列的插件來實(shí)現(xiàn)它們。MyEclipse 結(jié)構(gòu)上的這種模塊化,可以讓我們在不影 響其他模塊的情況下,對任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級。 簡單而言,MyEclipse 是 Eclipse 的插件,也是一款功能強(qiáng)大的 J2EE 集成 開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯,MyEclipse6.0 以前版本需先 安裝 Eclipse。MyEclipse6.0 以后版本安裝時不需安裝 Eclipse。7 1.3.2 Tomcat 服務(wù)器簡介服務(wù)器簡介 Tomcat 很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時占用的系統(tǒng)資源小,擴(kuò)展性 好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的 tomcat 標(biāo)志 改進(jìn)和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的 功能。 Tomcat 是一個輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是 很多的場合下被普遍使用,是開發(fā)和調(diào)試 JSP 程序的首選。對于一個初學(xué)者來 說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好 Apache 服務(wù)器,可利用它響應(yīng)對 HTML 頁面的訪問請求。實(shí)際上 Tomcat 部分是 Apache 服務(wù)器的擴(kuò)展,但它 是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行 tomcat 時,它實(shí)際上作為一個與 Apache 獨(dú)立的 進(jìn)程單獨(dú)運(yùn)行的。 這里的訣竅是,當(dāng)配置正確時,Apache 為 HTML 頁面服務(wù), 而 Tomcat 實(shí)際上運(yùn)行 JSP 頁面和 Servlet。另外,Tomcat 和 IIS、Apache 等 Web 服務(wù)器一樣,具有處理 HTML 頁面的功能,另外它還是一個 Servlet 和 JSP 容器,獨(dú)立的 Servlet 容器是 Tomcat 的默認(rèn)模式。不過,Tomcat 處理靜態(tài) HTML 的能力不如 Apache 服務(wù)器。目前 Tomcat 最新版本為 7.0.6。 5 2 2 相關(guān)技術(shù)介紹相關(guān)技術(shù)介紹 2.12.1StrutsStruts 框架技術(shù)框架技術(shù) 2.1.1 Struts 基本概念基本概念 Struts 最早于 2000 年 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 這個名字來源于在建筑和舊式 飛機(jī)中使用的支撐金屬架。Struts 為 Web 應(yīng)用提供了一個通用的框架,使得 開發(fā)人員可以把精力集中在如何解決實(shí)際業(yè)務(wù)問題上。此外,Struts 框架提供 了許多可供擴(kuò)展和定制的地方,使得應(yīng)用程序可以方便地擴(kuò)展框架,來更好地 適應(yīng)用戶的實(shí)際需求8。 2.1.2 Struts 實(shí)現(xiàn)實(shí)現(xiàn) MVC 的原理的原理 1MVC 的基本概念 MVC模式(Model模型-View視圖-Controller控制器)是軟件工程中的一種 軟件架構(gòu)模式,是一種常用的設(shè)計模式。它把軟件系統(tǒng)分為三個基本部分: (Model模型),(View視圖)和(Controller控制器)。 MVC模式的目的是實(shí)現(xiàn)一種動態(tài)的程序設(shè)計,使后續(xù)對程序的修改和擴(kuò)展 簡化,并且使程序某一部分的重復(fù)利用成為可能。除此之外此模式通過對復(fù)雜 度的簡化使程序結(jié)構(gòu)更加直觀。MVC 減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的 耦合,以及讓視圖層更富于變化。軟件系統(tǒng)通過對自身基本部份分離的同時也 賦予了各個基本部分應(yīng)有的功能。 (控制器Controller)- 負(fù)責(zé)轉(zhuǎn)發(fā)請求,對請求進(jìn)行處理。 (視圖View) - 界面設(shè)計人員進(jìn)行圖形界面設(shè)計。 (模型Model) - 程序員編寫程序應(yīng)有的功能(實(shí)現(xiàn)算法等等)、數(shù)據(jù)庫 專家進(jìn)行數(shù)據(jù)管理和數(shù)據(jù)庫設(shè)計(可以實(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)的一個 MVC 框架。在 Struts 框架中,模型由實(shí)現(xiàn)業(yè)務(wù) 邏輯地 JavaBean 或 EJB 組件構(gòu)成,控制器由 ActionServlet 類和 Action 類來實(shí) 現(xiàn),視圖由一組 JSP 文件構(gòu)成。 Struts 實(shí)質(zhì)上就是在 JSP Model2 地基礎(chǔ)上實(shí)現(xiàn)的一個 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 模型中扮演中央控制器的角色。 ActionServlet 主要負(fù)責(zé)接受 HTTP 請求信息,根據(jù)配置文件 strutsconfig.xml 的配置信息,把請求轉(zhuǎn)發(fā)給適當(dāng)?shù)?Action 對象。如果該 Action 對象不存在, ActionServlet 會先創(chuàng)建這個 Action 對象。 Action 類負(fù)責(zé)調(diào)用模型的方法,更新模型的狀態(tài),并幫助控制應(yīng)用程序的 流程。對于小型簡單的應(yīng)用,Action 類本身也可以完成一些實(shí)際的業(yè)務(wù)邏輯。 對于大型應(yīng)用,Action 充當(dāng)用戶請求和業(yè)務(wù)邏輯處理之間的適配器(Adaptor) , 其功能就是將請求于業(yè)務(wù)邏輯分開,Action 根據(jù)用戶請求調(diào)用相關(guān)的業(yè)務(wù)邏輯 組件。 當(dāng) ActionServlet 控制器收到用戶請求后,把請求轉(zhuǎn)發(fā)到一個 Action 實(shí)例。 如果這個實(shí)例不存在,控制器會首先創(chuàng)建它,然后調(diào)用這個 Action 實(shí)例的 execute()方法。Action 的 execute()方法返回 ActionForward 對象,它封 控制器 視圖模型 7 裝了把用戶請求再轉(zhuǎn)發(fā)給其他 Web 組件的信息。用戶定義自己的 Action 類, 即 Action 基類的子類時,必須覆蓋 execute()方法。在 Action 基類中返回 null。 Struts 的配置文件 strutsconfig.xml:一個用戶請求是通過 ActionServlet 來處理和轉(zhuǎn)發(fā)的,那么,ActionServlet 如何決定把用戶請求轉(zhuǎn)發(fā)給哪個 Action 對象呢?這就需要一些描述用戶請求路徑和 Action 映射關(guān)系的配置信息了。 在 Struts 中,這些配置映射信息都存儲在特定的 XML 文件 strutsconfig.xml 中。在該配置文件中,每一個 Action 的映射信息都通過一個元素來配 置。這些配置信息在系統(tǒng)啟動的時候被讀入內(nèi)存,供 Struts 在運(yùn)行期間使用。 在內(nèi)存中,每一個元素都對應(yīng)一個 org.apache.struts.action.ActionMapping 類的實(shí)例。 3Struts Framework 的工作原理 1)讀取配置(初始化 ModuleConfig 對象) 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(實(shí)例化、復(fù)位、填充數(shù)據(jù)、校驗(yàn)、保存) (*.do 請求)從 ActionConfig 中找出對應(yīng)該請求的 Action 子類,如沒有對 應(yīng)的 Action,控制器直接轉(zhuǎn)發(fā)給 JSP 靜態(tài)頁面。如有對應(yīng)的 Action 且這個 Action 有一個相應(yīng)的 ActionForm,ActionForm 被實(shí)例化并用 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ù) 8 Action 一般只包含一個 execute 方法,它負(fù)責(zé)執(zhí)行相應(yīng)的業(yè)務(wù)邏輯(調(diào)用其 他業(yè)務(wù)模塊) 。完畢返回一個 ActionForward 對象,控制器通過該 ActionForward 對象來進(jìn)行轉(zhuǎn)發(fā)工作。 6)返回響應(yīng) Action 根據(jù)業(yè)務(wù)處理的不同結(jié)果返回一個目標(biāo)響應(yīng)對象給總控制器,該目 標(biāo)響應(yīng)對象對應(yīng)一個具體 JSP 頁面或者另一個 Action。 7)查找響應(yīng)(翻譯響應(yīng)) 總控制器根據(jù)業(yè)務(wù)功能 Action 返回的目標(biāo)響應(yīng)對象,找到對應(yīng)的資源對象, 通常是一個具體的 JSP 頁面。 8)響應(yīng)用戶 目標(biāo)響應(yīng)對象將結(jié)果展現(xiàn)給用戶目標(biāo)響應(yīng)對象(JSP)講結(jié)果頁面展現(xiàn)給用 戶。 流程如圖 2-3 所示。 1.初初始始化化 3填填充充 FormBean 7.轉(zhuǎn)轉(zhuǎn)換換Http請請求求到到 目目標(biāo)標(biāo)響響應(yīng)應(yīng)對對象象 2.Http請請求求 6.返返回回目目標(biāo)標(biāo) 響響應(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)缺點(diǎn)技術(shù)的優(yōu)缺點(diǎn) Struts 優(yōu)點(diǎn): Struts 是開源軟件。使開發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。 Struts 實(shí) 9 際就是實(shí)現(xiàn)了 MVC 的機(jī)制,切實(shí)可行的把控制和顯示分開,從管理上來說可 以節(jié)省不必要的時間和人力的浪費(fèi)。提高了開發(fā)速度。也真正的實(shí)現(xiàn)了 bean 的 重用。 除此之外,Struts 的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個方面:Taglib 和頁面導(dǎo)航。 Taglib 是 Struts 的標(biāo)記庫,靈活動用,能大大提高開發(fā)效率。另外,就目前國 內(nèi)的 JSP 開發(fā)者而言,除了使用 JSP 自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記, 或許 Struts 是一個很好的起點(diǎn)。 關(guān)于頁面導(dǎo)航,事實(shí)上可以使系統(tǒng)的脈絡(luò)更加清晰。通過一個配置文件, 即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護(hù)有著莫大的好處。尤 其是當(dāng)另一批開發(fā)者接手這個項(xiàng)目時,這種優(yōu)勢體現(xiàn)得更加明顯。 Struts 缺點(diǎn): 1.開發(fā)人員需要學(xué)習(xí)如何使用 Struts 的標(biāo)志庫。事實(shí)上要理解這些 Struts 的 標(biāo)志庫,特別是 Bean 和 HTML 標(biāo)志庫的確要花費(fèi)比較長的時間。 2.你不能在視圖中用 JSP 來實(shí)現(xiàn)處理管道(processing pipeline) 。只能做些 簡單的 include 和 forward,這樣很明顯就會限制了視圖的靈活性。 3.對 JSP 頁面的任何修改都會導(dǎo)致 JSP 的重新編譯,這樣是非常耗費(fèi)時間 的。 2.22.2Hibernate 框架技術(shù)框架技術(shù) 2.2.12.2.1 什么是什么是 Hibernate 一 Hibernate 定義 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è)計目標(biāo)是將軟件開發(fā)人員從大量相同的數(shù)據(jù)持久層相關(guān)編程工作中 解放出來。無論是從設(shè)計草案還是從一個遺留數(shù)據(jù)庫開始,開發(fā)人員都可以采 用 Hibernate。 三 Hibernate 的應(yīng)用 Hibernate 對 JDBC 進(jìn)行了非常輕量級的對象封裝,使得 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 簡介 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(Java 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)缺點(diǎn) 11 (1)優(yōu)點(diǎn): a.Hibernate 使用 Java 反射機(jī)制 而不是字節(jié)碼增強(qiáng)程序來實(shí)現(xiàn)透明性。 b.Hibernate 的性能非常好,因?yàn)樗莻€輕量級框架。映射的靈活性很出色。 c. 它支持各種關(guān)系數(shù)據(jù)庫,從一對一到多對多的各種復(fù)雜關(guān)系。 (2)缺點(diǎn): Hibernate 限制您所使用的對象模型。例如,一個持久性類不能映射到多個 表。11 12 3 3 系統(tǒng)系統(tǒng)分析分析 3.13.1 系統(tǒng)可行性分析系統(tǒng)可行性分析 可行性研究的目的是用最小的代價,在盡可能短的時間內(nèi)確定問題是否能 夠得到解決,以是否值得解決。在項(xiàng)目開發(fā)之前進(jìn)行可行性論證是非常必要的。 一個項(xiàng)目如果未經(jīng)過充分的可行性證明,只粗略地估計解決問題的花費(fèi)和方法, 就盲目上陣開始軟件開發(fā)工作,結(jié)果往往是不能在預(yù)定的系統(tǒng)規(guī)?;蛘邥r間限 制解決問題,甚至無法求解,最后造成花費(fèi)在該項(xiàng)目上時間、人力、物力資源 和經(jīng)費(fèi)的浪費(fèi)。 3.1.1 經(jīng)濟(jì)可行性分析經(jīng)濟(jì)可行性分析 主要是對預(yù)估費(fèi)用和對項(xiàng)目的經(jīng)濟(jì)效益進(jìn)行評價。在費(fèi)用支出方面,需 要考慮到主機(jī)費(fèi)用。而開發(fā)費(fèi)用,主要考慮人工成本,系統(tǒng)采用的開發(fā)環(huán)境及 工具價格低廉,開發(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),能提供完 善的指令控制語句、類與對象的支持及豐富的數(shù)據(jù)類型,為開發(fā)高性能、穩(wěn)定 的系統(tǒng)提供保證,同時代碼模塊化高,方便系統(tǒng)以后的修改與維護(hù)。同時采用 Struts 框架,使系統(tǒng)結(jié)構(gòu)清晰,同時也加快了開發(fā)的速度,提高系統(tǒng)的可拓展性。 Tomcat 作為系統(tǒng)的服務(wù)器,其支持 jsp 語言,同時免費(fèi)、開源、跨平臺、 部署簡易,是現(xiàn)代通用、性能強(qiáng)大的服務(wù)器。 3.1.3 社會可行性分析社會可行性分析 社會可行性分析是開發(fā)項(xiàng)目的運(yùn)行方式在用戶組織內(nèi)是否行的通。由于系 13 統(tǒng)使用 B/S 模式,而且系統(tǒng)分系統(tǒng)管理員與普通用戶兩類,便于管理。再者系 統(tǒng)的界面友好,功能人性化,減少酒店對員工的系統(tǒng)操作培訓(xùn)費(fèi)用 3.2 需求分析需求分析 通過對本地城市中多間酒店的調(diào)查,以及對當(dāng)前較為流行的 C/S 和 B/S 的 酒店客房管理系統(tǒng)的研究,得到當(dāng)今社會上酒店客房管理系統(tǒng)希望有以下的業(yè) 務(wù)功能: 1.運(yùn)行環(huán)境要求(包括硬件與軟件)不能過高,能保證系統(tǒng)穩(wěn)定運(yùn)行為前 提 2.系統(tǒng)的界面友好,操作人員使用系統(tǒng)能得心應(yīng)手 3.入住酒店的客人登記資料要詳盡 4.提供營業(yè)報表的查詢功能 5 添加全國城市的身份證對照表,方便核對 6 酒店的物件的庫存管理 3.2.1 系統(tǒng)功能需求系統(tǒng)功能需求 酒店客房管理系統(tǒng)分為六個模塊。當(dāng)中包括:前臺管理、預(yù)定管理、庫存 管理、用戶管理(僅限管理員)、資料管理和報表。 系統(tǒng)核心模塊為前臺管理,其功能預(yù)覽如下: 1、 開房管理(客戶信息登記) 2、 退房管理 3、 房間狀態(tài) 4、 房間操作管理 5、 商品消費(fèi)管理 6、 會員管理 系統(tǒng)應(yīng)該達(dá)到以下要求: 1、可用性。目標(biāo)系統(tǒng)功能齊全,能夠完全滿足業(yè)務(wù)需求。 2、可靠性。能連續(xù)準(zhǔn)確的處理業(yè)務(wù),有較強(qiáng)的容錯能力。 3、可理解性。用戶容易理解和使用該系統(tǒng)。 14 4、安全保密性。保證系統(tǒng)的物理安全、數(shù)據(jù)存儲做好使用人員的授權(quán) 管理。 5、時間經(jīng)濟(jì)性。優(yōu)化邏輯設(shè)計與物理設(shè)計,使系統(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)管理 頁面 管理員信 息 前臺管理 預(yù)訂管理 資料管理 用戶管理 庫存管理 報表 退出系統(tǒng) 圖 3-1 酒店客房管理系統(tǒng)數(shù)據(jù)流圖 3.2.3 用例圖用例圖 用例圖(User Case)是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的 模型圖,呈現(xiàn)了一些參與者和一些用例,以及它們之間的關(guān)系,主要用于對系 統(tǒng)、子系統(tǒng)或類的功能行為進(jìn)行建模。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 實(shí)例。SQL Server 2000 為這些環(huán)境提供了全面的保護(hù),具有防止問題發(fā)生的安全措施,例如,可 以防止多個用戶試圖同時更新相同的數(shù)據(jù)。SQL Server 2000 還在多個用戶之間 有效地分配可用資源,比如內(nèi)存、網(wǎng)絡(luò)帶寬和磁盤 I/O。 超大型 Internet 站點(diǎn)可將其數(shù)據(jù)分開存放在多臺服務(wù)器上,從而使處理負(fù) 荷分散到多臺計算機(jī)上,使站點(diǎn)能為成千上萬的并發(fā)用戶提供服務(wù)。 可以在一臺計算機(jī)上運(yùn)行多個 SQL Server 2000 實(shí)例。例如,一個為其它 許多組織提供數(shù)據(jù)庫服務(wù)的組織可為每個客戶組織單獨(dú)運(yùn)行一個 SQL Server 2000 實(shí)例,而全部實(shí)例可集中在一臺計算機(jī)上。這樣,既隔開了每個客戶組織 的數(shù)據(jù),同時又使服務(wù)組織只需管理一臺服務(wù)器計算機(jī)從而減少了費(fèi)用。 SQL Server 2000 應(yīng)用程序可在裝有 SQL Server 2000 的計算機(jī)上運(yùn)行。該 應(yīng)用程序通過 Windows 進(jìn)程間通訊 (IPC) 組件(例如共享內(nèi)存)而非通過網(wǎng) 16 絡(luò)連接到 SQL Server 2000。這使 SQL Server 2000 得以應(yīng)用于應(yīng)用程序必須在 本地存儲數(shù)據(jù)的小型系統(tǒng)中。 大型 Web 站點(diǎn)和企業(yè)級數(shù)據(jù)處理系統(tǒng)通常會生成大量的數(shù)據(jù)庫處理,超 出了一臺計算機(jī)的支持能力。在這些大型系統(tǒng)中,數(shù)據(jù)庫服務(wù)由組成數(shù)據(jù)庫服 務(wù)層的一組數(shù)據(jù)庫服務(wù)器提供。SQL Server 2000 不支持采用平衡負(fù)荷的聚集形 式建立數(shù)據(jù)庫服務(wù)層,但支持跨自主服務(wù)器組分存數(shù)據(jù)的機(jī)制。盡管每個服務(wù) 器需分開管理,但組內(nèi)的各個服務(wù)器可共同分擔(dān)數(shù)據(jù)庫處理負(fù)荷。共享同一工 作負(fù)荷的一組自主服務(wù)器稱為服務(wù)器聯(lián)合體。13 3.3.2 系統(tǒng)系統(tǒng) ER 圖圖 用用戶戶 用用戶戶ID賬賬戶戶名名密密碼碼類類別別 登登陸陸記記錄錄 記記錄錄號號用用戶戶名名密密碼碼登登陸陸時時間間 記記錄錄登登陸陸歷歷史史 n 1 圖 3-3 實(shí)體聯(lián)系圖 1 17 房房間間 房房號號房房間間類類型型房房間間價價格格房房間間狀狀態(tài)態(tài)備備注注 房房間間賬賬單單 賬賬單單號號消消費(fèi)費(fèi)號號付付款款 客客人人入入住住單單 消消費(fèi)費(fèi)號號客客人人姓姓名名性性別別入入住住類類型型預(yù)預(yù)付付款款 身身份份證證號號電電話話 地地址址入入住住時時間間離離開開時時間間當(dāng)當(dāng)前前狀狀態(tài)態(tài) 賬賬單單登登記記 1 1 選選擇擇房房間間 1 1 入入住住房房間間 入入住住ID消消費(fèi)費(fèi)號號入入住住房房間間號號 入入住住房房間間登登記記 1 1 圖 3-4 實(shí)體聯(lián)系圖 2 會會員員 會會員員ID姓姓名名電電話話身身份份證證號號碼碼 圖 3-5 實(shí)體聯(lián)系圖 3 身身份份證證資資料料庫庫 庫庫編編號號地地區(qū)區(qū)代代碼碼地地方方名名 圖 3-6 實(shí)體聯(lián)系圖 4 18 商商品品 商商品品號號 名名稱稱類類型型數(shù)數(shù)量量價價錢錢 商商品品消消費(fèi)費(fèi)單單 商商品品名名稱稱價價錢錢數(shù)數(shù)量量消消費(fèi)費(fèi)時時間間 ID 房房間間號號賬賬單單號號 消消費(fèi)費(fèi)人人 消消費(fèi)費(fèi)商商品品 n 1 圖 3-7 實(shí)體聯(lián)系圖 5 3.3.3 數(shù)據(jù)庫的設(shè)計數(shù)據(jù)庫的設(shè)計 1、依據(jù)項(xiàng)目的處理需求,對應(yīng)數(shù)據(jù)表的設(shè)計及功能如下: 結(jié)賬表(TB_ACCOUNT):用于保存客人結(jié)賬信息 客人入住信息登記表(TB_CUSTOMER):用于保存客人入住信息登記信 息 商品表(TB_GOOD):用于保存酒店商品信息 房間表(TB_HOUSE):用于保存酒店房間信息 房間入住表(TB_HOUSECUSTOMER):用于保存房間入住信息 會員表(TB_HUIYUAN):用于保存會員信息 登陸記錄表(TB_LOGINRECORD):用于保存登陸記錄信息 商品消費(fèi)表(TB_PAYFORGOODS):用于保存商品消費(fèi)表信息 身份證代碼表(TB_PCAREA):用于保存全國身份證代碼信息 19 用戶表(TB_USER):用于保存系統(tǒng)用戶信息 其中,房間表和身份證代碼表屬于后臺設(shè)置部分,需要首先導(dǎo)入設(shè)置。其 余的數(shù)據(jù)庫表都屬于前臺功能表。通過實(shí)現(xiàn)功能可以對表的內(nèi)容進(jìn)行增、刪、 查、改等等。 2、數(shù)據(jù)表 前臺的功能性表,如 3-1 表 表 3-1 數(shù)據(jù)表 1 表名數(shù)據(jù)項(xiàng)名數(shù)據(jù)類型長度 TB_ACCOUNTACCOUNTIDvarcher20 CUSTOMERIDvarcher20 PAYFORHOUSEfloat8 TB_CUSTOMERCUSTOMERIDvarcher20 CUSTOMERNAMEvarcher20 SEXvarcher4 INHOMETYPEvarcher10 BUDGETMONEYfloat8 PERSONNALCARDvarcher18 TELEPHONEvarcher11 ADDRESSvarcher100 INTIMEdatetime8 OUTTIMEdatetime8 CURRENTSTATEvarcher5 TB_GOODGOODSIDvarcher100 GOODSNAMEvarcher100 TYPEvarcher10 QULANTITYint4 PRICEfloat8 TB_HOUSECUSTOMERCUSHOUSEIDint4 CUSTOMERIDvarcher20 INHOUSEIDvarcher10 TB_HUIYUANHUIYUANIDvarcher20 IDvarcher20 USERNAMEvarcher20 TELEPHONEvarcher11 20 PERSONALCARDvarcher18 TB_LOGINRECORDIDint4 USERNAMEvarcher50 PASSWORDvarcher50 LOGINTIMEdatetime8 TB_PAYFORGOODSIDint4 HOUSEIDvarcher20 ACCOUNTIDvarcher20 CUSTOMERNAMEvarcher100 GOODSNAMEvarcher200 PRICEfloat8 QULTANTITYint4 INACCOUNTTIMEdatetime8 TB_USERUSERIDvarcher15 USERNAMEvarcher20 PASSWORDvarcher20 USERRANKvarcher10 注:斜體字為主鍵 。 后臺設(shè)置的表,有房間表(TB_HOUSE)和身份證代碼表(TB_PCARE),如下 表 3-2: 表 3-2 數(shù)據(jù)表 2 表名數(shù)據(jù)項(xiàng)名數(shù)據(jù)類型長度 TB_HOUSEHOUSEIDvarcher10 HOUSETYPEvarcher20 HOUSEPRICEfloat8 HOUSESTATEvarcher5 MARKvarcher200 TB_PCAREAIDvarcher20 PCNUMBERvarcher10 ZONEvarcher100 21 4 4 系統(tǒng)設(shè)計系統(tǒng)設(shè)計 系統(tǒng)總體設(shè)計是問題求解及建立解答的高級策略。系統(tǒng)總體設(shè)計的主要任 務(wù)是將系統(tǒng)分解成易于管理的子系統(tǒng),并構(gòu)造系統(tǒng)的策略,諸如系統(tǒng)運(yùn)行的軟 硬件平臺、數(shù)據(jù)管理策略等,最終得到系統(tǒng)的體系結(jié)構(gòu)設(shè)計模型。14 4.1 系統(tǒng)功能模塊圖系統(tǒng)功能模塊圖 系統(tǒng)邏輯模型中數(shù)據(jù)流圖中的模塊是邏輯處理模塊,模型中沒有說明模塊 的物理構(gòu)成和實(shí)現(xiàn)途徑,同時也看不出模塊的層次分解關(guān)系,為此在系統(tǒng)結(jié)構(gòu) 設(shè)計中要將數(shù)據(jù)流圖上的各個邏輯處理模塊進(jìn)一步分解,用模塊結(jié)構(gòu)圖確定系 統(tǒng)的層次結(jié)構(gòu)關(guān)系,并將系統(tǒng)的邏輯模型轉(zhuǎn)變?yōu)槲锢砟P汀?5 4.1.1 酒店客房管理系統(tǒng)總模塊圖酒店客房管理系統(tǒng)總模塊圖 如圖 4-1: 酒酒店店客客房房管管理理 前前臺臺 管管理理 預(yù)預(yù)訂訂 管管理理 報報表表 物物品品 庫庫存存 管管理理 用用戶戶 管管理理 資資料料 管管理理 圖 4-1 酒店客房管理系統(tǒng)總模塊圖 4.1.2 酒店客房管理系統(tǒng)各個分模塊圖酒店客房管理系統(tǒng)各個分模塊圖 22 前前臺臺 管管理理 開開房房 管管理理 商商品品 消消費(fèi)費(fèi) 管管理理 退退房房 管管理理 房房間間 狀狀態(tài)態(tài) 房房間間 操操作作 管管理理 會會員員 管管理理 圖 4-2 前臺管理功能模塊圖 預(yù)預(yù)訂訂管管理理 預(yù)預(yù)訂訂入入住住退退訂訂 查查詢詢 與與 修修改改 圖 4-3 預(yù)訂管理功能模塊圖 營營業(yè)業(yè)報報表表 客客人人 結(jié)結(jié)賬賬 報報表表 商商品品 消消費(fèi)費(fèi) 報報表表 預(yù)預(yù)付付 款款報報 表表 當(dāng)當(dāng)前前 住住客客 報報表表 圖 4-4 報表功能模塊圖 23 庫庫存存管管理理 入入庫庫出出庫庫 當(dāng)當(dāng)前前 庫庫存存 查查詢詢 庫庫存存 盤盤點(diǎn)點(diǎn) 圖 4-5 物品庫存管理功能模塊圖 用用戶戶管管理理 用用戶戶 登登錄錄 歷歷史史 賬賬號號 管管理理 賬賬號號 權(quán)權(quán)限限 設(shè)設(shè)置置 圖 4-6 用戶管理功能模塊圖 資資料料管管理理 會會員員 資資料料 管管理理 身身份份 證證代代 碼碼 圖 4-7 資料管理功能模塊圖 4.2 系統(tǒng)功能的設(shè)計系統(tǒng)功能的設(shè)計 (管理員通過密碼驗(yàn)證后能進(jìn)行如下操作) 1.前臺管理 酒店的前臺管理包括如下: A.開房管理 為客人正確填寫入住資料,并選擇入住房間、入住類型,輸入入住時 間和離開時間。點(diǎn)擊入住,即保存入住信息。 24 B.退房管理 通過查詢房間號,搜索要進(jìn)行退房操作的房間。也可以不輸入房間號, 直接點(diǎn)擊查詢,即返回可以進(jìn)行退房操作的房間。 C.商品消費(fèi)管理 為酒店的小商品消費(fèi)進(jìn)行管理。在導(dǎo)航欄點(diǎn)擊商品消費(fèi),即能登記錄 入某房間號某人進(jìn)行消費(fèi)某項(xiàng)商品。點(diǎn)擊添加,進(jìn)行保存。商品消費(fèi)查詢, 輸入房間號,能查詢對應(yīng)房間住客進(jìn)行的消費(fèi)記錄。 D.房間狀態(tài)查詢 通過選擇單選框“在住”或“空置” ,再點(diǎn)擊查詢,即能返回當(dāng)前在住 或空置房的列表。 E.房間操作管理 對房間操作進(jìn)行管理,實(shí)質(zhì)為“一鍵換房”功能。對已經(jīng)登記入住的客 人,若有換房要求,能為客人選擇空置房進(jìn)行換房。 F.會員管理 對希望成為本酒店住客會員的客人,為其登記信息,添加成為會員。 2. 預(yù)訂管理 A.預(yù)訂 本功能與開房管理相近,記錄客戶預(yù)訂的必要信息。 B.入住 查詢已經(jīng)預(yù)訂的客人或者客人身份證號,并對其進(jìn)行入住操作,點(diǎn)擊入 住按鈕,正式開房。若然沒有輸入客人或者客人身份證號,即返回所有預(yù) 訂的客人列表。 C.退訂 對已經(jīng)預(yù)訂的客戶,進(jìn)行退訂操作。查詢需要退訂的客戶,點(diǎn)擊刪除。 D.查詢與修改 對已經(jīng)預(yù)訂的客戶的信息進(jìn)行查詢與修改。 3.庫存管理 A.入庫 25 對酒店的商品或用品進(jìn)行入庫登記,輸入其商品名、編號、價格等信息。 點(diǎn)擊入庫,進(jìn)行保存。 B.查詢 輸入商品名稱,對該商品的信息進(jìn)行查詢。 4.用戶管理 A.賬戶管理 對本系統(tǒng)的用戶進(jìn)行添加、查詢、修改、刪除等操作。 B.用戶登錄歷史 能根據(jù)用戶名查詢,登錄系統(tǒng)的歷史。 C.賬號權(quán)限設(shè)置 對賬號的權(quán)限級別進(jìn)行設(shè)置。能把管理員級別換成普通會員,也可以把 普通會員變成管理員級別,提升權(quán)限。 5.資料管理 A.會員管理 能對酒店的客戶會員進(jìn)行添加、修改、刪除操作。 B.身份證代碼 提供全國身份證代碼的列表,進(jìn)行對照查詢。 6.報表 A.當(dāng)前住客報表(對當(dāng)前住客進(jìn)行列表匯總) B.客人結(jié)賬報表(對已經(jīng)結(jié)賬的客人進(jìn)行列表匯總) C.商品消費(fèi)報表(對商品消費(fèi)記錄進(jìn)行列表匯總) D.預(yù)付報表(對進(jìn)行預(yù)付的客人記錄進(jìn)行列表匯總) 26 5 系統(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)等工作放在中間層處理。客 戶端不直接與數(shù)據(jù)庫交互,而是通過組件與中間層建立連接,再由中間層與數(shù) 據(jù)庫交互。 系統(tǒng)具體分層如 5-1 所示: 視視圖圖層層 (JSP) 用戶界面負(fù)責(zé) 業(yè)務(wù)收集和表 示客戶端校驗(yàn) WEB層層 (Struts) MVC架構(gòu)的控 制層 控制業(yè)務(wù)邏輯 層和表現(xiàn)層的 交互 DAO(Data Access Object) 數(shù)據(jù)訪問對象 與持久層交互 持持久久層層 (Hibernate) 通過實(shí)體關(guān)系 映射OR Mapping由數(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ù)打下了堅實(shí)的 基礎(chǔ)。 中間層為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種: Web 層,就是 MVC 模式里面的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返 回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的 MVC 框架采用 Struts。 DAO 層,負(fù)責(zé)與持久化對象交互。該層封裝了數(shù)據(jù)的增、刪、查、改的操 作。 PO,持久化對象。通過實(shí)體關(guān)系映射工具將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)映射成對 象,很方便地實(shí)現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫,該系統(tǒng)采用 Hibernate 作為 ORM 框架。 27 6系統(tǒng)詳細(xì)設(shè)計系統(tǒng)詳細(xì)設(shè)計 6.1 Hibernate 持久層持久層 采用 Hibernate 作為持久層技術(shù)的最大的好處在于:可以完全以面向?qū)ο蟮?方式進(jìn)行系統(tǒng)分析、系統(tǒng)設(shè)計。面向?qū)ο蟮姆治龊兔嫦驅(qū)ο蟮脑O(shè)計才最接近于 程序員的自然思維。 6.1.1 編寫編寫 PO 類類 10 個基本的 PersisentObject 類。分別為: Account Customer Goods House HouseCustomer HuiYuan LoginRecord PayForGoods PcArea User 下面只給出 House 和 Customer 類,其它的可以參看源代碼。 package com.hibernate.mapings; /* * * 酒店房間實(shí)體 * */ public class House implements java.io.Serializable private String houseid; /房間id 28 private String housetype;/房間類型 private Double houseprice;/房間價格 private String housestate;/房間狀態(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)造方法,給類中的屬性賦值 /省略get和set 訪問器 package com.hibernate.mapings; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; /* * 入住酒店客人信息 * */ public class Customer implements java.io.Serializable private String customerid; /入住id private String customername;/客人姓名 private String sex;/客人性別 private String inhometype;/入住類型 29 private Double budgetmoney;/預(yù)付款 private String personnalcard; /身份證號 private String telephone;/電話號碼 private String address;/聯(lián)系地址 private Timestamp i

注意事項(xiàng)

本文(酒店客房管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)畢業(yè)論文.doc)為本站會員(good****022)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(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)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!