基于Web的酒店管理系統(tǒng)設計與實現(xiàn)_第1頁
基于Web的酒店管理系統(tǒng)設計與實現(xiàn)_第2頁
基于Web的酒店管理系統(tǒng)設計與實現(xiàn)_第3頁
基于Web的酒店管理系統(tǒng)設計與實現(xiàn)_第4頁
基于Web的酒店管理系統(tǒng)設計與實現(xiàn)_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、2008級計算機科學與技術畢業(yè)論文(設計)單位代碼 10642 密 級 公開 學 號200813024039重慶文理學院學士學位論文 基于web的酒店管理系統(tǒng)設計與實現(xiàn) 論文作者: 鄧銀華指導教師: 王先平學科專業(yè):計算機科學與技術提交論文日期:2011 年 12 月 18 日 論文答辯日期:2011 年 12 月 18 日 學位授予單位:重慶文理學院 中 國 重 慶2011年12月65 基于web的酒店管理系統(tǒng)的設計與實現(xiàn)計算機科學與技術 鄧銀華 指導教師 王先平中文摘要:本課題研究的是基于B/S(Browser/Server)的web酒店管理系統(tǒng)。Java為開發(fā)語言,SQL Server

2、2005為數(shù)據(jù)庫來進行設計與開發(fā)。本系統(tǒng)的主要功能是幫助酒店實現(xiàn)現(xiàn)代化的,科學的,高效的管理方式。系統(tǒng)基本功能包括客房管理、員工管理、客戶信息管理、訂單管理、權(quán)限管理、WEBQQ、訂單管理等。本論文將主要闡述此次畢業(yè)設計題目“基于web酒店管理系統(tǒng)的設計與實現(xiàn)”的開發(fā)背景、開發(fā)的目的及意義、開發(fā)環(huán)境,且對系統(tǒng)的構(gòu)架進行分析。本文將詳細介紹系統(tǒng)各個模塊的實現(xiàn)原理及系統(tǒng)的需求分析、詳細設計、功能設計等,并通過圖例和文字加以詳細解釋說明。在系統(tǒng)規(guī)劃及概要設計中給出系統(tǒng)的總體規(guī)劃與設計,在數(shù)據(jù)庫設計與實現(xiàn)中給出數(shù)據(jù)庫的總體設計及詳細設計,在系統(tǒng)實現(xiàn)中具體介紹各功能模塊的實現(xiàn)情況,并附有運行界面圖。最后

3、,本文將總結(jié)開發(fā)階段與測試階段遇到的問題與解決方法。摘要從三個方現(xiàn)來寫:一是進行此課程研究的必要性;二是采用什么方法、技術實現(xiàn)什么功能;三是達到效課咋樣,注意:你主要寫客房管理關鍵詞:酒店管理系統(tǒng);三層架構(gòu);即時聊天工具;英文摘要 Server 2005為數(shù)據(jù)庫來進行設計與開發(fā)。本系統(tǒng)的主要功能是幫助酒店實現(xiàn)現(xiàn)代化的,科學的,高效的管理方式。系統(tǒng)基本功能包括客房管理、員工管理、客戶信息管理、訂單管理、權(quán)限管理、WEBQQ、訂單管理等。本論文將主要闡述此次畢業(yè)設計題目“基于web酒店管理系統(tǒng)的設計與實現(xiàn)”的開發(fā)背景、開發(fā)的目的及意義、開發(fā)環(huán)境,且對系統(tǒng)的構(gòu)架進行分析。本文將詳細介紹系統(tǒng)各個模塊的

4、實現(xiàn)原第一章 緒論1.1 背景隨著計算機技術、網(wǎng)絡技術、多媒體技術為代表的現(xiàn)代信息技術的飛速發(fā)展,人類社會正從工業(yè)化的時代邁向信息化時代。由于信息技術的高效,便捷,使得人們越來越重視對信息化資源的開發(fā)和利用。信息化技術已經(jīng)成為一個地區(qū),甚至一個國家現(xiàn)代化程度的一個重要標志。在現(xiàn)代社會中,特別是企業(yè)的經(jīng)營及管理決策中發(fā)揮著越來越重要的作用。而對于對酒店這個服務行業(yè)來說,對酒店經(jīng)營狀況起決定作用的就是酒店的服務管理水平。面對高速發(fā)展的現(xiàn)代化社會,利用科技手段提高酒店的管理無疑是一條行之有效的途徑。因此酒店MIS(Management Information System管理信息系統(tǒng))就成了幫助酒店

