快捷酒店管理系統(tǒng)設(shè)計(jì)與前端實(shí)現(xiàn)_第1頁(yè)
快捷酒店管理系統(tǒng)設(shè)計(jì)與前端實(shí)現(xiàn)_第2頁(yè)
快捷酒店管理系統(tǒng)設(shè)計(jì)與前端實(shí)現(xiàn)_第3頁(yè)
快捷酒店管理系統(tǒng)設(shè)計(jì)與前端實(shí)現(xiàn)_第4頁(yè)
快捷酒店管理系統(tǒng)設(shè)計(jì)與前端實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、. . . . 快捷酒店管理系統(tǒng)設(shè)計(jì)與前端實(shí)現(xiàn)41 / 47摘要目前,我國(guó)快捷型酒店發(fā)展十分迅速,但是相對(duì)于酒店的快速擴(kuò)展,酒店管理軟件的更新卻不是如此與時(shí),快捷酒店相對(duì)于的操作應(yīng)該是十分簡(jiǎn)單明了,但是傳統(tǒng)酒店管理系統(tǒng)操作十分復(fù)雜,導(dǎo)致操作員需要大量時(shí)間學(xué)習(xí)如何操作。本文主要介紹了如何針對(duì)快捷酒店的需求,通過Flex編寫的前臺(tái)程序,和后臺(tái)迅速交互。達(dá)到使客戶認(rèn)為操作簡(jiǎn)單并且容易上手。介紹Flex關(guān)于RIA的開發(fā)流程與Flex用作客戶端編程所帶來的好處。分析整個(gè)酒店管理系統(tǒng)的架構(gòu),分析各個(gè)功能模塊的基本數(shù)據(jù)結(jié)構(gòu),接口,功能流程等。最后對(duì)系統(tǒng)的特點(diǎn)與不足之處進(jìn)行總結(jié)。關(guān)鍵詞:Flex,RIA,快捷

2、酒店,模塊功能,系統(tǒng)架構(gòu)AbstractAt present, there is an increasing development of inn hotel in China. However, the hotel management software is not updating in time. Relative to the complex operation of traditional Hotel management operating system, the operation of inn hotel should be simple and convenient. So

3、 staffs do not need spend too much time on learning how to handle it.This article gives an introduce of how to use client which is written by flex to interact with server, and finally makes it meet the inn hotel requirements. The article also presents the development process of RIA and advantages of

4、 flex Programming as Client. Then it makes a further analysis of management system frame as well as basic data structure of different functional model and interface. In the end, the article gives a brief Summary of the Characteristics and inadequacies for this management systemKey Words:Flex , RIA,

5、inn hotel, functional model, system frame目錄摘要iAbstractii圖目錄III第1章 緒論11.1 課題背景11.2 發(fā)展與現(xiàn)狀11.3 研究的目標(biāo)和容2第2章 相關(guān)技術(shù)和方法32.1 RIA介紹32.2 Flex技術(shù)簡(jiǎn)介32.3 RemoteObject介紹42.4 Spring框架簡(jiǎn)介42.5 Hibernate框架簡(jiǎn)介5第3章 系統(tǒng)的需求分析與概要設(shè)計(jì)73.1 系統(tǒng)的需求分析73.2 系統(tǒng)的總體設(shè)計(jì)73.3 模塊設(shè)計(jì)83.3.1 功能介紹83.4 主要功能模塊103.4.1 入住管理模塊設(shè)計(jì)113.4.2 賬務(wù)與現(xiàn)付賬模塊設(shè)計(jì)153.4.3

6、報(bào)表管理模塊設(shè)計(jì)173.4.4 系統(tǒng)管理與維護(hù)模塊設(shè)計(jì)183.5 數(shù)據(jù)庫(kù)設(shè)計(jì)193.5.1 表和視圖的設(shè)計(jì)193.5.2 存儲(chǔ)過程設(shè)計(jì)253.6 其他功能模塊設(shè)計(jì)26第4章 快捷酒店管理系統(tǒng)的實(shí)現(xiàn)274.1 主要開發(fā)技術(shù)274.2 用戶界面實(shí)現(xiàn)284.2.1 登錄模塊的實(shí)現(xiàn)294.2.2 預(yù)定與登記模塊的實(shí)現(xiàn)30第5章 總結(jié)與展望385.1 總結(jié)385.2 展望38致39參考文獻(xiàn)40圖目錄圖3.1系統(tǒng)總體設(shè)計(jì)圖8圖3.2酒店業(yè)務(wù)流程圖11圖3.3顧客預(yù)定用例圖12圖3.4顧客登記用例圖12圖3.5團(tuán)隊(duì)/協(xié)議單位入住用例圖13圖3.6房間狀態(tài)圖14圖3.7房間狀態(tài)圖圖例15圖3.8顧客賬務(wù)處理時(shí)

7、序圖16圖3.9顧客房費(fèi)管理用例圖16圖3.10會(huì)員消費(fèi)示意圖17圖3.11營(yíng)業(yè)日?qǐng)?bào)報(bào)表圖18圖3.12權(quán)限查詢流程圖19圖3.13登記單模型圖21圖3.14顧客管理模型圖22圖3.15會(huì)員管理模型圖23圖3.16房?jī)r(jià)信息模型圖24圖3.17房間信息模型圖25圖3.18公司級(jí)顧客信息修改存儲(chǔ)過程26圖3.19酒店夜審存儲(chǔ)過程26圖3.20報(bào)表生成存儲(chǔ)過程26圖4.1酒店登錄界面圖29圖4.2酒店注冊(cè)界面圖29圖4.3選擇酒店頁(yè)面30圖4.4顧客預(yù)定界面31圖4.5步入散客顧客登錄界面32圖4.6錯(cuò)誤或?yàn)榭仗崾究?3圖4.7已有顧客修改或增加信息界面34圖4.8增加預(yù)收款界面35圖4.9添加其它

8、信息界面36圖4.10添加周期收費(fèi)界面37第1章 緒論目前,我國(guó)快捷連鎖酒店企業(yè)還沒有真正屬于自己的適合自己發(fā)展需要的快捷酒店的管理軟件,大的連鎖酒店如:如家,漢庭用的都是自己酒店部開發(fā)的酒店管理系統(tǒng)。其他快捷酒店管理系統(tǒng)則主要來自各種星級(jí)酒店的管理系統(tǒng)。與自己的酒店業(yè)務(wù)辦理有一些出入。因此我實(shí)習(xí)所在的公司,準(zhǔn)備開發(fā)出一套專門針對(duì)快捷酒店快速反應(yīng)與符合其業(yè)務(wù)需求的管理軟件。不僅滿足酒店的管理需求,也能充分讓住客體驗(yàn)到快捷酒店的方便與實(shí)用性。1.1 課題背景本文的課題主要來自作者的工程實(shí)踐,以綠云軟件的酒店管理系統(tǒng)的開發(fā)為背景,利用公司已開發(fā)的星級(jí)酒店管理系統(tǒng),來設(shè)計(jì)一個(gè)針對(duì)快捷酒店的管理系統(tǒng)。

9、同大多數(shù)B/S架構(gòu)模式的系統(tǒng)相似,快捷酒店管理系統(tǒng)主要分為如下幾個(gè)模塊:前端,應(yīng)用服務(wù)器端,數(shù)據(jù)庫(kù)服務(wù)器端。其中,前臺(tái)用Flex編寫,使用RemoteObject與java端進(jìn)行通信。然后通過Java端程序的控制,從數(shù)據(jù)庫(kù)服務(wù)器換數(shù)據(jù)。由于公司已經(jīng)開發(fā)過星級(jí)酒店的管理系統(tǒng),因此后臺(tái)可以打一個(gè)分支即可重用以前的Java代碼。作者的主要任務(wù)是開發(fā)好前端Flex代碼,根據(jù)客戶所需求的簡(jiǎn)單快捷的操作來設(shè)計(jì)編寫前端界面。開發(fā)快捷酒店管理系統(tǒng)的價(jià)值如下:(1)使酒店操作員能夠輕易上手并且能夠增加前臺(tái)的工作效率。(2)采用創(chuàng)新的Flex技術(shù)使得原本影響Flex程序性能的問題能得以解決。(3)為管理層決定酒店

