計算機專業(yè)畢業(yè)論文:白云酒店管理系統(tǒng)_第1頁
計算機專業(yè)畢業(yè)論文:白云酒店管理系統(tǒng)_第2頁
計算機專業(yè)畢業(yè)論文:白云酒店管理系統(tǒng)_第3頁
計算機專業(yè)畢業(yè)論文:白云酒店管理系統(tǒng)_第4頁
計算機專業(yè)畢業(yè)論文:白云酒店管理系統(tǒng)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、白云酒店管理系統(tǒng) 畢業(yè)設(shè)計論文摘要-酒店管理管理系統(tǒng)是典型的信息管理系統(tǒng)(mis),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。 經(jīng)過分析,我們使用 microsoft公司的 visual foxpro 開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。關(guān)鍵詞:visual foxpro 6.0 酒店管理 數(shù)據(jù)

2、庫summary - - hotel management system is a typical management information system (mis), including the development of its background of the establishment and maintenance of the database front-end applications, as well as the development of both. the former set up the requirements for data integrity an

3、d consistency of strong data security a good library. for the latter applications require full-featured and easy to use and so on. after analysis, we use microsofts visual foxpro development tools, provided by the use of a variety of object-oriented development tools, in particular, the data window

4、can be simple and easy to manipulate intelligence database objects, first of all in a short period of time to establish systems application of the prototype, and then on the initial prototype system iteration needs, and improving constantly, until the formation of a viable system of customer satisfa

5、ction. key words: visual foxpro 6.0 hotel management database-前言-酒店管理系統(tǒng)是一個現(xiàn)代酒店管理不可缺少的部分,它的內(nèi)容對于酒店的決策者和管理者來說都至關(guān)重要,所以酒店管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理客戶檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認(rèn)識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。 作為計算機應(yīng)

6、用的一部分,使用計算機對入住酒店的客戶信息進行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高酒店的管理水平,簡化各種復(fù)雜操作,在最合理、最短時間內(nèi)完成酒店業(yè)務(wù)規(guī)范操作,這樣才能另顧客滿意,增加賓客回頭率,也是酒店的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。 因此,開發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我將以自己開發(fā)的一套酒店管理系統(tǒng)為例,談?wù)勂溟_發(fā)過程和所涉及到的問題及解決方法。目錄第一章 緒論5第二章 數(shù)據(jù)庫理論基礎(chǔ)62.1 數(shù)據(jù)庫系統(tǒng)設(shè)計62.2 visual foxpro 6.0 工具介

7、紹72.3 visual foxpro 6.0的select-sql查詢8第三章 酒店管理系統(tǒng)設(shè)計分析113.1應(yīng)用需求分析113.2 功能分析113.3功能模塊分析12第四章 系統(tǒng)數(shù)據(jù)庫設(shè)計154.1 表結(jié)構(gòu)設(shè)計15第五章 主要表單及其事件代碼的實施175.1系統(tǒng)登陸表單175.2基本信息管理表單175.3基本信息查詢表單205.4基本信息一覽表單225.5離店結(jié)帳管理表單235.6用戶管理表單255.7報表設(shè)計305.8主菜單的建立編寫305.9 主程序代碼的建立編寫315.10系統(tǒng)連編32 第六章 結(jié)論34第七章 總結(jié)和體會35第八章 謝詞36第九章 參考文獻(xiàn)37第一章、 緒論數(shù)據(jù)庫應(yīng)用

8、系統(tǒng)開發(fā)簡介在數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)之前,對開發(fā)數(shù)據(jù)庫的基本概念應(yīng)當(dāng)了解,對數(shù)據(jù)庫的結(jié)構(gòu)、開發(fā)數(shù)據(jù)庫應(yīng)用程序的步驟、開發(fā)體系及方法都應(yīng)當(dāng)有相當(dāng)清晰的了解和認(rèn)識。數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的目標(biāo)是建立一個滿足用戶長期需求的產(chǎn)品。開發(fā)的主要過程為:理解用戶的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫設(shè)計。把設(shè)計轉(zhuǎn)變?yōu)閷嶋H的數(shù)據(jù)庫,并且這些數(shù)據(jù)庫帶有功能完備、高效能的應(yīng)用。圖書管理系統(tǒng)是典型的管理信息系統(tǒng)(mis),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及其應(yīng)用

