宾馆住房管理系统论文.docx
- 文档编号:8203467
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:14
- 大小:102.04KB
宾馆住房管理系统论文.docx
《宾馆住房管理系统论文.docx》由会员分享,可在线阅读,更多相关《宾馆住房管理系统论文.docx(14页珍藏版)》请在冰豆网上搜索。
宾馆住房管理系统论文
大型数据库开发与设计
宾馆住房管理系统设计与开发
——前台设计与开发
学号:
0905290245
姓名:
张少龙
班级:
软件0902班
日期:
2011.12.30
酒店住房管理系统
一、需求分析
随着人民生活水平的提高,酒店在服务行业中占有越来越重要的地位。
努力在当前服务行业日趋激烈的竞争中脱颖而出,已成为每位经营者所追求的目标。
经过多年发展,酒店管理已经逐渐由定性管理,进入到重视定量管理的科学阶段。
众所周知,在定量管理的具体实现方法和手段方面,最有效的工具就是电脑管理。
传统的手工操作管理存在着许多无法避免的问题,例如:
●人工计算帐单金额容易出现差错
●收银工作中跑单、漏单、偷钱现象普遍
●个别服务员作弊、改单情形时有发生
●客人消费单据难以保存和查询
●无法对大量营业数据进行统计分析
●无法进行会员管理和追踪
●无法准确迅速的解决折扣和优惠等问题
●无法准确满足客人的个性需求
●无法统一管理后橱的作业过程
●无论收银还是财务都需要大量的人力物力
酒店管理系统就是针对以上问题设计的。
系统实现了一般酒店日常营运的全面自动管理
1.1编写目的
本系统主要是为了为宾馆管理者,营业员提供更好的管理平台,有序,准确、快捷、高效。
进而为客人提供高速便捷的各项服务,舒适、安全的休息环境。
1.2可行性分析
随着旅游业的发展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑服务和电脑管理日益流行。
同时,酒店和餐厅娱乐业引入电脑服务和管理也取得了优良的经济效益和社会效益。
为此,国家建设部已于最近作出明确规定:
凡星级酒店在项目审批时,其设计方案必须包括电脑管理系统,否则不予立项。
可见,酒店管理电脑化势在必行。
酒店管理系统将先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住宿、餐饮、娱乐全新概念的服务和管理方式。
一个成熟的酒店管理系统不仅仅是记录酒店客人的信息,提供查询,报表打印等一系列简单的工作,它能让工作人员从烦琐的手工操作中解脱,并且酒店管理系统本身就代表着一种管理方法。
随着它的深入,将带动企业的运做,为管理和决策提供支持。
为了达到这个要求,它必须依靠高起点的硬件环境和软件开发工具来保证系统的稳定和正常运行。
酒店电脑系统要求24小时连续运行,数据量大,可靠性要求高,因此整个电脑系统供电采用专线方式,加配UPS(不间断供电系统),并合理接地,以便保障整套系统的正常运行。
1.3功能需求
酒店管理系统是一套功能强大而又简便实用的酒店管理软件,包括前台营业、营业设置、营业分析、财务查询、辅助管理、系统管理、帮助信息等八大功能模块,实现了餐饮娱乐企业日常营运的全面自动管理,是餐饮娱乐企业进行电脑信息化管理的理想选择。
经过综合分析,确定了该系统应该包括如下功能:
1)客房类型管理:
提供有关客房类型状况的规范,如标准间、单人间、普间等的价格、设施配置等信息。
2)客房信息管理:
管理各个客房的具体信息,如类型等。
3)客户信息管理:
入住宾馆的客人的具体信息的录入、保存等。
4)查询功能:
包括客户信息查询、客房信息查询、住宿记录查询等。
5)入住管理功能:
登记入住信息等。
6)预定管理功能:
登记预定客户、客房的信息以及浏览查询等。
7)结算功能:
客户退房收款等。
8)系统管理:
用户管理、用户注册等。
根据以上对系统的功能需求的分析,将系统的功能划分为三大模块:
(一)数据管理:
包括客房类型管理、客房信息管理、客户信息管理
(二)前台操作:
包括各种信息的查询、入住和预订登记和结算的管理。
(三)系统管理:
用户注册、修改密码、用户信息管理。
系统的功能模块图如下:
二、数据库的需求分析和系统设计
2.1数据库需求分析
数据库设计是利用现有的数据库管理系统为具体的应用对象构造适合的数据库模式,建立数据库及其应用系统,使之能有效地收集、存储、操作、和管理数据,满足各类用户的应用需求
(1)功能需求
1)基本功能需求
系统能正确的对用户身份进行辨识,从数据库中提取登录密码并验证身份真实性。
系统能准确的显示数据库中记录的各类数据。
系统应能将用户在系统中录入的各类信息传送到数据库中并储存。
系统应具备错误处理功能,出现错误的时候能够清楚地返回相应错误提示。
系统数据库之间能有效地相互关联。
2)用户界面需求
用户界面应简洁明快,各功能按钮明显,位置摆放合理。
字体大小适中,风格统一规范,界面美观。
(2)性能需求
1)系统灵活性:
管理员编写人员、商品等信息都将在系统中进行编号处理,保障了每一条信息的单一性,同时也对数据的读取提供了方便。
服务员所生成的订单有着单一的帐单号并准确无误存储在数据库中。
系统应能准确地将管理员提交和修改的信息写入数据库,而且能够及时地更新。
数据库中的各项表之间有着很好的相互关联,并能及时显示。
2)系统安全性:
每个相应权限登录时,系统都会自动的辨别他所输入的账户与密码,正确进入相应界面,错误则登录失败。
3)系统易用性:
系统界面简明,明细清楚,实用简单。
酒店在正常的运营中需要对客房资源、顾客信息、结算信息进行管理,利用宾馆管理信息系统及时了解各个环节中信息的变更,有利于提高管理效率。
开放性的、应用系统可灵活伸缩的、面向最终用户的现代TIMS(旅游信息管理系统)的服务性系统,不断满足酒店业务需求、市场环境的拓展和管理模式的变化应用酒店管理系统通过节省大量的人力物力,增加酒店的服务项目,提高酒店的服务档次,减少管理上的漏洞,从整体上提高酒店的经济效益。
如完善的预订功能可防止有房不能租或满房重订的情况出现,可随时提供准确的房间使用和预订情况,从而提高客房出租率。
正确控制房价,可以给予客人最优惠的房价,从而减少管理漏洞,提高客房收入。
2.2数据库设计
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
这个问题是数据库在应用领域的主要研究课题。
按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:
A需求分析、B概念结构设计、C逻辑结构设计、E数据库运行和维护。
2.3创建表
列名
数据类型
可否为空
说明
Type
CHAR(8)
NOTNULL
酒店业务名称
Remarks
VARCHAR(50)
NULL
备注
表1-1酒店业务表type
列名
数据类型
可否为空
说明
EmployeeId
CHAR(4)
NOTNULL
员工号(主键)
EmployeeName
VARCHAR(12)
NOTNULL
登陆名
Password
CHAR(10)
NOTNULL
密码
Sex
CHAR(6)
NULL
性别
Timee
DATETIME(8)
NULL
创建时间
Restricte
INT(4)
NOTNULL
权限
Remarks
VARCHAR(50)
NULL
备注
表1-2操作登陆表login
列名
数据类型
可否为空
说明
Code
CHAR(4)
NOTNULL
客房类型编号(主键)
Type
CHAR(10)
NULL
客房类型
Price
MONEY(8)
NULL
价格
表1-3客房类型表roomtype
列名
数据类型
可否为空
说明
Code
CHAR(4)
NOTNULL
客房状态编号(主键)
RoomStatus
CHAR(8)
NULL
客房状态
Number
INT(4)
NULL
此状态客房数量
表1-4客房状态表roomappearance
列名
数据类型
可否为空
说明
RoomNo
INT(4)
NOTNULL
客房编号(主键)
Status
CHAR(4)
NULL
客房状态编号
RoomType
CHAR(4)
NULL
客房类型编号
GuestId
INT(4)
NULL
宾客编号
Remarks
VARCHAR(50)
NULL
备注
表1-5客房信息表room
列名
数据类型
可否为空
说明
Code
CHAR(4)
NOTNULL
桌台状态编号(主键)
Type
CHAR(10)
NULL
桌台状态
Number
INT(4)
NULL
此状态桌台数量
表1-6桌台状态表deskappearance
列名
数据类型
可否为空
说明
TableNo
INT(4)
NOTNULL
桌台编号(主键)
Appearance
CHAR(4)
NULL
桌台状态编号
GuestId
INT(4)
NULL
宾客编号
Remarks
VARCHAR(50)
NULL
备注
表1-7桌台信息表diningroom
列名
数据类型
可否为空
说明
Id
CHAR(4)
NOTNULL
编号(主键)
Name
CHAR(10)
NULL
服务员姓名
Sex
CHAR(4)
NULL
性别
Address
CHAR(16)
NULL
家庭住址
Birth
DATETIME(8)
NULL
出生日期
Photo
IMAGE(16)
NULL
照片
Remarks
VARCHAR(50)
NULL
备注
表1-8服务员表server
列名
数据类型
可否为空
说明
Number
CHAR(4)
NOTNULL
证件类型编号(主键)
Type
CHAR(10)
NULL
证件类型
Remarks
VARCHAR(50)
NULL
备注
表1-9证件类别表certificate
列名
数据类型
可否为空
说明
GuestId
INT(4)
NOTNULL
宾客编号(主键)
GuestName
CHAR(10)
NULL
宾客姓名
GuestType
CHAR(10)
NULL
宾客类型编号
Sex
CHAR(4)
NULL
性别
Birthday
DATETIME(8)
NULL
出生日期
Address
VARCHAR(50)
NULL
家庭住址
CertificateType
CHAR(4)
NULL
证件类型编号
CertificateNo
VARCHAR(18)
NULL
证件号码
Consume
MONEY(8)
NULL
付款金额
LiveDate
DATETIME(8)
NULL
登记时间
Outdate
DATETIME(8)
NULL
结账时间
表1-10宾客信息表guest
列名
数据类型
可否为空
说明
Id
CHAR(4)
NOTNULL
物品编号(主键)
Code
CHAR(8)
NULL
物品简称
Name
CHAR(16)
NULL
物品名称
Price
MONEY(8)
NULL
物品价格
Unit
CHAR(4)
NULL
物品单位
Remarks
VARCHAR(50)
NULL
备注
表1-11物品信息表food
列名
数据类型
可否为空
说明
Employee
CHAR(10)
NULL
操作员
Datetime
DATETIME(8)
NULL
操作时间
Howdo
VARCHAR(20)
NULL
操作日志
表1-12系统日志表howdo
2.4数据库操作代码
⒈数据库连接
HRESULThr;
try
{
hr=m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=E:
\StaffInfo.mdb","","",adModeUnknown);
/*打开连接*/
}
}
catch(_com_errore)///捕捉异常
{
CStringerrormessage;
errormessage.Format(TEXT("连接数据库失败!
\r\n错误信息:
%s"),e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
⒉查询数据库
TCHARc_Remind[256];
GetDlgItemText(IDC_CUS_START,c_Remind,sizeof(c_Remind)/sizeof(TCHAR));///得到空间中的内容
CStringtemp=c_Remind;
CStringtep;///连接字符串,使用SQL语句进行查询
tep.Format(TEXT("SELECT*FROMcustomerinfoWHEREcus_endlive='%s'ANDcus_housenumIN(SELECThouse_numFROMhouseinfoWHEREhouse_state='入住')"),temp);
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open(tep.GetBuffer(),///打开数据库中表
_variant_t((IDispatch*)m_pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);
tep.ReleaseBuffer();
m_success=TRUE;
if(!
m_pRecordset->BOF)///判断查询结果是否为空
{
m_pRecordset->MoveFirst();
}
else
{
AfxMessageBox(TEXT("今日无提醒!
"));
return;
}
///循环将查询得到的记录集显示到控件中
while(!
m_pRecordset->adoEOF)
{
///得到查询结果记录集的每列的值
m_cus_housenum=m_pRecordset->GetCollect("cus_housenum");
m_cus_name=m_pRecordset->GetCollect("cus_name");
m_cus_sex=m_pRecordset->GetCollect("cus_sex");
m_cus_idnum=m_pRecordset->GetCollect("cus_idnum");
m_cus_tel=m_pRecordset->GetCollect("cus_tel");
///将查询结果显示到listcontrol空间中
nItem=m_cuslist.InsertItem(0xffff,(_bstr_t)m_cus_housenum);
m_cuslist.SetItem(nItem,1,1,(_bstr_t)m_cus_name,NULL,0,0,0);
m_cuslist.SetItem(nItem,2,1,(_bstr_t)m_cus_sex,NULL,0,0,0);
m_cuslist.SetItem(nItem,3,1,(_bstr_t)m_cus_idnum,NULL,0,0,0);
m_cuslist.SetItem(nItem,4,1,(_bstr_t)m_cus_tel,NULL,0,0,0);
m_pRecordset->MoveNext();
}
⒊添加记录
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open("SELECT*FROMStaffInfo",
_variant_t((IDispatch*)m_pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);//打开数据库中的表
m_pRecordset->AddNew();///添加新记录
///修改数据库表中每列的值
m_pRecordset->PutCollect(_variant_t("staff_num"),_variant_t(text_num));
m_pRecordset->PutCollect(_variant_t("staff_name"),_variant_t(text_name));
m_pRecordset->PutCollect(_variant_t("staff_sex"),_variant_t(text_sex));
m_pRecordset->PutCollect(_variant_t("staff_tel"),_variant_t(text_tel));
m_pRecordset->PutCollect(_variant_t("staff_position"),_variant_t(text_position));
m_pRecordset->PutCollect(_variant_t("staff_limit"),_variant_t(text_limit));
m_pRecordset->PutCollect(_variant_t("staff_wages"),_variant_t(text_wages));
m_pRecordset->Update();///更新数据库
⒋修改记录
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open("SELECT*FROM
lstaffinfo",_variant_t((IDispatch*)m_pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);
m_pRecordset->PutCollect(_variant_t("lstaff_num"),_variant_t(text_num1));
m_pRecordset->PutCollect(_variant_t("lstaff_cipher"),_variant_t("000000"));
m_pRecordset->PutCollect(_variant_t("lstaff_limits"),_variant_t(text_limit1));
m_pRecordset->Update();///更新数据库
⒌删除记录
CStringtemp=c_num;///把字符数组中得到的控件中的信息赋给字符串
CStringtep;///字符串连接
tep.Format(TEXT("SELECT*FROMStaffInfoWHEREstaff_num='%s'"),temp);
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open(tep.GetBuffer(),
_variant_t((IDispatch*)m_pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);
tep.ReleaseBuffer();
m_pRecordset->Delete(adAffectCurrent);///删除当前记录
m_pRecordset->Update();
三、概念设计
概念结构设计师E-R方法分析与设计,概念结构设计是整个数据库设计的关键。
将使用实体-联系E-R模型来描述系统的概念结构,以及它们之间对的关系,为后面的逻辑结构设计打下基础。
实体包含各种具体实际信息,通过相互间的作用形成数据的流动。
部分实体属性如图所示:
账单包括账单编号,客房编号,消费内容,消费金额,消费时间。
如图所示:
预订单包括客房编号、客房类型、预订单号、预定人、入住时间、备注、单据状态、客房价格等。
如图所示:
总体E-R图如下所示:
四、逻辑设计
逻辑设计;主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。
与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。
这一步设计的结果就是所谓“逻辑数据库”。
1系统关系模型
账单表(账单编号、客房编号、消费内容、消费金额、消费时间、备注)
预订单表(预订单号、客房类型、入住时间、离店时间、客房编号、客房价格、单据状态、预定人)
2系统优化:
一个实体表示成一个关系:
这一转化规则是指将E-R图中的每个实体转化成一个关系数据模型,尸体的所有属性转换成相应关系模型中的数据项,尸体的关键字就是相应关系数据模型的关键字例如:
酒店管理账单尸体转化成的关系数据模型课表示为:
账单表(账单编号、客房编号、消费内容、消费金额、消费时间、备注)从这一转换可以看出,实体的名称转换为关系数据模型的名称,关系数据模型原括号内的数据项就是实体的属性
一个联系表示成一个关系:
这一转换规则是指将E-R图中每一个带有属性的联系转化成一个关系数据模型。
关系模型的数据项有联系的全部属性和生产此联系的每一个实体的关键字段转换而来,构成此联系的每一个实体的关键字组合就构成该关系模型的关键字。
有E-R图转换导出的所有关系数据模型就构成了数据可的逻辑模型。
在建立逻辑模型时,通常要根据模型的范式理论,对数据模型进行优化处理,并符合第三范式。
例如如果把关系A(账单编号、客房编号、消费金额)分解成关系B(账单编号、客房编号)和关系C(客房编号、消费金额),则消除了原有的传递依赖关系,数据冗余大量减少,关系B和关系C均符合第三范式的要求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宾馆 住房 管理 系统 论文