酒店管理系统开发文档 精品.docx

上传人:b****8 文档编号:10811333 上传时间:2023-02-23 格式:DOCX 页数:29 大小:521.23KB
下载 相关 举报
酒店管理系统开发文档 精品.docx_第1页
第1页 / 共29页
酒店管理系统开发文档 精品.docx_第2页
第2页 / 共29页
酒店管理系统开发文档 精品.docx_第3页
第3页 / 共29页
酒店管理系统开发文档 精品.docx_第4页
第4页 / 共29页
酒店管理系统开发文档 精品.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

酒店管理系统开发文档 精品.docx

《酒店管理系统开发文档 精品.docx》由会员分享,可在线阅读,更多相关《酒店管理系统开发文档 精品.docx(29页珍藏版)》请在冰豆网上搜索。

酒店管理系统开发文档 精品.docx

酒店管理系统开发文档精品

简单酒店管理系统

08信管1班冯茜

08信管2班陆思佳王娟

一.开发背景

随着社会服务行业的发展,酒店行业对自身提供服务的质量和能力也有了更高的要求。

酒店管理系统正是在这样的情况之下越来越受到重视。

酒店内部服务项目众多,既需要完成前台的服务工作,还需要完成后台的管理工作。

如果没有一套可靠的酒店管理系统,单凭手工操作,不仅效率低,而且会极大地影响到酒店的服务质量。

二.酒店管理系统的分析和设计

2.1需要解决的问题

目前手工操作或采用旧管理系统的酒店在运营时存在如下几个主要问题:

1.房间的预定功能不能或无法完全的实现,手工记录或早期系统无法即时了解当天的房间使用状况,无法判断房间是否被重复预定,客人无法在到达酒店前随时进行酒店预订和房间信息的了解。

2.宾客住宿时,操作员不能直接了解实际房价和房间使用情况;对于预定宾客无法做到有效的查询、直接入住。

3.收银处不能快速的了解待结用户的情况,无法有效的督促其进行费用的缴纳;当用户结账时,对于其消费情况无法快速的查询并清楚的显示,容易出现费用纠纷,住房费用靠人工进行计算,容易出现差错。

4.管理部门无法直接、快速查询、统计客人实际消费情况,营业情况。

5.酒店经理不能直接、及时了解客房开房情况,客人消费情况,酒店营业收入情况,没有各种所需的数据分析。

6.由于人手操作的缘故,所有统计报表都由人手工计算和制作,不但效率低,容易差错,更无法作大型复杂的统计,先进的管理模式无法在酒店应用,直接影响酒店管理水平的提高。

7.客人无法提前了解酒店直观的了解酒店位置,房间信息,进行客房预订等。

2.2系统设计目标

针对旧系统的主要问题,本系统提出的总目标是为酒店宾客提供迅速、高效、满意的服务;最大程度的减少事务处理过程中的误差;及时、准确地反映酒店的运作情况、经营情况,从而提高酒店的服务质量,获得更好的经济效益。

具体的目标包括:

1.宾客在线自助预定服务功能。

2.快速办理客人入住

3.客房管理功能:

显示当前各房间状态(Available/InUse/Booked)

4.房费扣除系统:

自动扣除每日房费或半日房费,使收银员不必再进行繁琐的计算。

5.结帐系统:

自动显示当前待结、欠款宾客;转帐、入帐、锁单功能;由电脑自动记录每位客人的每笔消费记录,确保准确无误。

6.客人资料管理功能:

对住宿用户、预定用户、历史用户进行设置和管理。

7.综合查询功能。

8.账务统计功能:

根据需求统计每日或每月宾馆收入、消费情况,方便财务部门进行资金的核对,并直观的显示出各段时间酒店的运营状况、入住状况。

9.系统运行稳定可靠、各项维护功能齐全、易于维护。

10.简单、友好的操作界面。

2.3系统性能要求

本系统的最终用户涉及酒店前台操作人员、收银员、财务人员、经理、后勤部门,负责了整个酒店的运作。

因此系统必须运行稳定可靠。

并且操作界面要简单友好,功能按钮用词要明确,提示要完备,使用户在较短的时间内掌握软件的使用方法。

2.4系统运行环境