9、系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)和建設(shè)中的核心技術(shù),是指對于一個給定的環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求。數(shù)據(jù)庫設(shè)計既是一項涉及多學(xué)科的綜合性技術(shù),有時一項龐大的工程項目數(shù)據(jù)庫建設(shè)是硬件、軟件、和干件的結(jié)合;數(shù)據(jù)庫設(shè)計應(yīng)該和應(yīng)用系統(tǒng)設(shè)計相結(jié)合,即整個設(shè)計過程中要把結(jié)構(gòu)設(shè)計和行為設(shè)計緊密結(jié)合起來。第二章、 數(shù)據(jù)庫理論基礎(chǔ)2.1 數(shù)據(jù)庫系統(tǒng)設(shè)計計算機信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進行信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。 對于數(shù)據(jù)庫應(yīng)用開發(fā)人員來說,為使現(xiàn)實世界的信息流計算機話,并對計算機話的信息進

10、行各種操作,就是如何利用數(shù)據(jù)庫管理系統(tǒng)、系統(tǒng)軟件和相關(guān)硬件系統(tǒng),將用戶的要求轉(zhuǎn)化成有效的數(shù)據(jù)結(jié)構(gòu),并使數(shù)據(jù)庫結(jié)構(gòu)易于實現(xiàn)用戶新的要求的過程。 確切的說,數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計,以及一個確定數(shù)據(jù)庫存儲結(jié)構(gòu)與存取方法的物理設(shè)計,建立起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,有能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫。數(shù)據(jù)庫設(shè)計主要是進行數(shù)據(jù)庫的邏輯設(shè)計,即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面向用戶的。數(shù)據(jù)庫設(shè)計時需要綜合企業(yè)各個部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的

11、關(guān)系,按照dbms提供的功能和描述工具,設(shè)計出規(guī)模適當(dāng)、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型。數(shù)據(jù)庫設(shè)計的步驟是:(1)數(shù)據(jù)庫結(jié)構(gòu)定義:目前的數(shù)據(jù)庫管理系統(tǒng)(dbms)有的是支持聯(lián)機事務(wù)處理cltp(負(fù)責(zé)對事務(wù)數(shù)據(jù)進行采集、處理、存儲)的操作型dbms,有的可支持?jǐn)?shù)據(jù)倉庫、有聯(lián)機分析處理clap(指為支持決策的制定對數(shù)據(jù)的一種加工操作)功能的大型dbms,有的數(shù)據(jù)庫是關(guān)系型的、有的可支持面向?qū)ο髷?shù)據(jù)庫。針對選擇的dbms,進行數(shù)據(jù)庫結(jié)構(gòu)定義。(2)數(shù)據(jù)表定義:數(shù)據(jù)表定義指定義數(shù)據(jù)庫中數(shù)據(jù)表的結(jié)構(gòu),數(shù)據(jù)表的邏輯結(jié)構(gòu)包括:屬性名稱、類型、表示形式、缺省值、校驗規(guī)則

12、、是否關(guān)鍵字、可否為空等。關(guān)系型數(shù)據(jù)庫要盡量按關(guān)系規(guī)范化要求進行數(shù)據(jù)庫設(shè)計,但為使效率高,規(guī)范化程度應(yīng)根據(jù)應(yīng)用環(huán)境和條件來決定。數(shù)據(jù)表設(shè)計不僅要滿足數(shù)據(jù)存儲的要求,還要增加一些如反映有關(guān)信息、操作責(zé)任、中間數(shù)據(jù)的字段或臨時數(shù)據(jù)表。(3)存儲設(shè)備和存儲空間組織:確定數(shù)據(jù)的存放地點、存儲路徑、存儲設(shè)備等,備份方案,對多版本如何保證一致性和數(shù)據(jù)的完整性。(4)數(shù)據(jù)使用權(quán)限設(shè)置:針對用戶的不同使用要求,確定數(shù)據(jù)的用戶使用權(quán)限,確保數(shù)據(jù)安全。(5)數(shù)據(jù)字典設(shè)計:用數(shù)據(jù)字典描述數(shù)據(jù)庫的設(shè)計,便于維護和修改。2.2 visual foxpro 6.0 工具介紹visual foxpro 6.0版本是微軟公司

13、開發(fā)的一個32位的數(shù)據(jù)庫管理系統(tǒng)。這是自含型數(shù)據(jù)庫管理系統(tǒng),是解釋型和編譯混合的系統(tǒng)。它能夠以解釋的方式定義、操作數(shù)據(jù)庫,也可將操作過程編寫為程序進行編譯,脫離系統(tǒng)直接運行,所以受到歡迎。visual foxpro 6.0支持標(biāo)準(zhǔn)的面向過程的程序設(shè)計方式,但更重要的是它提供真正的面向?qū)ο蟪绦蛟O(shè)計的能力。借助visual foxpro 6.0的對象模型,用戶可以利用所有的面向?qū)ο缶幊痰奶攸c,可以充分使用面向?qū)ο蟪绦蛟O(shè)計的所有功能,包括繼承性、封裝性、多態(tài)性和子類。這一方面可以減少用戶的編程工作量,另一方面又加快程序開發(fā)過程。visual foxpro 6.0提供了用于應(yīng)用程序開發(fā)的各種設(shè)計器、向

