王虎
摘要:隨著網(wǎng)絡的迅速發(fā)展,人們使用網(wǎng)絡進行購物、訂餐、預訂酒店等需求激增,酒店的網(wǎng)絡化管理和經(jīng)營管理的重要性突顯。該文以某國內(nèi)知名連鎖酒店”為原型,具體分析了該酒店的業(yè)務和管理模式,設計出一個功能完善的酒店客房管理系統(tǒng),滿足了酒店的客房管理需求。
關(guān)鍵詞:SSM;酒店管理;MySQL;html5
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2017)28-0089-03
隨著我國經(jīng)濟的健康發(fā)展,國內(nèi)旅游業(yè)得到了迅猛的發(fā)展、酒店行業(yè)隨之迅速崛起,目前國內(nèi)已經(jīng)有多家諸如“漢庭”、“7天”、“如家”、“速8”等全國性連鎖性酒店,這些酒店占領了全國酒店行業(yè)的大部分市場。由于這些酒店在全國范圍內(nèi)都有加盟分店,有時同城就會有多個酒店的分店一起運營。為了有效管理酒店不同分店間的競爭與合作,酒店需要一個平臺對其分店進行管理,協(xié)調(diào)和共享各個分店客房資源以備客戶根據(jù)自身情況進行最佳選擇。本設計以某國內(nèi)知名酒店為原型,針對酒店多分店、多用戶管理的需求為酒店開發(fā)出一套完整的酒店客房管理系統(tǒng)。
1 SSM 開發(fā)框架
SSM是一個由Spring、SpringMVC、MyBatis三大Java開源框架整合而成的框架集,它是具有MVC開發(fā)模式的框架集,該框架將整個系統(tǒng)劃分為四層即:表現(xiàn)層、控制層、服務層和數(shù)據(jù)訪問接口層[1]。
1.1 Spring MVC框架
SpringMVC是SpringFrameWork的后續(xù)產(chǎn)品,融合在Spring Web Flow里面。它是一個能夠提供構(gòu)建 Web 應用程序的全功能 MVC 模塊的框架[2]。
SpringMVC運行原理是:1)客戶端發(fā)起請求到控制器(DispatcherServlet);2)控制器請求HandlerMapping尋找 Handler(可以根據(jù)xml配置、注解進行查找);3)請求對應的處理器執(zhí)行controller處理; 4)controller調(diào)用模型進行數(shù)據(jù)操作;5)處理器適配器向控制器返回處理結(jié)果;6)控制器請求視圖解析器去進行視圖解析;7)視圖解析器向前端控制器返回Model和View;8)將視圖向用戶展示給用戶。具體原理如圖1所示。
SpringMVC框架的優(yōu)點是:易于同其它視圖框架無縫集成,采用控制反轉(zhuǎn)便于測試,框架簡單便于開發(fā)。
1.2 MyBatis框架
MyBatis是一個基于Java技術(shù)的持久層框架,提供的持久層框架包括SQL Maps和Data Access Objects(DAO),支持普通 SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架[3]。
MyBatis具有三層功能架構(gòu)模型:API接口層:對外提供接口API,通過這些API接口操縱數(shù)據(jù)庫。接口層接收到調(diào)用請求調(diào)用數(shù)據(jù)處理層完成具體的數(shù)據(jù)處理;數(shù)據(jù)處理層:負責具體的SQL查詢、SQL解析、SQL執(zhí)行和執(zhí)行結(jié)果映射處理等。它主要的功能是根據(jù)調(diào)用的請求完成一次數(shù)據(jù)庫操作;基礎支撐層:負責最基礎的功能支撐,包括連接管理、事務管理、配置加載和緩存處理。MyBatis具體架構(gòu)如圖2所示。
MyBatis框架的優(yōu)點:1)SQL寫在xml文件里,方便統(tǒng)一管理和優(yōu)化,同時也解除了與程序代碼的耦合。2)提供映射機制,支持對象與數(shù)據(jù)庫字段間的關(guān)系映射。3)提供對象關(guān)系映射標簽,支持對象關(guān)系的組建和維護。4)提供xml標簽,支持編寫動態(tài)的SQL語句。
1.3 html5
本系統(tǒng)的移動端應用程序設計和開發(fā)中采用APICloud柚子公司提供的html5技術(shù)。由于html5是采用網(wǎng)絡通用的開發(fā)語言,所以html5開發(fā)APP不需要考慮設備和操作系統(tǒng)的兼容性。另外由于W3C也正在與汽車業(yè)、出版業(yè)、電視業(yè)進行磋商,全力將html5技術(shù)引入新的設備平臺中[4]。這也意味著html5技術(shù)支撐的平臺逐漸豐富,利用它開發(fā)應用的成本優(yōu)勢將會日益凸顯。所以本設計采用html5技術(shù)能夠使得移動端的程序降低開發(fā)成本,并且實現(xiàn)平臺的無關(guān)性,以及實現(xiàn)多樣化界面樣式。
2 系統(tǒng)需求分析
為了實現(xiàn)準確的功能和性能要求,筆者進行了深入的調(diào)研,經(jīng)過分析和整理各級用戶需求,將系統(tǒng)的用戶分為三類:系統(tǒng)超級管理員、各分店管理員、各分店操作員(包括酒店前臺、財務等)及酒店會員。并且系統(tǒng)各管理員與操作員操作權(quán)限不同,進入系統(tǒng)所看到的菜單功能也不同。其中系統(tǒng)為管理員、操作員提供WEB端后臺登錄功能,為會員客戶提供手機APP端的登錄使用能力。
本系統(tǒng)能提供超級管理員、分店管理員、分店操作員和會員四類用戶操作權(quán)限的準確限制。
其中超級管理員操作權(quán)限包括創(chuàng)建、管理各個分店信息基本,對各分店管理員與分店操作員進行增刪改管理及授權(quán)管理,系統(tǒng)地址管理,會員管理及會員類型、折扣管理以及對自己所屬店鋪信息、房間、業(yè)務的管理功能。若超級管理員有所屬店鋪,則有所屬店鋪分店管理員所有權(quán)限。
分店管理員操作權(quán)限包括管理所屬店鋪的店鋪信息、房間信息、業(yè)務信息、會員的增添操作以及對自己店鋪的操作員進行增刪改操作及授權(quán)管理。同時還包含分店操作員所有操作權(quán)限。
分店操作員只可操作自己權(quán)限范圍內(nèi)的業(yè)務。分店操作員權(quán)限包括4項:第一,可管理分店的基本信息,如:分店簡紹信息,分店客房信息等;第二,可將游客(未成為會員的客戶)添加成為會員;第三,分店操作員可以對酒店會員客戶進行線下登記入住、離店結(jié)算等。會員操作權(quán)限包括管理個人信息,查看酒店發(fā)布信息、個人入住信息,在線預訂酒店房間,在線評論酒店,選擇入住酒店入住房間,享受會員優(yōu)惠等。
針對上面的需求,我們用用例圖描述用戶與系統(tǒng)之間的交互關(guān)系,這樣可以直觀的描述了系統(tǒng)為用戶提供的服務關(guān)系。通過用例圖實現(xiàn)從用戶角度對系統(tǒng)功能進行建模。endprint
系統(tǒng)總體用例圖,如圖3所示。直觀的描述了系統(tǒng)參與者(超級管理,管理員,會員)與系統(tǒng)模塊(PC端和移動端)的交互關(guān)系。系統(tǒng)功能如圖中橢圓表示,連接線說明和參與的關(guān)聯(lián)。
3 系統(tǒng)設計
3.1 系統(tǒng)架構(gòu)設計
本系統(tǒng)架構(gòu)采用當前較為常用的B/S三層架構(gòu)體系。即系統(tǒng)整體劃分為表示層、業(yè)務邏輯層和數(shù)據(jù)訪問層三層體系。其結(jié)構(gòu)圖如圖4所示:
1) 表示層
表示層是系統(tǒng)和用戶的交互接口,系統(tǒng)將功能以多種形式呈現(xiàn)在表示層,用戶通過表示層提示向系統(tǒng)發(fā)送請求,系統(tǒng)再將響應呈現(xiàn)到表示層,如此反復。表示層的作用是獲取用戶請求,展現(xiàn)系統(tǒng)響應的角色。本系統(tǒng)中表示層有web端和APP端共同充當,為用戶提供多樣化服務。
2) 業(yè)務邏輯層
業(yè)務邏輯層是系統(tǒng)業(yè)務邏輯的執(zhí)行者,是三層的中間層,占主導地位。表示層獲取到用戶的請求信息后提交到業(yè)務邏輯層進行判斷處理后,發(fā)送給數(shù)據(jù)層等待處理。
3) 數(shù)據(jù)層
數(shù)據(jù)層主要作用是存儲和管理系統(tǒng)所涉及所有的數(shù)據(jù),用戶所有涉及數(shù)據(jù)操作的請求都由這一層處理。完成處理結(jié)果由表示層呈現(xiàn)給用戶查看。數(shù)據(jù)層的核心是數(shù)據(jù)庫的設計,良好的數(shù)據(jù)庫設計決定系統(tǒng)的性能優(yōu)劣,所以數(shù)據(jù)層的設計決定系統(tǒng)質(zhì)量的優(yōu)劣,至關(guān)重要。
3.2 功能設計
根據(jù)對系統(tǒng)的需求分析,得出本系統(tǒng)功能模塊圖,如圖5所示。
3.3 數(shù)據(jù)庫設計
根據(jù)系統(tǒng)需求和功能,設計出該系統(tǒng)的14個關(guān)系:
1) 用戶權(quán)限表(權(quán)限編號,權(quán)限名稱,可授權(quán)集合,備注說明)
2) 用戶表(用戶編號,登錄名,密碼,權(quán)限id,店鋪id)
3) 后臺菜單表(菜單編號,菜單名稱,鏈接,父菜單編號,是否關(guān)聯(lián)分店)
4) 用戶授權(quán)表(用戶編號,權(quán)限編號,權(quán)限集合)
5) 地區(qū)表(地區(qū)編號,父地區(qū)編號,地區(qū)級別,地區(qū)名稱)
6) 分店表(分店編號,分店名稱,聯(lián)系電話,分店所在省,分店所在市,分店所在縣、區(qū),詳細地址,分店簡介,溫馨提示)
7) 分店圖片表(自增編號,所屬分店,圖片地址)
8) 客房類型表(類型編號,類型名稱,所屬分店,床型,房間面積,是否啟用APP端預訂)
9) 客房類型圖片(自增編號,所屬客房類型,圖片地址)
10) 客房表(客房編號,門牌號,所屬分店,客房類型,客房環(huán)境,客房狀態(tài),單價)
11) 客房類型圖片(自增編號,所屬客房,圖片地址)
12) 會員等級表(等級編號,等級名稱,升級、加入條件,入住折扣,等級圖片,備注說明)
13) 會員表(手機號,會員姓名,會員類型,昵稱,會員頭像,登錄密碼,備注說明)
14) 酒店登記表(登記編號,房間編號,會員編號,預訂、入住時間,退房時間,金額,實收金額,狀態(tài))
4 關(guān)鍵技術(shù)
4.1 省市縣級三級聯(lián)動
由于該酒店屬于全國連鎖性酒店,需要系統(tǒng)提供省、市、縣三級聯(lián)動的編程實現(xiàn),很多系統(tǒng)多是采用網(wǎng)上現(xiàn)有的javascript代碼,嵌入到自己的系統(tǒng)中,直接調(diào)用就可以了,但這種方式,無法動態(tài)的實現(xiàn)數(shù)據(jù)的更新。所以,在本系統(tǒng)中,是通過自己設計數(shù)據(jù)表實現(xiàn)的,表里的數(shù)據(jù)是從第三方showAPI那里拿到的,只是導入自己系統(tǒng)數(shù)據(jù)庫中進行了父子id關(guān)聯(lián)。同時,將動態(tài)獲得的數(shù)據(jù)保存在本地數(shù)據(jù)表中。有利于在第三方的數(shù)據(jù)未及時更新時,酒店可以自行更新數(shù)據(jù)。同時,在設計數(shù)據(jù)表時也考慮到數(shù)據(jù)庫優(yōu)化方面的問題,第三方的數(shù)據(jù)傳給我們是沒有id屬性的,我們只可通過具體地名進行查詢,這一點雖然會影響一些性能,但便于檢索。
4.2 權(quán)限管理
作為全國連鎖性的酒店客房管理系統(tǒng),必然涉及權(quán)限的管理。本系統(tǒng)包括三級權(quán)限管理:系統(tǒng)管理員、分店管理員和分店操作員。系統(tǒng)要求能動態(tài)實現(xiàn)該操作用戶的權(quán)限檢測,并動態(tài)顯示該權(quán)限所擁有的菜單功能。該項功能通過設計用戶登錄攔截器結(jié)合菜單的判定進行權(quán)限的限制。具體包括三個步驟:首先,進行用戶的登錄信息的驗證(即驗證該用戶是系統(tǒng)的合法用戶);然后對用戶的權(quán)限進行判定(判定其是“系統(tǒng)管理員、分店管理員和分店操作員”三者中哪一種);最后,動態(tài)輸出該權(quán)限所應顯示的功能菜單,供用戶操作。
5 系統(tǒng)測試
為了驗證系統(tǒng)的功能正確性、易用性和性能,對系統(tǒng)進行了確認測試,測試環(huán)境如下:
1) 服務器環(huán)境
操作系統(tǒng):Windows Server2008
硬件配置:8GB內(nèi)存、四核處理器(1.8GHz)、500G硬盤
2) 客戶機
瀏覽器(IE6.0以上)
經(jīng)過多次的測試,系統(tǒng)的功能正確,界面美觀、性能良好、系統(tǒng)的擴展性良好,有利于系統(tǒng)的功能擴展。
6 結(jié)束語
本酒店客房管理系統(tǒng)選擇SSM(spring、springMVC、mybatis)框架,綜合運用Java、MySQL、html5等技術(shù)進行開發(fā)。實現(xiàn)了系統(tǒng)管理員對所有分店的總體管理,各個分店管理員對其所在分店的管理,分店操作員可辦理客戶預訂、入住、退房等操作,各分店數(shù)據(jù)互不干擾。同時系統(tǒng)為酒店提供會員管理功能,超級管理員可以設定不同等級的會員類型,調(diào)整每個類型會員的入住折扣、享受優(yōu)惠等,分店操作員可以對會員進行管理,酒店會員可在線預訂酒店房間。系統(tǒng)極大提高了酒店的管理效率,降低了酒店的經(jīng)營成本。同時在客房預訂、入住辦理等方面為酒店會員提供了方便。
參考文獻:
[1] 白元.基于SSM的客戶關(guān)系管理系統(tǒng)的設計與實現(xiàn)[D].北京:北京交通大學,2016.
[2] 戴克.Spring MVC學習指南[M].北京:人民郵電出版社,2015.
[3] 鄒紅霆.基于SSM框架的Web系統(tǒng)研究與應用[J].湖南理工學院學報:自然科學版,2017,30(1):39-43.
[4] 趙學銘,葉穎,王茜.基于HTML5交互式移動學習平臺的設計與實現(xiàn)[J].黑龍江科技信息,2017(3):197-199.endprint