2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  河南工業(yè)職業(yè)技術(shù)學(xué)院</p><p><b>  畢業(yè)設(shè)計(jì)任務(wù)書</b></p><p>  類 別:  三年制高職 </p><p>  專 業(yè):  軟件技術(shù) </p><p>  班 級(jí): 軟件1301 </p><p> 

2、 姓 名: 高杰 </p><p>  畢業(yè)設(shè)計(jì)題目: 酒店管理系統(tǒng) </p><p>  指導(dǎo)教師姓名: 姜燕 </p><p>  負(fù)責(zé)人簽字: </p><p>  年 月 日</p><p><b&

3、gt;  摘要</b></p><p>  旅游和科技化的浪潮使得酒店和餐飲行業(yè)發(fā)展的如火如荼,如何以方便、快捷、經(jīng)濟(jì)的方式來對(duì)該行業(yè)進(jìn)行有效管理是一個(gè)重要問題,隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,在社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。也使得軟件成了解決問題的有效途徑。</p><p>  酒店管理系統(tǒng)以方便、快捷、費(fèi)用低的優(yōu)點(diǎn)正慢慢地進(jìn)入人們的生活,將傳統(tǒng)的酒店管

4、理方式徹底的解脫出來,提高效率,減輕工人人員以往繁忙的工作,減小出錯(cuò)的概率。本系統(tǒng)從滿足客戶的需求角度出發(fā),實(shí)現(xiàn)了酒店管理的基本流程。系統(tǒng)的主要功能包括前臺(tái)服務(wù)、后臺(tái)管理、銷售統(tǒng)計(jì)、系統(tǒng)安全、人員管理、初始化系統(tǒng)等等。用戶在酒店消費(fèi)的時(shí)候所要等待的時(shí)間就會(huì)大大的減少,操作員能夠很方便的對(duì)用戶信息的登記和對(duì)用餐狀態(tài)的的管理,從而實(shí)現(xiàn)了酒店管理系統(tǒng)高效、準(zhǔn)確的特點(diǎn)。</p><p>  本論文全面介紹了酒店管理系統(tǒng)設(shè)

5、計(jì)的過程,系統(tǒng)是利用MyEclipse 7.0作為數(shù)據(jù)庫前端開發(fā)工具, SQL Server 2005為后臺(tái)數(shù)據(jù)庫,主要采用Windows XP/Windows 7作為操作系統(tǒng),采用java為開發(fā)語言,本著易實(shí)用性,擴(kuò)展性,可移植性的原則,采用c/s模式開發(fā) ,實(shí)現(xiàn)酒店管理信息化的發(fā)展需求。</p><p>  關(guān)鍵詞: 數(shù)據(jù)庫SQL Server2005;MyEclipse 7.0;酒店管理系統(tǒng)。</p&

6、gt;<p><b>  目 錄</b></p><p>  第一章 系統(tǒng)概述 -------------------------------------------- 1</p><p>  1.1 開發(fā)背景 -----------------------------------------1</p><p>  1.

7、2 開發(fā)語言簡(jiǎn)介-----------------------------------</p><p>  1.3 系統(tǒng)簡(jiǎn)介 -----------------------------------------</p><p>  第二章 可行性分析-----------------------------------------</p><p>  2.

8、1 技術(shù)可行性-----------------------------------------</p><p>  2.2 管理可行性-----------------------------------------</p><p>  2.3 經(jīng)濟(jì)可行性-----------------------------------------</p><p>

9、;  第三章 系統(tǒng)需求分析--------------------------------------</p><p>  3.1 項(xiàng)目規(guī)劃----------------------------------------- </p><p>  3.2 系統(tǒng)功能結(jié)構(gòu)--------------------------------------</p><p&g

10、t;  3.3 用例圖設(shè)計(jì)-----------------------------------------</p><p>  第四章 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)-----------------------------------</p><p>  4.1 設(shè)計(jì)目標(biāo)----------------------------------------- </p><p&

11、gt;  4.2 開發(fā)運(yùn)行環(huán)境-------------------------------------</p><p>  4.3 數(shù)據(jù)庫設(shè)計(jì)-----------------------------------------</p><p>  4.3.1 數(shù)據(jù)庫表的概要-------------------------------</p><p>  4

12、.3.2 主要數(shù)據(jù)表結(jié)構(gòu)-------------------------------</p><p>  4.4 功能模塊的實(shí)現(xiàn)------------------------------------</p><p>  4.4.1文件架構(gòu)---------------------------</p><p>  4.4.2 登錄和系統(tǒng)界面----------

13、-----------------</p><p>  4.4.3 數(shù)據(jù)庫連接---------------------------</p><p>  4.4.3前臺(tái)服務(wù)模塊---------------------------</p><p>  a 開臺(tái)查看實(shí)現(xiàn)---------------------------</p><p>  

14、b點(diǎn)菜與簽單實(shí)現(xiàn)--------------------------- </p><p>  c 自動(dòng)結(jié)賬實(shí)現(xiàn)---------------------------</p><p>  第五章 總結(jié)-----------------------------------------</p><p>  參考文獻(xiàn)--------------------------

15、---------------</p><p><b>  系統(tǒng)概述</b></p><p><b>  開發(fā)背景</b></p><p>  隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,信息時(shí)代的到來,信息改變了我們這個(gè)社會(huì)。各類行業(yè)在日常經(jīng)營(yíng)管理各個(gè)方面也在悄悄地走向規(guī)范化和網(wǎng)絡(luò)化。酒店管理的信息化程度體現(xiàn)在將計(jì)算機(jī)及網(wǎng)絡(luò)與信息技術(shù)應(yīng)用

