基于C#的酒店管理系統_第1頁
基于C#的酒店管理系統_第2頁
基于C#的酒店管理系統_第3頁
基于C#的酒店管理系統_第4頁
基于C#的酒店管理系統_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、引 言酒店業是一個前景廣闊而又競爭激烈的行業。改革開放以來,我國的酒店業迅速發展,已經成為一個具有相當規模的產業。由于我國的旅游業迅速發展,通過調查,我國在2020年將成為世界上第四大旅游國家;同時我國加入世界貿易組織,酒店業將完全開放,這個時候,我國的酒店業將面臨著前所未有的機遇和挑戰。但是,現在甚至還有一些酒店還停留在由人工操作和管理階段,這樣已經無法適應當前的發展趨勢。因此,要想使酒店的工作質量和效率提高,采用先進的電腦網絡 通信技術改變酒店業務模式,實現酒店業務管理的自動化已經成為一種必然。酒店客房管理系統是根據酒店對客房管理的實際情況進行設計的,主要目的是為了方便酒店對客房的實際情況

2、進行集中的查詢與管理工作,以提高整個酒店管理的工作效率。酒店客房管理的科學化、系統化、信息化成為各個酒店追求的目標。因此,而要實現這些功能,就要求各個酒店配備一套客房管理系統,以便在酒店內實施良好、完善的管理,最快地速度響應客戶的需求,及時為他們提供服務,為他們提供一個高效、便捷的居住環境。客房管理信息系統(MIS)是各個酒店軟件建設中一個重要的應用系統,它大大的改善酒店管理的基礎環境。對客房管理系統的假設干基本問題進行研究,主要包括客房管理系統的功能組成、系統開發條件、步驟及其總體規劃等內容。第一章 概 述1.1 現狀與前景隨著人們的生活水平的提高,假日經濟已成為人們消費的熱點,使得賓館酒店

3、業得到快速發展。隨著賓館酒店增多,人們要求提高,賓館酒店業的競爭也更加激烈。賓館酒店要在的競爭中謀求生存與發展,就必須要提高其服務管理水平。引入全方位的電腦服務和電腦管理日益流行。酒店引入電腦服務和管理取得了優良的經濟效益和社會效益。因此,國家建設部已于最近作出明確規定:凡星級酒店在項目審批時,其設計方案必須包括電腦管理系統,否則不予立項。可見,酒店管理電腦化勢在必行。酒店管理系統將先進的電腦技術與現代酒店服務管理完美地結合起來,實現了住宿全新概念的服務和管理方式。傳統的酒店管理往往令管理者花大量的時間來處理顧客投訴,例如錯誤查詢、煩瑣的登記和結帳手續、旅客費用計算錯誤、空余客房資料不能及時提

4、供等,從而影響出租率,使管理人員不得不集中精力規劃管理運行策略和進行決策。酒店管理系統能提高職工工作效率,加速資金周轉、降低各項成本及改善服務質量都有十分積極的作用。1.2 研究內容本系統為管理者提供了完整的管理平臺。其提供的主要功能有:客房類型管理,客房狀態管理,客房預定管理,客房入住管理,客戶換房管理,客房結算管理,退出系統。第二章 系統分析2.1 系統相關技術介紹本管理信息系統將采用技術成熟的C#作為前臺開發工具。后臺數據庫采用微軟公司的SQL Server數據庫,因為它的靈活性、安全性和易用性為數據庫編程提供了良好的條件。因此,系統的軟件開發平臺已成熟可行。硬件方面,科技的飛速發展使硬

5、件的更新速度越來越快,容量越來越大,可靠性越來越高,價格越來越低,其硬件平臺完全能滿足此系統的需要。系統采用的是原型法的開發方法。本著開發人員對用戶需求的理解,通過簡單的系統反洗、系統設計,快速實現一個原型系統,然后通過反復修改來實現管理信息系統。2.2 可行性分析1、管理上的可行性酒店管理系統能記錄酒店客人的基本信息,提供查詢、刪除等工作,使工作人員從煩瑣的手工操作中解脫出來,同時,能為企業的運作提供提供管理和決策支持。由于酒店電腦系統24小時連續運行,數據量大,可靠性要求高,因此整個電腦系統供電需采用專線方式,加配UPS不間斷供電系統合理接地,以便保障整套系統的正常運行。2、技術上的可行性