10、的消費(fèi)定價(jià)等提供更多的數(shù)據(jù)分析與決策。1.2 發(fā)展與現(xiàn)狀酒店管理軟件是最早在西方發(fā)達(dá)國(guó)家最先使用的,像希爾頓,喜來登等國(guó)際型大酒店都有專門的軟件公司為他們量身定做管理軟件。因此,這些酒店的管理效率與公司運(yùn)作方面都是做的比較好的。從現(xiàn)代科技的發(fā)展來看,一個(gè)好的酒店必須是軟硬件配合的很好才能發(fā)揮最大的效率,硬件當(dāng)然是指酒店的裝潢服務(wù)等,而軟件則是一套方便智能的管理系統(tǒng)。社會(huì)經(jīng)濟(jì)在不斷發(fā)展,酒店在服務(wù)行業(yè)扮演的角色也越來越重要,一個(gè)酒店的管理和服務(wù)水平直接影響到酒店的形象和聲譽(yù)1。酒店管理系統(tǒng)最先西方發(fā)達(dá)國(guó)家率先發(fā)展起來的,像喜來登,希爾頓等國(guó)際型連鎖酒店,它們都有一套完善的酒店管理系統(tǒng)來提高酒店管

11、理的效率,并且分析數(shù)據(jù)給高層用來決策。在上世紀(jì)90年代,酒店業(yè)因?yàn)楦?jìng)爭(zhēng)激烈而經(jīng)營(yíng)狀況十分艱難2。他們最先了解并且使用了ERP這個(gè)概念,也就是企業(yè)資源企劃。使得企業(yè)的管理顯得十分井井有條。酒店業(yè)也不再局限于傳統(tǒng)意義上的價(jià)格惡性競(jìng)爭(zhēng),它將是各酒店集團(tuán)連鎖品牌(集團(tuán)端)和各酒店之間運(yùn)用網(wǎng)絡(luò)系統(tǒng)的整體營(yíng)銷和管理上的競(jìng)爭(zhēng)3。目前,國(guó)快捷酒店管理軟件遇到的問題有很多。還存在很多不足和問題,酒店行業(yè)作為服務(wù)業(yè)的典型,在此項(xiàng)技術(shù)面前,卻又一次落伍。世界圍的酒店管理集團(tuán),可以談得上成功運(yùn)用客戶信息管理的寥寥無幾,諸多客戶信息管理廠商,也沒有能夠與時(shí)拿出一套切實(shí)可行的針對(duì)酒店行業(yè)的全面解決方案。1.3 研究的目標(biāo)

12、和容本文以某快捷酒店管理系統(tǒng)項(xiàng)目為例,對(duì)快捷酒店管理系統(tǒng)項(xiàng)目研發(fā)過程中的需求分析,架構(gòu)設(shè)計(jì),產(chǎn)品測(cè)試與性能分析進(jìn)行了實(shí)質(zhì)性的研究。研究的目標(biāo)是:結(jié)合快捷酒店管理系統(tǒng)項(xiàng)目的特點(diǎn)和開發(fā)過程,分析其設(shè)計(jì)模式與架構(gòu)。分析各個(gè)功能模塊的基本數(shù)據(jù)結(jié)構(gòu),接口,功能流程等。探討如何設(shè)計(jì)出適用于快捷酒店管理系統(tǒng)項(xiàng)目的系統(tǒng)架構(gòu)與對(duì)此系統(tǒng)完成后進(jìn)行的系統(tǒng)性能進(jìn)行詳細(xì)分析。分析包括客戶端程序在長(zhǎng)時(shí)間運(yùn)行時(shí)對(duì)操作系統(tǒng)資源占用和高并發(fā)操作時(shí)是否影響系統(tǒng)性能與穩(wěn)定性。第2章 相關(guān)技術(shù)和方法2.1 RIA介紹RIA(Rich Internet Applications)富互聯(lián)網(wǎng)應(yīng)用,傳統(tǒng)的英特網(wǎng)應(yīng)用程序都是把大量的對(duì)數(shù)據(jù)的處

13、理都交給服務(wù)器端,網(wǎng)絡(luò)的表示層只是一些HTML編寫的靜態(tài)頁(yè)面。隨著IT技術(shù)的不斷飛躍,傳統(tǒng)的基于頁(yè)面的系統(tǒng)已經(jīng)不能滿足客戶的需求,主要原因就是很多時(shí)候客戶端只需要從服務(wù)器端得到想要的數(shù)據(jù),頁(yè)面的基本容不需要改變,但服務(wù)器端仍然返回的是HTML形式的頁(yè)面。這樣加重了網(wǎng)絡(luò)的傳輸成本,同時(shí)也降低了用戶的體驗(yàn)。RIA 使用的是相對(duì)比較健壯的客戶端描述引擎, 能夠提供比傳統(tǒng)瘦客戶端容更密集、響應(yīng)速度更快和圖形更豐富的用戶界面4。RIA就是區(qū)別于傳統(tǒng)的瘦客戶端而產(chǎn)生的,它把許多原來要經(jīng)過服務(wù)器端處理才能得出的數(shù)據(jù),交由前端處理。同時(shí),服務(wù)器端向客戶端傳輸?shù)囊部梢圆辉偈荋TML,而是客戶端所需要的數(shù)據(jù)集。R

14、IA引擎接收瀏覽器發(fā)出的請(qǐng)求后,調(diào)用本地的業(yè)務(wù)邏輯處理組件(一般是網(wǎng)頁(yè)腳本語言)異步轉(zhuǎn)發(fā)該請(qǐng)求到服務(wù)器;服務(wù)器給予應(yīng)答后,RIA引擎再利用自身的客戶端框架程序處理數(shù)據(jù)和和樣式特效對(duì)頁(yè)面進(jìn)行包裝,反饋給瀏覽器顯示5。2.2 Flex技術(shù)簡(jiǎn)介Flex是由Adobe公司發(fā)布的R IA應(yīng)用程序框架,它提供了豐富的用戶界面組件, 其開發(fā)模型由ActionScrip t3 (兼容ECMAScrip t這個(gè)國(guó)際標(biāo)準(zhǔn)的面向?qū)ο蟮哪_本語言) ,MXML 模型描述語言(基于XML,實(shí)現(xiàn)標(biāo)簽化的定義方式,可用于可視化的編輯) ,以與其他的擴(kuò)展類庫(kù)組成的6。它與Adobe發(fā)布的另一款產(chǎn)品Flash是一個(gè)模式。Flex

15、和Flash一樣都是生成.swf文件運(yùn)行。但相對(duì)于flash動(dòng)畫有多幀,F(xiàn)lex制作出來的界面只有兩幀。第一幀是預(yù)加載,第二幀就得到了我們想要的頁(yè)面。ActionScript 3.0 是Adobe發(fā)布的一種面向?qū)ο缶幊陶Z言,它提供MXML 所不具備的對(duì)程序流程的控制和對(duì)象操作等功能。Flex 編譯器和調(diào)試器與虛擬機(jī)AVM幫助把MXML 與ActionScript 3.0 源代碼編譯成能夠運(yùn)行在Flash Player 中的二進(jìn)制文件7。這點(diǎn)也是Flex和Flash相似之處,它們都運(yùn)行在Flash Player當(dāng)中。但是Flex與Flash也是有明顯差別的,F(xiàn)lex提供了一種完全面向?qū)ο蟮恼Z言A

