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