前 言
在飞速发展的信息时代,信息已经成为所有企业的关键资源。宾馆客房管理信息系统是用来收集、处理、存贮和传播客房、顾客、结算信息,以信息管理为核心的计算机应用系统。利用宾馆客房管理信息系统中合理的数据库结构来保存数据信息,及时了解各个环节中信息的变更,通过有效的程序结构来支持各种数据操作的执行,以提高管理效率,实现宾馆服务的系统化、规范化、自动化。
通过该项目的开发与使用,宾馆可以提高其员工的工作效率,增强企业竞争
力,同时适应信息时代管理数字化的要求,提高宾馆的服务水平与质量,从而赢得高信誉、强实力、好效益!建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,提高公司管理层对公司经营反馈信息的响应速度。从而大幅度提高工作效率,提高实施管理的准确性、科学性,使担负管理的工作人员从繁杂的手工劳作中解脱出来。
快速实现客人入住登记和账务处理,减少客人住店及离店时的等待时间,准
确实现客人预订入住的要求,实现有效及有保障的前台系统作业,快速响应住宿客人的有关项目查询要求,实现入住、消费、结账一条龙服务,方便客人在店内的各类消费要求,提供清晰、准确的各类明细报表、账单,给客人留下良好的管理印象。
第一章 需求分析
1.1 基本需求分析
在信息高度发达的今天,宾馆服务业涉及的各个工作环节已经不再仅仅是传统的住宿、结算,而是更广、更全面的服务性行业代表。
系统分析是采用系统的思想和方法,把复杂的对象分解成简单的组成部分,找出这些部分的基本属性和彼此之间的联系。针对现行宾馆客房计算机管理系统中存在的问题,为了提高信息采集的迅速性和准确性,利用计算机所具有的特殊功能处理宾馆客房管理系统中大量复杂的数据,及时输出各种管理信息和业务信息,为各级人员有效的管理和决策提供有力的依据,提高工作效率和经济效益,在全面调查的基础上提出了系统的总体逻辑描述。 1.2 经济可行性
费用:本系统要求的计算机配置并不高(400M Hz以上处理器。64M内存及以上,硬盘空间100M以上),设备的安装调试工作简单,PB软件的价格不高,操作简单,对用户进行少量的培训工作就可以熟练的使用本系统,因而培训费用较低。
收益:宾馆前台使用本系统后,提高了核对效能,相对的差错也大大减少;即工作人员的工作效率大大提高了,工作时间大大节省了,从而间接为宾馆创造了可观的经济效益,减少管理费用的支出,避免了不必要的人工错误;还提高了工作人员的素质,有利于管理方式与体制的合理改革,保证宾馆客房管理的可持续发展。因而在经济上是可行的。 1.3 管理可行性
建立管理信息系统是行业发展的必然要求,宾馆领导对科技的管理非常重视。使管理和业务流程信息化,是管理信息现代化的第一步。而员工对此更是表现出极大的热情和期望。因为该系统的实施将很大程度上降低他们的手工作业量,还会减少他们在工作上的失误,提高工作效率。因此,本系统在管理上是可行的。
第二章 宾馆客房管理系统概要设计
系统设计工作应该自顶向下地进行。首先设计总体结构,然后逐层深入,直至进入到一个模块的设计。总体设计主要是在系统分析的基础上,对整个系统的划分、物理配置(包括软件、硬件)、数据的存储规律以及整个系统实现等方面的合理安排。 2.1功能结构设计
本宾馆客房管理系统适用于各类中小型宾馆的客房资源和客户信息的管理,实现了宾馆客房的信息化管理,该系统主要包括基础信息设置、客房前台管理、查询统计管理、挂账管理、系统初始设计、系统维护等功能。如:图1-1分布结构图
图1-1分布结构图
系统功能描述:
(一)基础信息设置
1、设置客房信息:对客房的基本信息进行增加、修改、删除。 2、设置员工信息:对员工的基本信息进行增加、修改、删除。 3、设置挂账单位:对挂账单位的基本信息进行增加、修改、删除。 (二)客房前台管理
1、客房预订:可以通过此窗口实现客房预订。
2、住宿登记:客人入住宾馆登记信息,退宿一天前进行提醒。 3、宿费提醒:查询某日期的提醒信息或全部提醒信息。
4、退宿结帐:可以选择挂账、打折等多种方式,并可以在此增加其他消费项目的费用。自动提取系统时间以及当前操作员。 (三)查询统计管理
1、客房查询:通过房间号查询客房基本信息。 2、房态查询:(未实现)
3、预订房查询:通过客户姓名查询预订信息。 4、住宿查询:通过客户姓名查询住宿信息。 5、退宿查询:通过客户姓名查询退宿信息。
(四)挂账管理
1、挂账查询:通过挂账单位或地址以及时间段查询挂账信息。 2、挂账结款:登记挂账单位对挂账的还款。 (五)系统初始设计
1、本单位定义:设置本单位的基本信息。 2、业务部门定义:设置各业务部门的相关信息。 (六)系统维护
1、系统初始化:清空目前的系统数据,将系统恢复为初始状态。
2、操作员管理:高级管理员登录后可进行操作员的添加、删除以及信息更改。 3、权限设置:可以设定操作员的管理权限以及具体的可操作功能。
第三章 宾馆客房管理系统详细设计
3.1 登录系统 如:图1-2系统登录程序流程图
图1-2 系统登录程序流程图
单击系统启动画面,进入系统登录窗口。用户进入系统前,必须通过密码验证方可进入主窗口界面。
窗口中主要放置了一个下拉单选框ddlb_1,一个单行编辑框sle_1,以及两个命令按钮cb_1、cb_2。用户首先在下拉单选框中选择操作员,然后输入密码。点击“确定”按钮后,系统自动提取对应操作员的登录密码,与保存在局部变量中的用户所输入密码进行比对。
如果密码不正确,则提示“密码有误!” ;如果密码正确则进入系统主窗口main_win。登录按钮cb_1的代码如下:
//窗口login_win的“确定”按钮的clicked()事件,判断密码的正误,若正确则
进入系统主界面
string czy99,pwd99,czy100,pwd100,pwd200 czy99=trim(ddlb_1.text) pwd99=trim(sle_1.text) if czy99="" then
messagebox("","请选择操作员!") else
if pwd99="" then
messagebox("","请输入密码!") else //选择数据
select pwd into :pwd100 from czy_tab where czy=:czy99; pwd200=trim(pwd100) if pwd200=pwd99 then czyvar=trim(czy99) open(main_win) close(parent) else
messagebox("","密码有误!")
sle_1.text=""
sle_1.setfocus() end if end if end if
登录成功后显示宾馆客房管理信息系统主界面如下图,主窗口为main_win,主界面上所链接菜单为menu_menu。如:1-3客房管理系统图
图1-3 客房管理系统图
3.2 基础信息设置
单击主菜单“基础信息设置”下的“设置客房信息”子菜单,进入客房信息设置窗体,主要实现客房基本信息的添加、修改、删除等功能。 如:图1-4 客房类型信息图
图1-4 客房类型信息图
本窗口主要由两个单行编辑框、三个掩码框、一个多行编辑框、两个下拉单选框、一个数据窗口以及十个命令按钮组成,其中营业日期可自动提取系统时间。点击“添加”按钮,可生成新的房间信息,在添加房间信息的过程中,“添加”按钮不可用,“保存”按钮可用。在此窗口还可以对已保存的房间信息进行修改,并可删除已保存的房间信息。“添加”按钮cb_3的代码如下: //窗口kflxxx_win的“添加”按钮的clicked()事件,清空文本控件的内容,自动生成房间号码
em_3.text=string(today()) em_1.text="" ddlb_1.text="" em_2.text="" mle_1.text="" ddlb_2.text="" sle_1.text=""
sle_2.text=""
string lbbh,lbbh1,lbbh2 int lbbh3 //选择数据
select fjh into :lbbh from kfxxlx_tab; if lbbh="" then em_1.text="0001" else //生成房间号
declare cursor1 cursor for select fjh from kfxxlx_tab; open cursor1;
fetch cursor1 into :lbbh1; lbbh2="0001"
do while sqlca.sqlcode=0 if lbbh1>lbbh2 then lbbh2=lbbh1 else
lbbh2=lbbh2 end if
fetch cursor1 into :lbbh1; loop close cursor1;
lbbh3=integer(lbbh2) + 1
lbbh2=string(lbbh3) em_1.text=lbbh2 end if
lbbh="" lbbh1="" lbbh2="" lbbh3=0 ddlb_1.setfocus() cb_2.enabled=true cb_3.enabled=false 3.3客房预订
单击主菜单“客房前台管理”下的“客房预订”子菜单,进入客房预订窗。如:图1-5客房预订图
图1-5客房预订图
本窗口主要由九个单行编辑框、三个下拉单选框以及四个命令按钮组成,其中操作员为自动填入,预付金额在登记预住天数、选择客房价格后点击编辑框可自动生成。点击“添加”按钮,可生成新的客房预订信息。
窗口open事件的部分代码如下:
//窗口kfyd_win的open()事件,初始给控件,分别把不同的房间类型和价格添加到组合框ddlb_2和ddlb_3中
……
//把不同的房间类型添加到组合框ddlb_2中
declare cursor1 cursor for select distinct fjlx from kfxxlx_tab; open cursor1;
fetch cursor1 into :kflb; do while sqlca.sqlcode=0 ddlb_2.additem(kflb) fetch cursor1 into :kflb; loop close cursor1;
string jg
//把不同的价格添加到组合框ddlb_3中
declare cursor2 cursor for select distinct jg from kfxxlx_tab; open cursor2; fetch cursor2 into :jg; do while sqlca.sqlcode=0
ddlb_3.additem(jg) fetch cursor2 into :jg; loop close cursor2;
3.4 住宿登记
单击主菜单“客房前台管理”下的“住宿登记”子菜单,进入住宿登记窗体。如:图1-6住宿登记图
图1-6住宿登记图
本窗口主要由五个单行编辑框、十四个编辑框、一个多行编辑框、三个下拉单选框以及四个命令按钮组成,其中有十二个编辑框自动生成数据(住宿编号可更改,其他不可更改)。房间号码可选择已登记的房间,如果选中房态为“入住”的房间则提示“该客房已住人!”,房态为“维修”时则提示“该客房正在维修!”。在登记过程中“登记”按钮enabled属性为false。窗口open事件的部分代码如下:
//窗口zxdj_win的open()事件,初始化控件,并把不同的房间号添加到组合框ddlb_3中
string fjh
//把不同的房间号添加到组合框ddlb_3中 declare cursor1 cursor for select fjh from kfxxlx_tab;
open cursor1; fetch cursor1 into :fjh; do while sqlca.sqlcode=0 ddlb_3.additem(fjh) fetch cursor1 into :fjh; loop
close cursor1; //得到当前系统的日期
em_5.text=string(today()) //得到当前系统的时间
em_6.text=string(now()) ddlb_2.selectitem(3) 3.5 退宿结账
单击主菜单“客房前台管理”下的“退宿结账”子菜单进入退宿结账窗体。如:图1-7退宿结账图
图1-7退宿结账图
本窗口实现功能为客人的退房结账。在下拉菜单中选择凭证号码,其他信息自动从数据库中提取,退宿编号为自动分配。在附加费处选择附加费项目,然后在后面的单行编辑框中输入数目,提示栏中显示对应的消费,并自动计算到应收金额及退还金额中。掩码框“附加费”金额em_8的代码如下://窗口txjz_win的掩码框em_8的modified()事件,统计总计金额
if ddlb_7.text="电话费" then st_22.text=em_8.text
elseif ddlb_7.text="会议费" then st_24.text=em_8.text elseif ddlb_7.text="杂费" then st_23.text=em_8.text
elseif ddlb_7.text="停车费" then st_25.text=em_8.text
elseif ddlb_7.text="赔偿费" then
st_26.text=em_8.text end if
em_9.text=string(real(sle_8.text)+(real(st_22.text)+real(st_23.text)+real(st_24.text)+real(st_25.text)+real(st_26.text))*real(em_7.text)/100)
em_11.text=string(real(em_10.text)-real(em_9.text)) 3.6 查询统计管理
单击主菜单“查询统计管理”下的“预订房查询”子菜单,进入预订房查询窗体。如:图1-8预订房查询图
图1-8预订房查询图
在此窗口可以对预订信息进行查询以及删除。窗口open事件的代码如下://窗口ydfcx_win的open()事件,连接数据库,检索数据,把不同的姓名添加到组合框ddlb_1中
string xm
//把不同的姓名添加到组合框ddlb_1中
declare cursor1 cursor for select distinct xm from kfyd_tab; open cursor1; fetch cursor1 into :xm; do while sqlca.sqlcode=0 ddlb_1.additem(xm) fetch cursor1 into :xm; loop close cursor1; //连接数据库
dw_1.settransobject(sqlca) //检索数据
dw_1.retrieve()
第四章 开发设计总结
在做毕业设计以前,本人对管理信息系统开发的理解只是停留在理论知识的水平上,是纸上谈兵,缺乏实际的软件开发经验。这次通过做毕业设计,作者完成了《宾馆客房管理信息系统》的软件开发任务。在整个开发过程中遇到了很多的问题,但最终都一一解决,对其中比较深刻的几点体会总结如下:
第一,让作者发愁的是对宾馆客房的具体业务流程不太熟悉。通过走访各宾馆和查阅资料,经过反复的修改论证,才完成了系统的分析和设计工作。
第二,面临的困难是不熟悉软件开发工具。作者只好翻阅了有关PowerBuilder的书籍,同时又不断向老师和同学们请教,才逐渐熟练和掌握了开发工具。
第三,从教条主义到理论联系实际的转变。因为没有写论文的经验,所以开始总是生搬硬套书本上的理论和概念,结果写出的论文就非常死板,缺乏新意,不能真正描述出自己软件的开发过程,犯了教条主义的错误。后来经过老师的多次指点,作者对论文从结构和内容上都进行了大幅度的调整和修改,删掉了论文中过多的理论和概念,利用理论知识把自己实际的开发过程,用自己的语言和科学方法准确的表达出来,经过多次修改终于完成了论文的写作。这使作者真正体会到什么叫理论联系实际。
第四,在软件开发的过程中,开始编写菜单、窗口、表结构时,进展还是比较顺利,但当有些字段、表关联、数据窗口混淆在一起的时候,作者被搞得晕头转向。最后不得不重新整理表结构,修改字段名称,到 SQLServer中去修改数据库,才将系统的结构最终确定下来。对于源代码的编写,也是经过反复的修改测试,才使系统的设计功能得以正确实现。
总之,理论+实践=知识。程序设计过程中,作者以理论为指导,以实践为主体,将理论与实践紧密结合起来,亲身体会到只有将理论与实践有效的结合起来,才能使理论指导实践,又反过来丰富理论,二者相得益彰,使学习效率大大提高。
参考文献
[1]刘彦保,李军利,郝继升.用PowerBuilder和SQL Server开发酒店管理信息系统
[J].延安大学学报,2003,Vol.04
[2]亓协民.龙铁宾馆网络系统分析[J].哈尔滨铁道科技,1999,Vol.01
[3]So-Yeon LEE,Jai-Sang Koh.WWW-Based Reliability Information System
[J].Computers ind. Engng,1998,Vol.35:599-602
[4]吴锋.PowerBuilder在企业MIS开发中的应用与思考[J].计算机工程与应
用,1999,Vol.01
[5]张鸿,熊文龙.基于C/S模式的SQL数据库应用技术[J].武汉理工大学学
报,2003,Vol.06
[6]陈建平.Sybase SQL Server与管理信息系统设计[J].长春邮电学院学报,1996,
Vol.02
[7]叶蓓.SQL Server2000关系数据库特性分析[J].现代电子技术,2003,Vol.23 [8]刘凯,苗放,王艳.PowerBuilder与Sybase在客户/服务器模式下的连接及应用[J].物探化探计算技术,2001,Vol.04
致 谢
转眼间,大学生活即将结束。回首过去四年的大学生活,真是有苦也有乐,然而更多的则是收获。在本次设计中,作者非常感谢老师的谆谆教导和辛勤培育。乔虹老师丰富的软件设计经验以及对作者认真耐心的指导,使作者克服了在毕业设计中遇到的许多困难,顺利完成毕业设计。感谢同学、朋友给予作者的大力支持和帮助,感谢各位答辩小组的老师们对作者的指导。作者相信:这次毕业设计会给四年的大学生活画上一个圆满的句号。
最后,祝每一位老师工作顺利,生活幸福,并致以真诚的敬意。
前 言
在飞速发展的信息时代,信息已经成为所有企业的关键资源。宾馆客房管理信息系统是用来收集、处理、存贮和传播客房、顾客、结算信息,以信息管理为核心的计算机应用系统。利用宾馆客房管理信息系统中合理的数据库结构来保存数据信息,及时了解各个环节中信息的变更,通过有效的程序结构来支持各种数据操作的执行,以提高管理效率,实现宾馆服务的系统化、规范化、自动化。
通过该项目的开发与使用,宾馆可以提高其员工的工作效率,增强企业竞争
力,同时适应信息时代管理数字化的要求,提高宾馆的服务水平与质量,从而赢得高信誉、强实力、好效益!建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,提高公司管理层对公司经营反馈信息的响应速度。从而大幅度提高工作效率,提高实施管理的准确性、科学性,使担负管理的工作人员从繁杂的手工劳作中解脱出来。
快速实现客人入住登记和账务处理,减少客人住店及离店时的等待时间,准
确实现客人预订入住的要求,实现有效及有保障的前台系统作业,快速响应住宿客人的有关项目查询要求,实现入住、消费、结账一条龙服务,方便客人在店内的各类消费要求,提供清晰、准确的各类明细报表、账单,给客人留下良好的管理印象。
第一章 需求分析
1.1 基本需求分析
在信息高度发达的今天,宾馆服务业涉及的各个工作环节已经不再仅仅是传统的住宿、结算,而是更广、更全面的服务性行业代表。
系统分析是采用系统的思想和方法,把复杂的对象分解成简单的组成部分,找出这些部分的基本属性和彼此之间的联系。针对现行宾馆客房计算机管理系统中存在的问题,为了提高信息采集的迅速性和准确性,利用计算机所具有的特殊功能处理宾馆客房管理系统中大量复杂的数据,及时输出各种管理信息和业务信息,为各级人员有效的管理和决策提供有力的依据,提高工作效率和经济效益,在全面调查的基础上提出了系统的总体逻辑描述。 1.2 经济可行性
费用:本系统要求的计算机配置并不高(400M Hz以上处理器。64M内存及以上,硬盘空间100M以上),设备的安装调试工作简单,PB软件的价格不高,操作简单,对用户进行少量的培训工作就可以熟练的使用本系统,因而培训费用较低。
收益:宾馆前台使用本系统后,提高了核对效能,相对的差错也大大减少;即工作人员的工作效率大大提高了,工作时间大大节省了,从而间接为宾馆创造了可观的经济效益,减少管理费用的支出,避免了不必要的人工错误;还提高了工作人员的素质,有利于管理方式与体制的合理改革,保证宾馆客房管理的可持续发展。因而在经济上是可行的。 1.3 管理可行性
建立管理信息系统是行业发展的必然要求,宾馆领导对科技的管理非常重视。使管理和业务流程信息化,是管理信息现代化的第一步。而员工对此更是表现出极大的热情和期望。因为该系统的实施将很大程度上降低他们的手工作业量,还会减少他们在工作上的失误,提高工作效率。因此,本系统在管理上是可行的。
第二章 宾馆客房管理系统概要设计
系统设计工作应该自顶向下地进行。首先设计总体结构,然后逐层深入,直至进入到一个模块的设计。总体设计主要是在系统分析的基础上,对整个系统的划分、物理配置(包括软件、硬件)、数据的存储规律以及整个系统实现等方面的合理安排。 2.1功能结构设计
本宾馆客房管理系统适用于各类中小型宾馆的客房资源和客户信息的管理,实现了宾馆客房的信息化管理,该系统主要包括基础信息设置、客房前台管理、查询统计管理、挂账管理、系统初始设计、系统维护等功能。如:图1-1分布结构图
图1-1分布结构图
系统功能描述:
(一)基础信息设置
1、设置客房信息:对客房的基本信息进行增加、修改、删除。 2、设置员工信息:对员工的基本信息进行增加、修改、删除。 3、设置挂账单位:对挂账单位的基本信息进行增加、修改、删除。 (二)客房前台管理
1、客房预订:可以通过此窗口实现客房预订。
2、住宿登记:客人入住宾馆登记信息,退宿一天前进行提醒。 3、宿费提醒:查询某日期的提醒信息或全部提醒信息。
4、退宿结帐:可以选择挂账、打折等多种方式,并可以在此增加其他消费项目的费用。自动提取系统时间以及当前操作员。 (三)查询统计管理
1、客房查询:通过房间号查询客房基本信息。 2、房态查询:(未实现)
3、预订房查询:通过客户姓名查询预订信息。 4、住宿查询:通过客户姓名查询住宿信息。 5、退宿查询:通过客户姓名查询退宿信息。
(四)挂账管理
1、挂账查询:通过挂账单位或地址以及时间段查询挂账信息。 2、挂账结款:登记挂账单位对挂账的还款。 (五)系统初始设计
1、本单位定义:设置本单位的基本信息。 2、业务部门定义:设置各业务部门的相关信息。 (六)系统维护
1、系统初始化:清空目前的系统数据,将系统恢复为初始状态。
2、操作员管理:高级管理员登录后可进行操作员的添加、删除以及信息更改。 3、权限设置:可以设定操作员的管理权限以及具体的可操作功能。
第三章 宾馆客房管理系统详细设计
3.1 登录系统 如:图1-2系统登录程序流程图
图1-2 系统登录程序流程图
单击系统启动画面,进入系统登录窗口。用户进入系统前,必须通过密码验证方可进入主窗口界面。
窗口中主要放置了一个下拉单选框ddlb_1,一个单行编辑框sle_1,以及两个命令按钮cb_1、cb_2。用户首先在下拉单选框中选择操作员,然后输入密码。点击“确定”按钮后,系统自动提取对应操作员的登录密码,与保存在局部变量中的用户所输入密码进行比对。
如果密码不正确,则提示“密码有误!” ;如果密码正确则进入系统主窗口main_win。登录按钮cb_1的代码如下:
//窗口login_win的“确定”按钮的clicked()事件,判断密码的正误,若正确则
进入系统主界面
string czy99,pwd99,czy100,pwd100,pwd200 czy99=trim(ddlb_1.text) pwd99=trim(sle_1.text) if czy99="" then
messagebox("","请选择操作员!") else
if pwd99="" then
messagebox("","请输入密码!") else //选择数据
select pwd into :pwd100 from czy_tab where czy=:czy99; pwd200=trim(pwd100) if pwd200=pwd99 then czyvar=trim(czy99) open(main_win) close(parent) else
messagebox("","密码有误!")
sle_1.text=""
sle_1.setfocus() end if end if end if
登录成功后显示宾馆客房管理信息系统主界面如下图,主窗口为main_win,主界面上所链接菜单为menu_menu。如:1-3客房管理系统图
图1-3 客房管理系统图
3.2 基础信息设置
单击主菜单“基础信息设置”下的“设置客房信息”子菜单,进入客房信息设置窗体,主要实现客房基本信息的添加、修改、删除等功能。 如:图1-4 客房类型信息图
图1-4 客房类型信息图
本窗口主要由两个单行编辑框、三个掩码框、一个多行编辑框、两个下拉单选框、一个数据窗口以及十个命令按钮组成,其中营业日期可自动提取系统时间。点击“添加”按钮,可生成新的房间信息,在添加房间信息的过程中,“添加”按钮不可用,“保存”按钮可用。在此窗口还可以对已保存的房间信息进行修改,并可删除已保存的房间信息。“添加”按钮cb_3的代码如下: //窗口kflxxx_win的“添加”按钮的clicked()事件,清空文本控件的内容,自动生成房间号码
em_3.text=string(today()) em_1.text="" ddlb_1.text="" em_2.text="" mle_1.text="" ddlb_2.text="" sle_1.text=""
sle_2.text=""
string lbbh,lbbh1,lbbh2 int lbbh3 //选择数据
select fjh into :lbbh from kfxxlx_tab; if lbbh="" then em_1.text="0001" else //生成房间号
declare cursor1 cursor for select fjh from kfxxlx_tab; open cursor1;
fetch cursor1 into :lbbh1; lbbh2="0001"
do while sqlca.sqlcode=0 if lbbh1>lbbh2 then lbbh2=lbbh1 else
lbbh2=lbbh2 end if
fetch cursor1 into :lbbh1; loop close cursor1;
lbbh3=integer(lbbh2) + 1
lbbh2=string(lbbh3) em_1.text=lbbh2 end if
lbbh="" lbbh1="" lbbh2="" lbbh3=0 ddlb_1.setfocus() cb_2.enabled=true cb_3.enabled=false 3.3客房预订
单击主菜单“客房前台管理”下的“客房预订”子菜单,进入客房预订窗。如:图1-5客房预订图
图1-5客房预订图
本窗口主要由九个单行编辑框、三个下拉单选框以及四个命令按钮组成,其中操作员为自动填入,预付金额在登记预住天数、选择客房价格后点击编辑框可自动生成。点击“添加”按钮,可生成新的客房预订信息。
窗口open事件的部分代码如下:
//窗口kfyd_win的open()事件,初始给控件,分别把不同的房间类型和价格添加到组合框ddlb_2和ddlb_3中
……
//把不同的房间类型添加到组合框ddlb_2中
declare cursor1 cursor for select distinct fjlx from kfxxlx_tab; open cursor1;
fetch cursor1 into :kflb; do while sqlca.sqlcode=0 ddlb_2.additem(kflb) fetch cursor1 into :kflb; loop close cursor1;
string jg
//把不同的价格添加到组合框ddlb_3中
declare cursor2 cursor for select distinct jg from kfxxlx_tab; open cursor2; fetch cursor2 into :jg; do while sqlca.sqlcode=0
ddlb_3.additem(jg) fetch cursor2 into :jg; loop close cursor2;
3.4 住宿登记
单击主菜单“客房前台管理”下的“住宿登记”子菜单,进入住宿登记窗体。如:图1-6住宿登记图
图1-6住宿登记图
本窗口主要由五个单行编辑框、十四个编辑框、一个多行编辑框、三个下拉单选框以及四个命令按钮组成,其中有十二个编辑框自动生成数据(住宿编号可更改,其他不可更改)。房间号码可选择已登记的房间,如果选中房态为“入住”的房间则提示“该客房已住人!”,房态为“维修”时则提示“该客房正在维修!”。在登记过程中“登记”按钮enabled属性为false。窗口open事件的部分代码如下:
//窗口zxdj_win的open()事件,初始化控件,并把不同的房间号添加到组合框ddlb_3中
string fjh
//把不同的房间号添加到组合框ddlb_3中 declare cursor1 cursor for select fjh from kfxxlx_tab;
open cursor1; fetch cursor1 into :fjh; do while sqlca.sqlcode=0 ddlb_3.additem(fjh) fetch cursor1 into :fjh; loop
close cursor1; //得到当前系统的日期
em_5.text=string(today()) //得到当前系统的时间
em_6.text=string(now()) ddlb_2.selectitem(3) 3.5 退宿结账
单击主菜单“客房前台管理”下的“退宿结账”子菜单进入退宿结账窗体。如:图1-7退宿结账图
图1-7退宿结账图
本窗口实现功能为客人的退房结账。在下拉菜单中选择凭证号码,其他信息自动从数据库中提取,退宿编号为自动分配。在附加费处选择附加费项目,然后在后面的单行编辑框中输入数目,提示栏中显示对应的消费,并自动计算到应收金额及退还金额中。掩码框“附加费”金额em_8的代码如下://窗口txjz_win的掩码框em_8的modified()事件,统计总计金额
if ddlb_7.text="电话费" then st_22.text=em_8.text
elseif ddlb_7.text="会议费" then st_24.text=em_8.text elseif ddlb_7.text="杂费" then st_23.text=em_8.text
elseif ddlb_7.text="停车费" then st_25.text=em_8.text
elseif ddlb_7.text="赔偿费" then
st_26.text=em_8.text end if
em_9.text=string(real(sle_8.text)+(real(st_22.text)+real(st_23.text)+real(st_24.text)+real(st_25.text)+real(st_26.text))*real(em_7.text)/100)
em_11.text=string(real(em_10.text)-real(em_9.text)) 3.6 查询统计管理
单击主菜单“查询统计管理”下的“预订房查询”子菜单,进入预订房查询窗体。如:图1-8预订房查询图
图1-8预订房查询图
在此窗口可以对预订信息进行查询以及删除。窗口open事件的代码如下://窗口ydfcx_win的open()事件,连接数据库,检索数据,把不同的姓名添加到组合框ddlb_1中
string xm
//把不同的姓名添加到组合框ddlb_1中
declare cursor1 cursor for select distinct xm from kfyd_tab; open cursor1; fetch cursor1 into :xm; do while sqlca.sqlcode=0 ddlb_1.additem(xm) fetch cursor1 into :xm; loop close cursor1; //连接数据库
dw_1.settransobject(sqlca) //检索数据
dw_1.retrieve()
第四章 开发设计总结
在做毕业设计以前,本人对管理信息系统开发的理解只是停留在理论知识的水平上,是纸上谈兵,缺乏实际的软件开发经验。这次通过做毕业设计,作者完成了《宾馆客房管理信息系统》的软件开发任务。在整个开发过程中遇到了很多的问题,但最终都一一解决,对其中比较深刻的几点体会总结如下:
第一,让作者发愁的是对宾馆客房的具体业务流程不太熟悉。通过走访各宾馆和查阅资料,经过反复的修改论证,才完成了系统的分析和设计工作。
第二,面临的困难是不熟悉软件开发工具。作者只好翻阅了有关PowerBuilder的书籍,同时又不断向老师和同学们请教,才逐渐熟练和掌握了开发工具。
第三,从教条主义到理论联系实际的转变。因为没有写论文的经验,所以开始总是生搬硬套书本上的理论和概念,结果写出的论文就非常死板,缺乏新意,不能真正描述出自己软件的开发过程,犯了教条主义的错误。后来经过老师的多次指点,作者对论文从结构和内容上都进行了大幅度的调整和修改,删掉了论文中过多的理论和概念,利用理论知识把自己实际的开发过程,用自己的语言和科学方法准确的表达出来,经过多次修改终于完成了论文的写作。这使作者真正体会到什么叫理论联系实际。
第四,在软件开发的过程中,开始编写菜单、窗口、表结构时,进展还是比较顺利,但当有些字段、表关联、数据窗口混淆在一起的时候,作者被搞得晕头转向。最后不得不重新整理表结构,修改字段名称,到 SQLServer中去修改数据库,才将系统的结构最终确定下来。对于源代码的编写,也是经过反复的修改测试,才使系统的设计功能得以正确实现。
总之,理论+实践=知识。程序设计过程中,作者以理论为指导,以实践为主体,将理论与实践紧密结合起来,亲身体会到只有将理论与实践有效的结合起来,才能使理论指导实践,又反过来丰富理论,二者相得益彰,使学习效率大大提高。
参考文献
[1]刘彦保,李军利,郝继升.用PowerBuilder和SQL Server开发酒店管理信息系统
[J].延安大学学报,2003,Vol.04
[2]亓协民.龙铁宾馆网络系统分析[J].哈尔滨铁道科技,1999,Vol.01
[3]So-Yeon LEE,Jai-Sang Koh.WWW-Based Reliability Information System
[J].Computers ind. Engng,1998,Vol.35:599-602
[4]吴锋.PowerBuilder在企业MIS开发中的应用与思考[J].计算机工程与应
用,1999,Vol.01
[5]张鸿,熊文龙.基于C/S模式的SQL数据库应用技术[J].武汉理工大学学
报,2003,Vol.06
[6]陈建平.Sybase SQL Server与管理信息系统设计[J].长春邮电学院学报,1996,
Vol.02
[7]叶蓓.SQL Server2000关系数据库特性分析[J].现代电子技术,2003,Vol.23 [8]刘凯,苗放,王艳.PowerBuilder与Sybase在客户/服务器模式下的连接及应用[J].物探化探计算技术,2001,Vol.04
致 谢
转眼间,大学生活即将结束。回首过去四年的大学生活,真是有苦也有乐,然而更多的则是收获。在本次设计中,作者非常感谢老师的谆谆教导和辛勤培育。乔虹老师丰富的软件设计经验以及对作者认真耐心的指导,使作者克服了在毕业设计中遇到的许多困难,顺利完成毕业设计。感谢同学、朋友给予作者的大力支持和帮助,感谢各位答辩小组的老师们对作者的指导。作者相信:这次毕业设计会给四年的大学生活画上一个圆满的句号。
最后,祝每一位老师工作顺利,生活幸福,并致以真诚的敬意。