姜新
摘 要:隨著人民生活的水平的日益提高,人們消費(fèi)觀念的改變也帶來(lái)了餐飲業(yè)的巨大發(fā)展。跟隨時(shí)代的改變,計(jì)算機(jī)簡(jiǎn)單、快捷、高效、準(zhǔn)確的特性也受到推崇,在各行各業(yè)迅速發(fā)展壯大起來(lái)。在餐飲行業(yè)中,以快餐業(yè)為首,早就實(shí)行了點(diǎn)菜、結(jié)算的自動(dòng)化。因此許多公司都陸續(xù)推出了餐飲管理系統(tǒng)。正是因?yàn)槿绱耍O(shè)計(jì)與實(shí)現(xiàn)了基于C/S架構(gòu)的酒店餐飲的管理,以信息化高科技化為目標(biāo),最大化的降低操作難度,最大化的降低人力物力,對(duì)整個(gè)酒店的餐飲起到了一個(gè)科技化管理的目的。
關(guān)鍵詞:C/S架構(gòu) 數(shù)據(jù)庫(kù) 表 餐飲
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2014)12(c)-0131-02
隨著我國(guó)國(guó)民經(jīng)濟(jì)的穩(wěn)定增長(zhǎng),更加注重餐飲業(yè)的服務(wù)質(zhì)量和效率。餐飲業(yè)在未來(lái)幾年內(nèi)將始終保持一個(gè)高速的發(fā)展速度,餐飲業(yè)的競(jìng)爭(zhēng)也將也來(lái)得越激烈。商家想要在競(jìng)爭(zhēng)中處于不敗之地,必須在服務(wù)質(zhì)量、服務(wù)效率的方面提高水平。設(shè)計(jì)出一套高效率的酒店餐飲管理系統(tǒng)是很有意義的,是適合現(xiàn)代人們消費(fèi)觀念的。該系統(tǒng)是在管理信息系統(tǒng)的理論和指導(dǎo)方法下,數(shù)據(jù)庫(kù)支持下完成的。該系統(tǒng)的應(yīng)用可以減輕工作人員的勞動(dòng)強(qiáng)度,提高工作效率和管理水平,具有很大的使用價(jià)值。它可以使現(xiàn)階段業(yè)務(wù)操作簡(jiǎn)單,使酒店餐飲的管理工作向一個(gè)新的層次邁進(jìn)。通過(guò)認(rèn)真地思考,完全可以用計(jì)算機(jī)管理酒店。此系統(tǒng)為餐飲管理規(guī)范化,提高餐飲管理效率,增加收入,方便處理新老客戶的預(yù)定要求,管理新老顧客的信息,管理酒店的菜單、食品等發(fā)揮不可替代的作用。還可以極大的減少錯(cuò)誤的發(fā)生。避免無(wú)法估計(jì)的不必要的損失,大大的提高了工作人員的效率。此系統(tǒng)可以提高酒店餐飲的服務(wù)水平,節(jié)省大量人力、物力和財(cái)力。
1 相關(guān)工具簡(jiǎn)介
1.1 C/S架構(gòu)簡(jiǎn)介
C/S結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client端和Server端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問(wèn)新的和現(xiàn)有的應(yīng)用系統(tǒng),通過(guò)現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。
1.2 MVC模式簡(jiǎn)介
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫(xiě),一種軟件設(shè)計(jì)典范,用于組織代碼用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離的方法,這個(gè)方法的假設(shè)前提是如果業(yè)務(wù)邏輯被聚集到一個(gè)部件里面,而且界面和用戶圍繞數(shù)據(jù)的交互能被改進(jìn)和個(gè)性化定制而不需要重新編寫(xiě)業(yè)務(wù)邏輯MVC被獨(dú)特的發(fā)展起來(lái)用于映射傳統(tǒng)的輸入、處理和輸出功能在一個(gè)邏輯的圖形化用戶界面的結(jié)構(gòu)中。MVC開(kāi)始是存在于桌面程序中的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)可以分別用柱狀圖、餅圖來(lái)表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。模型-視圖-控制器(MVC)是Xerox PARC在二十世紀(jì)八十年代為編程語(yǔ)言Smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,已被廣泛使用。
1.3 myeclipse簡(jiǎn)介
MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse 是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)Java,J2EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持Java Servlet,AJAX,JSP,JSF,Struts,Spring, Hibernate,EJB3,JDBC數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能??梢哉f(shuō)MyEclipse幾乎囊括了目前所有主流開(kāi)源產(chǎn)品的專屬eclipse開(kāi)發(fā)工具。
2 C/S架構(gòu)的酒店餐飲管理的結(jié)構(gòu)
該酒店餐飲系統(tǒng)以信息化和高科技化為目標(biāo),最大化的降低操作難度,最大化的降低人力物力,對(duì)整個(gè)酒店的餐飲起到一個(gè)科技化管理的目的。系統(tǒng)主要分為五大模塊:前臺(tái)服務(wù),賦存管理,財(cái)務(wù)管理,營(yíng)業(yè)分析和后臺(tái)管理。該軟件的最終用戶為各大酒店以及有點(diǎn)規(guī)模的餐飲公司,一般用戶只需懂得計(jì)算機(jī)基本操作、具備文字錄入能力。相對(duì)維護(hù)人員應(yīng)具備一定的計(jì)算機(jī)專業(yè)知識(shí),了解數(shù)據(jù)庫(kù)系統(tǒng)的管理與維護(hù),能排除一般計(jì)算機(jī)故障。(見(jiàn)圖1)
3 數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)
3.1 數(shù)據(jù)庫(kù)的選擇和工具使用
選擇使用oracle11g數(shù)據(jù)庫(kù)。使用PLsql工具來(lái)操作oracle數(shù)據(jù)庫(kù)。使用Power Designd12來(lái)進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì)。
3.2 數(shù)據(jù)庫(kù)建表
通過(guò)三大范式設(shè)計(jì)數(shù)據(jù)庫(kù),一共建立了8張表。分別是顧客表Consumer,折扣率表Discount,訂單表Expense,食品表Food,記賬表KeepAccount,商品表Product,坐臺(tái)表Ttable,用戶表UserInfo。在確立每一個(gè)表之間的具體關(guān)系。
例如建立最主要的表訂單表:
create table Expense (endprint
O_ID NUMBER not null,
-- 訂單消費(fèi)編號(hào)
C_ID NUMBER,--顧客編號(hào)
T_ID VARCHAR2(100),--桌臺(tái)號(hào)
F_IDs VARCHAR2(100),--菜品號(hào)
P_IDs VARCHAR2(100),--商品號(hào)
pre_Date DATE,--預(yù)定日期
use_Date DATE,--消費(fèi)日期
U_ID NUMBER,--收銀員編號(hào)
O_VIP VARCHAR2(10),--是否會(huì)員
E_type VARCHAR2(10),--結(jié)賬類型
E_total FLOAT,--消費(fèi)金額
E_State VARCHAR2(10),--結(jié)賬狀態(tài)
O_Ps VARCHAR2(100),--備注
constraint PK_EXPENSE primary key (O_ID)
);菜品表:
create table Food (
F_ID VARCHAR2(10) not null,--菜品編號(hào)
F_Name VARCHAR2(20),--菜品名
F_Price FLOAT,--菜品價(jià)格
F_discr VARCHAR2(100),--菜品描述
constraint PK_FOOD primary key (F_ID)
);記賬表:
create table KeepAccount (
K_ID NUMBER not null,--記賬單號(hào)
C_ID NUMBER,--顧客號(hào)
K_Total FLOAT,--記賬總金額
constraint PK_KEEPACCOUNT primary key (K_ID)
);
為表中添加數(shù)據(jù):
例如為員工添加不同身份的數(shù)據(jù)以便測(cè)試:
insert into userinfo values(2,'王二','123','收銀員',1);
insert into userinfo values(3,'李三','123','經(jīng)理',2);
insert into userinfo values(5,'劉五','123','管理員',3);
3.3 程序連接數(shù)據(jù)庫(kù)
在程序中為了提高靈活性,方便修改,使用了配置文件config.properties。
在java寫(xiě)程序方面,通過(guò)創(chuàng)建JDBCConnect類來(lái)統(tǒng)一連操作數(shù)據(jù)。
public class JDBCConnect
讀取配置文件獲得連接:public static void loadProperties(){...}
獲取連接結(jié)果的方法:public static Connection getConnection(){...}
獲取命令結(jié)果的方法:public static Statement getStatement(){...}
獲取預(yù)編譯結(jié)果的方法:public static PreparedStatement getPreparedStatement(String sql){...}
獲取查詢結(jié)果集的方法:public static ResultSet getResultSet(String sql){...}
關(guān)閉資源:public static void Close(){...}
4 界面實(shí)現(xiàn)
在登入頁(yè)面,具體在登入時(shí)設(shè)計(jì)了身份的限制。分為收銀員、經(jīng)理和管理員。不同的身份登入進(jìn)去后會(huì)有相應(yīng)不同的功能。這樣避免了一些重要數(shù)據(jù)丟失或者被篡改。這三種身份有著不同的身份標(biāo)示,在數(shù)據(jù)庫(kù)中分別以LIMIT標(biāo)示1、2、3來(lái)進(jìn)行具體的區(qū)分。登入之后就會(huì)進(jìn)入整個(gè)系統(tǒng)的操作頁(yè)面,所有的功能都顯示在其上。但是不同的身份登入到系統(tǒng)之后,雖然顯示的內(nèi)容是一樣的,但是并沒(méi)有權(quán)限去點(diǎn)擊和進(jìn)入。整個(gè)系統(tǒng)的布局分為上、左和右下。上邊和左邊顯示了具體的功能選項(xiàng),然后在右下邊的大區(qū)域里對(duì)用戶所選擇的操作進(jìn)行頁(yè)面的切換,并實(shí)時(shí)地更新。這里就以系統(tǒng)首頁(yè)為例。(見(jiàn)圖2)
5 結(jié)語(yǔ)
通過(guò)對(duì)基于C/S架構(gòu)的酒店餐飲管理的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了測(cè)試。測(cè)試結(jié)論是雖然在智能性上不夠優(yōu)化,但是基本實(shí)現(xiàn)了管理系統(tǒng)的功能需求。整個(gè)系統(tǒng)基本滿足了最開(kāi)始所預(yù)想的功能,實(shí)現(xiàn)了所期待的的內(nèi)容。
總的來(lái)說(shuō),雖然系統(tǒng)滿足了基本功能需求,但是,還是在某些方面存在不足,有待進(jìn)一步完善。
參考文獻(xiàn)
[1] 孟德欣.oracle 10g數(shù)據(jù)庫(kù)技術(shù)[M].北京:清華大學(xué)出版社,2010.
[2] 耿祥義,張躍平.JAVA設(shè)計(jì)模式[M].北京:清華大學(xué)出版社,2009.
[3] 賀湘輝,徐文宛.酒店餐飲管理實(shí)務(wù)[M].廣州:廣東經(jīng)濟(jì)出版社,2011.
[4] Shaw M,Garlan D.Software Architecture:perspectives on an emerging discipline[M].Hemel Hempstead:Prentice Hall International Inc,2010.
[5] Len Bass,et al.Software Architecture in Practice[M].New Jersey:Addison Wesley,2010.
[6] Bruce Eckel.Thinking in Java Fourth Edition[M].北京:機(jī)械工業(yè)出版社,2010.endprint