16、ctionscript并且是跨平臺(tái)的。它打破了Flash只能由專業(yè)的美工設(shè)計(jì)師來完成的局面。普通程序員也可以通過Flex完成絢麗的界面效果。Flex 和基于Strut s ,Spring , Hibernate 的傳統(tǒng)J2EE 而言,可以通過AMF 這種模式網(wǎng)關(guān)進(jìn)行集成Flex 。從而在不影響原先應(yīng)用的情況下,RIA 對(duì)表示層的功能和顯示靈活性進(jìn)行了豐富增強(qiáng)8。2.3 RemoteObject介紹Flex 可以利用3 種方法來實(shí)現(xiàn)與服務(wù)器端交換數(shù)據(jù)的功能, 分別是使用 Service 組件、使用WebService 組件和使用RemoteObject 組件9。在Flex作為客戶端開發(fā)程序時(shí),我

17、們采用的是RemoteObject組件的方式來實(shí)現(xiàn)與java端通信。我們使用BlazeDS來完成java端與Flex端的通信。Flex與java使用RemoteObject是異步通信的。也就是說,F(xiàn)lex端發(fā)完請(qǐng)求之后不需要等待服務(wù)器端的響應(yīng),可以做別的事情。RemoteObject 組件和服務(wù)器之間傳遞信息采用Action Message Format(AMF) 編碼的二進(jìn)制格式,RemoteObject 組件可以直接將AMF 編碼的信息轉(zhuǎn)換成Flex可以識(shí)別的Object對(duì)象10。這樣方便了前臺(tái)對(duì)數(shù)據(jù)的處理。并且使用RemoteObject比其他兩種方式占用的存更少。2.4 Spring框

18、架簡(jiǎn)介Spring是一個(gè)輕量級(jí)的Java開源框架,它遵循了面向?qū)ο蟮脑O(shè)計(jì)模式。并且把設(shè)計(jì)模式運(yùn)用到實(shí)際開發(fā)與應(yīng)用中。Spring 框架是一種在J2EE 的基礎(chǔ)上構(gòu)建起來的一個(gè)輕量級(jí)面向?qū)ο蟮目蚣軐?shí)現(xiàn), 它是一個(gè)分層的應(yīng)用程序開發(fā)框架, 而不是單獨(dú)某一層例如Web 層開發(fā)框架11。相對(duì)于J2EE 而言,Spring具有維護(hù)容易、分層清楚、速度快、代碼少、支持ORM 對(duì)象關(guān)系映射和AOP面向切面編程的概念等優(yōu)點(diǎn)12。Spring所展現(xiàn)出來的兩種編程思想,一種是依賴注入(DI),一種是面向方面編程(AOP)。依賴注入概念上來說是程序不應(yīng)該依賴于具體,而是應(yīng)該依賴于抽象。簡(jiǎn)單來說是在運(yùn)行期由Sprin

19、g容器將對(duì)象對(duì)其他對(duì)象的依賴關(guān)系注入到組件之中,使應(yīng)用代碼只需要直接使用已經(jīng)由容器注入的實(shí)例13。簡(jiǎn)單來講就是以前的對(duì)象都是根據(jù)具體的類來構(gòu)造。這樣耦合比較緊密。但是利用Spring之后,對(duì)象的構(gòu)造再也不依賴于具體的類。而是依賴于抽象接口。通過Spring容器注入。這就是依賴注入的思想。而AOP則是Spring一個(gè)更加重要的思想。他的出現(xiàn)甚至改變了傳統(tǒng)的編程方式。傳統(tǒng)的編程方式是一條直線或多條直線(多線程)的思路編程。但是AOP的思想是可以在這條直線上有一個(gè)切面。來運(yùn)行別的代碼。這是基于動(dòng)態(tài)代理來實(shí)現(xiàn)的一個(gè)編程模式。Sp ring 的職責(zé)主要包括:(1) 把應(yīng)用程序的業(yè)務(wù)邏輯和業(yè)務(wù)校驗(yàn)交由Sp

20、ring處理。(2) 管理程序當(dāng)中的事務(wù)。(3) 提供和其它層對(duì)接的接口模塊。(4) 消除業(yè)務(wù)層級(jí)別的對(duì)象的依賴,已達(dá)到解耦合目的。(5) 在表示層和持久層之間增加了一個(gè)中間層, 使其不直接耦合在一起。(6) 揭示了從表示層到業(yè)務(wù)層之間的Context 以此得到business services。(7) 管理程序的執(zhí)行,在執(zhí)行過程中增加邏輯處理(從業(yè)務(wù)層到持久層)14。2.5 Hibernate框架簡(jiǎn)介Hibernate 是一個(gè)功能十分強(qiáng)大的開源ORM框架工具, 允許開發(fā)者使用常見的Java 語言特性(如封裝、繼承、多態(tài)等)實(shí)現(xiàn)對(duì)象模型和關(guān)系數(shù)據(jù)庫(kù)的相互映射, 并支持如Oracle、DB2、S

21、QL Server、MYSQL等主流數(shù)據(jù)庫(kù)系統(tǒng)15?,F(xiàn)在,Hibernate已經(jīng)是開發(fā)輕量級(jí)Web程序的首選框架。其一是因?yàn)樗庋b的很完善。并且程序員運(yùn)用起來也比較簡(jiǎn)單。現(xiàn)在Hibernate已經(jīng)出到了4.3.0。它的許多新的特性也讓人十分向往。Hibernate對(duì)JDBC查出的數(shù)據(jù)使用了輕量級(jí)的對(duì)象封裝,向上層程序應(yīng)用提供了如同面向?qū)ο蟮臄?shù)據(jù)訪問API,減少了開發(fā)時(shí)人工使用SQL和JDBC處理數(shù)據(jù)的時(shí)間,提高了軟件開發(fā)的效率16。開發(fā)人員甚至不需要知道寫SQL就可以操作數(shù)據(jù)庫(kù)。這也是ORM(對(duì)象關(guān)系映射)所需要解決的?,F(xiàn)階段,軟件產(chǎn)品大部分應(yīng)用到的數(shù)據(jù)庫(kù)都是關(guān)系型數(shù)據(jù)庫(kù)。而Hibernate

22、就是把關(guān)系型數(shù)據(jù)庫(kù)轉(zhuǎn)換成為面向?qū)ο笳Z言所能讀懂的對(duì)象。Hibernate的核心接口如下圖所示。其中Transaction接口是處理控制事務(wù)的。它主要在程序中合適的地方定義事務(wù)的開始和結(jié)束。對(duì)應(yīng)于數(shù)據(jù)庫(kù)操作的事務(wù)。Query和Criteria接口是數(shù)據(jù)庫(kù)的查詢。Configration類主要負(fù)責(zé)配置和啟動(dòng)Hibernate。創(chuàng)建SessionFactory實(shí)例來維護(hù)數(shù)據(jù)庫(kù)連接池17。圖2.1Hibernate結(jié)構(gòu)模式圖由于Hibernate只對(duì)JDBC 做了輕量級(jí)封裝, 應(yīng)用程序可以使用Hibernate API對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作, 也可以直接不使用Hibernate提供的方便,使用JDBC 完成

