[软件管理系统类精品]小型酒店管理信息系统开发方案.doc_第1页
[软件管理系统类精品]小型酒店管理信息系统开发方案.doc_第2页
[软件管理系统类精品]小型酒店管理信息系统开发方案.doc_第3页
[软件管理系统类精品]小型酒店管理信息系统开发方案.doc_第4页
[软件管理系统类精品]小型酒店管理信息系统开发方案.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录引言4一、项目开发背景4二、项目开发目标4三、项目开发的意义4四、项目开发方法概述4正文4一、开发工具的选择4二、数据库平台选择5三、系统功能分析5四、流程图 5五、ER图 7六、系统各部分实体关系图8(一)前台接待子系统图 8(二)前台收银子系统图 8(三)房务管理子系统图 9七、系统数据库ER图 9八、数据关系转换成关系模型10九、使用界面及主要代码介绍11(一)登陆界面的设计 11(二)系统主界面设计 12(三)添加用户界面设计 15(四)订房信息界面设计 15(五)费用结算界面设计 21(六)客房信息的添加 24十、系统的实施,运行及维护 28(一)系统的实施,运行 28(二)系统的维护28十一、系统的评价 28十二、结束语 28十三、参考文献 29小型酒店管理信息系统开发方案引言一、项目开发背景经济的快速发展,人们的生活水平和消费意识的提高,促进了旅游业的发展。酒店行业将面临着机遇和挑战。面对快速发展的信息产业带来的影响。将电脑技术和电脑服务引入酒店管理成为一种必然的趋势。众多酒店企业中,中小型酒店企业由于他们的先天条件的不足,使他们不能投入大量的资金进行这项必须的改革。因此开发一套简单、实用的中小型酒店客房管理信息系统是十分有必要的。二、项目开发目标建立酒店客房管理信息系统,采用计算机对客房信息进行管理,可以进一步提高酒店的经济效益和现代化水平,帮助酒店工作人员提高工作效率,实现客房信息管理工作流程的系统化、规范化和自动化。三、项目开发的意义现在,我国的中小型酒店客房管理水平普遍不高,有的还停留在纸介质的基础上,这种管理手段已不能适应时代的发展,而且它浪费了许多人力和物力。在当今信息时代,这种传统的管理方法必然被计算机为基础的信息管理系统所代替。如果本系统能被中小型酒店企业采用,将会改变以前靠手工管理客房信息的状况,可以树立良好的酒店形象,提高工作效率。四、项目开发方法概述酒店客房管理信息系统采用的是原型法的开发方法。本着开发人员对用户需求的理解,通过简单的系统分析、系统设计,快速实现一个原型系统,然后通过反复修改来实现管理信息系统。正文一、开发工具的选择 从开发速度,应用程序的运行速度方面考虑MicroSoft公司的Visual Basic无疑是诸多开发工具当中的佼佼者。它提供了一个完全可视化的开发环境,以直观的界面、简洁的语言、强大的功能、开放的系统为特色,使应用开发工作就是一种乐趣。Visual Basic有强大的开放性和跨平台能力。在Visual Basic中创建的的窗口、菜单、数据窗口等都是对象。除了使用系统预先定义的对象外,开发人员可以自行构造新的对象(称做用户对象),扩展系统的预定义对象,将各种对象有机地组合起来就构成了Visual Basic应用程序。近10年以来它一直是最受程序员欢迎的开发工具之一。同时Visual Basic6.0也是最佳的客户机/服务器的开发解决方案。此外还可以支持多种关系数据库管理系统。拥有功能强大的调试和多种调试方式。二、数据库平台选择所谓数据库,我们可以把它形象地说成是存储数据的“仓库”。数据库是为了满足某一部门中多个用户的多种应用需要,按照一定的数据模型在计算机系统中组织、存储和使用的互相联系的数据集合。数据库是酒店管理的核心组成部分,所有信息处理子系统都将基于某种数据库平台,以便将其处理的信息资源完整、安全地保存起来,并且对其进行各种管理和利用。选择一个好的数据库平台是非常重要的。按照ANSI(美国国家标准协会)的规定,SQL被作为关系数据库管理系统的标准语言。数据库平台选用的是MicroSoft 公司的SQL Server 2000, SQL Server 2000拥有大型数据库系统基本特征,但保持了windows环境下界面友好,操作简单的优点,成为windows环境下开发中、小型C/S系统较流行的数据库系统。三、系统功能分析系统的开发总体任务是实现宾馆各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的各种任务的基础上完成。宾馆管理信息系统需要完成功能主要有:(一)有关客房标准的制定:客房标准信息的输入、修改、删除(二)客房信息的输入、修改、删除、查询(三)剩余客房信息的查询(四)订房信息的输入、修改、查询(五)结算信息的输入(六)客户信息的输入、查询四、流程图客房标准设置基本信息录入客房标准信息管理基本信息录入客房信息登记客房信息管理顾客登记定房信息输入订房信息管理结算信息输入结算信息管理客房信息返回五、ER图标准名称标准编号客房标准工号客房面积床位数量客房单价是否有空调是否有电视是否有电话是否有单独卫生间客房登记信息结算客房客户顾客身份证号码工号客房类型顾客性别顾客姓名客房编号客房位置备注信息工号客房电话工号金额结算信息编号结算时间客房状态押金折扣入住时间订房信息编号备注信息工号 员工员工代号登录密码六、系统各部分实体关系图(一)前台接待子系统图办理入住手续录入客人资料为客人分配房间安排客人入住为客人提供各种咨询服务(订票、保管物品等)图6-1 前台接待子系统的活动图(二)前台收银子系统图收取客人押金核对客人消费记录收款办理结帐打印帐单办理离店图6-2 前台收银子系统的活动图(三)房务管理子系统图了解客人房间的布置和设备的检查引领客人入住为客人提供日常接待服务(包括:洗衣、酒水、送餐等)为客人做好离店准备(包括:查房、录入客人在房间的消费等)图6-3房务管理子系统的活动图七、系统数据库ER图图71系统数据库ER图八、数据关系转换成关系模型(一)客房标准信息(标准编号、标准名称、客房面积、床位数量、客房单价、是否有空调、是否有电话、是否有电视、是否有单独卫生间、工号)(二)客房信息(客房编号、客房类型、客房位置、客房电话、备注信息、客房状态、工号)(三)顾客信息(顾客身份证号码、顾客姓名、顾客性别、工号)(四)员工信息(员工代号、登录密码)(五)订房信息(订房信息编号、顾客身份证号码、客房编号、入住时间、折扣、押金、备注信息、工号)(六)结算信息(结算信息编号、顾客身份证号码、客房编号、入住时间、结算时间、金额、工号)具体实现为:(一)roomtype: typeid、typename、 area、bednum、 price、 haircondition、 htelephone、 htelevision、 htoilet 、workid主键:typeid(二)rooms:roomno、 typename、 roomposition、 phoneno、 roommemo、 state、 workid主键:roomno(三)customer:customid、customname、customgender、workid主键:customid(四)denglu: user_id、user_pwd主键:user_id(五)bookin:bookno、 customid、 roomno、 indate、 bookdays、 discount、 deposit、 inmemo、 workid主键:bookno(六)bookhist: bookhistno、 customid、roomno、indate、checkdate、amount、workid主键:bookhistno九、使用界面及主要代码介绍说明:代码中 “ ”后的语句为方便读懂程序的注释,不是执行语句(一)登陆界面的设计图91 Login 登陆界面首先是登录界面(在VB开发工具中的截图),员工输入分配的用户名和密码,就可以登录系统。主要代码如下: Private Sub cmdOK_Click() Dim txtSQL As String Dim mrc As ADODB.Recordset Set mrc = Nothing Dim MsgText As String username = If Trim(Text1.Text = ) Then MsgBox 请输入用户名!, vbOKOnly + vbExclamation, 警告 Text2.Text = Text1.SetFocus Else txtSQL = select * from denglu where user_id= & Text1.Text & Set mrc = executesql(txtSQL, MsgText) If mrc.EOF = True Then MsgBox 没有这个用户,请重新输入用户名!, vbOKOnly + vbExclamation, 警告 Text1.Text = Text2.Text = Text1.SetFocus Else If Trim(mrc.Fields(1) = Trim(Text2.Text) Then ok = True mrc.Close Me.Hide username = Trim(Text1.Text) frmmain.Show Else MsgBox 输入密码不正确,请重新输入!, vbOKOnly + vbExclamation, 警告 Text2.SetFocus Text2.Text = End If End If End If micount = micount + 1 If micount = 3 Then Me。Hide End IfExit Sub(二)系统主界面设计图92(main界面)上图是系统的主体界面(在VB中的截图)。主窗体界面分成系统信息、客房信息管理、订房信息管理、结算信息管理四大块。其中系统信息包括:修改密码、添加用户、退出系统客房信息管理:客房标准(信息添加、修改、删除) 客房信息(添加、修改、删除、查询)订房信息管理:剩余客房信息查询、添加、修改、删除订房信息结算信息管理:结算信息添加主要代表性代码如下:Option ExplicitPublic intC As IntegerPrivate Sub menu113_Click() Dim txtSQL As String Dim intCount As Integer Dim mrc As ADODB.Recordset Dim MsgText As String Frmroomtype.Show If flagtedit Then If frmroomtype.msgList.Rows 1 Then If MsgBox(真的要删除这条文件记录么?, vbOKCancel + vbExclamation, 警告) = vbOK Then intCount = frmroomtype.msgList.Row txtSQL = delete from roomtype where typeid= & Trim(frmroomtype.msgList.TextMatrix(intCount, 1) & Set mrc = executesql(txtSQL, MsgText) Unload frmroomtype Frmroomtype.txtSQL = select * from roomtype Frmroomtype.Show End If End If End IfEnd SubPrivate Sub menu23_Click() Dim intC As Integer frmBookin.txtSQL = select * from rooms frmBookin.Show If flagbedit Then If frmBookin.msgList.Rows 1 Then gintbmode = 2 intC = frmBookin.msgList.Row frmBookin1.txtSQL = select * from bookinfor_view where bookinfor_view.bookno = & Trim(frmBookin.msgList。TextMatrix(C, 1) & frmBookin1.Show Else Call menu22_Click End If Else frmBookin.txtSQL = select * from bookin frmBookin.Show End IfEnd sub (三)添加用户界面设计图9-3 aduaser添加用户界面该窗体是 用来添加新用户aduaser添加用户界面关键语句如下:Dim txtSQL As String Dim mrc As ADODB.Recordset Dim MsgText As Stringmrc.AddNew mrc.Fields(0) = Trim(Text1(0).Text) mrc.Fields(1) = Trim(Text1(1).Text) mrc.Update mrc.Close Unload Me MsgBox 添加用户成功!, vbOKOnly + vbExclamation, 添加用户(四)订房信息界面设计图94 bookin1窗体Option Explicit是否改动过记录,ture为改过Dim mblChange As BooleanDim mrc As ADODB.RecordsetPublic txtsql As StringDim sSql As StringDim smrc As ADODB.RecordsetPrivate Sub cboItem_Click(Index As Integer) Dim a As Double Dim b As Double Dim mrcc As ADODB.Recordset Dim intCount As Integer Dim msgtext As String If gintbmode = 1 Then If index = 0 Then txtsql = select * from roominfor_view where roomno = & Trim(cboItem(0).Text) & Set mrcc = executesql(txtsql, msgtext) txtItem(7).Text = mrcc.Fields(2) 显示与客房号对应的客房位置 txtItem(8).Text = mrcc.Fields(6) 显示与客房号对应的客房单价 End Sub Private Sub cmdca_Click()计算押金的问题Dim a As IntegerDim b As Integer a = Int(Trim(txtItem(3) b = Int(Trim(txtItem(8) txtItem(5).Text = a * bEnd SubPrivate Sub cmdSave_Click() Dim intCount As Integer Dim sMeg As String Dim mrcc As ADODB.Recordset Dim msgtext As String For intCount = 0 To 5 If Trim(txtItem(intCount) & ) = Then Select Case intCount Case 0 sMeg = 顾客姓名 Case 1 sMeg = 身份证号码 Case 2 sMeg = 入住日期 Case 3 sMeg = 预定天数 Case 4 sMeg = 折扣 Case 5 sMeg = 押金 End Select sMeg = sMeg & 不能为空! MsgBox sMeg, vbOKOnly + vbExclamation, 警告 txtItem(intCount).SetFocus Exit Sub End If Next intCount If IsDate(txtItem(2) Then txtItem(2) = Format(txtItem(2), yyyy-mm-dd) Else MsgBox 入住时间应输入日期(yyyy-mm-dd)!, vbOKOnly + vbExclamation, 警告 txtItem(2).Text = txtItem(2).SetFocus Exit Sub End If 预定信息修改之前把原预定记录先删除 If gintbmode = 2 Then txtsql = delete from bookin where customid= & Trim(txtItem(1).Text) & Set mrcc = executesql(txtsql, msgtext) txtsql = delete from customer where customid= & Trim(txtItem(1).Text) & Set mrcc = executesql(txtsql, msgtext) End If 在bookin表中添加新的预定记录 txtsql = select * from bookin Set mrcc = executesql(txtsql, msgtext) Mrcc.AddNew Mrcc.Fields(0) = txtNo Mrcc.Fields(1) = txtItem(1) Mrcc.Fields(2) = cboItem(0).Text For intCount = 2 To 6 Mrcc.Fields(intCount + 1) = txtItem(intCount) Next intCount Mrcc.Fields(8) = username Mrcc.Update Mrcc.Close 在cutomer表中添加客户信息记录 txtsql = select * from customer Set mrcc = executesql(txtsql, msgtext) Mrcc.AddNew Mrcc.Fields(0) = txtItem(1) Mrcc.Fields(1) = txtItem(0) Mrcc.Fields(2) = bo1.Text Mrcc.Fields(3) = username Mrcc.Update Mrcc.Close 在rooms表中将有人预定的房间的状态改成“满” txtsql = select * from rooms where roomno = & Trim(cboItem(0) & Set mrcc = executesql(txtsql, msgtext) If Not mrcc.EOF Then mrcc!State = 满 End If Mrcc.Update Mrcc.Close 添加与修改成功显示不同的信息框 If gintbmode = 1 Then MsgBox 添加订房信息成功!, vbOKOnly + vbExclamation, 添加订房消息 Unload Me If flagbedit Then Unload frmBookin End If frmBookin.txtSQL = select * from bookinfor_view frmBookin.Show Else MsgBox 修改订房信息成功!, vbOKOnly + vbExclamation, 修改订房消息 Unload Me If flagbedit Then Unload frmBookin End If frmBookin.txtSQL=select bookno,customname,customID,roomno,indate,discount,inmemo from bookin where ammount = 0 frmBookin。Show End If End SubPrivate Sub Form_Unload(Cancel As Integer) gintbmode = 0End SubPrivate Sub txtItem_Change(Index As Integer) 有变化设置gblchange mblChange = True End SubPrivate Sub txtItem_GotFocus(Index As Integer) txtItem(Index).SelStart = 0 txtItem(Index).SelLength = Len(txtItem(Index) End SubPrivate Function GetRkno() As String 获得预定编号 GetRkno = Format(Now, yymmddhhmmss) Randomize GetRkno = GetRkno & Int(99 - 10 + 1) * Rnd + 10)End Function 图95bookin2窗体 订房信息查询用图96 chafang窗体 房间信息查询界面(五)费用结算界面设计图97 checkout1窗体 用于费用结算Option Explicit是否改动过记录,ture为改过Dim mblChange As BooleanDim mrc As ADODB.RecordsetPublic txtsql As StringPrivate Sub cboItem_Click(Index As Integer) 各变量定义略 If gintcmode = 1 Then If Index = 0 Then txtsql = select * from roominfor_view where roomno= & Trim(cboItem(0) & Set mrcc = executesql(txtsql, msgtext) If Not mrcc。EOF Then txtItem(9).Text = mrcc!TypeName txtItem(10).Text = mrcc!Price cmdSave.Enabled = True Else MsgBox 没有订房信息!, vbOKOnly + vbExclamation, 警告 Exit Sub End If End SubPrivate Sub cboItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) entertotab KeyCode End SubPrivate Sub cmdSave_Click() Dim intCount As Integer Dim sMeg As String Dim mrcc As ADODB.Recordset Dim msgtext As String If Trim(txtItem(4) & ) = Then MsgBox sMeg, vbOKOnly + vbExclamation, 警告 txtItem(4).SetFocus Exit Sub End If If IsDate(txtItem(4) Then txtItem(4) = Format(txtItem(4), yyyy-mm-dd) Else MsgBox 结算日期应输入(yyyy-mm-dd)!, vbOKOnly + vbExclamation, 警告 txtItem(4).SetFocus Exit Sub End If 先删除旧记录 再加入新记录 txtsql = select * from bookhist Set mrcc = executesql(txtsql, msgtext) Mrcc.AddNew With mrcc .Fields(0) = Trim(txtNo.Text) .Fields(1) = txtItem(1).Text .Fields(2) = cboItem(0).Text .Fields(3) = txtItem(2).Text .Fields(4) = txtItem(4).Text .Fields(5) = txtItem(7).Text .Fields(6) = username End With sMeg = mrcc!roomno mrcc.Update mrcc.Close txtsql = select * from rooms where roomno= & sMeg & Set mrcc = executesql(txtsql, msgtext) mrcc!State = 空 mrcc.Update mrcc.Close If gintcmode = 1 Then Unload Me mblChange = False MsgBox 结算完毕!, vbOKOnly + vbExclamation, 添加结算信息 txtsql = delete from bookin where roomno= & sMeg & Set mrcc = executesql(txtsql, msgtext) If flagcedit Then Unload frmCheckout End If frmCheckout.txtsql = select * from bookin frmCheckout.Show ElseIf gintcmode = 2 Then MsgBox 结算信息修改完毕!, vbOKOnly + vbExclamation, 修改结算信息 Unload Me If flagcedit Then Unload frmCheckout End If frmCheckout.txtsql = select * from bookin frmCheckout.Show End If End SubPrivate Sub txtItem_Change(Index As Integer) 有变化设置gblchange mblChange = True End SubPrivate Function GetRkno() As String GetRkno = Format(Now, yymmddhhmmss) Randomize GetRkno = GetRkno & Int(99 - 10 + 1) * Rnd + 10)End Function图98 room窗体 最后结算界面(六)客房信息的添加 图右99 room1窗体 用于添加客房信息图910 roomtype1窗体 用于客房标准信息的添加Option Explicit是否改动过记录,ture为改过Dim mblChange As BooleanDim mrc As ADODB.RecordsetPublic txtsql As StringDim msgtext As StringPrivate Sub cmdSave_Click() Dim intCount As Integer Dim sMeg As String For intCount = 0 To 4 If Trim(Text1(intCount) & ) = Then Select Case intCount Case 0 sMeg = 标准编号 Case 1 sMeg = 标准名称 Case 2 sMeg = 房间面积 Case 3 sMeg = 床位数量 Case 4 sMeg = 房间单价 End Select sMeg = sMeg & 不能为空! MsgBox sMeg, vbOKOnly + vbExclamation, 警告 Text1(intCount).SetFocus Exit Sub End If Next intCount 添加判断是否有相同的ID记录 If ginttmode = 1 Then txtsql = select * from roomtype where typeid= & Trim(Text1(0) & Set mrc = executesql(txtsql, msgtext) If mrc.EOF = False Then MsgBox 已经存在此标准编号的记录!, vbOKOnly + vbExclamation, 警告 Text1(0).Text = Text1(0).SetFocus Exit Sub End If Mrc.Close End If判断是否有相同内容的记录 txtsql = select * from roomtype where typeid & Trim(Text1(0) & and area= & Trim(Text1(2) & and bednum= & Trim(Text1(3) & and price= & Trim(Text1(4) & and haircondition= & Trim(bo1(0).Text) & and htelephone= & Trim(bo1(1).Text) & and htelevision= & Trim(bo1(2).Text) & and htoilet= & Trim(bo1(3).Text) & Set mrc = executesql(txtsql, msgtext) If mrc。EOF = False Then MsgBox 已经存在相同物资内容的记录!, vbOKOnly + vbExclamation, 警告 For intCount = 1 To 4 Text1(intCount).Text = Next intCount For intCount = 0 To 3 bo1(intCount).Text = 否 Next intCount Text1(1).SetFocus Exit Sub End If 先删除已有记录 txtsql = delete from roomtype where typeid= & Trim(Text1(0) & Set mrc = executesql(txtsql, msgtext) 再加入新记录 txtsql = select * from roomtype Set mrc = executesql(txtsql, msgtext) Mrc.AddNew For intCount = 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论