硬件环境:

1.CPU主频Pentium3GHz或更高。

2.内存512M或更高

3.显示器分辨率800*600或更高。

操作系统:

WindowsXP\Windows2003

三.功能模块划分:

简单酒店管理系统的系统功能模块如下图3-1所示:

系统功能模块图(3-1)

 

3.1客房信息:

该模块主要包括:

客人入住信息,换房信息,退房信息,预订,押金等信息

3.2信息查询:

此模块主要包括:

入住旅客信息,房间状态,物料消耗,押金消费等查询操作

3.3结账模块:

此模块主要包括:

餐费,话费,消费入账,物资总消耗

3.4账务账单统计

此模块主要包括:

客房入住,客房话费,客房餐费,客房消费等统计操作

3.5管理员设置

此模块主要包括:

管理员管理,密码修改,系统日志查看,数据备份等操作。

3.6辅助功能

此模块主要包括:

计算器,记事本,播放器,小游戏等调用操作

3.7关于系统

此模块主要包括:

系统的相关信息

 

四.系统功能流程图:

 

 

 

五.数据库设计

5.1.1客户入住单表

5.2客房结账单

5.3客房预约单表

5.4操作用户表

5.5消费入帐表

5.6消费物品表

5.7话费入账表

5.8酒店信息表

5.9酒店房间表

5.10餐费入账

六.模块实现过程

6.1主界面设计如下图所示

实现过程,建立一个窗体,命名为mainform,在工具箱中找到menustrip,分别输入相应的菜单项,在form_load时间中添加如下形式的代码:

DimMyDlgAsNew当前窗体()

MyDlg.ShowDialog()

连接子窗体。

6.2工具栏的实现

工具栏图示:

实现方法:

在工具箱中把tooltcrip按钮拖到主窗体中,右击鼠标,选择新建按钮,选择属性-添加北京图片,将图片引入到当前项目中,双击按钮填写时间,代码如下:

DimMyDlgAsNew当前窗体()

MyDlg.ShowDialog()

6.3模块功能实现过程

1.建立一个模块(modul)进行数据库连接,起连接代码如下:

ModuleMdlCommon

PublictxtSQLAsString'存放SQL语句

PublicDBSetAsDataSet'查询得到的记录集

PublicErrorMsgAsString'存放错误信息

PublicFunctionExecuteSQL(ByValstrSQLAsString,ByReferrMsgAsString)AsDataSet

DimcnnAsSqlClient.SqlConnection

DimcmdAsNewSqlClient.SqlCommand()

DimadptAsSqlClient.SqlDataAdapter

DimrstAsNewDataSet()

DimSplitSQL()AsString

errMsg=""

Try

SplitSQL=Split(strSQL)

cnn=NewSqlClient.SqlConnection("datasource=(local);initialcatalog=urp;userid=sa;pwd=1234")

IfInStr("INSERT,DELETE,UPDATE",UCase$(SplitSQL(0)))Then

cmd.Connection=cnn

cmd.Connection.Open()

cmd.CommandText=strSQL

cmd.ExecuteNonQuery()

Else

adpt=NewSqlClient.SqlDataAdapter(strSQL,cnn)

adpt.Fill(rst)

ExecuteSQL=rst

EndIf

CatchexAsException

errMsg=ex.Message

Finally

rst=Nothing

cnn=Nothing

EndTry

EndFunction

EndModule

2.部分功能实现介绍:

2.1入住登记:

单击菜单项里面的客房入住下拉菜单,单击【客人入住信息】或单击工具栏中【住房信息】按钮,弹出如图所示窗体:

可以在里面输入相应的信息,并进行保存。

代码如下:

ImportsSystem.Data.SqlClient

ImportsSystem.IO

PublicClassBookForm

PrivateSubComboBox1_SelectedIndexChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesComboBox1.SelectedIndexChanged

strsql="select*from酒店房间where类别='"&ComboBox1.Text&"'"

objconn1.Open()

ad=NewSqlDataAdapter(strsql,objconn1)

objconn1.Close()

objdset1.Clear()

ad.Fill(objdset1,"a")

DataGridView1.DataSource=objdset1.Tables("a")