23、數(shù)據(jù)庫(kù)操作18。這樣就增加了系統(tǒng)的靈活性,由于有些復(fù)雜度較高的查詢用Hibernate寫起來不僅麻煩,而且影響效率。實(shí)際工作中都是Hibernate和JDBC一起用的。Hibernate的優(yōu)點(diǎn)有許多,這里只簡(jiǎn)單說明??傊褂肏ibernate有利于節(jié)約開發(fā)成本和時(shí)間,提高業(yè)務(wù)應(yīng)用方面的性能,提供更靈活的和簡(jiǎn)單的業(yè)務(wù)邏輯19。第3章 系統(tǒng)的需求分析與概要設(shè)計(jì)TheF快捷酒店管理系統(tǒng)分為客戶端和服務(wù)器端兩部分,Client模塊會(huì)被安裝在每一個(gè)物理機(jī)上。Client主要負(fù)責(zé)響應(yīng)用戶操作,上傳數(shù)據(jù)給服務(wù)器端。Server端主要負(fù)責(zé)處理數(shù)據(jù),并返回給客戶端。3.1 系統(tǒng)的需求分析根據(jù)對(duì)快捷酒店集團(tuán)的調(diào)研

24、,了解整個(gè)系統(tǒng)中各類功能模塊協(xié)同工作需要獲取的信息,進(jìn)行歸納總結(jié),確定了快捷酒店管理系統(tǒng)要實(shí)現(xiàn)的兩大基本的功能性需求:1.系統(tǒng)要對(duì)前臺(tái)操作員來說做到簡(jiǎn)單快捷和易上手快捷酒店管理系統(tǒng)一個(gè)重要理念就是員工基本不需要單獨(dú)培訓(xùn)即可上崗,這樣降低了對(duì)員工的要求。2.系統(tǒng)要對(duì)管理層人員提供可分析數(shù)據(jù)的支持,以便管理層做出決策3.2 系統(tǒng)的總體設(shè)計(jì)為了將快捷酒店管理系統(tǒng)符合軟件設(shè)計(jì)的低耦合性和高可用性,在設(shè)計(jì)中完全遵守MVC的設(shè)計(jì)模式,設(shè)計(jì)了如下的分層式架構(gòu),具體的架構(gòu)如圖3.1所示:Clientconfig.xmlApplication ServerA1A2A3Controler(java)Databas

25、e serverA5A4JDBCconfig圖3.1系統(tǒng)總體設(shè)計(jì)圖A1:客戶端讀取config中的URL地址,連接到應(yīng)用服務(wù)器端。A2:客戶端以RemoteObject的方式與應(yīng)用服務(wù)器交互。A3:接受到的數(shù)據(jù)通過Java端程序處理和控制。A4:Java端讀取JDBC配置文件。準(zhǔn)備連接數(shù)據(jù)庫(kù)A5:java端與數(shù)據(jù)庫(kù)端進(jìn)行通信。完成操作并且返回?cái)?shù)據(jù)。由于前端使用Flex制作界面,F(xiàn)lex和Java有很多種的通信方式。提到通信,我們有兩方面的問題,一是選擇通信協(xié)議,二是選擇數(shù)據(jù)協(xié)議。通信協(xié)議如TCP,UDP, 等。數(shù)據(jù)協(xié)議則是規(guī)定數(shù)據(jù)交換的格式,如Json,XML,amf3等。在這個(gè)項(xiàng)目中,我們使

26、用Adobe提供的BlazeDS這個(gè)開源框架來實(shí)現(xiàn)java與Flex之間的通信。它已經(jīng)為我們提供了java封裝AMF3格式的方法。然后我們應(yīng)用Hibernate和Spring這兩個(gè)開源框架。把整個(gè)業(yè)務(wù)應(yīng)用劃分為三層,分別為表現(xiàn)層(UI),業(yè)務(wù)邏輯層(BLL),和數(shù)據(jù)訪問層(DAL)。這也完全體現(xiàn)了面向?qū)ο箝_發(fā)的“高聚,低耦合”的思想。一個(gè)軟件組件僅僅是一個(gè)使我們可以關(guān)聯(lián)不同的責(zé)任的抽象的設(shè)計(jì)實(shí)體20。綜上所述,系統(tǒng)采用的架構(gòu)設(shè)計(jì)是典型的MVC的思想。把客戶端作為視圖層。把Java端不包括與數(shù)據(jù)庫(kù)交互的部分作為控制層。把Java端與數(shù)據(jù)庫(kù)交互的模塊作為模型層。這種分層的架構(gòu)設(shè)計(jì),不僅降低了系統(tǒng)的

27、復(fù)雜程度,也減輕了各個(gè)模塊的壓力。同時(shí)各模塊互相協(xié)作。也使得編程的思路更加清晰。在設(shè)計(jì)部分,主要通過對(duì)系統(tǒng)的用例圖,類圖,交互圖和狀態(tài)圖等一系列UML圖來進(jìn)行詳細(xì)的描述。并且對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)也將進(jìn)行介紹。3.3 模塊設(shè)計(jì)快捷酒店管理系統(tǒng)分為以下幾個(gè)功能。用戶權(quán)限體系管理,客戶管理,協(xié)議單位管理,會(huì)員管理,銷售員管理,房?jī)r(jià)與傭金體系管理,預(yù)定管理,接待管理,客房中心管理,前臺(tái)收銀管理,應(yīng)收帳管理,夜審管理,報(bào)表與信息查詢。3.3.1 功能介紹3.3.1.1用戶權(quán)限體系管理模塊主要負(fù)責(zé)區(qū)分酒店部不同員工所擁有的不同操作權(quán)限,比如經(jīng)理登錄后可在報(bào)表中查看當(dāng)天的營(yíng)業(yè)日?qǐng)?bào),而前臺(tái)操作員登錄后則沒有報(bào)表項(xiàng)目

28、顯示,因此不能查看營(yíng)業(yè)日?qǐng)?bào)。3.3.1.2客戶管理主要負(fù)責(zé)建立客戶檔案,主要把客戶分為團(tuán)隊(duì)和散客,而散客又分為會(huì)員,回頭客。如果客人第一次入住,則會(huì)自動(dòng)更新客戶檔案。使得酒店的管理更加人性化。3.3.1.3協(xié)議單位管理此模塊主要管理協(xié)議單位,協(xié)議單位就是和酒店有簽訂協(xié)議價(jià)的單位,酒店需要根據(jù)不同的公司分別管理其協(xié)議價(jià)格3.3.1.4會(huì)員管理此模塊主要負(fù)責(zé)管理各個(gè)種類的會(huì)員,如金卡會(huì)員,銀卡會(huì)員,普通會(huì)員,并且管理其會(huì)員卡賬戶余額。積分兌換等。入住時(shí)系統(tǒng)會(huì)根據(jù)會(huì)員的不同程度給出合理的價(jià)格。3.3.1.5銷售員管理銷售員管理則是對(duì)預(yù)定或者入住時(shí),如果是有銷售員參與的話,就會(huì)對(duì)銷售員給予一定的獎(jiǎng)勵(lì)。

29、3.3.1.6房?jī)r(jià)與傭金體系管理此房?jī)r(jià)模塊主要管理鐘點(diǎn)房與全日房的房?jī)r(jià),每一個(gè)房?jī)r(jià)都有與之對(duì)應(yīng)的房?jī)r(jià)碼,各種客戶入住都有與之對(duì)應(yīng)的房?jī)r(jià)碼,才能找到與之對(duì)應(yīng)的房?jī)r(jià)。傭金管理則是如果顧客是通過第三方平臺(tái)預(yù)定并入住,則需要計(jì)算傭金給第三方平臺(tái)。3.3.1.7預(yù)定和接待管理此模塊是酒店管理系統(tǒng)中比較重要的模塊,負(fù)責(zé)處理酒店的預(yù)定和入住的所有事物,此模塊幾乎與所有模塊都產(chǎn)生交互,此模塊直接決定了此系統(tǒng)的用戶體驗(yàn)。3.3.1.8客房中心管理此模塊主要負(fù)責(zé)管理每個(gè)房間當(dāng)時(shí)的客房狀態(tài)。管理哪些房間可用,哪些不可用。并且負(fù)責(zé)房間是否打掃的狀態(tài)等。3.3.1.9前臺(tái)收銀和應(yīng)收賬管理此功能主要負(fù)責(zé)前臺(tái)收銀和應(yīng)收賬務(wù)