5、實現(xiàn)計算機管理和經(jīng)營的關鍵。雖然酒店MIS并不是酒店管理走向成功的關鍵,但它可以最大限度地發(fā)揮準確、快捷、高效等作用,對酒店的業(yè)務管理提供強有力的支持。因此,采用全新的酒店業(yè)務管理系統(tǒng),能提高酒店的管理效率,幫助酒店有效地進行業(yè)務管理,釋放最大價值。酒店業(yè)務管理系統(tǒng)在達到在節(jié)省人力資源成本的同時,可以提高業(yè)務效率,并能夠及時、準確、迅速地滿足顧客服務的需求。1.2目的和意義計算機在酒店行業(yè)中的應用是從20世紀70年代開始發(fā)展起來的,經(jīng)過十幾年的發(fā)展,國外的酒店管理系統(tǒng)已經(jīng)基本定型,技術也十分成熟,功能也較齊全了。國內(nèi)的酒店管理系統(tǒng)是在80年代初發(fā)展起來的。它從分的吸收了國外在這個行業(yè)的精華,再

6、結(jié)合國內(nèi)實際情況,逐漸的發(fā)展成熟起來,形成了很多成熟的軟件系統(tǒng)。到了90年代計算機中后期,隨著計算機技術在酒店管理中的廣泛應用。計算機技術不斷的發(fā)展,酒店信息管理系統(tǒng)也發(fā)展到了一個新的時期,新的系統(tǒng),新的平臺不斷出現(xiàn),主要體現(xiàn)在windows下的C/S模式。功能更加完善細致,系統(tǒng)更加穩(wěn)定。然而,在發(fā)展的過程中,國內(nèi)的軟件技術一直不如國外,因此,很多大型酒店就從國外以高價買進信息管理系統(tǒng)。國外的系統(tǒng)在使用的過程中,由于經(jīng)營方式和管理模式上的差別,再加之價格昂貴,許多酒店就希望能有一款符合自身條件的管理系統(tǒng)。而占絕大多數(shù)的小型的酒店,由于資金,人員等多方面的原因,還未使用酒店信息管理類軟件,全憑原

7、始手工記錄管理,這樣的管理方式效率低,易出錯?,F(xiàn)在市場上大多數(shù)酒店管理類軟件都是C/S模式,這種管理軟件需要用戶安裝客戶端,而且這種模式的管理系統(tǒng)維護成本高,投資大,系統(tǒng)移植性差。隨著技術的發(fā)展,B/S模式的軟件(如WEBQQ)越來越多,他的最大的優(yōu)點就是瘦客戶機,成本低選擇多,客戶端什么都不需要,只需要一個瀏覽器即可。因此,對于酒店來講,開發(fā)這樣的信息管理系統(tǒng)是最好的選擇。我的目標就是開發(fā)這樣一個簡單實用系統(tǒng)。有了這樣的系統(tǒng)后酒店不必將大量的時間、人力、財力花在酒店的管理上。這樣就可以提高酒店的管理質(zhì)量,降低酒店運營成本,提高酒店管理效率,達到利益最大化的目的。第二章 相關技術綜述2.1 J

8、ava概述2.1.1 java簡介和特點Java是由Sun Microsystems公司于1995年5月推出的Java程序設計語言(以下簡稱Java語言)和Java平臺的總稱。用Java實現(xiàn)的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動態(tài)的Web、Internet計算。從此,Java被廣泛接受并推動了Web的迅速發(fā)展。另一方面,Java技術也不斷更新。Java平臺由Java虛擬機(Java Virtual Machine)和Java 應用編程接口(Application Programming Interface、簡稱API)構(gòu)成。Java 應用編程接口為

9、Java應用提供了一個獨立于操作系統(tǒng)的標準接口,可分為基本部分和擴展部分。在硬件或操作系統(tǒng)平臺上安裝一個Java平臺之后,Java應用程序就可運行?,F(xiàn)在Java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運行。Java應用編程接口已經(jīng)從1.1x版發(fā)展到1.2版。目前常用的Java平臺基于Java1.6,最新版本為Java1.7。與其他服務器腳步語言相比,Java具有以下特點:Java是一種簡單的,面向?qū)ο蟮模植际降?,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言。2.1.2 Java的優(yōu)點 Java的主要優(yōu)點大概可以歸納如下:

10、(1)Java語言是簡單的; (2)Java語言是一個面向?qū)ο蟮模?(3)Java語言是分布式的; (4)Java語言是健壯的; (5)Java語言是安全的; (6)Java語言是體系結(jié)構(gòu)中立的;(7)Java語言是可移植的;(8)Java語言是解釋型的;(9)Java語言是高性能的;(10)Java語言是多線程的;(11)Java語言是動態(tài)的;2.2 B/S簡介B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務器結(jié)構(gòu)。它是隨著Inter技術的興起,對C/S結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過www瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),但是

11、主要事務邏輯在服務器端(Server)實現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。 以目前的技術看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡應用,并通過Inter/Intra模式下數(shù)據(jù)庫應用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員, 從不同的地點,以不同的接入方式(比如LAN, WAN, Inter/Intra等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺和管理訪問權(quán)限,服務器數(shù)據(jù)庫也很安全。2.3 三層架構(gòu)簡介(ssh框架)最好有圖進行闡述隨著軟件工程的不斷進步和規(guī)范以及面向?qū)ο缶?/p>