14、導(dǎo)、工具欄、菜單和生成器。這些設(shè)計工具的可視化使尚不具備應(yīng)用程序設(shè)計技術(shù)的廣大用戶,具有易于獲得開發(fā)應(yīng)用程序的能力。visual foxpro 6.0在創(chuàng)建項目的同時,生成了該項目的管理器;由它全面管理項目中的數(shù)據(jù)庫、應(yīng)用程序及文檔等,使數(shù)據(jù)庫的應(yīng)用和開發(fā)更加方便。此外,其數(shù)據(jù)庫的管理功能也更加強大,提供了過去只有在大型計算機的數(shù)據(jù)庫管理系統(tǒng)中才具有的功能,如設(shè)置表字段的默認(rèn)值、字段和記錄的有效性規(guī)則,以用表間記錄的參照完整性規(guī)則等。因此,也極大地提高了數(shù)據(jù)的安全性??梢詫椖考皵?shù)據(jù)有更強的控制,能夠使用源代碼管理產(chǎn)品,同時可以在“項目管理器”中看到組件的狀態(tài)。數(shù)據(jù)庫容器允許幾個用戶在同一個數(shù)

15、據(jù)庫中同時創(chuàng)建或修改規(guī)則等。因此,也極大地提高了數(shù)據(jù)庫的安全性??梢越柚绊椖抗芾砥鳌眲?chuàng)建和集中管理應(yīng)用程序中的任何元素,可以訪問所有向?qū)А⑸善?、工具欄和其他易于使用工具。它提供了一個進行集中管理的環(huán)境。visual foxpro 6.0添加了新的“應(yīng)用程序向?qū)А?,其提供的新的對象和改進了的應(yīng)用程序框架功能可以使用程序更有效率。visual foxpro 6.0中還添加了一些功能來增強開發(fā)環(huán)境,以便更容易地向應(yīng)用程序中添加有效的功能。visual foxpro 6.0提供了更多的生成器、工具欄和設(shè)計器等,利用它們可以快速開發(fā)應(yīng)用程序。在visual foxpro 6.0中,用戶可以更簡便地調(diào)

16、試及監(jiān)控應(yīng)用程序組件;可以跟蹤事件以及記錄執(zhí)行代碼的工具;利用它可以深入程序,查看屬性設(shè)置值,對象以及數(shù)組元素的值;為顯示交互的或代碼中的信息提供了方便的途徑,同時可以把結(jié)果輸出到應(yīng)用程序窗口之外的另一個窗口;可以用來分析程序、應(yīng)用程序或?qū)嶋H運行的項目代碼。應(yīng)用程序組件的實例中收集了一系列應(yīng)用程序組件,它們顯示了如何利用visual foxpro 6.0的特性解決現(xiàn)實世界的問題。visual foxpro 6.0添加了新的“應(yīng)用程序向?qū)А?,其提供的新對象和改進了的應(yīng)用程序框架功能可以使用程序更有效率。visual foxpro 6.0提供了更好的生成器、工具欄和設(shè)計器等,利用它可以快速開發(fā)應(yīng)用

17、程序。在visual foxpro 6.0中,用戶可以更簡便地調(diào)試及監(jiān)控應(yīng)用程序組件;可以跟蹤事件以及記錄執(zhí)行的工具;利用它可以深入程序,查看屬性設(shè)置值,對象以及數(shù)組元素的值;為顯示交互的或代碼中的信息提們供了方便的途徑,同時可以把結(jié)果輸出到應(yīng)用程序窗口之外的另一個窗口;可以用來分析程序、應(yīng)用程序或?qū)嶋H運行的項目代碼。2.3 visual foxpro 6.0的select-sql查詢select-sql是從sql語言移植過來的查詢令,具有最強大的單表與多表查詢功能。vfp支持在命令窗口直接使用select-sql命令,也允許通過一種稱為“查詢設(shè)計器”的窗口來設(shè)計查詢步驟、生成查詢文件,然后運

