




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目目 录录 摘摘要要 第一章第一章 引引 言言 第二章第二章 客房管客房管理理系统的分析和设计系统的分析和设计 2 1 用户需求分析 2 2 系统功能分析 2 3 系统功能模块设计 2 4 系统数据流图 2 5 系统数据库设计 第三章第三章 客房管理系统的具体实现客房管理系统的具体实现 3 1 开发工具的选择 3 2 系统的部分源代码及窗口界面设计 第四章第四章 系统的编译与运行系统的编译与运行 4 1 可执行文件的生成 4 2 打包应用程序 4 3 系统的运行环境 第五章第五章 结束语结束语 附一 主要参考文献附一 主要参考文献 附二附二 凭证凭证 样张样张 客房管理系统客房管理系统 摘要摘要 本论文介绍了客房管理系统设计的全过程 根据数据库设计理论体系对客房管理系统进行 详细的分析并完成设计 本系统是利用 Power Builder8 0 作为数据库前端开发工具 Adapative Sever Anywhere 7 为后台数据库 主要采用 Windows 98 2000 作为操作系统 系统 基于单机模具有很强的实用性 有比较强的扩展性 有比较强的移植性 易维护 易使用 易升级 关键字关键字 面向对象 数据库 SQL 客房 统计 维护 第一章第一章 引引 言言 客房管理系统是一个旅店不可缺少的部分 它的内容对于旅店的决策者和管理者来说都至 关重要 所以客房管理系统应该能够为用户提供充足的信息和快捷的查询手段 但一直以来人 们使用传统人工的方式管理文件档案 这种管理方式存在着许多缺点 如 效率低 保密性差 另外时间一长 将产生大量的文件和数据 这对于查找 更新和维护都带来了不少的困难 随着科学技术的不断提高 计算机科学日渐成熟 其强大的功能已为人们深刻认识 它已进 入人类社会的各个领域并发挥着越来越重要的作用 作为计算机应用的一部分 使用计算机对客房信息进行管理 具有着手工管理所无法比拟的 优点 例如 检索迅速 查找方便 可靠性高 存储量大 保密性好 寿命长 成本低等 这些 优点能够极大地提高客房管理的效率 也是饭店的科学化 正规化管理的重要条件 因此 开发这样一套管理软件有着重要的意义和价值 第二章第二章 客房管理系统的分析和设计客房管理系统的分析和设计 2 12 1 用户需求分析用户需求分析 软件功能具备 1 客户住宿记录管理 通过该管理功能 系统可以通过计算机对客户的一些基本信息进行 录入 从而成为客户查询的资料 而且 一个客户一经记录 会自动将占用的床位信息反映在 系统中 即哪些房间已经占用 哪些房间床位仍然空余 在进行客户记录时 自动出现客房的 总床位 房间号 剩余床位 价格和房间可用的信息 系统可以自动判断该房间是否空余 从 而决定是否可以入住该房间 记录时 用户可以选择房间号 价格等 可打印押金收款凭证给 客户 2 客户查询 在客房管理系统中 可以对客户的一些信息作综合查询 即可以按多种方式 进行查询 查询到后可办理退房手续并打印结帐凭证收据 退房的同时系统可以自动将客户占 用的房间的床位恢复备用 3 客房管理和查询 通过该管理功能 管理人员可对所有客房进行管理 如增减房间 调 整价格 进行查询等 4 报表打印 可对过去的某一段时间经营状况进行统计并打印结果 方便管理员及时掌握 经营情况并作出相应决策 5 系统维护 包括 系统初始化 数据备份 用户口令更改和新用户注册 2 22 2 系统功能分析系统功能分析 客房管理系统是针对客房管理的大量业务处理工作而开发的管理软件 根据用户的要求 实现客房管理 房间管理 打印统计报表和系统维护等几个方面的功能 用户通过输入基本信息 由系统自行生成相应的统计数据及各类统计报表以供用户查询 打 印 另外用户还可以对这些基本信息进行定期的更新和删除 客房管理系统力求给用户方便快捷 的途径去管理这些繁琐的数据 2 32 3 系统功能模块设计系统功能模块设计 2 3 1 系统流程图和功能模块图 根据以上系统功能分析 考虑到 Power Builder8 0 程序编制的特点 系统流程图和功能模块 图如下 系统流程图 N N Y Y Y 功能模块图 登录界面 密码 正确 系统主窗口 退出 错输 三次 密码 正确 客房管理系统 客户管理模块 客房管理模块 打印报表模块 系统维护模块 客户登记 客户查询 客房设置 客房查询 住宿收银统计 系统初始化 数据备份 用户管理 口令更改 系统帮助模块 下面对这几个模块做具体说明 2 3 2 客户管理模块 此功能模块包括两个子模块 客户登记和客户查询 1 客户住房登记 该窗口具有新增 保存 删除 打印押金收据等功能 在此管理人员必须输入个人客户的 详细资料包括姓名 性别 年龄证件类别 证件号码 住店日期 预付押金 所入住的房间号 等 在这个窗口中 系统会将未住客房的资料通过表格形式显示出来 以方便管理人员合理安 排客户住房 当管理人员将个人资料登入后 数据窗口通过 Freefrom 表现形式 系统将会显 示所入住客户的姓名 身份证号 性别 入住日期 入住时间和入住的房间号等资料 以方便 管理人员核对客户资料 一般情况下 客户信息录入完毕后 需要打印 住房押金收款凭证 所以在该窗口添加了打印功能 2 客户查询 该窗口具有查询 结帐 退房 打印结帐凭证等功能 在此管理人员对要求退房的客户进 行查询 并进行费用结算 在查询时 可以按房号 姓名 全部等方式进行查询 客户的信息 资料可以从查询结果中获得 在此管理人员可以浏览已住客户的详细资料 包括客户的姓名 性别 入住人数 房间号码 身份证号码 入住日期 入住时间 已住天数等资料 方便管理 人员管理客户 一般情况下 结帐退房时要进行查询 调出该客户登记的资料 并进行费用结算 同时打 印 客户结帐凭证 所以我们将客户结帐退房功能放置在该窗口进行 符合手工操作习惯 在查询结果中选择要退房的记录先进行结帐 系统将显示该客户的住宿详细资料 并询问是否 需要打印 若须打印单击打印按钮 打印该客户的 住宿结帐凭证 若无须打印则按返回键 打印完毕后 便可以办理退房手续了 将退房房间号的床位腾出备用 2 3 3 客房管理模块 此功能模块也包括两个子模块 房间设置和房间查询 1 房间设置 该窗口具有对房间数据进行新增 删除 保存等操作功能 在此管理人员必须输入新房间 的房间号码 总床位数 剩余床位数 每床单价等 在输入完毕后 单击 确定 系统将显 示新房间的基本情况 同时 为方便管理人员对房间进行管理 在这个窗口中 我们将剩余床 位为零的房号记录用红色标记 表示该房客满 禁用 2 房间查询 在此管理人员对要求客房进行查询 在查询时 可以按房号 床位数 全部等方式进行查 询 房间的信息资料可以从查询结果中获得 包括客房总床位数 剩余床位数 每床单价等 2 3 4 统计报表模块 该模块实现对客房住宿收银的统计 为管理人员提供某一段时间内住房人数和累计收入的 统计 可以实现对统计的数据进行年报表 月报表 日报表的查询统计并进行打印 为管理人 员的经营决策提供科学数据 2 3 5 系统维护模块 此功能模块有三个子模块 我们在进行系统维护时 首先要选取系统维护的类型 包括 数据初始化 修改密码 数据备份和新用户注册 1 数据初始化 此模块实现系统原始数据的清空 以便重新输入数据 进行管理 2 修改密码 在此模块中 用户必须首先输入用户名和原始密码 按 确认 键后 在新密码栏中输 入新密码 并进行确认 最后单击 确认 键进行保存 3 数据备份 任一个含有数据库的系统 其数据的备份功能是很重要的 因系统有着种种不可预测的 被损坏的可能 如果系统数据没有备份 一旦数据被丢失或破坏 有时会给用户造成无法 估量的损失或严重的后果 4 新用户的注册 一般情况下 系统的使用不止一人 每人使用都可以有自己的用户名和密码 特别是统 计报表数据时 其默认的报表人名称就是进入系统的用户名 2 3 6 系统帮助模块 略 2 42 4 系统数据流图系统数据流图 下面以数据流图方式来描述系统的逻辑功能 简称 DFD 数据流图是在对系统进行需求分析和功能分析的基础上 从系统的科学性 管理的合理性 实际运行的可行性角度出发 将信息处理功能和彼此之间的联系自顶向下 逐层分解 从逻辑 上精确地描述系统应具有的数据加工功能 数据输入 数据输出 数据存储及数据来源和方向 外部项 如图 2 6 所示 外部项 外部实体 加工 处理逻辑 数据存储 数据流 与 图 2 6 数据流图图例 客 户房 间 入住 押金房间 登记凭证结帐设置 客户数据房间数据 查询 统计数据查询 统计 报表管理员 结帐 凭证 2 52 5 系统数据库设计系统数据库设计 由于考虑到本系统是应用在单机系统上 另外根据管理人员规模 我们建如下表 客户信息数据表 guest 房间信息数据表 room 用户密码表 user1 另外 根据实际统计需要 我们另外建立一个统计表 用以存放部分统计信息以便查询 统计表 tj 下面我们详细说明 1 客户信息数据表 字段名称字段类型字段大小索引忽略空值 客户编号 Int 默认 primary N 自动生成 房号 Int 默认 forigny 证件类别 Char8y 证件号码 Char20y 姓名 Char10y 性别 Char2y 年龄 Cnt 默认 y 住店日期 Date 默认 y 离店日期 Date 默认 y 住房天数 Int 默认 y 预付款 Decimal7 2 y 2 房间信息数据表 字段名称字段类型字段大小索引忽略空值 房号 Int 默认 primayn 总床位 Char10y 剩余床位 Char10y 客房类别 Char2y 每床标价 Decimal10 2 y 3 用户密码表 字段名称字段类型字段大小索引忽略空值 UsernameChar10primary 否 userpwChar10 否 usertypeChar1 否 4 统计表 字段名称字段类型字段大小索引忽略空值 结帐号 Char10primay n 自动生成 姓名 Char10y 房号 Int 默认 y 证件号码 Char20y 住店日期 Timestamp 默认 y 结帐日期 Timestamp 默认 y 结帐金额 Decimal 10 2 y 金额大写 Char14y 客户编号 Int10y 第三章第三章 客房管理系统的具体实现客房管理系统的具体实现 3 13 1 开发工具的选择开发工具的选择 在众多的优秀的软件开发工具中 结合自己对软件熟悉的程度和喜好 我选择专业的面向 对象的数据库应用系统开发工具 Power Builder 8 0 及其自带的数据库 Adapitve Sever Anywhere 简称 ASA 作为这套管理系统的开发平台 PB8 0 是美国 Sybase 公司及其子公司 PowerSoft 公司共同开发的第八代产品 是一个大型的数据库应用系统的开发平台 它基于客 户 服务器体系结构 可以广泛开发适合于远程数据库和本地数据库的应用系统 它除拥有其 他开发平台的界面制作的优秀控件之外 以应用系统工程的工作空间为框架 以数据窗口控件 和数据窗口对象作为数据库应用系统开发的核心 并结合其他控件的辅助功能 可以方便的为 用户创建数据库应用系统 3 23 2 系统的部分源代码及窗口界面设计系统的部分源代码及窗口界面设计 3 2 1 系统登录窗口界面及代码 在制作界面的过程中 我学习了计算机毕业设计网 的界面制作方案 与技巧这篇文章 所以我个人认为制作的还是不错的 下面给大家讲解下 窗口代码 open event Profile kfgl SQLCA DBMS ODBC SQLCA AutoCommit False SQLCA DBParm Connectstring DSN kfgl connect if sqlca sqlcode0 then messagebox 连接数据库失败 sqlca sqlerrtext else end if 确认按钮代码 clicked event select username userpw usertype into ls username ls userpw ls type from user where username sle username text if sle username text ls username or sle username text then if ls time 3 then messagebox 登录错误 对不起 你无权使用统 exclamation halt close end if messagebox 提示信息 该用户不存在 exclamation sle username text sle userpw text sle username setfocus ls time return else if sle userpw text ls userpw then if ls time 3 then messagebox 登录错误 对不起 你无权使用统 exclamation halt close end if messagebox 提示信息 密码错误 r n 请重新输入密码 exclamation sle userpw text sle userpw setfocus ls time return end if open w main close parent end if 3 2 2 系统主界面窗口及其代码 窗口代码 open event timer 1 this title 欢迎使用客房管理系统 今天日期 string today 时 间 string now if ls type 2 then m main m 系统维护 m 用户管理 enabled false m main m 系统维护 m 系统初始化 enabled false m main m 系统维护 m 密码更改 enabled false m main m 客房管理 m 房间设置 enabled false end if timer event this title 欢迎使用客房管理系统 今天日期 string today 时 间 string now decarle global variable integer ls time 1 string ls username string ls userpw string ls type 3 2 3 系统信息录入界面及部分控件代码 窗口代码 open event connect dw 1 settransobject sqlca dw 1 retrieve long hh hh insertrow dw 1 0 dw 1 ScrollToRow hh long ls count select count into ls count from guest if ls count 0 then sle 1 visible false sle 2 visible false else sle 1 visible true sle 2 visible true end if 保存按钮代码 clicked event int roomid row leftbed row dw 1 getrow roomid dw 1 getitemnumber row 房号 if not isnull roomid then select room 剩余床位 into leftbed from room where room 房号 roomid leftbed leftbed 1 update room set 剩余床位 leftbed where room 房号 roomid end if dw 1 update if dw 1 update 1 then messagebox 提示信息 信息保存成功 dw 1 retrieve dw 1 ScrollToRow row else messagebox 提示信息 保存失败 end if 押金收据按钮代码 clicked event string username int khbh row username t 3 text ls username dw 2 modify username row dw 1 getrow khbh dw 1 getitemnumber row 客户编号 dw 2 settransobject sqlca dw 2 retrieve khbh if messagebox 信息提示 是否确认 question yesno 2 1 then commit dw 2 print else rollback end if 删除按钮 clicked event long hh integer net int row roomid leftbed net messagebox 注意 确实要删除吗 question yesno if net 1 then hh dw 1 getrow row dw 1 getrow roomid dw 1 getitemnumber row 房号 if not isnull roomid then select room 剩余床位 into leftbed from room where room 房号 roomid leftbed leftbed 1 update room set 剩余床位 leftbed where room 房号 roomid end if deleterow dw 1 hh dw 1 retrieve else messagebox 提示 数据未删除 仍可使用 end if if update dw 1 true false 1 then dw 1 retrieve 该行很重要 dw 1 resetupdate commit else rollback end if long ls count select count into ls count from guest if ls count 0 then sle 1 visible false sle 2 visible false else sle 1 visible true sle 2 visible true end if 3 2 4 客户查询窗口界面及代码 rb1 clicked event if rb 1 checked true then sle 1 enabled true sle 2 enabled false sle 2 text sle 1 setfocus end if rb3 clicked event if rb 3 checked true then sle 1 enabled false sle 2 enabled false sle 1 text sle 2 text dw 1 reset end if 查询按钮代码 clicked event long ls count 按房号查询 if rb 1 checked true then string s roomid s roomid trim sle 1 text if s roomid or isnull s roomid then messagebox 系统提示 房号不能为空 dw 1 reset sle 1 setfocus return end if s roomid s roomid select count into ls count from guest where 房号 like s roomid if ls count 0 then messagebox 提示信息 该房不存在或没有住人 dw 1 reset sle 1 setfocus return else dw 1 setsqlselect select from guest where 房号 like s roomid dw 1 retrieve end if end if 按姓名查询 if rb 2 checked true then string s name s name trim sle 2 text if s name or isnull s name then messagebox 系统提示 姓名不能为空 dw 1 reset sle 2 setfocus return end if s name s name Select count into ls count From guest where 姓名 like s name if ls count 0 then messagebox 提示信息 该人不存在 dw 1 reset sle 2 setfocus return else dw 1 setsqlselect select from guest where 姓名 like s name dw 1 retrieve end if end if 按全部查询 if rb 3 checked true then dw 1 setsqlselect select from guest dw 1 retrieve end if 结帐按钮 clicked event printsetupprinter dw 2 settransobject sqlca dw 2 retrieve 打印当前查询到的记录 dw 1 窗口 long row row printopen printdatawindow row dw 2 printclose row integer net net messagebox 提示 确定要结帐吗 question yesno if net 1 then cb 3 enabled true cb 4 enabled false close parent w search guest visible false open w zsjz else messagebox 提示 结帐未进行 房间继续使用 end if 结帐按钮 clicked event printsetupprinter dw 2 settransobject sqlca dw 2 retrieve 打印当前查询到的记录 dw 1 窗口 long row row printopen printdatawindow row dw 2 printclose row integer net net messagebox 提示 确定要结帐吗 question yesno if net 1 then cb 3 enabled true cb 4 enabled false close parent w search guest visible false open w zsjz else messagebox 提示 结帐未进行 房间继续使用 end if 退房按钮 clicked event long hh int roomid leftbed hh dw 1 getrow 退房则 剩余床位数 减 1 rows dw 1 getrow roomid dw 1 getitemnumber hh 房号 if not isnull roomid then select room 剩余床位 into leftbed from room where room 房号 roomid leftbed leftbed 1 update room set 剩余床位 leftbed where room 房号 roomid end if deleterow dw 1 hh dw 1 resetupdate if update dw 1 true false 1 then dw 1 resetupdate cb 4 enabled true commit else rollback messagebox 错误 数据存储失败 end if else messagebox 提示 退房未进行 仍占用 end if 3 2 5 房间设置窗口界面及代码 删除按钮 clicked event long hh integer net net messagebox 注意 删除数据不可恢复 确实要删除吗 question yesno if net 1 then hh dw 1 getrow deleterow dw 1 hh else messagebox 提示 数据未删除 仍可使用 end if if update dw 1 true false 1 then dw 1 resetupdate commit else rollback end if 保存按钮 clicked event if update dw 1 true false 1 then dw 1 resetupdate commit else rollback messagebox 警告 数据保存失败 end if 3 2 6 系统统计窗口界面及代码 统计按钮代码 clicked event connect dw 1 settransobject sqlca dw 1 reset string ls year ls month ls day if rb 4 checked true then dw 1 setsqlselect select from tj where 结帐日期 today dw 1 retrieve end if if rb 1 checked true then ls year trim ddlb 1 text dw 1 setsqlselect select from tj where year 结帐日期 ls year dw 1 retrieve end if if rb 2 checked true then ls year trim ddlb 1 text ls month trim ddlb 2 text dw 1 setsqlselect select from tj where year 结帐日期 ls year and month 结帐日期 ls month dw 1 retrieve end if if rb 3 checked true then ls day trim ddlb 3 text ls year trim ddlb 1 text ls month trim ddlb 2 text dw 1 setsqlselect select from tj where year 结帐日期 ls year and month 结帐日期 ls month and day 结帐日期 ls day dw 1 retrieve end if 打印按钮 clicked event printsetupprinter if messagebox 信息提示 是否确认打印 question yesno 2 1 then commit dw 1 print else rollback end if 3 2 7 系统帮助窗口界面之一 第四章第四章 系统的编译与运行系统的编译与运行 当用户应用程序的开发和测试都完成之后 一般都需要将该程序做成一个独立的可执行文 件 以便它能够脱离 Powerbuilder 环境 能够在 windows 操作系统下单独运行 4 14 1 可执行文件的生成可执行文件的生成 生成一个可执行文件有两种基本的方法 1 将应用程序中的所有对象打包为一个 EXE 文件 这也是最简单的方法 2 一个可执行文件和一个或多个 PBD 动态库 这些动态库中包含在程序运行时需要链接的对象 第一种方法相对于较小的项目来说非常有效 简单而清晰 但是它存在两个致命的弱点 首先是文件大小的问题 如果将所有的对象都打包在一个可执行文件中 那么对较大的项目 来说会产生较大的可执行文件 从而使文件难于管理 执行效率低 另外一个问题是 在应用 程序创建可执行文件时 Powerbuilder 会丢失一些在程序中动态创建或引用的对象 而是只包 含那些在当前引用程序中使用到的对象 根据本系统的特点 采用第二种方法比较适合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高血糖的紧急处置方法
- 海滨小城(第二课时)学习任务单
- 精神障碍护理学自考试题及答案
- 院感专职培训心得汇报
- 急诊院前急救护理
- 计量器具全流程管理规范
- 2025年中国女士奢侈鞋行业市场全景分析及前景机遇研判报告
- 重症肝炎护理病例讨论
- 专科特色健康教育体系构建
- 企业岗位培训
- 直播运营团队人员分工与职责明细
- 蜘蛛人外墙施工方案
- 空调检测报告
- 变压器实验报告
- 三叉神经痛(讲)课件
- 神经生理治疗技术
- 浙江温州高速公路瓯北片区招聘高速公路巡查人员考试真题2022
- 江苏苏州工业园区苏相合作区管理委员会机关工作人员招聘13人告5204笔试题库含答案解析
- 三年级下学期音乐复习题
- 工伤预防概念1
- GA 1808-2022军工单位反恐怖防范要求
评论
0/150
提交评论