6、技術采用成熟的C#作為前臺開發工具。后臺數據庫采用SQL Server2005數據庫,靈活性、安全性和易用性為數據庫編程提供了良好的條件。3、經濟上的可行性本系統由作者自主開發,界面易操作,操作人員只需簡單培訓即可上崗。2.3 系統的需求分析2.3.1 性能需求(1)本軟件主要用于管理,不是科學計算,要求計算的精度不是很苛刻。所以輸入,輸出數據精度不是很高,用于計算的數用浮點數就可以了。(2)本軟件運行的響應時間不超過12秒,基本實現就可以。(3)該系統只支持在window系統上運行,后臺數據庫只支持SQL Server2005。2.3.2 功能需求酒店住房業務的基本流程主要包括:客房的預定,

7、顧客通過 或者其他途徑向酒店進行客房預定,接待人員查詢客房狀態表后確定有空房則接受預定,預定成功后發給顧客預定憑證,并對客房狀態表做出相應的變化。客房的入住,如果顧客已經預定房間,則根據預定憑證進行預定入住操作,發給顧客房卡,客房狀態由“預定”變為“入住”。 如果顧客沒有預定房間,接待人員查詢客房狀態后,有空房則進行客房登記操作,發給顧客房卡,客房狀態由“空房”變為“入住”。顧客換房,如果顧客對入住的客房條件不滿意,則可進行顧客換房操作。接待人員將顧客的房間進行更換,并更換顧客房卡,客房狀態也進行相應的調整。補交押金,如果顧客換房后押金太少,則要補交押金。顧客交納押金,接待人員開具押金憑證。顧

8、客退房,顧客退房時,接待人員根據顧客的房卡,進行退房登記。計算顧客入住期間的房費,餐費,話費,各種消費和押金總額。對顧客收取費用或者退回押金。顧客信息轉存到歷史顧客表中。客房狀態由“入住”轉為“空房”。圖3-1 業務流程分析圖第三章 系統設計3.1 系統設計圖3-2 系統功能模塊圖從圖3-2中可以看出,系統總共分為8個模塊。客房類型模塊:可以對房型、房價等情況等進行查詢、修改等操作。客房查詢模塊:實現對所有房間的基本情況進行查詢。客戶預定模塊:實現對客戶預定情況進行全面管理。 客戶入住模塊:可以查詢所有客戶入住情況。客房更改模塊:實現客戶換房的一些相關操作。客房狀態模塊:可以對客房空房、預定、

9、入住等情況等進行修改等操作。客戶結算模塊:實現酒店客房賬務結算。注冊帳號模塊:實現用戶注冊的功能。3.2 數據庫設計本軟件的數據庫名稱為:Hotel-DB,包含6個數據表,分別是:BookIn、CheckIn、CheckOut、Room、RoomType、UserInfo。具體表結構如下:表3-1用戶表 UserInfo列名數據類型允許為空說明UserIdint否用戶ID主鍵UserNamevarchar(50)否用戶Passwordvarchar(50)否密碼IsAdminbit否是否管理員表3-2客戶入住表 CheckIn列名數據類型允許為空說明CustomerIdint否客戶ID主鍵Na

10、mevarchar(10)否Sexchar(2)否性別PTypevarchar(50)否證件類型P_IDvarchar(50)否證件號碼Telvarchar(50)否 號碼CTypevarchar(50)否客戶類型RoomNumint否房間號Indatedatetime否入住時間Daysint否入住天數Dmoneymoney否押金Remarkvarchar(50)是備注表3-3客戶結算表 CheckOut列名數據類型允許為空說明Idint否客戶結算ID主鍵CustomerIdint否客戶IdNamevarchar(10)否列名數據類型允許為空說明Sexchar(2)否性別Telvarchar(

11、50)否 號碼CTypevarchar(50)否客戶類型RoomNumint否房間號Indatedatetime否入住時間Daysint否入住天數Discountfloat否折扣Addmoneymoney否額外費用SunMoneymoney否總金額Remvarchar(50)否備注表3-4客房預定表 BookIn列名數據類型允許為空說明BookIdint否預定號主鍵Namevarchar(10)否Sexchar(2)否性別PTypevarchar(50)否證件類型P_IDvarchar(50)否證件號碼Telvarchar(50)否 號碼RoomNumint否房間號Indatedatetime

12、否入住時間Daysint否入住天數Dmoneymoney否押金Remarkvarchar(50)是備注表3-5房間狀態表 Room列名數據類型允許為空說明RoomIdint否房間號主鍵RoomTypevarchar(10)否房間類型RoomNumint否房間號Bookchar(2)否是否預定列名數據類型允許為空說明Emptychar(2)否是否空Stopchar(2)否是否停用Remarkvarchar(50)是備注表3-6房間類型表 RoomType列名數據類型允許為空說明RoomTypeIdint否房間類型ID主鍵RoomTypevarchar(10)否房間類型Areaint否房間面積Be

