《宾馆管理系统》课程设计报告_第1页
《宾馆管理系统》课程设计报告_第2页
《宾馆管理系统》课程设计报告_第3页
《宾馆管理系统》课程设计报告_第4页
《宾馆管理系统》课程设计报告_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、宾馆管理系统课程设计报告 组长:夏银 组员:薛庆弢、孙建龙李天罡、石希栋目 录第一章 概述2(一)开发宾馆管理系统的目的和意义2(二)系统设计相关原理3(1) Java简介3(2)开发工具简介3(3)系统使用数据库简介3第二章 需求分析4(一)系统开发的需求分析4(1)系统的性能需求4(2)系统功能的需求5(二) 可行性分析6(1) 管理上的可行性6(2) 技术上的可行性6(3) 经济上的可行性7(4) 社会上的可行性7第三章 概念结构设计7(一) 项目开发人员的安排7(1)小组成员7(2) 系统开发整体规划7(3)项目所需资源8(二) 概念结构设计8(1)功能模块图9(2) 数据流图9第四章

2、 逻辑结构设计10 (一) 总E-R图10(二) 具体E-R图及表12第五章 物理结构设计21第六章 运行结果截图24第七章 基于java程序的代码29第八章 总结与体会54参考文献55第1章 概论(一)开发宾馆管理系统的目的和意义 随着社会经济的发展,人们对生活质量的要求越来越高,人们的生活水平和消费意识的提高,促进了旅游业的发展,作为服务之一的宾馆业也在不断的完善服务体制。面对快速发展的信息产业带来的影响,宾馆行业将面临着机遇和挑战,众多酒店企业中,中小型酒店企业由于他们的先天条件,使他们不能投入大量的资金进行这项必须的改革。其中顾客可以随意消费并统一结账;宾馆管理者可及时了解宾馆的全部运

3、营情况及经营走势,找出运转成本,作为经营决策的依据。只有运用先进的科学管理手段,利用计算机管理系统才能更好实现这一管理模式。因此开发一套简单、实用的中小型宾馆管理系统是十分有必要的。(二)系统设计相关原理(1) Java简介Java的主要特定表现在以下几个方面:1. 面向对象:java语言是一种纯采用对象设计思想的语言,对象之间通过消息相互作用2. 可移植性:就是在这个系统上作的程序经过一次编译后可以移植到别的系统上执行,只要经过简单的粘贴和复制就行了,不影响程序的效果3. 安全性:java语言采用了一定的安全机制。4. 并发性:java支持多线程技术,就是多个线程并行机制,多线程是java的

4、一个重要方法。(2)开发工具简介本系统的开发工具是Eclipse1. 采用Eclipse的原因1) Eclipse框架的这种灵活性来源于其扩展点。它们是在xml中定义的已知接口,并充当插件的耦合点。2) 利用Eclipse,我们可以将高级设计与低级开发工具结合在一起。2. Eclipse的特性1) Eclipse的最大特点是它能接受由java开发者自己编写的开放源代码插件2) 开放式可扩展的IDE。3) 桌面应用程序的开发平台4) 全中文化的帮助文件(3)系统使用数据库简介SQL Server2005 是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台

5、用于企业数据管理和商业智能应用。SQL Server 2005 为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。 通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQL Server 2005 为不同规模的企业提供了一个完整的数据解决方案。第2章 需求分析(1) 系统开发的需求分析 宾馆由于工作性质的关系,主要是为客人提供住宿、餐饮、娱乐、休闲等业务,客人的宾馆入住的舒适情况都直接影响到宾馆的业绩。宾馆管理是现代化商业管理中一个极其重要的工作,该系统可以应用在局域网上,系统

6、地、全面地支持宾馆管理和服务的全过程。主要目标是实现对宾馆内部各种管理的电子化、自动化、提高各个部门之间的办公效率,为高质量的宾馆服务提供保证。该着眼于宾馆的当前管理与未来发展,由宾馆管理人员参与整个研发过程,更加贴近现代宾馆的管理模式与管理风格。下面章节将详细介绍本系统的设计过程。(1)系统的性能需求1.功能完整,本系统包括前台和后台管理,功能完善,能够实现酒店的数字化经营。2.数据安全性,系统提供了手动备份的功能,可使数据库安全有保障。3.开放性好,采用标准的开发工具和技术,后台数据库采用微软SQL2005中文版,可以提供开放的数据接口,可同其它软件交流数据。4.功能强大的营业查询模块 强