16、于經(jīng)營(yíng)與管理,以現(xiàn)代化工具代替?zhèn)鹘y(tǒng)手工作業(yè)。無疑,使用網(wǎng)絡(luò)信息化管理使酒店管理更先進(jìn)、更高效、更科學(xué),信息交流更迅速。</p><p>  酒店管理系統(tǒng)是典型的信息管理系統(tǒng)的一部份,而且是必不可少的一部份。其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起簡(jiǎn)潔且資料一致性和完整性強(qiáng)、資料安全性好的數(shù)據(jù)庫。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。</p>&

17、lt;p>  酒店管理系統(tǒng)是酒店經(jīng)營(yíng)管理中不可缺少的部分,它的內(nèi)容對(duì)于經(jīng)營(yíng)的決策者和管理者來說都至關(guān)重要,所以客房管理系統(tǒng)、信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍5恢币詠砣藗兪褂脗鹘y(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多弊端,如:效率低、保密性差,容易出現(xiàn)差錯(cuò)等,且對(duì)于查詢維護(hù)等極為不方便。在當(dāng)今時(shí)代,這些完全可以改用計(jì)算機(jī)來代替人的手工操作。</p><p>  作為計(jì)算機(jī)及

18、網(wǎng)絡(luò)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)客房信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高客房經(jīng)營(yíng)管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。且辦事效率也是決定收入的一個(gè)關(guān)鍵因素。</p><p>  因此,我們組決定選擇酒店管理系統(tǒng)作為本人的畢業(yè)設(shè)計(jì),力求開發(fā)出一套界面友好,使用簡(jiǎn)單的適用于各中、小規(guī)模的酒店

19、管理系統(tǒng)。</p><p><b>  開發(fā)語言簡(jiǎn)介</b></p><p>  Java語言其實(shí)最早是誕生于1991年, sun公司最初為一些消費(fèi)性電子產(chǎn)品而設(shè)計(jì)的一個(gè)通用環(huán)境,后來逐步完善廣泛應(yīng)用與Internet,桌面系統(tǒng)等各個(gè)領(lǐng)域,在開發(fā)方面具有以下優(yōu)勢(shì):</p><p>  a:軟件的需求分析:可將用戶的需求進(jìn)行動(dòng)態(tài)的、可視化描述,以

20、提供設(shè)計(jì)者更加直觀的要求。而用戶的需求是各色各樣 的,不受地區(qū)、行業(yè)部門,愛好的影響,都可以用Java語言描述清楚。</p><p>  b:軟件的開發(fā)方法:由于Java語言的面向目標(biāo)的特性, 所以完全可以用O-O的技術(shù)與方法來開發(fā),這是符合最新的軟件開發(fā)規(guī)范要求的 。</p><p>  c:Java語言的動(dòng)畫效果遠(yuǎn)比GUI技術(shù)更加逼真,尤其是利用WWW提供的巨大動(dòng)畫資源空間,可以共享全

21、世界的動(dòng)態(tài)畫面的 資源 。</p><p>  軟件產(chǎn)品用java語言開發(fā)的軟件可以具有可視化,可聽化 ,可操作化的效果,這要比電視,電影的效果更為理想,因 為它可以做到"即時(shí)、交互、動(dòng)畫與動(dòng)作 ",要它停就停 ,要它繼續(xù)就繼續(xù) ,而這是在電影與電視播放過程中難以做到 的。本系統(tǒng)在選擇java語言原因之一它還具有其跨平臺(tái)性,可移植性,安全性,健壯性。充分考慮跨系統(tǒng)平臺(tái)和安全因素,這對(duì)于產(chǎn)品應(yīng)用

22、和市場(chǎng)化需求有很大作用。</p><p><b>  1.3系統(tǒng)簡(jiǎn)介</b></p><p>  現(xiàn)代化的酒店組織龐大、服務(wù)項(xiàng)目多、信息量大,要想提高勞動(dòng)生產(chǎn)、降低成本、提高服務(wù)質(zhì)量和管理水平,進(jìn)而促進(jìn)經(jīng)濟(jì)效益,必須借助計(jì)算機(jī)來進(jìn)行現(xiàn)代化的信息管理。酒店管理系統(tǒng)正是為此而設(shè)計(jì)的。優(yōu)秀的酒店客房管理系統(tǒng)操作方便,靈活性好,系統(tǒng)安全性高,運(yùn)行穩(wěn)定。這也是我所設(shè)計(jì)本程序的目

23、的之一。本產(chǎn)品采用的C/S模式開發(fā),主要考慮界面的友好性,且運(yùn)行于客戶端有效的降低服務(wù)器和客戶端之間的運(yùn)算量,節(jié)省了時(shí)間。本系統(tǒng)包括銷售統(tǒng)計(jì),后臺(tái)管理,人員管理,初始化系統(tǒng),和系統(tǒng)安全 五個(gè)模塊。并與sql2005數(shù)據(jù)庫應(yīng)用相結(jié)合。</p><p>  第二章 可行性分析</p><p>  2.1 技術(shù)可行性</p><p>  編寫語言:采用Java語言進(jìn)行

