小型酒店管理系統(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è),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

編號(hào) 課程設(shè)計(jì)報(bào)告20142015學(xué)年 第二學(xué)期小型酒店管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)Design and implementation of small hotel management system實(shí) 習(xí) 類 別課程設(shè)計(jì)學(xué) 生 姓 名 XXX專 業(yè) 軟件工程學(xué) 號(hào) 1305XXXX指 導(dǎo) 教 師何XX、尹XX學(xué) 院計(jì)算機(jī)科學(xué)技術(shù)學(xué)院二一五年七月 - 1 -長(zhǎng)春理工大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院課程設(shè)計(jì)報(bào)告起 止 周1819周數(shù)2實(shí)習(xí)地點(diǎn)南研1213實(shí)驗(yàn)室課程設(shè)計(jì)目的:信息系統(tǒng)開發(fā)實(shí)踐活動(dòng)是學(xué)習(xí)數(shù)據(jù)庫(kù)原理與應(yīng)用課程理論聯(lián)系實(shí)際的綜合訓(xùn)練。1、加深對(duì)數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)的理解,鞏固理論基礎(chǔ)。2、熟練掌握數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)中數(shù)據(jù)庫(kù)的規(guī)范設(shè)計(jì)過程,訓(xùn)練和提高數(shù)據(jù)庫(kù)設(shè)計(jì)的技能,實(shí)現(xiàn)理論與實(shí)踐的結(jié)合。3、學(xué)習(xí)和掌握主流數(shù)據(jù)庫(kù)工具的使用;4、學(xué)會(huì)自主性學(xué)習(xí)、研究性探索以及技術(shù)文檔的撰寫,促進(jìn)研究能力、協(xié)作能力和創(chuàng)新能力的提高。課程設(shè)計(jì)要求:1、獨(dú)立思考,獨(dú)立完成:課程設(shè)計(jì)中各任務(wù)的設(shè)計(jì)和調(diào)試要求獨(dú)立完成,遇到問題可以討論,但不可以拷貝。2、做好上機(jī)準(zhǔn)備:每次上機(jī)前,要事先編制好準(zhǔn)備調(diào)試的程序,認(rèn)真想好調(diào)試步驟和有關(guān)環(huán)境的設(shè)置方法,準(zhǔn)備好有關(guān)的文件。3、實(shí)踐設(shè)計(jì)以實(shí)際應(yīng)用中的小型題目為主,要求學(xué)生獨(dú)立完成或合作完成。要求學(xué)生能根據(jù)不同的題目類型選擇一種或兩種開發(fā)模式,完成從系統(tǒng)定義,指定開發(fā)計(jì)劃,需求分析,設(shè)計(jì),編碼/測(cè)試,直至運(yùn)行/維護(hù)的軟件生存期的全過程。完成課程設(shè)計(jì)題目小型酒店管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)度安排及主要內(nèi)容:第一周:調(diào)研;需求分析及總體設(shè)計(jì);規(guī)范化數(shù)據(jù)庫(kù)模型;建庫(kù)。第二周:詳細(xì)設(shè)計(jì)及測(cè)試;使用具體語言實(shí)現(xiàn)算法;數(shù)據(jù)庫(kù)連接;調(diào)試程序;編寫課程設(shè)計(jì)報(bào)告。成績(jī):指導(dǎo)教師(簽字)年 月 日1、 概述 1.1本課題研究的目的及意義 隨著我國(guó)經(jīng)濟(jì)發(fā)展水平的迅速提高,酒店業(yè)作為服務(wù)行業(yè)中的重要組成部分己經(jīng)越來越顯示出其強(qiáng)勁的發(fā)展勢(shì)頭??v觀國(guó)內(nèi)外酒店業(yè)信息化發(fā)展軌跡和趨勢(shì),我們不難看出,隨著酒店業(yè)競(jìng)爭(zhēng)的加劇,酒店之間客源的爭(zhēng)奪越來越激烈,客房銷售的利潤(rùn)空間越來越小,酒店需要使用更有效的信息化手段,拓展經(jīng)營(yíng)空間,降低運(yùn)營(yíng)成本,提高管理和決策效率。而經(jīng)濟(jì)型酒店通過信息化管理提高收益的需求更加突出。高層次的酒店業(yè)信息化不再是僅僅追求計(jì)算機(jī)輔助管理,而是追求建立在集成化基礎(chǔ)上的協(xié)同化應(yīng)用。我國(guó)酒店業(yè)利用計(jì)算機(jī)管理系統(tǒng)來加強(qiáng)管理、提高服務(wù)水平,雖然至今已有了20多年的歷史,但起步發(fā)展較晚,只是一些淺層次應(yīng)用,大多數(shù)還停留于拼八湊的MIS系統(tǒng)水平,甚至還僅限于簡(jiǎn)單的電算化和信息發(fā)布階段,與國(guó)際酒店業(yè)先進(jìn)信息化應(yīng)用的差距非常明顯。信息化程度不高導(dǎo)致企業(yè)決策失誤、市場(chǎng)反應(yīng)速度緩慢等,己經(jīng)成為制約我國(guó)酒店業(yè)進(jìn)一步發(fā)展的重要瓶頸。中國(guó)信息化推進(jìn)聯(lián)盟副理事長(zhǎng)張獻(xiàn)軍曾說,隨著酒店信息化的發(fā)展,酒店將改變以往的經(jīng)營(yíng)理念和競(jìng)爭(zhēng)模式,店內(nèi)裝潢、客房數(shù)量、房間設(shè)施等質(zhì)量競(jìng)爭(zhēng)和價(jià)格競(jìng)爭(zhēng)將退居其次,取而代之的是酒店信息化競(jìng)爭(zhēng),信息化正改變著酒店業(yè)的競(jìng)爭(zhēng)模式。國(guó)家旅游局2002年修訂的旅游星級(jí)飯店評(píng)定的國(guó)家標(biāo)準(zhǔn),已經(jīng)把酒店管理的軟件指標(biāo)及服務(wù)方面作為主要測(cè)評(píng)手段。而現(xiàn)代化的酒店是集客房、餐飲、通訊、娛樂,商務(wù)文化及其他各種服務(wù)與設(shè)施為一體化的消費(fèi)場(chǎng)所,酒店組織龐大,服務(wù)項(xiàng)目多,信息量大,要想提高勞動(dòng)生產(chǎn),降低成本,提高服務(wù)質(zhì)量和管理水平,進(jìn)而促進(jìn)經(jīng)濟(jì)效益,必須借助計(jì)算機(jī)來進(jìn)行現(xiàn)代化的信息管理,本酒店管理系統(tǒng)正是為此而設(shè)計(jì),目的是使酒店管理特別是經(jīng)濟(jì)型酒店在高效、低成本方面跨上一個(gè)新的臺(tái)階。由此可見,一個(gè)好的酒店管理系統(tǒng)應(yīng)該達(dá)到以下幾個(gè)目標(biāo):1. 提高工作效率,減輕勞動(dòng)強(qiáng)度。 在酒店的日常工作中,每天都要完成對(duì)營(yíng)業(yè)信息進(jìn)行更新統(tǒng)計(jì),提供查詢服務(wù),結(jié)算賬單等大量的業(yè)務(wù),用手工方式進(jìn)行的話,不僅速度慢,需要的人手多,且出錯(cuò)的概率也大,而計(jì)算機(jī)管理則可以大大提高業(yè)務(wù)運(yùn)作的速度和準(zhǔn)確性,實(shí)現(xiàn)營(yíng)業(yè)管理自動(dòng)化。 2.提高了酒店經(jīng)濟(jì)效益,增加營(yíng)業(yè)收入。 完善的客房管理功能可防止有房不能出租或房間重訂的情況出現(xiàn),隨時(shí)提供準(zhǔn)確和最新的房態(tài)信息,從而可提高工作效率和客房出租率。客人費(fèi)用的一次性結(jié)賬,不僅減少了票據(jù)傳送,而且避免了管理上的混亂,更主要的是有效地防止逃帳的發(fā)生。 3.提高了服務(wù)質(zhì)量,可以為客人提供快捷、細(xì)致、周到的服務(wù)。 操作人員只需敲擊鍵盤,就可以辦理客人入住、查詢信息、結(jié)賬等各項(xiàng)手續(xù),并準(zhǔn)確無誤地記錄客人的每筆消費(fèi)記錄,大大縮短客人辦理手續(xù)時(shí)的等候時(shí)間,提高了服務(wù)質(zhì)量。4.信息透明,酒店?duì)I業(yè)情況一目了然,提高了經(jīng)營(yíng)者的決策水平。 經(jīng)營(yíng)者可以通過對(duì)酒店經(jīng)營(yíng)狀況及歷史數(shù)據(jù)的分析,做出相關(guān)的經(jīng)營(yíng)決策,并加強(qiáng)對(duì)飯店運(yùn)營(yíng)的內(nèi)部控制,為酒店未來的發(fā)展提供理論依據(jù)。 1.2現(xiàn)狀分析 酒店計(jì)算機(jī)管理系統(tǒng)最早是于上世紀(jì)70年代初在國(guó)外開始發(fā)展起來的,到了上世紀(jì)80年代,國(guó)外的飯店管理系統(tǒng),如EECO,HIS,CLS,Lodgistix等,整個(gè)模式已基本定型,技術(shù)較成熟,功能也比較全面。國(guó)內(nèi)的酒店計(jì)算機(jī)管理系統(tǒng)最早是在80年代初開始的,從事該方面工作的有清華大學(xué)自動(dòng)化系的金國(guó)芬教授、西安交大和浙江省計(jì)算技術(shù)研究所。到上世紀(jì)80年代中經(jīng)濟(jì)型酒店管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)后期,;隨著國(guó)外酒店計(jì)算機(jī)系統(tǒng)的大規(guī)模引進(jìn),國(guó)外酒店的先進(jìn)管理技術(shù)進(jìn)入我國(guó),進(jìn)打步促進(jìn)曩我國(guó)飯店管理技術(shù)的發(fā)展。國(guó)內(nèi)系統(tǒng)正是在充分吸收國(guó)外管理系統(tǒng)的精華。,再結(jié)合國(guó)內(nèi)的實(shí)際情況,逐步發(fā)展成熟,到上世紀(jì)90年代初期形成了幾個(gè)較成熟的軟件系統(tǒng),同時(shí)產(chǎn)生了許多專職從事酒店計(jì)算機(jī)管理系統(tǒng)的公司。進(jìn)入21世紀(jì)后,隨著計(jì)算機(jī)在酒店中的普及應(yīng)用,以及計(jì)算機(jī)技術(shù)的不斷發(fā)展,酒店計(jì)算機(jī)系統(tǒng)的發(fā)展到了一個(gè)新的時(shí)期,新的系統(tǒng)平臺(tái)、新的軟件功能、新的系統(tǒng)特點(diǎn)及發(fā)展方向斷涌現(xiàn),酒店管理系統(tǒng)逐漸向ERP方向發(fā)展。 1.3課程設(shè)計(jì)主要研究?jī)?nèi)容和架構(gòu) 小型酒店管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)是基于MVC三層架構(gòu)完成,使用Java語言開發(fā),主要應(yīng)用jsp完成前臺(tái)界面部分,servlet MVC完成后臺(tái)邏輯部分,采用javabean操作封裝數(shù)據(jù)庫(kù)的表信息。 本系統(tǒng)的設(shè)計(jì)從現(xiàn)實(shí)角度出發(fā),根據(jù)實(shí)際小型酒店管理系統(tǒng)的實(shí)際需求,采用功能模塊化設(shè)計(jì),便于系統(tǒng)組合和修改,又便于酒店系統(tǒng)各類工作人員不同功能操作。系統(tǒng)的設(shè)計(jì)過程由概述、需求分析、技術(shù)方案、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、軟件測(cè)試、總結(jié)等部分構(gòu)成。二、需求分析 2.1系統(tǒng)角色本系統(tǒng)有三個(gè)角色分別為:經(jīng)理、前臺(tái)服務(wù)員、客房管理員,他們進(jìn)入系統(tǒng)都具有不同的權(quán)限和功能,分別都能進(jìn)行自己的管理事項(xiàng),既分工明確,又協(xié)調(diào)統(tǒng)一。 2.2系統(tǒng)功能不同角色登錄就有著不同的功能:1. 經(jīng)理具有雇傭員工、解雇員工的功能;2. 前臺(tái)服務(wù)員滿足顧客的需求:填寫預(yù)定客房訂單、取消顧客的預(yù)定訂單、辦理入住手續(xù)、辦理退房結(jié)賬手續(xù);3. 客房管理員管理客房的狀態(tài),是否可提供入住,還是正在整理中 2.3數(shù)據(jù)庫(kù)需求 2.3.1數(shù)據(jù)庫(kù)表E-R圖本系統(tǒng)的主要的實(shí)體有經(jīng)理,前臺(tái)服務(wù)員,客房管理員,顧客,客房。它們對(duì)應(yīng)的實(shí)體和關(guān)系ER圖如下所示:圖-1 系統(tǒng)ER圖 2.3.2系統(tǒng)管理模塊數(shù)據(jù)庫(kù)實(shí)體共有九個(gè)實(shí)體,實(shí)體屬性如下圖所示。1. 經(jīng)理實(shí)體圖-2所示: 圖-2 經(jīng)理實(shí)體圖2. 前臺(tái)服務(wù)員實(shí)體圖-3所示: 圖-3 前臺(tái)服務(wù)員實(shí)體圖3. 客房管理員實(shí)體圖-4所示: 圖-4 客房管理員實(shí)體圖4. 客房實(shí)體圖-5所示: 圖-5 客房實(shí)體圖5. 顧客實(shí)體圖-6所示: 圖-6 顧客實(shí)體圖6. 預(yù)定實(shí)體圖-7所示: 圖-7 預(yù)定實(shí)體圖7. .入住實(shí)體圖-8所示:圖-8 入住實(shí)體圖8. 經(jīng)理實(shí)體圖-9所示: 圖-9 入住實(shí)體圖9.經(jīng)理實(shí)體圖-10所示: 圖-10 入住實(shí)體圖三、技術(shù)方案 3.1 Java Web相關(guān)技術(shù) 1.JDBCJDBC(Java Data Base Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為數(shù)據(jù)庫(kù)開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫(kù)應(yīng)用程序,并且可跨平臺(tái)運(yùn)行,并且不受數(shù)據(jù)庫(kù)供應(yīng)商的限制(1)跨平臺(tái)運(yùn)行:這是繼承了Java語言的“一次編譯,到處運(yùn)行”的特點(diǎn);(2)不受數(shù)據(jù)庫(kù)供應(yīng)商的限制:巧妙在于JDBC設(shè)有兩種接口,一個(gè)是面向應(yīng)用程序?qū)?,其作用是使得開發(fā)人員通過SQL調(diào)用數(shù)據(jù)庫(kù)和處理結(jié)果,而不需要考慮數(shù)據(jù)庫(kù)的提供商;另一個(gè)是驅(qū)動(dòng)程序?qū)樱幚砼c具體驅(qū)動(dòng)程序的交互,JDBC驅(qū)動(dòng)程序可以利用JDBC API創(chuàng)建Java程序和數(shù)據(jù)源之間的橋梁。應(yīng)用程序只需要編寫一次,便可以移到各種驅(qū)動(dòng)程序上運(yùn)行。Sun提供了一個(gè)驅(qū)動(dòng)管理器,數(shù)據(jù)庫(kù)供應(yīng)商如MySQL、Oracle,提供的驅(qū)動(dòng)程序滿足驅(qū)動(dòng)管理器的要求就可以被識(shí)別,就可以正常工作。所以JDBC不受數(shù)據(jù)庫(kù)供應(yīng)商的限制。JDBC API可以作為連接Java應(yīng)用程序與各種關(guān)系數(shù)據(jù)庫(kù)的紐帶,在帶來方便的同時(shí)也有負(fù)面影響,以下是JDBC的優(yōu)、缺點(diǎn)。優(yōu)點(diǎn)如下:(1)操作便捷:JDBC使得開發(fā)人員不需要再使用復(fù)雜的驅(qū)動(dòng)器調(diào)用命令和函數(shù); (2)可移植性強(qiáng):JDBC支持不同的關(guān)系數(shù)據(jù)庫(kù),所以可以使同一個(gè)應(yīng)用程序支持多個(gè)數(shù)據(jù)庫(kù)的訪問,只要加載相應(yīng)的驅(qū)動(dòng)程序即可; (3)通用性好:JDBC-ODBC橋接驅(qū)動(dòng)器將JDBC函數(shù)換成ODBC; (4)面向?qū)ο螅嚎梢詫⒊S玫腏DBC數(shù)據(jù)庫(kù)連接封裝成一個(gè)類,在使用的時(shí)候直接調(diào)用即可。缺點(diǎn)如下:(1)訪問數(shù)據(jù)記錄的速度受到一定程度的影響; (2)更改數(shù)據(jù)源困難:JDBC可支持多種數(shù)據(jù)庫(kù),各種數(shù)據(jù)庫(kù)之間的操作必有不同,這就給更改數(shù)據(jù)源帶來了很大的麻煩 2.MVC框架MVC最早是在SMALLTALK-80語言中出現(xiàn)。后來在JSP開發(fā)中漸漸得到廣泛應(yīng)用。并且成為Sun公司推薦的J2EE平添的設(shè)計(jì)模式,Sun公司提出的Model2開發(fā)模型就是基于MVC設(shè)計(jì)模式的應(yīng)用。Model2實(shí)現(xiàn)了業(yè)務(wù)邏輯、顯示邏輯和控制的分離,即是基于MVC的框架。MVC框架即模型-視圖-控制器(Model-View-Controller)設(shè)計(jì)模式。M代表Model,V代表View,C代表Controller。MVC的核心思想是將一個(gè)應(yīng)用程序的數(shù)據(jù)業(yè)務(wù)處理功能(模型)、表示功能(視圖)和控制功能(控制層)在3個(gè)不同的部分(或?qū)樱┥戏謩e實(shí)現(xiàn)。MVC 的目的是增加代碼的可重用性,減少數(shù)據(jù)描述和應(yīng)用操作的可耦合度,并提高代碼的可讀性。 3.2 開發(fā)工具 1.SQL server數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)是依照某種數(shù)據(jù)模型組織起來并存放二級(jí)存儲(chǔ)器中的數(shù)據(jù)集合。這種數(shù)據(jù)集合具有如下特點(diǎn):盡可能不重復(fù),以最優(yōu)方式為某個(gè)特定組織的多種應(yīng)用服務(wù),其數(shù)據(jù)結(jié)構(gòu)獨(dú)立于使用它的應(yīng)用程序,對(duì)數(shù)據(jù)的增、刪、改和檢索由統(tǒng)一軟件進(jìn)行管理和控制。SQL Server 是Microsoft 公司推出的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows 2012 的大型多處理器的服務(wù)器等多種平臺(tái)使用。 2.Tomcat服務(wù)器Tomcat是一個(gè)免費(fèi)的、開放源代碼的Web應(yīng)用服務(wù)器,它是Apache軟件基金會(huì)(Apache Software Foundation)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun和其他一些公司及個(gè)人共同開發(fā)。Servlet和JSP規(guī)范在Tomcat容器中都得到了很好的支持,從Tomcat5開始支持最新的Servlet2.4和JSP2.0規(guī)范。Tomcat容器雖然是免費(fèi)開源的Web應(yīng)用服務(wù)器,但是它的技術(shù)含量并不亞于其他Web應(yīng)用服務(wù)器、而且性能穩(wěn)定,運(yùn)行時(shí)占用的系統(tǒng)資源少,是開發(fā)和調(diào)試應(yīng)用程序的理想工具,因而深受Java開發(fā)人員的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。 3.MyEclipse開發(fā)平臺(tái)MyEclipse,是在eclipse 基礎(chǔ)上加上自己的插件開發(fā)而成的功能強(qiáng)大的企業(yè)級(jí)集成開發(fā)環(huán)境,主要用于Java、Java EE以及移動(dòng)應(yīng)用的開發(fā)。MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開源產(chǎn)品的支持相當(dāng)不錯(cuò)。MyEclipse 是一個(gè)十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開源產(chǎn)品的支持十分不錯(cuò)。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能。可以說MyEclipse是幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。四、總體設(shè)計(jì)該小型酒店管理系統(tǒng)是基于MVC開發(fā)模式,使用B/S體系,采用Servlet + Jsp + service框架。其中數(shù)據(jù)訪問層被封裝在Dao層,數(shù)據(jù)訪問層在底層封裝了JDBC。而系統(tǒng)的業(yè)務(wù)邏輯層由service負(fù)責(zé)。系統(tǒng)的所有Jsp裝在工程的根目錄下,Servlet負(fù)責(zé)web層以及Jsp頁(yè)面的跳轉(zhuǎn)功能。此外,系統(tǒng)將數(shù)據(jù)庫(kù)中的所有關(guān)系表都封裝在damain中,以便使用。當(dāng)用戶進(jìn)行操作時(shí),將頁(yè)面中獲取的表單數(shù)據(jù)提取出來,交給servlet進(jìn)行處理,servlet通過調(diào)用業(yè)務(wù)邏輯層(service層)功能函數(shù),與從數(shù)據(jù)庫(kù)中獲取的信息交互,處理問題 4.1系統(tǒng)功能模塊介紹圖-11 系統(tǒng)功能模塊圖各個(gè)模塊具體功能描述如下: 4.1.1登錄管理登錄管理模塊是分角色登錄系統(tǒng),包括經(jīng)理、前臺(tái)服務(wù)員、客房管理員。不同用戶進(jìn)入系統(tǒng)的不同功能模塊進(jìn)行各自的操作。利用不同的系統(tǒng)登錄角色,是系統(tǒng)的結(jié)構(gòu)更為清晰,功能體現(xiàn)的更為具體。 4.1.2經(jīng)理管理該酒店系統(tǒng)只有一位經(jīng)理,該經(jīng)理對(duì)各類員工雇傭、解雇的職能。經(jīng)理通過選擇需要解雇的員工職工號(hào),進(jìn)行員工的刪除。同理根據(jù)職工號(hào)進(jìn)行增添員工信息。功能如下圖: 圖-12 經(jīng)理功能模塊圖 4.1.3客房管理該酒店系統(tǒng)有客房管理員一職,該職員通過登錄系統(tǒng),對(duì)房間的狀態(tài)進(jìn)行及時(shí)的更新。房間的狀態(tài)有兩種:可提供和整理中??头抗芾韱T通過房間號(hào)進(jìn)行更新狀態(tài)。功能如下圖: 圖-13 客房管理員功能模塊圖 4.1.4前臺(tái)管理該酒店系統(tǒng)有前臺(tái)服務(wù)員一職,該職員通過登錄系統(tǒng),對(duì)前臺(tái)預(yù)定房間、入住房間、退房、結(jié)賬的顧客,進(jìn)行接待并完成相應(yīng)的手續(xù)。顧客預(yù)定房間時(shí),服務(wù)員對(duì)顧客的信息進(jìn)行納入,并預(yù)定顧客所選房間,下訂單。顧客入住房間時(shí),服務(wù)員通過顧客的身份證號(hào)進(jìn)行查詢訂單信息,并辦理入住手續(xù)。同時(shí)顧客也可以取消該訂單。最后,顧客辦理退房手續(xù),也是根據(jù)顧客身份證號(hào)進(jìn)行辦理,并結(jié)賬。功能如下圖: 圖-14 前臺(tái)服務(wù)員功能模塊圖 4.2數(shù)據(jù)庫(kù)設(shè)計(jì)系統(tǒng)采用SQL server數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中創(chuàng)建了經(jīng)理表、前臺(tái)服務(wù)員表、客房管理員表、房間表、顧客表、預(yù)定表、入住表、退房表、結(jié)賬表。此外還定義了兩個(gè)觸發(fā)器:顧客預(yù)定觸發(fā)器、刪除顧客觸發(fā)器,后面詳細(xì)介紹功能。 4.2.1.各表定義情況。表-1 經(jīng)理表字段名稱含義數(shù)據(jù)類型是否主鍵是否外鍵其他約束num職工號(hào)varchar(10)是否無name姓名varchar(10)否否非空password登錄密碼varchar(10)否否非空表-2 客房管理員表字段名稱含義數(shù)據(jù)類型是否主鍵是否外鍵其他約束num職工號(hào)varchar(10)是否無name姓名varchar(10)否否非空password登錄密碼varchar(10)否否非空表-3 前臺(tái)服務(wù)員表字段名稱含義數(shù)據(jù)類型是否主鍵是否外鍵其他約束num職工號(hào)varchar(10)是是無name姓名varchar(10)否否非空password登錄密碼varchar(10)否否非空表-4 客房表字段名稱含義數(shù)據(jù)類型是否主鍵是否外鍵其他約束num房間號(hào)varchar(10)是是無type類型varchar(20)否否非空area面積int否否非空hour_price鐘點(diǎn)費(fèi)int否否非空day_price一晚價(jià)int否否非空ssp押金int否否非空state 狀態(tài)varchar(10)否否非空rm_num客房管理員varchar(10)否否非空表-5 顧客表字段名稱含義數(shù)據(jù)類型是否主鍵是否外鍵其他約束num身份證號(hào)varchar(10)是是無name姓名varchar(10)否否非空room_num 預(yù)定房間號(hào)varchar(10)否否非空intype 預(yù)訂房間類型int否否非空intime 入住時(shí)長(zhǎng)int否否非空or_time預(yù)定時(shí)間date否否非空in_time預(yù)定入住時(shí)間date否否非空co_time 預(yù)定退房時(shí)間date否否非空fore_num前臺(tái)接待服務(wù)員varchar(10)否否非空表-6 預(yù)定表字段名稱含義數(shù)據(jù)類型是否主鍵是否外鍵其他約束num顧客身份證號(hào)varchar(10)是是無表-7 入住表字段名稱含義數(shù)據(jù)類型是否主鍵是否外鍵其他約束num顧客身份證號(hào)varchar(10)是是無ischeckin是否入住int否否無表-8 退房表字段名稱含義數(shù)據(jù)類型是否主鍵是否外鍵其他約束num顧客身份證號(hào)varchar(10)是否無表-9 結(jié)賬表字段名稱含義數(shù)據(jù)類型是否主鍵是否外鍵其他約束num顧客身份證號(hào)varchar(10)是否無name顧客姓名varchar(10)否否無allmoney結(jié)賬金額int否否無a_time結(jié)賬日期date否否無 4.2.2.觸發(fā)器顧客下預(yù)定訂單后,自動(dòng)將顧客身份證號(hào)存入預(yù)定、入住、退房表中。create trigger cust_Infoon customerafter insertasbegindeclare c_num varchar(20),room_num varchar(10),ord_time datetime;select c_num=num from inserted;select room_num=room_num from inserted;select ord_time=or_time from inserted;insert into ordered values (c_num);insert into checkin values(c_num,0);insert into checkout values(c_num,0);end;當(dāng)顧客下取消預(yù)定房間訂單或結(jié)賬完成后后,自動(dòng)將顧客的身份證號(hào)存、從入預(yù)定表、入住表、退房表、顧客表中刪除create trigger cust_deleteon customerinstead of deleteasbegindeclare c_num varchar(20);select c_num=num from deleted;delete from checkout where num=c_num;delete from checkin where num=c_num;delete from ordered where num=c_num;delete from customer where num=c_num;end;五、詳細(xì)設(shè)計(jì) 5.1系統(tǒng)類圖使用MyEclipse開發(fā)工具導(dǎo)出系統(tǒng)的主要類圖1.數(shù)據(jù)訪問層及基本數(shù)據(jù)增刪改查操作類 圖-1 數(shù)據(jù)訪問層數(shù)據(jù)訪問層及基本數(shù)據(jù)增刪改查操作類2.javabean封裝類 圖-2 javabean封裝類2. 業(yè)務(wù)邏輯Service層 圖-3 業(yè)務(wù)邏輯Service層3. Web servlet層及Jsp 圖-4 Web servlet層及Jsp 5.2用戶登錄1. 登錄實(shí)現(xiàn)首先選擇登錄角色,默認(rèn)為經(jīng)理。再輸入職工號(hào)與密碼當(dāng)用戶名和密碼都正確時(shí),用戶進(jìn)入到屬于自己角色的系統(tǒng)界面。2.異常處理異常主要包括用戶名或密碼為空、用戶名或密碼在數(shù)據(jù)庫(kù)中不存在。根據(jù)異常原因,將在對(duì)應(yīng)的輸入框后面顯示提示信息。3.主要實(shí)現(xiàn)方法(1)約束用戶名須是字母開頭和字母數(shù)字組成,給用戶名的文本框設(shè)置onblur()事件。當(dāng)失去焦點(diǎn)時(shí),執(zhí)行checkUserName(),在方法里根據(jù)id獲取用戶名的輸入框?qū)ο螅⑦M(jìn)行非空判斷和正則表達(dá)式校驗(yàn)。(2)在LoginServlet類中獲取職工號(hào),從數(shù)據(jù)庫(kù)中調(diào)出等于該職工號(hào)的員工信息,如果為null或與獲取的密碼不一致,則在LoginServlet類中使用setAttribute()方法設(shè)置屬性值,返回到j(luò)sp中顯示出“不存在該用戶”或“密碼錯(cuò)誤”。登錄流程如圖5-4所示: 圖-5 登錄流程 5.3經(jīng)理功能經(jīng)理對(duì)各類員工雇傭、解雇的職能。經(jīng)理通過選擇需要解雇的員工職工號(hào),進(jìn)行員工的刪除。同理根據(jù)職工號(hào)進(jìn)行增添員工信息。界面如下: (a) (b) (c) (d)圖-6 經(jīng)理業(yè)務(wù)界面用到的類:AddMemberServlet、Manager_service、DaoImpl_ma、DeleteMemberServlet、AddMemberServlet經(jīng)理流程圖如下: 圖-7 經(jīng)理業(yè)務(wù)流程圖5.4客房管理功能客房管理員通過登錄系統(tǒng),對(duì)房間的狀態(tài)進(jìn)行及時(shí)的更新。房間的狀態(tài)有兩種:可提供和整理中??头抗芾韱T通過房間號(hào)進(jìn)行更新狀態(tài)。用到的類:RoomChangeServlet、RoomManager_service、DaoImpl_roma流程圖如下: 圖-8 客房管理員業(yè)務(wù)流程圖 5.5前臺(tái)管理員功能該職員通過登錄系統(tǒng),對(duì)前臺(tái)預(yù)定房間、入住房間、退房、結(jié)賬的顧客,進(jìn)行接待并完成相應(yīng)的手續(xù)。顧客預(yù)定房間時(shí),服務(wù)員對(duì)顧客的信息進(jìn)行納入,并預(yù)定顧客所選房間,下訂單。顧客入住房間時(shí),服務(wù)員通過顧客的身份證號(hào)進(jìn)行查詢訂單信息,并辦理入住手續(xù)。同時(shí)顧客也可以取消該訂單。最后,顧客辦理退房手續(xù),也是根據(jù)顧客身份證號(hào)進(jìn)行辦理,并結(jié)賬。用到的類:/HotelManagement/src/cn/cust/dao/impl/DaoImpl_fore.java/HotelManagement/src/cn/cust/service/impl/Fore_waiter_service.java/HotelManagement/src/cn/cust/web/controller/CheckInOrNotServlet.java/HotelManagement/src/cn/cust/web/controller/CheckInServlet.java/HotelManagement/src/cn/cust/web/controller/CheckOut2Servlet.java/HotelManagement/src/cn/cust/web/controller/CheckOutServlet.java/HotelManagement/src/cn/cust/web/controller/OrderServlet.java/HotelManagement/src/cn/cust/web/controller/SelectRoomServlet.java主要用到的方法:/查詢顧客的預(yù)定情況,以便辦理入住Cus_room_ord search_order(String c_num);/查詢顧客入住情況根據(jù)入住辦理退房手續(xù)Cust_in_out search_in(String c_num);/添加顧客boolean fore_add_customer(Customer customer);/辦理入住boolean add_cust_checkIn(String c_num);/辦理退房boolean add_cust_checkout(String c_num);/結(jié)賬功能:房間號(hào)、房間價(jià)格、(房間訂金)boolean add_account(Account account);/刪除顧客信息boolean delete_cust(String c_num);/登錄Fore_waiter search(String num, String password);/判斷顧客是否存在Customer custIsExist(String c_num);/結(jié)賬后刪除結(jié)賬表中的顧客boolean delete_acc(String num);界面如下:圖-9 前臺(tái)服務(wù)員業(yè)務(wù)界面-查詢可用房間 圖-10 前臺(tái)服務(wù)員業(yè)務(wù)界面-顧客信息納入預(yù)定房間前臺(tái)服務(wù)員流程圖如下:圖-11 前臺(tái)服務(wù)員業(yè)務(wù)流程圖六、軟件測(cè)試軟件開發(fā)過程中難免會(huì)出現(xiàn)錯(cuò)誤或缺陷,而軟件測(cè)試的目的就是發(fā)現(xiàn)這些不足。軟件測(cè)試貫穿于項(xiàng)目的整個(gè)生命周期,在項(xiàng)目開發(fā)的每個(gè)階段都需要進(jìn)行不同目的和內(nèi)容的測(cè)試,確保各階段的正確性。軟件開發(fā)與軟件測(cè)試應(yīng)該是交互進(jìn)行的,在單元編碼階段需要單元測(cè)試,在模塊組合階段需要集成測(cè)試。軟件測(cè)試的主要工作內(nèi)容是保證軟件正確地實(shí)現(xiàn)了一些特定功能的一系列活動(dòng)和保證軟件達(dá)到預(yù)期的效果。軟件測(cè)試的對(duì)象不僅僅是程序設(shè)計(jì),還應(yīng)包括需求規(guī)格說明、概要設(shè)計(jì)文檔、詳細(xì)設(shè)計(jì)文檔。本系統(tǒng)主要用到了單元測(cè)試和集成測(cè)試。單元測(cè)試用例如下:運(yùn)用Junit技術(shù)在類中編寫方法,編寫輸出語句,將信息顯示在控制臺(tái),然后觀察控制臺(tái)的輸出信息是否為預(yù)想的結(jié)果。主要測(cè)試函數(shù)如下:void connection();/檢測(cè)是否連接上數(shù)據(jù)庫(kù)void searchRoom();/測(cè)試遍歷客房的函數(shù)void cust_ord();/測(cè)試顧客預(yù)定函數(shù)void add_f();void search_order();void deleteCust();void add_cust_checkIn();void cancel_ord();void search_room();void time();void account();void delete();Testvoid daaF();集成測(cè)試用例如下:三種用戶分別用戶登錄系統(tǒng),逐一使用各個(gè)功能,通過以上步驟,可以有效地測(cè)試各個(gè)功能模塊是否能正常地協(xié)同運(yùn)行。七、總結(jié)以Web方式進(jìn)行信息處理和應(yīng)用系統(tǒng)的開發(fā)已經(jīng)成為信息系統(tǒng)的主

溫馨提示

  • 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)論