7、大的报表系统提供多种营业报表。 可查询来宾信息、消费明细、收银明细、日/月营业报表等众多统计报表让您轻松掌控每日营业情况,更能为经营者科学的管理提供依据。 多种分类统计查询可以提供更详细和更明确的统计数据。(2) 系统功能的需求预定管理主要包括: 1. 添加客人的预定(包括早中晚三部分可预定时间),当桌位被预订后桌位在预定时间到之前两个小时到到达预定保留事件之间显示不可用。 2. 删除客人的预定,当客人取消预定,或者到达预定保留时间后,弹出对话框,提示时间已到,要求取消预定。在前台管理人员确定后,系统将已经预订的桌位改为空桌。 3. 更改预定状态,当客人在规定的时间范围到达,由管理员将客人所定

8、座位的状态改为有人。4. 客人是否是提前预定的房间,预定过后交了定金,则可以保留房间半天。半天内不到达,则将房间标注为空。 入住管理 主要包括: 1.登记旅客的身份信息。 2.查询客房的信息,看下客房的状态情况。 3.客房的调换。 4.客房的加时。 物品管理 主要包括: 1.物品的登记,物品价格的管理。 2.物品的检查。 3.物品的维护以及更新。 维护管理 主要包括: 1.客房物品的检查。 2.客房的卫生打扫。 发票管理 主要包括: 1.消费金额的管理。 2.日期的管理。 3.信息的保存管理。 4.发票的打印。 职工管理 主要包括: 1.职工信息管理。 2.职工人员的分配。 3.职工的删减,增

9、加。 系统管理主要包括: 1.管理员的管理。 2.密码的重置与修改。 3.权限的管理。 (2) 可行性分析可行性分析阶段的主要工作包括以下几个方面:1.管理上的可行性 在传统的宾馆客房管理中,管理人员不得不花费大量的时间来处理顾客投诉,例如错误查询、烦琐的登记和结帐手续、旅客费用计算错误、空余客房资料不能及时提供等,从而影响宾馆的经济效益。因此宾馆的管理人员迫切的需要一套宾馆客房管理信息系统对日常信息进行处理和维护。历史经验的积累使宾馆行业现有的管理制度和管理方法比较科学,规章制度比较齐全,原始数据比较正确。这些为系统的建设提供了有效的制度保障。2.技术上的可行性 本管理信息系统将采用技术成熟

10、的java做为前台开发工具。后台数据库采用微软公司的SQL Sever数据库,它的灵活性,安全性,和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技的飞速发展使硬件的更新速度越来越快,容量越来越大,可靠性越来越高。其硬件平台完全能满足此系统的需要。3.经济上的可行性管理和维护比较简单,除了必要的设备投资外,后期只需少量资金就可确保运转。因此对于中小型宾馆在经济上完全可以接受。本系统的使用能大大提高员工工作效率,加速资金周转、降低各项成本及改善服务质量。能够取得良好的经济效益。综上所述,本系统在管理上,在技术上和经济上是完全可行的,并且投入少,见效快。因此系

11、统的开发完全可行的。4. 社会上的可行性社会可行性分析主要是指管理信息系统的开发是否符合国家法律、下策,是否能够与社会大系统实现良好的对接。第3章 概念结构设计(一)项目开发人员的安排(1) 小组成员:组长:夏银组员:薛庆弢、孙建龙、李天罡、石希栋(2) 系统开发整体规划全体成员共同完成:系统需求分析,可行性分析,系统功能模块图,数据流图。1) 夏银主要负责整体E-R图以及各部分ER图的绘制,每个关系模式的转换,以及部分数据库设计。2) 薛庆弢主要负责整个数据库关系表的建立,包括宾馆和客户基本信息操作以及数据库表的建立包括登录和退出的设计。3) 孙建龙主要负责数据库中每个表的完善,java代码