24、編寫。Java是一種安全的、穩(wěn)定的、簡(jiǎn)單的,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承C和C++強(qiáng)大功能的同時(shí)去掉了一些它們的復(fù)雜特性(例如沒有宏 和模版,不允許多重繼承)。Java操作簡(jiǎn)單和運(yùn)行效率高,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性,編程的支持成為開發(fā)的首選語言。由于對(duì)Java技術(shù)比較熟練,對(duì)于系統(tǒng)較為簡(jiǎn)單的,但基本功能較為完善的酒店管理系統(tǒng)來說是基本沒有問題的。</p><p> 

25、 編程平臺(tái):編程平臺(tái)采用myeclicps7.0.它已被證明是一個(gè)極其強(qiáng)大和成功的開發(fā)平臺(tái),其成熟穩(wěn)定能夠充分保證軟件設(shè)計(jì)的順利進(jìn)行。</p><p>  數(shù)據(jù)庫:數(shù)據(jù)庫采用微軟的SQL Server 2005,雖然該數(shù)據(jù)庫版本不是最新的,但其工作穩(wěn)定,功能強(qiáng)大,資源耗費(fèi)較少,所以能夠充分滿足目前的需要。</p><p>  以上所用技術(shù)都是成熟的,先進(jìn)的,穩(wěn)定的。因此,開發(fā)本系統(tǒng)在技術(shù)上

26、是可行的。</p><p><b>  管理可行性</b></p><p>  由于本系統(tǒng)功能比較簡(jiǎn)單,對(duì)于工作人員不存在太大難度。管理員權(quán)限明確,系統(tǒng)管理員擁有維護(hù)數(shù)據(jù)庫系統(tǒng)的權(quán)限,對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行添加、刪除、更新等操作界面友好簡(jiǎn)單可操作性強(qiáng)。因此,本系統(tǒng)在管理上是可行的。</p><p>  在本系統(tǒng)的運(yùn)營(yíng)階段,使用系統(tǒng)的工作人員,除了

27、需要具備在Windows平臺(tái)上使用個(gè)人電腦的知識(shí),并不需要特別的技術(shù)能力。</p><p>  本系統(tǒng)充分結(jié)合實(shí)際酒店中餐飲營(yíng)銷方式,操作實(shí)際易于接受,適用性強(qiáng) 。在銷售統(tǒng)計(jì)模塊中分別對(duì)年,月,日銷售模塊進(jìn)行全面統(tǒng)計(jì),有利于改善優(yōu)化管理服務(wù)。</p><p><b>  2.3經(jīng)濟(jì)可行性</b></p><p>  經(jīng)濟(jì)上主要考慮本系統(tǒng)帶來的效

28、益是否大于開發(fā)本系統(tǒng)的成本,采用自動(dòng)化的信息管理減少了人員的使用,對(duì)信息進(jìn)行充分統(tǒng)計(jì),方便管理,為決策著進(jìn)行更好決策做出依據(jù),提高經(jīng)濟(jì)效益,由于本系統(tǒng)的開發(fā)以課程設(shè)計(jì)為依托,參與人員的目的以學(xué)習(xí)為主,投入成本比較小。另外,系統(tǒng)管理員和業(yè)務(wù)員都擁有計(jì)算機(jī)的專業(yè)知識(shí),酒店前臺(tái)工作人員和管理人員不需要經(jīng)過培訓(xùn)即可操作本軟件。這樣可以為開發(fā)本系統(tǒng)節(jié)升資金。減少后期資源浪費(fèi)。因此,開發(fā)本系統(tǒng)在經(jīng)濟(jì)是可行的。</p><p>

29、;  綜上所述,開發(fā)本系統(tǒng),在經(jīng)濟(jì)上、技術(shù)上、管理上都是可行的。</p><p>  第三章 系統(tǒng)需求分析</p><p><b>  3.1 項(xiàng)目規(guī)劃</b></p><p>  通過項(xiàng)目組考察與調(diào)研,系統(tǒng)整理所有資料,并對(duì)這些資料從整體和局部進(jìn)行分析,最后決定在本系統(tǒng)中包含如下6大功能模塊。</p><p>  前

30、臺(tái)服務(wù):該模塊主要包括開臺(tái)點(diǎn)菜,維護(hù)菜品,簽單,結(jié)賬等功能,其中維護(hù)菜品功能包括添加和取消菜品,能夠取消菜品的前提條件是尚未簽單,即處于開單狀態(tài),結(jié)賬時(shí)則要求所有商品都要簽單,否則不允許結(jié)賬。</p><p>  后臺(tái)管理:該模塊主要包括臺(tái)號(hào)管理,菜系管理和菜品管理功能,其中菜系用來對(duì)菜品進(jìn)行分類。</p><p>  銷售統(tǒng)計(jì):該模塊主要用來分段統(tǒng)計(jì)營(yíng)業(yè)額,可以按日,月,年進(jìn)行統(tǒng)計(jì),其中

31、日統(tǒng)計(jì)是按照消費(fèi)單和銷售的商品統(tǒng)計(jì)銷售額,月統(tǒng)計(jì)是按照日期和每日的銷售額統(tǒng)計(jì)銷售額,年統(tǒng)計(jì)是按照日期和月份統(tǒng)計(jì)銷售額。</p><p>  系統(tǒng)安全:該模塊主要包括交接班,鎖定系統(tǒng)和修改密碼功能,其中交接班功能在操作員換崗時(shí)使用,鎖定系統(tǒng)在操作員臨時(shí)離開時(shí)使用。</p><p>  人員管理:該模塊主要包括檔案管理,管理員管理和操作權(quán)限管理功能,其中管理員管理功能用來管理系統(tǒng)的操作員,權(quán)限

