




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、鄭州大學西亞斯國際學院 本科畢業(yè)設計(論文)題 目 酒店管理管理系統(tǒng) 指導教師 張軍麗 職稱 講師 學生姓名 學號專 業(yè) 信息管理與信息系統(tǒng) 班級 1班 專業(yè)學院(系)計算機科學系完成時間 2009年4月22日酒店管理系統(tǒng)的設計與實現(xiàn)摘 要步入21世紀,計算機在管理信息系統(tǒng)(Management Information Systems,MIS)中應用的普及,利用計算機實現(xiàn)管理信息系統(tǒng)有助于企業(yè)或其他用人單位方便實現(xiàn)數(shù)據(jù)處理、預測功能、計劃功能、控制功能和輔助決策功能。MIS是現(xiàn)代用人單位日常工作中必不可缺的一部分,是適應現(xiàn)代管理制度的要求,推動用人單位信息管理走向科學化、規(guī)范化的必要條件。在這
2、篇論文中簡單介紹了酒店管理信息系統(tǒng)的背景及主要功能。并且以“酒店管理系統(tǒng)”為例開發(fā)了一個簡單的MIS系統(tǒng)。由于系統(tǒng)是基于面向?qū)ο蟮拈_發(fā)平臺,后臺數(shù)據(jù)庫則采用SQL Server 2000。本系統(tǒng)使用Java開發(fā), Java程序設計語言是一種優(yōu)秀的程序設計語言,具有簡單、體系結構中立、高性能、可移植性等特點。集成開發(fā)環(huán)境選用了簡單,實用,個頭最小的Jcreator。Jcreator是目前最好的Java開發(fā)平臺之一,可用于開發(fā)小型系統(tǒng)工程。特點是界面簡單直觀,安裝方便,配合java sdk就可以直接實用。關鍵詞:管理信息系統(tǒng),面向?qū)ο蠹夹g,Java ,數(shù)據(jù)庫Realize & Design the
3、System of hotel managementAbstractMarches into the 21st century, the computer in the management information system ( MIS) the application popularization, realizes the management information system using the computer to be helpful in the enterprise or other Employer facilitates realizes the data proc
4、essing, the forecast function, the plan function, the control function and the auxiliary decision function. MIS is a part which in the modern Employer routine work must not be possible to lack, adapts the modern control systems request, promotes the Employer information management to move toward sci
5、entific, the standardized essential condition.Introduced the hotel management information systems background and the major function simply in this paper. And has developed a simple MIS system take “the hotel management system management system” as the example. Because the system is based on the obje
6、ct-oriented development platform, the backstage database uses SQL Server 2000.This system uses the Java development, the Java programming language is one kind of outstanding programming language, has, characteristics simply and so on architecture neutrality, high performance, probability. The integr
7、ated development environment has selected simply, practical, smallest Jcreator. Jcreator best Java develops one at present platforms, may use in developing the small systems engineering. The characteristic is the contact surface simple direct-viewing, the easy installation, coordinates java sdk to b
8、e possible direct practical.Key word: MIS, object-oriented technology, Java, database.目錄摘要IAbstractII緒論1系統(tǒng)分析1.1酒店管理系統(tǒng)研究的意義1.2設計的目的和內(nèi)容1.3可行性分析2研究現(xiàn)狀及設計目標2.1酒店管理信息系統(tǒng)存在的問題2.2 設計的目標及解決的方法3 JAVA語言的特點及意義3.1 java語言的特點3.2 java面向?qū)ο蟮幕靖拍?.3類與對象的定義3.4 java其中的事件處理模型與數(shù)據(jù)庫的連接方法4 系統(tǒng)的總體設計4.1系統(tǒng)的功能簡介4.2系統(tǒng)功能模塊示意圖4.3 功能需
9、求與程序的關系5系統(tǒng)詳細設計5.1系統(tǒng)流程簡介5.2設計目標5.3開發(fā)及運行環(huán)境5.4數(shù)據(jù)庫設計6系統(tǒng)中維護功能模塊的具體實現(xiàn)6.1網(wǎng)絡設置6.2系統(tǒng)設置6.3系統(tǒng)日志6.4數(shù)據(jù)備份7 系統(tǒng)性能測試與分析7.1 系統(tǒng)測試7.2 后臺管理結束語致謝詞參考文獻附錄1:數(shù)據(jù)庫表緒論隨著我國市場經(jīng)濟的迅速發(fā)展和人們生活水平的不斷提高,酒店賓館間的競爭日趨激烈,為在這場競爭中取得顯著優(yōu)勢,就必須在管理上加以改善,尤其是近年來計算機的普及使得運用計算機進行管理不再成為一句空話,而酒店在客房上的管理尤為重要,為使客房管理高效而又準確,快捷而又周全,如何利用先進手段,提高客房的管理水平,是每一個酒店管理者所面
10、臨的重要課題,因此酒店客房管理系統(tǒng)的開發(fā)正是利用高科技手段提高酒店管理的一條行之有效的途徑,成為推動酒店快速發(fā)展的先決條件。 面對龐大的信息量,酒店在正常運營中需要對客房資源、顧客信息、結算信息進行管理,利用酒店管理信息系統(tǒng)及時了解保個環(huán)節(jié)中信息的變更,有利于提高管理的效率.通過這樣的系統(tǒng),可以做到信息的規(guī)范管理、需要統(tǒng)計和快速的查詢,從而減少在管理方面的工作量。在某種意義上,酒店客房管理方面的信息化已成為現(xiàn)代化酒店的重要標志。該系統(tǒng)應充分利用信息技術提高酒店客房的管理水平、服務水平。酒店客房管理系統(tǒng)要實現(xiàn)住宿登記、宿費提醒、追加押金、退房結賬、掛賬、查詢統(tǒng)計等功能。其中宿費提醒可以在住宿費超
11、過押金時,提示前臺要客人補交宿費及押金,該功能可明顯提高對住宿人員宿費的有效管理。將動態(tài)實時的住宿登記、追加押金等有機地聯(lián)系在一起,對酒店賓館客房進行全方位的管理,提高經(jīng)濟效益、提高服務質(zhì)量、提高工作效率及全面了解營業(yè)情況。1系統(tǒng)分析1.1酒店管理系統(tǒng)研究的意義酒店管理信息系統(tǒng)專供酒店工作人員查詢以及為方便客戶和酒店管理的一個平臺,該系統(tǒng)的目的提供一個集中的場所,方便酒店人員對酒店的客戶進行查詢,能夠方便客戶和工作人員進行對自己的信息簡單的查詢以及管理員對其進行錯誤的修改。使酒店資源可以充分利用,為酒店帶來更大的利潤。有效的對酒店的信息進行管理,提高工作效率。1.2設計的目的和內(nèi)容1目的本系統(tǒng)
12、開發(fā)的主要目的就是要進行計算機管理,使酒店工作人員能夠?qū)蛻舻男畔⒁约皩频赀\營狀態(tài)的更新、營業(yè)查詢、修改,包括對工作人員的相關信息的查詢,以此方便酒店的管理。2內(nèi)容酒店管理信息系統(tǒng)的主要任務是用計算機對酒店的客戶的信息進行管理,如修改、更新、刪除以及入住等,迅速準確地完成客戶信息的提取,針對系統(tǒng)服務對象的具體要求,設計了酒店管理信息系統(tǒng)。酒店管理信息系統(tǒng)主要有以下幾大功能:1、散客開單:完成散客的開單,可一次最多開5間相同類型的房間。2、團體開單:完成團體的開單,開放數(shù)量沒有限制,可同時開不同類型的房間。3、賓客結帳:自動統(tǒng)計每個登記客人在店時所發(fā)生的消費額和應付款額,并完成結帳收銀操作。4
13、、客房預訂:完成增加預訂、修改預訂、刪除預訂,預訂情況的查詢等功能。5、營業(yè)查詢:完成結帳單、全部賓客消費、在店賓客消費、離店賓客消費的查詢6、客戶管理:完成會員基本信息的維護和來賓一覽。7、網(wǎng)絡設置:完成系統(tǒng)與數(shù)據(jù)庫的連接設置和系統(tǒng)風格的設置。8、系統(tǒng)設置:完成房間項目、客戶類型、操作員、計費設置。1.3可行性分析酒店管理系統(tǒng)為各類大中型酒店提供了賓客結帳、客房預訂、營業(yè)查詢,全面的為各類大中型酒店提供服務,幫助酒店更好運行管理,提高酒店的運營效率。酒店管理系統(tǒng)的強大功能越來越被酒店行業(yè)內(nèi)的相關人士所重視,酒店管理信息系統(tǒng)有很大的利用空間,希望能在酒店中發(fā)揮重要的作用。2研究現(xiàn)狀及設計目標2
14、.1酒店管理信息系統(tǒng)存在的問題本系統(tǒng)的在于成為一個方便酒店工作人員對客戶信息查詢的中轉(zhuǎn)站,來方便對酒店信息管理,但是由于管理員的數(shù)量的限制,以至于好多信息是不能隨時更改或者刪除,也可能跟客服帶來不便。雖然平臺是有計算機來完成但是由于設計比較簡單,數(shù)據(jù)庫方面還存在著不足,由于數(shù)據(jù)庫方面存在的不足,因此系統(tǒng)只是適合簡單的查詢法和簡單的修改過程,適合校酒店的簡單的操作,系統(tǒng)有待改善。2.2 設計的目標及解決的方法本系統(tǒng)是將現(xiàn)代化的計算機技術和傳統(tǒng)的查詢相結合,按照學院的需求設計完成的。為了使系統(tǒng)在酒店的管理中發(fā)揮更大的作用,實現(xiàn)工作過程的計算機化,提高工作效率和工作質(zhì)量,現(xiàn)提出如下的系統(tǒng)開發(fā)目標:1
15、. 系統(tǒng)應具有實用性、可靠性和適用性,同時注意到先進性。2. 對數(shù)據(jù)庫進行全面管理,防止混亂。3. 能夠按照用戶選擇的不同的條件進行簡單查詢。4. 能夠?qū)Σ樵兘Y果進行分類匯總。5. 注意數(shù)據(jù)的安全性,具有數(shù)據(jù)備份和恢復的功能。6. 方便用戶的操作,盡量增加用戶的操作。7. 用戶的安全性,要求具有用戶密碼。3 JAVA語言概述做此系統(tǒng)主要是用java語言工具,因此必須對java語言有一定的了解。3.1 java語言的特點Java是一種跨平臺,適合于分布式計算環(huán)境的面向?qū)ο缶幊陶Z言。Java語言的流行除了因為它能夠編制嵌入HTML文件中的Applet外,具體來說,它具有如下特性:簡單性、面向?qū)ο蟆?/p>
16、分布式、解釋型、可靠、安全、平臺無關、可移植、高性能、多線程、動態(tài)性動態(tài)的內(nèi)存管理機制等。下面我們將重點介紹Java語言的面向?qū)ο?、平臺無關、分布式、多線程、可靠和安全等特性。 1、面向?qū)ο竺嫦驅(qū)ο笃鋵嵤乾F(xiàn)實世界模型的自然延伸?,F(xiàn)實世界中任何實體都可以看作是對象。對象之間通過消息相互作用。另外,現(xiàn)實世界中任何實體都可歸屬于某類事物,任何對象都是某一類事物的實例。如果說傳統(tǒng)的過程式編程語言是以過程為中心以算法為驅(qū)動的話,面向?qū)ο蟮木幊陶Z言則是以對象為中心以消息為驅(qū)動。用公式表示,過程式編程語言為:程序=算法+數(shù)據(jù);面向?qū)ο缶幊陶Z言為:程序=對象+消息。 所有面向?qū)ο缶幊陶Z言都支持三個概念:封裝、
17、多態(tài)性和繼承,Java也不例外。現(xiàn)實世界中的對象均有屬性和行為,映射到計算機程序上,屬性則表示對象的數(shù)據(jù),行為表示對象的方法(其作用是處理數(shù)據(jù)或同外界交互)。所謂封裝,就是用一個自主式框架把對象的數(shù)據(jù)和方法聯(lián)在一起形成一個整體??梢哉f,對象是支持封裝的手段,是封裝的基本單位。Java語言的封裝性較強,因為Java無全程變量,無主函數(shù),在Java中絕大部分成員是對象,只有簡單的數(shù)字類型、字符類型和布爾類型除外。而對于這些類型,Java也提供了相應的對象類型以便與其他對象交互操作。多態(tài)性就是多種表現(xiàn)形式,具體來說,可以用“一個對外接口,多個內(nèi)在實現(xiàn)方法”表示。舉一個例子,計算機中的堆??梢源鎯Ω鞣N
18、格式的數(shù)據(jù),包括整型,浮點或字符。不管存儲的是何種數(shù)據(jù),堆棧的算法實現(xiàn)是一樣的。針對不同的數(shù)據(jù)類型,編程人員不必手工選擇,只需使用統(tǒng)一接口名,系統(tǒng)可自動選擇。運算符重載(operatoroverload)一直被認為是一種優(yōu)秀的多態(tài)機制體現(xiàn),但由于考慮到它會使程序變得難以理解,所以Java最后還是把它取消了。繼承是指一個對象直接使用另一對象的屬性和方法。事實上,我們遇到的很多實體都有繼承的含義。例如,若把汽車看成一個實體,它可以分成多個子實體,如:卡車、公共汽車等。這些子實體都具有汽車的特性,因此,汽車是它們的“父親”,而這些子實體則是汽車的“孩子”。Java提供給用戶一系列類(class),J
19、ava的類有層次結構,子類可以繼承父類的屬性和方法。與另外一些面向?qū)ο缶幊陶Z言不同,Java只支持單一繼承。2平臺無關性 Java是平臺無關的語言是指用Java寫的應用程序不用修改就可在不同的軟硬件平臺上運行。平臺無關有兩種:源代碼級和目標代碼級。C和C+具有一定程度的源代碼級平臺無關,表明用C或C+寫的應用程序不用修改只需重新編譯就可以在不同平臺上運行。Java主要靠Java虛擬機(JVM)在目標碼級實現(xiàn)平臺無關性。JVM是一種抽象機器,它附著在具體操作系統(tǒng)之上,本身具有一套虛機器指令,并有自己的棧、寄存器組等。但JVM通常是在軟件上而不是在硬件上實現(xiàn)。(目前,SUN系統(tǒng)公司已經(jīng)設計實現(xiàn)了J
20、ava芯片,主要使用在網(wǎng)絡計算機NC上。另外,Java芯片的出現(xiàn)也會使Java更容易嵌入到家用電器中。)JVM是Java平臺無關的基礎,在JVM上,有一個Java解釋器用來解釋Java編譯器編譯后的程序。Java編程人員在編寫完軟件后,通過Java編譯器將Java源程序編譯為JVM的字節(jié)代碼。任何一臺機器只要配備了Java解釋器,就可以運行這個程序,而不管這種字節(jié)碼是在何種平臺上生成的。另外,Java采用的是基于IEEE標準的數(shù)據(jù)類型。通過JVM保證數(shù)據(jù)類型的一致性,也確保了Java的平臺無關性。Java的平臺無關性具有深遠意義。首先,它使得編程人員所夢寐以求的事情(開發(fā)一次軟件在任意平臺上運
21、行)變成事實,這將大大加快和促進軟件產(chǎn)品的開發(fā)。其次Java的平臺無關性正好迎合了“網(wǎng)絡計算機”思想。如果大量常用的應用軟件(如字處理軟件等)都用Java重新編寫,并且放在某個Internet服務器上,那么具有NC的用戶將不需要占用大量空間安裝軟件,他們只需要一個 Java解釋器,每當需要使用某種應用軟件時,下載該軟件的字節(jié)代碼即可,運行結果也可以發(fā)回服務器。目前,已有數(shù)家公司開始使用這種新型的計算模式構筑自己的企業(yè)信息系統(tǒng)。 3、分布式 分布式包括數(shù)據(jù)分布和操作分布。數(shù)據(jù)分布是指數(shù)據(jù)可以分散在網(wǎng)絡的不同主機上,操作分布是指把一個計算分散在不同主機上處理。 Java支持WWW客戶機/服務器計算
22、模式,因此,它支持這兩種分布性。對于前者,Java提供了一個叫作URL的對象,利用這個對象,你可以打開并訪問具有相同URL地址上的對象,訪問方式與訪問本地文件系統(tǒng)相同。對于后者,Java的applet小程序可以從服務器下載到客戶端,即部分計算在客戶端進行,提高系統(tǒng)執(zhí)行效率。 Java提供了一整套網(wǎng)絡類庫,開發(fā)人員可以利用類庫進行網(wǎng)絡程序設計,方便得實現(xiàn)Java的分布式特性。4、可靠性和安全性 Java最初設計目的是應用于電子類消費產(chǎn)品,因此要求較高的可靠性。Java雖然源于C+,但它消除了許多C+不可靠因素,可以防止許多編程錯誤。首先,Java是強類型的語言,要求顯式的方法聲明,這保證了編譯器
23、可以發(fā)現(xiàn)方法調(diào)用錯誤,保證程序更加可靠;其次,Java不支持指針,這杜絕了內(nèi)存的非法訪問;第三,Java的自動單元收集防止了內(nèi)存丟失等動態(tài)內(nèi)存分配導致的問題;第四,Java解釋器運行時實施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪問的越界,最后,Java提供了異常處理機制,程序員可以把一組錯誤代碼放在一個地方,這樣可以簡化錯誤處理任務便于恢復。由于Java主要用于網(wǎng)絡應用程序開發(fā),因此對安全性有較高的要求。如果沒有安全保證,用戶從網(wǎng)絡下載程序執(zhí)行就非常危險。Java通過自己的安全機制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。當Java字節(jié)碼進入解釋器時,首先必須經(jīng)過字節(jié)碼校驗器的檢查,然后,Jav
24、a解釋器將決定程序中類的內(nèi)存布局,隨后,類裝載器負責把來自網(wǎng)絡的類裝載到單獨的內(nèi)存區(qū)域,避免應用程序之間相互干擾破壞。最后,客戶端用戶還可以限制從網(wǎng)絡上裝載的類只能訪問某些文件系統(tǒng)。 5、多線程 線程是操作系統(tǒng)的一種新概念,它又被稱作輕量進程,是比傳統(tǒng)進程更小的可并發(fā)執(zhí)行的單位。C和C+采用單線程體系結構,而Java卻提供了多線程支持。 Java在兩方面支持多線程。一方面,Java環(huán)境本身就是多線程的。若干個系統(tǒng)線程運行負責必要的無用單元回收,系統(tǒng)維護等系統(tǒng)級操作;另一方面,Java語言內(nèi)置多線程控制,可以大大簡化多線程應用程序開發(fā)。Java提供了一個類Thread,由它負責啟動運行,終止線程
25、,并可檢查線程狀態(tài)。Java的線程還包括一組同步原語。這些原語負責對線程實行并發(fā)控制。利用Java的多線程編程接口,開發(fā)人員可以方便得寫出支持多線程的應用程序,提高程序執(zhí)行效率。必須注意地是,Java的多線程支持在一定程度上受運行時支持平臺的限制。例如,如果操作系統(tǒng)本身不支持多線程,Java的多線程特性可能就表現(xiàn)不出來。6、簡單、高效Java語言與C類似,如果用戶了解C和面向?qū)ο蟮母拍?,就可以很快編寫出Java程序;此外,Java又不同于諸如C語言提供的各種各樣的方法,它只提供了基本的方法,這樣就減少了編程的復雜性,例如去掉了頭文件、指針變量、結構、運算符重載、多重繼承等復雜特性。Java語言
26、雖然簡單,卻很高效,它可以用面向?qū)ο蟮姆椒▉砻枋鲇脩舻拿恳粋€動作。7、交互式特性 Java是面向?qū)ο蟮木W(wǎng)絡編程語言,由于它支持TCPIP協(xié)議,使得用戶可以通過瀏覽器訪問到Internet上的各種動態(tài)對象。并且在網(wǎng)絡上用戶可以交互式地進行各種動作,而多線程技術的引入使得這種交互式操作更為容易。8、動態(tài)的內(nèi)存管理機制 Java語言采用了自動垃圾回收機制進行內(nèi)存的管理。在C語言中,程序員在編寫程序時要仔細地處理內(nèi)存的使用,例如當某個內(nèi)存快使用完畢時,要及時釋放,以供其它程序使用,一旦內(nèi)存管理不當,就有可能造成內(nèi)存空間浪費或程序運行故障。 在Java系統(tǒng)中包括了一個自動垃圾回收程序,它可以自動、安全地
27、回收不再使用的內(nèi)存塊,這樣,程序員在編程時就無需擔心內(nèi)存的管理問題,從而使Java程序的編寫變得簡單,同時也減少了內(nèi)存管理方面出錯的可能性。3.2 java面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο笃鋵嵤乾F(xiàn)實世界模型的自然延伸。現(xiàn)實世界中任何實體都可以看做是對象。對象之間通過消息相互作用。另外,現(xiàn)實世界中任何實體都可歸屬于某類事物,任何對象都是某一類事物的實例。如果說傳統(tǒng)的過程式編程語言是以過程為中心、以算法為驅(qū)動的話,面向?qū)ο蟮木幊陶Z言則是以對象為中心,以消息為驅(qū)動。用公式表示,過程式編程語言為:程序=算法+數(shù)據(jù);面向?qū)ο缶幊陶Z言為:程序=對象+消息。所有面向?qū)ο缶幊陶Z言都支持3個概念,即封裝、多態(tài)性和繼承
28、,java也不例外?,F(xiàn)實世界中的對象均有屬性和行為,映射到計算機程序上,屬性則表示對象的數(shù)據(jù),行為表示對象的方法(其作用是處理數(shù)據(jù)或同外界交互)。所謂封裝,就是用一個自主式框架把對象的數(shù)據(jù)和方法連在一起形成一個整體??梢哉f,對象是支持封裝的手段,是封裝的基本單位。java語言的封裝性較強,因為java無全程變量,無主函數(shù),在java中絕大部分成員是對象,只有簡單的數(shù)字類型、字符類型和布爾類型除外。而對于這些類型,java也提供了相應的對象類型以便與其他對象交互操作。3.3 類與對象的定義類是一組數(shù)據(jù)和函數(shù)的集合,只是抽象的概念,它的作用就是生成對象,它生成對象后,就為這個對象分了一塊存儲區(qū),類
29、可以生成無限多個對象,每個對象都有自己的存儲區(qū),在類里定義的數(shù)據(jù)和函數(shù)在這個對象里都有了。類生成的不同對象都有自己不同的存儲區(qū),所以每個對象的數(shù)據(jù)和函數(shù)都存在不同的地方,改變了這個對象的數(shù)據(jù)不會印象另一個對象的數(shù)據(jù),但是加了static后,數(shù)據(jù)和函數(shù)就是靜態(tài)的了,靜態(tài)的數(shù)據(jù)或函數(shù)存在一個存儲區(qū),因為是存在一個地方,所以所有對象對這個數(shù)據(jù)是共有的,只要它一改變,所有對象的這個數(shù)據(jù)都會改變。3.4 java其中的事件處理模型與數(shù)據(jù)庫的連接方法通過odbc訪問數(shù)據(jù)庫,先來設置odbc:打開你的odbc數(shù)據(jù)源(在運行中輸入odbcad32或者從控制面板進入)-選擇系統(tǒng)dsn(Click加新的dsn-)
30、-接下來輸入選擇數(shù)據(jù)庫類型、輸入dsn名:、選擇服務器、連接數(shù)據(jù)庫的方式、輸入數(shù)據(jù)庫的登陸用戶和密碼-測試連接,如果測試成功的話,那么你的dsn就建立好了。4 系統(tǒng)的總體設計4.1系統(tǒng)的功能簡介系統(tǒng)開發(fā)的總體任務是實現(xiàn)賓館信息關系的系統(tǒng)化,規(guī)范化和自動化。實現(xiàn)的功能主要有:1.有關客房標準的制定、標準信息的輸入,包括標準編號、標準名稱、房間面積、床位數(shù)量、住房單價、是否有電視機、電話以等。2.客房標準信息的修改、查詢等。3.客房基本信息的輸入,包括客房編號、客房類型、客房位置、客房單價、備注等;客房基本信息的查詢、修改,包括客房編號、客房類型、客房位置、客房單價、備注等。4.訂房信息的輸入,包
31、括客房編號、客房種類、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、備注信息等。5.訂房信息的修改和查詢,包括客房編號、客房種類、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、折扣、備注信息等。6.結算信息的輸入,包括客房編號、位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、結算日期、備注信息等。系統(tǒng)功能分析是在系統(tǒng)開發(fā)設計的總體任務基礎上完成的,本系統(tǒng)需要完成的主要功能有:1.系統(tǒng)管理:系統(tǒng)密碼設置,操作員進入系統(tǒng)以后,為了安全可以修改用戶的登陸密碼;2.客房管理:客房設置,對客房信息進行添加、刪除;客房查詢對現(xiàn)有的客房信息進行快速查詢;3.訂房信息管理:客戶訂房,客
32、人可以預先預訂房間,系統(tǒng)可以將客人的信息登記道數(shù)據(jù)庫中,并給客人留出房間;瀏覽所有客戶,可以快速的了解現(xiàn)有客人的基本信息;客戶退房,當客人退房時,進行資金的核算;客人的查詢,對現(xiàn)入住的客人進行精確查詢;4.收銀管理:宿費提醒,當客人入住交納的押金不足時,系統(tǒng)可以及時地提醒,以方便客人對入住情況的了解;追加押金,當客人繼續(xù)入住,并系統(tǒng)提醒押金不足時,客人續(xù)交押金,并添加到數(shù)據(jù)庫中;5.歷史信息:訂房歷史查詢,對過去訂房信息的統(tǒng)計,可以使酒店管理者對酒店的客流量由直觀的了解;收支歷史查詢,對過去的收支情況的統(tǒng)計,方便了酒店的財務工作。4.2系統(tǒng)功能模塊示意圖登錄界面主框架窗口散客開單團體開單賓客結
33、帳客房預訂營業(yè)查詢客戶管理網(wǎng)絡設置系統(tǒng)設置離店賓客查詢房間項目設置客戶類型設置操作員設置計費設置在店賓客查詢?nèi)抠e客查詢結帳單查詢會員信息維護來賓信息一覽參數(shù)設置JDBC連接圖4-1 酒店管理系統(tǒng)4.3 功能需求與程序的關系功能需求散客開單團體開單賓客結帳房間預定營業(yè)查詢客戶管理網(wǎng)絡設置系統(tǒng)設置開單結帳房間查詢結帳查詢賓客查詢會員設置操作員設置房間設置房間預定數(shù)據(jù)庫連接方式圖4-2功能需求5系統(tǒng)詳細設計5.1系統(tǒng)流程簡介在本系統(tǒng)中,住宿的客人可以通過兩種途徑入住酒店,實現(xiàn)訂房??腿艘灾苯拥角芭_辦理入住手續(xù),進行前臺登記。前臺服務人員根據(jù)客人的需要,進行客房查詢,找到滿足客人要求的客房,登記客人
34、的信息,客人交納住房押金后便可入住。另一種方式,是客人可以預先預訂客房。前臺服務人員通過對預訂客房的查詢和訂房客人的要求,安排客人的所住房間,并且給預訂的客人設置訂房編號。當客人來到酒店后,交納住房押金后便可入住。酒店的管理人員可通過系統(tǒng),進行入住客人押金情況了解。系統(tǒng)可以根據(jù)管理者的操作,統(tǒng)計出當時入住客人的押金數(shù)量,使管理者了解哪位客人的押金不足,以便提醒客人續(xù)交押金。當客人就續(xù)入住時,可將新增的押金注入??腿私Y帳的時候,管理者可通過系統(tǒng)進行資金的處理。根據(jù)客人的入住時間,以及客人宿主的房間單價,計算出客人實際所花費的金額。收取客人實際費用后,客人便可以退房離開。 本系統(tǒng)所處理的數(shù)據(jù)流程圖
35、,如圖5-1所示。圖5-1酒店信息管理系統(tǒng)流程圖5.2設計目標滿足客戶的需求,實現(xiàn)酒店管理的流程。主要功能包括散客開單、團體開單、賓客結帳、客房預訂、營業(yè)查詢、客戶管理、網(wǎng)絡設置、系統(tǒng)設置等等。5.3開發(fā)及運行環(huán)境硬件平臺:CPU:P41.8GHz;內(nèi)存:256MB以上。軟件平臺:操作系統(tǒng):Windows2000xp;數(shù)據(jù)庫:SQL Server 2000;服務器:IIS5.0以上;瀏覽器:IE5.0,推薦使用IE6.0;分辨率:最佳效果1024*768像素。5.4數(shù)據(jù)庫設計本系統(tǒng)采用SQL Server 2000 數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名為DB_jiudian,數(shù)據(jù)庫DB_jiudian中包括多
36、個數(shù)據(jù)表。關于數(shù)據(jù)庫中的數(shù)據(jù)表請參見附錄1。6系統(tǒng)中維護功能模塊的具體實現(xiàn)6.1網(wǎng)絡設置設置數(shù)據(jù)庫的連接方式:圖1圖2*點擊菜單“系統(tǒng)維護網(wǎng)絡設置”進入“網(wǎng)絡設置”界面。如是ODBC連接方式的用戶請選擇參數(shù)設置(圖1)便可選擇連接方式為ODBC,輸入數(shù)據(jù)源名稱(數(shù)據(jù)庫名稱)點擊測試按鈕,如測試成功則測試結果會顯示測試成功,系統(tǒng)會自動提示連接成功清退出系統(tǒng)重新進入系統(tǒng)。如是JDBC連接方式的用戶請選擇參數(shù)設置(圖1)在選擇連接方式JDBC,然后點擊JDBC連接設置(圖2)便可輸入數(shù)據(jù)庫名稱、登錄用戶名、登錄密碼、服務器IP、服務器端口,點擊測試按鈕,如測試成功則測試結果會顯示測試成功,系統(tǒng)會自動
37、提示連接成功清退出系統(tǒng)重新進入系統(tǒng)。代碼實現(xiàn)如下:package com.sunshine.sunsdk.sql;import java.sql.*;import javax.swing.*;import javax.swing.table.*;import com.sunshine.sunsdk.system.*;public class sunsql private static Statement ste = null;private static Connection conn = null;static try if(sunini.getIniKey (Default_Link).e
38、quals (1) /JDBC連接方式String user = sunini.getIniKey (UserID);String pwd = sunini.getIniKey (Password);String ip = sunini.getIniKey (IP);String acc = sunini.getIniKey (Access);String dbf = sunini.getIniKey (DBFname);String url = jdbc:microsoft:sqlserver:/ + ip + : + acc + ; + databasename= + dbf;/注冊驅(qū)動D
39、riverManager.registerDriver (new com.microsoft.jdbc.sqlserver.SQLServerDriver();/獲得一個連接conn = DriverManager.getConnection (url, user, pwd);else /注冊驅(qū)動/JDBCODBC連接方式DriverManager.registerDriver (new sun.jdbc.odbc.JdbcOdbcDriver();/獲得一個連接conn = DriverManager.getConnection (jdbc:odbc: + sunini.getIniKey(
40、LinkName);/設置自動提交為falseconn.setAutoCommit (false);/建立高級載體ste = conn.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); catch (Exception ex) JOptionPane.showMessageDialog (null, 數(shù)據(jù)庫連接失敗., 錯誤, JOptionPane.ERROR_MESSAGE); System.exit(0); /ex.printStackTrace(); /End tryprivat
41、e sunsql()public static int executeUpdate(String sql) /System.out.println (Update SQL : + sql);int i = 0 ;try i = ste.executeUpdate(sql) ;mit();catch(Exception e) e.printStackTrace() ;/End tryreturn i ;public static int runTransaction (String updateCode) int ok = 0, i = 0;int row = updateCode.length
42、;/更新語句的數(shù)量try for (i = 0; i row; i+) ok = ste.executeUpdate (updateCodei);/執(zhí)行SQL語句if(ok = 0) /如果不成功,則跳出循環(huán)System.out.println (sunsql.runTransaction(): updateCode + i + 失敗 + ok);break;System.out.println (sunsql.runTransaction(): updateCode + i + 成功 + ok);/根據(jù)變量 ok 判斷上面循環(huán)是否正常運行完畢if(ok = 0) conn.rollback
43、();/(ok = 0)表示更新過程中出錯,回滾數(shù)據(jù)System.out.println (sunsql.runTransaction(): Update data false, rollback);else mit ();/(ok != 0)基本上是所有SQL語句運行成功, 則提交給數(shù)據(jù)庫System.out.println (sunsql.runTransaction(): Update finish); catch (Exception ex) System.out.println (sunsql.runTransaction(): Update false .); return i;p
44、ublic static ResultSet executeQuery(String sql) /System.out.println (Query SQL : + sql);ResultSet rs = null ;try rs = ste.executeQuery(sql) ;catch(Exception e) e.printStackTrace() ;/End tryreturn rs ;public static int recCount(ResultSet rrs) int i = 0;try if(rrs.getRow() != 0)rrs.beforeFirst();/whil
45、e用于計算rs的記錄條數(shù)while(rrs.next()i+;rrs.beforeFirst(); catch(Exception ex) ex.printStackTrace(); /End tryreturn i;public static long getPrimaryKey() long pk = 0;try /獲得服務器時間ResultSet rs = executeQuery(select getdate();rs.next();pk = rs.getTimestamp(1).getTime(); catch (Exception ex) System.out.println (s
46、unsql.getPrimaryKey (): false); return pk;public static void initJComboBox (JComboBox cb, String sqlCode) cb.removeAllItems();try ResultSet rs = executeQuery (sqlCode);int row = recCount (rs);rs.beforeFirst ();/從結果集中取出Item加入JComboBox中for (int i = 0; i row; i+) rs.next();cb.addItem (rs.getString (1);
47、 catch (Exception ex) System.out.println (sunsql.initJComboBox (): false); public static void initJList (JList jt, String sqlCode) try ResultSet rs = executeQuery (sqlCode);int row = recCount (rs);String list = new Stringrow;/從結果集中取出數(shù)據(jù)存入數(shù)組中for (int i = 0; i row; i+) rs.next();listi = rs.getString(1)
48、; /Endfor jt.setListData(list);/初始化List catch (Exception ex) System.out.println (sunsql.initJList(): false); /Endtrypublic static void initDTM (DefaultTableModel fdtm, String sqlCode) try ResultSet rs = executeQuery( sqlCode );/獲得結果集int row = recCount( rs );/獲得結果集中有幾行數(shù)據(jù)ResultSetMetaData rsm =rs.getM
49、etaData();/獲得列集int col = rsm.getColumnCount();/獲得列的個數(shù)String colName = new Stringcol;/取結果集中的表頭名稱, 放在colName數(shù)組中for (int i = 0; i col; i+) colNamei = rsm.getColumnName( i + 1 );/End forrs.beforeFirst();String data = new Stringrowcol;/取結果集中的數(shù)據(jù), 放在data數(shù)組中for (int i = 0; i row; i+) rs.next();for (int j =
50、0; j col; j+) dataij = rs.getString (j + 1);/System.out.println (dataij); /End forfdtm.setDataVector (data, colName); catch (Exception ex) System.out.println (sunsql.initDTM (): false); /End try6.2系統(tǒng)設置6.2.1 房間項目設置設置房間狀態(tài)、添加房間類型、添加房間數(shù)量、刪除房間、刪除房間類型等。圖3* 點擊菜單“系統(tǒng)維護系統(tǒng)設置房間項目設置”進入“房間項目設置”界面(如圖4)。圖4*擊添加類型則會顯
51、示填寫內(nèi)容后點擊保存按鈕則會添加房間類型。圖5*選中房間類型點擊修改類型則會顯示(圖5)填寫內(nèi)容后點擊保存按鈕則會修改房間類型。*選中房間類型點擊刪除類型則會刪除被選擇的房間類型。圖6*選中房間類型點擊房費打折則會顯示圖填寫內(nèi)容后點擊保存按鈕則會修改房間打折(圖6)。圖7*點擊單個添加則會顯示圖填寫內(nèi)容后點擊保存按鈕則會添加單個房間(圖7)。圖8*點擊批量添加則會顯示圖的填寫內(nèi)容后點擊保存按鈕則會批量添加房間(圖8)。*選中房間號點擊刪除類型則會刪除被選擇的房間。圖9*選中房間類型點擊修改房間則會顯示圖所示填寫內(nèi)容后點擊保存按鈕則會修改此房間(圖9).以下是對添加修改房間信息代碼的實現(xiàn):pac
52、kage com.sunshine.setup;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;import com.sunshine.sunsdk.sql.*;/公共類庫import com.sunshine.sunsdk.swing.*;import com.sunshine.sunsdk.system.*;import com.sunshine.mainframe.HotelFrame;/主框架窗口public class AddRoomType extends JDialog implements ActionListener private JTextField tf0, tf1, t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025車間安全培訓考試試題及參考答案(培優(yōu)B卷)
- 2025版投資項目可行性研究報告編寫大綱及說明發(fā)布
- 2025企業(yè)管理人員安全培訓考試試題預熱題
- 2025公司三級安全培訓考試試題附完整答案(考點梳理)
- 2025年崗前安全培訓考試試題及參考答案【A卷】
- 2025公司項目部負責人安全培訓考試試題及答案鞏固
- 2025年中國水產(chǎn)功能性飼料項目商業(yè)計劃書
- 2024-2025各個班組三級安全培訓考試試題答案A卷
- 2024-2025生產(chǎn)經(jīng)營單位安全培訓考試試題及答案能力提升
- 多元文化語文復習計劃
- 2025宿遷輔警考試題庫
- 健康生活方式指導手冊含飲食、運動
- 2025年森林管護員考試題及答案
- 未成年人學校保護規(guī)定的國際比較研究
- 研究院內(nèi)部科技成果轉(zhuǎn)化的管理流程
- 中考語文試卷名著專題匯編《鋼鐵是怎樣煉成的》文段賞析題(截至2024年)
- 2019建筑排水管道安裝塑料管道19S406
- KCA試題庫完美版
- 2024年中國扁平吊裝帶市場調(diào)查研究報告
- 2024年10月自考中級財務會計試題及答案解析
- 妊娠合并HIV護理查房
評論
0/150
提交評論