12、程思想的應用,人們對封裝、復用、擴展、移置等方面的要求,使得雙層架構(gòu)顯然更加臃腫繁瑣.在這種情形下,三層程序架構(gòu)體系應運而生,可以說,三層架構(gòu)體系結(jié)構(gòu)是面向?qū)ο笏枷氚l(fā)展中的必然產(chǎn)物。所謂三層架構(gòu),是在客戶/服務(C/S)之間加入了一個中間層,也叫組件層。它與客戶層、服務器層共同構(gòu)成了三層體系。通過引入中間層,將復雜的商業(yè)邏輯從傳統(tǒng)的雙層結(jié)構(gòu)(Client-Server)應用模型中分離出來,并提供了可伸縮、易于訪問、易于管理的方法,可以將多種應用服務分別封裝部署于應用服務器,同時增強了應用程序可用性、安全性、封裝復用性、可擴展性和可移置性,使用戶在管理上所花費的時間最小化,從而實現(xiàn)了便捷、高效、

13、安全、穩(wěn)定的企業(yè)級系統(tǒng)應用。三層體系架構(gòu)具體包括:表示層、業(yè)務邏輯層、數(shù)據(jù)訪問層。(1) 表示層:即用戶接口層,主要由Struts框架的Action構(gòu)成的。表示層運行在客戶端瀏覽器上,產(chǎn)生用戶視圖,與用戶交互。在業(yè)務邏輯層發(fā)生變化時通過改變表示層的組合以及做一些簡單的調(diào)整就可以很好地適應新的業(yè)務邏輯層。(2) 業(yè)務邏輯層:這一層是從整個系統(tǒng)功能設計中抽取大量具有共性的模塊,把它們統(tǒng)一設計成為系統(tǒng)公共的可重用的組件。由Spring框架作為中間組件統(tǒng)一配置管理。(3) 數(shù)據(jù)訪問層:用來管理和存儲數(shù)據(jù),實現(xiàn)數(shù)據(jù)訪問功能,設計數(shù)據(jù)庫,定義數(shù)據(jù)表結(jié)構(gòu)、表的索引、數(shù)據(jù)表之間的關聯(lián),定義數(shù)據(jù)庫中的視圖以及操

14、作數(shù)據(jù)的存儲過程,設計數(shù)據(jù)庫的安全等等。該層由數(shù)據(jù)庫管理系統(tǒng)如SQL Server來管理和控制。Hibernate框架則用來完成數(shù)據(jù)持久化的重任。第三章 需求分析3.1可行性分析3.1.1概述可行性研究主要內(nèi)容是要求以全面、系統(tǒng)的分析為主要方法,經(jīng)濟效益為核心,圍繞影響項目的各種因素,運用大量的數(shù)據(jù)資料論證擬建項目是否可行。對整個可行性研究提出綜合分析評價,指出優(yōu)缺點和建議。為了結(jié)論的需要,往往還需要加上一些附件,如試驗數(shù)據(jù)、論證材料、計算圖表、附圖等,以增強可行性報告的說服力。開發(fā)任何一個基于計算機的系統(tǒng)都會受到時間和資源的限制。因此在開發(fā)軟件項目之前,必須根據(jù)可利用的時間和資源等條件進行可

15、行性研究??尚行匝芯抗ぷ鞯闹饕蝿詹皇茄芯咳绾谓鉀Q問題,而是要用最小的代價在最短的時間內(nèi)確定該項目是否具有開發(fā)的可行性??尚行匝芯恐饕ń?jīng)濟可行性研究,技術可行性研究,運行、操作可行性研究,法律可行性研究和開發(fā)方案的選擇。典型的可行性研究應從以下幾步進行:(1)復查初步分析結(jié)果。對系統(tǒng)初步的分析結(jié)果和報告書進行復查,改正含糊或不確切的敘述,重新確定系統(tǒng)目標與規(guī)模,清晰地描述對系統(tǒng)的所有約束條件。(2)研究現(xiàn)有的條件。找出其基本功能和基本信息,指出其缺點或局限性。(3)導出新系統(tǒng)高層邏輯模型。用某種圖形工具導出系統(tǒng)高層邏輯模型,并與現(xiàn)有系統(tǒng)進行比較。(4)導出新系統(tǒng)的高層物理解法,提出多個供選

