版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、姚氏酒店管理系統(tǒng)的開發(fā)與實現(xiàn)hotel management system development and realization of yao目 錄1序言. 12系統(tǒng)的調(diào)查和可行性分析.33系統(tǒng)分析53.1系統(tǒng)業(yè)務(wù)流程圖53.2數(shù)據(jù)流程圖73.3數(shù)據(jù)字典94系統(tǒng)設(shè)計144.1系統(tǒng)總體設(shè)計(模塊結(jié)構(gòu)圖)144.2編碼設(shè)計144.3數(shù)據(jù)庫設(shè)計,包括e-r圖、數(shù)據(jù)庫邏輯設(shè)計164.4輸入輸出設(shè)計194.5系統(tǒng)安全性設(shè)計,包括用戶權(quán)限設(shè)計和數(shù)據(jù)庫備份和還原224.6系統(tǒng)軟硬件配置設(shè)計,包括計算機硬件、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)的設(shè)計255系統(tǒng)實施.255.1系統(tǒng)采用的開發(fā)環(huán)境及開發(fā)工具255.2主要功能模
2、塊的編程實現(xiàn)266系統(tǒng)維護及評價.447心得體會.458致謝.46參考文獻.47姚氏酒店管理系統(tǒng)的開發(fā)與設(shè)計摘要:隨著中國第三產(chǎn)業(yè)的高速發(fā)展,酒店行業(yè)越來越多,它們在滿足人們?nèi)找嬖鲩L的物質(zhì)需要的同時,也憑借優(yōu)質(zhì)的服務(wù)獲得越來越大的社會效益。但是與此同時,這些企業(yè)對信息化的需求也越來越渴求。本系統(tǒng)就是一個用delphi7.0設(shè)計的酒店企業(yè)現(xiàn)場管理系統(tǒng),它具有較強的可操作性及方便性,可以對酒店內(nèi)發(fā)生的業(yè)務(wù)關(guān)系進行實時、有效的調(diào)配和管理,提供了一定的輔助決策者決策的能力。下面我們來探討系統(tǒng)的開發(fā)過程,著重分析了酒店行業(yè)各個功能的開發(fā)。關(guān)鍵詞:酒店 信息管理 sqlserver delphi7hote
3、l management system development and realization of yaoabstract:with the rapid development of the tertiary industry in china, the hotel industry more and more, they satisfy the material that people grows increasingly needs, with high quality service to obtain greater social benefit. but at the same t
4、ime, these enterprises on the information needs of the growing hunger for.this is a system designed by delphi7.0 hotel enterprise site management system, it has strong operability and convenience, can occur within the restaurant business relationship in real time, effective deployment and management
5、, provides certain auxiliary decision making ability.keywords: hotel information management sqlserver delphi7 千萬不要刪除行尾的分節(jié)符,此行不會被打印。在目錄上點右鍵“更新域”,然后“更新整個目錄”。打印前,不要忘記把上面“abstract”這一行后加一空行第一章 緒論1.1開發(fā)背景和意義近30年來,隨著中國社會經(jīng)濟進步與發(fā)展的歷程,我國酒店業(yè)也走過了具有跨越性、歷史性與巨變性的進程,無論是行業(yè)規(guī)模、企業(yè)水平,還是在社會地位影響和作用以及經(jīng)濟拉動等方面都發(fā)生了深刻的變化。按照中國酒店協(xié)
6、會發(fā)布的統(tǒng)計數(shù)據(jù),我國酒店行業(yè)的年增長率高達20.53%,呈現(xiàn)出欣欣向榮的景象,成為推動我國經(jīng)濟發(fā)展的一支生力軍。這些企業(yè)的經(jīng)營管理,已經(jīng)從單純的一個人、一個帳本上升到了現(xiàn)代化的經(jīng)營模式,管理人員迫切需要一種能滿足自己全面需求的管理工具,來輔助自己作出正確的決策,提升點菜、制作等方面的速度與正確度,減少無效的人員消耗。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認(rèn)識,它已進入到人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用?,F(xiàn)在,各種軟件技術(shù)已經(jīng)在計算機開發(fā)領(lǐng)域得到充分廣泛的應(yīng)用。使用其來對酒店進行管理具有現(xiàn)實的可能。所以,本系統(tǒng)提出并實現(xiàn)了使用計算機來進行酒店現(xiàn)場管理的方
7、式,并提供了一套原型系統(tǒng)?;ヂ?lián)網(wǎng)絡(luò)技術(shù)手段的發(fā)展普及和廣泛應(yīng)用將促進網(wǎng)絡(luò)預(yù)訂行業(yè)發(fā)生革命性變化。在未來10年互聯(lián)網(wǎng)絡(luò)技術(shù)設(shè)備終端 電腦會得到十分廣泛普及和應(yīng)用,電腦不僅出現(xiàn)在辦公室、家庭,而且行駛的汽車?yán)?、火車上、輪船上隨處可見,而且在幾乎的任何公共場所都可以看到,就像今天的彩電、電話一樣普及和到處都有一樣。也就是說未來的彩電、手機本身就是一臺電腦,這在今天就已初露端倪。這是上網(wǎng)變得非常簡單容易,尤其無線上網(wǎng)的普及,更使上網(wǎng)變得隨心所欲。相信未來,上互聯(lián)網(wǎng)絡(luò)是人們獲取信息的主要手段,也是最快捷方便的手段。同時,世界上幾乎任何一個組織都是互聯(lián)網(wǎng)絡(luò)世界的一個結(jié)點。在此網(wǎng)絡(luò)技術(shù)手段支持背景下,人們預(yù)
8、訂酒店就會真正做到隨時隨地,而且不需要任何人i服務(wù)就能完成,將來的酒店預(yù)訂就像今天手機撥打電話發(fā)送固定短信那樣方便,操作幾個數(shù)字鍵就完全可以搞定。當(dāng)然未來支持網(wǎng)絡(luò)酒店預(yù)訂業(yè)務(wù)要素的還有重要一方面。那就是在線的資金流轉(zhuǎn),要想做到適時的無障礙預(yù)訂,互聯(lián)網(wǎng)絡(luò)上劃轉(zhuǎn)資金將變得安全可靠、方便快捷,從預(yù)訂操作到劃轉(zhuǎn)資金在短短的十幾秒鐘內(nèi)就可以完成、這大大降低了交易成本,給客戶以方便的同時,也將給客戶以實惠。1.2國內(nèi)研究現(xiàn)狀及發(fā)展趨勢 我國酒店業(yè)很早就利用計算機管理系統(tǒng)來加強管理、提高服務(wù)水平。我國酒店it的發(fā)展階段主要是以電腦系統(tǒng)的運用為標(biāo)志的,電話通訊系統(tǒng)實際上也是 從程控交換技術(shù)出現(xiàn)才獲得質(zhì)的飛躍。
9、7與其他行業(yè)相比,it在酒店業(yè)應(yīng)用的起步晚了十多年。從70年代初期開始,到80年代中整個模式己經(jīng)基本定型、功能成 熟,但真正成為酒店經(jīng)營戰(zhàn)略的一部分大規(guī)模應(yīng)用要到90年代。酒店的電腦系統(tǒng)從ncr的主機/終端形式,到90年代代表性的h丁ts基于as400和 db2的小型機解決方案及fedelio基于clipper的微機數(shù)據(jù)庫解決方案,直到最近的數(shù)據(jù)庫/應(yīng)用服務(wù)器/客戶方式;從單一的前后臺pms,演變 成為覆蓋酒店各部門各環(huán)節(jié)并對酒店外部輻射的復(fù)雜系統(tǒng);從財務(wù)/業(yè)務(wù)為核心過渡到以顧客服務(wù)為核心,總體發(fā)展速度呈上升勢頭。雖然酒店管理系統(tǒng)的應(yīng)用至今 己有20多年的歷史,但起步發(fā)展較晚,只是一些淺層次應(yīng)
10、用,大多數(shù)還停留于七拼八湊的mis系統(tǒng)水平,與國際酒店業(yè)先進信息化應(yīng)用的差距非常突出。信息化 程度不高導(dǎo)致企業(yè)決策失誤、市場反應(yīng)速度緩慢等,已經(jīng)成為制約我國酒店業(yè)進一步發(fā)展的重要瓶頸。1 國內(nèi)酒店it現(xiàn)狀:在80年代初發(fā)展起來的國內(nèi)的酒店管理系統(tǒng),充分吸收了國外管理系統(tǒng)的精華,再結(jié)合國內(nèi)的實際情況,逐步發(fā)展成熟,到90年 代初期已形成了幾個較成熟的軟件系統(tǒng),同時,產(chǎn)生了幾家專職從事酒店管理系的公司。3到了90年代中后期,隨著計算機在酒店中的普及應(yīng)用,計算機技術(shù)的不斷 發(fā)展,酒店管理系統(tǒng)的發(fā)展到了一個新的時期,新的系統(tǒng)平臺、新的系統(tǒng)點及發(fā)展方向不斷涌現(xiàn),主要體現(xiàn)在系統(tǒng)基本轉(zhuǎn)到客戶機/服務(wù)器模式下
11、的windows 版,功能更加細(xì)致完善,系統(tǒng)更加穩(wěn)定可靠。6對軟件開發(fā)商來說,小的軟件慢淘汰。對用戶來說,國內(nèi)大的系統(tǒng)慢慢進入五星級酒店市場,比如攜城、e龍等大的預(yù) 訂系統(tǒng),而以前基本被國外系統(tǒng)所壟斷。酒店企業(yè)現(xiàn)代化的管理理念認(rèn)為:計算機信息系統(tǒng)是酒店這種商業(yè)形態(tài)得以快速復(fù)制,快速連鎖的有力支柱。1.2.1國內(nèi)研究現(xiàn)狀及發(fā)展趨勢 1、信息化是人類社會進步發(fā)展到一定階段所產(chǎn)生的一個新階段。信息化是建立在計算機技術(shù)、數(shù)字化技術(shù)和生物工程技術(shù)等先進技術(shù)基礎(chǔ)上產(chǎn)生的。信息化能使管理者以更快更便捷的方式獲得并傳遞各個商品的信息;它將提供給管理者非常有效的管理手段。2、信息化的特點完全符合酒店管理的需求。
12、信息化具有以下幾個明顯的特征:即智能化、電子化、全球化、非群體化。智能化能使各類商品信息的匯總、查詢更為方便;電子化能使數(shù)據(jù)有序存放;全球化能使用數(shù)據(jù)在更大范圍內(nèi)進行共享傳導(dǎo),使得掌握信息更加容易;非群體化能突破群體限制,使得數(shù)據(jù)更容易交換。1.2.2酒店管理信息化能更好地體現(xiàn)酒店的綜合素質(zhì)1、使用計算機系統(tǒng)能讓酒店管理體現(xiàn)出正規(guī)化、專業(yè)化。2、能為顧客提供更加快速的服務(wù)??焖俚纳唐沸畔Ⅲw現(xiàn),使得收銀更加快捷,計算機的自動匯總與計算功能,讓交易速度大大加快,交易糾紛大大減少。1.2.3酒店管理信息化系統(tǒng)的實現(xiàn)不再困難。1、數(shù)據(jù)庫的發(fā)展使得大量數(shù)據(jù)的科學(xué)管理成為現(xiàn)實。數(shù)據(jù)庫已經(jīng)發(fā)展到了大型的數(shù)據(jù)
13、庫階段,比如oracle、sybase、db2等大型數(shù)據(jù)庫,已經(jīng)達到tb級存儲容量,并具有良好的開發(fā)輔助工具。從文件型的管理發(fā)展到了關(guān)系型管理的數(shù)據(jù)模型,未來還將實現(xiàn)數(shù)據(jù)庫的完全面向以象化。2、軟件開發(fā)的理論成熟為系統(tǒng)實現(xiàn)提供了強大的基礎(chǔ)。從上世紀(jì)60年代爆發(fā)“軟件危機”以后,科學(xué)家們逐步發(fā)展出軟件開發(fā)的科學(xué)過程,1968年秋季,nato(北約)的科技委員會召集了近50名一流的編程人員、計算機科學(xué)家和工業(yè)界巨頭,討論和制定擺脫“軟件危機”的對策。在那次會議上第一次提出了軟件工程(software engineering)這個概念。而且隨著發(fā)展,軟件工程已經(jīng)發(fā)展到了面向?qū)ο?、軟件?fù)用、基于組件的
14、開發(fā)等新方法與領(lǐng)域。3、 當(dāng)前,各類開發(fā)工具的發(fā)展也使得開發(fā)變得簡單快速?,F(xiàn)在,隨著軟件工程方法的進步,按照軟件工程提出的方式提供開發(fā)工具的廠商也經(jīng)有很多,比較著名的有微軟公司、sybase公司、borland公司等,它們分別在自己的領(lǐng)域提供了不同集設(shè)計、開發(fā)、調(diào)試、編譯為一體的開發(fā)集成環(huán)境,為我們進行數(shù)據(jù)庫系統(tǒng)開發(fā)提供了很多的條件。4、其它管理系統(tǒng)的發(fā)展使得酒店管理系統(tǒng)已經(jīng)有相當(dāng)多的參考。當(dāng)前,各行各業(yè)已經(jīng)存在無數(shù)的信息化管理系統(tǒng),這些系統(tǒng)采用了各種方式實現(xiàn),無論成功與失敗,都可以為本系統(tǒng)的提供參考,從而推動本系統(tǒng)的實現(xiàn)與完成。13研究成果及不足研究成果本課題緊密圍繞酒店管理者對酒店管理最核
15、心的需求,采用了先進的管理技術(shù)為基礎(chǔ),通過對各類信息的及時采集,持久化進入系統(tǒng),能立即反應(yīng)出各個房間的動態(tài)情況。通過本課題的開發(fā)過程,了解了軟件開發(fā)的一般性過程,掌握了系統(tǒng)設(shè)計的全部方法及步驟,完成了delphi中業(yè)務(wù)與邏輯相分離的設(shè)計原則。 存在不足由于系統(tǒng)定位于初步實現(xiàn)酒店管理的一些基本技術(shù),主要是針對核心功能進行設(shè)計,比如開房、預(yù)訂、結(jié)賬等進行了有效的管理,實現(xiàn)了數(shù)據(jù)的錄入、查詢以及分析匯總的功能,對于酒店的其它經(jīng)營活動的管理沒有涉及,今后有必要可以繼續(xù)豐富原型,使之功能更加豐富。第二章 系統(tǒng)需求分析2.1相關(guān)技術(shù)介紹delphi7是borland公司在windows32位系統(tǒng)平臺上推出
16、的一套軟件開發(fā)環(huán)境,屬于4gl編程工具,它集成了程序設(shè)計、開發(fā)、調(diào)試、編譯、發(fā)布等過程中常用的功能。是在windows環(huán)境下編程的良好工具。delphi7具有的組件拖拉技術(shù)使得對各個窗體的布局變得相當(dāng)?shù)娜菀?,對于常用的windows api封裝及擴展,使得我們能進行更加快速的開發(fā)。delphi7提供了近百個常用的組件,設(shè)計者不再須要了解這些組件的實現(xiàn),只須將其拖放在表單上,即可使用,符合現(xiàn)代軟件開發(fā)領(lǐng)域中“組件式開發(fā)”的理論。在delphi7中,還具有數(shù)十個常用功能的模板,比如窗體、dll向?qū)У龋梢杂糜趙in32的一般程序開發(fā) ,也可以方便地進行網(wǎng)絡(luò)程序、服務(wù)程序、控制臺下程序、activ
17、ex、webservices等程序的開發(fā)。它具有為人稱道的最快的編譯速度,并且能夠優(yōu)化所設(shè)計的程序。它使用的語言是作為教學(xué)標(biāo)準(zhǔn)的pasic語言,這種語言具有嚴(yán)謹(jǐn)?shù)囊?guī)范,是當(dāng)前世界上應(yīng)用廣泛的語言之一。2.1.1sqlserver2000microsoft sql server 2000(以下簡稱mssql2000),是微軟公司在sqlserver7的基礎(chǔ)上開發(fā)出來的一套數(shù)據(jù)庫管理系統(tǒng)。它是一種大型的關(guān)系型的數(shù)據(jù)庫, 擴展了 microsoft sql server 7.0 版的性能、可靠性、質(zhì)量和易用性。mssql2000 增加了幾種新的功能,由此成為大規(guī)模聯(lián)機事務(wù)處理 (oltp)、數(shù)據(jù)倉庫
18、和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫平臺。對于sqlserver2000來說,它的特點非常明顯:1真正的客戶機/服務(wù)器體系結(jié)構(gòu)。 2圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。 3豐富的編程接口工具,為用戶進行程序設(shè)計提供了更大的選擇余地。 4sql server與windows nt完全集成,利用了nt的許多功能,如發(fā)送和接受消息,管理登錄安全性等。sql server也可以很好地與microsoft backoffice產(chǎn)品集成。 5具有很好的伸縮性,可跨越從運行windows 95/98的膝上型電腦到運行windows 2000的大型多處理器等多種平臺使用。 6對web技術(shù)的支持,使
19、用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到web頁面上。 7sql server提供數(shù)據(jù)倉庫功能,這個功能只在oracle和其他更昂貴的dbms中才有。 sql server 2000與以前版本相比較,又具有以下新特性 :1支持xml(extensive markup language,擴展標(biāo)記語言) 2強大的基于web的分析 3支持ole db和多種查詢 4支持分布式的分區(qū)視圖。2.1.2c/s架構(gòu)面向?qū)ο?面向?qū)ο蟮幕A(chǔ)概念:概念:面向?qū)ο蟮某绦蛟O(shè)計(object-oriented programming,簡記為oop)立意于創(chuàng)建軟件重用代碼,具備更好地模擬現(xiàn)實世界環(huán)境的能力,這使它被公認(rèn)為是
20、自上而下編程的優(yōu)勝者。它通過給程序中加入擴展語句,把函數(shù)“封裝”進編程所必需的“對象”中。面向?qū)ο蟮木幊陶Z言使得復(fù)雜的工作條理清晰、編寫容易。說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象并不與傳統(tǒng)程序設(shè)計和編程方法兼容,只是部分面向?qū)ο蠓炊鴷骨樾胃恪3钦麄€開發(fā)環(huán)境都是面向?qū)ο蟮?,否則對象產(chǎn)生的好處還沒有帶來的麻煩多。隨著項目越來越大,使用面向?qū)ο缶幊炭赡軙袔椭嫦驅(qū)ο缶幊檀a很容易維護,容易理解和重復(fù)使用,這些就是軟件工程的基礎(chǔ)。 對象(object)是問題域或?qū)崿F(xiàn)域中某些事物的一個抽象,它反映此事物在系統(tǒng)中需要保存的信息和發(fā)揮的作用;它是一組屬性和有權(quán)對這
21、些屬性進行操作的一組服務(wù)的封裝體。 關(guān)于對象要從兩方面理解:一方面指系統(tǒng)所要處理的現(xiàn)實世界中的對象;另一方面對象是計算機不直接處理的對象,而是處理相應(yīng)的計算機表示,這種計算機表示也稱為對象。簡單的來說,一個人就是一個對象,一個尺子也可以說是個對象。當(dāng)這些對象可以用數(shù)據(jù)直接表示時,我們就稱他為屬性,尺子的度量單位可以是厘米,公尺或英尺,這個度量單位就是尺子的屬性。 面向?qū)ο缶幊痰膸讉€特性:封裝:封裝是面向?qū)ο蟮奶卣髦?,是對象和類概念的主要特性。封裝,也就是把客觀事物封裝成抽象的類,并且類可以把自己的數(shù)據(jù)和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。繼承:繼承是指這樣一種能力:它可以使
22、用現(xiàn)有類的所有功能,并在無需重新編寫原來的類的情況下對這些功能進行擴展。通過繼承創(chuàng)建的新類稱為“子類”或“派生類”。被繼承的類稱為“基類”、“父類”或“超類”。繼承的過程,就是從一般到特殊的過程。要實現(xiàn)繼承,可以通過“繼承”(inheritance)和“組合”(composition)來實現(xiàn)。在某些 oop 語言中,一個子類可以繼承多個基類。但是一般情況下,一個子類只能有一個基類,要實現(xiàn)多重繼承,可以通過多級繼承來實現(xiàn)。繼承概念的實現(xiàn)方式有三類:實現(xiàn)繼承、接口繼承和可視繼承。(1)、 實現(xiàn)繼承是指使用基類的屬性和方法而無需額外編碼的能力;(2)、 接口繼承是指僅使用屬性和方法的名稱、但是子類必
23、須提供實現(xiàn)的能力;(3)、 可視繼承是指子窗體(類)使用基窗體(類)的外觀和實現(xiàn)代碼的能力。在考慮使用繼承時,有一點需要注意,那就是兩個類之間的關(guān)系應(yīng)該是“屬于”關(guān)系。例如,employee 是一個人,manager 也是一個人,因此這兩個類都可以繼承 person 類。但是 leg 類卻不能繼承 person 類,因為腿并不是一個人。抽象類僅定義將由子類創(chuàng)建的一般屬性和方法,創(chuàng)建抽象類時,請使用關(guān)鍵字 interface 而不是 class。oo開發(fā)范式大致為:劃分對象抽象類將類組織成為層次化結(jié)構(gòu)(繼承和合成) 用類與實例進行設(shè)計和實現(xiàn)幾個階段。多態(tài)性:多態(tài)性(polymorphisn)是允
24、許你將父對象設(shè)置成為和一個或更多的他的子對象相等的技術(shù),賦值之后,父對象就可以根據(jù)當(dāng)前賦值給它的子對象的特性以不同的方式運作。簡單的說,就是一句話:允許將子類類型的指針賦值給父類類型的指針。實現(xiàn)多態(tài),有二種方式,覆蓋,重載。覆蓋,是指子類重新定義父類的虛函數(shù)的做法。重載,是指允許存在多個同名函數(shù),而這些函數(shù)的參數(shù)表不同(或許參數(shù)個數(shù)不同,或許參數(shù)類型不同,或許兩者都不同)。其實,重載的概念并不屬于“面向?qū)ο缶幊獭?,重載的實現(xiàn)是:編譯器根據(jù)函數(shù)不同的參數(shù)表,對同名函數(shù)的名稱做修飾,然后這些同名函數(shù)就成了不同的函數(shù)(至少對于編譯器來說是這樣的)。如,有兩個同名函數(shù):function func(p:
25、integer):integer;和function func(p:string):integer;。那么編譯器做過修飾后的函數(shù)名稱可能是這樣的:int_func、str_func。對于這兩個函數(shù)的調(diào)用,在編譯器間就已經(jīng)確定了,是靜態(tài)的(記住:是靜態(tài))。也就是說,它們的地址在編譯期就綁定了(早綁定),因此,重載和多態(tài)無關(guān)!真正和多態(tài)相關(guān)的是“覆蓋”。 當(dāng)子類重新定義了父類的虛函數(shù)后,父類指針根據(jù)賦給它的不同的子類指針,動態(tài)(記?。菏莿討B(tài)?。┑恼{(diào)用屬于子類的該函數(shù),這樣的函數(shù)調(diào)用在編譯期間是無法 確定的(調(diào)用的子類的虛函數(shù)的地址無法給出)。因此,這樣的函數(shù)地址是在運行期綁定的(晚邦定)。結(jié)論就是
26、:重載只是一種語言特性,與多態(tài)無關(guān),與面向?qū)?象也無關(guān)!引用一句bruce eckel的話:“不要犯傻,如果它不是晚邦定,它就不是多態(tài)?!蹦敲矗鄳B(tài)的作用是什么呢?我們知道,封裝可以隱藏實現(xiàn)細(xì)節(jié),使得代碼模塊化;繼承可以擴展已存在的代碼模塊(類);它們的目的都是為了代碼重用。而多態(tài)則是為了實現(xiàn)另一個目的接口重用!多態(tài)的作用,就是為了類在繼承和派生的時候,保證使用“家譜”中任一類的實例的某一屬性時的正確調(diào)用。2.1.3delphi中面向?qū)ο笤O(shè)計的特點:delphi是一個支持面向?qū)ο蟪绦蛟O(shè)計的語言,它提供了組件式開發(fā)的方式、用戶可以自行設(shè)計自定義的類,在運行是進行類的實例化。.,一個delphi應(yīng)
27、用是實現(xiàn)相關(guān)處理的一組對象或窗口。在delphi中,需要注意應(yīng)用與應(yīng)用對象的區(qū)別,應(yīng)用對象是組成應(yīng)用的一部分,是由應(yīng)用所創(chuàng)建的某個特定應(yīng)用,并由一個應(yīng)用名及應(yīng)用象標(biāo)所確定,是說明實現(xiàn)相關(guān)作業(yè)的窗口和控制的記錄項。作為窗口數(shù)據(jù)庫應(yīng)用系統(tǒng), delphi對象的gui表示便是窗口。因此,窗口是用戶與應(yīng)用之間的主界面,可以顯示信息,向用戶請求信息,響應(yīng)用戶的鼠標(biāo)和鍵盤操作。窗口的定義,可由帶有默認(rèn)值的屬性和事件組成,也可由控制組成。屬性定義窗口的風(fēng)格(外觀)及行為,事件定義窗口中所發(fā)生的操作。delphi有5種窗口類型:主窗口、子窗口、彈出式窗口、對話框窗口、多文檔(mdi)框架式窗口。作為對象級窗口
28、,數(shù)據(jù)窗口是窗口的一個特例,即數(shù)據(jù)窗口對象可作為一個數(shù)據(jù)窗口控制安放在窗口中。delphi事件與對象或控制相關(guān)聯(lián),每個對象或控制都響應(yīng)特定的事件。當(dāng)用戶選擇一個對象或控制,或在一個對象和控制中輸入、修改信息時,一個事件便發(fā)生;與此同時,該對象和控制的程序便起流程控制作用。這就是delphi事件驅(qū)動方式的基本含義。事件也可由程序進程中的語句直接引發(fā)。delphi的常用事件如打開、關(guān)閉、顯示、激活等窗口事件,一次撳擊和二次撳擊等控制事件,以及獲得聚焦、失去聚焦、修改、選擇改變等事件。按照面向?qū)ο笤?屬性用于描述隱蔽在對象內(nèi)部的信息,標(biāo)識對象的特征行為,是描述對象或分類結(jié)構(gòu)實例的數(shù)據(jù)單元,可實現(xiàn)數(shù)
29、據(jù)抽象和信息隱藏。在delphi中,屬性定義了對象和控制的風(fēng)格與行為。在定義每個屬性時, delphi預(yù)先賦有一個默認(rèn)值。當(dāng)建立一個窗口或在用戶對象中設(shè)置控制時,可以修改默認(rèn)值。在窗口屬性中,定義窗口風(fēng)格的屬性如標(biāo)題條、菜單、控制菜單、最小/最大化框、邊框、水平/垂直滾條、窗口顏色(前景色/背景色);定義窗口行為的屬性如窗口大小的可變性,窗口形狀的可見性,窗口的可用性。控制屬性如位置坐標(biāo)、寬度和高度、可見性、標(biāo)識等。其它如字體、字號、顯示格式和校驗規(guī)則等,都是窗口和控制的屬性。delphi應(yīng)用程序文本稱作單元,是用delphi原本語言pasic來編寫的。pasic是一種很簡潔且功能很強的4gl
30、。1.應(yīng)用設(shè)計思想首先,需要搞清delphi應(yīng)用構(gòu)成的概念模式,搞清一組面向?qū)ο蟾拍畹幕緝?nèi)涵,認(rèn)識delphi應(yīng)用是面向?qū)ο髴?yīng)用與可視化窗口應(yīng)用的組合,并認(rèn)清面向?qū)ο蟮膽?yīng)用構(gòu)成與面向過程的應(yīng)用構(gòu)成之間的實質(zhì)性區(qū)別,從而明確delphi應(yīng)用開發(fā)的基本任務(wù)。其次,需要理解delphi應(yīng)用的生成過程,即把一個應(yīng)用設(shè)計分成用戶界面設(shè)計和應(yīng)用程序設(shè)計兩部分,并且兩者之間只能通過事件驅(qū)動的方式才能產(chǎn)生聯(lián)系。與傳統(tǒng)的程序設(shè)計過程連續(xù)的面向過程方法相比,這是一種過程離散化的應(yīng)用開發(fā)方法,它從根本上改變了軟件工程方法及人們的設(shè)計思想。所以,在delphi應(yīng)用開發(fā)過程中,需要真正掌握面向?qū)ο蟮脑O(shè)計技術(shù),貫穿數(shù)據(jù)
31、抽象、屬性繼承、事件驅(qū)動、應(yīng)用封裝這一主線。首要的是通過數(shù)據(jù)抽象來解決如何定義數(shù)據(jù)類型和對象操作的問題;其次是考慮是否有必要繼承某一對象的屬性和服務(wù),再側(cè)重實現(xiàn)事件驅(qū)動方式的消息通訊;最后考慮將每個程序的數(shù)據(jù)和對象隱藏或封裝在單一模塊中以構(gòu)成一個應(yīng)用。第三,需要注意delphi是c/s系統(tǒng)的前端應(yīng)用開發(fā)工具,因此要處理好客戶端的界面交互、數(shù)據(jù)操作和事務(wù)處理與服務(wù)器端的數(shù)據(jù)處理、網(wǎng)絡(luò)通訊和系統(tǒng)管理之間的關(guān)系,充分利用服務(wù)器端dbms核心所提供的先進技術(shù),開發(fā)出真正符合c/s計算模式的應(yīng)用系統(tǒng)。2.動態(tài)連接與應(yīng)用分割在delphi應(yīng)用開發(fā)過程中,如果一個應(yīng)用較大(如.exe文件超過1.2m),就應(yīng)
32、該使用動態(tài)庫(dll)來分割一個大的應(yīng)用,這與windows環(huán)境中使用動態(tài)連接庫(dll)來分割應(yīng)用一樣。delphi自身也提供了一個可以進行對象參數(shù)傳遞的類似dll功能的bpl,但它只能用于delphi寫的主程序本身,不能被其它程序使用。分割一個大的應(yīng)用,一方面是在開發(fā)初期就將組成一個應(yīng)用的所有對象按一定規(guī)則分類存放在對象庫中,另一方面就是采用動態(tài)連接庫的方法。經(jīng)過上述處理,執(zhí)行文件會小得多,并且在一個應(yīng)用執(zhí)行過程中,不致將所有對象一次調(diào)入內(nèi)存,而是動態(tài)地調(diào)用所需對象,從而大大節(jié)省了相器資源,大大提高了應(yīng)用運行效率。4.應(yīng)用運行方式在delphi應(yīng)用中,開發(fā)環(huán)境和運行環(huán)境是分開的。因此,對象
33、庫中每個對象都以兩種形式存放,一種是源對象,一種是編譯對象。源對象在開發(fā)環(huán)境中供使用;編譯對象被拷貝到動態(tài)庫或執(zhí)行文件中,形成運行環(huán)境。執(zhí)行文件也由兩部分組成,一部分是windows啟動代碼,另一部分是編譯對象集。對于含有動態(tài)庫的執(zhí)行文件,啟動代碼和編譯對象集是分開存放的;不含動態(tài)庫的執(zhí)行文件則把兩者放在一起。可見,由delphi生成的執(zhí)行文件可以脫離delphi環(huán)境,而在windows環(huán)境下單獨運行。2.2業(yè)務(wù)邏輯與界面的分離在delphi面向?qū)ο蟮脑O(shè)計中,我們需要針對商業(yè)對象進行完全的理解。封裝了商業(yè)規(guī)則的類是真正面向?qū)ο缶幊痰幕A(chǔ)?,F(xiàn)今大部分delphi寫的程序都不是真正面向?qū)ο蟮?。只?/p>
34、語言中有對象的模型并使用了原有的或新的類,這并不意味者程序是真正的面向?qū)ο蟆4a的重用隨著第三方控件被拖到窗口上而結(jié)束,窗口和單元之間的相互依賴卻在迅速擴散。如果將來要改變程序的基礎(chǔ)(如切換不同數(shù)據(jù)庫或從兩層結(jié)構(gòu)變成三層結(jié)構(gòu))會嚴(yán)重受阻或花費昂貴。如果是真正按面向?qū)ο蟮姆绞綄懙某绦騽t會很方便而不是受限制,特別是對大型的程序,代碼清晰并真正面向?qū)ο蟮某绦驎葌鹘y(tǒng)方式寫的同樣程序需要更少的維護資源。面向?qū)ο蟮某绦蚋叩目煽啃詠碜杂跀?shù)據(jù)和操作被封裝在明確定義的類中。編譯器通過強大的類型檢查促使代碼中正確的類、方法和屬性,對未來一個改動會影響整個程序的代碼不應(yīng)讓人有誤解代碼意圖的可能。正確使用類會是類
35、之間的關(guān)系是自明的,并且大部分的代碼真正關(guān)注程序的關(guān)鍵部分(meat),而不是考慮像數(shù)據(jù)如何持久存儲這樣的細(xì)節(jié)問題。貫串代碼的簡單性和一致性將使程序的維護性顯著提高。正如我們將看到的一樣,廣泛使用類繼承增加了生產(chǎn)力和可靠性,并且增強了一致性。這些一致性體現(xiàn)在所展示的代碼中,包括類的行為、數(shù)據(jù)如何存儲和用戶界面如何呈現(xiàn)數(shù)據(jù)。由于大部分功能在基類中提供,可以通過快速改變他們的行為來從根本上改變程序。(如用戶交互界面從窗口驅(qū)動形式改為以html為基礎(chǔ))這些基類可以設(shè)計為與程序無關(guān),這樣第二個類似的程序?qū)⒃谏a(chǎn)力上立即得到推動。對一個中等的程序一組優(yōu)秀的基類可以提供高達%50的顯著提升,從時間,開支到
36、可靠性。首先要強調(diào)的是切換到真正的面向?qū)ο箝_發(fā)并非瑣碎小事,第一次應(yīng)保證有豐富經(jīng)驗的協(xié)助,或者程序較小且沒有緊急的交付期限;還要說明的是一個面向?qū)ο螅╫o)的解決方案并不是規(guī)定在程序中哪些類該用哪些類不該用。設(shè)計任何面向?qū)ο蟪绦虻牡谝徊绞强紤]哪些必須的類。這是絕對基本的一步,要有其他各種開發(fā)的技術(shù)保證,因為早期階段的錯誤要改正將花費昂貴。在設(shè)計我們的類時我們一般努力實現(xiàn)低耦合高內(nèi)聚類與類之間盡量地獨立,但又可以通過某種強大地方式復(fù)合。實現(xiàn)這一目標(biāo)地一個方式是把類按照在它們程序中所扮演地不同角色來劃分成不同地類別。對這些角色的正確選擇將會形成一組內(nèi)聚的類。在對類的角色設(shè)計中有一個貫串始終的基本原
37、則:把類的責(zé)任分為表現(xiàn)、應(yīng)用和持久化存儲數(shù)據(jù)(典型地在數(shù)據(jù)庫中)。雖然這和三層數(shù)據(jù)庫程序地劃分是一樣的,要提示的是這種劃分的概念可以在多種環(huán)境中實現(xiàn):從單片機程序到分布式多層程序。組成應(yīng)用邏輯的這一組類負(fù)責(zé)最為困難的工作,例如響應(yīng)用戶操作和處理數(shù)據(jù)的請求。這一層類中有一部分類表現(xiàn)了真實世界的實體,并被系統(tǒng)所模型化。這些類常被稱為“商業(yè)類”或“問題域類”。它們構(gòu)成任何面向?qū)ο蟪绦蛑陵P(guān)重要的部分,因為其它的類將通過某種方式支持這些類,它們成為所有開發(fā)者關(guān)注的焦點。面向?qū)ο笈c傳統(tǒng)技術(shù)如ssadm相比的優(yōu)點貫串于整個分析設(shè)計和維持實體的過程:可以通過面向?qū)ο蠓治觯╫oa)、面向?qū)ο笤O(shè)計(ood)和面向
38、對象編程(oop)來表現(xiàn)每個商業(yè)對象。我們會在后面探尋識別合適的商業(yè)對象的部分技巧。業(yè)務(wù)邏輯與界面分離是現(xiàn)代程序設(shè)計的先進技術(shù),它是建立在面向?qū)ο笤O(shè)計的基礎(chǔ)上的發(fā)展。在程序中使用這一規(guī)則,將使我們的復(fù)雜的業(yè)務(wù)規(guī)則代碼與界面分開,使程序為容易維護,程序隨著業(yè)務(wù)流程作為變動,當(dāng)業(yè)務(wù)流程改變時,無須更改數(shù)據(jù)庫或界面,只要更改類的屬性或者是方法。對系統(tǒng)的維護將變的十分簡單 。2.2.1關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫(relation database)是若干個依照關(guān)系模型設(shè)計的數(shù)據(jù)表的集合。也就是說,關(guān)系數(shù)據(jù)庫是由若干張完成關(guān)系模型設(shè)計的二維表組成的。關(guān)系數(shù)據(jù)庫由于以具有與數(shù)學(xué)方法相一致的關(guān)系模型設(shè)計的數(shù)據(jù)
39、表為基本文件,不但每個數(shù)據(jù)表之間具有獨立性,而且若干個數(shù)據(jù)表之間又具有相關(guān)性,這一特點使其具有極大的優(yōu)越性,并能得以迅速普及。關(guān)系數(shù)據(jù)庫有以下特點:(1)、以面向系統(tǒng)的觀點組織數(shù)據(jù),使數(shù)據(jù)具有最小的冗余度,支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu);(2)、具有高度的數(shù)據(jù)和程序的獨立性,用戶的應(yīng)用程序與數(shù)據(jù)的邏輯結(jié)構(gòu),以及數(shù)據(jù)的物理存儲方式無關(guān);(3)、由于數(shù)據(jù)具有共享性,使數(shù)據(jù)庫中的數(shù)據(jù)能為多個用戶服務(wù);(4)、關(guān)系數(shù)據(jù)庫允許多個用戶同時訪問,同時提供了各種控制功能,保證數(shù)據(jù)的安全性、完整性和并發(fā)性控制。安全性控制可防止未經(jīng)允許的用戶存取數(shù)據(jù);完整性控制可保證數(shù)據(jù)的正確性、有效性和相容性;并發(fā)性控制可防止多用戶并發(fā)
40、訪問數(shù)據(jù)時由于相干擾而產(chǎn)生的數(shù)據(jù)不一致。 2.3總體方案設(shè)計與選擇論證2.3.1總體方案設(shè)計 本系統(tǒng)主要完成以下功能:系統(tǒng)登錄控制只有使用正確的用戶名與密碼登錄后,才能使用系統(tǒng)提供的各項功能,為新用戶設(shè)置的密碼為111,新用戶登錄系統(tǒng)后能使用更改密碼功能更改密碼。系統(tǒng)對每項功能都進行了有效的權(quán)限管理,需要設(shè)置相應(yīng)的權(quán)限才能使用相應(yīng)的功能,新用戶沒有任何功能,防止未經(jīng)許可的使用,對系統(tǒng)業(yè)務(wù)進行損壞。部門信息管理酒店中各部門信息,可以新增、修改、刪除部門信息。 員工資料設(shè)置員工的資料信息,可以新增、修改、刪除這些資料信息。房間資料設(shè)置酒店房間的名稱、幾人房、價格信息。預(yù)訂資料設(shè)置客戶預(yù)計的一些基本
41、參數(shù)。銷售資料設(shè)置客戶入住的銷售信息,包含價格等銷售房間資料記錄銷售房間的資料。入住客戶資料記錄入住客戶的資料預(yù)退訂房信息查詢查詢預(yù)訂房、退訂房的相關(guān)信息。結(jié)帳信息查詢查詢指定日期內(nèi)結(jié)帳房間的相關(guān)信息顧客結(jié)帳提供用戶結(jié)帳功能預(yù)訂轉(zhuǎn)開房預(yù)訂客人到店后轉(zhuǎn)入開房更改密碼登陸者可以更改自己的密碼。保證密碼的安全。退出退出程序。2.3.2選擇論證 選擇開發(fā)工具,必須充分考慮到對軟件需求分析的結(jié)果。必須意識到用戶的需求是否充分得到考慮,設(shè)計是否與分析不符,而且必須選用與系統(tǒng)功能相適應(yīng)的開發(fā)工具。 delphi7是著名的數(shù)據(jù)庫應(yīng)用開發(fā)工具生產(chǎn)廠商borland公司推出的產(chǎn)品它完全按照客戶機/服務(wù)器體系結(jié)構(gòu)研
42、制設(shè)計,在客戶機/服務(wù)器結(jié)構(gòu)中,它使用在客戶機中,作為數(shù)據(jù)庫應(yīng)用程序的開發(fā)工具而存在。由于delphi7采用了面向?qū)ο蠛涂梢暬夹g(shù),提供可視化的應(yīng)用開發(fā)環(huán)境,使得我們利用delphi7,可以方便快捷地開發(fā)出利用后臺服務(wù)器中的數(shù)據(jù)和數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫應(yīng)用程序。delphi7提供了對目前流行的大多數(shù)關(guān)系數(shù)據(jù)庫管理系統(tǒng)的支持,由于在delphi7的應(yīng)用程序中對數(shù)據(jù)庫訪問的部分一般采用國際化標(biāo)準(zhǔn)數(shù)據(jù)庫查詢語言sql,使得用delphi7開發(fā)的應(yīng)用程序可以不做修改或者只做少量的修改就可以在不同的后臺數(shù)據(jù)庫管理系統(tǒng)上使用。也就是說用delphi7開發(fā)的應(yīng)用程序是獨立于服務(wù)器上的數(shù)據(jù)庫管理系統(tǒng)的。和大多
43、數(shù)的windows應(yīng)用程序一樣,delphi7也是事件驅(qū)動工作方式。在這種工作方式中,程序的運行沒有固定的流程,程序中的代碼也是為各種可能發(fā)生的事件編寫的,當(dāng)程序開始運行之后,它就可以接受來自系統(tǒng),用戶或者其它應(yīng)用程序觸發(fā)的事件,然后執(zhí)行相應(yīng)的事件代碼。事件驅(qū)動的工作方式與面向?qū)ο蠹夹g(shù)是緊密相關(guān)的,在delphi7應(yīng)用程序中,接受發(fā)生的事件的往往就是程序界面中的各種可視化對象。delphi7是一種面向?qū)ο蟮拈_發(fā)工具,各種windows應(yīng)用程序中常見的窗口、菜單、控件等在delphi7中都是一個個的對象。在delphi7中我們還可以創(chuàng)建自己的用戶對象。特別要指出的是delphi7提供了對面向?qū)ο?/p>
44、方法中的各種技術(shù)的全面支持,我們可以利用面向?qū)ο蠓椒ㄖ械膶ο蟮姆庋b性、繼承性、多態(tài)性等特點使得我們開發(fā)的應(yīng)用程序具有極大的可重用性和可擴展性,而這一點正是軟件工程中對應(yīng)用程序所提出的重要目標(biāo)。本系統(tǒng)是基于數(shù)據(jù)庫系統(tǒng)的開發(fā),基于以上特點,可以看出delphi正是在數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)領(lǐng)域的一個優(yōu)秀的工具。2.3.3需求分析(1) 數(shù)據(jù)流程圖p5.2房間管理d1 房間信息帳號、密碼前臺p5.1登錄合法身份p5.3顧客入住管理管理d4 顧客信息d5 顧客預(yù)訂信息p5.4顧客預(yù)訂管理d6 顧客結(jié)賬信息p5.4顧客結(jié)賬管理圖表2-1p5.2部門信息管理d1 部門信息帳號、密碼管理員p5.1登錄合法身份p5
45、.3員工信息管理d4 員工信息d5 房間信息p5.4房間信息管理p5.5房間預(yù)退訂查詢p5.6結(jié)賬情況查詢圖標(biāo)2-2酒店管理系統(tǒng)顧客后臺管理員 酒店 系統(tǒng)信息資料、評論信息 信息管理及維護 房間信息 訂單信息房間資源圖表2-3(2) 業(yè)務(wù)流程圖注冊管理員用戶登陸失敗會員表登陸失敗登陸登陸管理員表會員表 登陸成功 登陸成功結(jié)賬情況查詢房間預(yù)退訂查詢員工信息管理房間信息管理部門信息管理顧客結(jié)賬顧客預(yù)訂顧客入住房間信息備份還原房間信息表員工表部門表本月結(jié)賬情況查詢表房間預(yù)退訂定查詢表顧客預(yù)訂信息顧客結(jié)賬信息顧客信息空房信息生成訂單酒店管理系統(tǒng)數(shù)據(jù)庫圖表2-4第三章 系統(tǒng)分析3.1系統(tǒng)設(shè)計3.1.1設(shè)
46、計思想為保證信息系統(tǒng)的健壯性,對用戶進行驗證是必須的,只有合法的用戶才能登錄并按其權(quán)限使用管理系統(tǒng)。用戶長期使用同一密碼登錄系統(tǒng)將可能導(dǎo)致密碼泄露,這樣不利于系統(tǒng)安全,因此,系統(tǒng)需要提供更改用戶密碼功能。在酒店中,人員都?xì)w屬于某個具體的部門下,因此,需要對部門進行設(shè)置。 酒店管理系統(tǒng)要管理的直接對象就是各個具體的入住事件,因此,需要對房間進行逐一設(shè)置。入住事件中,直接作用的就是各個房間等,所以,需要對房間進行設(shè)置。每個房間的價格變化,具有鐘點價格、普通價格、會員價、執(zhí)行價不同價格的顯示。在消費者入住 活動中,發(fā)生一切變動行為,都應(yīng)有相應(yīng)的記錄:當(dāng)消費者預(yù)定房間時,應(yīng)記錄在預(yù)定表中。當(dāng)預(yù)訂消費者
47、來店入住時,應(yīng)將其預(yù)訂設(shè)置為到店入住狀態(tài)。還應(yīng)該按照酒店日常工作中常用的統(tǒng)計需求,分別設(shè)計出按照員工的姓名進行查詢、按照員工所在的部門進行查詢、按照員工的職務(wù)進行查詢和統(tǒng)計、按照員工的性別進行查詢和統(tǒng)計等。系統(tǒng)還需要提供一個“用戶管理”功能,使得有相應(yīng)權(quán)限的管理人員都能進入系統(tǒng),進行管理。本系統(tǒng)中前臺操作實現(xiàn)的主要包括“房間信息”、“顧客開房”、“顧客預(yù)訂”、 “顧客結(jié)帳”四個模塊。其中“房間信息”模塊實時顯示房間的動態(tài)情況; “后臺管理”主要包括“員工管理”、“部門管理”、“房間管理”、“預(yù)退訂查詢”、“結(jié)帳查詢”、“系統(tǒng)備份” 是個獨立且唯一的子模塊。3.1.2系統(tǒng)功能模塊劃分根據(jù)上述的系
48、統(tǒng)功能分析,可以得出如圖3-1所示的系統(tǒng)功能模塊圖其中,部門設(shè)置的功能圖3-2所示:圖3-2 部門設(shè)置功能模塊圖部門設(shè)置 新增部門修改部門退出刪除部門保存部門員工資料的功能圖3-3所示:圖3-3 員工資料功能模塊圖員工資料 新增員工修改員工退出刪除員工保存員工房間設(shè)置的功能圖3-4所示:圖3-4 房間設(shè)置模塊圖房間設(shè)置 新增房間修改房間退出刪除房間保存房間更改狀態(tài)用戶設(shè)置的功能圖3-5所示:圖3-5 預(yù)退訂查詢模塊圖預(yù)退訂查詢查詢?nèi)掌跔顟B(tài)類型用戶退出開始查詢結(jié)帳查詢的功能圖3-6所示:圖3-6 結(jié)帳查詢模塊圖結(jié)帳查詢條件設(shè)置開始查詢房間信息的功能圖3-7所示:圖3-7 房間信息模塊圖房間信息刷
49、新關(guān)閉顯示入住管理的功能圖3-8所示:圖3-8 入住管理功能模塊圖入住管理入住基本信息保存入住房間選取人員錄入結(jié)帳的功能圖如圖3-9所示:圖3-9 結(jié)帳管理功能模塊圖結(jié)帳管理 選擇房間確認(rèn)結(jié)帳顯示信息用戶交款預(yù)訂的功能圖如圖3-10所示:圖3-10 預(yù)訂管理功能模塊圖預(yù)訂管理 錄入信息顧客退訂選擇房間轉(zhuǎn)入開房3.2數(shù)據(jù)庫設(shè)計3.2.1對關(guān)系型數(shù)據(jù)庫的研究建立關(guān)系結(jié)構(gòu)模型在使用delphi新建數(shù)據(jù)庫窗體和其它對象之前,應(yīng)該先對數(shù)據(jù)庫進行充分的設(shè)計。合理的設(shè)計是新建一個能夠有效、準(zhǔn)確、及時完在所需功能的數(shù)據(jù)庫的基礎(chǔ)。沒有好的設(shè)計,將會導(dǎo)致表被經(jīng)常性修改,并且可能無法從數(shù)據(jù)庫中抽取出有效信息。設(shè)計數(shù)
50、據(jù)庫的基本步驟如下:(1)、確定新建數(shù)據(jù)庫的所要完成的任務(wù);(2)、規(guī)劃該數(shù)據(jù)庫中需要建立的表;(3)、確定表中需要的字段;(4)、明確有惟一值的字段;(5)、確定表之間的關(guān)系;(6)、優(yōu)化設(shè)計;(7)、輸入數(shù)據(jù)并新建其它數(shù)據(jù)庫對象。在具體設(shè)計中,應(yīng)該靈活使用以上步驟來達到對數(shù)據(jù)庫良好設(shè)計的目的。3.1.2數(shù)據(jù)庫需求分析用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢。這就要求數(shù)據(jù)庫結(jié)構(gòu)合理,能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu),以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,是系統(tǒng)設(shè)計中最重要的基礎(chǔ)。通過上節(jié)中的系統(tǒng)功能分析,針對酒店管理系統(tǒng)的需求,總結(jié)出如下的需求信息:(
51、1)、“部門信息”表中必須有字段是惟一的;部門編號為主鍵。(2)、“員工信息”表中應(yīng)該有字段是惟一的,具作為主鍵存在。(3)、“員工”表中必須有字段是記錄部門信息。(4)、“房間”表中必須有字段是記錄入住單號。(5)、“房間”表中必須有字段是唯一的,并且該字段與銷售主表的字段相關(guān)聯(lián)。(6)、“預(yù)訂”表中應(yīng)該有字段是唯一的主鍵。(7)、“顧客住店”表中必須有字段是惟一的,并且有字段記錄其身份證信息。(8)、“銷售主表”中必須記錄桌面信息,并且銷售編號唯一的主鍵。(9)、“銷售房間表”中必須有銷售編號+房間號為復(fù)合主鍵。(10)、“銷售表”中必須有字段記錄其結(jié)帳狀態(tài)。經(jīng)過上述系統(tǒng)功能分析和需求總結(jié)
52、,考慮到將來的功能擴展,設(shè)計如下所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):(1)、部門信息表:包含部門編號、部門名稱;(2)、員工資料表:包含員工編號、員工姓名、所在部門、密碼、權(quán)限;(3)、房間表:包含房間編號、幾人間、價格、狀態(tài)、銷售單號。(5)、預(yù)訂表:包含預(yù)訂編號、客戶姓名、時間、聯(lián)系電話、狀態(tài)、轉(zhuǎn)入銷售號;(6)、銷售主表;包含銷售編號、總計金額、折扣金額、會員金額、真實金額、結(jié)帳標(biāo)志、開臺時間、關(guān)臺時間、記錄員。(8)、銷售房間表:包含銷售編號、房間編號。(9)、入住客人表:包含銷售單號、客戶名稱、身份證號、身份證。3.3.3數(shù)據(jù)庫結(jié)構(gòu)設(shè)計得到上幾節(jié)的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出能夠滿足用戶需
53、求的各種實體,以及它們之間的關(guān)系,為后面的邏輯設(shè)計打下基礎(chǔ)。這些實例包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動。按照上面的分析設(shè)置,得到幾個在系統(tǒng)中重要的實體:即房間、客戶、銷售、預(yù)訂實體。下面,依次劃出如圖3-11所示的實體的關(guān)系圖:圖3-11 重要實體的er圖這些重要實體之間的關(guān)系如下圖3-12所示:圖3-12 重要實體之間的關(guān)系圖第四章 詳細(xì)設(shè)計4.1數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計完畢后,就要將其轉(zhuǎn)化為某種數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。4.1.1表結(jié)構(gòu)設(shè)計本系統(tǒng)中使用的重要數(shù)據(jù)表的字段設(shè)置如下:部門信息(t_office)表的字段設(shè)置如表4-1所示:表4-1 “部門(t_ office)”表字段名類型寬度可否為空默認(rèn)值說明o_idchar10部門編號,主鍵o_namechar10部門名稱o_parentchar10用戶表t_user的字段設(shè)置如表4-2所示表4-2 “用戶(t_user)”表字段名類型寬度可否為空默認(rèn)值說明u_idchar10
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024至2030年中國厚料儀器數(shù)據(jù)監(jiān)測研究報告
- 2024年天津市中考語文試題含答案
- 2024年中國玻璃鋼模壓制品市場調(diào)查研究報告
- 2024年中國注塑網(wǎng)板市場調(diào)查研究報告
- 2012年事業(yè)單位考試公共基礎(chǔ)知識單選題題庫
- 2024年中國散熱器手動調(diào)節(jié)閥市場調(diào)查研究報告
- 電影節(jié)安保工作總結(jié)與經(jīng)驗分享計劃
- 村級公路損壞修復(fù)協(xié)議書
- 合理安排會計工作時間表計劃
- 北京技術(shù)合同登記實務(wù)
- 失地農(nóng)民的生計問題研究1
- 醫(yī)院法律顧問方案
- 急診科主任競崗優(yōu)秀發(fā)言稿
- 新概念英語第一冊第六課(課堂PPT)
- 醫(yī)院給排水設(shè)計及施工要點分享
- QJ44型直流雙臂電橋使用說明書
- iShow中級班文本
- 煉鋼系統(tǒng)冷態(tài)聯(lián)動試車方案
- 董事會股東會的召開流程
- 帷幕灌漿孔原始記錄表
評論
0/150
提交評論