客房管理系统课程设计报告.docx
- 文档编号:30503576
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:69
- 大小:1.09MB
客房管理系统课程设计报告.docx
《客房管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《客房管理系统课程设计报告.docx(69页珍藏版)》请在冰豆网上搜索。
客房管理系统课程设计报告
-------课程设计
院别:
信息科学与电气工程学院__
班级:
计算141____________
姓名:
___吴刚___________
学号:
140811209___________
指导教师:
张岳________________
设计地点:
实验楼307__________
时间:
2016年9月4日___
至2016年9月16日
课程设计任务书
题目数据库课程设计
客房管理系统
系(部)信息科学与电气工程学院
专业计算机科学与技术
班级计算141
学生姓名吴刚
学号140811209
09月04日至09月16日共2周
指导教师(签字)
院长(签字)
2017年09月17日
一、设计内容及要求
内容:
客房各种信息,包括客房的类别、当前的状态、价格等;客房信息的查询和修改,比如按房间号查询住宿情况。
以及退房、订房、换房等信息的修改。
对查询、统计结果输出。
通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。
要求:
1.对各个系统进行系统功能需求分析
2.数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)
3.设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定
4.通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引
5.根据系统功能需求设计相应的查询视图
6.要求根据系统功能需求建立存储过程
7.根据功能需求建立相应的触发器以保证数据的一致性
8.通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复(此内容选作)
二、设计原始资料
1、《数据库原理》
2、课程设计题目:
客房管理系统
三、设计完成后提交的文件和图表
1.计算说明书部分
2.图纸部分:
课程设计报告格式(附后):
封面、题目、时间地点、目的及要求、内容、详细的步骤和代码编写过程(绘制出拓扑图)、总结。
设计报告格式:
·设计题目
·设计时间、地点
·设计目的
·设计要求
·设计思路(要求有文字描述,并画出流程图)(占报告40%)
·设计过程(要求有文字说明实现的过程,并对相应的代码添加注释)(占报告40%)
·设计总结(分析程序的得与失)
·心得体会
·封面格式如下(一定要有封面):
四、进程安排
教学内容
学时
地点
备注
分配任务与分组
1天
实验室
系统功能需求分析
1天
实验室
数据库需求分析
1天
实验室
逻辑数据库结构
2天
实验室
查询视图、存储过程、
触发器
1天
实验室
编程
2天
实验室
程序测试和成果验收
2天
实验室
五、主要参考资料
1.《数据库系统原理与应用》沈祥玖张岳中国水利水电出版社2016
2.《SQLServer数据库配置与管理指南》刘奎 清华大学出版社2010
3.《SQL与关系数据库理论》周成兴 清华大学出版社2010
信息科学与电气工程学院
课程设计成绩评定用表
平时成绩(30%)
答辩成绩(40%)
报告成绩(30%)
总成绩
注:
本表可根据实际情况修改。
前言
随着我国经济的迅速发展和假日经济的出现,宾馆酒店业的竞争愈来愈激烈。
要想在竞争中取得优势,必须在经营管理、产品服务等方面提高服务管理意识。
而对对酒店的经营状况去决定行作用的是酒店的管理。
如何利用先进的管理手段,提高酒店的管理水平,是每一家酒店的管理者所面临的重要课题。
简单的服务标准已经不是制胜的锦囊,只有做到最细微之处才有机会让顾客体会到酒店服务的优点,而精准、快捷、周全往往就是最基本的成功要素。
因此,采用全新的计算机网络和管理系统,将成为提高酒店的管理效率,改善服务水准的重要手段之一。
信息与科技在酒店管理与现代化建设中显现出越来越重要的地位。
在某种意义上,酒店客房状态管理方面的信息化与科学化,已成为现代化酒店的重要标志。
关键字:
客房管理;管理系统;服务。
1.问题描述
1.1背景
随着宾馆业竞争的加剧,宾馆之间客源的争夺越来越激烈,宾馆需要使用更有效的信息化手段,拓展经营空间,降低运营成本,提高管理和决策效率。
传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。
但传统的宾馆管理基于财务管理为主线的设计理念,无法满足宾馆全面信息化管理的需要。
现代宾馆酒店业迅速发展,新的管理观念与模式层出不穷。
宾馆客房管理系统亦随着宾馆管理理念的发展而发展。
宾馆客房管理系统依旧采用了先进的数据库理论,多媒体技术,软件工程理念等,从基层,中层,高层三个管理者层次为切入点,以成本分析,预测,控制为一线,形成一套上下贯通,操作便捷的酒店系统解决方案,科学地将宾馆各种日常业务完美的结合在一起,为管理及决策提供了强有力的支持。
其对客人个性化服务及全面彻底的信息化,使企业电算化水平提升到一个新的更高层次,提供大量丰富的基于企业管理经营过程中实际的数据。
1.2功能要求
(1)客人基本信息的录入;
(2)客人基本信息的查询、修改、增加、删除等;
(3)客房相关信息的录入,包括房间号、收费标准、床位、类别等;
(4)客房类别标准的制定、类别信息的输入;
(5)客房基本信息的查询、修改、删除等;
(6)住房信息的录入,包括房间号、客人姓名等;
(7)退房信息的更新;
2.需求分析
2.1需求分析
2.1.1处理对象
系统要处理的对象包括信息管理、客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等7个方面,各个对象包含的信息如下所示:
(1)信息管理:
可以对于各种信息的查询,个人信息可以查看自己的私人信息,还可以对自己的私人信息进行修改。
用户信息查看用户的个人信息,对用户的信息进行增、删、查、改。
(2)客户信息管理:
可以新建客户,输入客户的身份证号码、姓名、性别、出生日期和地址等信息,可以对于客户的信息进行相应的修改,还可以对客户的消费信息进行统计。
(3)客房信息管理:
可以在相应的房间类型下面进行添加相应的房间,对相应的房间进行删除,查看空房以及客房的情况。
(4)入住和退房管理:
客户可以入住相应的类型房型下的空房,然后可以退房,系统自动将相应的订单状态置为失效,入住状态置为已退房,将相应房间的状态置为空房。
(5)客房类型管理:
管理员可以对相应的房型进行各种属性的修改,可以按照需求添加相应的房型,管理员、工作人员都可以查看相应的房型信息,管理员有需要时可以删除相应的房型,系统自动将该房型下的房间删除。
(6)费用管理:
管理员、工作人员都可以查看相应的费用信息,管理员有需要时可以对宾馆的收入与支出进行查询或修改。
(7)价目信息管理:
可以查看客房的收费标准,管理员可以对客房价格进行查询与修改,工作人员可以查看可风的价目信息。
2.1.2系统功能分析
某宾馆需要建立一个住房管理系统,需求分析结果如下:
(1)宾馆要求该系统能实现住房信息管理、客户信息管理等功能;
(2)一个房间有多个床位,同一房间内的床位具有相同的收费标准。
不同类型的房间的床位收费标准可能不同;
(3)每个房间有房间号、收费标准、床位数目等信息;
(4)每位客人有身份证号码、姓名、性别、出生日期和地址等信息;
(5)对每位客人的每次住宿,应该记录其入住日期、退房日期和预付款额信息;
(6)管理系统可查询出客人住宿相关信息、房间信息。
2.1.3安全性和完整性要求
安全性先通过试图机制,不同的用户只能访问系统授权的视图,这样可以满足系统数据一定程度上的安全性,在通过用户授权机制,用户登录来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能。
系统完整性要求系统中数据的正确性以及相容性。
可以通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。
2.2系统功能模块图
系统功能模块图,如图2.2所示。
图2.2系统的功能模块图
2.3数据字典
表2-3. 客户信息表:
表中列名
数据类型
可否为空
说明
编号
Int
Notnull
自增
姓名
Varchar(20)
Notnull
性别
int
Notnull
(0-男,1-女)
出生日期
data
Notnull
身份证号
Varchar(20)
Notnull
主键
联系电话
Varchar(20)
Notnull
家庭住址
Varchar(50)
Notnull
会员等级
Varchar(10)
Notnull
会员积分
float
Notnull
表2-4.客房信息表:
表中列名
数据类型
可否为空
说明
编号
Int
Notnull
自增
房间号
Varchar(10)
Notnull
主键
分类
Varchar(20)
Notnull
订房状态
int
Notnull
0-已订,1-未订
清洁状态
int
Notnull
0-已清洁,1-未清洁
价格
float
Notnull
折扣
float
Notnull
房间描述
Varchar(500)
Notnull
可用状态
int
Notnull
0-可用,1-不可用
表2-5.订房信息表:
表中列名
数据类型
可否为空
说明
编号
int
Notnull
自增
身份证号
Varchar(20)
Notnull
联合主键、外键
房间号
Varchar(20)
Notnull
联合主键、外键
入住时间
datetime
Notnull
联合主键
退房时间
datetime
Notnull
总房价
float
Notnull
3.概念结构设计
3.1E-R图
各实体之间的E-R图,如图3-1所示。
图3-1实体之间的E-R图
3.2实体及属性的定义
客户信息实体的E-R图,如图3-2所示。
图3—2客户信息实体的E—R图
客房信息实体的E-R图,如图3-3所示。
图3—3客房信息实体的E—R图
客户住宿实体的E-R图,如图3-4所示。
图3—4客户住宿实体的E—R图
4.物理结构设计
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段要完成两大任务。
(1)确定数据库的物理结构,在关系数据库中主要是存储方法和存储结构。
(2)对物理结构进行评价,评价的重点是时间和空间效率。
CREATEUNIQUEINDEXTravnoONTravellers(Tno)
CREATEUNIQUEINDEXRoomnoONRooms(Rno)
CREATEUNIQUEINDEXRitemnoONRoomitem(Ritemno)
CREATEUNIQUEINDEXLivnoONLiving(Tno)
5.触发器设计
会员积分:
USE[kfglxt]
GO
/******Object:
Trigger[dbo].[t1]ScriptDate:
09/26/201719:
36:
40******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
ALTERtrigger[dbo].[t1]
on[dbo].[订房信息表]
afterinsert
as
begin
setnocounton;
declare@编号int,@增加积分int
select@编号=身份证号,@增加积分=总房价
frominserted
updatedbo.客户信息表
set会员积分=会员积分+@增加积分
where身份证号=@编号
End
会员等级:
USE[kfglxt]
GO
/******Object:
Trigger[dbo].[会员等级增加]ScriptDate:
09/26/201719:
37:
52******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
ALTERtrigger[dbo].[会员等级增加]
on[dbo].[订房信息表]
afterinsert
as
begin
setnocounton;
declare@编号int,@增加积分int
select@编号=身份证号,@增加积分=总房价
frominserted
updatedbo.客户信息表
set会员等级=(会员积分+@增加积分)/100
where身份证号=@编号
End
6.数据库的实施和维护
6.1建立数据库、数据表、索引
6.1.1.建立数据库
Createdatabasekfglxt;
6.1.2.建立数据表
(1)客户信息表
CREATETABLE客户信息表(
编号intIDENTITY(1,1)NOTNULL,
姓名varchar(20)NOTNULL,
性别intNOTNULL,
出生日期dateNOTNULL,
身份证号varchar(20)NOTNULL,
联系电话varchar(20)NOTNULL,
家庭住址varchar(50)NULL,
会员等级varchar(10)NULL,
会员积分floatNULL,
CONSTRAINTp1PRIMARYKEY(身份证号));
(2)客房信息表
CREATETABLE客房信息表(
编号intIDENTITY(1,1)NOTNULL,
房间号varchar(10)NOTNULL,
分类varchar(20)NOTNULL,
订房状态intNOTNULL,
清洁状态intNOTNULL,
价格floatNOTNULL,
折扣floatNOTNULL,
房间描述varchar(500)NOTNULL,
可用状态intNOTNULL,
CONSTRAINTp6PRIMARYKEY(房间号));
(3)订房信息表
CREATETABLE订房信息表(
编号intIDENTITY(1,1)NOTNULL,
身份证号varchar(20)NOTNULL,
房间号varchar(10)NOTNULL,
入住时间datetimeNOTNULL,
退房时间datetimeNOTNULL,
总房价floatNOTNULL,
CONSTRAINTp2PRIMARYKEY(身份证号,房间号,入住时间),
CONSTRAINTp3FOREIGNKEY(身份证号)REFERENCES客户信息表(身份证号),
CONSTRAINTp4FOREIGNKEY(房间号)REFERENCES客房信息表(房间号));
6.1.3.建立索引
CREATEUNIQUEINDEXTravnoONtb_Travellers(Tno)
CREATEUNIQUEINDEXRoomnoONtb_Rooms(Rno)
CREATEUNIQUEINDEXRitemnoONtb_Roomitem(Ritemno)
CREATEUNIQUEINDEXLivnoONtb_Living(Tno)
7.存在问题总结
1.对书本知识不熟悉,课程设计过程当中需要不断的查阅课本,这样造成了时间的浪费。
2.2.对SQLServer2000操作不熟悉,导致导入数据是经常出错,造成了一些不必要的麻烦,应该提高操作熟练程度。
3.对于触发器和存储过程定义不是很熟悉,有的稍微难点的语句写不出来,对于数据库定义语句应该要熟练掌握。
4.对数据库设计总体把握不是很准确,导致中间多次反复的改动前面的业务流程图、数据流图和E-R图。
致谢
感谢老师的指导和陪伴
--宋立勇
8.主要参考资料
1.《数据库系统原理与应用》沈祥玖张岳中国水利水电出版社2016
2.《SQLServer数据库配置与管理指南》刘奎 清华大学出版社2010
3.《SQL与关系数据库理论》周成兴 清华大学出版社2010
附录
登录界面
图1
主界面
图2
订房
图3
源代码
importjava.awt.Container;
importjava.awt.*;
importjava.util.*;
importjava.text.*;
importjava.awt.Rectangle;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.ItemEvent;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.Statement;
importjavax.swing.ImageIcon;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
classdengluextendsJFrameimplementsActionListener
{JLabelsystemTime;
Containercon=this.getContentPane();
JFramef=newJFrame("客房管理系统");
JLabela=newJLabel("用户名");
JTextFielda1=newJTextField();
JLabelb=newJLabel("密码");
JTextFieldb1=newJPasswordField();
JLabelq=newJLabel("答辩人:
宋立勇");
JButtonc=newJButton("登录");
JButtond=newJButton("退出");
JPanelz=(JPanel)this.getContentPane();
ImageIconicon=newImageIcon(getClass().getResource("/Desktop/3.JPG"));
JLabeltu=newJLabel(icon);
Containercontent=this.getContentPane();
publicdenglu(Strings){
super(s);
con.setLayout(null);
systemTime=newJLabel("系统时间:
");
Containercp=getContentPane();
systemTime.setBounds(20,200,200,200);
cp.add(systemTime);
a.setBounds(newRectangle(100,80,60,30));
b.setBounds(newRectangle(100,140,60,30));
a1.setBounds(newRectangle(150,80,150,30));
b1.setBounds(newRectangle(150,140,150,30));
q.setBounds(newRectangle(280,300,100,20));
c.setBounds(newRectangle(100,200,80,30));
d.setBounds(newRectangle(200,200,80,30));
con.add(a);
con.add(b);
con.add(q);
con.add(c);
con.add(d);
con.add(a1);
con.add(b1);
this.setSize(400,400);
tu.setBounds(0,0,getWidth(),getHeight());
z.add(tu);
z.setOpaque(false);
this.getLayeredPane().add(tu,newInteger(Integer.MIN_VALUE));
this.setVisible(true);
c.addActionListener(this);
d.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==d)
{
this.setVisible(false);
}
if(e.getSource()==c){
StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
try{
Class.forName(driverName);
System.out.println("连接驱动成功");
}catch(ClassNotFoundExceptionb){b.printStackTrace();};
StringdbURL="jdbc:
sqlserver:
//localhost:
1433;DatabaseName=kfglxt";
try{ConnectiondbConn;
StringuserName="sa";
Stri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 客房 管理 系统 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)