16、擇的解決方案,并對每一個方案的經(jīng)濟可行性、技術可行性、運行和操作可行性等進行分析比較。(5)推薦建議的方案。如果系統(tǒng)分析員人為之得開發(fā),則應指出開發(fā)的價值、推薦方案的理由,并為推薦的系統(tǒng)草擬一份開發(fā)計劃,并提交可行性研究報告等全部文檔。若分析員認為不值得開發(fā),也應拿出充分的理由。(6)評審、復審和決策。可行性研究最后要通過技術評審和管理復審,開發(fā)方和客戶方或使用部門負責人根據(jù)成本-效益分析等各項可行性研究的結(jié)論決策是否繼續(xù)這項工程。 而對于我的這次畢業(yè)設計來說可行性研究就是主要從兩個方面考慮,一是經(jīng)濟可行性研究;二是自身的軟件開發(fā)技術水平,即技術可行性研究。3.1.2經(jīng)濟可行性本系統(tǒng)的開發(fā)周期

17、為1個月,耗費資金較少,且實用價值很高,各種酒店都可以使用,當然也可以定制。本系統(tǒng)是基于web的辦公系統(tǒng),它有如下經(jīng)濟優(yōu)勢,我們可以利用它的優(yōu)勢來控制開發(fā)成本。(1) 客戶端只需要瀏覽器即可,不需要像服務器端進行編程,從而大大縮短了開發(fā)周期,降低開發(fā)成本。(2) 系統(tǒng)開發(fā)費用降低。由于客戶端只需要瀏覽器,使得我們不必另外花錢購買軟件,這樣就降低了開發(fā)成本。(3) 降低系統(tǒng)維護和管理費用。在B/S模式下,客戶端只需運行操作系統(tǒng)和瀏覽器,無需專門對客戶端進行維護。在以前的C/S模式下,辦公系統(tǒng)運行一段時間如需增加新功能或作版本升級時仍需經(jīng)過與系統(tǒng)初次推出時類似的經(jīng)歷,服務器、客戶端軟件更新,人員重

18、新培訓等等,這樣就提高了開發(fā)及系統(tǒng)維護的成本。而在B/S模式下,只需在服務器端更新,用戶只有在連入服務器取得新頁面時才會感知系統(tǒng)升級。3.1.3技術可行性近年來隨著Internet技術的飛速發(fā)展及用戶需求的不斷升級,Web頁面技術也不斷的推陳出新,使得Web站點的功能越來越強大,能夠提供的服務種類越來越繁多。從HTML、Client Script 到CGI,從JAVA的誕生到ActiveX, Web頁面設計人員不斷受到?jīng)_擊,基于構(gòu)建開發(fā)方法的崛起,引出了CORBA國際標準軟件體系結(jié)構(gòu)和多層應用體系框架。簡單講,Java是位于服務器端的腳本運行環(huán)境,通過這種環(huán)境,用戶可以創(chuàng)建和運行動態(tài)的交互式

19、Web 服務器應用程序,如交互式的動態(tài)網(wǎng)頁,包括使用 HTML 表單收集和處理信息,上傳與下載等等。更重要的是,Java使用的Jsp技術基于開放設計環(huán)境,用戶可以自己定義和制作插件加入其中,使自己的動態(tài)網(wǎng)頁幾乎具有無限的擴充能力,這是傳統(tǒng)的Web編寫工具所遠遠不及的地方。使用Java還有個好處,就在于Java可利用JDBC、JNDI方便快捷地訪問數(shù)據(jù)庫,從而使得開發(fā)基于WWW的應用系統(tǒng)成為可能,這也是本文選擇Java作為開發(fā)語言最重要的原因之一。技術可行性主要從項目實施的技術角度,合理的設計方案來評價。對于不同行業(yè)的項目技術可行性的研究差別及深度相差很大。本系統(tǒng)采用的是先進成熟且符合實際應用的

20、開發(fā)模式。后臺業(yè)務邏輯采用的開發(fā)工具是myeclipse8.5,myeclipse是一個強大的,智能的ide,有了它的幫助,使得開發(fā)起來更加輕松。前臺頁面設計主要采用dwcs5,aptana2.0,dwcs5是adobe開發(fā)的一款廣泛用于網(wǎng)頁設計與制作的開發(fā)工具,aptana2.0是一款用于開發(fā)extjs的開發(fā)工具,是一款優(yōu)秀的開發(fā)工具。數(shù)據(jù)存儲及管理則由sqlserver2005來承擔。有了這些工具的幫助,再加上自己的開發(fā)經(jīng)驗及能力,就能夠開發(fā)一款完善的酒店管理系統(tǒng)。3.1.4 操作可行性操作上是對Windows操作系統(tǒng)的引用,該系統(tǒng)的使用,主要憑借使用Windows操作技術即可使用員工管理

21、、客戶信息管理、房間管理、統(tǒng)計報表、等功能模塊,方便簡單。使用前用戶只要閱讀系統(tǒng)提供的幫助文檔即可使用該系統(tǒng)。3.2系統(tǒng)需求分析改為需求分析:分為功能需求和非功能需求,本章內(nèi)容太少,應該有很具體,功能需求可用用例圖和一些闡述;非功能性需求包括性能、界面、可移植性、可維護性等等方面的闡述需求分析階段處于軟件開發(fā)的前期,其基本活動是準確定義未來系統(tǒng)的目標,確定為了滿足用戶的需求必須做什么。需求分析又劃分為兩個階段,即需求獲取和需求規(guī)約,前者是用自然語言清楚地描述用戶的要求,而需求規(guī)約的目的是消除獲取需求的二義性和不一致性。在軟件生命周期中,一個錯誤發(fā)現(xiàn)得越晚,修復錯誤的費用也越高,所以,高質(zhì)量的需