12、连接和后台数据库设计以及整个实验报告的设计完成。4) 石希栋主要负责每个模块E-R图检查修改以及每个部分的资料完善包括对关系模式以及关系表的检查修改。5) 李天罡主要负责数据库中各部的代码检查、运行修改。Java代码的检查纠错,以及后期运行当中的错误处理。6) 各部分都是由组内成员全力以赴共同完成,每一部分每个成员都有参加。(3)项目所需资源开发环境:(1)以Windows 7为操作系统(2)以java为开发工具(3)以vision 2010为绘图辅助工具(4)以sql server 2005为后台数据库(二) 概念模型设计 针对一般宾馆管理信息系统的需求,通过对宾馆管理工作过程的内容和数据流

13、程分析,设计如下功能模块以及数据流图:(1)功能模块图(2) 数据流图第4章 逻辑结构设计一总E-R图二具体E-R图及表预定表(订单号,电话号,客房类型编号,定金,约定时间,旅客姓名)列名数据类型是否为空是否为主键Code订单号Char(20)否是Order number电话号Char (11)否Phone number客房类型编号Char(10)否Roomtype ID定金Money 否Front money旅客姓名Char(10)否name预定时间Datetime 否Bookdate 客房类型(客房类型编号,双人间,单人间,三人间,豪华间,客房单价)客房类型编号备注:1代表单人间,2代表双

14、人间,3代表三人间,4代表豪华间列名数据类型是否为空是否为主键Code 客房类型编号Int(10)否是Roomtype ID单人间Char(10)否Single-room双人间Char(10)否Double room 三人间Char(10)否Triple 豪华间Char(10)否Deluxe room(DR)客房价Money否Price 客房(客房号,客房类型编号,状态,物品)状态备注:1代表空,2代表有人,3代表维护中列名数据类型是否为空是否为主键Code 客房号Char(10)否是Room ID客房类型编号Char(10)否Roomtype number物品Char(10)否Goods 状

15、态Char(3)否State 物品(电视,电脑,电话,空调,饮食,客房号,物品编号)列名数据类型是否为空是否为主键Code 物品编号Char(10)否是GoodID客房号Char(10)否是Room ID电视Char(2)否TV电脑Char(2)否Computer 电话Char(2)否Phone 饮食Char(10)否Diet 空调Char(2)否Air-conditioning维护表(职工编号,客房号,物品更新)列名数据类型是否为空是否为主键Code 职工编号Char(10)否是WorkerID物品更新Char(10)是Goods update客房号Char(10)否是Room ID旅客(旅

16、客编号,姓名,性别,身份证号)列名数据类型是否为空是否为主键Code 旅客编号Char(10)否是Traveller ID姓名Char(10)否Name 性别Char(2)否Sexual 身份证号Char(18)否UniqueID发票(旅客编号,保留信息,消费金额,收银员,打印,日期)列名数据类型是否为空是否为主键Code 旅客编号Char(10)否是Traveller ID日期Datetime 10否Date 消费金额Money 否SumMoney收银员Char(10)否Cashier打印Char(10)否Stamp 职工(职工编号,姓名,性别,身份证号,职务,工资,地址,电话) 列名数据类

17、型是否为空是否为主键Code 职工编号Char(10)否是WorkerID姓名Char(10)否Name 性别Char(2)否Sexual 身份证号Char(18)否UniqueID工资Money 10 否Wages职务Char(10) 否Post地址Char(10) 否Address电话Char(11) 否Phone第5章 物理结构设计(1)客房类型表create table 客房类型(客房类型编号char(10) primary key,单人间char(10),双人间char(10),三人间char(10),豪华间char(10),客房价money)(2)客房表create table 客