32、管理功能用來管理系統(tǒng)操作員具有的操作權(quán)限。</p><p>  初始化系統(tǒng):該功能用來對(duì)系統(tǒng)進(jìn)行初始化,初始化后系統(tǒng)數(shù)據(jù)將全部被刪除。</p><p><b>  系統(tǒng)功能結(jié)構(gòu)</b></p><p>  該介紹以超級(jí)管理員的角色從整理結(jié)構(gòu)來介紹各個(gè)功能模塊的使用方法。首先進(jìn)入登錄界面用超級(jí)管理員權(quán)限登錄,超級(jí)管理員擁有后臺(tái)管理,銷售統(tǒng)計(jì),系統(tǒng)

33、安全,人員管理,前臺(tái)管理,初始化系統(tǒng)權(quán)限,分別可以對(duì)管理員賦予各種權(quán)限,并且對(duì)臺(tái)號(hào),菜品種類進(jìn)行設(shè)定分類,還可以進(jìn)行銷售統(tǒng)計(jì)和初始化系統(tǒng)(初始化后系統(tǒng)數(shù)據(jù)將被全部刪除)。下圖為整體功能</p><p>  3.3 用例圖設(shè)計(jì)</p><p><b>  a:前臺(tái)服務(wù)分析</b></p><p><b>  b:后臺(tái)管理分析</

34、b></p><p><b>  c:銷售統(tǒng)計(jì)</b></p><p><b>  d:系統(tǒng)安全</b></p><p><b>  e:人員管理</b></p><p><b>  f:初始系統(tǒng)化</b></p><p>&

35、lt;b>  系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</b></p><p><b>  4.1設(shè)計(jì)目標(biāo)</b></p><p>  根據(jù)餐飲行業(yè)的特點(diǎn)和實(shí)際情況,本系統(tǒng)以餐飲業(yè)務(wù)為基礎(chǔ),突出前臺(tái)管理,重視營(yíng)業(yè)數(shù)據(jù)分析等功能,從專業(yè)角度出發(fā),努力為餐飲管理者提供科學(xué)有效的管理模式和數(shù)據(jù)分析功能。力求開發(fā)出一款簡(jiǎn)單,使用的酒店管理系統(tǒng),令其適合于眾多餐飲企業(yè)的需求,同時(shí)該系統(tǒng)

36、還要具有一定的人性化和智能化的特點(diǎn),以保證軟件有易學(xué)易用的特點(diǎn),界面設(shè)計(jì)還要簡(jiǎn)介大方,以便常用功能的操作。</p><p><b>  4.2開發(fā)運(yùn)行環(huán)境</b></p><p>  本系統(tǒng)運(yùn)行時(shí)需要以下條件。</p><p><b>  硬件平臺(tái):</b></p><p>  cpu:pentiu

37、m 41.8GHz</p><p>  內(nèi)存:256MB以上</p><p>  操作系統(tǒng):windows xp/windows 2000/windows 2003/windows 7</p><p>  數(shù)據(jù)庫:Sql Server 2005</p><p>  開發(fā)工具包:JDK Version1.6</p><p&g

38、t;<b>  4.3數(shù)據(jù)庫的設(shè)計(jì)</b></p><p>  本系統(tǒng)的底層數(shù)據(jù)庫采用的sql server2005數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為db_DrinkeryManage。在數(shù)據(jù)庫中共包含7個(gè)數(shù)據(jù)庫表和三個(gè)視圖。下面是對(duì)各表的概要說明及具體及結(jié)構(gòu)。</p><p>  4.3.1 數(shù)據(jù)庫表的概要</p><p>  該樹形結(jié)構(gòu)圖顯示了數(shù)據(jù)

39、庫系統(tǒng)的所有數(shù)據(jù)表。</p><p><b>  主要數(shù)據(jù)表結(jié)構(gòu)</b></p><p>  tb_desk臺(tái)號(hào)表,用于保存餐臺(tái)信息,表結(jié)構(gòu)如下所示</p><p>  tb_sort 菜系表 用于保存菜系信息,表結(jié)構(gòu)如下所示</p><p>  tb_menu菜品表,用于保存菜品信息,表結(jié)構(gòu)如下所示</p>

40、<p>  tb_record 檔案表,用于保存檔案信息,表結(jié)構(gòu)如下所示</p><p>  tb_manager管理員表,用于保存系統(tǒng)管理員信息,表結(jié)構(gòu)如下所示</p><p>  tb_order_form消費(fèi)單表用于保存消費(fèi)單信息,表結(jié)構(gòu)如下所示</p><p>  tb_order_item消費(fèi)項(xiàng)目表用于保存每個(gè)消費(fèi)單具體包含的消費(fèi)項(xiàng)目信息,表

41、結(jié)構(gòu)如下所示</p><p>  4.4功能模塊的實(shí)現(xiàn)</p><p>  系統(tǒng)根據(jù)酒店管理中餐飲行業(yè)的特點(diǎn),共有六個(gè)模塊組成,在此本人將以前臺(tái)服務(wù)模塊為例,詳細(xì)的闡述系統(tǒng)實(shí)現(xiàn)的主要思想,和設(shè)計(jì)邏輯, </p><p><b>  4.4.1文件架構(gòu)</b></p><p>  寫代碼之前,通常將系統(tǒng)的文件夾架構(gòu)做一整體

