收藏 分享(赏)

JAVA宾馆客房管理系统报告.doc

上传人:精品资料 文档编号:10580352 上传时间:2019-12-02 格式:DOC 页数:30 大小:675.50KB
下载 相关 举报
JAVA宾馆客房管理系统报告.doc_第1页
第1页 / 共30页
JAVA宾馆客房管理系统报告.doc_第2页
第2页 / 共30页
JAVA宾馆客房管理系统报告.doc_第3页
第3页 / 共30页
JAVA宾馆客房管理系统报告.doc_第4页
第4页 / 共30页
JAVA宾馆客房管理系统报告.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、成绩评阅人评阅日期计算机科学与技术系数据库课程设计设计题目:宾馆客房管理系统 班 级: 计算机 06-1学 号: 06034050126姓 名: 庞 景 中 指导老师: 朱 兴 统 2008 年 12 月 25 日1目录目录 .1课程设计题目:宾馆客房管理系统. 2一选题的依据及课题的意义 .2二、系统需求分 .2三、研究内容及实验方案 .3四、数据库设计 .4五页面设计及相关代码分析 .7六、使用说明 .27七、实验总结 .27八、主要参考文献 .282课程设计题目:宾馆客房管理系统一、 选题的依据及课题的意义随着宾馆酒店业竞争的加剧,宾馆之间客源的争夺越来越激烈 ,宾馆需要使用更有效的信息

2、化手段,拓展经营空间,降低运营成本,提高管理和决策效率. 传统的宾馆酒店计算机管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能.但传统的宾馆酒店管理系统基于财务管理为主线的设计理念,无法满足宾馆酒店全面信息化管理的需要. 现代宾馆酒店业迅速发展,新的管理观念与模式层出不穷 .宾客客房管理系统亦随着宾馆管理理念的发展而发展.宾馆客房管理系统依照国家星级宾馆标准化业务程序,采用了先进的数据库理论,多媒体技术,软件工程理念等,从基层,中层,高层三个管理者层次为切入点,以成本分析, 预测,控制为主线, 形成一套上下贯通,

3、操作便捷的酒店系统解决方案,科学地将宾馆各种日常业务完美的结合在一起,为管理及决策提供了强有力的支持 .其对客人个性化服务及全面彻底的信息化,使企业电算化管理水平提升到一个新的更高层次 .提供大量丰富的基于企业管理经营过程中实际的数据。二、系统需求分析本系统设计实现的目标是对宾馆的客房管理、客户信息管理和餐厅服务管理功能,前台用java实现对数据的添加,删除,查询等功能,在后台用Sql server作为数据库,其中数据库设计是用PowerDesigner.v11软件设计的。本系统就是利用计算机信息提高了餐馆宾馆的管理水平,主要对系统的操作员权限、菜收银客房、客户等信息管理。系统操作权限管理可以

4、实现对操作员的添加、删除、修改操作,并设置操作员对指定用户进行密码修改。3宾馆的信息量大,数据安全性和保密性要求高。本系统实现对宾馆信息的管理和总体的统计等,营业信息的查看和维护。操作管理人员可以浏览,查询,添加,删除等宾馆的基本信息等。本系统基本包含了宾馆管理的主要需求,具有完善细致的功能:1)系统具有高可靠性、安全性、操作性;2)模块化结构,具有强大的数据处理功能,可根据业务需要,十分便捷地进行模块增减,灵活地进行系统组合;3)直观的图形用户界面,面向事务处理。随心所欲的查询,并全面支持分析和决策的功能。三、研究内容及实验方案1)研究内容本系统根据宾馆的业务情况该系统可分客房信息管理、客房

5、经营管理、客户信息查询、员工信息管理 4 个功能模块。2)实验方案根据课题的具体要求,可以将宾馆客房管理系统大体结构图示为如下:宾馆客房管理系统系统管理(用户登陆)客房信息管理 客房经营管理 客户信息查询 员工信息管理查询房间信息 客房使用情况宾馆订房 宾馆退房删除房间信息信息客户信息查询员工查询 员工添加 员工删除修改房间信息录入房间信息4整个系统分 4 个模块:1客房信息管理:录入房间信息、修改房间信息、查询房间信息, 删除房间信息.2客房经营管理:客房使用情况、宾馆订房、客房预订、宾馆退房.3客户信息查询:客户信息查询.4员工信息管理:员工查询、员工添加、员工删除。四、数据库设计1.E-