22、求工程是軟件項目得以正確、高效完成的前提。本系統(tǒng)的需求分析是系統(tǒng)最重要,最基礎的組成部分,只有和用戶進行充分的交流,了解了用戶的需求之后才能開始設計系統(tǒng),否則,對需求定義的任何改進,在設計上都必須大量的返工。下面是經(jīng)過調(diào)研后得到的業(yè)務需求說明。3.2.1 用戶需求分析用戶要進入本系統(tǒng)必須要提供用戶名密碼進行身份認證,只有用戶名密碼都正確才能讓用戶登錄系統(tǒng),登錄系統(tǒng)后,系統(tǒng)會分配給用戶相應的權(quán)限,只有在用戶具有了相應的權(quán)限時,系統(tǒng)才會將相應的操作分配給用戶。這樣可以大大提高系統(tǒng)的安全性。3.2.2 系統(tǒng)功能需求分析本系統(tǒng)主要任務是管理酒店資源,并對酒店資源進行合理的分配和管理,從而提高酒店管理的

23、效率,節(jié)省人力、物力、財力達到贏得更大利潤的目的。該系統(tǒng)能夠?qū)频曩Y源統(tǒng)一管理,方便用戶查詢,更新,檢索,統(tǒng)計分析并且還能夠按照用戶要求自動生成報表,從而大大減少工作量。酒店通過該系統(tǒng),可以使得酒店的管理更加系統(tǒng)化、規(guī)范化、自動化、高效化,從而大大提高管理效率。3.2.2 系統(tǒng)性能需求分析 作為酒店的管理系統(tǒng),用戶在任何時候都要能夠進行操作,這就要求系統(tǒng)必須滿足7*24小時的服務模式。因此穩(wěn)定性是系統(tǒng)的基礎。 為了讓用戶操作更加方便系統(tǒng)的靈活性,延展性是必須的。靈活的數(shù)據(jù)記錄編輯功能,可以隨時對記錄進行CRUD等編輯操作。 系統(tǒng)信息查詢功能要求多張表能夠進行聯(lián)合操作,進行多條件任意組合查詢,以

24、便于用戶得到更加準確有效的信息。 系統(tǒng)具備權(quán)限管理功能,確保數(shù)據(jù)的安全可靠。第四章 系統(tǒng)設計好象字體大寫不一樣,改為系統(tǒng)設計:分為概要設計與詳細設計,詳細設計時請按模板MVC三個程寫設計4.1 系統(tǒng)功能模塊該系統(tǒng)的功能在系統(tǒng)的需求分析中以確定,系統(tǒng)共分為8大功能模塊。各個模塊之間并非獨立存在,而是相互聯(lián)系,相互關聯(lián)在一起的,從而使本系統(tǒng)能夠很好的完成所設計的功能。下面簡單介紹該系統(tǒng)的8個功能模塊。客房管理:主要管理客房信息,客房狀態(tài)信息,客房類型信息。權(quán)限管理:管理系統(tǒng)權(quán)限,負責分配系統(tǒng)權(quán)限,權(quán)限組管理。員工管理:主要管理酒店員工信息,為員工分配權(quán)限??蛻艄芾恚汗芾砣胱【频甑目蛻粜畔?,可以對客

25、戶信息進行CRUD操作。報表管理:統(tǒng)計酒店贏利住宿情況。系統(tǒng)維護:主要進行數(shù)據(jù)庫的備份,還原操作。活動信息管理:主要管理酒店促銷活動信息及積分卡信息。WEBQQ:用于酒店員工之間及時交流的簡單聊天工具。本系統(tǒng)的功能模塊圖如圖4-1所示:圖4-1功能模塊圖4.2系統(tǒng)邏輯體系結(jié)構(gòu)本系統(tǒng)采用當前流行的B/S設計模式,基于Java平臺構(gòu)建Web應用程序,把系統(tǒng)劃分為數(shù)據(jù)層、業(yè)務邏輯層和表示層。邏輯體系結(jié)構(gòu)如圖4-2示:表示層(struts2+extjs)業(yè)務邏輯組件層(Spring)數(shù)據(jù)層(hibernate)SQL Server 2005 圖4-2 系統(tǒng)邏輯結(jié)構(gòu)體系4.4系統(tǒng)項目所用技術和構(gòu)成項目所

