客房管理系统课程设计_第1页
客房管理系统课程设计_第2页
客房管理系统课程设计_第3页
客房管理系统课程设计_第4页
客房管理系统课程设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、学院电气信息工程学院组长乔雨组员焦少少李凌鹏张会荣魏祥鹏专业计科12101实验项目客房管理系统辅导老师徐晓君目录TOC o 1-5 h z任务分配和目标3 HYPERLINK l bookmark2 o Current Document 1系统需求分析4 HYPERLINK l bookmark4 o Current Document 待开发功能的一般描述4 HYPERLINK l bookmark6 o Current Document 待开发软件的功能模块4 HYPERLINK l bookmark8 o Current Document 网站可行性分析5 HYPERLINK l book

2、mark10 o Current Document UML系统建模5 HYPERLINK l bookmark12 o Current Document 系统总体设计8 HYPERLINK l bookmark14 o Current Document 系统功能描述8 HYPERLINK l bookmark16 o Current Document 功能结构图9 HYPERLINK l bookmark18 o Current Document 系统流程图10 HYPERLINK l bookmark20 o Current Document 数据库设计12 HYPERLINK l book

3、mark22 o Current Document 数据字典12 HYPERLINK l bookmark24 o Current Document ER图设计13 HYPERLINK l bookmark26 o Current Document 数据表设计14 HYPERLINK l bookmark28 o Current Document 系统详细设计及实现16 HYPERLINK l bookmark30 o Current Document 4.1登录窗体设计16 HYPERLINK l bookmark32 o Current Document 系统主界面设计18 HYPERLI

4、NK l bookmark34 o Current Document 入住管理界面设计20 HYPERLINK l bookmark36 o Current Document 预定管理界面设计25 HYPERLINK l bookmark38 o Current Document 退房结账界面设计30 HYPERLINK l bookmark40 o Current Document 5.总结34任务分配和目标本系统的名称为客房管理系统项目的负责人是组长乔雨本项目参与者有焦少少、李凌鹏、魏祥鹏、张会荣任务分配:乔雨主要统领全局及负责系统的主要代码的调试和编写;焦少少主要负责系统的基本功能及小组

5、成员之间的协调工作;李凌鹏主要负责系统的总体功能实现及系统的调试;张会荣主要负责系统的部分代码和界面设计;魏祥鹏主要负责系统部分功能以及系统的问题处理;我们主要针对架构清晰、模块独立性强、以及易维护和扩展等特点,进行系统设计,从而提供宾馆客房科学、规范的现代管理模式,使宾馆客房管理跨上一个新的台阶,一个先进的管理手段即高效率计算机管理方式引导宾馆行业的发展。1系统需求分析待开发功能的一般描述酒店作为目前高层次的服务行业之一,最重要的就是要做到优质服务。服务的安排、调度是否周到,客人的要求是否能迅速地得到满足,都直接影响到酒店的形象和声誉。借助计算机技术来进行信息管理,并配合现代化的酒店管理经验

6、和模式,可以极大地提高酒店的服务质量,获得更好的经济效益。酒店信息化管理已成为酒店现代科学管理的重要内容,是酒店经营中必不可缺少的现代科学工具。系统目标:(1)建立一套功能完整、高效、安全、稳定的酒店管理系统.(2)系统能够对员工日常操作进行快速、安全地反映。(3)实现对顾客信息,预订、入住、换房、退房、房态设置等信息的方便迅速录入、查询及管理,了解酒店日常业务的相关信息。(4)界面简洁、操作方便、简单易学,用户不需要有太多的专业知识。1.2待开发软件的功能模块针对客房管理系统的需求,通过对客房管理工作过程的内容分析,系统需要实现的功能有如下主要五大功能:(1)客房管理:客房编辑,客房状态编辑

7、,客房类型编辑。(对客房的状态、类型进行查,删,改)(2)顾客管理:客房预定,登记入住,房间调整,退房登记。(根据顾客的要求对客房号或客房类型进行查询、修改等)(3)账单管理:消费记录,话费记录,入住登记。(根据房间号查询,修改,删除顾客消费记录)(4)系统设置:修改密码以及用户管理。5)客房预订管理:登记预定客户、客房的信息以及浏览查询等。1.3网站可行性分析可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:(1)