30、的的管理,此功能也是有關(guān)財(cái)務(wù)。因此需要格外小心。3.3.1.10夜審管理此功能主要負(fù)責(zé)每天的夜間審核,需要計(jì)算賬務(wù),生成營(yíng)業(yè)日?qǐng)?bào),并且把當(dāng)天的房費(fèi)去除掉,重新計(jì)算應(yīng)收款。還有需要重新計(jì)算明天的房費(fèi)和房間資源。一系列有關(guān)賬務(wù)的操作都在夜審步驟里面。3.3.1.11報(bào)表和其他信息查詢此功能主要涉與管理層需要核對(duì)酒店的各種賬務(wù)情況和入住情況,以便更好的調(diào)整策略,使酒店的管理更加高效。3.4 主要功能模塊前面已經(jīng)介紹了系統(tǒng)的各個(gè)功能組成部分,通過對(duì)這些部分的分析,我們將系統(tǒng)分為入住管理和系統(tǒng)管理兩個(gè)大部分。入住管理主要分為:前臺(tái)預(yù)定接待,客房管理,收銀和應(yīng)收賬管理,會(huì)員和銷售員管理等。系統(tǒng)管理則主要分

31、為:店長(zhǎng)系統(tǒng),系統(tǒng)維護(hù),夜審系統(tǒng)和報(bào)表系統(tǒng)等。下圖顯示了入住管理和系統(tǒng)管理的主要流程,其中起到橋梁作用的便是夜審。如圖3.2所示。R:預(yù)定狀態(tài)的登記單。I:在住狀態(tài)的登記單。S:掛賬狀態(tài)的登記單。指入住完酒店后,但并不直接付款,通過記帳的形勢(shì)方便以后一起計(jì)算。O:已經(jīng)結(jié)賬的登記單。X:已經(jīng)被取消的預(yù)定單。N:應(yīng)到未到的預(yù)訂單。W:wait狀態(tài)的登記單。D:刪除了的登記單。圖3.2酒店業(yè)務(wù)流程圖3.4.1 入住管理模塊設(shè)計(jì)入住管理模塊主要涉與客人的預(yù)定入住,房間的狀態(tài)顯示與顧客的資料管理 3.4.1.1 前臺(tái)入住用例描述入住管理主要包括顧客的預(yù)定,登記,客房管理,房?jī)r(jià),換房與排房的管理。以下是顧

32、客預(yù)定,顧客登記,客戶管理和團(tuán)隊(duì)與協(xié)議單位管理這幾個(gè)方面的用例圖。如圖3.3,3.4,3.5所示:圖3.3顧客預(yù)定用例圖圖3.4顧客登記用例圖圖3.5團(tuán)隊(duì)/協(xié)議單位入住用例圖3.4.1.2 房間狀態(tài)管理快捷酒店最核心的業(yè)務(wù)就是賣房間給客人,把房間當(dāng)做商品資源一樣賣出,因此房間也需要像商品資源一樣管理。并且房態(tài)圖的顯示必須做到實(shí)時(shí)快捷。如果房態(tài)圖有誤,則直接影響到銷售。由于酒店要做到對(duì)自己的所有房間狀態(tài)了如指掌,因此便誕生了房態(tài)圖這一模塊。如圖3.6。圖3.6房間狀態(tài)圖房間的狀態(tài)主要包括以下幾個(gè)狀態(tài):(1)空凈:當(dāng)前沒人住,并且已經(jīng)打掃過房間。(2)空臟:當(dāng)前沒人住,但是沒有打掃過房間。(3)住

33、凈:當(dāng)前已經(jīng)有人入住,并且打掃過房間。(4)住臟:當(dāng)前已經(jīng)有人入住,并且沒有打掃過房間。,(5)維修:當(dāng)前房間正在維修,不允許入住。并且每一個(gè)狀態(tài)都有相應(yīng)的顏色顯示。每一個(gè)大方格代表一個(gè)房間,大方格的小方格則是顯示房間的其他一些信息。圖例如圖3.7圖3.7房間狀態(tài)圖圖例3.4.2 賬務(wù)與現(xiàn)付賬模塊設(shè)計(jì)3.4.2.1 賬務(wù)模塊業(yè)務(wù)流程針對(duì)酒店管理系統(tǒng),首先我們要做到的是賬務(wù)必須清楚明確,容不得一丁點(diǎn)差錯(cuò)。這也是一個(gè)合格的管理系統(tǒng)所必備的。因此我們要確保每一條賬務(wù)都在歷史數(shù)據(jù)中有據(jù)可查,只要產(chǎn)生了賬務(wù)的登記單,就不能隨便刪除或者取消。賬務(wù)處理的具體時(shí)序圖如圖3.8所示:圖3.8顧客賬務(wù)處理時(shí)序圖3

34、.4.2.2 房務(wù)費(fèi)管理用例描述房費(fèi)管理包括房費(fèi)信息錄入,錄入租用信息,與退還租賃物品。如圖3.9所示:圖3.9顧客房費(fèi)管理用例圖3.4.2.3 會(huì)員卡消費(fèi)機(jī)制現(xiàn)代快捷酒店發(fā)展迅速,各個(gè)分店如雨后春筍般在城市中間涌現(xiàn),因此,擁有一會(huì)員卡,便可以在所有酒店消費(fèi)已經(jīng)成了客戶的需要。會(huì)員卡一般與儲(chǔ)值卡相融合,但是根據(jù)國(guó)家的最新規(guī)定,會(huì)員卡的儲(chǔ)值額度已經(jīng)不能超過1000了。但是這樣也不影響會(huì)員卡所擁有的打折或者積分服務(wù)。會(huì)員卡消費(fèi)流程如圖3.10所示:圖3.10會(huì)員消費(fèi)示意圖3.4.3 報(bào)表管理模塊設(shè)計(jì)報(bào)表管理是以數(shù)據(jù)或者圖形形式統(tǒng)計(jì)和顯示當(dāng)前門店的運(yùn)行情況。我們提供的快捷版管理系統(tǒng)包含了很多基本的報(bào)

35、表,比如近日到店入住報(bào)表,營(yíng)業(yè)日?qǐng)?bào)報(bào)表等,在實(shí)施的時(shí)候,也可根據(jù)酒店的要求增加酒店的自定義報(bào)表。通過報(bào)表顯示出想要得到的數(shù)據(jù),并且清晰的呈現(xiàn)在操作人員眼里是十分重要的。我們以一天的營(yíng)業(yè)日?qǐng)?bào)為例,我們可以得到今天的各個(gè)部分的消費(fèi)金額和結(jié)算金額。并且也支持報(bào)表打印功能。如圖3.11所示。圖3.11營(yíng)業(yè)日?qǐng)?bào)報(bào)表圖3.4.4 系統(tǒng)管理與維護(hù)模塊設(shè)計(jì)此模塊主要是系統(tǒng)管理員對(duì)酒店的員工分配角色和權(quán)限。酒店的信息管理,日志管理與與外部設(shè)備或者系統(tǒng)的接口管理等。3.4.4.1 權(quán)限分配設(shè)計(jì)在這個(gè)快捷版的酒店系統(tǒng)中,權(quán)限是用權(quán)限字符串來表示和計(jì)算的。具體流程圖如下圖3.12所示。圖3.12權(quán)限查詢流程圖首先,用

