酒店信息管理系統(tǒng)-系統(tǒng)分析與設(shè)計課程設(shè)計.doc
《酒店信息管理系統(tǒng)-系統(tǒng)分析與設(shè)計課程設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《酒店信息管理系統(tǒng)-系統(tǒng)分析與設(shè)計課程設(shè)計.doc(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、河南城建學(xué)院河南城建學(xué)院 系統(tǒng)分析與設(shè)計系統(tǒng)分析與設(shè)計課程設(shè)計課程設(shè)計 酒店管理信息系統(tǒng)酒店管理信息系統(tǒng) 專專 業(yè)業(yè) 信息管理與信息系統(tǒng)信息管理與信息系統(tǒng) 課程名稱課程名稱 信息系統(tǒng)分析與設(shè)計信息系統(tǒng)分析與設(shè)計 第一章第一章 前言前言3 1.1 酒店管理信息系統(tǒng)的研究背景.3 1.2 酒店管理信息系統(tǒng)實現(xiàn)的意義.3 第二章第二章 系統(tǒng)實現(xiàn)開發(fā)工具簡介系統(tǒng)實現(xiàn)開發(fā)工具簡介4 2.1 系統(tǒng)開發(fā)語言 ASP.NET4 2.2 數(shù)據(jù)庫平臺選擇.5 2.3 系統(tǒng)開發(fā)所使用的關(guān)鍵技術(shù).7 2.3.1 Ado.Net數(shù)據(jù)庫訪問技術(shù)7 2.3.2 Asp.Net的窗體身份驗證.8 第三章第三章 系統(tǒng)需求分析系
2、統(tǒng)需求分析9 3.1 系統(tǒng)目標(biāo).9 3.2 系統(tǒng)功能分析.9 3.3 業(yè)務(wù)流程圖.9 3.4 數(shù)據(jù)流程圖 .13 3.5 數(shù)據(jù)字典 .15 第四章第四章 系統(tǒng)系統(tǒng) UML 建模建模1 4.1 酒店管理系統(tǒng)用例圖 .1 4.2 酒店管理系統(tǒng)活動圖 .2 4.3 酒店管理系統(tǒng)客房類圖 .3 4.4 酒店管理系統(tǒng)訂房順序圖 .4 第五章第五章 系統(tǒng)模塊設(shè)計系統(tǒng)模塊設(shè)計4 5.1 酒店前臺接待子模塊.5 5.2 酒店前臺結(jié)算子模塊.6 5.3 酒店預(yù)訂子模塊.6 5.4 酒店商品管理子模塊.6 5.5 酒店客房標(biāo)準(zhǔn)管理子模塊.7 5.6 酒店客房信息管理子模塊.7 5.7 用戶管理子模塊.7 第六章第
3、六章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計8 6.1 數(shù)據(jù)庫需求分析.8 6.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(E-R 圖) .8 6.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計.10 6.4 數(shù)據(jù)表關(guān)系設(shè)計.13 第七章第七章 酒店管理系統(tǒng)的實現(xiàn)酒店管理系統(tǒng)的實現(xiàn)13 7.1 用戶界面 .13 7.2 客人入住及代碼設(shè)計.14 7.3 用戶結(jié)帳及代碼設(shè)計 .16 7.4 顧客預(yù)訂及代碼設(shè)計.19 第八章第八章 總結(jié)總結(jié)23 第一章第一章 前言前言 1.1 酒店管理信息系統(tǒng)的研究背景 隨著我國加入世界貿(mào)易組織,酒店服務(wù)業(yè)與國際市場接軌已成為大勢所趨, 酒店要迎接這場挑戰(zhàn),就必須提高整體競爭能力,提高整體競爭能力必須變革 酒店的管理模式,提
4、高管理水平,實施信息化建設(shè)無疑是實現(xiàn)這一目的的必由 之路和明智之舉。目前,我國酒店服務(wù)業(yè)信息化管理的進程緩慢,跟國外的酒 店相比管理依然落后。在激烈的酒店業(yè)競爭中,如何能把握機會,保持自己的 優(yōu)勢,立于不敗之地呢?這就需要提供最好的服務(wù),提供最完善的設(shè)施和最先 進的技術(shù)。一個成功的酒店,其經(jīng)營者不僅要提高服務(wù)水平和服務(wù)質(zhì)量,從而 提高客房占有率和回頭率,還要有好的工作效率,并控制成本。在信息時代, 更重要的是還必須要有一個完善的管理信息系統(tǒng),便于方便客人和更好地管理 酒店。 一套優(yōu)秀的酒店管理信息系統(tǒng)應(yīng)該是一套適用于星級酒店使用的優(yōu)秀系統(tǒng), 操作簡單、靈活性好、系統(tǒng)安全性高、運行穩(wěn)定,是管理者
5、的理想選擇。我的 課程設(shè)計題目就是設(shè)計一個基于 B/S 的酒店管理信息系統(tǒng),在前期的考察和分 析之后,對系統(tǒng)進行了設(shè)計,雖然受水平所限,實踐經(jīng)驗十分匱乏,獨立完成 一套完備的優(yōu)秀的酒店管理信息系統(tǒng)有很大的難度,但是我努力在實踐中鞏固 以及整理自己在大學(xué)期間所學(xué)的知識,盡量把這個系統(tǒng)設(shè)計的更好。 1.2 酒店管理信息系統(tǒng)實現(xiàn)的意義 近年來,隨著我國改革開放的發(fā)展,國內(nèi)的酒店服務(wù)業(yè)得到了日新月異的 發(fā)展?,F(xiàn)代酒店作為一體化的接待場所,是一個旅游城市的窗口,也可以說是 一個小型社會。作為一種以服務(wù)為主的無煙工業(yè),世界各國對此行業(yè)的重視程 度并不亞于其它工業(yè)。 酒店在其運作期間,服務(wù)水平的高低,直接影
6、響到酒店的形象和聲譽,如: 服務(wù)的安排、調(diào)度是否周到;客人的要求是否能迅速、很好地得到滿足;市場 的預(yù)測分析是否快捷、準(zhǔn)確等。這其中的核心就是對每天大量的信息(客人、 費用、房間等)的正確處理和保存。采用計算機這一現(xiàn)代化工具作為管理的輔 助手段是必須的。計算機的應(yīng)用包括 OA(辦公自動化) 、MIS(管理信息系統(tǒng)) 、 CAD(計算機輔助設(shè)計)等,酒店的計算機系統(tǒng)正是典型的 MIS 應(yīng)用。 本酒店管理信息系統(tǒng),是針對酒店、酒店的具體業(yè)務(wù)而開發(fā)的,業(yè)務(wù)管理 以酒店的訂房管理為核心,為用戶提供迅速、高效的服務(wù),減免手工處理的繁 瑣與誤差,及時、準(zhǔn)確地反映酒店的工作情況、經(jīng)營情況,從而提高酒店的服
7、務(wù)質(zhì)量,并配合現(xiàn)代化的酒店管理,獲得更好的經(jīng)濟效益。就經(jīng)濟效益而言, 酒店的計算機應(yīng)用是: (1)間接性的:其經(jīng)濟效益不是直接產(chǎn)生的,是通過對人力、物力的節(jié)省 而帶來的,可以堵塞許多漏洞; (2)長期性的:計算機的投資是較大的,是在長期的應(yīng)用中逐步得到回報 的; (3)社會效益:酒店是一個高層次的服務(wù)行業(yè),采用計算機可提高服務(wù)質(zhì) 量,有良好的社會形象。 第二章第二章 系統(tǒng)實現(xiàn)開發(fā)工具簡介系統(tǒng)實現(xiàn)開發(fā)工具簡介 2.1 系統(tǒng)開發(fā)語言 ASP.NET 現(xiàn)在流行的 B/S 架構(gòu)的開發(fā)工具有 ASP,JSP,PHP,ASP.NET 等,雖然這些 開發(fā)工具各有特點,但從易用性,開發(fā)速度,應(yīng)用程序的運行速度
8、方面考慮 ASP.NET 無疑是當(dāng)中的佼佼者。在選擇開發(fā)工具時需要考慮的問題包括: 1.開發(fā)工具本身的性能。 2.穩(wěn)定性和可靠性。 3.可視化開發(fā)。 4.面向?qū)ο蠹夹g(shù)。 5.開放性。 6.團隊開發(fā)能力。 7.數(shù)據(jù)庫訪問能力。 8.支持?jǐn)?shù)據(jù)庫產(chǎn)品的擴展能力。 9.數(shù)據(jù)訪問速度。 10. 對不同解決方案的支持能力。 ASP.NET 的特點: 1)執(zhí)行效率的大幅提高 ASP.NET 是把基于通用語言的程序在服務(wù)器上運 行。不像以前的 ASP 即時解釋程序,而是將程序在服務(wù)器端首次運行 時進行編譯,這樣的執(zhí)行效果,當(dāng)然比一條一條的解釋強很多。 2)世界級的工具支持 ASP. NET 構(gòu)架是可以用 Mi
9、crosoft(R)公司最新 的產(chǎn)品 Visual S 開發(fā)環(huán)境進行開發(fā),WYSIWYG(What You See Is What You Get 所見即為所得)的編輯。這些僅是 ASP.net 強大 化軟件支持的一小部分。 3)強大性和適應(yīng)性 因為 ASP. NET 是基于通用語言的編譯運行的程序, 所以它的強大性和適應(yīng)性,可以使它運行在 Web 應(yīng)用軟件開發(fā)者的幾 乎全部的平臺上(筆者到現(xiàn)在為止只知道它只能用在 Windows 2000 Server 上) 。通用語言的基本庫,消息機制,數(shù)據(jù)接口的處理都能無縫 的整合到 ASP.NET 的 Web 應(yīng)用中。ASP.NET 同時也是 lang
10、uage- independent 語言獨立化的,所以,你可以選擇一種最適合你的語言 來編寫你的程序,或者把你的程序用很多種語言來寫,現(xiàn)在已經(jīng)支持 的有 C#(C+和 Java 的結(jié)合體) ,VB,Jscript。將來,這樣的多種程 序語言協(xié)同工作的能力保護您現(xiàn)在的基于 COM+開發(fā)的程序,能夠完 整的移植向 ASP. NET。 4)簡單性和易學(xué)性 ASP. NET 是運行一些很平常的任務(wù)如表單的提交客 戶端的身份驗證、分布系統(tǒng)和網(wǎng)站配置變得非常簡單。例如 ASP.NET 頁面構(gòu)架允許你建立你自己的用戶分界面,使其不同于常見的 VB- Like 界面。另外,通用語言簡化開發(fā)使把代碼結(jié)合成軟件簡
11、單的就像 裝配電腦。 5)高效可管理性 ASP. NET 使用一種字符基礎(chǔ)的,分級的配置系統(tǒng),使 你服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡單。因為配置信息都保存在簡 單文本中,新的設(shè)置有可能都不需要啟動本地的管理員工具就可以實 現(xiàn)。這種被稱為“Zero Local Administration“的哲學(xué)觀念使 A 的 基于應(yīng)用的開發(fā)更加具體,和快捷。一個 ASP.NET 的應(yīng)用程序在一 臺服務(wù)器系統(tǒng)的安裝只需要簡單的拷貝一些必須得文件,不需要系統(tǒng) 的重新啟動,一切就是這么簡單。 6)多處理器環(huán)境的可靠性 ASP.NET 已經(jīng)被刻意設(shè)計成為一種可以用于 多處理器的開發(fā)工具,它在多處理器的環(huán)境下用特殊的無
12、縫連接技術(shù), 將很大的提高運行速度。即使你現(xiàn)在的 ASP. NET 應(yīng)用軟件是為一個 處理器開發(fā)的,將來多處理器運行時不需要任何改變都能提高他們的 效能,但現(xiàn)在的 ASP 確做不到這一點。 7)自定義性,和可擴展性 ASP. NET 設(shè)計時考慮了讓網(wǎng)站開發(fā)人員可以 在自己的代碼中自己定義“plug-in“的模塊。這與原來的包含關(guān)系不同, ASP. NET 可以加入自己定義的如何組件。網(wǎng)站程序的開發(fā)從來沒有這 么簡單過。 8)安全性 基于 Windows 認(rèn)證技術(shù)和每應(yīng)用程序配置,你可以確性你的 原程序時絕對安全的。 (但是 Asp 的經(jīng)驗告訴我們,不能這么自信, M$老是會出 Bug 的) 。
13、 2.2 數(shù)據(jù)庫平臺選擇 所謂數(shù)據(jù)庫,我們可以把它形象地說成是存儲數(shù)據(jù)的“倉庫” 。數(shù)據(jù)庫是為 了滿足某一部門中多個用戶的多種應(yīng)用需要,按照一定的數(shù)據(jù)模型在計算機系 統(tǒng)中組織、存儲和使用的互相聯(lián)系的數(shù)據(jù)集合。數(shù)據(jù)庫系統(tǒng)是管理大量的、持 久的、可靠的、共享的數(shù)據(jù)的工具。就是同各種數(shù)據(jù)庫建立聯(lián)系,進行溝通。 按照 ANSI(美國國家標(biāo)準(zhǔn)協(xié)會)的規(guī)定,SQL 被作為關(guān)系開數(shù)據(jù)庫管理系統(tǒng)的 標(biāo)準(zhǔn)語言。SQL 語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù), 從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)滸的關(guān)系開數(shù)據(jù)庫管理系統(tǒng),如 Oracle、Sybase、Microsoft SQL Server、I
14、nformix、IBM DB2 等都采用了 SQL 語言標(biāo)準(zhǔn)。顯然很多數(shù)據(jù)庫產(chǎn)品都對 SQL 語句進行了再開發(fā)和擴展,但是包括 Select、Insert、Update、Create 以及 Drop 在內(nèi)的標(biāo)準(zhǔn)的 SQL 命令仍然可以 被用來完成幾乎所有的數(shù)據(jù)庫操作。SQL 是英文 structure Query Language 的 縮寫,意思為結(jié)構(gòu)化查詢語言。 數(shù)據(jù)庫是酒店酒店管理的核心組成部分,所有信息處理子系統(tǒng)都將基于某 種數(shù)據(jù)庫平臺,以便將其處理的信息資源完整、安全地保存起來,并且對其進 行各種管理和利用。選擇一個發(fā)的數(shù)據(jù)庫平臺是非常重要的。根據(jù)酒店信息管 理應(yīng)用的實際需要,在選擇數(shù)
15、據(jù)庫平臺時,應(yīng)考慮下列因素: (1)性能:數(shù)據(jù)庫的數(shù)據(jù)處理能力。 (2)開放性:數(shù)據(jù)庫是否能在多種操作系統(tǒng)下使用。 (3)安全性:數(shù)據(jù)庫是否具有高度的安全性。 (4)可靠性:數(shù)據(jù)庫是否具有高度的可靠性。 (5)并行性:數(shù)據(jù)庫是否并行運行在多節(jié)點上。 (6)可操作性:數(shù)據(jù)庫在使用前是否需要復(fù)雜的培訓(xùn)。 數(shù)據(jù)庫平臺選用的是 MicroSoft 公司的 SQL Server 2000,SQL Server 2000 是 SQL Server 的最新版本,比以前版本提高了性能、可靠性、質(zhì)量和易用性。 Microsoft SQL Server 2000 增加了幾種新的功能,由此成為大規(guī)模聯(lián)機事務(wù)處 理
16、(OLTP)、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫平臺。SQL Server 2000 擁有大型數(shù)據(jù)庫系統(tǒng)基本特征,但保持了 windows 環(huán)境下界面友好,操作 簡單的優(yōu)點,成為 windows 環(huán)境下開發(fā)中、小型 B/S 系統(tǒng)較流行的數(shù)據(jù)庫系統(tǒng)。 與傳統(tǒng)的桌面數(shù)據(jù)庫系統(tǒng)相比 SQL Server 2000 有以下區(qū)別: (1)面向集合與面向記錄。面向集合與面向記錄應(yīng)該是 B/S 系統(tǒng)與桌面數(shù) 據(jù)庫系統(tǒng)的最本質(zhì)的區(qū)別。在桌面數(shù)據(jù)庫系統(tǒng)中,它得到的是整個數(shù)據(jù)表,面 向的是整個數(shù)據(jù)表的所有記錄,因此,在桌面數(shù)據(jù)庫系統(tǒng)中,第一條;上一條、 下一條、最后一條等概念是非常普遍的,而在 B/S 系統(tǒng)中
17、沒有這些概念,因為 客戶程序在向服務(wù)器發(fā)送服務(wù)請求時,得到的數(shù)據(jù)可以由一個或多個數(shù)據(jù)表的 多個字段構(gòu)成,是服務(wù)器上所有數(shù)據(jù)的一個子集,它的請求是通過 SQL 語句來 實現(xiàn)的,因此在 C/S 系統(tǒng)中,它面向的是整個數(shù)據(jù)庫的一個子集合。 (2)數(shù)據(jù)安全管理。SQL 數(shù)據(jù)庫在數(shù)據(jù)安全性管理方面比桌面數(shù)據(jù)庫系 統(tǒng)要強得多,它不僅對數(shù)據(jù)庫的訪問進行口令驗證,而且它還能夠?qū)μ囟ǖ臄?shù) 據(jù)庫對象進行限制,包括視圖、數(shù)據(jù)表的存儲過程,更重要的是它可以設(shè)置用 戶權(quán)限,通過 Grant 和 Revoke 命令向一個用戶或一組用戶授權(quán)或收權(quán)。 (3)數(shù)據(jù)完整性管理。對于 SQL 數(shù)據(jù)庫而言,它允許在服務(wù)器端定義一 些
18、業(yè)務(wù)規(guī)則用于驗證數(shù)據(jù)的完整性,強制所有的客戶端程序都必須接受相同的 業(yè)務(wù)規(guī)則約束,這樣有利于集中維護這些規(guī)則。雖然桌面數(shù)據(jù)庫系統(tǒng)也能進行 數(shù)據(jù)完整性管理,但是它只能在應(yīng)用程序中定義這些驗證規(guī)則,所有需要驗證 的地方都必須寫入相同或相似的代碼,這樣不利于維護這樣規(guī)則。另外,SQL 數(shù)據(jù)庫在完整性約束上,一般在創(chuàng)建數(shù)據(jù)表時就定義好的,它既可以定義為數(shù) 據(jù)表的一部分,也可以通過存儲過程或觸發(fā)器等形式從數(shù)據(jù)表中獨立出來。 (4)數(shù)據(jù)庫的并發(fā)訪問管理。SQL 數(shù)據(jù)庫采用優(yōu)化鎖定策略,允許多個 用戶可以同時訪問服務(wù)器而不互相干擾。這種技術(shù)并不限制客戶訪問當(dāng)前正在 被其它用戶訪問的數(shù)據(jù)表,可以照常對它進行編
19、輯(增、刪、改),并請求服務(wù) 器保存修改的數(shù)據(jù)。桌面數(shù)據(jù)庫系統(tǒng)則明確地或完全地鎖定策略,也就是說那 些當(dāng)前正在被其它用戶使用的數(shù)據(jù)無法訪問,更無法編輯,如果試圖訪問或修 改這些數(shù)據(jù),系統(tǒng)產(chǎn)生錯誤的提示信息。 (5)事務(wù)控制。用于在系統(tǒng)發(fā)生錯誤時保持?jǐn)?shù)據(jù)庫的一致性和完整性。每 個更新 SQL Server 數(shù)據(jù)庫內(nèi)數(shù)據(jù)的應(yīng)用程序都使用事務(wù)完成這個任務(wù)。事務(wù) 是由一系列語句(選擇、插入、更新或刪除)構(gòu)成的邏輯工作單元。如果在事 務(wù)執(zhí)行過程中沒有遇到錯誤,則事務(wù)中的所有修改成為數(shù)據(jù)庫的永久部分。如 果遇到錯誤,則不對數(shù)據(jù)庫做任何修改。桌面數(shù)據(jù)庫系統(tǒng)一般不提供事務(wù)控制 功能。 2.3 系統(tǒng)開發(fā)所使用的
20、關(guān)鍵技術(shù) 2.3.1 Ado.Net 數(shù)據(jù)庫訪問技術(shù) ADO.NET 是.NET 應(yīng)用程序的數(shù)據(jù)訪問模型。它能用于訪問關(guān)系型數(shù)據(jù)庫系 統(tǒng),如 SQL Server 2000,及很多其它已經(jīng)配備了 OLE DB 供應(yīng)器的數(shù)據(jù)源。在 某種程度上,ADO.NET 代表了最新版本的 ADO 技術(shù)。然而,ADO.NET 引入了一些 重大變化和革新,它們專門用于結(jié)構(gòu)松散的、本質(zhì)非鏈接的 Web 應(yīng)用程序。 ADO.NET 引入的一個重要變化是,用 DataTable, DataSet, DataAdapter, 和 DataReader 對象的組合代替了 ADO Recordset 對象。DataTabl
21、e 表示來自一個 表的行集合,在這方面它與 Recordset 類似。DataSet 表示 DataTable 對象的 集合,及與其它表綁定在一起的關(guān)系和限制。實際上,DataSet 是具有內(nèi)置的 擴展標(biāo)記語言(XML)支持的內(nèi)存中的關(guān)聯(lián)結(jié)構(gòu)。 DataSet 的一個主要特點是,它對底層的數(shù)據(jù)源一無所知,而這些數(shù)據(jù)源可能 用于對其進行填充。這是一個分離的用于表示數(shù)據(jù)集合的獨立實體,并且它可 通過多層應(yīng)用程序的不同層由一個組件傳遞到另一組件。它也可作為 XML 數(shù)據(jù) 流被序列化,因而非常適合于不同類型平臺間的數(shù)據(jù)傳輸。ADO.NET 使用 DataAdapter 對象為發(fā)送到和來自 DataSe
22、t 及底層數(shù)據(jù)源的數(shù)據(jù)建立通道。 DataAdapter 對象還支持增強的批更新特性,以前這是 Recorder 的相關(guān)功能。 2.3.2 Asp.Net 的窗體身份驗證 基于窗體的驗證是最為普遍的一種驗證,使用這種驗證方式可以很方便靈 活地應(yīng)用到應(yīng)用程序中。窗體驗證方式對基于用戶的驗證授權(quán)提供了很好的支 持,可以通過一個登錄頁面驗證用戶的身份,將此用戶的身份發(fā)回到客戶端的 Cookie,之后此用戶再訪問這個 web 應(yīng)用就會連同這個身份 Cookie 一起發(fā)送到 服務(wù)端。服務(wù)端上的授權(quán)設(shè)置就可以根據(jù)不同目錄對不同用戶的訪問授權(quán)進行 控制了。 要采用窗體驗證,先要在應(yīng)用程序根目錄中的 Web.
23、config 中做相應(yīng)的設(shè)置: 其中 表示本應(yīng)用程序采用 Forms 驗證方 式。 (1)標(biāo)簽中的 name 表示指定要用于身份驗證的 HTTP Cookie。默 認(rèn)情況下,name 的值是 .ASPXAUTH。采用此種方式驗證用戶后,以此用戶的信 息建立一個 FormsAuthenticationTicket 類型的身份驗證票,再加密序列化為一 個字符串,最后將這個字符串寫到客戶端的 name 指定名字的 Cookie 中。一旦這 個 Cookie 寫到客戶端后,此用戶再次訪問這個 web 應(yīng)用時會將連同 Cookie 一 起發(fā)送到服務(wù)端,服務(wù)端將會知道此用戶是已經(jīng)驗證過的。 (2)標(biāo)簽中的
24、 loginUrl 指定如果沒有找到任何有效的身份驗證 Cookie,為登錄將請求重定向到的 URL。默認(rèn)值為 Login.aspx。loginUrl 指 定的頁面就是用來驗證用戶身份的,一般此頁面提供用戶輸入用戶名和密碼,用 戶提交后由程序來根據(jù)自己的需要來驗證用戶的合法性(大多情況是將用戶輸入 信息同數(shù)據(jù)庫中的用戶表進行比較),如果驗證用戶有效,則生成同此用戶對應(yīng) 的身份驗證票,寫到客戶端的 Cookie,最后將瀏覽器重定向到用戶初試請求的 頁面,一般是用 FormsAuthentication.RedirectFromLoginPage 方法來完成生 成身份驗證票,寫回客戶端,瀏覽器重定
25、向等一系列的動作。 生成身份驗證 Cookie 后,將此 Cookie 加入到 Response.Cookies 中,等 待發(fā)送到客戶端。 RedirectFromLoginPage 方法調(diào)用 FormsAuthentication.GetRedirectUrl 方法獲取到用戶原先請求的頁面,重定向到這個頁面。 (3) 標(biāo)簽中的 timeout 和 path,是提供了身份驗證票寫入到 Cookie 過期時間和默認(rèn)路徑。 第三章第三章 系統(tǒng)需求分析系統(tǒng)需求分析 3.1 系統(tǒng)目標(biāo) 本系統(tǒng)的總目標(biāo)是為用戶提供迅速、高效的服務(wù),減免手工處理的繁瑣與 誤差,及時、準(zhǔn)確地反映酒店的工作情況、經(jīng)營情況,從而
26、提高酒店的服務(wù)質(zhì) 量,獲得更好的經(jīng)濟效益。具體的目標(biāo)包括: (1)快速辦理客人入住、退房的速度,實現(xiàn)客人在酒店消費自動化; (2)準(zhǔn)確無誤地記錄客人的每筆消費記錄; (3)實時、快速、準(zhǔn)確提供客房動態(tài); (4)方便查詢客人的消費情況。 3.2 系統(tǒng)功能分析 主要功能是: 前臺: 1.酒店的前臺宣傳。 2. 顧客留言。 3. 網(wǎng)上預(yù)訂房間(訂房過程為:選擇你中意的房間,進行預(yù)訂,付費, 酒店人員確認(rèn)付款成功后電話與你聯(lián)系確定訂房成功)。 后臺: 1. 對客房標(biāo)準(zhǔn)的處理。 2. 對客房信息的處理。 3. 對訂房信息的處理。 4. 對結(jié)算信息的處理。 5. 顧客商品消費管理。 6. 發(fā)票打印。 7.
27、 對前臺的管理。 3.3 業(yè)務(wù)流程圖 (1) 主業(yè)務(wù)流程圖(如圖 3.1) 登記離店 圖 3.1. 客房管理主要流程圖 賓客 酒店管理信 息系統(tǒng) 賓客 (2)客房管理業(yè)務(wù)流程圖(如圖 3.2) 預(yù)定 預(yù)訂單 接待 客房 客房賬單 預(yù) 訂 離店 款 結(jié)賬 賬單 備用物品 報 表 房 費 話單 電話 入 賬 財務(wù)部門 圖 3.2 客房管理主要流程圖 (3)客房預(yù)定子系統(tǒng)流程圖(如圖 3.3) 客房流量表 變更客房流量 預(yù)定信息 預(yù)定/修改/取消 預(yù)訂單 預(yù)定排房 預(yù)定排房表 預(yù)定查詢 預(yù)定報表 圖 3.3 客房預(yù)定業(yè)務(wù)流程圖 4.前臺接待子系統(tǒng)流程圖(如圖 3.4) 賬單 登記/換房/續(xù)住 預(yù)訂單
28、 登 記 客房流量表 改變客房流量 賓客入住信息賓客表 入住 客房表 查 詢 接待報表 圖 3.4 前臺接待流程圖 5.退房結(jié)賬子系統(tǒng)流程圖(如圖 3.5) 離店 客房表 結(jié)賬信息 結(jié)賬/轉(zhuǎn)賬 預(yù)付款 賬單 掛賬 應(yīng)收款 預(yù)付信息 消費賬單 圖 前臺接待流程圖 打 印 賬單 圖 4.4 前臺接待流程圖 查詢 查 詢 結(jié)賬報表 3.4 數(shù)據(jù)流程圖 客房標(biāo)準(zhǔn)設(shè)置客房登記 基本信息錄入 客房信息管理 顧客登記 訂房信息處理 訂房信息管理 結(jié)算信息輸入 結(jié)算信息管理 客房信息返回 基本信息錄入 客房標(biāo)準(zhǔn)管理 圖 3.4 數(shù)據(jù)流程圖 (1)層 DFD 圖 單位數(shù)據(jù) 數(shù)據(jù)表單 圖層 DFD 圖 (2) 層
29、 DFD 圖 用戶單位用戶單位 信息管 理系統(tǒng) 用戶單位 與用戶 交互 處理密 碼 顯示用 戶界面 管理員修 改數(shù)據(jù) 處理房 間信息 處理命 令 修改/添加信息 修改信息 處理訂 房信息密碼 修改 修改密碼 處理結(jié) 算 顯示處 理結(jié)果 用戶單位 圖:層 DFD 圖 3.5 數(shù)據(jù)字典 名字樓層信息表 名稱預(yù)訂單表 別名客房預(yù)定信息 描述為管理員提供酒店客房的預(yù)定信息,及時對客流量進行控制 定義 預(yù)訂單號+ 會員編號+ 客房類型+抵店時間+離店時間+單據(jù)狀態(tài)+入 住人數(shù)+客房 編號+客房價格+入住價格+折扣+折扣原因+是否加床+加床價格+預(yù) 收款+預(yù)訂人+ 預(yù)定公司+聯(lián)系電話+備注+操作員+業(yè)務(wù)員
30、 位置業(yè)務(wù)管理、預(yù)定管理界面 名字入住單表 別名入住信息 描述提供酒店賓客入住的具體信息,方便管理員查詢以及管理員了解賓 客的入住狀態(tài) 定義 入住單號+預(yù)訂單號+客房類型+抵店時間+離店時間+單據(jù)狀態(tài)+入住 人數(shù)+客房編 號+客房價格+入住價格+折扣+折扣原因+預(yù)收款+預(yù)訂人+預(yù)定公司+ 聯(lián)系電話+備 注+操作員+應(yīng)收賬款+是否結(jié)賬+結(jié)賬金額+結(jié)賬日期+付款方式 位置預(yù)定管理、入住管理界面 名字客房信息表 別名客房信息 描述為賓客和管理員提供客房的各項信息,方便管理員進行信息更新和 賓客選擇客房 定義客房編號+類型編號+ 樓層編號+額定人數(shù)+床數(shù)+客房描述+備注+狀 態(tài)+是否可拼 房 位置基礎(chǔ)
31、設(shè)置界限 名字賬單明細(xì)表 別名賓客消費信息 描述為管理員提供賓客入住期間的各項消費信息 定義賬單編號+ 入住單號+ 消費內(nèi)容+ 消費金額+消費時間+備注 位置消費結(jié)賬、收銀退房界面 名字客房類型表 別名客房分類信息 描述為賓客和管理員提供酒店客房的分類信息 定義類型編號+ 類型名稱+ 價格+ 拼房價格+可超預(yù)定數(shù)+是否可拼房 位置基礎(chǔ)設(shè)置界面 描述及時登記酒店職員的各項信息,規(guī)范酒店職員的人事檔案管理 定義內(nèi)部編號+ 職員編號+姓名+姓名簡碼+ 性別+出生日期+年齡 + 籍貫 +民族+文化 程度+畢業(yè)學(xué)校+健康狀況+婚姻狀況+省份證號碼+家庭電話+辦公電 話+手機+電子 郵件地址+職工帳號+單
32、位編號+備注 位置員工管理界面 第四章第四章 系統(tǒng)系統(tǒng) UML 建模建模 4.1 酒店管理系統(tǒng)用例圖酒店管理系統(tǒng)用例圖 名字用戶表 別名用戶信息 描述提供用戶登錄鑰匙 定義用戶名+密碼+用戶類別+姓名+郵箱+密碼找回問題+密碼找回答案 位置用戶登錄界面 別名客房樓層信息 描述為管理員提供酒店客房所處的樓層信息信息 定義樓層編號+ 樓層名稱 位置基礎(chǔ)設(shè)置、房態(tài)管理界面 此用例圖為系統(tǒng)經(jīng)營管理圖??偨?jīng)理管理各部門經(jīng)理,各部門經(jīng)理管理各 部門職能,各部門職能均由酒店管理系統(tǒng)進行管理。 4.2 酒店管理系統(tǒng)酒店管理系統(tǒng)活動活動圖圖 此活動圖為酒店管理系統(tǒng)登錄界面。用戶登錄如果失敗,返回重新登錄, 如果
33、登錄失敗 3 次,則自動退出系統(tǒng),結(jié)束登錄。若登錄成功,則選擇用戶類 型,在普通用戶下,可以進行管理自己的信息,客房管理,預(yù)訂管理消費管理。 在管理人員下,可以進行客房管理,預(yù)訂管理,消費管理,管理自己和普通用 戶的信息。 4.3 酒店管理系統(tǒng)酒店管理系統(tǒng)客房類客房類圖圖 此類圖為酒店客房信息管理類圖,客房信息管理著客房分類,客房狀態(tài), 客房經(jīng)營和顧客的歷史記錄。在客房分類中包含著客房種類、名稱、面積、價 格等關(guān)于客房的信息??头繝顟B(tài)中是關(guān)于房間號和狀態(tài)的信息??头拷?jīng)營管理 著顧客信息,顧客信息內(nèi)含有顧客姓名、電話和顧客消費情況。歷史記錄內(nèi)包 含著顧客的客房消費。 4.4 酒店管理系統(tǒng)酒店管理
34、系統(tǒng)訂房順序訂房順序圖圖 此圖為用房管理順序圖,用戶登錄到放假經(jīng)營管理界面然后發(fā)送查看消息 查看房間使用情況,當(dāng)返回房間注滿消息后結(jié)束程序,如果發(fā)送空房的消息則 進入酒店管理界面,發(fā)送填寫訂房信息后將進入系統(tǒng)錄入訂房信息。 第五章第五章 系統(tǒng)模塊設(shè)計系統(tǒng)模塊設(shè)計 按照系統(tǒng)架構(gòu)設(shè)計方案,酒店管理信息系統(tǒng)分為:酒店前臺接待子模塊、 前臺結(jié)算子模塊、預(yù)訂管理子模塊、商品管理子模塊、房間標(biāo)準(zhǔn)管理子模塊、 房間信息管理子模塊、系統(tǒng)前臺宣傳子模塊,用戶管理子模塊。各子系統(tǒng)由后 臺數(shù)據(jù)庫系統(tǒng)和相應(yīng)的子系統(tǒng)應(yīng)用程序組成。以下是本系統(tǒng)的結(jié)構(gòu)圖: 酒店信息管理系統(tǒng) 接 待 子 模 塊 商 品 子 模 塊 預(yù) 訂
35、子 模 塊 結(jié) 算 子 模 塊 標(biāo) 準(zhǔn) 子 模 塊 房 管 子 模 塊 宣 傳 子 模 塊 用 戶 子 模 塊 系統(tǒng)結(jié)構(gòu)圖 5.1 酒店前臺接待子模塊 酒店前臺管理的工作是十分復(fù)雜、繁瑣的,但它是日常經(jīng)常遇到的、必須 的、重要的環(huán)節(jié),以下就重點把前臺的設(shè)計講述一下,以下是前臺接待的工作 流程: 表 2 前臺接待工作流程 接待流程一接待流程二接待流程三 有預(yù)訂的客人入 住 由預(yù)訂單號確認(rèn) 預(yù)訂單的內(nèi)容 輸入?yún)?shù):預(yù)定 單號 輸出參數(shù):預(yù)定 單內(nèi)容 預(yù)定成 員檔案 人工確認(rèn)客人的 身份是否與預(yù)訂 單的內(nèi)容一致 辦理入?。合葘?預(yù)訂單設(shè)為過期, 客人入住預(yù)訂的 房間 無預(yù)訂的客人入 住 確認(rèn)客人要求
36、的 房間類型,查詢 是否有該類型的 房間處于空閑狀 態(tài)。 有空閑房間,客 人接受報價,確 認(rèn)客人的身份, 交費,客人入住。 打印客人入住清 單 客人換房 (只能換同類型 的房間) 確認(rèn)客人是否入 住,確認(rèn)客人入 住的房間類型, 確認(rèn)是否有該類 型的空閑房間, 換房。 客人預(yù)交費用添確認(rèn)客人是否入 加住, 追加費用。 客人訂房信息查 詢 由輸入的查詢條 件獲取客人的訂 房信息 5.2 酒店前臺結(jié)算子模塊 前臺結(jié)帳子模塊主要由客人結(jié)帳程序、結(jié)帳信息查詢/統(tǒng)計程序組成??腿?結(jié)帳程序是全自動化的,只要輸入客人的姓名與房間編號,就能自動將顧客在 本店所有的消費信息以清單的形式表示出來,并進行打印。結(jié)帳
37、信息查詢/統(tǒng)計 程序,能夠?qū)崿F(xiàn)對顧客消費的查詢,并能統(tǒng)計在某一段時間內(nèi),酒店的收入情 況,顧客入住的次數(shù)等。 5.3 酒店預(yù)訂子模塊 客人可以通過三種方式在本酒店預(yù)訂房間: 1通過網(wǎng)絡(luò)在線預(yù)訂,可以通過本酒店的宣傳網(wǎng)站 (www.Perfume_)在線預(yù)訂。 2通過電話預(yù)訂,本酒店的前臺 24 小時為你辦理預(yù)訂業(yè)務(wù)。 3直接在酒店的前臺預(yù)訂。 預(yù)訂管理子模塊由預(yù)訂添加程序、預(yù)訂查詢程序、預(yù)訂處理程序組成,以 下是預(yù)訂管理子模塊的功能圖: 酒店預(yù)訂模塊 預(yù)訂添加預(yù)訂查詢預(yù)訂處理 圖 6.2 預(yù)訂子模塊結(jié)構(gòu)圖 5.4 酒店商品管理子模塊 商品管理子模塊由客人消費商品信息添加,商品消費信息修改,商品
38、消費 信息查詢?nèi)齻€程序組成。商品消費信息直接與結(jié)算信息相關(guān)聯(lián),每次一添加或 修改商品消費信息,結(jié)算信息也會跟著修改,所以在處理商品消費信息時一定 要謹(jǐn)慎。以下為商品管理子模塊的功能圖: 商品管理模塊 消費信息添加消費信息修改消費信息查詢 圖 6.3 商品管理子模塊結(jié)構(gòu)圖 5.5 酒店客房標(biāo)準(zhǔn)管理子模塊 酒店客房標(biāo)準(zhǔn)子模塊由標(biāo)準(zhǔn)信息添加和標(biāo)準(zhǔn)信息修改兩個程序組成,標(biāo)準(zhǔn) 信息直接關(guān)聯(lián)到房間的信息,所有的客房的標(biāo)準(zhǔn)必須是在標(biāo)準(zhǔn)表中存在的標(biāo)準(zhǔn), 另外,在許多查詢的地方也用到了標(biāo)準(zhǔn)表中的信息。因此,修改標(biāo)準(zhǔn)表中的信 息時,會有許多與其相關(guān)的信息就會一起修改,所以在處理房間標(biāo)準(zhǔn)信息時必 須謹(jǐn)慎,建議只有在
39、酒店停業(yè)整頓的時候才去修改標(biāo)準(zhǔn)信息。 5.6 酒店客房信息管理子模塊 客房信息管理子模塊包含客房信息添加,客房信息修改,客房信息查詢?nèi)?個主要功能,以下為客房信息管理模塊功能圖: 客房信息管理模塊 客房信息添加客房信息修改客房信息查詢 客房信息管理子模塊結(jié)構(gòu)圖 5.7 用戶管理子模塊 用戶管理主要是為了避免沒有經(jīng)過授權(quán)的人員使用系統(tǒng)和權(quán)限不夠的人員 訪問高權(quán)限的頁面,也就是酒店的信息保密管理,他使特定的頁面只能由特定 的用戶訪問。用戶管理子模塊的功能圖如下: 用戶管理子模塊 添加用戶修改密碼刪除用戶權(quán)限管理 用戶管理子模塊結(jié)構(gòu)圖 第六章第六章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計 6.1 數(shù)據(jù)庫需求分析數(shù)據(jù)庫
40、需求分析 針對一般酒店管理信息系統(tǒng)的需求,通過對酒店管理過程的內(nèi)容和流程分 析,設(shè)計如下面所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu): 1. 客房標(biāo)準(zhǔn)信息,包括的數(shù)據(jù)項有:標(biāo)準(zhǔn)編號、標(biāo)準(zhǔn)名稱、房間面積、 床位數(shù)量、住房單價、是否有空調(diào)、電視、電話、單獨衛(wèi)生間等。 2. 客房信息,包括的數(shù)據(jù)項有:客房編號、客房種類、客房位置、客房 單價、備注等。 3. 訂房信息,包括的數(shù)據(jù)項有:訂房編號、客房編號、客房種類、客房 位置、客房備注信息、顧客姓名、顧客身份證號碼、入住時間、折扣、 備注等。 4. 結(jié)算信息,包括的數(shù)據(jù)項有:訂房編號、客房編號、客房種類、客房 位置、客房備注信息、顧客姓名、顧客身份證號碼、入住時間、折扣、
41、 結(jié)算時間、備注等。 6.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(E-R 圖)圖) 本系統(tǒng)根據(jù)以上的設(shè)計規(guī)劃出的實體有:客房標(biāo)準(zhǔn)信息實體、客房信息實 體、訂房信息實體、結(jié)算信息實體。各個實體具體的描述-圖如下: 客房標(biāo)準(zhǔn)信息實體 標(biāo)準(zhǔn)編號 標(biāo)準(zhǔn)名稱床位數(shù)量 客房單價 圖 6.1 客房標(biāo)準(zhǔn)信息實體-圖 客房信息實體 客房標(biāo)準(zhǔn) 客房編號客房位置 客房狀態(tài) 圖 6.2 客房信息實體-圖 訂房信息實體 客房信息 顧客信息 入住時間 折扣 圖 6.3 訂房信息實體-圖 結(jié)算信息實體 客房信息 顧客信息結(jié)算時間 結(jié)算金額 圖 6.4 結(jié)算信息實體-圖 客房標(biāo)準(zhǔn)信息 客房登記 客房信息管理 訂 房 訂房信
42、息管理 結(jié)算信息管理 客房結(jié)算 圖 6.5 實體之間關(guān)系-圖 6.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 首先將酒店管理信息系統(tǒng)的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為 SQL 2000 數(shù)據(jù)庫系統(tǒng)所 支持的實際數(shù)據(jù)模型,即:數(shù)據(jù)庫的邏輯結(jié)構(gòu)。其各個表格的設(shè)計結(jié)果如下: 表 6.1 客房標(biāo)準(zhǔn)信息表 列名數(shù)據(jù)類型可否為空說明 standardIdIntNOT NULL 標(biāo)準(zhǔn)編號 roomStyleVarcharNOT NULL 標(biāo)準(zhǔn)名稱 roomAreaIntNULL 房間面積 bedCountIntNULL 床位數(shù)量 roomPriceFloatNULL 價格 hToiletVarcharNULL 是否有單獨
43、衛(wèi)生間 hTelphoneVarcharNULL 是否有電話 hTelevisonVarcharNULL 是否有電視 hAirCoditionVarcharNULL 是否有空調(diào) hComputerVarcharNULL 是否有電腦 表 6.2 客房信息表 列名數(shù)據(jù)類型可否為空說明 RoomedVarcharNOT NULL 客房編號 roomStandardIntNOT NULL 客房標(biāo)準(zhǔn)編號 RoompositionVarcharNULL 客房位置 StantusNumericNULL 狀態(tài) roomBookIdVarcharNOT NULL 預(yù)訂單編號 RemarksVarcharNULL
44、 備注 表 6.3 訂房信息表 列名數(shù)據(jù)類型可否為空說 明 bookNumberVarcharNOT NULL 訂房編號 guestNameVarcharNOT NULL 顧客姓名 guestIdVarcharNOT NULL 身份證號碼 RoomedVarcharNOT NULL 客房編號 inDateDatetimeNULL 入住日期 DiscountFloatNULL 折扣 RemarksVarcharNULL 備注 guestStatusVarcharNOT NULL 顧客狀態(tài) goodsAmountFloatNULL 商品消費金額 inDaysIntNULL 在住天數(shù) checkDa
45、teDatetimeNULL 結(jié)算日期 roomAmountFloatNULL 房間消費金額 totalAmountFloatNULL 總金額 表 6.4 顧客商品消費表 列名數(shù)據(jù)類型可否為空說 明 consumeIdIntNOT NULL 消費編號 bookNumberIntNOT NULL 訂單編號 goodsStyleVarcharNOT NULL 商品類型 goodsAmountFloatNOT NULL 客房編號 consumeDateDatetimeNOT NULL 消費日期 表 6.5 用戶表 列名數(shù)據(jù)類型可否為空說 明 UsernameVarcharNOT NULL 用戶名稱
46、UserpwdVarcharNOT NULL 用戶密碼 PowerIntNOT NULL 用戶權(quán)限 表 6.6 新聞表 列名數(shù)據(jù)類型可否為空說 明 newsIdIntNOT NULL 新聞編號 newsTitleVarcharNOT NULL 新聞主題 newsContentVarcharNOT NULL 新聞內(nèi)容 writeDateDatetimeNOT NULL 更新日期 表 6.7 留言表 列名數(shù)據(jù)類型可否為空說 明 messageIdIntNOT NULL 留言編號 UsernameVarchar NULL 用戶姓名 UserMessageVarcharNOT NULL 用戶留言 ad
47、minMessageVarcharNULL 管理員回復(fù) writeDateDatetimeNOT NULL 留言日期 表 6.8 預(yù)訂表 列名數(shù)據(jù)類型可否為空說 明 roomBookIdIntNOT NULL 預(yù)訂編號 guestNameVarcharNOT NULL 顧客姓名 guestIdVarcharNOT NULL 身份證號碼 guestInDateDatetimeNOT NULL 抵店日期 guestOutDateDatetimeNOT NULL 離店日期 TelephoneVarcharNOT NULL 電話 comeDateDatetimeNOT NULL 到店時間 roomSt
48、yleVarcharNOT NULL 房間類型 roomCountIntNOT NULL 房間數(shù)量 roomBookStatusVarcharNOT NULL 訂單狀態(tài) 6.4 數(shù)據(jù)表關(guān)系設(shè)計數(shù)據(jù)表關(guān)系設(shè)計 第七章第七章 酒店管理系統(tǒng)的實現(xiàn)酒店管理系統(tǒng)的實現(xiàn) 由總體設(shè)計的設(shè)計方案可知,本酒店管理信息系統(tǒng)設(shè)計相對復(fù)雜、龐大, 由于篇幅和時間的限制,在這里只是從中挑選比較有代表性、關(guān)鍵性的幾個重 要模塊作相應(yīng)的論述。 7.1 用用戶界面戶界面 通過以上的模塊和 E-R 圖設(shè)計的登陸窗體如圖: 7.2 客人入住 入住登記該子模塊是整個酒店后臺操作中最重要的功能模塊之一可以說前 臺接待質(zhì)量的好壞直接影
49、響酒店客人的入住率和聲譽一套高質(zhì)量的酒店管理系 統(tǒng)應(yīng)該能使酒店前臺工作人員能快捷有序地為客人辦理不同類型的入住登記手 續(xù)這一點當(dāng)酒店前臺等待入住的客人較多時就顯得尤為重要。 以下是客人入住的一般操作步驟: (1)在操作員的登錄畫面用戶必須輸入自己的操作員代碼和口令方可進入 系統(tǒng)操作當(dāng)用戶輸入口令時系統(tǒng)并不顯示所輸入的文字而以“*”代替這樣無關(guān) 人員無法看到所輸入的口令字起到了保密的作用,并且用戶的密碼是采用 md5 加密后再寫入數(shù)據(jù)庫的,無論誰都不能直接看到用戶的密碼。 (2)系統(tǒng)核對操作員所輸入的代碼及口令無誤后進入主畫面。 (3)進入主界面后,操作員可以快速辦理入住。 在進入主界面后,首先
50、調(diào)用了房間狀態(tài)總表窗口,該程序簡單、直觀地把 所有空閑的房間以列表的方式顯示出來。 以下為客人入住的流程圖: 開始 是否有預(yù)訂 征求客人需 要何種房間 查閱預(yù)訂記錄 顯示關(guān)聯(lián)房間 無客房是否接受報價 建議住其它酒店 是否有房間 填寫入住登記表 查驗證件、核對登記內(nèi)容 交付預(yù)付款 打印入住單 安排人員引領(lǐng)客人入住 是否繼續(xù) 結(jié)束 預(yù)訂單過期 圖7.1 客人入住的流程圖 7.2.1 客人入住代碼設(shè)計 以下是登記入住的程序段: if(Page.IsValid) guestInOperate myGuest=new guestInOperate(); string sql=”insert into g
51、uestInHotel(guestName,guestId,oomed,advancePaid,oomeds,remarks) values(”+this.tbGuestName.Text.ToString()+”,”+this.tbGuestId.Text.ToString()+”, ”+this.tbRoomId.Text.ToString()+”,”+this.tbAdvancePaid.Text.ToString()+”,”+thi s.tbDiscount.Text.ToString()+”,”+this.tbRemarks.Text.ToString()+”)”; if(myGue
52、st.guestCommand(sql) /更改房間狀態(tài) string sql1=”update roomInformation set roomStatus=已入住 where oomed=” +this.tbRoomId.Text.ToString()+”; if(myGuest.guestCommand(sql1) Response.Redirect(“inList.aspx?roomId=”+this.tbRoomId.Text); Else this.lSuccess.Text=”訂房失敗!”; else this.lSuccess.Text=”訂房失敗!”; else this.l
53、Success.Text=”頁面無效!”; 7.3 用戶結(jié)帳 結(jié)帳子模塊擔(dān)負(fù)著整個酒店客人賬務(wù)管理的重任是本系統(tǒng)中最重要最復(fù)雜 的子模塊之一。 在經(jīng)過合法用戶和密碼的核對后進入程序主界面,選擇結(jié)算信息管理模塊, 它有結(jié)算信息添加和結(jié)算信息查詢兩個子程序組成。結(jié)算信息添加頁面的上面 是由DataGrid顯示的所有在住客人的列表,輸入正確的客房編號和顧客姓名就 可以進行結(jié)帳,結(jié)帳完成后打印結(jié)算清單(包含客人在店消費的總表以及商品 消費表)。結(jié)帳信息查詢程序可以根據(jù)你輸入的條件查詢你所要求的結(jié)算數(shù)據(jù) (包含按顧客姓名查詢,按訂單編號查詢,按時間段查詢),并且能夠統(tǒng)計出 某個時間段內(nèi)酒店的訂房總數(shù)和總
54、的收入。 下面是查詢將要退房客人消費情況的程序流程圖: 開始 初始化(在住客人 表,消費表) 是否所有客人 都已退房 選取要結(jié)帳的房間 查詢房間的商品消費 結(jié)帳,打印帳單,退房 是否繼續(xù)? 結(jié)束 圖 7.2 結(jié)帳流程圖 7.3.1 用戶結(jié)賬代碼設(shè)計 以下是結(jié)算處理的程序段: if(Page.IsValid) String sql=”select * from guestInHotel where oomed=”+this.tbRoomId.Text+”and guestName=”+this.tbGuestName.Text+” and guestStatus=入住”; string sql1
55、=”select roomPrice from roomInformation ri,roomStandard rs whereri.standardId=rs.standardIdand ri.roomId=”+this.tbRoomId.Text+”; guestInOperate myGuest=new guestInOperate(); /取出與結(jié)帳信息有關(guān)的數(shù)據(jù) int myBookNumber=myGuest.getBookNumber(sql); string myInDate=myGuest.getInDate(sql); string myDisCount=myGuest.g
56、etDisCount(sql); string myGoodsAmount=myGuest.getGoodsAmount(sql); string myRoomPrice=myGuest.getRoomPrice(sql1); /計算所住的天數(shù),不足一天按一天計算 DateTime check_in=Convert.ToDateTime(myInDate); /開始日期 DateTime check_out=Convert.ToDateTime(this.lDateTime.Text); TimeSpan d3 = check_out.Subtract(check_in); int myDay
57、s; if(Convert.ToInt32(d3.Days.ToString()=0) myDays=1; else myDays=Convert.ToInt32(d3.Days.ToString(); /計算所要交的房間費用 Double myRoomAmount=Convert.ToInt32(myRoomPrice)*myDays*Convert.ToDouble(my DisCount); /計算總費用 double myTotalAmount=myRoomAmount+Convert.ToDouble(myGoodsAmount); string sql2=”update guest
58、InHotel set checkDate=”+this.lDateTime.Text+”,inDays=”+myDays+”,roomAmount=”+my RoomAmount+”,totalAmount=”+myTotalAmount+”,guestStatus=已退房 where bookNumber=”+myBookNumber+”; if(myGuest.guestCommand(sql2) string sql3=”update roomInformation set roomStatus=空閑 where oomed=” +this.tbRoomId.Text+”; if(my
59、Guest.guestCommand(sql3) /重定向到結(jié)帳單查看頁面 Response.Redirect(“oomedst.aspx?bookNumber=”+myBookNumber+” else this.lSuccess.Text=”結(jié)帳失敗!”; else this.lSuccess.Text=”更新訂單失敗!”; 7.4 顧客預(yù)訂 顧客預(yù)訂房間可以有三種方式進行:網(wǎng)上預(yù)訂,電話預(yù)訂和直接到酒店的 前臺預(yù)訂,在這里主要介紹一下網(wǎng)上預(yù)訂的流程。在酒店的宣傳頁面有酒店的 各種房間類型的介紹,顧客可以通過介紹選擇自己喜歡的房間類型,然后到預(yù) 訂頁面進行預(yù)訂。在預(yù)訂頁面要求用戶填寫的資料
60、有:顧客姓名,身份證號碼, 抵店日期,離店日期,到達時間,聯(lián)系電話,房間類型,房間數(shù)量。只要所有 的數(shù)據(jù)的格式都正確,那么訂房信息就可以提交成功。 預(yù)訂單提交成功后,工作人員會及時的處理訂單。訂單處理又分為幾個過 程,首先是確認(rèn)是否有客戶要求的房間,如果有則將修改為訂單通過狀態(tài),如 果沒有則修改訂單狀態(tài)為過期狀態(tài)。訂單處于通過狀態(tài),如果兩天內(nèi)顧客將預(yù) 訂應(yīng)交的費用付請,那么就修改訂單使其處于成功狀態(tài),預(yù)訂成功,否則就修 改為過期狀態(tài)。 開始 填寫預(yù)訂單信息 提交成功 預(yù)訂信息處理 通過? 是否繳納預(yù)訂費用 預(yù)訂信息處理 訂單過期預(yù)訂成功 結(jié)束 圖 7.3 預(yù)訂流程圖 7.4.1 顧客預(yù)訂代碼設(shè)
61、計 以下為預(yù)訂模塊的程序代碼: /判斷當(dāng)預(yù)訂單處于提交狀態(tài)時,是否可以通過 private void lbtnPass_Click(object sender, System.EventArgs e) int myRoomBookId=Convert.ToInt32(Request.QueryString“roomBookId”); roomBookInOperate myRoomBook=new roomBookInOperate(); string myRoomBookStatus=myRoomBook.getRoomBookStatus(myRoomBookId); if(myRoomB
62、ookStatus.Equals(“提交”) string sql=”update roomBookIn set roomBookStatus=通過 where roomBookId=” +myRoomBookId+”; if(myRoomBook.roomBookInCommand(sql) Response.Redirect(“guestBookIn.aspx”); else this.lPass.Text=”該預(yù)訂單不處于提交狀態(tài)!”; /如果客戶付款成功則通過審核,并對相應(yīng)的房間的,預(yù)訂單的狀態(tài)進行更改 private void lbtnSuccess_Click(object sen
63、der, System.EventArgs e) /獲取傳過來的預(yù)訂單編號,根據(jù)編號查找要求的數(shù)據(jù) int myRoomBookId=Convert.ToInt32(Request.QueryString“roomBookId”); roomBookInOperate myRoomBook=new roomBookInOperate(); string myRoomBookStatus=myRoomBook.getRoomBookStatus(myRoomBookId); /如果預(yù)訂單的狀態(tài)為通過,則可以進行下一步的操作 if(myRoomBookStatus.Equals(“通過”) /獲取
64、用戶要求的房間類型,標(biāo)準(zhǔn)編號,所訂的房間的數(shù)量 string myRoomStyle=myRoomBook.getRoomStyle(myRoomBookId); int myRoomStandardId=myRoomBook.getRoomStandardId(myRoomStyle); int myRoomBookCount=myRoomBook.getRoomCount(myRoomBookId); /將用戶所要求的數(shù)量的空閑房間改為已預(yù)訂 string sql=”update roomInformation set bookInNum=”+myRoomBookId+”,roomStat
65、us=已預(yù)定 where oomed in(select top “+myRoomBookCount+” oomed from roomInformation where roomStatus=空 閑 and standardId=”+myRoomStandardId+”)”; if(myRoomBook.roomBookInCommand(sql) /查詢與該預(yù)訂單有關(guān)的房間,并在datagrid中顯示出來 String sql1=”select oomed,roomStyle,roomPosition,roomStatus,bookInNum from roomStandard rs,roomInformation ri where rs.standardId=ri.standardId and ri.bookInNum=”+myRoomBookId+”; this.myDataGirdBind(sql1); /更改訂單的狀態(tài) string sql2=”update roomBookIn set roomBookStatus=成功 where roomBookId=”+myRoomBookId+”; if(myRoomBook.roomBookInCommand
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《產(chǎn)品價值鏈與營銷戰(zhàn)略》
- lecture 9(精品)
- Where’s your pen pal from (2)
- (精品)實驗二血清γ球蛋白的分離純化與鑒定by陳蔚文
- 企業(yè)專利風(fēng)險管理
- 高中記敘文寫作指導(dǎo):寫人要凸顯個性ppt課件
- 新生兒溶血病的發(fā)病機理臨床癥狀課件
- 7、艱辛的求索 (2)
- 學(xué)校心理健康教育組織管理課件
- IE七大手法的發(fā)展歷程
- 頸托的正確使用課件
- (精品)電功與電功率復(fù)習(xí)1
- 李曉光-管理學(xué)原理第十三章領(lǐng)導(dǎo)工作概述
- 固體中的相結(jié)構(gòu)
- 智能化酒店系統(tǒng)PPT