18、行定制的查詢。下面將對此作簡單介紹。一、 sql功能強大,是一種完備的數(shù)據(jù)處理語言,不僅用于數(shù)據(jù)庫查詢,而且用于數(shù)據(jù)庫中的數(shù)據(jù)修改和更新,概括起來,它可以分成以下幾組: dml(datamanipulationlanguage,數(shù)據(jù)操作語言):用于檢索或者修改數(shù)據(jù); ddl(datadefinitionlanguage,數(shù)據(jù)定義語言):用于定義數(shù)據(jù)的結(jié)構(gòu),比如創(chuàng)建、修改或者刪除數(shù)據(jù)庫對象;dcl(datacontrollanguage,數(shù)據(jù)控制語言):用于定義數(shù)據(jù)庫用戶的權(quán)限。dml組可以細(xì)分為以下的幾個語句:select:用于檢索數(shù)據(jù)insert:用于增加數(shù)據(jù)到數(shù)據(jù)庫;update:用于從數(shù)

19、據(jù)庫中修改現(xiàn)存的數(shù)據(jù);delete:用于從數(shù)據(jù)庫中刪除數(shù)據(jù)。ddl語句可以用于創(chuàng)建用戶和重建數(shù)據(jù)庫對象。下面是ddl命令:createtable,altertable,droptable,createindex,dropindex下面是一個簡單sql語句的例子:我們使用sql語句來從客房信息中檢索客房編號為0308的客房編號:select客房編號from客房信息where客房編號=0308二、 ddl與dml數(shù)據(jù)定義語言ddl:它是用來創(chuàng)建和修改數(shù)據(jù)庫結(jié)構(gòu)的一種語句,包括create、alter和drop語句。數(shù)據(jù)操作語言dml:包括數(shù)據(jù)查詢與數(shù)據(jù)更新。數(shù)據(jù)查詢主要是由select語句完成,這

20、一點不再贅述。而數(shù)據(jù)更新所造成的風(fēng)險大大超過數(shù)據(jù)查詢。數(shù)據(jù)庫管理系統(tǒng)必須在更改期內(nèi)保護所存儲的數(shù)據(jù)的一致性,確保有效的數(shù)據(jù)進入數(shù)據(jù)庫,數(shù)據(jù)庫必須保持一致性,dbms還必須協(xié)調(diào)多用戶的并行更新,以確保用戶和它們的更改不至于影響其它用戶的作業(yè)。用于修改數(shù)據(jù)庫內(nèi)容的sql語句主要有以下三個:(1)insert,向一個表中加入新的數(shù)據(jù)行(2)delete,從一個表中刪除數(shù)據(jù)行(3)update,更改數(shù)據(jù)庫中已經(jīng)存在的數(shù)據(jù)insert標(biāo)準(zhǔn)語法:insertintotable_name(col1,col2.)values(value1,value2.)下例要將客房編號0308作為一個客房情況加入入住管理表

21、中insertinto入住管理(入住單號,客房類型,入住人數(shù),客房編號,抵店時間) values(rz0000001,1,2,0308,05/08/2005 11:00:00am)insert語句還可以將多行數(shù)據(jù)添加到目標(biāo)表中去,在這種形式的insert語句中,新行的數(shù)據(jù)值不是在語句正文中明確地指定的,而是語句中指定的一個數(shù)據(jù)庫查詢。添加的值來自數(shù)據(jù)庫自身的行,在某些特定的狀態(tài)下,這是非常有用的。多行insert語句為拷貝數(shù)據(jù)提供了一種緊湊而高效的方法,但我在自已做的圖書管理系統(tǒng)中沒有使用這種方法,我在系統(tǒng)中是使用循環(huán)依照上面的用法來完成多個記錄的插入。第三章 酒店管理系統(tǒng)設(shè)計分析3.1應(yīng)用需

22、求分析需求描述與分析設(shè)計一個性能良好的數(shù)據(jù)庫系統(tǒng),明確應(yīng)用環(huán)境對系統(tǒng)的要求是首要的和最基本的。特別是數(shù)據(jù)應(yīng)用非常廣泛,非常復(fù)雜,要是事先沒有對信息進行充分和細(xì)致的分析,這種設(shè)計就很難取得成功。通過需求分析階段對酒店客房的整個應(yīng)用情況作全面的、詳細(xì)的調(diào)查,確定酒店管理的目標(biāo),收集支持系統(tǒng)總的設(shè)計目標(biāo)的基礎(chǔ)數(shù)據(jù)和對這些數(shù)據(jù)的要求,確定用戶的需求,并把這些寫成用戶和數(shù)據(jù)庫設(shè)計者都能夠接受的文檔。事實上,需求分析是數(shù)據(jù)庫開發(fā)中最難的任務(wù)之一。因為,第一,系統(tǒng)本身是可變的,用戶的需求必須不斷調(diào)整,使之與這種變化相適應(yīng)。第二,用戶很難說清某部分工作的功能處理過程。所以,設(shè)計人員必須認(rèn)識到:在整個需求分析以