13、dint否床位UnitPricemoney否單價Broadbandchar(2)否是否有寬帶Remarkvarchar(50)是備注第四章 系統實現4.1 登陸界面1、功能只有本系統的管理員和進行認可的操作員使用自己相應的用戶名與密碼才能登陸到此系統進行相關權限下的操作。2、界面圖4-1 系統登陸界面3、操作指南(1)用戶在登錄窗口中輸入正確的用戶名和密碼后可以登錄系統(如圖4-1 ),根據輸入的用戶名是系統管理員還是操作員給予不同的操作權限。(2)系統管理員可以根據實際情況增加相應的操作員。4.2 系統主界面圖4-2 前臺操作4.2.1 客房查詢1. 功能通過客房號查詢房間的基本類型與狀態。

14、2. 界面圖4-3 客房查詢3. 操作指南(1).在文本框中輸入客房號,點擊查詢,可以查詢到該房間的一些基本情況。(2).點擊空房按鈕的時候,會把數據庫中所有的空房信息顯示出來。(3).點擊未預定按鈕的時候,會把數據庫中所有的未預定的客房信息顯示出來。(2).點擊未停用按鈕的時候,會把數據庫中所有的未停用的客房信息顯示出來。4.2.2 客戶預定1. 功能可以對預定房間的客戶信息進行增刪改查等操作。2. 界面圖4-4 客房預定3. 操作指南(1)在文本框中輸入訂單號,點擊查詢,可以查詢到預定的一些基本信息。(2)當你想對預定信息進行操作時,點擊ListView中的數據,將會把ListView中選

15、中的那行數據各個字段顯示在上面的文本框和列表框中。(3)點擊修改按鈕的時候,將會把修改后的信息添加到數據庫中。(4)點擊入住按鈕的時候,將會把數據添加到入住表中并且把預定表中的該數據刪除并且客房狀態表中的預定字段變成“否“,是否為空字段變成“是”。(5)點擊取消預定的按鈕的時候,會把入住表中的該數據刪除。4.2.3 客戶入住1. 功能可以對客戶的入住信息進行查詢和添加。2. 界面圖 4-5 客房入住3. 操作指南(1)在文本框中輸入客戶號,點擊查詢,可以查詢到客戶入住的信息。(2)當你想對入住信息進行操作時,點擊ListView中的數據,將會把ListView中選中的那行數據的內容顯示在輸入住

16、信息面板中。(3)點擊入住按鈕的時候,將會把入住客戶的信息添加到數據庫中并且講客房狀態表中是否為空的字段的值變成“否”。4.2.4 客房更改1. 功能可以實現換房和續住的功能。2. 界面圖 4-6 客房更改3. 操作指南(1)在文本框中輸入客戶號,點擊查詢,可以查詢到入住客戶的信息并顯示在客戶信息面板的控件中。(2)當點擊續住的時候,將會把顯示客戶信息面板中的天數和押金的值傳到續住面板中的原有天數和原有押金中,然后可以實行操作,操作完成后點擊確定,將會把值重新傳回去。(3)當點擊調房的時候,將會把顯示客戶信息面板中的客房號和押金的值傳到調房面板中的原客房號和原有押金中,然后可以實行操作,操作完

17、成后點擊確定,將會把值重新傳回去。(4).點擊保存的時候,會把修改后的信息記錄到數據庫中。4.2.5 客房結算1. 功能退房并結算費用。2. 界面圖 4-7 客房結算3. 操作指南(1)在文本框中輸入客戶號,點擊查詢,可以查詢到入住客戶的信息并顯示在結算信息面板的文本框中。(2)當點擊結算,系統會自動算清住宿費和消費總額還有應付款的金額并且顯示在對應的文本框中。(3)點擊保存的時候,會把結算的信息記錄到數據庫中并且把客房狀態表中的是否為空字段的值變成“是”。4.3 數據管理模塊4.3.1 房間狀態1. 功能對客房的狀態進行管理。2. 界面圖4-8 客房狀態3. 操作指南(1)在文本框中輸入客房

