賓館管理信息系統(tǒng)_第1頁
賓館管理信息系統(tǒng)_第2頁
賓館管理信息系統(tǒng)_第3頁
賓館管理信息系統(tǒng)_第4頁
賓館管理信息系統(tǒng)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE賓館管理信息系統(tǒng)摘要:隨著人員流動(dòng)規(guī)模的不斷擴(kuò)大,賓館數(shù)量的急劇增加,有關(guān)客房管理的各種信息量也在不斷成倍增長(zhǎng)。面對(duì)龐大的信息量,要想提高勞動(dòng)生產(chǎn)率,降低成本,提高服務(wù)質(zhì)量和管理水平,促進(jìn)經(jīng)濟(jì)效益,必須借助計(jì)算機(jī)來進(jìn)行現(xiàn)代化的信息管理,利用客房信息管理系統(tǒng)來提高客房管理工作的效率。通過該系統(tǒng)要能實(shí)現(xiàn)對(duì)賓館進(jìn)行全方位的管理和及時(shí)了解各環(huán)境中信息的變更,能提高管理效率使賓館實(shí)現(xiàn)系統(tǒng)化、規(guī)范化和自動(dòng)化。包括了客房信息管理模塊,訂房信息管理模,結(jié)算信息管理模塊等模塊,以及對(duì)這些模塊進(jìn)行添加,修改查詢等等。該系統(tǒng)具有操作簡(jiǎn)單、界面友善、靈活性好、系統(tǒng)安全性高、運(yùn)行穩(wěn)定等特點(diǎn),是賓館管理者的理想選擇。關(guān)鍵詞:VB;ACCESS;客房信息;訂房信息;結(jié)算信息目錄第一章緒論 1第二章系統(tǒng)概述 22.1選題背景 22.2設(shè)計(jì)目的 22.3課題意義 2第三章需求分析 33.1功能分析 3第四章可行性分析 44.1經(jīng)濟(jì)可行性 44.2技術(shù)可行性 4第五章總體設(shè)計(jì) 55.1系統(tǒng)數(shù)據(jù)流程分析 55.2系統(tǒng)功能模塊設(shè)計(jì) 7第六章詳細(xì)設(shè)計(jì) 96.1建庫準(zhǔn)備 96.1.1第一范式1NF 96.1.2第二范式2NF 96.1.3第三范式3NF 96.2數(shù)據(jù)庫設(shè)計(jì) 106.2.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) 106.2.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 106.3數(shù)據(jù)庫結(jié)構(gòu)的實(shí)現(xiàn) 116.4簡(jiǎn)述ODBC技術(shù) 126.5前臺(tái)界面設(shè)計(jì)及編程(各功能模塊功能的實(shí)現(xiàn)) 136.6賓館管理信息系統(tǒng)主窗體的創(chuàng)建 13第七章賓館客房管理系統(tǒng)實(shí)現(xiàn) 167.1數(shù)據(jù)庫的實(shí)現(xiàn) 167.2登錄程序及用戶維護(hù)程序 187.3系統(tǒng)的實(shí)現(xiàn) 19第八章測(cè)試 238.1性能測(cè)試 238.2功能測(cè)試 23第九章總結(jié) 249.1總結(jié) 24參考文獻(xiàn) 25致謝 26附錄 27PAGE1第四章可行性分析經(jīng)過對(duì)賓館管理的采訪,根據(jù)賓館管理的需求和學(xué)過的現(xiàn)有知識(shí)經(jīng)研究,我認(rèn)為開發(fā)出一個(gè)以ACCESS2003和VB無縫結(jié)合的賓館管理信息系統(tǒng)是可行的。從以下兩個(gè)方面對(duì)本系統(tǒng)的可行性著手進(jìn)行了研究:4.1經(jīng)濟(jì)可行性本系統(tǒng)的開發(fā)成功將極大地提高賓館管理的效率,節(jié)省大量的人力、物力和財(cái)力,其經(jīng)濟(jì)效率是顯而易見的;4.2技術(shù)可行性隨著IT技術(shù)的飛速發(fā)展,計(jì)算機(jī)的性價(jià)比越來越高,很多企業(yè)都配置了計(jì)算機(jī)并構(gòu)建了網(wǎng)絡(luò)系統(tǒng),這為我們運(yùn)行許多軟件包括運(yùn)營(yíng)之類的管理軟件提供了硬件基礎(chǔ)。同時(shí)軟件平臺(tái)的豐富多樣也為我們進(jìn)行數(shù)據(jù)庫管理系統(tǒng)的開發(fā)提供了有力的支撐。再則,我們?nèi)甑拇髮W(xué)學(xué)習(xí)已掌握了一定的計(jì)算機(jī)知識(shí),具備了一定的軟件開發(fā)能力。因此,開發(fā)一套賓館管理信息系統(tǒng)在技術(shù)上是有保障的。通過了大量的工作后,分析調(diào)查有關(guān)賓館管理信息需求的基礎(chǔ)上得本系統(tǒng)所處理的數(shù)據(jù)流程如圖1.1所示:第五章總體設(shè)計(jì)5.1系統(tǒng)數(shù)據(jù)流程分析經(jīng)過需求分析階段的工作,系統(tǒng)必須“做什么”已經(jīng)清楚了,現(xiàn)在是決定“怎樣做”的時(shí)候了??傮w設(shè)計(jì)要解決的問題是:概括的說,系統(tǒng)應(yīng)該如何實(shí)現(xiàn)?通過這個(gè)階段的工作將劃分出組成系統(tǒng)的物理元素、程序、文件、數(shù)據(jù)庫、人工過程和文檔等等,但是每個(gè)物理元素仍然處于黑盒子級(jí),這些黑盒子里的內(nèi)容將在下一章節(jié)作詳細(xì)介紹。用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。在與賓館管理的相關(guān)人員探討后,在了賓館管理信息需求的基礎(chǔ)上,分析客房與客戶之間的聯(lián)系,我們得出六個(gè)實(shí)體:客房信息實(shí)體、客房信息實(shí)體,頂房信息實(shí)體、結(jié)算信息實(shí)體和各實(shí)體間的關(guān)系。針對(duì)實(shí)體的屬性,數(shù)據(jù)流程圖和各實(shí)體E-R圖以及個(gè)E-R實(shí)體間的關(guān)系,客房標(biāo)準(zhǔn)設(shè)置客房標(biāo)準(zhǔn)設(shè)置基本信息輸入客房登記基本信息錄入客房信息管理顧客登記訂房信息管理訂房信息管理結(jié)算信息輸入結(jié)算信息管理客房信息返回圖5.1賓館管理信息系統(tǒng)數(shù)據(jù)流程圖各個(gè)實(shí)體具體的描述E-R圖如下:客房標(biāo)準(zhǔn)信息實(shí)體客房標(biāo)準(zhǔn)信息實(shí)體標(biāo)準(zhǔn)編號(hào)標(biāo)準(zhǔn)名稱床位數(shù)量客房單價(jià)圖5.2客房標(biāo)準(zhǔn)信息實(shí)體E-R圖客房信息實(shí)體客房信息實(shí)體客房標(biāo)準(zhǔn)客房編號(hào)客房位置客房單價(jià)圖5.3客房信息實(shí)體E-R圖訂房信息實(shí)體訂房信息實(shí)體客房信息顧客信息折扣入住時(shí)間圖5.4訂房信息實(shí)體E-R圖結(jié)算信息實(shí)體結(jié)算信息實(shí)體客房信息顧客信息結(jié)算時(shí)間結(jié)算金額圖5.5結(jié)算信息實(shí)體E-R圖仔細(xì)分析調(diào)查有關(guān)賓館管理信息需求的基礎(chǔ)上,將得到上術(shù)的本系統(tǒng)所處理的數(shù)據(jù)流程。在分析得出各個(gè)實(shí)體之間的關(guān)系后,經(jīng)過我們對(duì)賓館管理信息系統(tǒng)的詳細(xì)分析,反復(fù)論證和修改,最后我們確定了該系統(tǒng)的數(shù)據(jù)流圖和實(shí)體關(guān)系E-R圖如圖1.客房標(biāo)準(zhǔn)信息客房標(biāo)準(zhǔn)信息客房登記客房信息管理訂房訂房信息管理結(jié)算信息管理客房結(jié)算圖5.6各實(shí)體之間關(guān)系E-R5.2系統(tǒng)功能模塊設(shè)計(jì)設(shè)計(jì)階段一項(xiàng)重要任務(wù)是設(shè)計(jì)軟件結(jié)構(gòu),也就是要確定系統(tǒng)中每個(gè)程序是由哪些模塊組成的,以及這些模塊相互間的關(guān)系。在設(shè)計(jì)過程中,我們遵循設(shè)計(jì)的步驟和原理,如模塊化、抽象、逐步求精這些步驟和啟發(fā)性原則等。從客觀來講模塊之間是存在著聯(lián)系的,但是如果出現(xiàn)大量耦合,會(huì)強(qiáng)烈影響系統(tǒng)的可理解性、可測(cè)試性、可靠性和可維護(hù)性。因此在模塊設(shè)計(jì)中,我們從整體著重考慮了模塊的獨(dú)立性,在設(shè)計(jì)過程中盡量做到模塊的“低耦合高內(nèi)聚”,以便于日后系統(tǒng)的維護(hù)和管理,經(jīng)過對(duì)多種設(shè)計(jì)的選擇優(yōu)化后,我們得出了以如下所示的系統(tǒng)功能模塊圖。該賓館客房管理系統(tǒng)應(yīng)該具有四個(gè)大信息模塊:結(jié)算信息管理模塊、訂房信息管理模塊、客房信息管理模塊和系統(tǒng)管里模塊,其中客戶信息管理模塊信息管多個(gè)子模塊組成,它們均能實(shí)現(xiàn)各種數(shù)據(jù)的查詢、添加、刪除、修改等功能。賓館管理信息系統(tǒng)賓館管理信息系統(tǒng)結(jié)算信息管理訂房信息管理客房信息管理系統(tǒng)管理結(jié)算信息查詢結(jié)算信息修改結(jié)算信息添加訂房信息查詢訂房信息修改訂房信息添加剩余客房信息查詢?cè)O(shè)置客房信息設(shè)置客房標(biāo)準(zhǔn)密碼管理用戶管理客房信息查詢客房信息修改客房信息添加客房標(biāo)準(zhǔn)修改客房標(biāo)準(zhǔn)添加圖5.7系統(tǒng)功能模塊圖第六章詳細(xì)設(shè)計(jì)6.1建庫準(zhǔn)備經(jīng)過了大量的努力,首先做了本軟件系統(tǒng)的初始建庫工作。賓館管理信息系統(tǒng)主要由客房標(biāo)準(zhǔn)信息表、客房信息表、訂房信息表下面開始構(gòu)建。構(gòu)造數(shù)據(jù)庫必須遵循一定的規(guī)則,在關(guān)系數(shù)據(jù)庫中這種規(guī)則就是范式。范式是符合某一種級(jí)別的關(guān)系模式的集合,關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求即滿足不同的范式,目前關(guān)系數(shù)據(jù)庫有六種范式,第一范式1NF、第二范式2NF、第三范式3NF、第四范式4NF、第五范式5NF和第六范式6NF。滿足最低要求的范式是第一范式1NF,在第一范式的基礎(chǔ)上進(jìn)一步滿足更多要求的稱為第二范式2NF,其余范式以次類推一般說來數(shù)據(jù)庫只需滿足第三范式3NF就行了。下面舉例介紹第一范式1NF、第二范式2NF、和第三范式3NF。6.1.1第一范式1NF在任何一個(gè)關(guān)系數(shù)據(jù)庫中,第一范式1NF是對(duì)關(guān)系模式的基本要求。不滿足第一范式1NF的數(shù)據(jù)庫就不是關(guān)系數(shù)據(jù)庫。所謂第一范式1NF是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項(xiàng),同一列中不能有多個(gè)值,即實(shí)體中的某個(gè)屬性不能有多個(gè)值或者不能有重復(fù)的屬性。如果出現(xiàn)重復(fù)的屬性就可能需要定義一個(gè)新的實(shí)體,新的實(shí)體由重復(fù)的屬性構(gòu)成,新實(shí)體與原實(shí)體之間為一對(duì)多關(guān)系。在第一范式1NF中,表的每一行只包含一個(gè)實(shí)例的信息。例如:顧客信息表不能顧客信息都放在一列中,顯示也不能將其中的兩列或多列在一列中顯示。顧客信息表的每一行只表示一個(gè)顧客的信息,一個(gè)顧客的信息在表中只出現(xiàn)一次。簡(jiǎn)而言之,第一范式就是無重復(fù)的列。6.1.2第二范式2NF第二范式2NF是在第一范式1NF的基礎(chǔ)上建立起來的,即滿足第二范式2NF必須先滿足第一范式1NF。第二范式2NF要求數(shù)據(jù)庫表中的每個(gè)實(shí)例或行必須可以被惟一地區(qū)分,為實(shí)現(xiàn)區(qū)分通常需要為表加上一個(gè)列以存儲(chǔ)各個(gè)實(shí)例的惟一標(biāo)識(shí),如員工信息表中加上了員工編號(hào)列,因?yàn)槊總€(gè)員工的員工編號(hào)是惟一的。因此每個(gè)員工可以被惟一區(qū)分,這個(gè)惟一屬性列被稱為主關(guān)鍵字或關(guān)鍵主碼。第二范式2NF要求實(shí)體的屬性完全依賴于主關(guān)鍵字,所謂完全依賴是指不能存在僅依賴主關(guān)鍵字一部分的屬性,如果存在那么這個(gè)屬性和主關(guān)鍵字的這一部分應(yīng)該分離出來形成一個(gè)新的實(shí)體,新實(shí)體與原實(shí)體之間是一對(duì)多的關(guān)系,為實(shí)現(xiàn)區(qū)分通常需要為表加上一個(gè)列以存儲(chǔ)各個(gè)實(shí)例的惟一標(biāo)識(shí),簡(jiǎn)而言之第二范式就是非主屬性依賴于主屬性。6.1.3第三范式3NF滿足第三范式3NF必須先滿足第二范式2NF。簡(jiǎn)而言之第三范式3NF要求一個(gè)數(shù)據(jù)庫表中,不包含已在其它表中已包含的非主關(guān)鍵字信息。例如:存在一個(gè)部門信息表,其中每個(gè)部門有部門編號(hào)、部門名稱、部門簡(jiǎn)介等信息。那么在員工信息表中,列出部門編號(hào)后就不能再將部門名稱、部門簡(jiǎn)介等與部門有關(guān)的信息再加入員工信息表中。如果不存在部門信息表,則根據(jù)第三范式3NF也應(yīng)該構(gòu)建它,否則就會(huì)有大量的數(shù)據(jù)冗余,簡(jiǎn)而言之第三范式就是非主屬性不相互依賴。6.2數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)時(shí)應(yīng)該首先充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫設(shè)計(jì)一般包括如下幾個(gè)步驟:1).數(shù)據(jù)庫需要分析。2).數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)。3).數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)。6.2.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這些實(shí)體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動(dòng)。6.2.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)賓館管理信息系統(tǒng)數(shù)據(jù)庫中各個(gè)表格的設(shè)計(jì)結(jié)果如下面表格所示。每個(gè)表格表示在數(shù)據(jù)庫中的一個(gè)表。具體如下表表6.1Roomtype客房標(biāo)準(zhǔn)信息表列名數(shù)據(jù)類型 可否為空說明TypeidVarcharNOTNULL標(biāo)準(zhǔn)編號(hào)TypenameVarcharNOTNULL標(biāo)準(zhǔn)名稱AreaNumericNULL房間面積BednumNumericNULL床位數(shù)量HairconditionVarcharNULL是否有空調(diào)HtelephoneVarcharNULL是否有電話HtelevisionVarcharNULL是否有電視HtoiletVarcharNULL是否有單獨(dú)衛(wèi)生間PriceNumericNULL單價(jià)表6.2Rooms客房信息表列名數(shù)據(jù)類型可否為空說明roomNOVarcharNOTNULL客房編號(hào)RoomtypeVarcharNOTNULL客房種類RoompositionVarcharNULL客房位置RoompriceNumericNULL單價(jià)PutupVarcharNOTNULL是否被預(yù)定RoommemoTextNULL備注表6.3Bookin訂房信息表列名數(shù)據(jù)類型可否為空說明BooknoVarcharNOTNULL訂房編號(hào)CustomnameVarcharNOTNULL顧客姓名CustomIDVarcharNOTNULL身份證號(hào)碼RoomnoVarcharNOTNULL客房編號(hào)IndateDatetimeNULL入住日期DiscountNumericNULL折扣InmenoTextNULL備注CheckdateDatetimeNULL結(jié)算日期AmountNumericNULL金額6.3數(shù)據(jù)庫結(jié)構(gòu)的實(shí)現(xiàn)經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計(jì)以后,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)。現(xiàn)在就可以在ACCESS2003數(shù)據(jù)庫系統(tǒng)中創(chuàng)建系統(tǒng)用戶表創(chuàng)建客房標(biāo)準(zhǔn)信息表創(chuàng)建客房信息表創(chuàng)建訂房信息表創(chuàng)建系統(tǒng)用戶表創(chuàng)建系統(tǒng)用戶表格user_InfoCREATETABLE[dbo].[user_Info1]([user_ID][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[user_PWD][char](10)COLLATEChinese_PRC_CI_ASNULL,[user_Des][char](10)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]創(chuàng)建客房標(biāo)準(zhǔn)信息表格roomtypeCREATETABLE[dbo].[roomtype]([typeid][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[typename][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[area][numeric](5,0)NULL,[bednum][numeric](2,0)NULL,[haircondition][char](2)COLLATEChinese_PRC_CI_ASNULL,[htelephone][char](2)COLLATEChinese_PRC_CI_ASNULL,[htelevision][char](2)COLLATEChinese_PRC_CI_ASNULL,[htoilet][char](2)COLLATEChinese_PRC_CI_ASNULL,[price][numeric](10,2)NULL)ON[PRIMARY]創(chuàng)建客房信息表格roomsCREATETABLE[dbo].[rooms]([roomNO][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[roomtype][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[roomposition][char](20)COLLATEChinese_PRC_CI_ASNULL,[roomprice][numeric](10,2)NULL,[putup][char](2)COLLATEChinese_PRC_CI_ASNOTNULL,[roommemo][text]COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]創(chuàng)建訂房信息表bookinCREATETABLE[dbo].[bookin]([bookno][char](14)COLLATEChinese_PRC_CI_ASNOTNULL,[customname][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[customID][char](18)COLLATEChinese_PRC_CI_ASNOTNULL,[roomno][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[indate][datetime]NULL,[discount][numeric](2,0)NULL,[inmemo][text]COLLATEChinese_PRC_CI_ASNULL,[checkdate][datetime]NULL,[ammount][numeric](10,2)NULL)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]6.4簡(jiǎn)述ODBC技術(shù)由于不同廠商推出的各種數(shù)據(jù)庫系統(tǒng)在性能和應(yīng)用范圍上的差異,使得一個(gè)綜合網(wǎng)絡(luò)數(shù)據(jù)系統(tǒng)的各工作組由于需求的差異等原因,選擇不同的數(shù)據(jù)庫系統(tǒng)。為此,在一個(gè)綜合網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)中就會(huì)存在多種不同的數(shù)據(jù)庫,特別是當(dāng)用戶需要從客戶端向不同的服務(wù)器訪問時(shí),微軟公司提出的開放式數(shù)據(jù)庫互聯(lián)ODBC(Open-DateBase-Connectivity)技術(shù)為解決這個(gè)問題提供了一個(gè)強(qiáng)有力的解決方案。ODBC為用戶提供了一個(gè)簡(jiǎn)單、標(biāo)準(zhǔn)和透明的數(shù)據(jù)庫聯(lián)接的公共編程接口,各開發(fā)廠商根據(jù)ODBC的標(biāo)準(zhǔn)來實(shí)現(xiàn)其底層的驅(qū)動(dòng)程序。用戶安裝不同的數(shù)據(jù)庫系統(tǒng)在傳統(tǒng)的方式中,開發(fā)人員需要熟悉多個(gè)數(shù)據(jù)庫系統(tǒng)及其數(shù)據(jù)庫應(yīng)用程序接口。一旦數(shù)據(jù)庫系統(tǒng)端出現(xiàn)變動(dòng),則會(huì)導(dǎo)致用戶端系統(tǒng)重新編建或者對(duì)源代碼進(jìn)行修改這給開發(fā)和維護(hù)工作帶來了極大的困難。在ODBC方式中,由于用戶在程序中都使用同一套標(biāo)準(zhǔn)代碼,所以不管底層網(wǎng)絡(luò)環(huán)境如何,也無論用戶采用何種數(shù)據(jù)庫系統(tǒng),用戶端源程序都不會(huì)因底層的變化而需要進(jìn)行重新編建和修改,用戶也就無需逐個(gè)了解各數(shù)據(jù)庫系統(tǒng)及其數(shù)據(jù)庫應(yīng)用程序接口的特點(diǎn),從而減輕了用戶開發(fā)維護(hù)的工作量,縮短了系統(tǒng)開發(fā)周期。ODBC的這種開放性,還為程序集成提供了便利,為客戶/服務(wù)器結(jié)構(gòu)的異質(zhì)計(jì)算機(jī)環(huán)境的數(shù)據(jù)訪問提供了技術(shù)支持。6.5前臺(tái)界面設(shè)計(jì)及編程(各功能模塊功能的實(shí)現(xiàn))關(guān)系數(shù)據(jù)庫結(jié)構(gòu)的所有后臺(tái)工作已經(jīng)完成?,F(xiàn)在將使用VisualBasic來編寫數(shù)據(jù)庫系統(tǒng)的客戶端程序,實(shí)現(xiàn)賓館管理信息系統(tǒng)中的各個(gè)功能模塊。功能結(jié)構(gòu)圖如下:賓館管理系統(tǒng)賓館管理系統(tǒng)前臺(tái)操作內(nèi)部數(shù)據(jù)管理系統(tǒng)接口功能圖6.1功能結(jié)構(gòu)圖下面我以主窗體的創(chuàng)建為例介紹功能模塊的設(shè)計(jì)及實(shí)現(xiàn),6.6賓館管理信息系統(tǒng)主窗體的創(chuàng)建將通過賓館管理信息系統(tǒng)中各個(gè)功能模塊的實(shí)現(xiàn),講解如何使用VisualBasic來編寫數(shù)據(jù)庫系統(tǒng)的客戶端程序。下面我們開始創(chuàng)建賓館管理信息系統(tǒng)的主窗體,這個(gè)項(xiàng)目我們使用多文檔界面,單擊工具欄中的ADDMDIForm按鈕,產(chǎn)生一個(gè)窗體。在這個(gè)窗體上添加所需的控件,窗體和控件的屬性設(shè)置見表1-7。表6.4主窗體及其控件屬性設(shè)置控件屬性屬性取值frmMain(Form)NameFrmMainCaption賓館管理信息系統(tǒng)StartUpPositonCenterScreenWindowStateMaximizedSbStatusBar(StatusBar)NameSbStatusBarPanels(1)StyleSbrTextPanels(2)StyleSbrDatePanels(3)StyleSbrTime(3)創(chuàng)建主窗體的菜單(4)創(chuàng)建公用模塊系統(tǒng)用戶管理模塊的創(chuàng)建用戶管理模塊主要實(shí)現(xiàn):用戶登錄。添加用戶。修改用戶客房信息管理模塊的創(chuàng)建客房信息管理模塊主要實(shí)現(xiàn)如下功能:添加客房信息。修改客房信息。刪除客房信息。查詢客房信息訂房信息管理模塊的創(chuàng)建訂房信息管理模塊主要實(shí)現(xiàn)如下功能:查詢剩余客房信息添加訂房信息修改訂房信息刪除訂房信息查詢訂房庫信息結(jié)算信息管理模塊的創(chuàng)建結(jié)算信息管理模塊主要實(shí)現(xiàn)如下功能:添加結(jié)算信息修改結(jié)算信息查詢結(jié)算信息第七章賓館客房管理系統(tǒng)實(shí)現(xiàn)7.1數(shù)據(jù)庫的實(shí)現(xiàn)(一)創(chuàng)建數(shù)據(jù)庫:打開ACCESS20003“新建數(shù)據(jù)庫“,創(chuàng)建一個(gè)空數(shù)據(jù)庫,命名為DB_Hotel。(二)在DB_Hotel中創(chuàng)建六張表,包括客房類型信息表,客房信息表,客戶信息表,入住信息表,預(yù)訂信息表,系統(tǒng)用戶信息表??头款愋停愋兔娣e價(jià)格額定床位額定人數(shù)是否有電視是否有電話是否有衛(wèi)生間)表7.1數(shù)據(jù)庫表7.2客房類型表7.3客房信息表客房信息(房間號(hào)類型樓層)表7.4客房信息表客戶信息(客戶號(hào)姓名性別籍貫)表7.5入住記錄表入住記錄(客戶號(hào)房間號(hào)入住日期結(jié)算日期備注)表7.6預(yù)定記錄表預(yù)訂信息(客戶號(hào)房間號(hào)預(yù)訂日期預(yù)訂入住日期預(yù)訂天數(shù))表7.7系統(tǒng)用戶表系統(tǒng)用戶(用戶名密碼)7.2登錄程序及用戶維護(hù)程序登錄窗口及程序圖7.1登陸窗口圖部分程序如下PrivateSubcmdCancel_Click()'結(jié)束程序EndEndSubPrivateSubcmdOk_Click()DimstrUserNameAsStringDimstrPasswordAsStringStaticintLoginTimesAsIntegerIfTrim(txtUserName.Text)=""Then'如果用戶名為空MsgBox"用戶名不能為空!",vbOKOnly+vbCritical,"錯(cuò)誤"txtUserName.SetFocusExitSubEndIf'打開數(shù)據(jù)庫中的Users表adoUsers.Refresh'查找用戶名adoUsers.Recordset.Find"Name='"&txtUserName.Text&"'",,adSearchForward,1'也可以用下面的過濾方式'adoUser.Recordset.Filter="Name='"&txtUserName.Text&"'"IfNotadoUsers.Recordset.EOFThen'找到記錄strUserName=adoUsers.Recordset!NamestrPassword=adoUsers.Recordset!PasswordElse'沒找到記錄strUserName=""strPassword=""EndIfIfstrUserName=txtUserName.TextAndstrPassword=txtPassword.TextThenadoUsers.Recordset.Close'關(guān)閉數(shù)據(jù)庫中的Users表UnloadMe'關(guān)閉窗體frmMDI.Show'顯示主窗體Else'用戶名或密碼不對(duì)MsgBox"用戶名或密碼不對(duì)!",vbOKOnly+vbInformation,"提示"intLoginTimes=intLoginTimes+1IfintLoginTimes>=3Then'超過三次adoUsers.Recordset.Close'關(guān)閉數(shù)據(jù)庫中的Users表End'退出整個(gè)程序EndIftxtPassword.SetFocus'重新輸入密碼SendKeys"{HOME}+{END}"EndIfEndSub7.3系統(tǒng)的實(shí)現(xiàn)現(xiàn)在已經(jīng)完成了程序各個(gè)功能模塊的創(chuàng)建,現(xiàn)在來運(yùn)行整個(gè)系統(tǒng)。輸入用戶名和密碼后,進(jìn)入系統(tǒng)。選擇“賓館管理客房信息系統(tǒng)”菜單,出現(xiàn)如下圖的窗體。圖7.2管理信息系統(tǒng)圖7.3客房信息圖7.4客人信息圖7.5客房信息添加圖7.6信息查詢圖7.7客房信息查詢圖7.8退房信息第八章測(cè)試在測(cè)試前,首先要根據(jù)《需求分析報(bào)告》全面了解用戶需求并透徹理解。測(cè)試時(shí)我們注意以下幾點(diǎn):A、測(cè)試時(shí)分清主次,即先測(cè)試主要功能,后測(cè)試次要功能。找出系統(tǒng)的功能主干,讓數(shù)據(jù)依次流經(jīng)功能主干,測(cè)試功能實(shí)現(xiàn)的是否正確。只要功能主干有問題,這個(gè)系統(tǒng)就是失敗的。B、功能主干用正常正確后,我們還考慮測(cè)試其異常處理功能。C、功能主干測(cè)試正確后,再進(jìn)行分支功能的測(cè)試。E、要對(duì)程序的功能進(jìn)行方便性測(cè)試,將不夠滿意的地方,都應(yīng)當(dāng)成系統(tǒng)缺陷向項(xiàng)目負(fù)責(zé)人或系統(tǒng)開發(fā)者指出。F、檢查系統(tǒng)需求和設(shè)計(jì)說明書中要求的功能是否在系統(tǒng)中都被實(shí)現(xiàn)、性能是否達(dá)到指標(biāo)。G、數(shù)據(jù)之間的邏輯關(guān)系是否正確。8.1性能測(cè)試性能測(cè)試主要是對(duì)響應(yīng)時(shí)間、事務(wù)處理速率、數(shù)據(jù)顯示速度、計(jì)算速度、網(wǎng)絡(luò)傳輸速度、數(shù)據(jù)庫查詢響應(yīng)時(shí)間、掃描時(shí)間、掃描識(shí)別率等和其他與時(shí)間相關(guān)的需求進(jìn)行評(píng)測(cè)和評(píng)估。性能評(píng)測(cè)的目標(biāo)是核實(shí)性能需求是否都已滿足。實(shí)施和執(zhí)行性能評(píng)測(cè)的目的是將測(cè)試對(duì)象的性能行為當(dāng)作條件(例如工作量或硬件配置)的一種函數(shù)來進(jìn)行評(píng)測(cè)和微調(diào)。另外,我們還做了程序?qū)ο到y(tǒng)消耗資源的測(cè)試,如CPU負(fù)載、內(nèi)存、顯存、硬盤資源消耗情況。在系統(tǒng)設(shè)計(jì)完成后,我們采用白盒測(cè)試技術(shù)的邏輯覆蓋和控制結(jié)構(gòu)測(cè)試,還采用了黑盒測(cè)試技術(shù)中的等價(jià)劃分,邊界值分析,錯(cuò)誤推測(cè)等途徑對(duì)設(shè)計(jì)的過程做出了測(cè)試。還使用了蠻力法,回溯法,原因排除法等調(diào)試的途徑進(jìn)行調(diào)試,到目前已排除了所發(fā)現(xiàn)的錯(cuò)誤。8.2功能測(cè)試在測(cè)試前,首先要根據(jù)《需求分析報(bào)告》全面了解用戶需求并透徹理解。測(cè)試時(shí)我們注意以下幾點(diǎn):1)、測(cè)試時(shí)分清主次,即先測(cè)試主要功能,后測(cè)試次要功能。找出系統(tǒng)的功能主干讓數(shù)據(jù)依次流經(jīng)功能主干,測(cè)試功能實(shí)現(xiàn)的是否正確。只要功能主干有問題,這個(gè)系統(tǒng)就是失敗的。2)、功能主干用正常正確后,我們還考慮測(cè)試其異常處理功能。3)、功能主干測(cè)試正確后,再進(jìn)行分支功能的測(cè)試。4)、要對(duì)程序的功能進(jìn)行方便性測(cè)試,將不夠滿意的地方,都應(yīng)當(dāng)成系統(tǒng)缺陷向項(xiàng)目負(fù)責(zé)人統(tǒng)開發(fā)者指出。第九章總結(jié)9.1總結(jié)賓館應(yīng)用計(jì)算機(jī)作為信息管理的技術(shù)手段和工具,已有幾十年的歷史,盡管經(jīng)歷了從單機(jī)運(yùn)行到網(wǎng)絡(luò)化的發(fā)展階段,從管理內(nèi)容上也走過了從單一管理到綜合管理的艱難過程,今天的賓館信息管理已經(jīng)初步形成了以國家金衛(wèi)工程為指導(dǎo)的息管理模式,促進(jìn)了賓館管理向現(xiàn)代化方向發(fā)展。更進(jìn)一步的發(fā)展趨勢(shì)是從賓館信息的管理方面向集團(tuán)系統(tǒng)發(fā)展:提供面向員工和顧客的服務(wù)。我相信,隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,賓館信息管理前景將更加輝煌和燦爛。計(jì)算機(jī)應(yīng)用于賓館服務(wù)領(lǐng)域進(jìn)行信息化的工作,需要很多學(xué)科的知識(shí)作為基礎(chǔ)。在國內(nèi),這是一個(gè)很多工作仍有待深入研究的課題。雖然本文就賓館住宿信息系統(tǒng)的研究與開發(fā)做了大量的工作,但本文和該信息系統(tǒng)仍有很多需要改進(jìn)和擴(kuò)展的地方。而且,由于本人水平和學(xué)識(shí)有限,缺點(diǎn)和問題在所難免,衷心希望各位老師給予批評(píng)指正。參考文獻(xiàn)[1].《VsualBasic》程序設(shè)計(jì)教程作者李雁翎周代東潘偉等人民郵電出版社[2].《管理信息系統(tǒng)的系統(tǒng)理論與規(guī)劃方法》。章祥蓀科學(xué)出版社[3].《軟件工程導(dǎo)論》(第四版)作者:張海藩出版社:清華大學(xué)出版社[4]《數(shù)據(jù)庫(ACCESS.2003)原理與應(yīng)用》主編劉永寬吳榮華出版社北京師范大學(xué)出版社致謝一個(gè)完整的賓館管理信息系統(tǒng)就基本開發(fā)完畢了。其功能基本符合用戶需求。在本例子中我詳細(xì)地講述了賓館管理信息系統(tǒng)的系統(tǒng)設(shè)計(jì)部分,包括功能模塊設(shè)計(jì)、數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)等。系統(tǒng)設(shè)計(jì)為整個(gè)程序構(gòu)建了骨架,各個(gè)功能模塊實(shí)現(xiàn)各個(gè)細(xì)節(jié)部分。通過這次的設(shè)計(jì),對(duì)以前所學(xué)的知識(shí)做了一個(gè)總結(jié),必進(jìn)一步學(xué)到了新的知識(shí),在設(shè)計(jì)過程中我在輔導(dǎo)老師幫助下,和看參考書的同時(shí)不僅學(xué)到了設(shè)計(jì)該用的東西,還學(xué)到了其他知識(shí)。這是這次設(shè)計(jì)的最大的收獲,懂得了如何應(yīng)用軟件進(jìn)行課題設(shè)計(jì)。在設(shè)計(jì)中有許多不足的地方,這些都會(huì)進(jìn)一步改善。在本次畢業(yè)設(shè)計(jì)中,我從指導(dǎo)老師朱小云老師身上學(xué)到了很多東西。朱老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神使我受益匪淺。他無論在理論上還是在實(shí)踐中,都給與我很大的幫助,使我得到很大的提高這對(duì)于我以后的工作和學(xué)習(xí)都有巨大的幫助,感謝他耐心的輔導(dǎo)。,在這次畢業(yè)設(shè)計(jì)中,感謝朱老師給予我莫大的幫助。從開始構(gòu)思到軟件的實(shí)現(xiàn),朱老師都給我做了方向性的指導(dǎo)。朱老師他不辭勞苦,為我提供了很多資料,讓我有了大量的閱讀和參考學(xué)習(xí)的資料,使我的課題完成得更加順暢。在設(shè)計(jì)實(shí)現(xiàn)的過程中,我遇到很多不能解決的問題,他都為我一一講解,不厭其煩,他的耐心讓我感動(dòng)。我衷心的感謝朱老師在這次畢業(yè)設(shè)計(jì)中給我的幫助,祝愿朱老師身體健康,在今后的工作中培育出更多的人才。附錄賓館系統(tǒng)部分程序代碼PrivateSubForm_Load()'打開用戶表OpenTableadoUsers,"Users"EndSubSubcmdCancel_Click()'退出窗體UnloadMeEndSubPrivateSubcmdOk_Click()WithfrmMDI.adoRoom.RecordsetIfNottxtRoomNo.LockedThen'可修改狀態(tài)表示是添加記錄'控制編號(hào)不能為空IfTrim(txtRoomNo.Text)=""ThenMsgBox"客房編號(hào)不能為空!",vbOKOnly+vbInformation,"提示"txtRoomNo.SetFocusExitSubEndIf'查看是否有相同編號(hào).Find"RoomNo='"&txtRoomNo.Text&"'",,adSearchForward,1IfNot.EOFThen'有就提示,然后退出MsgBox"已經(jīng)有相同編號(hào)的客房!",vbOKOnly+vbInformation,"提示"txtRoomNo.SetFocusExitSubEndIfIfTrim(txtRoomRate.Text)=""ThenMsgBox"客房?jī)r(jià)格不能為空!",vbOKOnly+vbInformation,"提示"txtRoomRate.SetFocusExitSubEndIf'沒有就添加記錄.AddNew!RoomNo=Trim(txtRoomNo.Text)EndIf'給字段賦值!RoomNo=Trim(txtRoomNo.Text)IfcboRoomGrade.ListIndex=0Then!RoomGrade=TrueElse!RoomGrade=FalseEndIfIfcboRoomType.ListIndex=0Then!RoomType=TrueElse!RoomType=FalseEndIf!RoomRate=Val(Trim(txtRoomRate.Text))!RoomStatus=False.UpdateUnloadMeEndWithEndSubPrivateSubForm_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenKeyAscii=0SendKeys"{TAB}"EndIfEndSubPrivateSubForm_Load()Me.Left=(frmMDI.Width-Me.Width)/2Me.Top=(frmMDI.Height-Me.Height)/4'添加項(xiàng)目WithcboRoomGrade.AddItem"標(biāo)準(zhǔn)間".AddItem"豪華間"EndWithWithcboRoomType.AddItem"單人間".AddItem"雙人間"EndWithEndSubPrivateSubtxtRoomNo_KeyPress(KeyAsciiAsInteger)If(KeyAscii<48OrKeyAscii>57)AndKeyAscii<>8ThenKeyAscii=0EndIfEndSubPrivateSubtxtRoomRate_KeyPress(KeyAsciiAsInteger)If(KeyAscii<48OrKeyAscii>57)AndKeyAscii<>8ThenKeyAscii=0EndIfEndSubOptionExplicitDimblnStartSelectAsBooleanPrivateSubcmdCancel_Click()'退出窗體UnloadMeEndSubPrivateSubcmdOk_Click()WithfrmMDI.adoCancel.RecordsetIfNottxtBookNo.LockedThen'可修改狀態(tài)表示是添加記錄IfTrim(txtBookNo.Text)=""ThenMsgBox"登記號(hào)不能為空!",vbOKOnly+vbInformation,"提示"txtBookNo.SetFocusExitSubEndIffrmMDI.adoGuest.Recordset.Find"BookNo='"&Trim(txtBookNo.Text)&"'",,adSearchForward,1IffrmMDI.adoGuest.Recordset.EOFThen'有就提示,然后退出MsgBox"非法登記號(hào)!",vbOKOnly+vbInformation,"提示"txtBookNo.SetFocusSendKeys"{HOME}+{END}"txtPayMoney.Text=""ExitSubEndIffrmMDI.adoCancel.Recordset.Find"BookNo='"&Trim(txtBookNo.Text)&"'",,adSearchForward,1IfNotfrmMDI.adoCancel.Recordset.EOFThen'有就提示,然后退出MsgBox"已經(jīng)有相同登記號(hào)!",vbOKOnly+vbInformation,"提示"txtBookNo.SetFocusSendKeys"{HOME}+{END}"txtPayMoney.Text=""ExitSubEndIf'沒有就添加記錄.AddNew!BookNo=Trim(txtBookNo.Text)EndIf'給字段賦值!PayMoney=Val(Trim(txtPayMoney.Text))!CancelDate=dtpCancelDate.Value.Update'退出窗體UnloadMeEndWithEndSubPrivateSubForm_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenKeyAscii=0SendKeys"{TAB}"EndIfEndSubPrivateSubForm_Load()Me.Left=(frmMDI.Width-Me.Width)/2Me.Top=(frmMDI.Height-Me.Height)/4EndSubPrivateSubtxtBookNo_Change()IfNotblnStartSelectThenExitSubEndIffrmMDI.adoGuest.Recordset.Find"BookNo='"&Trim(txtBookNo.Text)&"'",,adSearchForward,1IfNotfrmMDI.adoGuest.Recordset.EOFThendtpBookDate.Value=frmMDI.adoGuest.Recordset!BookDateEndIfEndSubPrivateSubtxtBookNo_GotFocus()blnStartSelect=TrueEndSubPrivateSubtxtBookNo_KeyPress(KeyAsciiAsInteger)'只允許輸入數(shù)字和退格鍵If(KeyAscii<48OrKeyAscii>57)AndKeyAscii<>8ThenKeyAscii=0EndIfEndSubPrivateSubtxtBookNo_LostFocus()blnStartSelect=FalseEndSubPrivateSubtxtPayMoney_GotFocus()txtPayMoney.Text=Str(frmMDI.adoRoom.Recordset!RoomRate*(dtpCancelDate.Value-dtpBookDate.Value))EndSubPrivateSubtxtPayMoney_KeyPress(KeyAsciiAsInteger)If(KeyAscii<48OrKeyAscii>57)AndKeyAscii<>8ThenKeyAscii=0EndIfEndSubOptionExplicitPrivateSubForm_Load()'顯示在主窗體的中央Me.Left=(frmMDI.Width-Me.Width)/2Me.Top=(frmMDI.Height-Me.Height)/4WithdtgCancelInfo'綁定Set.DataSource=frmMDI.adoCancel.AllowRowSizing=False.AllowRowSizing=False'表頭寬度設(shè)為兩行.HeadLines=2'選擇方式為整行選中.MarqueeStyle=dbgHighlightRow'不允許修改(設(shè)為只讀).AllowAddNew=False.AllowDelete=False.AllowUpdate=False'第一列標(biāo)題和寬度.Columns(0).Caption="登記號(hào)".Columns(0).Width=140.Columns(0).AllowSizing=False'第二列標(biāo)題和寬度.Columns(1).Caption="退房日期".Columns(1).Width=140.Columns(1).AllowSizing=False'第三列標(biāo)題和寬度.Columns(2).Caption="付款金額(元)".Columns(2).Width=140.Columns(2).AllowSizing=FalseEndWithEndSubPrivateSubcmdAddNew_Click()WithfrmCancelInfoEdit'窗體標(biāo)題.Caption="添加新退房記錄".txtBookNo.Locked=False.txtBookNo.Text="".dtpCancelDate.Value=Date'顯示為模式窗體.txtPayMoney.Text="".ShowvbModalEndWithEndSubPrivateSubcmdDelete_Click(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論