Me.TextBox1.Text=Me.DataGridView1.CurrentRow.Cells(0).Value

EndSub

PrivateSub新增Button_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles新增Button.Click

IfTrim(TextBox1.Text)=""Then

MsgBox("房间类别不能为空!

",64,"提示")

TextBox1.Focus()

Else

DimstrinAsString

objconn1.Open()

DimyybhAsNewSqlParameter("@yybh",SqlDbType.NVarChar,30)

DimfhAsNewSqlParameter("@fh",SqlDbType.NVarChar,30)

DimysyjAsNewSqlParameter("@ysyj",SqlDbType.Float)

DimrzrqAsNewSqlParameter("@rzrq",SqlDbType.DateTime,16)

DimlkrqAsNewSqlParameter("@lkrq",SqlDbType.DateTime,20)

DimkrxmAsNewSqlParameter("@krxm",SqlDbType.NVarChar,30)

DimzsrsAsNewSqlParameter("@zsrs",SqlDbType.Int)

DimkrxbAsNewSqlParameter("@krxb",SqlDbType.NVarChar,20)

DimlxdhAsNewSqlParameter("@lxdh",SqlDbType.NVarChar,20)

strin="insertinto客房预约单(预约编号,房号,预收押金,入住日期,离开日期,客人姓名,住宿人数,客人性别,联系电话)values(@yybh,@fh,@ysyj,@rzrq,@lkrq,@krxm,@zsrs,@krxb,@lxdh)"

Dimobjcmd1AsNewSqlCommand(strin,objconn1)

objcmd1.Parameters.Add(yybh)

objcmd1.Parameters.Add(fh)

objcmd1.Parameters.Add(ysyj)

objcmd1.Parameters.Add(rzrq)

objcmd1.Parameters.Add(lkrq)

objcmd1.Parameters.Add(krxm)

objcmd1.Parameters.Add(zsrs)

objcmd1.Parameters.Add(krxb)

objcmd1.Parameters.Add(lxdh)

 

yybh.Value=预约编号TextBox.Text

fh.Value=TextBox1.Text

ysyj.Value=预收押金TextBox.Text

rzrq.Value=入住日期DateTimePicker.Text

lkrq.Value=离开日期DateTimePicker.Text

krxm.Value=客人姓名TextBox.Text

zsrs.Value=住宿人数ComboBox.Text

krxb.Value=客人性别ComboBox.Text

lxdh.Value=联系电话TextBox.Text

objcmd1.ExecuteNonQuery()

objconn1.Close()

objcmd1.Dispose()

DimMyCountAsInteger=Convert.ToInt16(Me.DataGridView1.CurrentRow.Cells(5).Value.ToString())

IfMyCount<>0Then

MsgBox("该房间已住人!

请另选房间!

")

Else

MsgBox("添加成功!

",64,"提示")

EndIf

EndIf

EndSub

PrivateSubDataGridView1_CellContentClick(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.DataGridViewCellEventArgs)HandlesDataGridView1.CellContentClick

Me.TextBox1.Text=Me.DataGridView1.CurrentRow.Cells(0).Value.ToString

EndSub

PrivateSubBookForm_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

DimMyConnectionAsNewSqlConnection(conn)

MyConnection.Open()

DimMyCommandAsSqlCommand=MyConnection.CreateCommand()

MyCommand.CommandText="Selectmax(预约编号)最大编号From客房预约单"

DimMyResultAsObject=MyCommand.ExecuteScalar()

DimMyIDAsSystem.Int64=1

If(Not(MyResultIsSystem.DBNull.Value))Then

DimMyMaxIDAsString=MyResult.ToString().Trim()

MyMaxID=MyMaxID.Substring(2,MyMaxID.Length-2)

MyID=Convert.ToInt64(MyMaxID)+1

EndIf

DimMyLengthAsInteger=MyID.ToString().Length

DimMyNewIDAsString=""

SelectCase(MyLength)

Case1

MyNewID="YY0000000"+MyID.ToString()

Case2

MyNewID="YY000000"+MyID.ToString()

Case3

MyNewID="YY00000"+MyID.ToString()

Case4

MyNewID="YY0000"+MyID.ToString()

Case5

MyNewID="YY000"+MyID.ToString()

Case6

MyNewID="YY00"+MyID.ToString()

Case7

MyNewID="YY0"+MyID.ToString()

EndSelect

If(MyConnection.State=ConnectionState.Open)Then

MyConnection.Close()

EndIf

Me.预约编号TextBox.Text=MyNewID

EndSub

EndClass

2.2旅客换房登记

单击菜单项里面的客房入住下拉菜单,单击【客人换房信息】或单击工具栏中【旅客换房信息】按钮,弹出如图所示窗体:

可以通过旅客入住编号,酒店房间类别两种方式进行查询,通过第二个表的信息查看房间状态,并进行换房操作,实现过程如下:

ImportsSystem.Data.SqlClient

ImportsSystem.IO

PublicClassChangeHouseForm

PrivateSub根据当前选择换房Button_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles根据当前选择换房Button.Click

DimMy住宿人数AsInteger=Convert.ToInt16(Me.客房入住单DataGridView.CurrentRow.Cells(10).Value.ToString())

DimMy可入住人数AsInteger=Convert.ToInt16(Me.酒店客房信息DataGridView.CurrentRow.Cells(4).Value.ToString())

DimMy已住人数AsInteger=Convert.ToInt16(Me.酒店客房信息DataGridView.CurrentRow.Cells(5).Value.ToString())

If(My住宿人数>My可入住人数)Then

MessageBox.Show("没有足够的床位进行换房操作!

","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information)

Return

EndIf

DimMy入住编号AsString=Me.客房入住单DataGridView.CurrentRow.Cells(0).Value.ToString()

DimMy原房号AsString=Me.客房入住单DataGridView.CurrentRow.Cells

(1).Value.ToString()

DimMy新房号AsString=Me.酒店客房信息DataGridView.CurrentRow.Cells(0).Value.ToString()

IfMy已住人数>0Then

MsgBox("此房间已住人,无法换房!

")

Return

Else

DimMyInfoAsString="是否确定将"+My入住编号+"中的客人从"+My原房号+"号房换到"+My新房号+"号房?

"

If(MessageBox.Show(MyInfo,"信息提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)=DialogResult.No)Then

Return

EndIf

EndIf

DimMyConnectionAsNewSqlConnection(conn)

MyConnection.Open()

DimMyCommandAsSqlCommand=MyConnection.CreateCommand()

DimMySQLAsString="Update酒店房间Set已入住人数=已入住人数+"+My住宿人数.ToString()+"WHERE房号='"+My新房号.ToString()+"';"

MySQL=MySQL+"Update酒店房间Set已入住人数=已入住人数-"+My住宿人数.ToString()+"WHERE房号='"+My原房号.ToString()+"';"

MySQL=MySQL+"Update客房入住单Set房号='"+My新房号.ToString()+"'WHERE入住编号='"+My入住编号.ToString()+"';"

MyCommand.CommandText=MySQL

MyCommand.ExecuteNonQuery()

MsgBox("换房成功!

")

If(MyConnection.State=ConnectionState.Open)Then

MyConnection.Close()

EndIf

EndSub

 

PrivateSub旅客登记信息Button_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles旅客登记信息Button.Click

DimMySQLAsString="Select*From客房入住单Where入住编号LIKE'"+Me.ComboBox1.Text+"'AND入住编号NOTIN(Select入住编号FROM客房结帐单)"

DimMyConnectionAsNewSqlConnection(conn)

MyConnection.Open()

DimMyTableAsNewDataTable()

DimMyAdapterAsNewSqlDataAdapter(MySQL,MyConnection)

MyAdapter.Fill(MyTable)

Me.客房入住单DataGridView.DataSource=MyTable

If(MyConnection.State=ConnectionState.Open)Then

MyConnection.Close()

EndIf

EndSub

PrivateSub酒店房间类别ComboBox_SelectedIndexChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles酒店房间类别ComboBox.SelectedIndexChanged

strsql="select*from酒店房间where类别='"&酒店房间类别ComboBox.Text&"'"

objconn1.Open()

ad=NewSqlDataAdapter(strsql,objconn1)

objconn1.Close()

objdset1.Clear()

ad

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

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1