36、戶登錄時(shí)查詢用戶表,看是否有此用戶存在。然后看此用戶的is_func_special字段是否為true。如果是的話則代表此用戶擁有獨(dú)立的權(quán)限,否則則查詢部門和角色表來獲取此用戶的權(quán)限。最后再更新use_auth_cache表中的權(quán)限字段。3.5 數(shù)據(jù)庫(kù)設(shè)計(jì)用E-R模型來創(chuàng)建和描述數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),其基本思想是:描述實(shí)體與實(shí)體之間的關(guān)系,根據(jù)關(guān)系反映一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)和需求21。以下介紹表和視圖設(shè)計(jì)時(shí),我將著重舉例介紹個(gè)表是如何通過字段關(guān)聯(lián)在一起的。3.5.1 表和視圖的設(shè)計(jì)1預(yù)訂單和登記單表先介紹這個(gè)快捷版酒店管理系統(tǒng)中一個(gè)最大也是最重要的一表,master_base表,這表總共有87個(gè)字段

37、。他幾乎與數(shù)據(jù)庫(kù)中所有的表產(chǎn)生關(guān)聯(lián)。但是它并沒有外鍵,設(shè)計(jì)師如此設(shè)計(jì)也是為了系統(tǒng)的簡(jiǎn)便性,并且在使用Hibernate的時(shí)候可以自由控制數(shù)據(jù)的增刪改查。我們可以形容它為預(yù)定與等級(jí)單表。但是,它的字段絕不僅只有這些。下面我來分析一下它的幾個(gè)重要字段,看是如何與其他表產(chǎn)生聯(lián)系的。首先hotel_id和hotel_group_id是所有表都有的兩個(gè)字段,他們分別表示的是酒店代碼和酒店集團(tuán)代碼。當(dāng)id和master_id一樣時(shí),表示此人如果有同住人的話,則這個(gè)登記單時(shí)主同住人。其他*_id的功能也大都如此。rmtype和rmno是此登記單的房類與房型,屬于登記單信息。company_id在如果是協(xié)議單

38、位或者團(tuán)隊(duì)入住時(shí)才會(huì)設(shè)置值。這個(gè)字段算是與company_base表一個(gè)外鍵,但是并沒有設(shè)置成外鍵。Rate_code是表示房?jī)r(jià)碼的字段,有關(guān)房?jī)r(jià)碼的表示code_ratecode。每一個(gè)房?jī)r(jià)碼都對(duì)應(yīng)一個(gè)房?jī)r(jià)。member_no則是此顧客的會(huì)員號(hào),如果不是會(huì)員則為null。extra_flag是一連串的數(shù)字字符串,用來配置那些服務(wù)被開啟,并且開啟的等級(jí)是多少,比如計(jì)費(fèi),如果extra_flag的第三位是1表示僅僅可以打市話,是3表示可以打國(guó)長(zhǎng)途,是5則表示可以打國(guó)際長(zhǎng)途等。link_id則表示該登記單的聯(lián)房信息。如果兩登記單的link_id一樣,則表示兩個(gè)登記單是聯(lián)房關(guān)系。這些還只是這表字段一

39、個(gè)大概介紹,其他字段也大都與上面介紹的相似用法。因此這表集合了很多信息。如圖3.13所示。圖3.13登記單模型圖2顧客信息表主要涉與兩表,master_guest和guest_base表。maste_guest是作為master_base和guest_base的中間表。master_guest中的id與master_base中的id是一一對(duì)應(yīng)的關(guān)系。master_guest中的profile_id則和guest_base中的id相互對(duì)應(yīng)。兩表組合起來就能夠查到這個(gè)人的所有基本信息。master_guset中的vip字段表示這個(gè)住客的vip等級(jí)。為0則不是vip。如圖3.14所示。圖3.14顧客

40、管理模型圖3會(huì)員信息表與會(huì)員信息相關(guān)的兩表分別是member_base和card_base。其中id與master_base中的guest_id與guest_base中的id相對(duì)應(yīng)。card_base中的id又與member_base中的inner_id對(duì)應(yīng)。兩表一儲(chǔ)存會(huì)員信息,一儲(chǔ)存會(huì)員卡信息。如圖3.15所示。圖3.15會(huì)員管理模型圖4 房?jī)r(jià)信息表每一個(gè)房?jī)r(jià)都對(duì)應(yīng)一個(gè)房?jī)r(jià)碼,因此房?jī)r(jià)碼是整個(gè)房?jī)r(jià)系統(tǒng)的關(guān)鍵。code_ratecode主要儲(chǔ)存房?jī)r(jià)碼信息,而code_ratecode_detail則儲(chǔ)存房?jī)r(jià)信息。兩者用code也就是房?jī)r(jià)碼相互對(duì)應(yīng)。code_ratecode_detail中的c

41、ode是作為額外主鍵出現(xiàn)的。如圖3.16所示圖3.16房?jī)r(jià)信息模型圖5. 房間信息表room_no表中的id與room_sta表中的rmno_id是一一對(duì)應(yīng)的。room_no里面儲(chǔ)存房號(hào)信息,room_sta儲(chǔ)存房間狀態(tài)。room_no和room_sta表中都儲(chǔ)存了多天的同一房號(hào)的信息。結(jié)合這兩表就可以確定該房間在某天的狀態(tài)。圖3.17房間信息模型圖3.5.2 存儲(chǔ)過程設(shè)計(jì)在java對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作時(shí),有時(shí)操作往往是非常復(fù)雜并且需要多次連接數(shù)據(jù)庫(kù)的操作。這時(shí)我們就需要用到存儲(chǔ)過程來幫我們完成對(duì)數(shù)據(jù)庫(kù)的操作。如果程序中出席那大量數(shù)據(jù)運(yùn)算、業(yè)務(wù)邏輯處理需要多次連接或者查詢數(shù)據(jù)庫(kù),建議常采用存儲(chǔ)過程

42、實(shí)現(xiàn), 這樣處理的性能高、處理速度快、并且調(diào)試方便22。因?yàn)榇鎯?chǔ)過程只涉與到數(shù)據(jù)庫(kù)的操作,因此比java連接數(shù)據(jù)庫(kù)得到數(shù)據(jù)后再操作快很多倍。并且也減輕了java端的負(fù)擔(dān)。而且存儲(chǔ)過程和數(shù)據(jù)庫(kù)的貼合明顯比java更加緊密。1.實(shí)現(xiàn)業(yè)務(wù)邏輯這些存儲(chǔ)過程主要是用來增加協(xié)議公司和團(tuán)隊(duì),增加修改顧客的等級(jí)等等。如圖3.17所示。圖3.18公司級(jí)顧客信息修改存儲(chǔ)過程2使業(yè)務(wù)邏輯與java端分離,作為java端與數(shù)據(jù)庫(kù)端的中間層。(1).酒店夜審:主要包括修改報(bào)表,計(jì)算房費(fèi),修改營(yíng)業(yè)日期,計(jì)算房類資源等等。如圖3.18圖3.19酒店夜審存儲(chǔ)過程(2).生成報(bào)表:通過這幾個(gè)存儲(chǔ)過程,存儲(chǔ)過程中主要涉與賬目的計(jì)