42、規(guī)劃,主要目的對(duì)文件進(jìn)行分類管理,以便在開發(fā)和維護(hù)中迅速查找,同時(shí)也對(duì)系統(tǒng)起到分層作用</p><p>  以文件架構(gòu)為基礎(chǔ),整體設(shè)計(jì)出功能架構(gòu)圖,如下所示。</p><p>  4.4.2 登錄和系統(tǒng)界面</p><p>  采用swing技術(shù)設(shè)計(jì)出登陸窗體,主要有登錄名框,密碼框,和兩個(gè)按鈕組成,界面友好簡(jiǎn)潔,</p><p>  系統(tǒng)主

43、窗體設(shè)計(jì)以容器,面板方式嵌套組合,主要本著簡(jiǎn)單易懂,界面友好為原則,充分體現(xiàn)操作性實(shí)用性的特點(diǎn)。</p><p>  4.4.3 數(shù)據(jù)庫連接</p><p>  采用myeclicps和sqlserver2005的連接方式,在使用數(shù)據(jù)庫之前應(yīng)注意以下問題,安裝數(shù)據(jù)庫驅(qū)動(dòng)應(yīng)為1.2版本以上,而且要確保TCP/IP端口協(xié)議開啟。</p><p>  創(chuàng)建5個(gè)私有靜態(tài)變量

44、加載和連接數(shù)據(jù)庫,其中threadlocal用來保存已經(jīng)創(chuàng)建的數(shù)據(jù)庫連接。</p><p>  private static final String DRIVERCLASS = "com.microsoft.sqlserver.jdbc.SQLServerDriver";</p><p>  private static final String URL = &quo

45、t;jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db_DrinkeryManage";</p><p>  private static final String USERNAME = "sa";</p><p>  private static final String PASSWORD = "sa&q