8、经济可行性:该系统设计是本组人员通过自己所掌握的知识设计的,又因为本组的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。(2)技术可行性:Delphi的技术是我们以前所学习的知识,较为熟练。(3)运行可行性:该系统需要在正确连接Access数据库后可以正常运行。通过以上的可行性分析,我们将采用Delphi的技术,运用Access数据库对系统进行建设。1.4UML系统建模因为UML很适合于对逻辑数据库模式和物理数据库模式建模,所以我们对系统进行UML建模。下面是酒店客房管理系统的UML建模过程。这里我们将使用RationalRose进行UML建模。用例图分析:人住及登记客八管理nw.s

9、牛人信恩管艸图1.1系统用例图订房管理时序图:图1.2预订时序图图1.3业务流程图针对现在宾馆业的发展需求,在业务流程图的基础上,可以得到数据流程图顶层数据流图:图1.4顶层数据流图系统总体设计系统功能描述我们组通过商讨,搜索资料,所设计的福到家宾馆客房管理系统适用于宾馆的客房资源和客户信息的管理,实现宾馆客房的信息化管理,该系统主要包括预定管理、前台接待管理、前台收银操作、客房及客史管理、基础信息设置、系统帮助等功能。具体功能设计内容如下:(一)预订管理:房态表(查看房间现状,有无空房、是否维修、是否住房等等)、预订操作、预定查询。(二)前台接待管理:入住登记、入住查询。(三)前台收银操作:

10、记账操作、退房操作。(四)客房及客史管理:客房信息查询、房态维护管理、预定客人报表:链接预定客人报表、在住客人报表、当日预定客人报表、当日入住客人报表、当日离店客人报表、链接当日离店客人报表、当日财务进账报表、历史客人预定查询、历史客人入住查询。(五)基础信息设置:客房类型设置、客房信息设置、工作人员管理:链接工作人员管理窗体、操作人员管理、会员编号管理、用户密码修改、系统用户注销、系统备份还原、链接用户密码修改窗体、系统日志管理、系统数据维护、电话计费接口、房态系统接口。六)系统帮助:关于系统、联机帮助。功能结构图客房管理系统功能结构如图2.1所示图2.1系统功能结构图2.3系统流程图通过对