23、及系統(tǒng)設(shè)計過程中,用戶參與的重要性,通過各種方法展開調(diào)查分析。1開發(fā)目的:這個管理系統(tǒng)主要為中、小型酒店設(shè)計,根據(jù)酒店的管理需求,經(jīng)過分析后要實現(xiàn)的功能有:(1) 能夠查看詳細(xì)的客房類型、客房信息資料。(2) 能夠按一定條件查詢相關(guān)資料的信息。(3) 能夠增加、修改和刪除入住的相關(guān)資料。(4) 能夠打印相關(guān)資料信息。(5) 有安全性較強的系統(tǒng)入口。2. 數(shù)據(jù)需求: 經(jīng)過數(shù)據(jù)需求分析,確定這個系統(tǒng)需要客房類型、客房信息、入住管理、收銀退房和用戶名5個表3.2 功能分析1 瀏覽:能瀏覽客房類型和客房信息的資料。2 查詢:能對空房、指定客房按照一定的條件進行查詢或者模糊查詢。3 數(shù)據(jù)維護:對入住客房

24、、客戶的相關(guān)數(shù)據(jù)進行修改、添加、刪除等數(shù)據(jù)維護。4 撤銷/保存:能撤消錯誤的操作,能保存用戶更改的信息。5 資料打印:對收銀退房的相關(guān)數(shù)據(jù)信息按照指定的條件進行打印。6 賬戶密碼的管理:可以修改賬戶密碼。3.3功能模塊分析1 基本信息管理模塊這個模塊有一個表單,實現(xiàn)入住客房信息的增加、修改和刪除功能。2 基本信息查詢模塊這個模塊通過輸入客房編號或客房狀態(tài)對客房是否有人入住進行查詢,并且可以是模糊查詢,也可以是精確查詢。3 基本信息一覽模塊這個模塊包括兩個表單,分別實現(xiàn)對客房類型和客房信息的總體瀏覽。4 離店結(jié)帳管理模塊通過一個表單實現(xiàn)對離店客戶房間信息查詢,在這個表單里,我們可以選擇要打印的數(shù)

25、據(jù),實現(xiàn)按條件打印的目標(biāo)。5 用戶管理模塊用戶管理模塊包括了密碼修改和系統(tǒng)退出等功能。這些功能是通過獨立的表單實現(xiàn)的。功能模塊如下: 用戶登錄界面基本信息查詢客房信息一覽離店結(jié)帳管理用戶管理系統(tǒng)運行主程序基本信息管理基本信息一覽客房類型一覽通過上述完整的需求分析,整個應(yīng)用系統(tǒng)的大致結(jié)構(gòu)模型已分析完成。e-r圖如下客房登記基本信息登入客房信息管理客房信息返回結(jié)帳信息管理結(jié)帳信息輸入空房查詢客房類型基本信息輸入 客房類型實體類型編號類型名稱價格客房信息實體客房編號類型編號樓層編號額定人數(shù)床數(shù)狀態(tài)離店結(jié)帳信息實體客房編號客房類型客房價格抵店時間結(jié)帳金額結(jié)帳時間第四章 系統(tǒng)數(shù)據(jù)庫設(shè)計4.1 表結(jié)構(gòu)設(shè)計

26、1客房類型表(客房類型.dbf)客房類型的基本情況,其字段屬性如下字段名稱數(shù)據(jù)類型字段大小說明類型編號字符型4類型名稱字符型40價格貨幣型82.客房信息表(客房信息.dbf)客房信息的基本情況,其字段屬性如下字段名稱數(shù)據(jù)類型字段大小說明客房編號字符型4主索引類型編號字符型4樓層編號字符型4額定人數(shù)字符型4床數(shù)字符型4狀態(tài)字符型20普通索引3.入住管理表(入住管理.dbf)入住管理的基本情況,其字段屬性如下字段名稱數(shù)據(jù)類型字段大小說明入住單號字符型36客房類型字符型4入住人數(shù)整型4客房編號字符型12抵店時間日期時間型84.收銀退房表(收銀退房.dbf)收銀退房的基本情況,其字段屬性如下字段名稱數(shù)