46、uot;;</p><p>  此處為加載數(shù)據(jù)庫驅(qū)動(dòng):</p><p>  private static final ThreadLocal<Connection> threadLocal = new ThreadLocal<Connection>();</p><p>  static {// 在靜態(tài)代碼塊中加載數(shù)據(jù)庫驅(qū)動(dòng)</p>

47、;<p><b>  try {</b></p><p>  Class.forName(DRIVERCLASS).newInstance();// 加載數(shù)據(jù)庫驅(qū)動(dòng)</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();}}</p><p

48、>  此處連接數(shù)據(jù)庫方法:</p><p>  public static Connection getConnection() {// 創(chuàng)建數(shù)據(jù)庫連接的方法</p><p>  Connection conn = threadLocal.get();// 從線程中獲得數(shù)據(jù)庫連接</p><p>  if (conn == null) {// 沒有可用的數(shù)據(jù)庫

49、連接</p><p><b>  try {</b></p><p>  conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);// 創(chuàng)建新的數(shù)據(jù)庫連接</p><p>  threadLocal.set(conn);// 將數(shù)據(jù)庫連接保存到線程中</p><

50、p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  return conn;// 返回?cái)?shù)據(jù)庫連接</p>&

51、lt;p><b>  }</b></p><p><b>  此處為關(guān)閉數(shù)據(jù)庫:</b></p><p>  public static boolean closeConnection() {// 關(guān)閉數(shù)據(jù)庫連接的方法</p><p>  boolean isClosed = true;// 默認(rèn)關(guān)閉成功</p

52、><p>  Connection conn = threadLocal.get();// 從線程中獲得數(shù)據(jù)庫連接</p><p>  if (conn != null) {// 數(shù)據(jù)庫連接可用</p><p>  threadLocal.set(null);// 清空線程中的數(shù)據(jù)庫連接</p><p><b>  try {</

53、b></p><p>  conn.close();// 關(guān)閉數(shù)據(jù)庫連接</p><p>  } catch (SQLException e) {</p><p>  isClosed = false;// 關(guān)閉失敗</p><p>  e.printStackTrace();</p><p><b>

54、  }</b></p><p><b>  }</b></p><p>  return isClosed;// 返回關(guān)閉結(jié)果</p><p><b>  }</b></p><p>  4.4.3前臺(tái)服務(wù)模塊</p><p>  前臺(tái)服務(wù)模塊主要分為,開臺(tái)簽單,

55、點(diǎn)菜簽單,自動(dòng)結(jié)賬功能,以人性化,簡(jiǎn)易化為原則,增加了系統(tǒng)的可操作性,例如,開臺(tái)點(diǎn)菜功能中有助記碼可方便前臺(tái)進(jìn)行快捷輸入菜品名稱,如紅燒肉助記碼為hsr,輸入一個(gè)或全部字母即可出來菜品名。用自動(dòng)結(jié)帳功能系統(tǒng)可自動(dòng)顯示應(yīng)付金額和要找金額。從而避免因忙碌和繁雜的事物和數(shù)據(jù)造成的過失。</p><p><b>  a 開臺(tái)查看實(shí)現(xiàn)</b></p><p>  在客戶需要服

56、務(wù)時(shí)選中所開臺(tái)號(hào),然后點(diǎn)開單即可進(jìn)行點(diǎn)菜等服務(wù)操作,主窗體上部顯示簽單列表,開臺(tái)列表,分別對(duì)臺(tái)號(hào),和賬單進(jìn)行顯示,在主界面中圖示如下</p><p>  當(dāng)在“臺(tái)號(hào)”下拉框中選中已經(jīng)開臺(tái)的臺(tái)號(hào)時(shí),開臺(tái)列表中該臺(tái)號(hào)所在的行也將被選中,同時(shí)在簽單列表中將列出該餐臺(tái)消費(fèi)的所有項(xiàng)目,效果如上圖所示。</p><p>  如果在“臺(tái)號(hào)”下拉框中選中尚未開臺(tái)的臺(tái)號(hào)時(shí),在開臺(tái)列表中將不選中任何行,并且在

57、簽單列表中將沒有任何項(xiàng)目,</p><p>  實(shí)現(xiàn)“臺(tái)號(hào)”代碼如下:</p><p>  final JLabel numLabel = new JLabel(); // 創(chuàng)建“臺(tái)號(hào)”標(biāo)簽</p><p>  numLabel.setText("臺(tái)號(hào):"); // 設(shè)置標(biāo)簽文本</p><p>  orderDishes

58、Panel.add(numLabel);</p><p>  numComboBox = new JComboBox(); // 創(chuàng)建臺(tái)號(hào)選擇框</p><p>  numComboBox.setNextFocusableComponent(codeTextField); // 設(shè)置下一個(gè)將要獲得焦點(diǎn)的組件</p><p>  initNumComboBox();

59、// 初始化臺(tái)號(hào)選擇框</p><p>  numComboBox.addActionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  int rowCount = rightTable.getRowCount(); //

60、獲得已開臺(tái)數(shù)</p><p>  if (rowCount == 0) // 沒有開臺(tái)</p><p>  return; // 不執(zhí)行任何操作</p><p>  Object selectedDeskNum = numComboBox.getSelectedItem(); // 獲得“臺(tái)號(hào)”選擇框中的選中項(xiàng)</p><p>  int n

61、eedSelectedRow = -1; // 默認(rèn)選中的臺(tái)號(hào)未開臺(tái)</p><p>  for (int row = 0; row < rowCount; row++) { </p><p>  // 查看選中的臺(tái)號(hào)是否已經(jīng)開臺(tái)</p><p>  if (selectedDeskNum.equals(rightTable.getValueAt(row, 1

62、))) { // 已經(jīng)開臺(tái)</p><p>  needSelectedRow = row; // 保存其在“開臺(tái)列表” 中的所在行</p><p>  break; // 跳出循環(huán)</p><p><b>  }</b></p><p><b>  }</b><

63、;/p><p>  if (needSelectedRow == -1) { // 選中的臺(tái)號(hào)尚未開臺(tái),即將要開臺(tái)</p><p>  rightTable.clearSelection(); // 取消選擇“開臺(tái)列表”中的選中行</p><p>  leftTableDataV.removeAllElements(); // 清空“簽單列表”中的所有行</p&g

64、t;<p>  leftTableModel.setDataVector(leftTableDataV,</p><p>  leftTableColumnV); // 刷新“簽單列表”表格模型的數(shù)據(jù)</p><p>  } else { // 選中的臺(tái)號(hào)已經(jīng)開臺(tái),即將要添加消費(fèi)項(xiàng)目</p><p>  rightTable.setRowSelecti

65、onInterval(needSelectedRow);// 在“開臺(tái)列表”中選中該臺(tái)號(hào)</p><p>  leftTableDataV.removeAllElements(); // 清空“簽單列表”中的現(xiàn)有項(xiàng)目</p><p>  leftTableDataV.addAll(itemOfDeskV.get(needSelectedRow)); // 向“簽單列表”添加新選中餐臺(tái)的消費(fèi)

66、項(xiàng)目</p><p>  leftTableModel.setDataVector(leftTableDataV,</p><p>  leftTableColumnV); // 刷新“簽單列表”表格模型的數(shù)據(jù)</p><p>  leftTable.setRowSelectionInterval(0); // 選中“簽單列表”中的第一行</p>&l

67、t;p><b>  }</b></p><p><b>  }</b></p><p>  b 點(diǎn)菜與簽單實(shí)現(xiàn) </p><p>  選中要點(diǎn)的餐臺(tái)后即可進(jìn)行點(diǎn)菜,系統(tǒng)支持兩種方式點(diǎn)菜:一種是通過菜品的 記助碼,這種樣式的優(yōu)點(diǎn)在于快速獲取菜品名稱,另一種方式通過菜品的編號(hào)輸入后自動(dòng)顯示菜品名到商品名稱框里。<