18、號,點擊查詢,可以查詢到客房的一些基本信息。(2)當選中ListView中的數據時,將會把ListView中選中的數據顯示到客房狀態信息面板中,以便進行操作。(3)點擊新增按鈕的時候,將會把客房狀態信息面板中的信息添加到數據庫中。(4)點擊刪除按鈕的時候,會把選中的數據刪除。(5)點擊修改按鈕的時候,會把修改后的信息傳到數據庫中。4.3.2 客房類型1. 功能對客房的類型進行管理。2. 界面圖4-9 客房類型3. 操作指南(1)當你選中ListView中的數據時,會將選中的數據的內容顯示在客房類型信息面板中。以便進行操作。(2)點擊新增按鈕的時候,將會把客房類型信息面板中的信息添加到數據庫中。

19、(3)點擊刪除按鈕的時候,會把選中的數據從數據庫的表中刪除。(4)點擊修改按鈕的時候,會把修改后的信息傳到數據庫中。4.3.3 用戶管理1. 功能對用戶進行管理。2. 界面圖4-10 用戶管理3. 操作指南(1)當你選中ListView中的數據時,會將選中的數據的內容顯示在顯示用戶信息面板中。以便進行操作。(2)點擊注冊按鈕的時候,將會把顯示用戶信息面板中的信息添加到數據庫中只有管理員才能使用該功能。(3)點擊修改權限按鈕的時候,可以修改用戶的權限只有管理員才能使用該功能。(4)點擊修改密碼的時候,可以修改用戶的密碼操作員也可使用此功能。第五章 系統測試5.1 程序調試1. 測試的基本工作流程

20、在設計系統的過程中,存在一些錯誤是必然的。對于語句的語法錯誤,在程序運行時自動提示,并請求立即糾正,因此,這類錯誤比較容易發現和糾正。但另一類錯誤是在程序執行時由于不正確的操作或對某些數據的計算公式的邏輯錯誤導致。這類錯誤隱蔽性強,有時會出現,有時又不出現,因此,對這一類動態發生的錯誤的排查是耗時費力的。5.2 程序的測試5.2.1 測試的重要性及目的測試的重要性:軟件的測試在軟件生命周期中占據重要的地位。近來,軟件工程界趨向于一種新的觀點,即認為軟件生命周期每一階段中都應包含測試,從而檢驗本階段的成果是否接近預期的目標,盡可能早的發現錯誤并加以修正,如果不在早期階段進行測試,錯誤的延時擴散常

21、常會導致最后成品測試的巨大困難。 測試的目的:1. 軟件測試是為了發現錯誤而執行程序的過程; 2. 測試是為了證明程序有錯,而不是證明程序無錯誤; 3. 一個好的測試用例是在于它能發現至今未發現的錯誤; 4. 一個成功的測試是發現了至今未發現的錯誤的測試。 測試并不僅僅是為了要找出錯誤。通過分析錯誤產生的原因和錯誤的分布特征,可以幫助項目管理者發現當前所采用的軟件過程的缺陷,以便改良。5.2.2 測試的步驟與開發過程類似,測試過程也必須分步驟進行,每個步驟在邏輯上是前一個步驟的繼續。大型軟件系統通常由假設干個子系統組成,每個子系統又由假設干個模塊組成。因此,大型軟件系統的測試基本上由下述幾個步

22、驟組成:1. 模塊測試 在這個測試步驟中所發現的往往是編碼和詳細設計的錯誤。2. 系統測試 在這個測試步驟中發現的往往是軟件設計中的錯誤,也可能發現需求說明中的錯誤。3. 驗收測試 在這個測試步驟中發現的往往是系統需求說明書中的錯誤。5.2.3 測試的主要內容為了保證測試的質量,將測試過程分成幾個階段,即:代碼審查、單元測試、集成測試、確認測試和系統測試。 1單元測試單元測試集中在檢查軟件設計的最小單位模塊上,通過測試發現實現該模塊的實際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯誤。 2. 集成測試 集成測試是將模塊按照設計要求組裝起來同時進行測試,主要目標是發現與接口有關的問題。如

23、一個模塊與另一個模塊可能有由于疏忽的問題而造成有害影響;把子功能組合起來可能不產生預期的主功能;個別看起來是可以接受的誤差可能積累到不能接受的程度;全程數據結構可能有錯誤等。 3. 確認測試 確認測試的目的是向未來的用戶說明系統能夠像預定要求那樣工作。經集成測試后,已經按照設計把所有的模塊組裝成一個完整的軟件系統,接口錯誤也已經基本排除了,接著就應該進一步驗證軟件的有效性,這就是確認測試的任務,即軟件的功能和性能如同用戶所合理期待的那樣。 4. 系統測試 軟件開發完成以后,最終還要與系統中其他部分配套運行,進行系統測試。包括恢復測試、安全測試、強度測試和性能測試等。第六章 總結與展望在設計的過

