JAVA宾馆客房管理系统报告材料Word格式.docx
- 文档编号:21918390
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:34
- 大小:453.28KB
JAVA宾馆客房管理系统报告材料Word格式.docx
《JAVA宾馆客房管理系统报告材料Word格式.docx》由会员分享,可在线阅读,更多相关《JAVA宾馆客房管理系统报告材料Word格式.docx(34页珍藏版)》请在冰豆网上搜索。
员工信息管理
查询房间信息
客房使用情况
宾馆订房
宾馆退房
删除房间信息
信息
员工查询
员工添加
员工删除
修改房间信息
录入房间信息
整个系统分4个模块:
1.客房信息管理:
录入房间信息、修改房间信息、查询房间信息,删除房间信息.
2.客房经营管理:
客房使用情况、宾馆订房、客房预订、宾馆退房.
3.客户信息查询:
客户信息查询.
4.员工信息管理:
员工查询、员工添加、员工删除。
四、数据库设计
1.E-R图的分析:
E-R图的分析工作通常采用自底向下的设计方法,首先对局部视图进行分析设计,然后再实现视图集成。
宾馆客房管理系统一般包括如下几个表:
用户信息(UsersInfo)、客户信息(CustomersInfo)、客房类型(RoomCategory)、客房信息(RoomsInfo)、客房状态(RoomStatus)、客房业务(RoomOperation)、业务记录(History)。
他们之间关系如图1所示。
图1宾馆客房管理系统E-R图
2.创建表
(1)用户信息表
用户信息表(UsersInfo)用来保存使用该系统的酒店员工的基本信息,表UsersInfo的结构如表1所示。
表1用户信息表(UsersInfo)
编号
字段名称
数据结构
说明
1
UserId
Int
用户编号
2
Name
Varchar(50)
用户
3
Password
密码
4
Gender
性别(0-男,1-女)
5
Email地址
6
Address
通讯地址
7
Telephone
联系
8
Department
所在部门
9
Type
用户类型(1-酒店管理员,2-前台服务员
(2)客户信息表
客户信息表(CustomersInfo)用来保存在酒店订房的客户的基本信息,表CustomersInfo的结构如表2所示。
表2客户信息表(CustomersInfo)
CIdentityId
nVarchar(50)
号
CName
客户
CPhone
(3)客房类型表
客房类型表(RoomCategory)用来保存酒店所有客房类型的基本信息,表RoomCategory的结构如表3所示。
表3客房类型表(RoomCategory)
RCategoryId
客房类型编号
类型名称
Area
Float
客房面积
BedNum
配置床位
Price
Money
客房价格
AirCondition
配置空调(0-是,1-否)
TV
配置电视(0-是,1-否)
(4)客房信息表
客房信息表(RoomsInfo)用来保存酒店所有客房的相关信息,表RoomsInfo结构的如表4所示。
表4客房信息表(RoomsInfo)
RoomId
客房号
RPostition
客房位置
Description
描述
(5)客房状态表
客房状态表(RoomStatus)用来保存客房使用情况的基本信息,表RoomStatus结构的如表5所示。
表5客房状态表(RoomStatus)
客房编号
Status
状态(1-空房,2-入住)
(6)客房业务表
客房业务表(RoomOperation)用来保存目前酒店正有客户入住的客房的相关信息,表RoomOperation的结构如表6所示。
表6客房业务表(RoomOperation)
BeginTime
DateTime
入住时间
客户号
Remarks
备注
(7)业务记录表
业务记录表(History)用来保存酒店里所有入住过客户的客房的业务信息,表History的结构如表7所示。
表7业务记录表(History)
EndTime
退房时间
TotalPrice
金额
根据上面的E-R图和各表属性用PowerDesigner.v11软件可以很轻松地制作也一个宾馆客房数据库。
五.页面设计及相关代码分析
宾馆客房管理系统的页面由五部分组成:
●宾馆客房管理系统登陆界面的设计
●客房管理管理页面的设计
●客房经营管理页面的设计
●客户信息查询页面的设计
●员工信息管理页面的设计
1.宾馆客房管理系统登陆界面的设计
系统共分两类用户:
酒店管理员和前台服务员
当用户进入宾馆客房管理系统登陆界面后,首先需要进行身份验证,系统在验证通过后,将使用UserType变量记录其用户类型,并根据用户类型确定用户的使用权限。
宾馆客房管理系统登陆界面如图2所示。
现在给出登陆界面的主要代码如下:
/**简介:
宾馆客房管理系统登陆界面,应用数据库加密技术
*作者:
庞景中
*功能:
管理宾馆客房
*:
本人所有
*版本:
HoteLand1.0
*时间:
2008.11.13
*文件名:
HoteLand.java
*环境:
WindowsxpJDK6.0
*/
import.URL.*;
importjavax.swing.*;
importjavax.swing.ImageIcon;
importjavax.swing.JLabel;
importjava.sql.*;
importjava.awt.Container;
importjava.awt.GridLayout;
importjava.awt.FlowLayout;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JTextField;
importjavax.swing.JPasswordField;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.*;
publicclassHoteLandextendsJFrameimplementsActionListener{
privatebooleanboo1=false,boo2=false;
intType=0;
publicJTextField[]t={newJTextField("
用户名:
"
8),newJTextField(27),
newJTextField("
密码:
8),newJPasswordField(27),
newJTextField("
宾馆客房管理系统登陆界面--(组长:
庞景中队员:
自发陆钧洋)"
36),
后台技术:
应用数据库加密技术--安全保护你的信息!
请放心使用!
功能:
管理宾馆客房:
本人所有时间:
2008.12.7"
36)};
publicJButton[]b={newJButton("
登陆"
),newJButton("
退出"
)};
ImageIconic=newImageIcon(HoteLand.class.getResource("
/迪拜七星级酒店.jpg"
));
JFrameapp;
Statementstatement;
//构造方法
publicHoteLand(){
app=newJFrame("
--宾馆客房管理系统登陆界面--"
);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(438,583);
app.setResizable(false);
Containerc=app.getContentPane();
c.setLayout(newFlowLayout());
JLabelaLabel=newJLabel(ic,JLabel.LEFT);
t[0].setFont(newFont("
TimesRoman"
Font.BOLD,13));
t[0].setForeground(Color.red);
t[0].setEditable(false);
t[2].setFont(newFont("
t[2].setForeground(Color.red);
t[2].setEditable(false);
for(inti=0;
i<
4;
i++)
c.add(t[i]);
c.add(b[0]);
c.add(b[1]);
for(intj=4;
j<
7;
j++)
{
c.add(t[j]);
t[j].setFont(newFont("
t[j].setForeground(Color.blue);
t[j].setEditable(false);
}
c.add(aLabel);
t[0].addActionListener(this);
t[2].addActionListener(this);
b[0].addActionListener(this);
b[1].addActionListener(this);
app.setVisible(true);
}
//消息响应方法
publicvoidactionPerformed(ActionEvente){
JButtonsource=(JButton)e.getSource();
//如果单击"
按键,执行StudentManager程序,该部分应用到数据库加密技术
if(source==b[0]){
try{
//基于SQLServer2000的JDBC-ODBC桥数据库连接(先要创建一个数据源lib)
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
//使用网络登录ID的WindowsNT验证(W)
Connectionconn=DriverManager.getConnection("
jdbc:
odbc:
宾馆客户数据库"
statement=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
Strings1=t[1].getText();
Strings2=t[3].getText();
ResultSetresultset=statement.executeQuery("
select*fromUsersInfowhereName='
+s1+"
'
andPassword='
+s2+"
resultset.next();
Type=resultset.getInt("
Type"
if(resultset!
=null){
boo1=boo2=true;
resultset.close();
}
}
catch(Exceptione1){
JOptionPane.showMessageDialog(this,"
用户名和密码不正确!
"
警告"
JOptionPane.WARNING_MESSAGE);
}
//如果输入的用户名和密码都正确,则登陆
if(boo1&
&
boo2&
Type==1){
Type=0;
boo1=boo2=true;
newHoteMen(statement,"
普通员工--"
+t[1].getText());
app.setVisible(false);
}
Type==2){
newHotelManagerMen(statement,"
管理员--"
//newStudentManager();
app.setVisible(false);
按键,则退出登陆界面
if(source==b[1]){
System.exit(0);
publicstaticvoidmain(Stringargs[]){
newHoteLand();
}
2.客房管理管理页面的设计
客房管理管理页面主要是负责所有客房信息的维护。
其中功能主要包括:
录入客房信息,修改客房信息,查询客房信息,删除客房信息。
他们的界面如3图所示。
图3客房管理管理页面
现在给出客房管理界面的主要代码如下:
importjava.awt.event.*;
importjava.io.*;
importjava.util.*;
publicclassAddRoomsextendsJPanelimplementsActionListener
{
Hashtable基本信息表=null;
JTextField房间号,房间位置;
JTextArea描述;
JButton录入,重置;
Choice房间类型;
Statementstatement=null;
JLabel添加客房信息=null;
publicAddRooms(Statementstatement)
this.statement=statement;
房间号=newJTextField(10);
房间位置=newJTextField(10);
描述=newJTextArea(7,10);
录入=newJButton("
录入"
重置=newJButton("
重置"
录入.addActionListener(this);
重置.addActionListener(this);
Boxbox0=Box.createHorizontalBox();
添加客房信息=newJLabel("
--添加客房信息--"
JLabel.CENTER);
添加客房信息.setFont(newFont("
Font.BOLD,25));
添加客房信息.setForeground(Color.red);
box0.add(添加客房信息);
Boxbox1=Box.createHorizontalBox();
box1.add(newJLabel("
房间号:
JLabel.CENTER));
box1.add(房间号);
房间类型=newChoice();
房间类型.add("
普通单人间"
普通双人间"
vip单人间"
vip双人间"
豪华贵宾间"
总统套间"
Boxbox2=Box.createHorizontalBox();
box2.add(newJLabel("
房间类型:
box2.add(房间类型);
Boxbox3=Box.createHorizontalBox();
box3.add(newJLabel("
房间位置:
box3.add(房间位置);
Boxbox4=Box.createHorizontalBox();
box4.add(newJLabel("
单价:
box4.add(newJScrollPane(描述),BorderLayout.CENTER);
BoxboxH=Box.createVerticalBox();
boxH.add(box0);
boxH.add(box1);
boxH.add(box2);
boxH.add(box3);
boxH.add(box4);
boxH.add(Box.createVerticalGlue());
JPanelpCenter=newJPanel();
pCenter.add(boxH);
setLayout(newBorderLayout());
add(pCenter,BorderLayout.CENTER);
JPanelpSouth=newJPanel();
pSouth.add(录入);
pSouth.add(重置);
add(pSouth,BorderLayout.SOUTH);
validate();
publicvoidactionPerformed(ActionEvente)
ResultSetresultset=null;
booleanboo=false;
if(e.getSource()==录入)
intnumber=0;
number=Integer.parseInt(房间号.getText().toString());
boo=true;
catch(Exceptione1){
boo=false;
if(boo&
(number>
0))
try{
resultset=statement.executeQuery("
use宾馆客户数据库;
select*fromRoomsInfowhereRoomId='
+number+"
resultset.getInt("
RoomId"
Stringwarning="
该客房信息已存在,请到修改页面修改!
;
JOptionPa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 宾馆 客房 管理 系统 报告 材料