26、用技術:本系統(tǒng)采用Microsoft SQL Server 2005數(shù)據(jù)庫,使用Java EE進行開發(fā),采取B/S架構(gòu)。數(shù)據(jù)庫設計原則上符合第三范式,且規(guī)范,易于維護。程序使用MVC模式,采用三層架構(gòu),保證系統(tǒng)的可維護性和可擴展性。主要基于Struts+ Hibernate+Spring+ExtJs框架進行開發(fā)RIA即富客戶端的桌面版的酒店管理系統(tǒng)。Struts 是一個基于J2EE平臺的MVC框架,主要是采用Servlet和JSP技術來實現(xiàn)的。由于Struts能充分滿足應用開發(fā)的需求,簡單易用,敏捷迅速,在過去的一年中頗受關注。Struts把Servlet、JSP、自定義標簽和信息資源(mes

27、sage resources)整合到一個統(tǒng)一的框架中,開發(fā)人員利用其進行開發(fā)時不用再自己編碼實現(xiàn)全套MVC模式,極大的節(jié)省了開發(fā)所需時間,因此表現(xiàn)層就選用struts2。Hibernate 是一個開源的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用面向?qū)ο缶幊趟季S來操縱數(shù)據(jù)庫。Spring 是一個解決了許多在J2EE開發(fā)中常見的問題的強大框架。 Spring提供了管理業(yè)務對象的一致方法并且鼓勵了注入對接口編程而不是對類編程的良好習慣。Spring的架構(gòu)基礎是基于使用JavaBean屬性的 Inversion of Control容器。然而,這僅僅

28、是完整圖景中的一部分:Spring在使用IOC容器作為構(gòu)建完關注所有架構(gòu)層的完整解決方案方面是獨一無二的。 Spring提供了唯一的數(shù)據(jù)訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率并且減少了可能的錯誤。Spring的數(shù)據(jù)訪問架構(gòu)還集成了 Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務管理抽象,它能夠在各種底層事務管理技術,例如JTA或者JDBC事務提供一個一致的編程模型。 Spring提供了一個用標準Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務管理和其他企業(yè)事務-如果你需要-還能實現(xiàn)你自己的 aspects。EXTJS簡介

29、:Ext是一個Ajax框架,用于在客戶端創(chuàng)建豐富多彩的web應用程序界面,是在Yahoo! UI的基礎上發(fā)展而來的??梢杂脕黹_發(fā)具有絢麗外觀的RIA應用,它是一個用JavaScript編寫的與后臺技術無關的Ajax框架。Ext有如下幾個特點:1、使用標準的W3C技術;2、龐大的組件模型及控件庫;3、豐富絢麗的界面元素;4、強大實用的工具封裝;5、開源GPL。Ext是一個用于WebUI開發(fā)的Ajax框架,可以用他來輕松開發(fā)豐富多彩的應用程序界面;Ext主要用于企業(yè)級應用中的前端界面開發(fā),Ext還可以應用網(wǎng)站系統(tǒng)中的后臺管理模塊。基于以上原因,以及Ext界面的華麗性和易用性,所以本系統(tǒng)采用ExtJ

30、s技術作為前臺與用戶交流,提高用戶體驗。項目構(gòu)成:為了用B/S設計模式的三層體系結(jié)構(gòu)實現(xiàn)本系統(tǒng)的設計,我用windowsxp+MyEclipse8.5+SqlServer2005+tomcat6.0+Spket(MyEclipse插件,用作Ext開發(fā))+Firefox(firebug插件,Ext調(diào)試)。設計了一個名為“hotel”的酒店管理系統(tǒng)的項目,如圖4-3,4-4所示。 圖 4-3 圖 4-4com.hotel.action存放的是業(yè)務邏輯處理的文件,com.hotel.bean存放的是實體類文件,com.hotel.date.converter 存放的是轉(zhuǎn)換數(shù)據(jù)類型的工具,com.ho

31、tel.filter存放的是攔截器,com.hotel.service 存放的是操作數(shù)據(jù)庫的實現(xiàn)類和接口類,com.hotel.untils 存放的是常用的工具集, com.hotel.vo存放的是接收前臺數(shù)據(jù)的類。Junit 存放的是用于測試的文件。Struts.xml位于src目錄下。perties為Log4j的屬性文件。第五章 數(shù)據(jù)庫層的設計與實現(xiàn)可放在前一章作為一節(jié)數(shù)據(jù)庫設計5.1數(shù)據(jù)庫設計原則數(shù)據(jù)庫設計中必須遵循以下原則: (1)層次分明,布局合理;(2)保證數(shù)據(jù)結(jié)構(gòu)化、規(guī)范化、標準化;(3)數(shù)據(jù)的獨立性和可擴展性;(4)共享數(shù)據(jù)的正確性和一致性;(5)減少不必要的