24、程中,我掌握了很多C#的編程知識,并對這種成熟并廣泛應用的技術進行了深入的學習。設計的過程也是一個再學習的過程,在遇到問題的時候我盡量自己想方法解決,這在很大程度上激發了我們的自學能力;在沒有方法解決的情況下,認真的向老師請教,從老師那里我學到了很多的知識,老師對我的指導起到了畫龍點睛的作用。在我的程序設計過程中,我充分的體會到了“實踐出真知”這一點,書本上的知識是不夠的,只有把理論與實踐相結合才能夠真正的學到知識。一個管理信息系統的設計,不可能一步到位,還需要不斷的完善和補充。編程前的深思熟慮是減少程序調試工作量的重要方法,只有進行充分考慮,才會減少調試過程中的工作量。雖然在開始寫程序之前我

25、們做了多的準備工作,但在真正的寫程序時仍然發現許多問題,有些問題是分析時的疏漏,有些則是如果不做無論如何也想不到的。參考文獻1 周琦.SQL Server 2005 數據庫基礎及應用技術.北京大學出版社.20102 (美)Michael Halvorson.VisualC#2008從入門到精通.清華大學出版社.20093 王小科.C#項目開發案例全程實錄(第2版).清華大學出版社.20114恭德羅依.SQL Server2005從入門到精通.電子工業出版社.20065 陳圣國編著.信息系統分析與設計.西安電子科技大學出版社.20016 王晟著.Visual C#.NET數據庫開發經典案例解析.

26、清華大學出版社.20057 C#從入門到精通.人民郵電出版社.20118 鄭阿奇,劉啟芬,顧韻華著. SQL Server實用教程.電子工業出版社.2002致 謝 在本次畢業設計論文過程中,得到了指導老師的指導與支持。在此特別感謝XX老師的大力幫助。指導老師的悉心指導和大力支持,在總體結構、功能的把握上給予了非常大的幫助,同時根我們提供了非常優越的設計環境,并對我在編程、數據庫設計等細節工作上給予了耐心的指導,對于我順利完成這次畢業設計起到了關鍵性的作用。轉眼間,大學生活即將結束,回首過去三年的大學生活,真是有苦也有樂,然而更多的則是收獲,感謝母校的各位老師不但無私地傳授給我們知識,也教會了我

27、們如何做人。軟件技術專業的畢業設計任務繁重,但正是在這幾個月緊張而充實的設計中,我感到自己的知識得到了一次升華,我相信:我的畢業設計會給我的三年大學畫上一個圓滿的句號。附 錄/ 登錄功能 private void button1_Click(object sender, EventArgs e) if (this.textBox1.Text.Trim() = "") MessageBox.Show("請輸入用戶名!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); r

28、eturn; if (this.textBox2.Text.Trim() = "") MessageBox.Show("請輸入密碼!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; else string userName = textBox1.Text; string password =userInfoManager.GetPasswordByUserName(userName); if (password.Equals(textBox2.Tex

29、t.ToString() MainForm mainForm = new MainForm(); MainForm.isRunMain = true; mainForm.Show(); this.Close(); else MessageBox.Show("請輸入正確的密碼!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); / 讀取選中的listview中的數據private void textChangeWithList(int i) if (i > listView1.Ite

30、ms.Count) i = 0; txtRoomId.Text = listView1.Itemsi.SubItems0.Text.ToString(); textR_N.Text = listView1.Itemsi.SubItems1.Text.ToString(); comboRT.Text = listView1.Itemsi.SubItems2.Text.ToString(); if (listView1.Itemsi.SubItems3.Text.ToString() = "是") checkBoxBook.Checked = true; else checkB

31、oxBook.Checked = false; if (listView1.Itemsi.SubItems4.Text.ToString() = "是") checkBoxEmpty.Checked = true; else checkBoxEmpty.Checked = false; if (listView1.Itemsi.SubItems5.Text.ToString() = "是") checkBoxStop.Checked = true; else checkBoxStop.Checked = false; textRem.Text = listView1.Itemsi.SubItems6.Text.ToString(); private void listView1_SelectedIndexChanged(object sender, EventArgs e) foreach (int i in listView1.SelectedIndices) textChangeWithList(i); /根據客戶號搜索客戶信息private voi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論