版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第第頁(yè)共36頁(yè)基于SSM的酒店管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)目錄論文總頁(yè)數(shù):36頁(yè)緒論 11需求分析 31.1系統(tǒng)業(yè)務(wù)流程分析 31.2數(shù)據(jù)描述 41.2.1數(shù)據(jù)流分析 41.2.2數(shù)據(jù)字典 41.3系統(tǒng)功能需求 71.3.1業(yè)務(wù)角色分析 71.3.2用例分析 71.4系統(tǒng)非功能需求 81.4.1性能需求 81.4.2安全保密需求 81.4.3擴(kuò)展性需求 91.4.4穩(wěn)定性需求 91.4.5部署需求 92系統(tǒng)概要設(shè)計(jì) 92.1系統(tǒng)架構(gòu) 92.2系統(tǒng)功能結(jié)構(gòu) 102.3數(shù)據(jù)庫(kù)設(shè)計(jì) 102.3.1 E-R模型設(shè)計(jì) 102.3.2數(shù)據(jù)庫(kù)表關(guān)系 142.3.3數(shù)據(jù)表信息 162.3.4存儲(chǔ)過程信息 192.3.5數(shù)據(jù)庫(kù)安全設(shè)計(jì) 202.4開發(fā)運(yùn)行平臺(tái)選擇及分析 202.5系統(tǒng)技術(shù)難點(diǎn)及關(guān)鍵技術(shù) 202.6系統(tǒng)特色 203系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 203.1管理員登錄 203.2房間管理 223.3住宿管理 233.4財(cái)務(wù)管理 263.5旅客管理 284系統(tǒng)運(yùn)行與測(cè)試 304.1測(cè)試環(huán)境 304.2系統(tǒng)測(cè)試方法 304.2.1系統(tǒng)功能測(cè)試 304.2.2系統(tǒng)兼容性測(cè)試 324.3系統(tǒng)測(cè)試結(jié)果及說明 32結(jié)論 33參考文獻(xiàn) 34 緒論隨著國(guó)家的經(jīng)濟(jì)的發(fā)展,人們變得富裕了起來(lái),生活質(zhì)量逐漸提高,于是出門旅游變成了大家節(jié)假日的首選,酒店行業(yè)也是發(fā)展迅速。同時(shí)如今的互聯(lián)網(wǎng)信息技術(shù)已經(jīng)逐漸成熟穩(wěn)定了,數(shù)字化信息管理也獲得許多行業(yè)的青睞。而為了酒店行業(yè)的服務(wù)水平的提升以及順應(yīng)時(shí)代的發(fā)展,酒店管理系統(tǒng)對(duì)于各個(gè)酒店就顯得十分必要的了。酒店管理系統(tǒng)不僅能夠減少酒店管理人員的工作量,同時(shí)也能讓酒店的各種信息更加安全,更加系統(tǒng)化。該系統(tǒng)主要包括了酒店的客房管理功能,以及房間分配及預(yù)訂,旅客信心管理等主要功能。能夠滿足大部分的酒店需求,使酒店的服務(wù)讓顧客更滿意,讓管理人員更簡(jiǎn)便,讓顧客更放心。經(jīng)過對(duì)國(guó)內(nèi)現(xiàn)有的酒店管理系統(tǒng)進(jìn)行分析以及研究后發(fā)現(xiàn),國(guó)內(nèi)的起步比較晚,但是技術(shù)也相對(duì)比較穩(wěn)定了。從大概20多年前開始有一些酒店管理系統(tǒng)的使用了,同時(shí)不斷進(jìn)行完善,博取眾家之長(zhǎng),發(fā)展也比較迅速。目前我了解的酒店管理系統(tǒng)有新銳酒店客房管理系統(tǒng),它支持門鎖對(duì)接,老板手機(jī)查看房態(tài)和報(bào)表,微信訂房,微信支付寶對(duì)接,OTA直連對(duì)接,電子房?jī)r(jià)牌等。同時(shí)還有“北西軟,南天鵝”,西軟的酒店管理系統(tǒng)基本占據(jù)著大部分市場(chǎng),西軟使用“云+移動(dòng)”戰(zhàn)略,全面升級(jí)云XMS平臺(tái),除了PMS功能以外,云XMS還集成了POS、移動(dòng)產(chǎn)品、ITF等模塊,廣泛適用于單店、集團(tuán)用戶。而金天鵝通過自主研發(fā)的2號(hào)店長(zhǎng),打造了酒店商業(yè)數(shù)據(jù)化服務(wù)解決方案。而相較于國(guó)內(nèi),國(guó)外的酒店管理系統(tǒng)的研究與應(yīng)用就顯得比較早了,并且發(fā)展速度也很快。國(guó)外比較出名的酒店有ECI,HIS,F(xiàn)idelio等,其中ECI被全世界公認(rèn)為酒店管理系統(tǒng)的最好的系統(tǒng)。相較于國(guó)內(nèi),國(guó)外的酒店管理系統(tǒng)開始的時(shí)間早,同時(shí)技術(shù)上更加的穩(wěn)定成熟。對(duì)于該系統(tǒng)的可行性分析,從經(jīng)濟(jì)上而言,實(shí)現(xiàn)一個(gè)酒店管理系統(tǒng)本身并不復(fù)雜,實(shí)現(xiàn)起來(lái)相對(duì)比較容易。由于Java在Web應(yīng)用開發(fā)上的優(yōu)勢(shì),本系統(tǒng)的開發(fā)周期并不需要太長(zhǎng),同時(shí)應(yīng)用MySql這樣輕量小巧的數(shù)據(jù)庫(kù),這樣對(duì)成本的要求并不是太高。該酒店管理系統(tǒng)是使用的B/S模式:在這種模式下,管理人員的工作界面是通過瀏覽器來(lái)實(shí)現(xiàn),減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的成本。而由于傳統(tǒng)的酒店管理大部分工作是由人工處理,這需要大量的人力、精力和物力。而采用信息系統(tǒng)輔助的客房管理系統(tǒng)進(jìn)行管理,開發(fā)酒店管理系統(tǒng)只需一些設(shè)備費(fèi)用,開發(fā)費(fèi)用以及維護(hù)費(fèi)用。當(dāng)酒店管理系統(tǒng)使用時(shí),可以從物力、人力、精力等方面降低成本[7]。通過信息管理系統(tǒng)可以大大提高數(shù)據(jù)存儲(chǔ)的準(zhǔn)確性和更新數(shù)據(jù)的實(shí)時(shí)性,減少了由于人為原因信息記錄丟失造成的業(yè)務(wù)損失。酒店信息管理系統(tǒng)是一個(gè)安全可靠的信息管理系統(tǒng),讓房間管理的管理員能隨時(shí)掌握每個(gè)房間入住的信息,使整個(gè)酒店的資源分配和管理人員的經(jīng)營(yíng)方式能做到快速優(yōu)化,保證酒店的整體運(yùn)營(yíng),使酒店管理更信息化、科學(xué)化,融入互聯(lián)網(wǎng)中[8]。所以以這樣一個(gè)酒店管理系統(tǒng)不僅能從人工成本上降低,而且開發(fā)的成本也能讓相對(duì)小的酒店承擔(dān)得起。技術(shù)上,系統(tǒng)運(yùn)用Spring+SpringMVC+Mybatis框架的整合進(jìn)行系統(tǒng)的開發(fā),采用的是服務(wù)器和瀏覽器之間的交互這樣一種模式以及不需要付費(fèi)、量級(jí)輕、容易操作的MySql作為數(shù)據(jù)庫(kù)服務(wù)器[9],服務(wù)器選擇的是開源并且目前使用廣泛穩(wěn)定的Tomcat。該系統(tǒng)開發(fā)的是酒店管理系統(tǒng),整個(gè)系統(tǒng)的開發(fā)經(jīng)歷了規(guī)范的軟件開發(fā)流程,包括需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì),測(cè)試等。該系統(tǒng)所設(shè)計(jì)的是以MYSQL為數(shù)據(jù)庫(kù),在SSM架構(gòu)下建立的基于B/S結(jié)構(gòu)的酒店管理系統(tǒng)。服務(wù)器版本使用的是Tomcat9.0,開發(fā)工具選用的Eclipse進(jìn)行開發(fā),編程語(yǔ)言使用的Java語(yǔ)言。1需求分析本文所開發(fā)的是酒店管理系統(tǒng),本文所指的酒店只包含提供住宿服務(wù)以及小部分商品的服務(wù)。該系統(tǒng)主要包括房間住宿管理,房間預(yù)訂等關(guān)于客房服務(wù)的功能。該系統(tǒng)主要服務(wù)于酒店管理人員,酒店管理人員可以通過登錄該系統(tǒng),然后對(duì)酒店的住宿房間進(jìn)行設(shè)置以及管理,包括提供的商品,對(duì)酒店的房間住宿信息,產(chǎn)生的所有消費(fèi)信息,以及房客的個(gè)人信息進(jìn)行管理,同時(shí)能夠向房客提供預(yù)訂服務(wù)以及房間分配[10]。綜上所述,該酒店管理系統(tǒng)不僅能對(duì)客房和房客個(gè)人信息進(jìn)行管理,還能實(shí)現(xiàn)對(duì)于住宿信息和住宿中產(chǎn)生的消費(fèi)信息的管理,完成酒店管理整個(gè)的業(yè)務(wù)需求。本章從系統(tǒng)業(yè)務(wù)流程、數(shù)據(jù)需求、功能需求以及非功能需求等方面進(jìn)行詳細(xì)闡述。1.1系統(tǒng)業(yè)務(wù)流程分析該系統(tǒng)主要由酒店管理員進(jìn)行操作,所以這里分析的只有管理員的工作流程,如圖1-1所示:圖1-1系統(tǒng)總體工作流程圖工作流程:管理員通過賬號(hào)密碼進(jìn)入系統(tǒng),驗(yàn)證通過后進(jìn)入系統(tǒng)主頁(yè)。管理員可以進(jìn)行客房管理(增刪改查)和商品管理(增刪改查)、客房預(yù)定和住宿登記、財(cái)務(wù)管理和旅客管理(包括個(gè)人旅客和團(tuán)隊(duì)旅客)。1.2數(shù)據(jù)描述1.2.1數(shù)據(jù)流分析系統(tǒng)頂層數(shù)據(jù)流圖如圖1-2所示,第二層數(shù)據(jù)流圖如圖1-3所示。圖1-2頂層數(shù)據(jù)流圖圖1-3第二層數(shù)據(jù)流圖1.2.2數(shù)據(jù)字典系統(tǒng)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)項(xiàng)匯總清單如表1-1,表1-2所示。表1-1數(shù)據(jù)結(jié)構(gòu)表序號(hào)數(shù)據(jù)項(xiàng)名含義說明組成JDDS-1users管理員表Id,userName,passwordJDDS-2Passenger旅客信息Id,papersID,educationDegreeID,genderID,passengerLevelID,nationID,name,papersNumber,birthDate,papersValidity,profession,contactPhoneNumber,remarkJDDS-3room房間信息id,guestRoomLevelID,roomStateID,roomNumber,roomAmount,standardPriceDay,standardPrice,maxDuration,firstDuration,firstPriceJDDS-4commodity商品信息id,commodityTypeID,uOMID,commodityName,salePriceJDDS-5predetermine預(yù)訂登記信息id,roomID,predetermineTargetID,passengerID,payWayID,predetermineStateID,arriveTime,deposit,predetermineDay,remindJDDS-6stayregister住宿登記信息id,predetermineID,rentOutTypeID,roomID,payWayID,billUnitID,passengerTypeID,receiveTargetID,deputyID,isBillID,registerTime,stayNumber,sumConst,ChangingRoomNumber,changRoomMoney,remarks,payTime,changRoomTime,remindJDDS-7stayregisterdetails住宿登記明細(xì)信息id,stayRegisterID,passengerIDJDDS-8predetermine消費(fèi)明細(xì)信息id,stayRegisterID,commodityID,consumptionNumber,consumptionMoney,consumptionTime表1-2數(shù)據(jù)項(xiàng)表序號(hào)數(shù)據(jù)項(xiàng)名數(shù)據(jù)描述數(shù)據(jù)類型(長(zhǎng)度)取值范圍與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系JDSJ-1userName賬號(hào)varchar(20)JDSJ-2password密碼varchar(20)JDSJ-3papersID證件IDint(11)JDSJ-4educationDegreeID證件IDint(11)JDSJ-5genderID性別IDint(11)JDSJ-6passengerLevelID旅客級(jí)別IDint(11)JDSJ-7nationID民族IDint(11)JDSJ-8name姓名varchar(45)JDSJ-9certificateNumber證件號(hào)varchar(25)JDSJ-10birthDay生日varchar(25)JDSJ-11certificateValidity證件有效期varchar(25)JDSJ-12professe職稱varchar(25)JDSJ-13contactNumber聯(lián)系電話varchar(20)JDSJ-14remarks備注varchar(100)JDSJ-15guestRoomLevelID客房等級(jí)IDint(11)JDSJ-16roomStateID房態(tài)IDint(11)JDSJ-17roomID房號(hào)varchar(11)JDSJ-18roomNumber床位數(shù)量varchar(11)JDSJ-19standardDailyRate標(biāo)準(zhǔn)每天房?jī)r(jià)decimal(9,3)JDSJ-20standardHourlyRate標(biāo)準(zhǔn)每小時(shí)房?jī)r(jià)decimal(9,3)JDSJ-21maxTimeLimit時(shí)長(zhǎng)限制(小時(shí))varchar(11)JDSJ-22firstTimeLimit首段時(shí)長(zhǎng)(小時(shí))varchar(11)JDSJ-23firstPrice首段價(jià)格decimal(9,3)JDSJ-24commodityTypeID商品類別IDint(11)JDSJ-25uOMID計(jì)量單位IDint(11)JDSJ-26tradeName商品名varchar(40)JDSJ-27tradePrice商品價(jià)格decimal(9,3)JDSJ-28roomID房間IDint(11)JDSJ-29predetermineTargetID預(yù)定對(duì)象IDint(11)JDSJ-30passengerID旅客IDint(11)JDSJ-31payWayID支付方式IDint(11)JDSJ-32predetermineStateID預(yù)定狀態(tài)IDint(11)JDSJ-33arriveTime抵達(dá)時(shí)間timestampJDSJ-34cashPledge押金decimal(9,3)JDSJ-35scheduledDays預(yù)定天數(shù)varchar(11)JDSJ-36remind到時(shí)提示int(11)JDSJ-37scheduledID預(yù)定號(hào)int(12)JDSJ-38rentalModeID出租方式編號(hào)int(12)JDSJ-39roomID房間編號(hào)int(11)JDSJ-40payWayID結(jié)賬方式編號(hào)int(11)JDSJ-41billUnitID結(jié)賬單位編號(hào)int(11)JDSJ-42passengerCategoryID旅客類別編號(hào)int(11)JDSJ-43receptionObjectID接待對(duì)象編號(hào)int(11)JDSJ-44deputyID副編號(hào)int(11)JDSJ-45isCheckout是否結(jié)賬int(11)JDSJ-46registrationTime登記時(shí)間timestampJDSJ-47hotelHoursNumber住店小時(shí)數(shù)varchar(20)JDSJ-48totalCost總費(fèi)用decimal(9,3)JDSJ-49roomChangeTimes換房次數(shù)varchar(10)JDSJ-50roomChangeFee換房費(fèi)decimal(9,3)JDSJ-51Remarks備注char(30)1.3系統(tǒng)功能需求1.3.1業(yè)務(wù)角色分析該系統(tǒng)主要服務(wù)于酒店管理人員,酒店管理人員可以通過登錄該系統(tǒng),然后對(duì)酒店的客房進(jìn)行管理、對(duì)酒店的住宿信息,財(cái)務(wù)信息,旅客信息進(jìn)行管理,同時(shí)能夠向旅客提供預(yù)訂服務(wù)以及房間分配。1.3.2用例分析由于該系統(tǒng)是針對(duì)與系統(tǒng)管理員使用的,所以分析時(shí)從管理員用例來(lái)分析系統(tǒng)的功能需求。管理員指的是酒店管理系統(tǒng)的使用者,該系統(tǒng)主要提供了以下功能:1.登錄功能:管理員輸入用戶名和密碼,登錄酒店管理系統(tǒng)。2.房間管理功能:管理員可以對(duì)酒店的房間進(jìn)行管理,可以添加、查看、修改和刪除酒店的房間信息以及一些商品的信息。3.住宿管理功能:管理員可以對(duì)酒店的住宿信息進(jìn)行管理,可以添加、查看、修改和刪除酒店的住宿信息同時(shí)可以為客戶提供預(yù)訂功能,為客戶分配房間。4.財(cái)務(wù)管理功能:管理員可以查看酒店的財(cái)務(wù)統(tǒng)計(jì)信息。5.旅客管理功能:管理員可以對(duì)住宿酒店的旅客信息進(jìn)行管理,可以添加、查看、修改和刪除旅客的信息,包括個(gè)人旅客以及旅游住宿團(tuán)隊(duì),圖1-4為系統(tǒng)管理員用例圖。圖1-4系統(tǒng)管理員用例圖1.4系統(tǒng)非功能需求對(duì)軟件的非功能需求的描述,應(yīng)包括性能、安全性、可擴(kuò)展性、穩(wěn)定性等方面的需求界定。1.4.1性能需求后臺(tái)管理平臺(tái)的數(shù)據(jù)處理能力為支持大量終端數(shù),支持10-20并行操作的用戶數(shù),同時(shí)處理個(gè)2-5文件,同時(shí)處理2-10個(gè)表同時(shí)處理。時(shí)間性能要求平均操作響應(yīng)時(shí)間在3秒以內(nèi)、更新處理時(shí)間在3秒以內(nèi),系統(tǒng)持續(xù)運(yùn)行時(shí)間要求能夠長(zhǎng)期穩(wěn)定運(yùn)行。1.4.2安全保密需求后臺(tái)管理系統(tǒng)需要禁止除登錄頁(yè)面外匿名訪問,禁止登錄用戶訪問非授權(quán)頁(yè)面,調(diào)用非授權(quán)接口。數(shù)據(jù)僅通過管理頁(yè)面發(fā)送至后臺(tái)接口,特殊數(shù)據(jù)驗(yàn)證登錄人員合法性防止非法數(shù)據(jù)侵入。用戶密碼采用加密存儲(chǔ),防止數(shù)據(jù)明文泄露,密碼驗(yàn)證同時(shí)加密傳輸驗(yàn)證。用戶授權(quán)定時(shí)清除防止用戶遺忘登出。1.4.3擴(kuò)展性需求該系統(tǒng)可以根據(jù)用戶需求在后臺(tái)新增模塊服務(wù)層和控制層,接著構(gòu)建前端界面,由于該系統(tǒng)是前后端分離的,個(gè)模塊之間的依賴程度相對(duì)較小,可以很輕松地添加新的需求。1.4.4穩(wěn)定性需求軟件在以三個(gè)月做一個(gè)運(yùn)行周期,盡量不出現(xiàn)異常,并且數(shù)據(jù)不會(huì)錯(cuò)誤讀取。并且性能根據(jù)運(yùn)行根據(jù)運(yùn)行時(shí)間增長(zhǎng),關(guān)鍵功能速度沒有大幅度降低。1.4.5部署需求軟件集中部署,服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器分開部署。2系統(tǒng)概要設(shè)計(jì)2.1系統(tǒng)架構(gòu)該酒店管理系統(tǒng)采用SSM框架開發(fā),整個(gè)系統(tǒng)包含四層:視圖層,控制層,服務(wù)層,Dao層。其中,SpringMVC負(fù)責(zé)視圖層和控制層之間的請(qǐng)求處理和視圖層的管理,Spring對(duì)業(yè)務(wù)對(duì)象進(jìn)行管理,Mybatis數(shù)據(jù)持久層控制各個(gè)依賴注入。整個(gè)系統(tǒng)架構(gòu)運(yùn)行流程示例圖如圖2-1:圖2-1系統(tǒng)架構(gòu)運(yùn)行流程示例圖視圖層:同控制層關(guān)系較大,這兩個(gè)層需要共同協(xié)作開發(fā),主要負(fù)責(zé)前臺(tái)頁(yè)面的展示。控制層:主要在該層進(jìn)行參數(shù)的處理,處理后傳入到服務(wù)層中繼續(xù)業(yè)務(wù)邏輯的編寫。服務(wù)層:服務(wù)層主要接受控制層處理過的視圖層傳遞的數(shù)據(jù),然后進(jìn)行業(yè)務(wù)邏輯處理,同時(shí)也有對(duì)于數(shù)據(jù)庫(kù)中數(shù)據(jù)的處理,但并不是直接同數(shù)據(jù)庫(kù)操作,需要在接口的實(shí)現(xiàn)方法中需要導(dǎo)入Dao層,Dao層是直接跟數(shù)據(jù)庫(kù)打交道的,它也是個(gè)接口,只有方法名字,具體實(shí)現(xiàn)在mapper.xml文件里,service是供我們使用的方法。Dao層:對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)持久化操作,它的方法語(yǔ)句是直接針對(duì)數(shù)據(jù)庫(kù)操作的,而service層是針對(duì)我們controller,也就是針對(duì)我們使用者。service的impl是把mapper和service進(jìn)行整合的文件。2.2系統(tǒng)功能結(jié)構(gòu)系統(tǒng)功能結(jié)構(gòu)圖如圖2-2所示:圖2-2系統(tǒng)功能結(jié)構(gòu)圖2.3數(shù)據(jù)庫(kù)設(shè)計(jì)2.3.1 E-R模型設(shè)計(jì)根據(jù)系統(tǒng)分析的主要實(shí)體有:管理員、房間、商品、預(yù)定登記、旅客、住宿登記、消費(fèi)明細(xì)。各個(gè)實(shí)體具體的描述屬性圖如下;全局E-R圖如圖2-3所示。圖2-3系統(tǒng)全局E-R圖通過對(duì)系統(tǒng)進(jìn)行分析主要包括管理員,房間,旅客,商品,預(yù)訂登記,住宿登記,消費(fèi)明細(xì),住宿登記明細(xì)。一個(gè)管理員需要對(duì)房間和商品進(jìn)行管理,對(duì)旅客進(jìn)行接待,多個(gè)房間可以對(duì)應(yīng)多個(gè)旅客進(jìn)行登記,每次登記會(huì)產(chǎn)生對(duì)應(yīng)的住宿信息并且生成消費(fèi)明細(xì),對(duì)上述的實(shí)體的詳細(xì)實(shí)體圖如下:1.管理員實(shí)體,管理員包括ID,用戶名及密碼三個(gè)屬性圖2-4管理員實(shí)體圖 2.旅客實(shí)體,旅客實(shí)體主要包括證件ID,證件號(hào)碼,姓名,性別,職業(yè),電話等主要屬性圖2-5旅客實(shí)體圖3.房間實(shí)體,房間實(shí)體包括房間號(hào),床位數(shù),標(biāo)準(zhǔn)房?jī)r(jià)/天,標(biāo)準(zhǔn)房?jī)r(jià)/小時(shí),時(shí)長(zhǎng)限制等主要屬性圖2-6房間實(shí)體圖4.商品實(shí)體,包括類別ID,計(jì)算單位ID,名稱,價(jià)格屬性圖2-7商品實(shí)體圖5.預(yù)定登記實(shí)體,旅客進(jìn)行預(yù)訂登記時(shí)需要錄入房間ID,旅客ID,狀態(tài),抵達(dá)時(shí)間,押金,預(yù)訂天數(shù)等信息。圖2-8預(yù)定登記實(shí)體圖6.住宿登記實(shí)體,住宿登記實(shí)體包括有預(yù)訂ID,房間ID,結(jié)賬方式,旅客ID,登記時(shí)間,住店天數(shù),總費(fèi)用,結(jié)賬時(shí)間等主要屬性圖2-9住宿登記實(shí)體圖7.住宿登記明細(xì)實(shí)體圖2-10住宿登記明細(xì)實(shí)體圖8.消費(fèi)明細(xì)實(shí)體,主要包括住宿登記ID,商品ID,消費(fèi)數(shù)量,消費(fèi)金額以及消費(fèi)時(shí)間圖2-11消費(fèi)明細(xì)實(shí)體圖2.3.2數(shù)據(jù)庫(kù)表關(guān)系系統(tǒng)數(shù)據(jù)庫(kù)表關(guān)系圖如圖2-12所示。圖2-11酒店管理系統(tǒng)數(shù)據(jù)庫(kù)關(guān)系圖2.3.3數(shù)據(jù)表信息該系統(tǒng)設(shè)計(jì)共8個(gè)數(shù)據(jù)表。酒店管理員表(adminUser),用來(lái)儲(chǔ)存酒店管理員賬號(hào)密碼表2-1管理員表字段名稱數(shù)據(jù)類型主鍵是否空說明idint(13)是不能管理員唯一標(biāo)識(shí)(id)userNamevarchar(20)不是能酒店管理員賬號(hào)passwordvarchar(20)不是能酒店管理員密碼(2)旅客表信息(psgInfo),存儲(chǔ)旅客信息表2-2旅客表字段名稱數(shù)據(jù)類型主鍵是否空說明idint(13)是不能旅客唯一標(biāo)識(shí)(id)certificatesIDint(13)不是能證件類型標(biāo)識(shí)educationDegreeIDint(13)不是能學(xué)歷標(biāo)識(shí)genderIDint(13)不是能性別類型標(biāo)識(shí)passengerLevelIDint(13)不是能旅客級(jí)別類型標(biāo)識(shí)nationIDint(13)不是能民族類型標(biāo)識(shí)namevarchar(24)不是能姓名certificatesNumbervarchar(34)不是能證件號(hào)碼birthDatevarchar(34)不是能出生日期certificatesValidvarchar(34)不是能證件有效時(shí)間profesevarchar(34)不是能旅客職業(yè)passPhoneNumbervarchar(34)不是能旅客聯(lián)系電話remarksvarchar(90)不是能備注(3)客房信息房間表(guestRoom),儲(chǔ)存客房信息表2-3房間表字段名稱數(shù)據(jù)類型主鍵是否空說明idint(13)是不能房間唯一標(biāo)識(shí)guestRoomLevelIDint(13)不是不能客房等級(jí)IDroomStateIDint(13)不是不能房態(tài)IDroomNumint(23)不是不能房間號(hào)roomCountvarchar(34)不是不能床數(shù)量standPriceDayvarchar(34)不是能每天標(biāo)準(zhǔn)價(jià)格standPriceHourvarchar(34)不是能每小時(shí)標(biāo)準(zhǔn)價(jià)格timeLimitHourvarchar(34)不是能時(shí)間限制firstTimeHourvarchar(34)不是能開始時(shí)間段firstTimePricevarchar(34)不是能開始時(shí)間價(jià)格商品表(commodity),存儲(chǔ)商品信息表2-4商品表字段名稱數(shù)據(jù)類型主鍵是否空說明idint(13)是不能商品IDcommodityTypeIDint(13)不是能商品類別IDuOMIDint(13)不是能計(jì)量單位IDcommodityNamevarchar(34)不是能商品名稱salePricedecimal(8,2)不是能銷售價(jià)格預(yù)定登記表(predetermine),存儲(chǔ)預(yù)定登記信息表2-5預(yù)訂登記表字段名稱數(shù)據(jù)類型主鍵是否空說明idint(13)是不能預(yù)定唯一標(biāo)識(shí)roomIDint(13)不是能房間IDpredetermineTargetIDint(13)不是能預(yù)定對(duì)象IDpassengerIDint(13)不是能旅客IDpayWayIDint(13)不是能支付方式IDpredetermineStateIDint(13)不是能預(yù)定狀態(tài)IDarriveTimetimestamp不是能抵達(dá)時(shí)間depositdecimal(8,2)不是能押金predetermineDayvarchar(34)不是能預(yù)定天數(shù)remindint(13)不是不能到時(shí)提示住宿登記表(registration),旅客住宿登記信息存儲(chǔ)表2-6住宿登記表字段名稱數(shù)據(jù)類型主鍵是否空說明idint(13)是不能住宿登記標(biāo)識(shí)predetermineIDint(13)不是能預(yù)定標(biāo)識(shí)rentOutTypeIDint(13)不是能出租類型標(biāo)識(shí)roomIDint(13)不是能房間標(biāo)識(shí)paymentWayIDint(13)不是能支付方式標(biāo)識(shí)paymentUnitIDint(13)不是能結(jié)賬單位標(biāo)識(shí)passengerTypeIDint(13)不是能旅客類型標(biāo)識(shí)receiveTargetIDint(13)不是能接待對(duì)象標(biāo)識(shí)fuIDint(13)不是能副標(biāo)識(shí)isPaymentIDint(13)不是能是否結(jié)賬標(biāo)識(shí)registerTimetimestamp不是能登記時(shí)間stayHourNumbervarchar(34)不是能住店天數(shù)/小時(shí)totalPaymentdecimal(8,2)不是能住房總消費(fèi)費(fèi)用ChangingRoomCountvarchar(34)不是能更換房間次數(shù)changRoomPaymentdecimal(8,2)不是能更換房間支付費(fèi)用remarksvarchar(90)不是能備注paymentTimetimestamp不是能結(jié)賬支付時(shí)間changRoomTimetimestamp不是能換房登記時(shí)間remindPayint(13)不是能提醒結(jié)賬(7)住宿登記明細(xì)表(stayregisterdetails),存儲(chǔ)住宿登記明細(xì)信息表2-7住宿登記明細(xì)表字段名稱數(shù)據(jù)類型主鍵是否空說明idint(13)是不能住宿詳細(xì)登記標(biāo)識(shí)registrationIDint(13)不是能住宿登記標(biāo)識(shí)passengerIDint(13)不是能旅客唯一標(biāo)識(shí)(8)消費(fèi)明細(xì)表(predetermine),存儲(chǔ)消費(fèi)明細(xì)信息表2-8消費(fèi)明細(xì)表字段名稱數(shù)據(jù)類型主鍵是否空說明idint(13)是不能消費(fèi)明細(xì)唯一標(biāo)識(shí)registrationIDint(13)不是能住宿登記標(biāo)識(shí)commodityTypeIDint(13)不是能商品類型標(biāo)識(shí)paymentNumbervarchar(34)不是能購(gòu)買消費(fèi)商品數(shù)量paymentMoneydecimal(8,2)不是能購(gòu)買商品總消費(fèi)paymentTimetimestamp不是能支付時(shí)間2.3.4存儲(chǔ)過程信息系統(tǒng)存儲(chǔ)過程說明如下表所示。表2-9存儲(chǔ)過程清單表序號(hào)名稱參數(shù)返回值功能說明1新增房間信息(room)房間id,客房等級(jí)id,房態(tài)id,房間號(hào),床位數(shù),標(biāo)準(zhǔn)房?jī)r(jià),時(shí)長(zhǎng)限制操作成功返回true;操作失敗返回false和錯(cuò)誤信息。向room表插入新增房間信息。2新增旅客信息(passenger)旅客id,證件id,性別id,姓名,出生日期,證件號(hào)碼,職業(yè),電話,備注操作成功返回true;操作失敗返回false和錯(cuò)誤信息。向passenger表插入新智能旅客信息。2.3.5數(shù)據(jù)庫(kù)安全設(shè)計(jì)該系統(tǒng)對(duì)管理員的賬號(hào)的密碼進(jìn)行了再次的加密方式處理,確保不會(huì)出現(xiàn)密碼的明文,比如通過在網(wǎng)頁(yè)上更改輸入框的類型。測(cè)試員、系統(tǒng)業(yè)務(wù)用戶只能通過本系統(tǒng)所開發(fā)的功能模塊訪問、操作數(shù)據(jù)庫(kù)數(shù)據(jù),而沒有其它途徑操作數(shù)據(jù)庫(kù)。2.4開發(fā)運(yùn)行平臺(tái)選擇及分析該系統(tǒng)采用Eclipse進(jìn)行開發(fā),使用Eclipse對(duì)數(shù)據(jù)庫(kù)和JavaEE的開發(fā)和操作相對(duì)而言比較容易上手,以及在web應(yīng)用程序服務(wù)器的整合方面特別方便。它是一個(gè)功能比較豐富的JavaEE集成開發(fā)環(huán)境。2.5系統(tǒng)技術(shù)難點(diǎn)及關(guān)鍵技術(shù)系統(tǒng)運(yùn)用Spring+SpringMVC+Mybatis框架的整合進(jìn)行系統(tǒng)的開發(fā),采用的是服務(wù)器和瀏覽器之間的交互這樣一種模式以及免費(fèi)、輕量、易操作的MySql作為數(shù)據(jù)庫(kù)服務(wù)器,服務(wù)器則選擇了開源的Tomcat,系統(tǒng)開發(fā)主要的難點(diǎn)在于從用戶信息進(jìn)入系統(tǒng)后產(chǎn)生一系列數(shù)據(jù)的處理比較繁瑣,在業(yè)務(wù)的實(shí)現(xiàn)上比較的難。2.6系統(tǒng)特色該系統(tǒng)主要的特色在于運(yùn)用的技術(shù)框架SSM以及服務(wù)器Tomcat和數(shù)據(jù)庫(kù)MySql都是相對(duì)而言比較穩(wěn)定且成熟的技術(shù)了,整個(gè)系統(tǒng)穩(wěn)定性能不錯(cuò)。同時(shí)運(yùn)用的JqueryEasyUI界面簡(jiǎn)單易懂,交互性友好并且當(dāng)需要在增加新的功能時(shí),能夠很清楚的了解整個(gè)系統(tǒng)的結(jié)構(gòu),延展性好。3系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)本章節(jié)介紹酒店管理系統(tǒng)的實(shí)現(xiàn),先對(duì)關(guān)鍵代碼進(jìn)行分析,再通過運(yùn)行系統(tǒng)后截圖。介紹管理員登錄、房間管理、住宿管理、財(cái)務(wù)管理和旅客管理等主要功能的實(shí)現(xiàn)效果。3.1管理員登錄管理員進(jìn)入登錄頁(yè)面,輸入用戶名和密碼,點(diǎn)擊登錄按鈕就能登錄系統(tǒng)。1.頁(yè)面展示:圖3-1管理員登錄2.代碼展示:@RequestMapping("/tomain") @RequestMapping("/tomain") publicModelAndViewtomain(UserPouser){ ModelAndViewmv=null; doublezongFeiYongOne=0; doublezongFeiYongTwo=0; UserPou=userService.selectLogin(user); List<StayRegisterPo>list=stayRegisterService.selectAll(); for(inti=0;i<list.size();i++){ if(list.get(i).getReceiveTargetID()==2){ zongFeiYongOne+=list.get(i).getSumConst(); }else{ zongFeiYongTwo+=list.get(i).getSumConst(); } } if(u!=null){ mv=newModelAndView("/main/main"); }else{ mv=newModelAndView("/login/login"); } mv.addObject("zongFeiYongOne",zongFeiYongOne); mv.addObject("zongFeiYongTwo",zongFeiYongTwo); returnmv; }3.2房間管理管理員進(jìn)入系統(tǒng)后進(jìn)行房間管理,可以增加、刪除、修改、搜索房間信息,以下顯示房間管理的主頁(yè)面。1.頁(yè)面展示:圖3-2客房設(shè)置管理員進(jìn)行商品管理,可以搜索、增加、修改和刪除商品信息,以下為商品管理的主頁(yè)面。圖3-3商品設(shè)置@RequestMapping("/add") publicModelAndViewadd(RoomSetPoroomSetPo){ @RequestMapping("/add") publicModelAndViewadd(RoomSetPoroomSetPo){ ModelAndViewmv=null; roomSetService.insertAll(roomSetPo); mv=newModelAndView("redirect:/RoomSet/tolist.do"); returnmv; }@RequestMapping("/toupdate") publicModelAndViewtoupdate(intid){ ModelAndViewmv=null; List<AttributePo>listOne=attributeService.selectGuestRoomLevel(); List<AttributePo>listTwo=attributeService.selectRoomState(); RoomSetPolistPo=roomSetService.selectById(id); mv=newModelAndView("/roomset/update"); mv.addObject("listOne",listOne); mv.addObject("listTwo",listTwo); mv.addObject("listPo",listPo); returnmv; } @RequestMapping("/update") publicModelAndViewupdate(RoomSetPoroomSetPo){ ModelAndViewmv=null; roomSetService.updateById(roomSetPo); mv=newModelAndView("redirect:/RoomSet/tolist.do"); returnmv; } @RequestMapping("/delete") publicModelAndViewdelete(Stringid){ ModelAndViewmv=null; String[]FenGe=id.split(","); for(inti=0;i<FenGe.length;i++){ roomSetService.deleteById(Integer.parseInt(FenGe[i])); } mv=newModelAndView("redirect:/RoomSet/tolist.do"); returnmv; }3.3住宿管理管理員進(jìn)行住宿管理,可以搜索、增加、修改和刪除住宿信息,以下為管理住宿信息的主頁(yè)。1.頁(yè)面展示:圖3-4住宿管理管理員新增客房預(yù)定信息,需要選擇預(yù)定對(duì)象,然后選擇客房。圖3-5客房預(yù)定新增管理員進(jìn)行住宿登記,根據(jù)客房預(yù)定信息,選擇并確認(rèn)住宿信息。圖3-6住宿登記管理員進(jìn)行旅客信息登記,需要填寫旅客的相關(guān)信息,包括姓名、性別、民族、職業(yè)和聯(lián)系電話等信息。圖3-7旅客登記管理員進(jìn)行旅客信息登記的時(shí)候,可以根據(jù)之前登記過的旅客信息,直接選擇旅客進(jìn)行登記。圖3-8選擇旅客管理員進(jìn)行旅客信息登記,填寫相關(guān)信息后,點(diǎn)擊保存即可。圖3-9旅客登記完成完成旅客住宿信息登記后,管理員進(jìn)行安排房間操作,以下為安排房間的主頁(yè)。管理員需要填寫登記時(shí)間、旅客類別、天數(shù)、支付方式等信息。圖3-10安排房間2.由于此處功能過多,涉及核心代碼也相對(duì)過多,此處就不展示了。3.4財(cái)務(wù)管理管理員進(jìn)入財(cái)務(wù)管理頁(yè)面下的財(cái)務(wù)統(tǒng)計(jì),下面是財(cái)務(wù)管理的頁(yè)面,使用列表展示出所有得住宿消費(fèi)細(xì)節(jié),包括房間號(hào),接待對(duì)象,旅客姓名,換房次數(shù),換房時(shí)間,結(jié)賬時(shí)間,總共的消費(fèi)費(fèi)用等。1.頁(yè)面展示圖3-11財(cái)務(wù)統(tǒng)計(jì)publicModelAndViewtoinformation(Integerid,IntegerstayregisterdetailsId,Stringmin,Stringmax){ ModelAndViewmv=null;publicModelAndViewtoinformation(Integerid,IntegerstayregisterdetailsId,Stringmin,Stringmax){ ModelAndViewmv=null; doublezhuSuFei=0; doublehuanFangFei=0; doubleqiTaXiaoFei=0; doubleyaJin=0; doublezongFeiYong=0; List<StayRegisterPo>listDeposit=stayRegisterService.selectDepositById(id); List<StayRegisterPo>listXiaoFei=stayRegisterService.selectXiaoFeiMingXi(id); List<StayRegisterPo>list=stayRegisterService.selectAllInformation(stayregisterdetailsId); for(inti=0;i<listDeposit.size();i++){ yaJin+=listDeposit.get(i).getDeposit(); } for(inti=0;i<listXiaoFei.size();i++){ qiTaXiaoFei+=listXiaoFei.get(i).getConsumptionMoney(); } zongFeiYong=list.get(0).getSumConst(); huanFangFei=list.get(0).getChangRoomMoney(); zhuSuFei=zongFeiYong-huanFangFei-qiTaXiaoFei; mv=newModelAndView("/financialstatistics/particulars"); mv.addObject("zhuSuFei",zhuSuFei); mv.addObject("qiTaXiaoFei",qiTaXiaoFei); mv.addObject("yaJin",yaJin); mv.addObject("list",list); mv.addObject("id",id); mv.addObject("listDeposit",listDeposit); mv.addObject("listXiaoFei",listXiaoFei); mv.addObject("min",min); mv.addObject("max",max); returnmv; }3.5旅客管理管理員進(jìn)入旅客管理頁(yè)面,下圖為旅客管理頁(yè)面,包括個(gè)人旅客和以團(tuán)隊(duì)形式的旅客,同樣使用了列表來(lái)展示了個(gè)人和團(tuán)隊(duì)旅客信息,顯示包括姓名、性別、出生日期、民族、旅客級(jí)別、證件類型、證件號(hào)碼和聯(lián)系電話等信息。1.頁(yè)面展示圖3-12個(gè)人旅客信息下面是團(tuán)隊(duì)旅客信息,列表中展示的包括對(duì)象類型、團(tuán)隊(duì)名稱、團(tuán)隊(duì)編號(hào)、負(fù)責(zé)人、登記日期和聯(lián)系電話。圖3-13團(tuán)隊(duì)旅客信息代碼展示:旅客信息的添加,修改和刪除 @RequestMapping("/add")@RequestMapping("/add") publicModelAndViewadd(PassengerPopassengerPo){ ModelAndViewmv=null; passengerService.insertAll(passengerPo); mv=newModelAndView("redirect:/Passenger/tolist.do"); returnmv; }@RequestMapping("/update")@RequestMapping("/update") publicModelAndViewupdate(PassengerPopassengerPo){ ModelAndViewmv=null; passengerService.updateById(passengerPo); mv=newModelAndView("redirect:/Passenger/tolist.do"); returnmv; } @RequestMapping("/delete") publicModelAndViewdelete(Stringid){ ModelAndViewmv=null; String[]FenGe=id.split(","); for(inti=0;i<FenGe.length;i++){ passengerService.deleteById(Integer.parseInt(FenGe[i])); } mv=newModelAndView("redirect:/Passenger/tolist.do"); returnmv; }
4系統(tǒng)運(yùn)行與測(cè)試4.1測(cè)試環(huán)境本系統(tǒng)項(xiàng)目測(cè)試環(huán)境描述表如表4-1所示。表4-1系統(tǒng)運(yùn)行環(huán)境描述表數(shù)據(jù)服務(wù)器處理器:因特爾,酷睿,i56200低壓版處理器主頻2.3吉赫茲,睿頻2.4操作系統(tǒng):Windows10專業(yè)版64位內(nèi)存大小:8G應(yīng)用服務(wù)器處理器:因特爾,酷睿,i56200低壓版處理器主頻2.3吉赫茲,睿頻2.4操作系統(tǒng):Windows10專業(yè)版64位內(nèi)存大小:8G4.2系統(tǒng)測(cè)試方法4.2.1系統(tǒng)功能測(cè)試登錄功能測(cè)試表4-2登錄功能測(cè)試表功能名稱登陸用例IDHM_01用例標(biāo)題登錄功能正確性驗(yàn)證前驅(qū)條件進(jìn)入登錄頁(yè)面測(cè)試輸入輸入正確的賬號(hào)密碼操作步驟輸入賬號(hào)密碼點(diǎn)擊【登錄】按鈕預(yù)期結(jié)果登錄成功跳轉(zhuǎn)到管理頁(yè)面實(shí)際結(jié)果與預(yù)期結(jié)果一致是否通過【通過/失敗】通過備注
房間管理表4-3房間管理功能測(cè)試表功能名稱房間管理用例IDHM_02用例標(biāo)題房間信息增刪改查前驅(qū)條件進(jìn)入房間管理頁(yè)面測(cè)試輸入輸入相應(yīng)房間的信息字段操作步驟1.輸入相應(yīng)房間的信息字段2.點(diǎn)擊添加預(yù)期結(jié)果1.添加成功,房間信息列表展示出添加房間信息實(shí)際結(jié)果與預(yù)期結(jié)果一致是否通過【通過/失敗】通過備注住宿管理表4-4住宿管理功能測(cè)試表功能名稱住宿管理用例IDHM_03用例標(biāo)題住宿信息管理前驅(qū)條件進(jìn)入住宿管理頁(yè)面測(cè)試輸入輸入相應(yīng)住宿管理的信息字段操作步驟1.對(duì)住宿信息進(jìn)行增刪改查2.登記客戶信息3.增加客房預(yù)訂信息4.給預(yù)訂客
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 從一本書看到的啟示讀后感(9篇)
- 2026重慶市綦江區(qū)扶歡鎮(zhèn)人民政府公益性崗位人員招聘1人備考題庫(kù)及答案詳解(考點(diǎn)梳理)
- “夢(mèng)想靠岸”招商銀行溫州分行2026校園招聘?jìng)淇碱}庫(kù)及答案詳解(奪冠系列)
- 智能城市預(yù)警系統(tǒng)開發(fā)協(xié)議
- 2026福建漳州市第四醫(yī)院水電工招聘2人備考題庫(kù)完整答案詳解
- 2026福建三明市浦豐鄉(xiāng)村發(fā)展集團(tuán)有限公司及其下屬企業(yè)招聘4人備考題庫(kù)帶答案詳解
- 2026浙江衢州市江山中銀富登村鎮(zhèn)銀行招聘?jìng)淇碱}庫(kù)含答案詳解
- 2026浙江紹興市上虞區(qū)教育體育局招聘高水平體育教練員3人備考題庫(kù)及答案詳解(考點(diǎn)梳理)
- 2026重慶市永川區(qū)仙龍鎮(zhèn)人民政府招聘公益性崗位人員3人備考題庫(kù)及答案詳解(考點(diǎn)梳理)
- 自然分娩的步驟
- SF-36評(píng)估量表簡(jiǎn)介
- 道路清掃保潔、垃圾收運(yùn)及綠化服務(wù)方案投標(biāo)文件(技術(shù)標(biāo))
- 合成藥物催化技術(shù)
- 河南省三門峽市2024-2025學(xué)年高二上學(xué)期期末調(diào)研考試英語(yǔ)試卷(含答案無(wú)聽力音頻及聽力原文)
- 【語(yǔ)文】福建省福州市烏山小學(xué)小學(xué)三年級(jí)上冊(cè)期末試題(含答案)
- 建立鄉(xiāng)鎮(zhèn)衛(wèi)生院孕情第一時(shí)間發(fā)現(xiàn)制度或流程
- 睡眠科普課課件
- 2025年中級(jí)衛(wèi)生職稱-主治醫(yī)師-放射醫(yī)學(xué)(中級(jí))代碼:344歷年參考題庫(kù)含答案解析(5卷)
- 2025年中國(guó)民航科學(xué)技術(shù)研究院招聘考試筆試試題(含答案)
- eol物料管理辦法
- 總公司對(duì)子公司管理制度
評(píng)論
0/150
提交評(píng)論