




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录第1章 需求分析11.1 系统概述11.2 系统功能需求分析1第2章 管理系统平台的选用22.1 数据库系统的选择原则22.2 系统开发工具的选择2第3章 酒店管理概述33.1系统数据需求33.2系统业务功能的需求33.3系统性能需求:3第4章 系统总体设计54.1 系统功能模块设计54.2 系统结构设计74.3系统数据流程图84.4 E-R图94.5 系统的运行要求9第5章 详细设计与实现105.1 数据库设计105.2 创建主窗体以及主要窗体135.3 代码设计19第6章 系统评价286.1 系统的测试286.2要注意到的问题296.3 将来可能提出的要求29结 论30参考文献31第1
2、章 需求分析1.1 系统概述 随着社会经济的发展,酒店、宾馆在服务行业扮演着越来越重要的角色。酒店行业的竞争表现在管理和服务水平的竞争,它影响到酒店的形象和声誉。这就要求通过先进的管理来提高服务质量,尽可能做到让客户满意。因此,非常需要一套酒店管理系统来对客房信息,经营情况以及客户信息进行管理。酒店管理系统为管理者制定决策判断提供了可行依据。判断提供迅速高效的、系统化的服务,避免手工处理的繁琐与误差,成为酒店、宾馆经营的重中之重。但是目前商业性的酒店管理软件大多数是舍用于大、中型酒店,其操作复杂,收费昂贵,还需专业维护。这就造成了很多小型酒店以及小型宾没有客房的管理软件,对于其宾馆的经营造成管
3、理的繁琐与混乱。所以开发一款社用于小型酒店或小型宾馆的客房管理软件时必须的。1.2 系统功能需求分析该系统的功能需求有如下几个方面:(1) 客房管理。主要用于对客房信息进行维护。功能包括对客房信息的添加、修改和删除已有的客户信息,对客房信息进行查询。(2) 住宿管理。主要用于对入住信息进行维护。功能包括对入住信息的添加、修改和查询。(3) 结算管理。主要用于对客房结账和对结算历史信息的查询。功能包括结账(计算费用、记录结账信息)和结算查询。第2章 管理系统平台的选用2.1 数据库系统的选择原则1、数据库系统采用易于集成的,开放的技术。2、产品质量优异,可靠性高,适于长期运行,能支持关键应用。3
4、、数据安全,保安型高。4、能提供分布式数据库功能。5、支持多种开发环境,软件开发容易。6、扩充性和升级能力强。2.2 系统开发工具的选择本次系统设计选用的是Visual Basic作为开发工具,因为Visual Basic 具有以下优越的功能:简单,易学,易用(1)快速完成应用任务(2)使用方便的工具栏(3)支持中英文输入法(4)用项目管理器统一界面第3章 酒店管理概述3.1系统数据需求1) 数据录入和处理的准确性和实时性。2) 数据的一致性与完整性。3) 数据的共享与独立性。3.2系统业务功能的需求(1) 实现客房信息管理功能(2) 实现客户信息管理功能(3) 实现预定管理功能(4) 实现入
5、住管理功能(5) 实现消费记账功能(6) 实现收银退房功能综上,我们将系统的功能大体划分为三大模块:权限管理:包括管理员的登录前台管理:包括客户信息的录入、客户预订和入住登记以及结算的管理等。后台报表管理:包括报表的打印3.3系统性能需求:为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:(1)系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息的处理。(2)系统的开放性和系统的可扩充性系统在开发过程中,应该充分考虑以后的可扩充性。例如系统权
6、限和客房信息设置等模块也会不断的更新和完善。所有这些都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。(3)系统的易用性本酒店客房管理系统面向的用户是酒店内工作人员,而有些使用人员往往对计算机并不是非常熟悉,所以系统操作上要求简单、方便、快捷,便于用户使用。这就要求系统能够提供良好的用户接口,易用的人机交互界面。(4)系统的响应速度系统设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提高系统响应时间和速度。第4章 系统总体设计本部分主要介绍
7、系统要实现的功能,搭好设计的总体框架,使我们对要开发的系统有一个系统、全面、确切的认识。4.1 系统功能模块设计结合前面需求分析阶段的结果进行综合处理,确定了客房管理系统需要完成的功能,主要划分为以下模块:1. 结算管理(1)结账 (2)结账查询2. 客房信息管理(1)设置客房标准添加客房标准 修改客房标准 删除客房标准(2)设置客房信息添加客房信息 修改客房信息 添加客房类型 查询客房信息3. 住宿信息管理(1) 添加入住信息 (2) 修改入住信息(3) 查询入住信息模块设计图如下:图4-1系统功能模块图4.2 系统结构设计系统的主要结构:系统的封面以表单开始,要求用户输入登录,若密码错误,
8、则自动退出,否则出现系统主菜单,接受用户的操作,操作完毕后用户可以从系统菜单中退出系统,系统运行的步骤如图:4.3系统数据流程图图4-3 系统数据流程图4.4 E-R图4.5 系统的运行要求软、硬件环境:硬件:客户机(CPU P200以上,内存:32M以上)、数据库服务器(CPU PIII800以上,内存:256M或以上。以Microsoft windows操作系统为工作平台。以Microsoft Visual Basic 6.0为开发工具。数据库环境是Microsoft Office Access 2003。第5章 详细设计与实现5.1 数据库设计(1)数据库需求分析设计的数据库系统应用于酒
9、店管理系统,所以必须充分满足酒店客房管理系统的各种要求。此系统要求记录每一次酒店客户的住宿登记、调房登记和退宿结账的操作信息,并允许系统用户对这些信息进行查询。另外,必须建立一些辅助项目表为这些操作信息提供数据来源。通过以上的分析,数据库设计必须满足以下几点:1 (1)记录酒店客户住宿登记操作的信息。2 (2)记录酒店客户退房结账操作的信息。3 (3)记录酒店客房的相关信息。4 (4)记录酒店客户的客房预订信息。5 (5)记录系统用户的用户名、密码和操作权限。 (2)建立Access数据库及表在一个酒店管理系统中,数据库的地位是非常重要的,是一个系统正常运行的基础。本系统的数据库是采用Micr
10、osoft公司的Access 2003设计的。在数据库的设计过程中,首先是收集、分析需求;再从需求抽象出一般的实体、关系和他们的属性;再将这些实体、关系和属性按照一定的规则转化为二元表结构。本系统中共有4数据表表3-1为Usersinfo管理员资料数据表。管理员资料数据表记录了所有管理的基本资料,管理员可添加、删除和查询该表。该表包括管理员ID、姓名、密码和权限等资料。表3-1为UsersInfo管理员资料数据表字段名类型大小说明姓名Text20管理人员帐号(主键)密码Text20管理人员密码(主键)权限Text1管理人员权限如下图所示:表3-2为add旅客入住登记表。add日主登记表记录了入
11、住旅客的基本个人信息、房间号、登记号等。表3-2旅客信息表为旅客的个人信息加入住客房信息数据结构表字段名类型大小说明登记号Text8旅客入住号(主键)姓名Text8旅客姓名(不为空)身份证号码Text18旅客身份证号(不为空)房间号Text3入住房间号(不为空)登记日期Text日期/时间旅客入住时间(不为空)性别Text3旅客性别籍贯Text8旅客籍贯如下所示:表3-3为room资料数据表。room料数据表记录了room基本资料,可供查询。该表主要包括了房间号、客房等级、客房类型、客房价格、客房状态、客房备注信息等基本资料。表3-2room资料数据表字段名类型大小说明房间号Text3房间号(主
12、键)客房等级Text8客房等级客房类型Text8客房类型(不为空)客房价格数字单精度型客房价格(不为空)客房状态Text3客房状态(不为空)客房备注信息备注8客房备注信息如下所示:表3-4为quit资料数据表。quit资料数据表记录了所有退房的基本资料,管理员可添加、删除和查询该表。类型的基本资料,包括登记号、登记日期、退房日期、付款金额、退房备注信息。表3-4为quit资料数据表字段名类型大小说明登记号Text8旅客入住号(主键)登记日期日期/时间旅客登记时间(不为空)退房时间日期/时间旅客退房时间(不为空)付款金额Text单精度型付费金额(不为空)退房备注信息Text8退房备注信息如下所示
13、:连接数据库:由于本系统是采用ADO对象访问数据库的技术,所以在VB中需要添加ADO库。添加的方法是在VB中选择“工程”>“引用”命令,在对话框中选择Microdoft ActiveX Data Objects 2.0 Library,单击“确定”按钮。在程序设计的公共模块中,先定义ADO连接对象。语句如下:Public conn As New ADODB.connection 标记连接对象Dim connection As StringConnectionString = "provider=microsoft.jet.oledb.4.0;" & "
14、;data source=carshale.mdb"conn.Open ConnectionString5.2 创建主窗体以及主要窗体建立主窗体:单击”工程”->”添加MDI窗体”菜单,在弹出的对话框中单击”打开”按钮则为当前项目添加了一个MDI窗体。设置好MDI窗体属性后,设置此项目的属性。单击”工程”->”工程1属性”菜单,进入项目属性设置窗体。在此项目属性窗体中通用选项卡的启动对象中选择MDIfrmMain项,将这一多文档窗体作为程序的启动窗体。图41 菜单结构(1)登录模块的设计:此模块的功能是检查管理员是否有进入系统的权限。用到的主要控件为二个text、两个la
15、bel和两个Button按钮。窗体界面如图4-2所示。图4-2 登录窗体的界面在此模块中管理员可以选择相应的管理员帐号进行登录,减去了忘记帐号或帐号名输入不方便的烦恼。(2)主页面模块的设计:此模块是系统服务器端的主要控制界面,通过菜单的选择,可以控制系统的所有功能,窗体界面如图4-3,4-4所示。主界面的设计步骤:1)设计主界面控件布局:在主界面的布局中使用了工具栏(ToolBar)、时钟控件(timer)和图象列表(ImageList)等非Vb标准控件。2)工具栏的设置: 给工具栏添加按钮3)添加菜单:菜单的使用是为了更好的给用户提供功能指引。 工具栏列表系统通过Timer控件在状态栏中显
16、示系统的当前时间,Timer控件的时间间隔是1000,也就是1秒钟,这样状态栏中的时间每秒钟都会变化,达到显示系统时钟的目的,具体实现代码为:Private Sub Timer1_Timer() StatusBar1.Panels(2).Text = Date & " " & TimeEnd Sub(4)创建系统主界面当系统运行时,首先进入登录界面,当输入帐号,密码合法时,则启动系统主界面。图4-4 系统主窗体的界面5)用户进入客房需要必要的登记来完成如图:图4-5用户登记界面图4-6已经登记的用户(6)退房信息:当旅客离开宾馆时,需要为其办理退房手续,在这
17、过程中需要在旅客退房信息表中添加记录信息,以及修改客房信息表,改变客房状态。旅客退房信息窗体,工作界面设计情况如图:图4-7退房登记表(7)查询住户信息:此界面用于查询房间状态如是否有所需的类型或是否为空房或满房,可以全部浏览,也可以按照查询条件来查找,如图:图4-8 客房状态界面(8)查询客房:客查询窗体主要功能是实现客房信息查询显示,查询方式可以是按旅客姓名,登记号也可以按房间号查询。工作界面如图: 图4-9查询住户登记表(9)客房情况打印表:图4-10客房情况打印表5.3 代码设计一、酒店管理信息系统程序代码:Private Sub CmdOK_Click() Dim s1 As Str
18、ingDim i As IntegerDim j As IntegerDim a(18) As Stringj = Len(txtUserName.Text)s1 = txtUserName.TextDim c As Integerc = 1For i = 1 To ja(i) = Mid(s1, i, 1) '逐一判断字符的合格化If a(i) = "" ThenMsgBox "Error", vbOKOnly, "Error"Exit SubElseIf a(i) = "<" ThenMsgBox
19、 "Error", vbOKOnly, "Error"Exit SubElseIf a(i) = ">" ThenMsgBox "Error", vbOKOnly, "Error"Exit SubElseIf a(i) = "=" ThenMsgBox "Error", vbOKOnly, "Error"Exit SubElseIf a(i) = " " ThenMsgBox "Error"
20、, vbOKOnly, "Error"Exit SubElseIf a(i) = "" ThenMsgBox "Error", vbOKOnly, "Error"Exit SubElseIf a(i) = "," ThenMsgBox "Error", vbOKOnly, "Error"Exit SubElseIf a(i) = "'" ThenMsgBox "Error", vbOKOnly, "
21、Error"Exit SubEnd Ifc = c + 1txtUserName.SetFocus Next iDim strusername As StringDim strpassword As StringStatic intlogintimes As IntegerIf Trim(txtUserName.Text) = "" ThenMsgBox "用户名不能为空!", vbOKOnly + vbCritical, "错误"Exit SubEnd Ifopentable adousers, "usersin
22、fo"adousers.Refreshadousers.Recordset.Find "姓名=" & "'" & txtUserName.Text & "'", , adSearchForward, 1If Not adousers.Recordset.EOF Thenstrusername = adousers.Recordset!姓名strpassword = adousers.Recordset!密码Elsestrusername = ""strpasswor
23、d = ""End IfIf strusername = txtUserName.Text And strpassword = txtPassword.Text ThenUnload Me frmmdi.ShowElseMsgBox "用户名或密码不对!", vbOKOnly + vbInformation, "提示"intlogintimes = intlogintimes + 1If intlogintimes >= 3 ThenEndEnd IftxtPassword.SetFocusSendKeys "HOME
24、+END"End IfEnd SubPrivate Sub cmdcancel_click()Unload MeEnd SubOption ExplicitPrivate Sub Command1_Click()If Not txtroomno.Locked ThenIf Trim(txtroomno.Text) = "" ThenMsgBox " 房间号不能为空!", vbOKOnly + vbInformation, "提示"txtroomno.SetFocusExit SubEnd IfEnd If!房间号 = Tri
25、m(txtroomno.Text)!客房等级 = Trim(txtroomgrade.Text)!客房类型 = Trim(txtroomtype.Text)!客房价格 = Trim(txtroomprice.Text)!客房状态 = Trim(txtroomstatus.Text)!客房备注信息 = txtroominfo.TextUpdateUnload MeEnd WithEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub 退房登记实现代码:Private Sub CmdOK_Click()If Not txtbookno.Locked
26、Then If Trim(txtbookno.Text) = "" ThenMsgBox "登记号不能为空!", vbOKOnly + vbInformation, "提示"txtbookno.SetFocusExit SubEnd Iffrmmdi.adoguest.Recordset.Find "登记号='" & Trim(txtbookno.Text) & "'", , adSearchForward, 1If frmmdi.adoguest.Records
27、et.EOF Then MsgBox "非法登记号!", vbOKOnly + vbInformation, "提示" txtbookno.SetFocusSendKeys "HOME+END"txtpaymoney.Text = ""Exit SubEnd Iffrmmdi.adoquit.Recordset.Find "登记号='" & Trim(txtbookno.Text) & " '", , adSearchForward, 1If
28、Not frmmdi.adoquit.Recordset.EOF Then '有就提示,然后退出MsgBox "已经有相同登记号!", vbOKOnly + vbInformation, "提示"txtbookno.SetFocusSendKeys "HOME+END"txtpaymoney.Text = ""Exit SubEnd If.AddNew!登记号 = Trim(txtbookno.Text)End If!付款金额 = Val(Trim(txtpaymoney.Text)!登记日期 = Trim
29、(txtbookdate.Text)!退房时间 = dtpquitdate.TextUpdateIf Trim(txtinfo.Text) = "" ThenMsgBox "备注不能为空!", vbOKOnly + vbInformation, "提示"txtinfo.SetFocusEnd If!退房备注信息 = txtinfo.TextUpdateUnload Mefrmmdi.adoroom.Recordset!客房状态 = "空"DeleteEnd WithEnd WithEnd SubPrivate Su
30、b Command1_Click()If optroom Thenopentable frmmdi.Adoroom1, "select * from room where (room.房间号) like '" & Trim(txtvalue.Text) & "%" & "')"ElseIf optgrade Thenopentable frmmdi.Adoroom1, "select * from room where (room.客房等级) like '" &
31、; Trim(txtvalue.Text) & "%" & "')" 'ElseIf opttype Thenopentable frmmdi.Adoroom1, "select * from room where (room.客房类型) like '" & Trim(txtvalue.Text) & "%" & "')"End IfdtgroomqueryinforefreshEnd SubPrivate Sub CmdO
32、K_Click() Dim s1 As StringDim i As IntegerDim j As IntegerDim a(18) As Stringj = Len(txtUserName.Text)s1 = txtUserName.TextDim c As Integerc = 1For i = 1 To ja(i) = Mid(s1, i, 1)If a(i) = "" ThenMsgBox "Error", vbOKOnly, "Error"Exit SubElseIf a(i) = "<" The
33、nMsgBox "Error", vbOKOnly, "Error"Exit SubElseIf a(i) = ">" ThenMsgBox "Error", vbOKOnly, "ErrorMsgBox "Error", vbOKOnly, "Error"Exit SubElseIf a(i) = "=" ThenMsgBox "Error", vbOKOnly, "Error"Exit SubEl
34、seIf a(i) = " " ThenMsgBox "Error", vbOKOnly, "Error"Exit SubElseIf a(i) = "" ThenMsgBox "Error", vbOKOnly, "Error"Exit SubElseIf a(i) = "," ThenMsgBox "Error", vbOKOnly, "Error"Exit SubElseIf a(i) = "'
35、;" ThenMsgBox "Error", vbOKOnly, "Error"Exit SubEnd Ifc = c + 1txtUserName.SetFocusNext iDim strusername As StringDim strpassword As StringStatic intlogintimes As IntegerIf Trim(txtUserName.Text) = "" ThenMsgBox "用户名不能为空!", vbOKOnly + vbCritical, "错误
36、"Exit SubEnd Ifopentable adousers, "usersinfo"adousers.Refreshadousers.Recordset.Find "姓名=" & "'" & txtUserName.Text & "'", , adSearchForward, 1If Not adousers.Recordset.EOF Thenstrusername = adousers.Recordset!姓名strpassword = adousers
37、.Recordset!密码Elsestrusername = ""strpassword = ""End IfIf strusername = txtUserName.Text And strpassword = txtPassword.Text ThenUnload Mefrmmdi.ShowElseMsgBox "用户名或密码不对!", vbOKOnly + vbInformation, "提示"intlogintimes = intlogintimes + 1If intlogintimes >= 3
38、ThenEndEnd IftxtPassword.SetFocusSendKeys "HOME+END"End IfEnd SubPrivate Sub cmdcancel_click()Unload MeEnd Sub二、主控制窗体代码:Option ExplicitPrivate Sub MDIForm_Load()App.Title = "宾馆客房管理系统"opentable adoroom, "room"opentable Adoroom1, "room"opentable adoguest, "
39、guest"opentable Adoguest1, "guest"opentable adoquit, "quit"StatusBar1.Panels(1).Text = "欢迎登陆宾馆管理系统"StatusBar1.Panels(2).Text = Date & " " & TimeEnd SubPrivate Sub mnuCascade_Click()frmmdi.Arrange vbCascadeEnd SubPrivate Sub mnudenglu_Click()frmLog
40、in.ShowEnd SubPrivate Sub mnuExit_Click()Unload MeEnd SubPrivate Sub mnuGuest_Click()frmGuestInfo.ShowEnd SubPrivate Sub mnuHor_Click()frmmdi.Arrange vbTileHorizontalEnd SubPrivate Sub mnuin_Click()frmusers.ShowEnd SubPrivate Sub mnuqueryguest_Click()frmqueryinfo.ShowEnd SubPrivate Sub mnuqueryroom_Click()frmqueryroom.ShowEnd SubPrivate Sub mnuQuit_Click()frmquitinfo.ShowEnd upPrivate Sub mnuver_Click()frmmdi.Arrange vbTileVerticalEnd SubPrivate Sub Timer1_Timer()StatusBar1.Panels(2).Text = Date & " "
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 进厂协议书模板
- 进修协议和进修合同
- 造价咨询费合同协议
- 返还投资款合同协议
- 武器研制协议书
- 返修水电安装合同协议
- 通风工程包工合同协议
- 历史人物传记知识点梳理与练习设计
- 灶具合作协议书
- 转让冻干机设备合同协议
- -医院感染预防与控制标准操作规程SOP第2版
- 《孝经》教学课件
- Copley驱动器用户指南
- 生物有机肥生产技术可行性分析报告
- 供水管网巡查管理制度
- 2021年中国中车公司组织架构和部门职能
- 工程设计资质专业人员专业对照表
- 开放大学办学组织体系建设的困境与突破路径
- 立式机组轴线调整及瓦间隙计算
- 胸痛中心培训课件胸痛中心的时钟统一及时间管理胸痛中心时间节点管理要求
- 中医外科学皮肤及性传播疾病课件
评论
0/150
提交评论