11、系统功能的分析,可得到用户操作的一般流程,如图所示。普通用户超级用户前台登退出系统退房显示预订信息可添加预定删除预定修改预定删除客是否预退出(结束是显示空房信息客人选择房间登记入住顾客消费记录可执行计顾消金住费执结算客费额宿用行账查看客房和商品销售情况是否有空闲房间1r建议入住其它客房图2.2登录流程图用户登录系统时,系统将根据用户权限对其进行相应的功能限制。一般普通用户可拥有前台登记、收银结账以及对商品和客房信息进行查询和设置的权限;而超级用户除拥有普通用户的所有权限外,还可进行系统用户设置、数据库维护和查看系统日志。数据库设计数据字典根据绘制出的数据流图,定义出本系统的数据字典。如下列所示

12、数据项客户编号含义说明唯一标识每个客户别名类型整型长度4取值范围0000-9999取值含义按客户顺序编号与其他数据项的逻辑关系数据结构客户含义说明客房管理系统的主体数据结构,定义了一个客户的相关信息组成客户编号,客户姓名,性别,年龄,身份证号,户籍表3.2客户字典表3.1客户编号字典数据项房号含义说明唯一标识每个房间别名房间编号类型整型长度4取值范围100-411取值含义每层楼的房间顺序与其他数据项的逻辑关系数据结构客房含义说明客房管理系统的主体数据结构,定义一个客房的相关信息组成房号,房间类型,房间价格,房间状态表3.4客房字典表3.3房号字典数据存储客户信息表说明记录入住的客户的综合信息流

13、入数据流客户信息流出数据流入住信息组成客户,入住时间,离店时间,押金,账单编号,房号数据流结算账单含义说明客户入住的消费结果数据流来源结算处理数据流去向操作员组成账单编号,房号,住店天数,总费用表3.6结算账单字典表3.5客房信息表ER图设计本系统采用Access数据库。经考察和分析,本案例客房管理系统包括以下实体:客户实体、客房实体、操作员实体、结算账单实体,它们的E-R图如以下所入住编号退房日期证件号入住日期入住Mn房间类型结帐金额顾客信息客房信息籍贯n房间电话号码证件类型预定预订日期预订入住日期退订日期1是否有电视订单号预订入住天数类型是否有电脑价格额定床位面积属房间类型电话客房号示楼层

14、客房状态图3.1整体E-R图数据表设计根据E-R图,将图转换为关系模型即:将实体、实体的属性和实体之间的联系转换为关系模式,然后将全局E-R图转换成关系模型:客房类型(价格,面积,类型,额定人数,是否有电脑,是否有电视,额定床位)客房(房间类型,客房号,房间电话号码,客房状态,楼层)顾客(姓名,证件号,籍贯,性别,电话,证件类型)入住记录(住编号,证件号,客房号,入住日期,退房日期,押金,结帐金额,话费花销)预定信息(订单号,证件号,客房号,预定日期,预定入住日期,预定天数,退订日期)关系数据表确定后要进行数据表的逻辑结构设计,即定义关系数据表中字段名称、数据结构、是否允许为空、关键字、说明等

15、。客房表:(room)字段名称数据类型字段大小备注客房号Nchar5不允许为空(主键)房间类型Nchar10楼层Int房间状态Nchar10包含空闲,占用,预定房间电话号码Nchar6用于联系房间住户表3.7客房表顾客表:(customer)字段名称数据类型字段大小备注姓名Nchar10不允许为空证件号char20不允许为空(主键)籍贯Char10不允许为空性别Char4电话号码Nchar11证件类型char12表3.7顾客表客房类型表:(roomtype)字段名称数据类型字段大小备注类型char10不允许为空(主键)面积float一不允许为空价格money一不允许为空额定床位smallint

16、一额定人数smallint一是否有电视char2是否有电脑char2表3.8客房类型表入住记录表:(roomrecord)字段名称数据类型字段大小备注证件号char20不允许为空客房号Nchar5不允许为空入住日期datetime一不允许为空退房日期datetime一话费花销char6押金Money结帐金额Money入住编号Char10不允许为空(主键)表3.9入住记录表预订记录表:(bookrecord)字段名称数据类型字段大小备注订单号char12不允许为空(主键)客房号nchar5不允许为空预定日期datetime一不允许为空预定入住日期datetime一预定天数smallint一证件号

17、Char20不允许为空表3.10预订记录系统详细设计及实现登录窗体设计(1)窗体功能描述本窗体是系统的启动窗体,实现对于用户身份的多重验证功能。具体描述如下:用户合法性验证。首先判断用户输入的用户名和密码是否正确,若正确,就进入用户状态判定,若错误;系统便发出警告信息。系统限定用户只有三次输入机会,三次之后本窗体自动关闭。(2)窗体设计创建一个名为“LoginForm的窗体,将caption属性改为“福到家宾馆用户登录”。并按图4.1进行界面设计图4.1登录界面登陆成功后主界面显示。(3)代码设计登录窗体载入时,利用Adoquery控件连接数据库,从Comobox控件中选择用户名,然后输入密码

18、,点击登陆按钮即可实现对用户身份的多重验证,代码如下:procedureTloginfm.dengluClick(Sender:TObject);beginiftrim(usernamebox.text)=thenbeginshowmessage(请选择用户名!);userpasedit.SetFocus;exit;end;withadoquerydobeginclose;sql.Clear;sql.Add(select*from操作员表where姓名=:usernameand密码=:userpas);Parameters.ParamByName(username).Value:=trim(u

19、sernamebox.text);Parameters.ParamByName(userpas).Value:=userpasedit.text;open;ifrecordcount=1thenbeginshowmessage(此入住单存在,请刷新重新登记);exit;end;end;str:=insertinto入住单表(入住单号,客房类型,抵店时间,离店时间,;str:=str+单据状态,入住人数,客房编号,客房价格,入住价格,折扣,折扣原因,是否加床,加床价格,;str:=str+预收款,预定人,会员编号,预定公司,联系电话,特要说明,操作员,业务员,id,预定单号,早餐,叫醒,保密,v

20、ip)values;str:=str+(:yddh,:kflx,:ddsj,:ldsj,:djzt,:rzrs,:kfbh,:kfjg,:rzjg,:zk,:zkyy,:sfjc,;str:=str+:jcjg,:ysk,:ydr,:hybh,:ydgs,:lxdh,:bz,:czy,:ywy,:id,:dr,:tgzc,:dsjx,:rzbm,:vip);withadoquery1dobeginclose;sql.Clear;sql.Add(str);Parameters.ParamByName(bz).Value:=trim(bz.Text);Parameters.ParamByName(

21、czy).Value:=trim(czyedit.Text);Parameters.ParamByName(ywy).Value:=trim(ywybox.Text);Parameters.ParamByName(id).Value:=;Parameters.ParamByName(dr).Value:=trim(dr.Text);iftgzc.CheckedthenParameters.ParamByName(tgzc).Value:=trueelseParameters.ParamByName(tgzc).Value:=false;ifdsjx.CheckedthenParameters.

22、ParamByName(dsjx).Value:=trueelseParameters.ParamByName(dsjx).Value:=false;ifrzbm.CheckedthenParameters.ParamByName(rzbm).Value:=trueelseParameters.ParamByName(rzbm).Value:=false;ifvip.CheckedthenParameters.ParamByName(vip).Value:=trueelseParameters.ParamByName(vip).Value:=false;tryexecsql;showmessa

23、ge(预定成功);exceptshowmessage(入住失败!);end;end;withadoquery1dobeginclose;sql.Clear;sql.Add(update客房信息表set状态=入住where客房编号=:kfbh);Parameters.ParamByName(kfbh).Value:=trim(roomnumbox.Text);execsql;end;if(trim(dr.Text)thenbeginwithadoquery1dobeginclose;sql.Clear;sql.Add(update预定单表set单据状态=入住where预定单号=:yddh);Pa

24、rameters.ParamByName(yddh).Value:=trim(dr.Text);execsql;end;withadoquery1dobeginclose;sql.Clear;sql.Add(insertinto预定单历史表select*from预定单表where预定单号=:yddh);Parameters.ParamByName(yddh).Value:=trim(roomnumbox.Text);execsql;end;withadoquery1dobeginclose;sql.Clear;sql.Add(deletefrom预定单表where单据状态=入住);execsq

25、l;end;end;showmessage(入住成功);sxbt.Click;end;预定管理界面设计(1)窗体功能描述顾客可以通过点击主菜单中的预订管理模块来进行预定管理,在预定管理中包含了顾客对房间状态的查询、预定查询以及预定操作。顾客可以在预定操作中进行对房间的预定及对顾客自己预定信息的修改、删除等等。(2)窗体设计新建一个窗体并命名为“Bookfm”,并把caption属性改为“预订管理”。打开窗体的界面设计,在工具箱分别选择相应的控件把窗体设计成如图4.4所示。图4.4预定管理界面界面主要包括以下控件:标签(Label),文本编辑(LabeledEdit),文本框(combobox)

26、,按钮(Button),时间(Datetimepicker),Pagecontrol控件和DataGrid控件组成。(3)代码设计预定代码设置:procedureTBookFm.ydbtClick(Sender:TObject);varstr:string;beginifroomtypebox.Text=thenbeginshowmessage(请选择客房类型!);exit;end;ifroomnumbox.Text=thenbeginshowmessage(请选择客房编号!);exit;end;ifinprice.Text=thenbeginshowmessage(请输入入住价格!);exi

27、t;end;if(jcpriceedit.Enabled=true)and(jcpriceedit.Text=)thenbeginshowmessage(请输入加床价格!);exit;end;if(peonumedit.Text=)or(peonumedit.Text=0)thenbeginshowmessage(请输入入住人数!);exit;end;withydczadodobeginclose;sql.Clear;sql.Add(select*from预定单表where预定单号=:yddh);Parameters.ParamByName(yddh).Value:=trim(booknumE

28、dit.Text);open;ifrecordcount=1thenbeginshowmessage(次预定单存在,请刷新重新预定);exit;end;end;str:=insertinto预定单表(预定单号,客房类型,预定时间,抵店时间,离店时间,;str:=str+单据状态,入住人数,客房编号,客房价格,入住价格,折扣,折扣原因,是否加床,加床价格,;str:=str+预收款,预定人,会员编号,预定公司,联系电话,备注,操作员,业务员,id)values;str:=str+(:yddh,:kflx,:ydsj,:ddsj,:ldsj,:djzt,:rzrs,:kfbh,:kfjg,:rzj

29、g,:zk,:zkyy,:sfjc,;str:=str+:jcjg,:ysk,:ydr,:hybh,:ydgs,:lxdh,:bz,:czy,:ywy,:id);withydczadodobeginclose;sql.Clear;sql.Add(str);Parameters.ParamByName(yddh).Value:=trim(booknumEdit.Text);Parameters.ParamByName(kflx).Value:=trim(roomtypebox.Text);Parameters.ParamByName(ydsj).Value:=date();Parameters.

30、ParamByName(ddsj).Value:=datetostr(dddate.date);Parameters.ParamByName(ldsj).Value:=datetostr(lddate.date);Parameters.ParamByName(djzt).Value:=trim(statusedit.Text);Parameters.ParamByName(rzrs).Value:=trim(peonumEdit.Text);Parameters.ParamByName(kfbh).Value:=trim(roomnumbox.Text);Parameters.ParamByN

31、ame(kfjg).Value:=trim(roompriceEdit.Text);Parameters.ParamByName(rzjg).Value:=trim(inprice.Text);Parameters.ParamByName(zk).Value:=trim(zkEdit.Text);Parameters.ParamByName(zkyy).Value:=trim(zkyyEdit.Text);ifsfjc.CheckedthenParameters.ParamByName(sfjc).Value:=trueelseParameters.ParamByName(sfjc).Valu

32、e:=false;Parameters.ParamByName(jcjg).Value:=trim(jcpriceedit.Text);Parameters.ParamByName(ysk).Value:=trim(yskedit.Text);Parameters.ParamByName(ydr).Value:=trim(bookpeoedit.Text);Parameters.ParamByName(hybh).Value:=trim(hybhedit.Text);Parameters.ParamByName(ydgs).Value:=trim(ydgsedit.Text);Paramete

33、rs.ParamByName(lxdh).Value:=trim(teledit.Text);Parameters.ParamByName(bz).Value:=trim(bz.Text);Parameters.ParamByName(czy).Value:=trim(czyedit.Text);Parameters.ParamByName(ywy).Value:=trim(ywybox.Text);Parameters.ParamByName(id).Value:=;tryexecsql;showmessage(预定成功);exceptshowmessage(预定失败!);end;end;w

34、ithydczadodobeginclose;sql.Clear;sql.Add(update客房信息表set状态=将到where客房编号=:kfbh);Parameters.ParamByName(kfbh).Value:=trim(roomnumbox.Text);execsql;end;showmessage(预定成功);sxbt.Click;end;退房结账界面设计(1)窗体功能描述当顾客要办理退房结账时,操作员进入退房结账窗体。系统自动生成结账单号。在入住宾客信息表选中要离店顾客的入住单记录,顾客在店内的消费记录便出现在消费记录表之中,且系统会自动计算住宿费用和消费金额,显示出应收金

35、额和实收金额。填入顾客支付金额后,系统会自动计算出需要找还的金额数。最后点击结账按钮便完成了退房结账手续。(2)界面设计新建窗体并命名为sytffm,将此窗体设计成如图4.5所示。vnum:string;beginifsszk.Text=thenbeginshowmessage(请输入实收帐款);exit;end;iffkfs.Text=thenbeginshowmessage(请输入付款方式);exit;end;withadoquery1dobeginclose;sql.Clear;sql.Add(update入住单表set离店时间=date(),单据状态=离店,应收帐款=:yszk,结帐金

36、额=:jzje,是否结帐=:sfjz,结帐日期=date(),付款方式=:fkfswhere入住单号=:rzdh);Parameters.ParamByName(rzdh).Value:=trim(rzdh.Text);Parameters.ParamByName(yszk).Value:=trim(yszk.Text);Parameters.ParamByName(jzje).Value:=trim(yszk.Text);Parameters.ParamByName(sfjz).Value:=true;Parameters.ParamByName(fkfs).Value:=trim(fkfs.Text);execsql;end;withadoquery1dobeginclose;sql.Clear;sql.Add(select*from入住单表where入住单号=:rzdh);Parameters.ParamByName(rzdh).Value:=trim(rzdh.Tex

温馨提示

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

评论

0/150

提交评论