宾馆客房管理系统报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1)研究内容
本系统根据宾馆的业务情况该系统可分客房信息管理、客房经营管理、客户信息查询、员工信息管理4个功能模块。
2)实验方案
根据课题的具体要求,可以将宾馆客房管理系统大体结构图示为如下:
整个系统分4个模块:
1.客房信息管理:录入房间信息、修改房间信息、查询房间信息, 删除房间信息.
2.客房经营管理:客房使用情况、宾馆订房、客房预订、宾馆退房. 3.客户信息查询:客户信息查询.
4.员工信息管理:员工查询、员工添加、员工删除。
四、数据库设计
1.E-R图的分析:
E-R图的分析工作通常采用自底向下的设计方法,首先对局部视图进行分析设计,然后再实现视图集成。宾馆客房管理系统一般包括如下几个表:用户信息(UsersInfo)、客户信息(CustomersInfo)、客房类型(RoomCategory)、客房信息(RoomsInfo)、客房状态(RoomStatus)、客房业务(RoomOperation)、业务记录(History)。他们之间关系如图1所示。
图1 宾馆客房管理系统E-R图
2. 创建表
(1) 用户信息表
编号字段名称数据结构说明1UserId Int服务员编号
2Name nchar(6)服务员姓名
3Password Varchar(50)密码
4Gender Int性别(0-男,1-女)
(2) 客户信息表
(3) 客房信息表
(4) 客户订单表
(5)VIP折扣表
五.页面设计及相关代码分析
宾馆客房管理系统的页面由五部分组成:
●宾馆客房管理系统登陆界面的设计
●客房管理管理页面的设计
●客房经营管理页面的设计
●客户信息查询页面的设计
●员工信息管理页面的设计
1.宾馆客房管理系统登陆界面的设计
系统共分两类用户:酒店管理员和前台服务员
当用户进入宾馆客房管理系统登陆界面后,首先需要进行身份验证,系统在验证通过后,将使用UserType变量记录其用户类型,并根据用户类型确定用户的使用权限。宾馆客房管理系统登陆界面如下2所示。
现在给出登陆界面的主要代码如下:
import .URL.*;
import javax.swing.*;
import java.sql.*;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.FlowLayout;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
public class HoteLand extends JFrame implements ActionListener {
private boolean boo1 = false, boo2 = false;
int Type = 0;
public JTextField[] t = { new JTextField("用户名:", 6), new JTextField(20), new JTextField("密码:", 6), new JPasswordField(20) };
public JButton[] b = { new JButton("登陆"), new JButton("退出") };
ImageIcon ic = new ImageIcon(HoteLand.class.getResource("/hotel.jpg"));
JFrame app;
Statement statement;
// 构造方法
public HoteLand() {
app = new JFrame("宾馆客房管理系统登陆界面");
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(350, 345);
app.setLocation(500, 100);
app.setResizable(false);
Container c = app.getContentPane();
c.setLayout(new FlowLayout());
JLabel Label = new JLabel(ic, JLabel.LEFT);
t[0].setFont(new Font("TimesRoman", Font.BOLD, 13));
t[0].setForeground(Color.red);
t[0].setEditable(false);
t[2].setFont(new Font("TimesRoman", Font.BOLD, 13));
t[2].setForeground(Color.red);