68、;/p><p>  其系統(tǒng)圖中顯示如下所示</p><p>  獲取菜品功能是通過文本框添加鍵盤事件監(jiān)聽器實(shí)現(xiàn)的,代碼如下:</p><p>  codeTextField.addKeyListener(new KeyAdapter() {</p><p>  public void keyTyped(KeyEvent e) {// 通過鍵盤監(jiān)聽

69、器實(shí)現(xiàn)控制文本框的輸入內(nèi)容</p><p>  if ("abcdefghijklmnopqrstuvwxyz0123456789".indexOf(e</p><p>  .getKeyChar()) < 0)// 只允許輸入字母和數(shù)字</p><p>  e.consume();// 銷毀此次鍵盤事件</p><p&

70、gt;<b>  }</b></p><p>  public void keyReleased(KeyEvent e) {// 通過鍵盤監(jiān)聽器實(shí)現(xiàn)智能獲取菜品</p><p>  if (e.getKeyCode() == KeyEvent.VK_ENTER) {// 按下回車鍵</p><p>  makeOutAnInvoice();//

71、 開單</p><p><b>  } else {</b></p><p>  String input = codeTextField.getText();// 獲得輸入內(nèi)容</p><p>  Vector menuV = null;// 符合條件的菜品</p><p>  if (input.length() &

72、gt; 0) {// 確認(rèn)輸入了內(nèi)容</p><p>  if (codeRadioButton.isSelected()) {// 按助記碼查詢</p><p>  Vector menusV = dao.sMenuByCode(input);// 查詢符合條件的菜品</p><p>  if (menusV.size() > 0) {// 存在符合條件的菜

73、品</p><p>  menuV = (Vector) menusV.get(0);// 獲得第一個(gè)符合條件的菜品</p><p>  menuV.remove(0);// 移除菜品的序號(hào)</p><p><b>  }</b></p><p>  } else {// 按編號(hào)查詢</p><p&g

74、t;  if (input.length() == 9)// 確認(rèn)編號(hào)是否為9位</p><p>  menuV = dao.sMenuByNum(input);// 查詢符合條件的菜品</p><p><b>  }</b></p><p><b>  }</b></p><p>  if (me

75、nuV == null) {// 不存在符合條件的菜品</p><p>  nameTextField.setText(null);// 設(shè)置“商品名稱”文本框?yàn)榭?lt;/p><p>  unitTextField.setText(null);// 設(shè)置“單位”文本框?yàn)榭?lt;/p><p>  priceTextField.setText(null);// 設(shè)置“單價(jià)”

76、文本框?yàn)榭?lt;/p><p>  } else {// 存在符合條件的菜品</p><p>  nameTextField.setText(menuV.get(2).toString());// 設(shè)置“商品名稱”文本框?yàn)榉蠗l件的菜品名稱</p><p>  unitTextField.setText(menuV.get(4).toString());// 設(shè)置“單位

77、”文本框?yàn)榉蠗l件的菜品單位</p><p>  priceTextField.setText(menuV.get(5).toString());// 設(shè)置“單價(jià)”文本框?yàn)榉蠗l件的菜品單價(jià)</p><p><b>  }</b></p><p><b>  }</b></p><p><b&

78、gt;  }</b></p><p><b>  });</b></p><p>  orderDishesPanel.add(codeTextField);</p><p><b>  注解:</b></p><p>  consume():該方法用于銷毀此次事件,如果此次事件是向一個(gè)

79、文本框中輸入一個(gè)字符,則取消次輸入。</p><p>  e,getKeyCode()==KeyEventVK_ENTER:該段代碼用來判斷此處事件是用戶按下Enter鍵觸發(fā)的,如果是則返回true;否則返回false。</p><p>  默認(rèn)情況下點(diǎn)才數(shù)量為1,如果不需要修改點(diǎn)菜數(shù)量,通過菜品助記碼或編號(hào)獲得菜品后直接單擊回車就開單成功從而方面用戶操作。</p><

80、p>  確定多點(diǎn)菜品和數(shù)量后,也可以通過單擊“開單“按鈕完成開單工作,簽單列表中的新開單菜品前會(huì)有一個(gè)“NEW”標(biāo)記,</p><p>  確定消費(fèi)“簽單列表”中所有菜品后,需要單擊“簽單“按鈕取消所有菜品前所有菜品的“NEW”標(biāo)記實(shí)現(xiàn)“簽單”。</p><p><b>  c自動(dòng)結(jié)賬實(shí)現(xiàn)</b></p><p>  該功能自動(dòng)計(jì)算“簽單

81、列表“中消費(fèi)金額,在“實(shí)收金額”文本框中輸入已收金額,系統(tǒng)自動(dòng)計(jì)算應(yīng)找金額,避免因忙碌繁雜而引起的錯(cuò)誤結(jié)算。</p><p>  在結(jié)賬之前一定要確保所有菜品已經(jīng)簽單,否則將彈出提示信息,并且要保證實(shí)收金額不小于消費(fèi)金額。實(shí)現(xiàn)結(jié)賬代碼如下:</p><p>  final JButton checkOutButton = new JButton();</p><p>

82、;  checkOutButton.setText("結(jié) 賬");</p><p>  checkOutButton.addActionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  int selec

83、tedRow = rightTable.getSelectedRow();</p><p>  if (selectedRow < 0) {// 未選中任何餐臺(tái)</p><p>  JOptionPane.showMessageDialog(null, "請(qǐng)選擇要結(jié)賬的餐臺(tái)!", "友情提示",</p><p>  JO

84、ptionPane.INFORMATION_MESSAGE);// 彈出提示</p><p><b>  return;</b></p><p><b>  }</b></p><p>  int rowCount = leftTable.getRowCount();// 獲得結(jié)賬餐臺(tái)的點(diǎn)菜數(shù)量</p>&l

85、t;p>  if (leftTable.getValueAt(rowCount - 1, 0).equals("NEW")) {// 存在未簽單菜品</p><p>  JOptionPane.showMessageDialog(null, "請(qǐng)先確定未簽單商品的處理方式!",</p><p>  "友情提示", JOpti

86、onPane.INFORMATION_MESSAGE);// 彈出提示</p><p><b>  return;</b></p><p><b>  }</b></p><p>  int expenditure = Integer.valueOf(expenditureTextField</p><