27、據(jù)類型字段大小說明入住單號字符型36客房類型字符型4客房編號字符型12主索引抵店時間日期時間型8離店時間日期時間型8客房價格貨幣型8結(jié)帳金額貨幣型8結(jié)帳日期日期時間型8第五章 主要表單及其事件代碼的實施5.1系統(tǒng)登陸表單登錄表單執(zhí)行,當(dāng)用戶輸入正確的登錄信息時,單擊“確定”按鈕的時候或者單擊“取消”按鈕時,登錄表單和主界面表單都會被釋放,同時執(zhí)行主菜單。1.建立下圖所示登錄表單(登陸.scx)。 5.2基本信息管理表單這個表單由入住管理表單和入住后臺管理表單組成,用來添加、修改和刪除客房信息。點入住后臺管理表單中的添加客房信息修改客房信息刪除客房信息都可以轉(zhuǎn)到入住管理表單上對客房信息進行添加、

28、修改和刪除。1. 建立入住管理表單(入住管理.scx),表單顯示結(jié)果如下表單代碼主要有(1)“添加”按鈕的click事件代碼append blankselect 入住管理go bottomreplace 入住單號 with thisform.text1.valuereplace 抵店時間 with thisform.text2.valuereplace 客房編號 with thisform.text3.valuereplace 入住人數(shù) with thisform.text4.valuereplace 客房類型 with thisform.text5.value(2)“修改”按鈕的click事

29、件代碼thisform.text1.enabled=.t.thisform.text2.enabled=.t.thisform.text3.enabled=.t.thisform.text4.enabled=.t.thisform.text5.enabled=.t.(3)“刪除”按鈕的click事件代碼delete pack(4)“確定”按鈕的click事件代碼replace 入住單號 with thisform.text1.valuereplace 抵店時間 with thisform.text2.valuereplace 客房編號 with thisform.text3.valuerepl

30、ace 入住人數(shù) with thisform.text4.valuereplace 客房類型 with thisform.text5.valu2. 建立入住后臺管理表單(入住后臺管理.scx),表單顯示結(jié)果如下表單代碼主要有(1)“確定”按鈕的click事件代碼thisform.text1.enabled=.f.thisform.command1.enabled=.f.xh=alltrim(thisform.text1.value)do form 入住管理(2)“添加客房信息”按鈕的click事件代碼thisform.text1.value=com_bt=append_formdo form

31、入住管理(3)“修改客房信息”按鈕的click事件代碼thisform.text1.enabled=.t.thisform.command1.enabled=.t.messagebox(請輸入客房編號!)com_bt=delete_form(4)“刪除客房信息”按鈕的click事件代碼thisform.text1.enabled=.t.thisform.command1.enabled=.t.messagebox(請輸入客房編號!)com_bt=modify_form5.3基本信息查詢表單空房的查詢可以更加快捷的幫助客戶查找到想要的房間1. 建立空房查詢表單(空房查詢.scx),表單顯示結(jié)果如