32、冗余;(6)保證數(shù)據(jù)的安全可靠。5.2 PDM圖PDM圖:5.3 數(shù)據(jù)庫表設計由上面的ER圖便可得到下面的數(shù)據(jù)表,本系統(tǒng)中共有18張表,由于表太多,這里只展示部分表結(jié)構(gòu)員工信息管理表序號列名數(shù)據(jù)類型長度主(外)鍵允許空說明1usernamevarchar20主鍵否登錄用戶名2addressvarchar50是住址3backgroundvarchar100是桌面背景4degreevarchar50是學歷5emailvarchar50是電子郵件6gendervarchar5否性別7idCardvarchar50否身份證號8passwordvarchar18否登陸密碼9phonevarchar20否

33、電話10realnamevarchar10否員工真實姓名11schoolvarchar20是畢業(yè)院校12themevarchar100是系統(tǒng)主題13visibletinyint否賬戶是否可用14birthdaydatetime是出生年月15Department_idint外鍵是所在部門表名:Employee客戶信息管理表序號列名數(shù)據(jù)類型長度主(外)鍵允許空說明1customeridint主鍵否客戶編號2gendervarchar50否性別3namevarchar100否客戶姓名4remarkvarchar50是備注5timevarchar50否登記時間6visiblevarchar5否信息是否

34、可見7contactidint外鍵是聯(lián)系信息 表名:Customer客戶聯(lián)系信息管理表序號列名數(shù)據(jù)類型長度主(外)鍵允許空說明1contactidint主鍵否聯(lián)系信息編號2addressvarchar100否住址3idCardvarchar50否身份證號4mobilevarchar20否聯(lián)系電話5photovarchar100是身份證復印件6birthdaydatetime是出生年月 表名: ContactInfo客房信息管理表序號列名數(shù)據(jù)類型長度主(外)鍵允許空說明1roomidint主鍵否房間編號2roominfovarchar300否房間信息3roomnamevarchar50否房間名4

35、typeidint外鍵是房間類型5stateidint外鍵否房間狀態(tài) 表名:Room客房類型管理表序號列名數(shù)據(jù)類型長度主(外)鍵允許空說明1idint主鍵否房間類型編號2discountfloat200否房間折扣3infovarchar50是房間信息4namevarchar否房間類型名稱5pricefloat否房間價格6visibletinyint否是否可見 表名:RoomType客房狀態(tài)管理表序號列名數(shù)據(jù)類型長度主(外)鍵允許空說明1idint主鍵否房間狀態(tài)編號2namevarchar20否房間名3remarkvarchar200是備注 表名:RoomState權(quán)限管理表序號列名數(shù)據(jù)類型長度

36、主(外)鍵允許空說明1modelvarchar25主鍵否模塊名2privilegeValuevarchar25主鍵否權(quán)限值3namevarchar30否權(quán)限名 表名:Rights權(quán)限組管理表序號列名數(shù)據(jù)類型長度主(外)鍵允許空說明1idint主鍵否權(quán)限組編號2namevarchar25否權(quán)限組名 表名:RightGroup權(quán)限-權(quán)限組管理(中間表)表序號列名數(shù)據(jù)類型長度主(外)鍵允許空說明1groupidint主鍵否權(quán)限組名2modelvarchar25主鍵否模塊名3privilegeValuevarchar25主鍵否權(quán)限值 表名:group-right員工-權(quán)限組管理(中間表)表序號列名數(shù)據(jù)

37、類型長度主(外)鍵允許空說明1Usernamevarchar20主鍵否用戶名2groupidint主鍵否權(quán)限組編號 表名:employee-role客戶訂單管理表序號列名數(shù)據(jù)類型長度主(外)鍵允許空說明1idint主鍵否編號2booktimedatetime否預定時間3bookintimedatetime否預訂入住時間4bookouttimedatetime否預訂退房時間5depositfloat否定金6employeevarchar20否操作員工7moneyfloat否應收房租8orderidvarchar10否訂單號9promotionsvarchar30是參與活動10remarkvarc

38、har200是注釋11roomnamevarchar20否房間名12stateint否訂單狀態(tài)13customeridint外鍵否所屬客戶表名:RoomOrder活動信息管理表序號列名數(shù)據(jù)類型長度主(外)鍵允許空說明1promotionsidint主鍵否活動編號2discountfloat200否折扣信息3moneyfloat否消費金額4promotionsnamevarchar30否活動名稱5remarkvarchar200是備注信息6visibletinyint否是否可見7rmoneyfloat是返現(xiàn)金信息 表名: Promotions文件管理表序號列名數(shù)據(jù)類型長度主(外)鍵允許空說明1i

39、dint主鍵否文件編號2filenamevarchar50否文件名3filepathvarchar200否文件保存路徑4filesizevarchar50否文件大小5uploadtimedatetime否上傳時間6newfilenamevarchar50否新文件名 表名: UploadFile第六章 系統(tǒng)實現(xiàn)6.1開發(fā)綜述增加環(huán)境的搭建本章將詳細介紹本系統(tǒng)開發(fā)過程,系統(tǒng)各功能模塊的實現(xiàn)。本系統(tǒng)采用J2EE作為開發(fā)平臺,數(shù)據(jù)管理和存儲采用sqlserver2005,UML圖則采用Rational Rose 2003,PowerDesigner 12繪制。根據(jù)前面兩章需求分析和概要設計,本章將詳細