87、p>  .getText());// 獲得消費(fèi)金額</p><p>  int realWages = Integer.valueOf(realWagesTextField.getText());// 獲得實(shí)收金額</p><p>  if (realWages < expenditure) {// 查看實(shí)收金額是否小于消費(fèi)金額</p><p>  if

88、 (realWages == 0)// 未輸入實(shí)收金額</p><p>  JOptionPane.showMessageDialog(null, "請(qǐng)輸入實(shí)收金額!", "友情提示",</p><p>  JOptionPane.INFORMATION_MESSAGE);// 彈出提示</p><p><b>  

89、else</b></p><p>  // 實(shí)收金額小于消費(fèi)金額</p><p>  JOptionPane.showMessageDialog(null, "實(shí)收金額不能小于消費(fèi)金額!",</p><p>  "友情提示", JOptionPane.INFORMATION_MESSAGE);// 彈出提示<

90、/p><p>  realWagesTextField.requestFocus();// 為“實(shí)收金額”文本框請(qǐng)求獲得焦點(diǎn)</p><p><b>  return;</b></p><p><b>  }</b></p><p>  changeTextField.setText((realWage

91、s - expenditure) + "");// 計(jì)算并設(shè)置“找零金額”</p><p>  String[] orderFormData = {</p><p><b>  getNum(),</b></p><p>  rightTable.getValueAt(selectedRow, 1).toString(),&

92、lt;/p><p>  Today.getDate() + " "</p><p>  + rightTable.getValueAt(selectedRow, 2),</p><p>  expenditureTextField.getText(),</p><p>  TipWizardFrame.this.manager

93、V.get(0).toString() };// 組織消費(fèi)單信息</p><p>  dao.iOrderForm(orderFormData);// 持久化到數(shù)據(jù)庫</p><p>  String[] orderItemData = new String[4];// 用來存儲(chǔ)消費(fèi)項(xiàng)目信息</p><p>  orderItemData[0] = dao.sOrd

94、erFormOfMaxId();// 獲得消費(fèi)單編號(hào)</p><p>  for (int row = 0; row < rowCount; row++) {// 通過循環(huán)持久化消費(fèi)項(xiàng)目信息</p><p>  orderItemData[1] = leftTable.getValueAt(row, 2).toString();// 獲得菜品編號(hào)</p><p&g

95、t;  orderItemData[2] = leftTable.getValueAt(row, 5).toString();// 獲得菜品數(shù)量</p><p>  orderItemData[3] = leftTable.getValueAt(row, 7).toString();// 獲得菜品消費(fèi)金額</p><p>  dao.iOrderItem(orderItemData);//

96、 持久化到數(shù)據(jù)庫</p><p><b>  }</b></p><p>  JOptionPane.showMessageDialog(null, rightTable.getValueAt(</p><p>  selectedRow, 1)</p><p>  + " 結(jié)賬完成!", "

97、;友情提示", JOptionPane.INFORMATION_MESSAGE);// 彈出提示</p><p><b>  //</b></p><p>  rightTableModel.removeRow(selectedRow);// 從“開臺(tái)列表”中移除結(jié)賬餐臺(tái)</p><p>  leftTableDataV.remove

98、AllElements();// 清空“簽單列表”</p><p>  leftTableModel.setDataVector(leftTableDataV, leftTableColumnV);// 刷新“簽單列表”</p><p>  realWagesTextField.setText("0");// 清空“實(shí)收金額”文本框</p><p&g

99、t;  changeTextField.setText("0");// 清空“找零金額”文本框</p><p>  itemOfDeskV.remove(selectedRow);// 從數(shù)據(jù)集中移除結(jié)賬餐臺(tái)</p><p><b>  }</b></p><p><b>  });</b></p

100、><p><b>  第五章 總結(jié)</b></p><p>  前臺(tái)服務(wù)模塊作為酒店管理系統(tǒng)中為客戶服務(wù)的主要模塊,設(shè)計(jì)思想體現(xiàn)了整個(gè)系統(tǒng)分層分類的特點(diǎn)。以開單,點(diǎn)菜,簽單,結(jié)賬的流程來展現(xiàn)酒店管理中餐飲服務(wù),操作簡(jiǎn)單,易于上手,銷售統(tǒng)計(jì),后臺(tái)管理,人員管理等模塊更為管理員的使用提供了,安全,便捷的幫助。在系統(tǒng)的設(shè)計(jì)于實(shí)現(xiàn)中,組員之間互相探討認(rèn)真總結(jié)在程序過程中的錯(cuò)誤。

101、設(shè)計(jì)之初,我們希望通過一起合作,共同來用自己的所學(xué)寫出有一份作品。真正體驗(yàn)整個(gè)系統(tǒng)流程的編寫。為以后就業(yè)有所幫助。事實(shí)上對(duì)于我個(gè)人而言獲得遠(yuǎn)非如此,從全面,細(xì)節(jié)中感受到軟件開發(fā)的復(fù)雜和意義,也學(xué)會(huì)了如何運(yùn)用所學(xué)與實(shí)際應(yīng)用結(jié)合。</p><p>  三年的求學(xué)使我和同學(xué)學(xué)會(huì)用交流解決問題,用交流去互助合作,相信在也會(huì)在我的工作中讓我受益匪淺。在此感謝我的指導(dǎo)老師姜燕老師,從入學(xué)一直指引我們走向編程之路,并在java

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論