43、算。這幾個(gè)存儲(chǔ)過程負(fù)責(zé)生成報(bào)表信息。如圖3.20所示。圖3.20報(bào)表生成存儲(chǔ)過程3.6 其他功能模塊設(shè)計(jì)1.夜審管理主要負(fù)責(zé)當(dāng)日的關(guān)于賬務(wù),房費(fèi),與報(bào)表審查等。并且修改房間占用資源狀態(tài)。修改營(yíng)業(yè)日期等。如果不過夜審,軟件永遠(yuǎn)只停留在剛安裝的那一天,接下來也將無法使用。2.店長(zhǎng)模塊管理層可以有許多前臺(tái)操作員沒有的權(quán)限,比如設(shè)置房類,房?jī)r(jià)。增刪改查協(xié)議單位和團(tuán)隊(duì)。夜審。用戶管理和傭金。第4章 快捷酒店管理系統(tǒng)的實(shí)現(xiàn)由于酒店系統(tǒng)是個(gè)十分龐大的系統(tǒng),因此本章將只對(duì)用戶界面操作的部分與開發(fā)技術(shù)進(jìn)行詳細(xì)闡述。4.1 主要開發(fā)技術(shù)本系統(tǒng)涵蓋了快捷酒店業(yè)務(wù)的幾乎所有方面,因此在頁(yè)面設(shè)計(jì)上也是比較復(fù)雜的。在頁(yè)面

44、設(shè)計(jì)上我們采用了Flex這種技術(shù)作為我們圖形界面開發(fā)的技術(shù)。開發(fā)工具使用的也是Adobe公司提供的FlashBuilder4.6作為開發(fā)工具。這是一種較為新穎的技術(shù)。以前開發(fā)網(wǎng)頁(yè)動(dòng)畫都是用Flash開發(fā),但是這些只適合Flash設(shè)計(jì)者。而Adobe為了更多的編程人員和開發(fā)者能夠進(jìn)入到Flash開發(fā)網(wǎng)頁(yè)的世界。他們?cè)O(shè)計(jì)了ActionScript語言來完成這項(xiàng)工作。這是一門面向?qū)ο蟮哪_步腳步語言。同時(shí)也推出了與html十分相似的mxml,因此把他們兩個(gè)結(jié)合起來就是現(xiàn)在的Flex。這項(xiàng)新的技術(shù)也使得程序員能夠更快的開發(fā)RIA應(yīng)用。其強(qiáng)大的外觀設(shè)計(jì)也使得界面可以十分絢麗。Flex最大的優(yōu)點(diǎn)就是它也和J

45、ava一樣是有虛擬機(jī)的,他的虛擬機(jī)是AVM,存回收機(jī)制也和java相似。在框架上我們選用Spring和Hibernate。由Hibernate構(gòu)建持久層,并且由Spring構(gòu)建業(yè)務(wù)層23。本系統(tǒng)采用的數(shù)據(jù)庫(kù)是mysql數(shù)據(jù)庫(kù),與其他數(shù)據(jù)庫(kù)相比。MySQL數(shù)據(jù)庫(kù)具有以下主要特點(diǎn): 一是,不限制同時(shí)訪問數(shù)據(jù)庫(kù)的用戶數(shù)量,允許通過多客戶端進(jìn)行訪問; 二是,可以保存最大超過50,000,000條記錄的數(shù)據(jù); 三是,在目前市場(chǎng)上現(xiàn)有關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)產(chǎn)品中運(yùn)行速度是最快的,并且開源; 四是,用戶權(quán)限設(shè)置比較簡(jiǎn)單、有效。24綜上所述,本系統(tǒng)開發(fā)時(shí)采用基于C/S架構(gòu)的Web應(yīng)用開發(fā)技術(shù)。以下是開發(fā)環(huán)境與工具的

46、介紹。(1)系統(tǒng)結(jié)構(gòu)采用C/S架構(gòu)設(shè)計(jì)。支持多客戶端操作。(2)系統(tǒng)主要技術(shù)RemoteObject,靈活的與Java端進(jìn)行通信。(3)數(shù)據(jù)庫(kù)系統(tǒng)選擇成熟并且穩(wěn)定的開源數(shù)據(jù)庫(kù)MYSQL。(4)網(wǎng)絡(luò)服務(wù)器Tomcat4.2 用戶界面實(shí)現(xiàn)用戶界面設(shè)計(jì)是一個(gè)系統(tǒng)的重要組成部分。大部分對(duì)系統(tǒng)的功能性需求也在用戶界面中得以體現(xiàn)。一個(gè)系統(tǒng)給人的第一印象就是界面,因此,界面的美觀與否直接決定了該系統(tǒng)能不能有好的市場(chǎng)。一個(gè)好的用戶界面應(yīng)該具備以下幾個(gè)特征(1)簡(jiǎn)約自然原則。界面應(yīng)當(dāng)簡(jiǎn)潔時(shí)尚。(2)可學(xué)習(xí)性原則。對(duì)新用戶不增加操作難度。(3)可理解性原則。用戶更好理解系統(tǒng)。(4)一致性原則。交互模式應(yīng)當(dāng)與用戶的

47、習(xí)慣保持一致。251.界面外觀設(shè)計(jì)由于本系統(tǒng)界面是采用Flex開發(fā),F(xiàn)lex的一個(gè)重要特性就是對(duì)自定義組件的完美支持,由于Flex皮膚和組件是以組合的方式結(jié)合在一起,因此在對(duì)界面進(jìn)行開發(fā)時(shí),可以定義組件自己的皮膚,使得組件在外觀設(shè)計(jì)上更加美觀。2.界面功能設(shè)計(jì)由于Flex是一個(gè)完全面向?qū)ο蟮恼Z言,他的語法也和Java是差不多的。因此在功能設(shè)計(jì)上我們遵照面向?qū)ο蟮脑瓌t進(jìn)行開發(fā)。本系統(tǒng)最大的特點(diǎn)就是對(duì)Flex中Group類的加工,原先的Flex設(shè)計(jì)的程序都是每次打開一個(gè)頁(yè)面都是全新的頁(yè)面,關(guān)閉頁(yè)面后則頁(yè)面交給AVM虛擬機(jī)垃圾回收。如果垃圾回收不與時(shí),則存的占用率將會(huì)很高。針對(duì)Flex的這個(gè)弊端,我

48、們采用了加工Group類的想法。用OCGroup來繼承Group,并且重新其setvisible,也就是設(shè)置頁(yè)面可見的方法。當(dāng)頁(yè)面在主舞臺(tái)顯示時(shí),則會(huì)觸發(fā)Event.ADDED_TO_STAGE事件。然后調(diào)用opened函數(shù)。同樣,當(dāng)頁(yè)面從主舞臺(tái)消失時(shí),則會(huì)觸發(fā)closed函數(shù)。本系統(tǒng)主要頁(yè)面都采用自定義的OCGroup來實(shí)現(xiàn),因此,在界面每次打開時(shí)需要在opened函數(shù)中初始化界面的數(shù)據(jù),在closed函數(shù)中又需要對(duì)界面中的數(shù)據(jù)進(jìn)行清空。進(jìn)過這樣的改善,程序運(yùn)行起來更加迅速,在實(shí)際應(yīng)用中,存的占用率始終保持在150M左右便穩(wěn)定下來,原因就是使用了重復(fù)的界面。4.2.1 登錄模塊的實(shí)現(xiàn)這個(gè)是簡(jiǎn)

49、單的登錄界面,輸入用戶名和密碼之后,點(diǎn)擊登錄即可。界面如圖4.1顯示圖4.1酒店登錄界面圖點(diǎn)擊“酒店注冊(cè)”后,可以如圖4.2界面中輸入酒店的注冊(cè)號(hào):備注:由系統(tǒng)提供商提供酒店注冊(cè)號(hào)。圖4.2酒店注冊(cè)界面圖如點(diǎn)擊圖1-2中的切換酒店,則進(jìn)入如4.3圖:圖4.3選擇酒店頁(yè)面4.2.2 預(yù)定與登記模塊的實(shí)現(xiàn)預(yù)定與登記模塊是本系統(tǒng)中最為重要的一個(gè)模塊。可以說其他所有模塊都為這兩個(gè)模塊服務(wù)的。由于這兩個(gè)模塊需要輸入的項(xiàng)目繁多,并且輸入的準(zhǔn)確性也難以預(yù)料,所以,在設(shè)計(jì)時(shí)我們將預(yù)定與登記分為許多個(gè)步驟,一個(gè)新建的單子只能按照步驟一步一步輸入才能完成,然后再保存。我們把預(yù)訂單和登記單數(shù)據(jù)都放在一個(gè)純數(shù)據(jù)類的靜