32、下2. 表單主要代碼有(1)“查詢”按鈕的click的事件代碼if empty(alltrim(thisform.text1.value)messagebox(請輸入查詢條件!)thisform.text1.setfocuselseuse 客房信息.dbf set filter to if val(alltrim(thisform.text1.value)0 set filter to alltrim(客房編號)=alltrim(thisform.text1.value) mand4.visible=.f. else set filter to at(alltrim(thisform.text

33、1.value),狀態(tài))0 mand4.visible=.t.endif go topgo topif val(客房編號)0thisform.text2.value=客房編號thisform.text3.value=額定人數(shù)thisform.text4.value=樓層編號thisform.text5.value=床數(shù)thisform.text6.value=類型編號thisform.text7.value=狀態(tài)elsemessagebox(對不起,沒有您查詢的房間!)endifendif(2)“下一個”按鈕的click事件代碼skip thisform.activate &執(zhí)行表單的acti

34、vate事件 thisform.text2.value=客房編號thisform.text3.value=額定人數(shù)thisform.text4.value=樓層編號thisform.text5.value=床數(shù)thisform.text6.value=類型編號thisform.text7.value=狀態(tài)5.4基本信息一覽表單這一項主要由客房類型一覽和客房信息一覽??头款愋鸵挥[主要是用來看酒店客房的種類、價格。而客房信息一覽主要用來看每個房間的類型、人數(shù)、床數(shù)和現(xiàn)在的狀態(tài)。1.建立客房類型一覽表單(客房類型一覽.scx),表單顯示結(jié)果如下 3. 建立客房信息一覽表單(客房信息一覽.scx),表

35、單顯示結(jié)果如下5.5離店結(jié)帳管理表單這個表單主要用于在客戶要離店結(jié)帳時使用,通過對離店客人客房編號的查詢,可以查找到客戶住店的時間、房間類型、房間價格,從而可以進行結(jié)帳金額的計算,還可以根據(jù)客戶要求對表單進行打印。1.建立離店結(jié)帳管理表單(離店結(jié)帳管理.scx),表單顯示結(jié)果如下 表單主要代碼有(1)“查詢”按鈕的click事件代碼if empty(alltrim(thisform.text1.value)messagebox(請輸入查詢條件!)thisform.text1.setfocuselse.use 收銀退房.dbf set filter to if val(alltrim(thisf

36、orm.text1.value)0 set filter to alltrim(客房編號)=alltrim(thisform.text1.value)endif go topgo topif val(客房編號)0thisform.text2.value=客房編號thisform.text3.value=客房類型thisform.text4.value=客房價格thisform.text5.value=抵店時間thisform.text6.value=結(jié)帳日期thisform.text7.value=結(jié)帳金額elsemessagebox(對不起,沒有您查詢的房間!)endifendif(2)“打

37、印”按鈕的click事件代碼messagebox(確定打印!,16,提示信息)report form 收銀退房.frx noeject noconsole to printerthisform.refresh5.6用戶管理表單這個表單主要用來對登陸用戶名的添加、查找、修改和刪除用的,可以隨時對用戶名、密碼進行修改、添加和刪除。相應(yīng)的添加、查找、修改、刪除按鈕都對應(yīng)不同功能的“確定”或“查找”按鈕功能。1.建立用戶管理表單(用戶管理.scx),表單顯示結(jié)果如下 表單主要代碼有(1)“添加”按鈕的click事件代碼thisform.text1.value=thisform.text2.value=

38、*設(shè)置按鈕狀態(tài)thisform.command1.enabled=.t.thisform.command1.visible=.t.*設(shè)置標(biāo)簽狀態(tài)thisform.label2.enabled=.t.thisform.label3.enabled=.t.*設(shè)置文本框狀況thisform.text1.enabled=.t.thisform.text2.enabled=.t.*設(shè)text1為輸入框thisform.text1.setfocus點擊“添加”按鈕同時會出現(xiàn)左上的“確定”按鈕 click事件代碼use 用戶名.dbf*插入新記錄append blank*將用戶的輸入信息保存到用戶信息庫中r

39、eplace 用戶名 with alltrim(thisform.text1.value)replace 密碼 with alltrim(thisform.text2.value)use*將表單設(shè)置成初始狀態(tài)thisform.text1.value=thisform.text2.value=thisform.text1.enabled=.f.thisform.text2.enabled=.f.thisform.command1.visible=.f.thisform.label2.enabled=.f.thisform.label3.enabled=.f.(2)“查找”按鈕的click事件代碼

40、thisform.label1.enabled=.t.thisform.label2.enabled=.t.*將text1控件設(shè)置成可用thisform.text1.enabled=.t.thisform.text1.setfocus*將查找按鈕設(shè)置成可用和可見thisform.command2.visible=.t.thisform.command2.enabled=.t.*將兩個text控件的值設(shè)置為空值thisform.text1.value=thisform.text2.value=點擊“查找”按鈕同時會出現(xiàn)左圖的“查找”按鈕 click事件代碼use 用戶名.dbf*查找用戶輸入的信

41、息locate for alltrim(用戶名)=alltrim(thisform.text1.value)if found()*如果找到在表單中顯示thisform.text1.value=用戶名thisform.text2.value=密碼else*如果沒有找到提示用戶messagebox(查無此用戶!)thisform.text1.value=thisform.text2.value=endifuse*恢復(fù)表單的初始化狀態(tài)thisform.text1.enabled=.f.thisform.text2.enabled=.f.thisform.label2.enabled=.f.thisf

42、orm.label3.enabled=.f.thisform.command2.visible=.f.(3)“修改”按鈕的click事件代碼use 用戶名.dbf*在用戶信息庫中查找用戶輸入的信息temp1=alltrim(thisform.text1.value)temp2=alltrim(thisform.text2.value)locate for alltrim(用戶名)=temp1.and.alltrim(密碼)=temp2*如果找到,保存修改的信息if found()replace 用戶名 with alltrim(thisform.text1.value)replace 密碼 w

43、ith alltrim(thisform.text2.value)endifuse*恢復(fù)表單的初始化設(shè)置thisform.text1.value=thisform.text2.value=thisform.text1.enabled=.f.thisform.text2.enabled=.f.thisform.command3.visible=.f.點擊“修改”按鈕同時會出現(xiàn)左圖左下的“確定”按鈕 click事件代碼use 用戶名.dbf*在用戶信息庫中查找用戶輸入的信息temp1=alltrim(thisform.text1.value)temp2=alltrim(thisform.text2

44、.value)locate for alltrim(用戶名)=temp1.and.alltrim(密碼)=temp2*如果找到,保存修改的信息if found()replace 用戶名 with alltrim(thisform.text1.value)replace 密碼 with alltrim(thisform.text2.value)endifuse*恢復(fù)表單的初始化設(shè)置thisform.text1.value=thisform.text2.value=thisform.text1.enabled=.f.thisform.text2.enabled=.f.thisform.comman

45、d3.visible=.f.(4)“刪除”按鈕的click事件代碼thisform.command4.visible=.t.點擊“刪除”按鈕同時會出現(xiàn)左圖右下的“確定”按鈕 click事件代碼use 用戶名.dbflocate for alltrim(用戶名)=alltrim(thisform.text1.value)*如果找到制定的用戶,將其刪除if found()delete packendifuse*恢復(fù)表單的初始化狀態(tài)thisform.text1.value=thisform.text2.value=thisform.command4.visible=.f.(5)在表單背景上控制“確定

46、”和“查找”按鈕的click事件代碼thisform.text1.enabled=.f.thisform.text2.enabled=.f.thisform.label2.enabled=.f.thisform.label3.enabled=.f.thisform.command1.enabled=.f.thisform.command2.enabled=.f.thisform.command3.enabled=.f.thisform.command1.visible=.f.thisform.command2.visible=.f.thisform.command3.visible=.f.th

47、isform.command4.visible=.f.5.7報表設(shè)計根據(jù)需要報表表單設(shè)計一個收銀退房的報表,用來打印客戶結(jié)帳資料,并可以提供給客戶1. 收銀退房報表如下圖打印效果如下圖5.8 主菜單的建立編寫這個菜單是一個在全屏幕下顯示的表單,是系統(tǒng)的主界面數(shù)據(jù)來源。主菜單做為整個系統(tǒng)的綜合管理。點擊新建菜單,命名為“主菜單”在其目錄下插入菜單名稱結(jié)果選項菜單名稱結(jié)果選項基本信息管理子菜單編輯入住管理命令do form 入住后臺管理基本信息查詢子菜單編輯空房查詢命令do form 空房查詢基本信息一覽子菜單編輯客房信息一覽命令do form 客房信息一覽客房類型一覽命令do form 客房類型

48、一覽離店結(jié)帳管理子菜單編輯離店結(jié)帳管理命令do form 離店結(jié)帳管理用戶管理子菜單編輯用戶管理命令do form 用戶管理幫助子菜單編輯關(guān)于命令do form 關(guān)于退出系統(tǒng)命令quit5.9 主程序代碼的建立編寫這個程序代碼是一個支持主菜單的代碼,用來生成系統(tǒng)主界面對其進行各方面調(diào)整,還可以用于美化系統(tǒng)主界面。在代碼欄新建程序,命名mail。代碼如下set score off &關(guān)閉分值欄set safety off &關(guān)閉安全提示set status bar off &關(guān)閉系統(tǒng)提示欄set century on &打開世紀(jì)開關(guān)set deleted on &屏閉刪除項set sysmenu

49、 off &關(guān)閉系統(tǒng)菜單set notify off &關(guān)閉提示&設(shè)置系統(tǒng)窗口屬性_screen.maxbutton = .f.&取消最大化按鈕_screen.maxwidth = 700&設(shè)置最大寬度_screen.maxheight = 600&設(shè)置最大高度_screen.caption = 白云酒店管理系統(tǒng) &設(shè)置窗口標(biāo)題_screen.picture = 01.jpg &設(shè)置窗口背景圖片_screen.autocenter = .t.&指定表單初次顯示時,自動位于主窗口中央&公共變量public findrecordnopublic usernamedo 主菜單.mpr&打開菜單&打開登錄表單do form 登陸.scxread eventsprocedure onquit clear events close all quitendproc5.10 系統(tǒng)連編在項目管理器酒店管理系統(tǒng)中對系統(tǒng)進行連編。連編完成后,整個白云酒店管理系統(tǒng)的設(shè)計實現(xiàn)以全部完成。開發(fā)工作至此結(jié)束。系統(tǒng)主界面如下圖第六章 結(jié)論通過前文所述,系統(tǒng)開發(fā)的全過程已經(jīng)完成,系統(tǒng)已經(jīng)產(chǎn)生。本酒店管理系統(tǒng)的優(yōu)點是:采用全新的計算機信息管理系統(tǒng)為客人提供快捷、細(xì)致、周到的服務(wù),以顧客為中心,了解

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論