基于C/S架构的酒店餐饮管理的设计与实现
2015-03-30姜新
姜新
摘 要:随着人民生活的水平的日益提高,人们消费观念的改变也带来了餐饮业的巨大发展。跟随时代的改变,计算机简单、快捷、高效、准确的特性也受到推崇,在各行各业迅速发展壮大起来。在餐饮行业中,以快餐业为首,早就实行了点菜、结算的自动化。因此许多公司都陆续推出了餐饮管理系统。正是因为如此,设计与实现了基于C/S架构的酒店餐饮的管理,以信息化高科技化为目标,最大化的降低操作难度,最大化的降低人力物力,对整个酒店的餐饮起到了一个科技化管理的目的。
关键词:C/S架构 数据库 表 餐饮
中图分类号:TP393 文献标识码:A 文章编号:1672-3791(2014)12(c)-0131-02
随着我国国民经济的稳定增长,更加注重餐饮业的服务质量和效率。餐饮业在未来几年内将始终保持一个高速的发展速度,餐饮业的竞争也将也来得越激烈。商家想要在竞争中处于不败之地,必须在服务质量、服务效率的方面提高水平。设计出一套高效率的酒店餐饮管理系统是很有意义的,是适合现代人们消费观念的。该系统是在管理信息系统的理论和指导方法下,数据库支持下完成的。该系统的应用可以减轻工作人员的劳动强度,提高工作效率和管理水平,具有很大的使用价值。它可以使现阶段业务操作简单,使酒店餐饮的管理工作向一个新的层次迈进。通过认真地思考,完全可以用计算机管理酒店。此系统为餐饮管理规范化,提高餐饮管理效率,增加收入,方便处理新老客户的预定要求,管理新老顾客的信息,管理酒店的菜单、食品等发挥不可替代的作用。还可以极大的减少错误的发生。避免无法估计的不必要的损失,大大的提高了工作人员的效率。此系统可以提高酒店餐饮的服务水平,节省大量人力、物力和财力。
1 相关工具简介
1.1 C/S架构简介
C/S结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
1.2 MVC模式简介
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC开始是存在于桌面程序中的,M是指数据模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型-视图-控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,已被广泛使用。
1.3 myeclipse简介
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java,J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX,JSP,JSF,Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
2 C/S架构的酒店餐饮管理的结构
该酒店餐饮系统以信息化和高科技化为目标,最大化的降低操作难度,最大化的降低人力物力,对整个酒店的餐饮起到一个科技化管理的目的。系统主要分为五大模块:前台服务,赋存管理,财务管理,营业分析和后台管理。该软件的最终用户为各大酒店以及有点规模的餐饮公司,一般用户只需懂得计算机基本操作、具备文字录入能力。相对维护人员应具备一定的计算机专业知识,了解数据库系统的管理与维护,能排除一般计算机故障。(见图1)
3 数据库的设计与实现
3.1 数据库的选择和工具使用
选择使用oracle11g数据库。使用PLsql工具来操作oracle数据库。使用Power Designd12来进行数据库的设计。
3.2 数据库建表
通过三大范式设计数据库,一共建立了8张表。分别是顾客表Consumer,折扣率表Discount,订单表Expense,食品表Food,记账表KeepAccount,商品表Product,坐台表Ttable,用户表UserInfo。在确立每一个表之间的具体关系。
例如建立最主要的表订单表:
create table Expense (endprint
O_ID NUMBER not null,
-- 订单消费编号
C_ID NUMBER,--顾客编号
T_ID VARCHAR2(100),--桌台号
F_IDs VARCHAR2(100),--菜品号
P_IDs VARCHAR2(100),--商品号
pre_Date DATE,--预定日期
use_Date DATE,--消费日期
U_ID NUMBER,--收银员编号
O_VIP VARCHAR2(10),--是否会员
E_type VARCHAR2(10),--结账类型
E_total FLOAT,--消费金额
E_State VARCHAR2(10),--结账状态
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)
);
为表中添加数据:
例如为员工添加不同身份的数据以便测试:
insert into userinfo values(2,'王二','123','收银员',1);
insert into userinfo values(3,'李三','123','经理',2);
insert into userinfo values(5,'刘五','123','管理员',3);
3.3 程序连接数据库
在程序中为了提高灵活性,方便修改,使用了配置文件config.properties。
在java写程序方面,通过创建JDBCConnect类来统一连操作数据。
public class JDBCConnect
读取配置文件获得连接:public static void loadProperties(){...}
获取连接结果的方法:public static Connection getConnection(){...}
获取命令结果的方法:public static Statement getStatement(){...}
获取预编译结果的方法:public static PreparedStatement getPreparedStatement(String sql){...}
获取查询结果集的方法:public static ResultSet getResultSet(String sql){...}
关闭资源:public static void Close(){...}
4 界面实现
在登入页面,具体在登入时设计了身份的限制。分为收银员、经理和管理员。不同的身份登入进去后会有相应不同的功能。这样避免了一些重要数据丢失或者被篡改。这三种身份有着不同的身份标示,在数据库中分别以LIMIT标示1、2、3来进行具体的区分。登入之后就会进入整个系统的操作页面,所有的功能都显示在其上。但是不同的身份登入到系统之后,虽然显示的内容是一样的,但是并没有权限去点击和进入。整个系统的布局分为上、左和右下。上边和左边显示了具体的功能选项,然后在右下边的大区域里对用户所选择的操作进行页面的切换,并实时地更新。这里就以系统首页为例。(见图2)
5 结语
通过对基于C/S架构的酒店餐饮管理的设计与实现进行了测试。测试结论是虽然在智能性上不够优化,但是基本实现了管理系统的功能需求。整个系统基本满足了最开始所预想的功能,实现了所期待的的内容。
总的来说,虽然系统满足了基本功能需求,但是,还是在某些方面存在不足,有待进一步完善。
参考文献
[1] 孟德欣.oracle 10g数据库技术[M].北京:清华大学出版社,2010.
[2] 耿祥义,张跃平.JAVA设计模式[M].北京:清华大学出版社,2009.
[3] 贺湘辉,徐文宛.酒店餐饮管理实务[M].广州:广东经济出版社,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].北京:机械工业出版社,2010.endprint