50、態(tài)變量里面,以方便各個(gè)頁(yè)面操作。代碼如下:Bindablepublicstaticvar masterClientData:FMasterDto = null;預(yù)定單主要分為散客預(yù)定和團(tuán)隊(duì)預(yù)定。如圖4.4顯示圖4.4顧客預(yù)定界面第一步主要填寫房型,房類,日期等入住信息。第二部是填寫預(yù)訂人與聯(lián)系信息,第三部則是填寫有關(guān)銷售渠道之類的信息。由于有許多信息是以默認(rèn)值的形勢(shì)存在,因此只要填完少部分信息就可直接保存。下面將以散客入住為例說明系統(tǒng)的實(shí)現(xiàn)。散客一般指零星的客人,沒有參加旅行團(tuán),并且不是協(xié)議公司的員工等得總稱.散客入住包括新建散客入住。預(yù)定轉(zhuǎn)入住。重新入住。增加刪除同住人,打印登記單。預(yù)付款管

51、理。聯(lián)房操作等。1.散客入住散客步入的界面如圖4.5所示:圖4.5步入散客顧客登錄界面操作步驟:1.新建入住登記單操作(1)散客步入打開步入散客窗口,出來第一步,其他步奏都灰色處理,因?yàn)槭切陆ǖ怯泦?,所以只能一步一步來。?)選擇房型和房號(hào),選擇完退房日期,然后進(jìn)入到第二步,住客信息。在此步驟中,由于本系統(tǒng)實(shí)現(xiàn)了與讀卡器的接口。因此,基本信息不需要操作員填寫,只要把放在讀卡器掃描一下,就可出現(xiàn)顧客的其他信息。如需輸入聯(lián)系方式等其他信息則需要操作員手動(dòng)輸入。第三步則是市場(chǎng)銷售,它主要填寫的是房?jī)r(jià)碼和房?jī)r(jià)與市場(chǎng)來源等。但是這些都只需要操作員在幫助框中選擇,不需要親自填寫。(3)完成前面三步即可保存

52、,保存時(shí)系統(tǒng)會(huì)檢驗(yàn)數(shù)據(jù)的完整性與合法性。其實(shí)在每一步進(jìn)行完成到下一步時(shí),數(shù)據(jù)也是會(huì)檢查的。只有完成了保存才能進(jìn)行后面的預(yù)收款和其他操作。當(dāng)數(shù)據(jù)檢查沒通過時(shí)會(huì)出現(xiàn)紅框提示。如圖4.6所示。圖4.6錯(cuò)誤或?yàn)榭仗崾究?.已有入住登記單操作此操作主要用來修改登記單信息與添加登記單的賬務(wù)信息的。只有已經(jīng)保存的登記單才能進(jìn)行第4,5,6步操作。還未保存的登記單只能進(jìn)行1-3步操作。這里將著重介紹第4,5,6步操作。如圖4.7所示圖4.7已有顧客修改或增加信息界面(1)修改登記單信息。與新建登記單不同的是,所有步驟都可以選擇??梢渣c(diǎn)擊最上排的綠色功能組件來選擇要修改的步驟。在此就不多冗余。(2)新增預(yù)收款信

53、息。這是第4步。當(dāng)?shù)怯泦我呀?jīng)保存之后,酒店就可以收取預(yù)收款了。如圖4.8顯示圖4.8增加預(yù)收款界面(3)增加其他信息。如圖4.9顯示圖4.9添加其它信息界面這里是許多功能集合的功能面板。例如點(diǎn)擊周期收費(fèi),則會(huì)出現(xiàn)如圖4.10顯示。圖4.10添加周期收費(fèi)界面同樣的,這些也只能在已經(jīng)保存的登記單上操作??梢愿鶕?jù)登記單狀態(tài)的不同來控制顯示的容。第5章 總結(jié)與展望5.1 總結(jié)通過這次開發(fā)快捷酒店管理系統(tǒng),我深刻覺得酒店管理的ERP軟件需要大力的推廣起來。每一個(gè)成功的公司都應(yīng)該需要一套自己的ERP管理軟件。通過這次的開發(fā),我承擔(dān)了部分需求分析與設(shè)計(jì)容。也借鑒了其他的同類產(chǎn)品。達(dá)到了設(shè)計(jì)初的需求,也就是快

54、捷,易用性。本系統(tǒng)已經(jīng)在德舒連鎖酒店試用。在開發(fā)過程中,始終遵循了面向?qū)ο蟮拈_發(fā)思想。采用了UML建模的方法。提高了設(shè)計(jì)和實(shí)現(xiàn)的效率。在后期的測(cè)試過程中。在存占用方面也表現(xiàn)出了良好的態(tài)勢(shì)。并且響應(yīng)速度也是非常迅速的。但是本系統(tǒng)仍然有很多不足之處。也有許多可以進(jìn)一步發(fā)展的方向?,F(xiàn)在的時(shí)代是移動(dòng)互聯(lián)網(wǎng)的時(shí)代,我們可以把本系統(tǒng)進(jìn)過進(jìn)一步開發(fā),轉(zhuǎn)移到手機(jī)或者一切智能終端上面。給游客一個(gè)版本,并且給管理層一個(gè)可以圖形化查看報(bào)表的版本,介于此,我們可以展望一下下一步的工作。5.2 展望通過剛才的總結(jié),我們可以想象到將來本產(chǎn)品的發(fā)展方向。我們可以設(shè)計(jì)多個(gè)版本以供不同的用戶操作。同時(shí)可以移植到多個(gè)平臺(tái)上面。由

55、于前臺(tái)開發(fā)時(shí)我們使用的是Flex開發(fā)。ActionScript語言和Java語言一樣是基于虛擬機(jī)的。因此本系統(tǒng)也可以做成跨平臺(tái)的應(yīng)用。如我們前面提到的,可以設(shè)計(jì)一個(gè)ipad版本,只顯示報(bào)表和其他基本信息查詢的版本,用來給店長(zhǎng)或者決策層使用。我們可以設(shè)計(jì)一個(gè)普通用戶版本,當(dāng)做APP可以安裝到手機(jī)上,顧客可以通過本系統(tǒng)自主完成預(yù)定與入住。用Flex開發(fā)還有一個(gè)好處就是可以無縫把客戶端變成網(wǎng)頁(yè)版本,這樣就更加靈活。致在此,首先我要感我的論文導(dǎo)師柴春雷,在論文完成期間給我的論文提了很多改進(jìn)意見。幫助我完成論文。也要感我的研究生德育導(dǎo)師朱小軍老師,在研究生期間給了我很大幫助。還要感實(shí)習(xí)期間的給我很大幫助的同事和領(lǐng)導(dǎo),銘魁老師和普軍。還有學(xué)院的各位教導(dǎo)過我的老師和領(lǐng)導(dǎo)。還有我親愛的同學(xué)。當(dāng)然最重要的是要感我的父母對(duì)我的養(yǎng)育之恩。特別要感初菁菁同學(xué)在論文和學(xué)習(xí)期間給我的莫大鼓勵(lì)和幫助。署名 魯俊于大學(xué)軟件學(xué)院2013.4.20參考文獻(xiàn) 1.麗娟, 基于Java的酒店管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn). 電腦知識(shí)與技術(shù), 2011(27): p. 6569-6570. 2.Ey

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論