40、介紹系統(tǒng)的實現(xiàn)過程,并將附上關鍵技術的代碼和系統(tǒng)界面。本系統(tǒng)不提供注冊,用戶由系統(tǒng)管理員添加員工信息時添加,員工拿到賬戶后可自己自行修改密碼。整個系統(tǒng)在進行系統(tǒng)初始化時會產(chǎn)生一個系統(tǒng)管理員,他擁有本系統(tǒng)的所有權(quán)限,其他用戶的權(quán)限則由他進行分配,各個模塊只有擁有相應權(quán)限的用戶才能訪問。6.2系統(tǒng)各功能模塊實現(xiàn)請按MVC三個程面講如何實現(xiàn)的,代碼不宜過多,只要關鍵的,其它的可以用省略號6.2.1登錄模塊1)登錄模塊業(yè)務流程示意圖,如圖6.2所示流程圖應該放在模塊的詳細設計里圖6.2 登錄業(yè)務流程示意圖2)系統(tǒng)登錄界面如6.3所示 圖6.3 系統(tǒng)登陸界面3)關鍵代碼實現(xiàn)如下(UserLoginAct

41、ion.java類):public void login() Employee employee = employeeService.find(user.getUsername();List rights = new ArrayList();if (employee = null) outString(success:false,msg:無該用戶名,系統(tǒng)無法讓您登錄!); else if (employee.getVisible().equals(false) outString(success:false,msg:該賬戶已被管理員禁用,請與管理員聯(lián)系!); else if (employee

42、Service.checkuser(user.getUsername(), user.getPassword() for(RightGroup group : employee.getGroups()for(Right right : group.getRights()rights.add(right.getName();getSession().setAttribute(rights, rights);getSession().setAttribute(employee, employee);outString(success:true,msg:登陸成功!);getApplication()

43、.put(employeeapplication, employee); else outString(success:false,msg:用戶名或密碼錯誤,系統(tǒng)無法讓您登錄!);4)退出系統(tǒng)關鍵代碼(UserLoginAction.java類)public String Logout() outString(getSession().getId();getSession().removeAttribute(employee);getSession().invalidate();outString(success:true,msg:注銷成功);return null;6.2.2系統(tǒng)主界面1)系

44、統(tǒng)采用簡潔,大方,美觀,易操作的布局,使得用戶進入系統(tǒng)有眼前一亮的感覺。系統(tǒng)的主要功能都位于主體窗內(nèi),以方便用戶操作,在桌面有webqq,方便用戶及時聊天,桌面的系統(tǒng)幫助是用戶操作系統(tǒng)的好幫手。桌面設置可以讓用戶根據(jù)自己的喜好設置自己的桌面。2)系統(tǒng)主界面如圖6.4: 圖6.4系統(tǒng)主界面3)主界面關鍵代碼如下(sample.js) / QQ客戶端var clientWin = null;Ext.onReady(function()soundManager = new SoundManager(); / soundManager.waitForWindowLoad = true; soundMa

45、nager.debugMode = false; soundManager.url = hotel_js/sound/swf; soundManager.beginDelayedInit(); soundManager.onload = function() soundManager.createSound( id: systemSound, url: hotel_js/sound/mp3/start.mp3, autoPlay: true / 自動播放 這個是系統(tǒng)的背景音 ); / 信息音 soundManager.createSound( id: msgSound, url: hotel_

46、js/sound/mp3/msg.mp3 ); soundManager.createSound( id: click, url: hotel_js/sound/mp3/chimes.mp3 / volume: 100 ); / 加入音 soundManager.createSound( id: joinSound, url: hotel_js/sound/mp3/join.mp3 ); );function refresh() / *刷新函數(shù)*/window.location.reload();function Logout() Ext.MessageBox.confirm(確認信息, 您確

47、定要注銷嗎?, function(button) if (button = yes) Ext.Ajax.request(url : user/login!Logout.html,success : function() window.location.href = index.jsp;);, this);function changeBg(value) Ext.Ajax.request(url : user/login!updateBg.html?bg=+value);document.body.style.backgroundImage = url(ext/resources/wallpap

48、ers/+ value + ); MyDesktop = new Ext.app.App(init : function() if(backGround = ) backGround = 13.jpg;Ext.QuickTips.init();document.body.style.backgroundImage = url(ext/resources/wallpapers/+backGround+);Ext.util.CSS.swapStyleSheet(theme,theme);,getModules : function() return new MyDesktop.MainWindow(), new MyDesktop.HelpWind

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論