酒店管理系统课程设计报告精品.docx
《酒店管理系统课程设计报告精品.docx》由会员分享,可在线阅读,更多相关《酒店管理系统课程设计报告精品.docx(24页珍藏版)》请在冰豆网上搜索。
酒店管理系统课程设计报告精品
《数据库原理与应用》
课程设计
题目酒店管理系统
院(系)信息工程学院
专业班级2011级计科本2班
学生姓名黄加月徐海生张宝
汪裕康董国龙
学号11421512、28、31、22、04
设计地点教学13#602
指导教师胡贤德
起止时间:
2013年12月25日至2014年1月4日
《数据库原理与应用》课程设计任务分配
院(系):
信息工程学院教研室:
软件教研室
课程设计题目
学生信息管理系统
课程设计目的
《数据库原理与应用》课程设计是计算机类专业的集中实践性环节之一,是课程教学中的一项重要内容,是完成教学计划达到教学目标的重要环节,是帮助学生全面牢固地掌握课堂教学内容、培养学生分析问题、解决问题的能力进行的一次全面的综合练习。
通过结合设计题目进行综合性应用,对所学知识达到融会贯通的程度,对提高学生的综合素质具有重要的意义。
1、加深对数据库基础理论和基本知识的理解。
2、掌握数据库设计与使用的基本方法。
3、提高运用数据库解决实际问题的能力
小组成员及任务分配
姓名
学号
承担任务
是否组长
黄加月
1142151210
概要设计、详细设计、编码
是
徐海生
1142151228
ppt制作
否
张宝
1142151231
撰写设计报告
否
汪裕康
1142151222
数据库建表
否
董国龙
1142151204
整理和收集文献资料
否
摘要
酒店管理系统是一个酒店单位不可缺少的一部分,它的内容对于企业的决策者和管理者来说都是至关重要的,因此,酒店管理系统应该能够为用户提供充足的信息和快捷的查询手段,但一直以来人们使用传统的人工方式管理,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学不断发展,其强大的功能已经被人们深刻认识,它已经进入了社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对产品库存信息进行管理,具有人工管理无法比拟的优点,它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这些都能够极大地提高货品库存的管理效率,也是酒店管理科学化、正规化,与世界接轨的重要条件。
随着酒店规模的不断扩大,客房数量的急剧增加,有关客房的各种信息量也在不断成倍增长。
面对庞大的信息量,就需要有客房信息管理系统来提高客房管理工作的效率。
传统手工的客房管理,管理过程繁琐而复杂,执行效率低,并且易于出错。
通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了客房信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。
关键词:
VB;ER图;
1需求分析
1.1系统需求分析
近年来,酒店业迅猛发展,市场的竞争日趋激烈,全面提高酒店的软件管理水准,已成为酒店业发展的当务之急。
尤其是对于星级酒店,既需要完成前台的一些服务工作,还需要完成后台的管理工作。
然而,传统的人工管理模式已经远远不能满足有效、快捷地处理经营中产生的大量信息数据的需要,从而使得企业决策层无法及时、准确地掌握一线资料,继而影响对市场进行正确地分析和预测。
像沿海城市三星级以上酒店引进外方管理,使小部分酒店管理水准几乎接近或达到国际水平。
但对广大中小型酒店来说,是难以做到的。
因此,欲在竞争中甩开对手,取得优势,必须在经营、管理、产品、服务等方面具备独到之处。
而对酒店的经营状况起决定作用的是客房的管理。
简单的服务标准已不是制胜的锦囊,只有管理做到最细微之处,才能让顾客体会到酒店服务的高标准、高质量,而准确、快速、周全往往就是最基本的成功要素。
传统的管理方法已经不能适应现代社会的需要,因此采用电脑管理业务、财务等诸多环节已成为推动酒店业迅速发展的先决条件,酒店客房管理信息系统是各大中小型酒店所需要使用的一个管理系统。
1.2用户需求分析
酒店管理系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询操作上包括客房信息。
客房类型信息、客户记录信息、客户信息、员工信息和员工工作信息。
各个部分的数据内容又有内在的联系。
针对该系统的数据特点,可以总结如下的需求:
客房信息包括客房的详细信息
客户信息记录客户登记时的详细信息
入住信息是客户信息和客房信息之间的关联
每个员工信息都对应一个员工类型
每个客房都对应一个员工信息
1.3酒店管理系统的功能
主要功能:
前台操作:
包括用户登录、菜单设置和房台设置
预订管理:
包括预订包间、转台和并台
信息查询:
包括客人列表、预订客人列表 、员工信息
报表统计:
包括开房记录统计
参考数据如下
住店管理:
客人姓名、证件号码、房号、入住时期、预计离开日期、结账离开日期、应付金额
客人信息:
姓名、性别、
房间信息:
房号、房类型、价格、房状态
预订房间:
客人姓名、房类型、房号、价格、证件类型、证件号码、联系电话、入住日期、预计离开日期 历史信息:
2总体设计
2.1SQL后台
本系统使用SQLSERVER2000作为应用程序的数据库后台,考虑到系统的实际需求,系统至少需要以下几张数据库表:
1.酒店部门表:
用来存放酒店部门编号和部门名称的表
2.用户消费表:
用来存放顾客消费编号,消费方式和消费金额的表
3.客房表:
用来存放客房的部门编号,房台编号,房台名称,部门名称,类别名称,房台费,状态和消费方式的表
4.客房分类表:
用来存放客房的类别编号,类别名称和容纳人数的表
5.顾客消费表:
用来存放顾客的编号,房台费,房台编号,房台名称,账单编号,顾客姓名,消费日期和消费金额的表
6.营业额表:
用来存放编号,日期和营业额的表
7.菜类别表:
用来存放菜类别名称
2.2数据库的的设计概念
概念模型是对现实世界的抽象和概述,它真实地反映了事物和事物之间的联系。
应用E-R图可描述某一组织的概念模型。
下面根据需求分析设计酒店管理系统的E-R图。
2.2.1全局E-R图
全局E-R图如下:
图2.1全局E-R图
2.2.2酒店部门E-R图
酒店部门E-R图中包括的属性有部门编号和部门名称。
如图2.2所示:
图2.2酒店部门E-R图
2.2.3客房E-R图
客房E-R图中包括的属性有部门编号,房台编号,房台名称,部门名称,类别名称,房台费,状态,消费方式。
如图2.3所示:
图2.3客房E-R图
2.2.4客房类别E-R图
客房类别E-R图中包括的属性有类别编号,类别名称和容纳人数。
如图2.4所示:
图2.4客房类别E-R图
2.2.5收益E-R图
收益E-R图中包括的属性有编号,日期和营业额。
如图2.5所示:
图2.4客房类别E-R图
3详细设计
3.1SQL后台详细设计
3.1.1基本表设计
1.酒店部门表(部门编号,部门名称)(如表3-1所示)
表3-1酒店部门表
2.用户消费表(消费编号,消费方式,消费金额,服务费率)(如表3-2所示)
表3-2用户消费表
3.客房表(部门编号,房台编号,房台名称,部门名称,类别名称,房台费,状态,消费方式)(如表3-3所示)
表3-3客房表
4.客房分类表(类别编号,类别名称,容纳人数)(如表3-4所示)
表3-4客房分类表
5顾客消费表(编号,房台费,房台编号,房台名称,账单编号,顾客姓名,消费日期,本次应付)(如表3-5所示)
表3-5顾客消费表
6.营业额表(编号,日期,营业额)(如表3-6所示)
表3-6营业额表
7.菜类别表(类别名称)(如表3-7所示)
表3-7菜类别表
3.2系统前台VB详细设计
3.2.1前台功能
本系统使用VisualBasic6.0作为前台,系统要实现对于不同权限的用户可以进行不同的功能选择,可以对相关信息进行查看、插入、修改和删除等功能,因此系统至少需要以下几个界面:
1用户登录界面
2系统主界面
3开房界面
4房间查询界面
5预定房间界面
6点菜界面
7查询账单界面
3.2.2登录界面
登录界面主要实现对于不同权限的用户进行判断,并进入下一界面,在用户登录错误时给予提示,如下图3.1和图3.2所示:
图3.1登录成功界面
图3.2登录不成功界面
具体代码如下:
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=13Then
IfText2.Text="黄加月"AndText1.Text="111111"Then
frm_main.Check1.Value=1
frm_main.Check2.Value=1
frm_main.Check3.Value=1
frm_main.Check4.Value=1
frm_main.Check5.Value=1
frm_main.Check6.Value=1
frm_main.Check7.Value=1
frm_main.Check8.Value=1
frm_main.Check9.Value=1
frm_main.StatusBar1.Panels.Item(3).Text="当前操作员:
黄加月"
UnloadMe
frm_main.Show
Adodc1.RecordSource="select*fromTable_xtdlwhere用户名='"&Text2.Text&"'"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
IfTrim(Text1.Text)=Trim(Text4.Text)Then
frm_main.Check1.Value=Adodc1.Recordset.Fields("字段1")
frm_main.Check2.Value=Adodc1.Recordset.Fields("字段2")
frm_main.Check3.Value=Adodc1.Recordset.Fields("字段3")
frm_main.Check4.Value=Adodc1.Recordset.Fields("字段4")
frm_main.Check5.Value=Adodc1.Recordset.Fields("字段5")
frm_main.Check6.Value=Adodc1.Recordset.Fields("字段6")
frm_main.Check7.Value=Adodc1.Recordset.Fields("字段7")
frm_main.Check8.Value=Adodc1.Recordset.Fields("字段8")
frm_main.Check9.Value=Adodc1.Recordset.Fields("字段9")
frm_main.Check10.Value=Adodc1.Recordset.Fields("字段10")
frm_main.StatusBar1.Panels.Item(3).Text="当前操作员:
"+Adodc1.Recordset.Fields("用户名")
UnloadMe
frm_main.Show
Else
MsgBox"密码不正确,请您确认后重新输入"
Text1.Text=""
Text1.SetFocus
EndIf
Else
MsgBox"对不起没有此用户的信息"
Text2.Text=""
Text1.Text=""
EndIf
EndIf
Else登陆界面错误
3.2.3系统主界面
系统主界面如下图3.3所示:
图3.3系统主界面
3.2.4顾客开房界面
顾客开房界面如下图3.4所示:
图3.4顾客开房界面
3.2.5房间查询界面
房间查询界面如下图3.5所示:
图3.5房间查询界面
具体代码如下:
PrivateSubDataGrid1_Click()
EndSub
PrivateSubForm_Load()
Me.Left=(Screen.Width-Me.Width)/2
Me.Top=(Screen.Height-Me.Height)/2
Adodc2.RecordSource="select*fromTable_ftsz_bm"
Adodc2.Refresh
IfAdodc2.Recordset.RecordCount>0Then
Adodc2.Recordset.MoveFirst
DoWhileAdodc2.Recordset.EOF=False
Combo2.AddItem(Adodc2.Recordset.Fields("部门名称"))
Adodc2.Recordset.MoveNext
Loop
Else
EndIf
Adodc3.RecordSource="select*fromTable_ftsz_lb"
Adodc3.Refresh
IfAdodc3.Recordset.RecordCount>0Then
Adodc3.Recordset.MoveFirst
DoWhileAdodc3.Recordset.EOF=False
Combo1.AddItem(Adodc3.Recordset.Fields("类别名称"))
Adodc3.Recordset.MoveNext
Loop
Else
EndIf
EndSub
PrivateSubText2_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=13Then
IfCmd_xg1(0).Enabled=TrueThen
Text2.SetFocus
ElseIfCmd_xg1(0).Enabled=FalseThen
Adodc1.RecordSource="select*fromTable_ftsz_ftwhere房台编号='"+Text2+"'"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
Text1.Text=Adodc1.Recordset.Fields("部门编号")
Text2.Text=Adodc1.Recordset.Fields("房台编号")
Combo1.Text=Adodc1.Recordset.Fields("类别名称")
Text5
(1).Text=Adodc1.Recordset.Fields("房台名称")
Combo2.Text=Adodc1.Recordset.Fields("部门名称")
Text3.Text=Adodc1.Recordset.Fields("房台费")
Text2.SetFocus
Else
EndIf
Else
EndIf
Else
EndIf
EndSub
PrivateSubText7_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=13Then
IfCmd_xg4(3).Enabled=TrueThen
Text8.SetFocus
ElseIfCmd_xg4(3).Enabled=FalseThen
Adodc4.RecordSource="select*fromTable_ftsz_xffswhere消费编号='"+Text7+"'"
Adodc4.Refresh
IfAdodc4.Recordset.RecordCount>0Then
Text7.Text=Adodc4.Recordset.Fields("消费编号")
Text8.Text=Adodc4.Recordset.Fields("消费方式")
Text9.Text=Adodc4.Recordset.Fields("消费金额")
Text10.Text=Adodc4.Recordset.Fields("服务费率")
Text8.SetFocus
Else
EndIf
Else
EndIf
Else
EndIf
EndSub
PrivateSubText9_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=13Then
IfNotIsNumeric(Text9.Text)Then
MsgBox"输入必须为数字"
Else
EndIf
Else
EndIf
EndSub
3.2.6点菜界面
当顾客需要点菜的时候可以用点菜系统直接点菜。
点菜界面如下图3.6,3.7所示:
图3.6点菜界面
图3.7点菜界面
具体代码如下:
PrivateSubDataGrid1_Click()
EndSub
PrivateSubForm_Load()
Me.Left=(Screen.Width-Me.Width)/2
Me.Top=(Screen.Height-Me.Height)/2
Adodc3.RecordSource="select*fromTable_cdsz_cxsz"
Adodc3.Refresh
IfAdodc3.Recordset.RecordCount>0Then
Adodc3.Recordset.MoveFirst
DoWhileAdodc3.Recordset.EOF=False
Combo2.AddItem(Adodc3.Recordset.Fields("菜系名称"))
Adodc3.Recordset.MoveNext
Loop
Else
EndIf
Adodc2.RecordSource="select*fromTable_cdsz_jclb"
Adodc2.Refresh
IfAdodc2.Recordset.RecordCount>0Then
Adodc2.Recordset.MoveFirst
DoWhileAdodc2.Recordset.EOF=False
Combo3.AddItem(Adodc2.Recordset.Fields("类别名称"))
Adodc2.Recordset.MoveNext
Loop
Else
EndIf
Adodc4.RecordSource="select*fromTable_cdsz_jcsm"
Adodc4.Refresh
IfAdodc4.Recordset.RecordCount>0Then
Adodc4.Recordset.MoveFirst
DoWhileAdodc4.Recordset.EOF=False
Combo4.AddItem(Adodc4.Recordset.Fields("附加说明"))
Adodc4.Recordset.MoveNext
Loop
Else
EndIf
EndSub
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=13Then
IfCmd_xg1(0).Enabled=TrueThen
Text2.SetFocus
ElseIfCmd_xg1(0).Enabled=FalseThen
Adodc1.RecordSource="select*fromTable_cdszbwhere编号='"+Text1+"'"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
Text1.Text=Adodc1.Recordset.Fields("编号")
Text2.Text=Adodc1.Recordset.Fields("酒菜名称")
Combo1.Text=Adodc1.Recordset.Fields("单位")
Text3.Text=Adodc1.Recordset.Fields("价格")
Combo2.Text=Adodc1.Recordset.Fields("菜系")
Combo3.Text=Adodc1.Recordset.Fields("酒菜类别")
Combo4.Text=Adodc1.Recordset.Fields("附加说明")
Text2.SetFocus
Else
EndIf
Else
EndIf
Else
EndIf
EndSub
PrivateSubText5_KeyDown(IndexAsInteger,KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=13Then
IfCmd_xg2
(1).Enabled=TrueThen
Text6(0).SetFocus
ElseIfCmd_xg2
(1).Enabled=FalseThen
Adodc2.RecordSource="select*fromTable_cdsz_jclbwhere类别编号='"+Text5(0)+"'"
Adodc2.Refresh
IfAdodc1.Recordset.RecordCount>0Then
Text5(0).Text=Adodc2.Recordset.Fields("类别编号")
Text6(0).Text=Adodc2.Recordset.Fields("类别名称")
Text5(0).SetFocus
Else
EndIf
Else
EndIf
Else
EndIf
EndSub
PrivateSubText55_KeyDown(IndexAsInteger,KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=13Then
IfCmd_xg3
(2).Enabled=TrueThen
ElseIfCmd_x