宾馆管理系统的设计与实现.docx
《宾馆管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《宾馆管理系统的设计与实现.docx(38页珍藏版)》请在冰豆网上搜索。
![宾馆管理系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-2/1/eec6ba98-bf4d-48bc-af46-85106a294d0a/eec6ba98-bf4d-48bc-af46-85106a294d0a1.gif)
宾馆管理系统的设计与实现
实践环节报告
课程名称:
三级实践课题
课题名称:
宾馆管理系统的设计与实现
专业:
软件工程(移动互联网方向)
班级:
RB软工移132
学号:
201370024219
学生姓名:
张权
指导教师:
高亮
2015年4月15日
中原工学院软件学院
三级实践课题设计任务书
姓名
张权
软件工程专业RB软工移132班
题目
宾馆管理系统的设计与实现
设
计
任
务
本系统开发的是一个比较完善宾馆管理系统,是为了方便宾馆管理人员操作和提高宾馆收益效率,方便住宿人员,为此开发了基于java的简单的一套宾馆管理系统。
该系统适用于一些中小宾馆方便快捷,本系统具有员工和经理两个登录身份,分别具有不同的操作。
本系统具体具有以下功能:
1)住房管理,实在房态图上进行对客户预定(独立完成),入住(独立完成)
2)经理可以对员工进行信息的添加、修改、查询等操作,提高服务质量
3)房间物品的管理和物品损坏的关了
4)房间和房型管理
5)房型房间价格的管理(独立完成)
6)统计管理
开发工具:
MyEclipse、MySQL。
时
间
进
度
第1周:
(2015.03.09~2015.03.14):
按照老师的指导,我们四个详细写出项目计划,共同列出数据库数据表,进行系统的需求分析,页面设计,概要设计等方面;
第2周:
(2015.03.14~2015.03.21):
进行模块的详细设计,将系统按本组成员分为各个相应的模块,个人将自己所分到的模块独自完成,到最后完成后合并到一起,进行程序的测试,修改。
第3周:
(2015.03.22~2015.04.05):
进行最后阶段的整理,将程序交给老师验收,编写总结报告,。
原主
始要
资参
料考
与文
献
[01]Y.iDanielLiang.Java语言程序设计基础篇(原书第8版)[M],北京:
机械工业出版社.2011.5
[02]Y.DanielLiang.Java语言程序设计进阶篇(原书第8版)[M],北京:
机械工业出版社.2011.5
[03]何玉洁,SQLServer2008[M],北京:
机械工业出版社,2013.3
摘要
当今时代,科技发展迅速。
计算机技术的不断更新,其强大的功能,在人们生活中扮演的角色愈来愈重要。
它已经进入到人类社会的各个领域并发挥着越来越重要的作用,宾馆管理系统是一个宾馆单位不可缺少的一部分。
以前人们用传统的人工方式管理,这种管理方式存在许多缺点,入住效率低。
因此,宾馆管理系统能够为用户提供充足的信息和快捷的查询手段。
及时响应客户的需求创造更多的经济效益及利润。
本系统正是利用数据库系统和java程序语言来开发实现信息处理工具,包括了宾馆管理的某些常用模块,如客房管理、宾客管理、客户入住、客户预定、住宿结算等基本功能。
具有操作简单、界面友善、运行稳定等特点。
本软件针对宾馆客房管理的工作特点,系统按照中小型宾馆业务程序刘式设计功能模块,来宾接待(入住登记、客房预定)、查询统计(查询房间状态、查询预定信息、查询入住客人信心、查询客房)、、收银结账(物品损坏、退房)。
本系统是根据实际的基本情况和具体内容,按照我们所学到的知识进行分析和设计,具体包括数据输入、查询、删除、修改等设计。
从而使本系统具有灵活性和可靠性。
本系统通过应用MyEclipse和MySQL数据库技术开发了本系统,宾馆管理员和经理是通过窗口、菜单和窗口上的各种控件等界面元素来操作应用程序的,应用处理逻辑是通过事件和函数中的程序代码来实现的。
它可以实现各种入住客户信息的管理操作。
目前由于技术有限,所以本管理系统并没有使用。
关键词:
宾馆管理系统;数据库;客房等级;客房管理;查询统计;
摘要III
第1章绪论1
1.1课题背景1
1.2宾馆管理系统的现状1
1.2.1宾馆管理系统的开发情况1
1.3课题研究内容1
1.4课题意义2
第2章需求分析3
2.1业务分析3
2.2功能需求分析3
2.3系统环境需求3
2.3.1开发环境需求3
2.3.2运行环境需求3
第3章概要设计4
3.1数据库概要设计4
3.1.1实体及其属性4
3.1.2关系图分析5
3.2系统管理模块设计6
第4章详细设计8
4.1数据库详细设计8
4.2系统详细设计10
4.2.1客户预定管理10
4.2.2客户入住管理13
4.2.3房间价格管理16
第5章测试20
5.1测试用例20
5.2测试结果20
第6章结束语22
附录A:
主要源程序25
第1章绪论
1.1课题背景
随着人们的生活水平的提高,假日经济已成为人们消费的热点,使得宾馆酒店业得到快速发展。
随着宾馆酒店增多,人们要求提高,宾馆酒店业的竞争也更激烈。
宾馆酒店要在激烈的竞争中谋求生存与发展,就必须要提高其服务管理水平。
随着旅游业的发展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑服务和电脑管理日益流行。
同时,酒店和餐厅娱乐业引入电脑服务和管理也取得了优良的经济效益和社会效益。
为此,国家建设部已于最近作出明确规定:
凡星级酒店在项目审批时,其设计方案必须包括电脑管理系统,否则不予立项。
可见,酒店管理电脑化势在必行。
酒店管理系统将先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住宿、餐饮全新概念的服务和管理方式。
传统的酒店管理往往令管理者花大量的时间来处理顾客投诉,例如错误查询、烦琐的登记和结帐手续、旅客费用计算错误、空余客房资料不能及时提供等,从而影响出租率,使的管理人员不得不集中精力规划管理运行策略和进行决策。
以上问题可通过电脑系统辅助解决,酒店管理的电脑化,不仅是体现酒店现代化形象的一个重要标志,而且对于提高员工工作效率,加速资金周转、降低各项成本及改善服。
1.2宾馆管理系统的现状
1.2.1宾馆管理系统的开发情况
现代信息技术的发展,特别是电脑的推动,人们对信息的获取和处理越来越快,这个体现在人们的方方面面。
电脑作为信息快速储存,分析,处理,传播的工具,越来越受到人们的青睐,比如宾馆客房管理,对于整个宾馆行业来说,宾馆的经营状况起决定作用的是酒店的服务管理水平,传统的宾馆的管理往往需要宾馆管理人员花大量时间和精力来处理顾客查询、顾客登记等等事务,而这个系统正是在最需要时候的产生,相信它的到来,一定会给宾馆行业带来革命性的变化。
1.3课题研究内容
宾馆管理系统设计与开发是运用JAVA和MySQL进行程序开发,设计出一套适合中小型宾馆的应用软件,由于技术有限,并未实际应用。
它主要实现以下功能:
1)住房管理,包括预定、入住、退房等功能。
2)员工管理包括员工信息的添加、查询、修改。
3)房型管理包括房型信息的修改和房型信息的查询功能。
4)物品管理中有房间物品的添加更改和查询。
5)房间和房价管理根据不同的房型有不同的价格可以对房间添加和更改。
6)统计管理计算入住和物品损坏总价。
1.4课题意义
客房等的管理工作日趋繁重,住宿信息的手工登记与查询,客户调配,是一项非常繁重而枯燥的劳动,耗费许多人力和物力。
通过对一些中小型宾馆、酒店进行调研分析,发现只有几个大型的酒店是信息化管理,其他均为人工登记。
这不但增加劳动而且会因人的情绪不稳定而出现失误,使宾馆服务质量下降。
本系统主要是面向整个中小型宾馆的客房管理工作。
它的应用将会提高客房管理工作的效率,减少人员的手工劳动,使查询及管理既快捷又准确,使宾馆管理工作更加规范化、信息化,管理形式灵活方便。
宾馆业的竞争也变的愈来愈激烈。
从而对于宾馆服务管理水平的要求也有所提高。
采用全新的计算机网络和宾馆管理系统,已经成为提高宾馆的管理效率、改善服务水准的重要手段之一。
面对信息时代的机遇和挑战,利用科技手段来提高企业管理无疑是一条行之有效的途径。
信息与科技在宾馆管理与现代化建设中显现出越来越重要的地位。
在某种意义上,宾馆客房状态管理方面的信息化与科学化,已成为现代化宾馆的重要标志。
第2章需求分析
2.1业务分析
宾馆客房管理信息系统是用来收集、处理、存贮和传播客房、顾客、结算信息,以信息管理为核心的计算机应用系统。
利用宾馆客房管理信息系统中合理的数据库结构来保存数据信息,及时了解各个环节中信息的变更,通过有效的程序结构来支持各种数据操作的执行,以提高管理效率,
2.2功能需求分析
经过业务分析,考虑到宾馆管理员的需求,宾馆管理系统需要实现以下功能:
1)住房管理。
2)员工管理。
3)物品和物品损坏管理。
4)房型和房间的管理。
5)房间价格的管理。
6)统计管理
2.3系统环境需求
2.3.1开发环境需求
硬件要求:
CPU酷睿i5以上PC服务器,内存2GB以上,硬盘500GB以上。
操作系统:
WindowsXP、Windows7
软件要求:
java开发环境,MySQL
2.3.2运行环境需求
硬件要求:
CPU酷睿i5以上PC服务器,内存2GB以上,硬盘500GB以上。
操作系统:
WindowsXP、Windows7
软件要求:
.MyEclipse
第3章概要设计
3.1数据库概要设计
作为系统的重要组成部分,数据库设计需要进行各种实体及他们的属性描述,这样,在下面的描述详细设计时,在本章可以看到系统设计的大致设计框架。
3.1.1实体及其属性
Room_type(room_type_id,room_type_name,nominal_size)
Room(room_id,room_type_id,room_phone,room_status)(其中room_type_Id是外键)
Custom(number_id,custom_name,age,custom_phone)
Orders(order_id,number_id,room_id,check_date,accounts_date,statu,
item_name,Limits,aggregate)(其中number_id,room_id是外键)
Room_rate(Id,room_type_id,item_name,room_price)(其中room_type_Id是外键)
Goods_rate(Id,room_type_id,item_name,goods_price)(其中room_type_Id是外键)
Goods_spoil(order_id,goods_idi,goods_number,room_id)(其中order_id,goods_id,room_id是外键)
Manage(account,password,status,name)
3.1.2关系图分析
由数据表之间的关系得出3.1图。
房间状态
实际人数
身份证号
房间号
入住时间
预定入住时间
物品
房型号
物品编号
价格
物品名称
N
摆放
1
房子型号
房型名称
额定人数
房型号
N
1
售价
属于
M
N
房子价格
编号
价格
房款
房型号
房间
房间电话
房型号
房间号
入住
N
1
订单
总费用
结算时间
订单编号
1
物品损坏
订单编号
房间号
物品损坏编号
1
完成
客户
N
电话号码
身份证号
名字
性别
出租方式
图3.1 系统关系分析图
3.2系统管理模块设计
宾馆系统主要分成经理登录,员工登录,两部分。
经理拥有着整个系统的最大权限,它包括着对房型、房间、物品、物品损坏,员工,房间价格的增删改查,统计,房态图退房、预定、入住等操作。
图3.2系统功能结构图
第4章详细设计
为解决房型、房间、物品以及经理和员工登录身份识别的复杂的对应关系,选用关系型数据库管理工具建立它们之间的关联关系。
为方便查询,要考虑房型信息,房间信息,房间价格信息,物品信息,物品损坏信息,通过汇总综合他们之间的一些联系为目的,我们采取模块化设计思想,通过各模块的不同组合以实现不同的查询功能。
最终,使系统能够具有内容规范、信息完整、查询便捷等特点
4.1数据库详细设计
根据数据库设计概要,我们最终得出数据库中所需的有:
room_type表,room_rate表,room表,orders表,goods_spoil表,goods_rate表,custom表,manage表
1)room_rate表
表4.1room_rate表
列名
说明
数据类型与长度
约束
Id
房价编号
Int(11)
主键
Room_type_id
房型号
Int(11)
引用room_type的外键
Item_name
出租方式
Varchar(255)
非空
Room_price
房价
Double(10,2)
非空
2)room表
表4.2room数据表
列名
说明
数据类型和长度
约束
Room_Id
房间号
Varchar(11)
主键
Room_type_id
房型号
Int(11)
引用room_type的外键
Room_phone
房间电话
Varchar(15)
无
Renshu
实际人数
Int
(2)
非空
Room_status
房间状态
Varchar(255)
非空
3)room_type表
表4.3room_type数据表
列名
说明
数据类型与
约束
Room_Type_id
房型号
Int(11)
主键
Room_type_name
房型名称
Verchar(255)
无
Mominal_size
额定人数
Int(10)
无
4)order表
表4.4orders数据表
列名
说明
数据类型与长度
约束
Order_id
订单编号
Int(11)
主键
Number_id
身份证号
Varchar(20)
引用custom外键
Room_id
房间号
Varchar(11)
引用room外键
Check_date
入住时间
Datemate
无
Check_dates
预定时间
Datemate
无
Accounts_date
退房时间
Datemate
无
Statu
入住状态
Varchar(20)
非空
Item_name
出租方式
Varchar(20)
非空
Limits
总房款
Double(20,2)
无
Aggregate
总消费
Double(20,2)
无
5)goods_spoil表
表4.5goods_spoil数据表
列名
说明
数据类型与长度
约束
Order_id
订单编号
Int(11)
主键,引用order的外键
Goods_id
物品编号
Int(11)
主键,引用good_rate的外键
Room_number
损坏数量
Int
(2)
非空
Room_id
房间号
Varchar(20)
引用room的外键
6)goods_rate表
表4.6goods_rate数据表
列名
说明
数据类型与长度
约束
Id
物品编号
Int(11)
主键
Room_rate_id
房型号
Int(11)
引用room_type的外键
Item_name
物品名称
Varvhar(20)
非空
Good_price
物品价格
Double(10,2)
非空
7)custom表
表4.7custom数据表
列名
说明
数据类型与长度
约束
Number_id
身份证号
Varchar(20)
主键
Custom_name
客户姓名
Varchar(10)
非空
Age
性别
Varchar
(2)
非空
Custom_phone
客户电话
Int(15)
无
8)manange表
表4.8manage数据库表
列名
说明
数据类型与长度
约束
Account
工号
Int(11)
主键
Password
密码
Varchar(20)
无
Status
身份
Varchar(10)
非空
Name
姓名
Varchar(255)
无
4.2系统详细设计
在本次实训中我主要实现的是客户预定管理,客户入住管理,和房间房型价格的计算,以下是模块实现情况。
4.2.1客户预定管理
(1)客户预定管理:
进入该界面后,可以通过添加客户的详细信息和客户所要预定房间的方式预定时间一并添加到数据表中,所示是对其进行的添加功能界面如下图4.1所示。
图4.1客户预定管理界面
其主要代码如下:
yuding(Stringclickid,staff1st){
st1=st;
bq1=newJLabel(newImageIcon("image/2.jpg"));//北部
mb=newJPanel();
mb.setLayout(newGridLayout(4,4));
finalDateChooserJButtondcjb=newDateChooserJButton();
fanghao=newJLabel("房间号");
xingming=newJLabel("姓名");
xingbie=newJLabel("性别");
shoujihao1=newJLabel("手机号码");
shenfenzhenghao=newJLabel("身份证号");
ruzhuzhuangtai=newJLabel("入住状态");
ruzhushijian=newJLabel("预住日期");
chuzufangshi=newJLabel("出租方式");
fanghao1=newJTextField();
fanghao1.setText(clickid);
name=newJTextField();
shoujihao=newJTextField();
id=newJTextField();
ruzhutime=newJTextField();
ruzhuzhuangtai1=newJTextField();
beizhu1=newJTextArea();
ruzhuzhuangtai1.setText("预定");
try{
roomDAOImplrdi=newroomDAOImpl();
ArrayListro=rdi.QueryAll("room_id='"+fanghao1.getText()
+"'");
if(ro.size()==1){
ints=ro.get(0).getRoom_type_id();
Room_rateImplrri=newRoom_rateImpl();
ArrayListrt=rri.Query("room_type_id='"
+ro.get(0).getRoom_type_id()+"'");
String[]itemname=newString[rt.size()];
for(inti=0;iitemname[i]=rt.get(i).getRental_method();
chuzufangshi1=newJComboBox(itemname);
}
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
sex=newJComboBox(newString[]{"男","女"});
mb.add(fanghao);
mb.add(fanghao1);
mb.add(xingming);
mb.add(name);
mb.add(xingbie);
mb.add(sex);
mb.add(shoujihao1);
mb.add(shoujihao);
mb.add(shenfenzhenghao);
mb.add(id);
mb.add(ruzhushijian);
mb.add(dcjb);
mb.add(ruzhuzhuangtai);
mb.add(ruzhuzhuangtai1);
mb.add(chuzufangshi);
mb.add(chuzufangshi1);
mb1=newJPanel();
an1=newJButton("保存");
an2=newJButton("返回");
an1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
//TODOAuto-generatedmethodstub
try{
CustomImplDao=newCustomImpl();
ArrayListarr=Dao.Query("");
for(inti=0;iif(arr.get(i).getCustomIdCard().equals(id.getText())){
flag=true;
break;
}
}
if(flag==true){
Ordero=newOrder();
o.setRoomId(fanghao1.getText());
o.setNumberId(id.getText());
Timestampdate=Timestamp.valueOf(dcjb.getText());
o.setCheckDate(date);
o.setStatu(ruzhuzhuangtai1.getText());
o.setItem_name(chuzufangshi1.getSelectedItem()
.toString());
OrdersImpldao=newOrde