随着社会经济的发展,酒店在服务行业扮演越来越重要的角色,在酒店运作期间,其管理和服务水平直接影响到酒店的形象和声誉。为提高其自身的管理水平,加强竞争能力,提高经济效率,笔者在对酒店的日常运作进行综合调查的基础上设计并实现了一套酒店管理系统。该系统为管理者提供迅速高效的服务,减免了手工处理的繁琐与误差,提高管理者获取信息、分析、利用信息的能力。

1相关技术

1.1Java

Java是一种简单的、面象对象的、安全的、可移植性强的、性能优异的多线程编程语言。Java能运行于不同的平台,使用Java编写的程序能在世界范围内共享。Java的编程类似C++,但比C++安全,Java对程序提供了安全管理器,防止程序的非法访问。另外,Java还提供丰富的类库,使程序设计者开发程序更加方便而高效。同时JavaServlet/Jsp技术的推出,让Java成为基于Web的应用程序,成为实现Internet电子商务系统的首选语言。

1.2JDBC访问数据库技术

JDBC是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序。而且,JDBCAPI是面向对象的,可以让用户把常用的方法封装为一个类。

2系统功能模块

本系统主要包含6大功能模块:前台服务、后台管理、销售统计、系统安全、人员管理、初始化系统。前台服务模块具有开台点菜、维护菜品、签单、结账等功能,其中维护菜品功能包括添加和取消菜品,能够取消菜品的前提条件是处于开单状态,结账时则要求所有商品都要签单;后台管理模块主要包括台号管理、菜系管理和菜品管理功能;销售统计模块用来分段统计营业额,可以按日、月和年进行统计;系统安全模块主要包括交接班、锁定系统和修改密码功能,其中交接班功能在操作员换岗时使用,锁定系统在操作员临时离开时使用;人员管理模块主要包括档案管理、管理员管理和操作权限管理功能,其中管理员管理功能用来管理系统的操作员,权限管理功能用来管理系统操作员具有的操作权限;初始化系统功能用来对系统进行初始化,初始化后系统数据将全部被删除。根据6大功能模块,我们设计出系统运行的流程图如图1所示。

3数据库设计

根据酒店业务流程分析,酒店需要对台号,人员,菜系,菜品等进行管理。人员分为超级管理员和一般管理员,通过给管理员赋权限来对系统进行管理。根据需求我们定义了台号、管理员、管理员档案、菜系、菜品、记录条目和记录统计等数据对象。本系统是以MySQL作为后台数据库,每个表格都表示数据库中的一张表。我们以菜品信息表(tb_menu)为例,此表是用来存储各大菜系所包含什么菜品,及各菜品的详细信息,其结构如表1所示。数据库操作是每个信息系统必做的部分,也是非常重要的部分。在这个系统中我们用JDBC技术连接数据库。在JDBC类里面我们定义连接数据库的配置参数,编写实现了连接数据库的方法getConnection()和与数据库断开连接的方法closeConnection()。

4系统典型功能模块的设计与实现

我们以前台服务模块和销售统计模块为例来说明。

4.1前台服务模块的实现

该模块主要包括开台点菜、维护菜品、签单、结账等功能。首先,登录界面包括标题,登录图像,用户名和密码输入框。登录动作的实现:登录时去访问数据库中的tb_manager数据表,查看其中是否有记录,如果有记录,则判断输入的用户名和密码是否在数据表中存在,如存在就进入系统主页面,如不存在,则通过显示信息框让用户使用系统默认用户登录。主界面包括签单列表版块、开台列表版块、开台点菜信息框、结账信息版块、功能按钮版块、系统时间、操作员信息版块和功能列表版块等。图2为开台点菜信息版块。

4.2销售统计模块的实现

该模块用来分段统计营业额,可以按日、月和年进行统计,其中日统计是按消费单和销售的商品统计销售额,月统计是按日期和每日的销售额统计销售额,年统计是按日期和月份统计销售额。日销售统计:通过Dao类执行查询语句“"select*fromtb_order_formwhereconsume_datebetween'"+date+"00:00:00'and'"+date+"23:59:59'"”来查询在全天的销售记录。

执行查询语句“"select*fromtb_order_itemitemjointb_menumenuwhereitem.menu_num=menu.numandorder_form_num='"+num+"'"”来查询全天销售的所有记录的详细信息。最后把查询结果显示到创建的日销售统计表中。

月销售统计:定义月销售统计类MonthDialog,在该类中定义一个String数组values来存储查询结果,再把String数组里的数据回写到已经创建好的月销售统计表中,调用Dao类的monthCheckOut(String)方法进行查询开台总数,消费总额,平均消费,最大消费额,最小消费额等数据,最后再把查询的结果赋给String数组values。年销售统计:定义一个年销售统计类YearDialog,在该类中执行dao.yearCheckOut(year)方法查询全年的销售记录,再把查询的结果填写到年销售统计表中。

5结束语

该酒店管理系统应用对象广阔、平台先进可靠,基于角色的权限管理体系,确保了系统安全可靠,并且该系统界面友好,易于优化、易于扩充、可移植性强,得到了试用者的广泛好评。