6、R 图的分析:E-R 图的分析工作通常采用自底向下的设计方法,首先对局部视图进行分析设计,然后再实现视图集成。宾馆客房管理系统一般包括如下几个表:用户信息(UsersInfo)、客户信息(CustomersInfo)、客房类型 (RoomCategory)、客房信息(RoomsInfo)、客房状态(RoomStatus)、客房业务(RoomOperation)、业务记录(History) 。他们之间关系如图 1 所示。5图 1 宾馆客房管理系统 E-R 图2. 创建表(1) 用户信息表用户信息表(UsersInfo) 用来保存使用该系统的酒店员工的基本信息,表 UsersInfo 的结构如表

7、1 所示。表 1 用户信息表(UsersInfo)编 号 字 段 名 称 数 据 结 构 说 明1 UserId Int 用户编号2 Name Varchar(50) 用户姓名3 Password Varchar(50) 密码4 Gender Int 性别(0男,1女)5 Email Varchar(50) Email 地址6 Address Varchar(50) 通讯地址7 Telephone Varchar(50) 联系电话68 Department Varchar(50) 所在部门9 Type Int用户类型(1酒店管理员,2前台服务员(2) 客户信息表客户信息表(CustomersI

8、nfo)用来保存在酒店订房的客户的基本信息,表 CustomersInfo的结构如表 2 所示。表 2 客户信息表(CustomersInfo)编 号 字 段 名 称 数 据 结 构 说 明1 CIdentityId nVarchar(50) 身份证号2 CName nVarchar(50) 客户姓名3 CPhone nVarchar(50) 联系电话(3) 客房类型表客房类型表(RoomCategory)用来保存酒店所有客房类型的基本信息,表 RoomCategory的结构如表 3 所示。表 3 客房类型表 (RoomCategory)编 号 字 段 名 称 数 据 结 构 说 明1 RCa

9、tegoryId Int 客房类型编号2 Name nVarchar(50) 类型名称3 Area Float 客房面积4 BedNum Int 配置床位5 Price Money 客房价格6 AirCondition Int 配置空调(0是,1否)7 TV Int 配置电视(0是,1否)(4) 客房信息表客房信息表(RoomsInfo)用来保存酒店所有客房的相关信息,表 RoomsInfo 结构的如表4 所示。表 4 客房信息表(RoomsInfo)编 号 字 段 名 称 数 据 结 构 说 明1 RoomId Int 客房号2 RCategoryId Int 客房类型编号73 RPosti

10、tion nVarchar(50) 客房位置4 Description nVarchar(50) 描述(5) 客房状态表客房状态表(RoomStatus)用来保存客房使用情况的基本信息,表 RoomStatus 结构的如表 5 所示。表 5 客房状态表(RoomStatus)编 号 字 段 名 称 数 据 结 构 说 明1 RoomId Int 客房编号2 Status Int 状态(1空房,2入住)(6) 客房业务表客房业务表(RoomOperation)用来保存目前酒店正有客户入住的客房的相关信息,表RoomOperation 的结构如表 6 所示。表 6 客房业务表(RoomOperat

11、ion)编 号 字 段 名 称 数 据 结 构 说 明1 RoomId Int 客房编号2 BeginTime DateTime 入住时间3 CIdentityId nVarchar(50) 客户身份证号4 Remarks nVarchar(50) 备注(7) 业务记录表业务记录表(History)用来保存酒店里所有入住过客户的客房的业务信息,表 History 的结构如表 7 所示。表 7 业务记录表(History)编 号 字 段 名 称 数 据 结 构 说 明1 BeginTime DateTime 入住时间2 EndTime DateTime 退房时间3 RoomId Int 客房编号

12、4 TotalPrice Money 金额5 CIdentityId nVarchar(50) 客户身份证号6 CName nVarchar(50) 客户姓名7 CPhone nVarchar(50) 客户电话8 Remarks nVarchar(50) 备注8根据上面的E-R图和各表属性用PowerDesigner.v11软件可以很轻松地制作也一个宾馆客房数据库。五页面设计及相关代码分析宾馆客房管理系统的页面由五部分组成: 宾馆客房管理系统登陆界面的设计 客房管理管理页面的设计 客房经营管理页面的设计 客户信息查询页面的设计 员工信息管理页面的设计1. 宾馆客房管理系统登陆界面的设计系统共分

13、两类用户:酒店管理员和前台服务员当用户进入宾馆客房管理系统登陆界面后,首先需要进行身份验证,系统在验证通过后,将使用 UserType 变量记录其用户类型,并根据用户类型确定用户的使用权限。宾馆客房管理系统登陆界面如图 2 所示。9现在给出登陆界面的主要代码如下:/* 简介 :宾馆客房管理系统登陆界面,应用数据库加密技术* 作者:庞景中* 功能:管理宾馆客房* 版权:本人所有* 版本:HoteLand1.0* 时间:2008.11.13* 文件名:HoteLand.java* 环境:Windows xp JDK6.0*/import .URL.*;import javax.swing.*;im

14、port javax.swing.ImageIcon;import javax.swing.JLabel;10import java.sql.*;import java.awt.Container;import java.awt.GridLayout;import java.awt.FlowLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextField;import javax.swing.JPasswordField;import java.awt.event.ActionEv

15、ent;import java.awt.event.ActionListener;import java.awt.*;public class HoteLand extends JFrame implements ActionListenerprivate boolean boo1=false,boo2=false;int Type=0;public JTextField t =new JTextField(“用户名:“,8),new JTextField(27),new JTextField(“密码:“,8),new JPasswordField(27),new JTextField(“宾馆

16、客房管理系统登陆界面-(组长:庞景中 队员:陈自发 陆钧洋)“,36),new JTextField(“后台技术:应用数据库加密技术 -安全保护你的信息 !请放心使用!“,36),new JTextField(“功能:管理宾馆客房 版权:本人所有 时间:2008.12.7“,36);public JButton b=new JButton(“登陆“),new JButton(“退出“);ImageIcon ic=new ImageIcon(HoteLand.class.getResource(“/迪拜七星级酒店.jpg“);JFrame app;Statement statement;/构造方

17、法public HoteLand()app= new JFrame(“-宾馆客房管理系统登陆界面-“);app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);app.setSize(438,583);app.setResizable(false);Container c=app.getContentPane();c.setLayout(new FlowLayout();JLabel aLabel=new JLabel(ic,JLabel.LEFT);t0.setFont(new Font(“TimesRoman“,Font.BOLD,13);t0

18、.setForeground(Color.red);t0.setEditable(false);t2.setFont(new Font(“TimesRoman“,Font.BOLD,13);t2.setForeground(Color.red);t2.setEditable(false);for(int i=0;i0)tryresultset=statement.executeQuery(“use 宾馆客户数据库;select * from RoomsInfo where RoomId=“+number+“);tryresultset.next();resultset.getInt(“Room

19、Id“);String warning=“该客房信息已存在 ,请到修改页面修改!“;JOptionPane.showMessageDialog(this,warning,“警告“,JOptionPane.WARNING_MESSAGE);catch(Exception e1)int RoomId=Integer.parseInt(房间号.getText().toString();String RCategory=房间类型.getSelectedItem().toString();String RPostion=房间位置.getText().toString();String Descripti

20、on=描述.getText().toString();String str=“use 宾馆客户数据库;insert into RoomsInfo values(“+RoomId+“,“+RCategory+“,“+RPostion+“,“+Description+“)“;trystatement.executeUpdate(str);statement.executeUpdate(“use 宾馆客户数据库;insert into RoomStatus values(“+RoomId+“,“+1+“)“);JOptionPane.showMessageDialog(this,“成功录入客房信息!

21、“,“提示“,JOptionPane.WARNING_MESSAGE);catch(Exception e2)String warning=“输入格式有误,请重新输入!“;JOptionPane.showMessageDialog(this,warning,“警告“,JOptionPane.WARNING_MESSAGE);e2.printStackTrace();房间号.setText(null);房间类型.select(“普通单人间“);房间位置.setText(null);描述.setText(null);catch(Exception e1)String warning=“输入格式有误

22、 ,请重新输入!“;JOptionPane.showMessageDialog(this,warning,“警告“,JOptionPane.WARNING_MESSAGE);16else String warning=“必须要输入房间号 !“;JOptionPane.showMessageDialog(this,warning,“警告“,JOptionPane.WARNING_MESSAGE);if(e.getSource()=重置)房间号.setText(null);房间类型.select(“普通单人间“);房间位置.setText(null);描述.setText(null);3. 客房经

23、营管理页面的设计该页面主要是实现如下三个功能:客房使用情况,宾馆订房,宾馆退房。其的界面如图 4 所示。17图 4 客房经营管理页面现在给出客房经营管理页面的主要代码:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;import java.sql.*;public class UseOfRooms extends JPanel implements ActionListenerJButton 查询;Choice 房间类型,状态;Statement

24、 statement=null;JTextArea 房间使用情况;JLabel 客房使用情况=null;public UseOfRooms(Statement statement)this.statement=statement;查询=new JButton(“查询“);查询.addActionListener(this);房间类型=new Choice();房间类型.add(“普通单人间“);房间类型.add(“普通双人间“);房间类型.add(“vip 单人间“);房间类型.add(“vip 双人间“);房间类型.add(“豪华贵宾间“);房间类型.add(“总统套间“);状态=new C

25、hoice();状态.add(“有“);状态.add(“否“);Box box0=Box.createHorizontalBox();客房使用情况=new JLabel(“-客房使用情况-“,JLabel.CENTER);客房使用情况.setFont(new Font(“TimesRoman“,Font.BOLD,25);客房使用情况.setForeground(Color.red);box0.add(客房使用情况);Box box1=Box.createHorizontalBox();18box1.add(new JLabel(“按房间类型 :“,JLabel.CENTER);box1.ad

26、d(房间类型);Box box2=Box.createHorizontalBox();box2.add(new JLabel(“状态:“,JLabel.CENTER);box2.add(状态);box2.add(查询);Box box3=Box.createHorizontalBox();box3.add(new JLabel(“房间使用情况 :“,JLabel.CENTER);Box box4=Box.createHorizontalBox();box4.add(new JLabel(“-客房号 :“);box4.add(new JLabel(“-客房类型 :“);box4.add(new

27、JLabel(“-是否空房 :“);Box box5=Box.createHorizontalBox();房间使用情况=new JTextArea(8,12);房间使用情况.setFont(new Font(“TimesRoman“,Font.BOLD,15);房间使用情况.setForeground(Color.red);房间使用情况.setEditable(false);box5.add(new JScrollPane(房间使用情况),BorderLayout.CENTER);Box boxH=Box.createVerticalBox();boxH.add(box0);boxH.add(

28、box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(Box.createVerticalGlue();JPanel pCenter=new JPanel();pCenter.add(boxH);setLayout(new BorderLayout();add(pCenter,BorderLayout.CENTER);validate();public void actionPerformed(ActionEvent e) int i=1;ResultSet resultset=null;Strin

29、g string=“;if(e.getSource()=查询)19String str=房间类型.getSelectedItem().toString();String str1=状态.getSelectedItem();if(str1.equals(“有“)i=2;else i=1;String str2=“use 宾馆客户数据库;select RoomsInfo.RoomId,RCategory,RoomStatus.Status from RoomsInfo,RoomStatus where RoomsInfo.RoomId=RoomStatus.RoomId and Status=“+

30、i+“ and RCategory=“+str+“;tryresultset=statement.executeQuery(str2);while(resultset.next()string+=resultset.getInt(1)+“, “+resultset.getString(2)+“, “+str1+“n“;if(string=“)房间使用情况.setText(“没有要找的客房!“);else房间使用情况.setText(string);catch(Exception e1)e1.printStackTrace();4. 客户信息查询页面的设计该页面主要是实现客户信息查询功能。界面如

31、图 5 所示。20图 5 客户信息查询页面现在给出客户信息查询页面主要代码:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;import java.sql.*;public class CustomerInformation extends JPanel implements ActionListenerJTextField 姓名;JTextArea 查询结果;JButton 查询,查询所有 ;Statement statement=null;J

32、Label 客户信息查询;public CustomerInformation(Statement statement)this.statement=statement;21姓名=new JTextField(10);查询=new JButton(“查询“);查询所有=new JButton(“查询所有 “);姓名.addActionListener(this);查询.addActionListener(this);查询所有.addActionListener(this);查询结果=new JTextArea(8,10);查询结果.setEditable(false);查询结果.setFont

33、(new Font(“TimesRoman“,Font.BOLD,15);查询结果.setForeground(Color.blue);Box box0=Box.createHorizontalBox();客户信息查询=new JLabel(“-客户信息查询-“,JLabel.CENTER);客户信息查询.setFont(new Font(“TimesRoman“,Font.BOLD,25);客户信息查询.setForeground(Color.red);box0.add(客户信息查询);Box box1=Box.createHorizontalBox();box1.add(new JLabe

34、l(“输入要查询的姓名 :“,JLabel.CENTER);box1.add(姓名);box1.add(查询);Box box2=Box.createHorizontalBox();box2.add(new JLabel(“查询结果 :“,JLabel.CENTER);box2.add(new JScrollPane(查询结果),BorderLayout.CENTER);Box box3=Box.createHorizontalBox();box3.add(查询所有);Box boxH=Box.createVerticalBox();boxH.add(box0);boxH.add(box1);

35、boxH.add(box2);boxH.add(box3);boxH.add(Box.createVerticalGlue();JPanel pCenter=new JPanel();pCenter.add(boxH);setLayout(new BorderLayout();add(pCenter,BorderLayout.CENTER);validate();public void actionPerformed(ActionEvent e)22ResultSet resultset=null;boolean boo=false;String CName=“,CIdentityId=“,C

36、Phone=“,CRoom,BeginTime,Remarks;String str=“,chk;if(e.getSource()=查询) CName=姓名 .getText().toString();if(!CName.equals(“)trychk=“use 宾馆客户数据库;select * from CustomersInfo,RoomOperation where CustomersInfo.CIdentityId=RoomOperation.CIdentityId and CName=“+CName+“;resultset=statement.executeQuery(chk);re

37、sultset.next();CIdentityId=resultset.getString(“CIdentityId“);CPhone=resultset.getString(“CPhone“);CRoom=resultset.getString(“RoomId“);BeginTime=resultset.getString(“BeginTime“);Remarks=resultset.getString(“Remarks“);str=“客房号:“+CRoom+“n 身份证号码:“+CIdentityId+“n 客户姓名:“+CName+“n 电话:“+CPhone+“n 订房时间:“+Be

38、ginTime+“n 备注:“+Remarks+“n“;查询结果.setText(str);catch(Exception e1)String warning=“该客房信息不存在 !“;查询结果.setText(warning);JOptionPane.showMessageDialog(this,warning,“警告“,JOptionPane.WARNING_MESSAGE);elseString warning=“必须要输入客户姓名 !“;JOptionPane.showMessageDialog(this,warning,“警告“,JOptionPane.WARNING_MESSAGE

39、);if(e.getSource()=查询所有)23str=“;trychk=“use 宾馆客户数据库;select * from CustomersInfo,RoomOperation where CustomersInfo.CIdentityId=RoomOperation.CIdentityId“;resultset=statement.executeQuery(chk);while(resultset.next()CIdentityId=resultset.getString(“CIdentityId“);CName=resultset.getString(“CName“);CPhon

40、e=resultset.getString(“CPhone“);CRoom=resultset.getString(“RoomId“);BeginTime=resultset.getString(“BeginTime“);Remarks=resultset.getString(“Remarks“);str=“客房号:“+CRoom+“n 身份证号码:“+CIdentityId+“n 客户姓名:“+CName+“n 电话:“+CPhone+“n 订房时间:“+BeginTime+“n 备注:“+Remarks+“n“;if(str.equals(“)姓名.setText(“);查询结果.setT

41、ext(“客户信息不存在!“);else 姓名.setText(“);查询结果.setText(str);catch(Exception e1)/e1.printStackTrace();姓名.setText(“);查询结果.setText(“ 客房信息不存在!“);String warning=“客房信息不存在 !“;JOptionPane.showMessageDialog(this,warning,“警告“,JOptionPane.WARNING_MESSAGE);244. 员工信息管理页面的设计该页面主要实现的功能:员工查询,员工添加,员工删除。其的界面如图 6 所示。图 6 员工信息

42、管理页面现在给出员工信息管理页面的主要代码:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;import java.sql.*;public class CheckStaff extends JPanel implements ActionListenerJTextField 姓名;JTextArea 查询结果;25JButton 查询,查询所有 ;Statement statement=null;JLabel 客户信息查询;public Che

43、ckStaff(Statement statement)this.statement=statement;姓名=new JTextField(10);查询=new JButton(“查询“);查询所有=new JButton(“查询所有 “);姓名.addActionListener(this);查询.addActionListener(this);查询所有.addActionListener(this);查询结果=new JTextArea(7,10);查询结果.setEditable(false);查询结果.setFont(new Font(“TimesRoman“,Font.BOLD,1

44、5);查询结果.setForeground(Color.blue);Box box0=Box.createHorizontalBox();客户信息查询=new JLabel(“-员工信息查询-“,JLabel.CENTER);客户信息查询.setFont(new Font(“TimesRoman“,Font.BOLD,25);客户信息查询.setForeground(Color.red);box0.add(客户信息查询);Box box1=Box.createHorizontalBox();box1.add(new JLabel(“输入要查询的姓名 :“,JLabel.CENTER);box1

45、.add(姓名);box1.add(查询);Box box2=Box.createHorizontalBox();box2.add(new JLabel(“查询结果 :“,JLabel.CENTER);box2.add(new JScrollPane(查询结果),BorderLayout.CENTER);Box box3=Box.createHorizontalBox();box3.add(查询所有);Box boxH=Box.createVerticalBox();boxH.add(box0);boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH

46、.add(Box.createVerticalGlue();JPanel pCenter=new JPanel();26pCenter.add(boxH);setLayout(new BorderLayout();add(pCenter,BorderLayout.CENTER);validate();public void actionPerformed(ActionEvent e)ResultSet resultset=null;boolean boo=false;String Name,Password,Sex,Email,Address,Telephone,Department,Type

47、;int UserId=-1,Gender=0;String str=“;if(e.getSource()=查询)Name=姓名 .getText().toString();if(!Name.equals(“)tryresultset=statement.executeQuery(“use 宾馆客户数据库;select * from UsersInfo where Name=“+Name+“);resultset.next();UserId=resultset.getInt(“UserId“);Name=resultset.getString(“Name“);Password=resultse

48、t.getString(“Password“);Gender=resultset.getInt(“Gender“);if(Gender=1)Sex=“男“;else Sex=“女“;Email=resultset.getString(“Email“);Address=resultset.getString(“Address“); Telephone=resultset.getString(“Telephone“);Department=resultset.getString(“Department“);Type=resultset.getInt(“Type“)=1?“普通员工 “:“宾馆管理员

49、“; str=UserId+“,“+Name+“,“+Password+“,“+Sex+“,“+Email+“,“+Address+“,“+Telephone+“,“+Department+“,“+Type+“n“;查询结果.setText(str);27catch(Exception e1)String warning=“该客房信息不存在 !“;查询结果.setText(warning);JOptionPane.showMessageDialog(this,warning,“警告“,JOptionPane.WARNING_MESSAGE);elseString warning=“必须要输入客户姓名 !“;JOptionPane.showMessageDi

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报