18、房(客房号char(10) primary key,客房类型编号char(10) references 客房类型(客房类型编号),物品char(10) ,状态char(10)(3)预定表create table 预定表(订单号char(20) primary key ,电话号char(11) not null,客房类型编号char(10) references 客房类型(客房类型编号), 定金char(10),旅客姓名char(10),预定时间datetime)(4)旅客表create table 旅客(旅客编号char(10) primary key,姓名char(10) not null,

19、性别char(2) not null,身份证号char(18) not null)(5)物品表create table 物品(物品编号char(10),客房号char(10) primary key(物品编号,客房号),foreign key (客房号) references 客房(客房号),电视char(10),电脑char(10),电话char(10),饮食char(10),空调char(10)(6)发票create table 发票(旅客编号char(10) primary key,foreign key (旅客编号) references 旅客(旅客编号),日期datetime,消费金

20、额money,收银员char(10) not null)(7)职工表create table 职工(职工编号char(10) primary key,姓名char(10) not null,性别char(2) not null,身份证号char(18) not null,工资money,职务char(10) not null,地址char(10) not null,电话char(11) not null)(8)维护表create table 维护(职工编号char(10),客房号char(10) primary key(职工编号,客房号),foreign key(客房号)references

21、客房(客房号),foreign key(职工编号)references 职工(职工编号),物品更新char(10)(1)客房类型表,设置客房类型编号为主键(2)客房表,设置客房号为主键 引用客房类型表里客房类型编号为外键(3)预定表,引用客房类型表里的客房类型编号为外键,并设置订单号为主键(4)旅客表,设置旅客编号为主键(5)物品表,设置物品编号为主键,引用客房表客房号为外键(6)发票表,引用旅客表里旅客编号为外键,客房表里客房号为外键(7)职工表,设置职工编号为主键(8)维护表,引用职工表里职工编号为外键,引用客房表里客房号为外键第六章 运行结果截图登陆界面:进入: 客房类型界面:预定表界面

22、:旅客表界面:物品表界面:发票界面:职工表界面:维护表界面:第7章 基于java程序的完整代码1.登录窗口package com.xiaofan;import java.awt.Container;import java.awt.Font;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLa

23、bel;import javax.swing.JOptionPane;import javax.swing.JPasswordField;import javax.swing.JTextField;public class LoginFrame extends JFrame /* * 登录界面 */private static final long serialVersionUID = 1L;/ 成员变量Container c = null;LoginFrame tthis;JLabel userNameLabel;JLabel passwordLabel;JTextField userNam

24、e;JPasswordField password;JButton loginButton;JButton exitButton;public LoginFrame() throws HeadlessException super();/ TODO Auto-generated constructor stubthis.setTitle(宾馆管理登陆窗口);this.setBounds(0, 0, 400, 300);c = this.getContentPane();c.setLayout(null);tthis = this;init();this.setLocationRelativeT

25、o(null);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);public void init() userNameLabel = new JLabel(用户名);userNameLabel.setBounds(50, 40, 100, 30);userNameLabel.setFont(new Font(SansSerif, Font.BOLD, 24);userName = new JTextField();userName.setBounds(160, 40, 180, 30);user

26、Name.setFont(new Font(SansSerif, Font.BOLD, 24);passwordLabel = new JLabel(密 码);passwordLabel.setBounds(50, 100, 100, 30);passwordLabel.setFont(new Font(SansSerif, Font.BOLD, 24);password = new JPasswordField();password.setBounds(160, 100, 180, 30);password.setFont(new Font(SansSerif, Font.BOLD, 24)

27、;loginButton = new JButton(登陆);loginButton.setBounds(70, 170, 100, 30);loginButton.setFont(new Font(Sansserif, Font.BOLD, 24);exitButton = new JButton(退出);exitButton.setBounds(200, 170, 100, 30);exitButton.setFont(new Font(sansserif, Font.BOLD, 24);c.add(userNameLabel);c.add(userName);c.add(password

28、Label);c.add(password);c.add(loginButton);c.add(exitButton);loginButton.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString name = userName.getText();String key = String.valueOf(password.getPassword();if (name.trim().equal

29、s(abc) & key.trim().equals(123) new MainFrame();tthis.setVisible(false); else JOptionPane.showMessageDialog(getContentPane(),用户名或者密码错误!, 警告框, JOptionPane.WARNING_MESSAGE););exitButton.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated meth

30、od stubSystem.exit(0););public static void main(String args) / TODO Auto-generated method stubnew LoginFrame();2.菜单界面package com.xiaofan;import java.awt.BorderLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;im

31、port javax.swing.JFrame;import javax.swing.JToolBar;public class MainFrame extends JFrame JToolBar bar;JButton roomtype;JButton room;JButton reserve;JButton passenger;JButton goods;JButton check;JButton staff;JButton preserve;public MainFrame() throws HeadlessException super();/ TODO Auto-generated

32、constructor stubthis.setTitle(宾馆管理窗口);this.setBounds(0, 0, 640, 480);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLocationRelativeTo(null);this.setVisible(true);roomtype = new JButton(客房类型);room = new JButton(客房);reserve = new JButton(预定);passenger = new JButton(旅客);goods = new JButto

33、n(物品);check = new JButton(发票);staff = new JButton(职工);preserve = new JButton(维护);bar = new JToolBar();bar.add(roomtype);bar.add(room);bar.add(reserve);bar.add(passenger);bar.add(goods);bar.add(check);bar.add(staff);bar.add(preserve);this.add(bar, BorderLayout.NORTH);roomtype.addActionListener(new Ac

34、tionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubnew RoomTypeFrame(););room.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubnew RoomFrame(););reserve.addActionListener(new Act

35、ionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubnew ReserveFrame(););passenger.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubnew PassengerFrame(););goods.addActionListener(n

36、ew ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubnew GoodsFrame(););check.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubnew CheckFrame(););staff.addActionListener(new A

37、ctionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubnew StaffFrame(););preserve.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubnew PreserveFrame(););3.发票信息 package com.xiaofan;

38、import java.awt.BorderLayout;import java.awt.Button;import java.awt.Color;import java.awt.Frame;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.Label;import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;im

39、port java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/import javax.swing.JLabel;/import javax.swing.JOptionPane;p

40、ublic class CheckFrame extends Frame private static final long serialVersionUID = 1L;Panel mainPanel;Panel btnPanel;Button addBtn;Button exitBtn;TextField text1;TextField text2;TextField text3;TextField text4;public static Connection connection;/ 数据库连接相关变量public static Statement statement;public sta

41、tic PreparedStatement preStatement;public static ResultSet res;public CheckFrame() throws HeadlessException super();/ TODO Auto-generated constructor stubthis.setTitle(宾馆管理系统窗口);this.setBounds(0, 0, 400, 300);init();this.add(btnPanel, BorderLayout.SOUTH);this.add(mainPanel,BorderLayout.CENTER);this.

42、setLocationRelativeTo(null);this.setBackground(new Color(200, 200, 200);this.setResizable(false);this.setVisible(true);this.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0););public void init() btnPanel = new Panel(new GridLayout(1, 2);addBtn = new Button

43、(添加);btnPanel.add(addBtn);addBtn.addActionListener(new ActionListener()Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubConnection();String str = new String4;str0 = text1.getText().trim();str1 = text2.getText().trim();str2 = text3.getText().trim();str3 = text4.getT

44、ext().trim();String sql = insert into 发票(旅客编号,日期,消费金额,收银员) values(?,?,?,?);try preStatement = connection.prepareStatement(sql);preStatement.setString(1, str0);preStatement.setString(2, str1);preStatement.setString(3, str2);preStatement.setString(4, str3);preStatement.executeUpdate(); catch (SQLExcep

45、tion e1) / TODO Auto-generated catch blocke1.printStackTrace(););exitBtn = new Button(退出);btnPanel.add(exitBtn);exitBtn.addActionListener(new ActionListener()Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubSystem.exit(0););mainPanel = new Panel(new GridLayout(4,2)

46、;text1 = new TextField();text2 = new TextField();text3 = new TextField();text4 = new TextField();mainPanel.add(new Label(旅客编号);mainPanel.add(text1);mainPanel.add(new Label(日期);mainPanel.add(text2);mainPanel.add(new Label(消费金额);mainPanel.add(text3);mainPanel.add(new Label(收银员);mainPanel.add(text4);pu

47、blic static void Connection() try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);System.out.println(数据库驱动加载成功);connection = DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=+ HotelManagement, sa, wo);if (connection != null) System.out.println(数据库连接成功); catch (Clas

48、sNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();4.预定表package com.xiaofan;import java.awt.BorderLayout;import java.awt.Button;import java.awt.Color;import java.awt.Frame;import java.awt.GridLayout;

49、import java.awt.HeadlessException;import java.awt.Label;import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论