酒店管理实训报告
辽宁工程技术大学
大型软件项目实训报告
教学单位 专 班 业 级
软件学院 软件工程 计 HR08-03 张浩天 0820010324 刘万军
学生姓名 学 号
指导教师
目录
一、实训目的................................................................................................................................... 3 二、实训时间和地点....................................................................................................................... 3 三、实训单位简介........................................................................................................................... 3 四、实训内容................................................................................................................................... 4 1.实训期间完成的学习任务 ................................................................................................. 4 2.实训期间完成的实践项目 ................................................................................................. 4 2.1 需求分析..................................................................................................................... 5 2.2 总体设计..................................................................................................................... 6 2.3 详细设计................................................................................................................... 16 五、实训收获与体会..................................................................................................................... 22 六、致谢......................................................................................................................................... 23
一、实训目的
本文档是根据 XX 酒店在客房管理方面的实际工作流程进行充分调研后整理出 来的,描述最终用户关于酒店客房管理方面的业务流程和业务需求的文档,本文档 的目的一方面是指导实训学员了解最终的业务需求,另一方面是作为后续开发设计 的业务需求指导文档。 项目总体目标是搭建 XX 酒店的客房信息管理平台,采用计算机对客房信息进 行管理,进一步提高酒店的经济效益和现代化水平。帮助酒店工作人员提高工作效 率,实现客房信息管理工作流程的系统化,规范化和自动化。避免以往手工填写单据 的低效率、数据易出错、统计费时费力现象的发生。该项目不仅满足目前的业务需 要,还要满足酒店将来业务的发展,而且要具备良好的可扩展性、可移植性、可复 用性。
二、实训时间和地点
1.实训时间:2011 年 11 月 1 月~2012 年 1 月 6 日 2.实训地点:沈阳东软
三、实训单位简介
东软是一家以软件技术为核心,提供解决方案、数字化产品和服务的公司,在 软件与行业应用的结合、软件
与数字化产品的结合、软件人才的培养和咨询服务方 面形成了东软独特的经营模式。 东软是中国领先的软件与解决方案提供商。 1991 年, 东软创建于东北大学。经过二十多年的发展,公司已经成为一家以软件技术为核心, 以软件与服务、医疗系统、IT 教育与培训为主要业务领域,集软件研究、设计、开 发、制造、销售、培训与服务为一体化的解决方案提供商。实训所使用的计算机性 能一般,具备学习使用的基本功能,使用 Myeclipse8.5 编辑,每天上课时间紧凑程 度一般,上课方式轻松,实训内容简单实用。
四、实训内容
1.实训期间完成的学习任务 .
刚到东软的第一个月,我们学习了 java 基础,从配置运行环境,数据类型到面 向对象类和接口的设计,异常处理、集合类、输入流和输出流,还学习了多线程编 程。 同时,我们还学习了 oracle 数据库,其中包括编写简单的 select 语句、限制数据 和对数据的排序、单行函数、多表查询、分组函数、子查询、数据操作与事务控制、 表和约束、用户权限和其他数据对象。 我们又学习了 java web,从简单的 HTML 页面,到 JSP,同时还学习了 CSS 样式表 和框架技术。并在页面中嵌套 javascript 脚本,是页面能够进行多种操纵。 后来,我们学习了 MVC 模式,M——模型,是指 javabean,V——视图,是指 JSP 页面,C——控制器,是指 servlet。采用这个模式,我们可以对数据库中的表进行一 系列的操作。随着技术知识的不断提高,我们又学习了 struts1 框架,它是一个成熟 的 MVC 框架。
1.1 Java 基础课程
主要针对 Java 的基础知识进行讲解,如 Java 的书写格式、方法定义与调用、继承、 方法的重写、多态、异常处理、包装类、集合类、输入输出流、线程等。
1.2 Oracle 基础课程
主要针对 Oracle 的基本 SQL 语句、函数、多种查询方式、事务处理、锁、对表进行 的操作、约束等知识的讲解与应用。
1.3 J2EE
主要针对 JavaWeb 方向进行了讲解,如 Servlet、JSP、JS、Struts1、Ajax 等技术的讲 解,并为以后的项目做技术上的铺垫。
2.实训期间完成的实践项目 .
2.1 需求分析
2.1.1、系统管理 、 用户管理:对该系统的使用者即用户信息进行维护。 日志管理: 为了系统的安全, 对前台人员的导致业务数据更新的操作需要记录日 志系统管理员可以定期查看和删除日志。 2.1.2、报表管理 、 报表信息管理:系统要定期提供一些报表,供客房经理做统计分析。 2.1.3、房客管理 、 客房预定管理:客人通过电话或者其他途径向宾馆进行客房预定,接待人 员查询客房信息后确定有空房则接受预定,客房状态为“预定” 。 入住登记管理
:如果客人没有预定房间,接待人员查询客房信息后,有空房则进 行客房登记操作,发给客人房卡,客房状态由“空房”变为“入住” 。 预定转入住管理:如果客人已经预定房间,则根据预定信息进行预定入住 操
作,发给客人房卡,客房状态由“预定”变为“入住” 。原来的预定信息不能修 改不能取消。 换房管理:如果客人对入住的客房条件不满意,则可进行客人换房操作。接待人 员将客人的房间进行更换,并更换客人房卡,客房信息也进行相应的调整。 结账管理:客人退房时,接待人员根据客人的房卡,进行退房登记。计算客人入 住期间的房费,餐费,话费,各种消费和押金总额。对客人收取费用或者退回押 金。客人信息转存到历史客人表中。客房状态由“入住”转为“空房” 。 2.1.4、客房管理 、 客房信息管理:客房管理是指对客房基本信息(如客房的楼层、类型、价格等) 的维护。在预定、入住、换房时,都需要对客房的信息进行查看。客房状态:包 括三种空房、已预订、入住。当客人预定后,变为已预定,当客人入住后,变为 入住,其他情况为空房。 2.1.5、消费管理 、 附加消费入账管理: 如果客人在客房内消费了某些商品, 对该商品进行记录管理。 2.1.6、基础信息管理 、
客房类型管理: 对酒店的客房的类别的信息维护, 类型描述了客房的基本自然条 件,如单人间还是标准间等。考虑到系统的可扩展性,管理员可以对酒店客房的 类型信息进行动态的维护。 楼层管理:对酒店的客房所在的楼层的信息的维护,考虑到系统的可扩展性,管 理员可以对酒店客房的楼层信息进行动态的维护。 商品类别管理:对酒店的商品的类别进行维护。考虑到系统的可扩展性,管理员 可以对商品类型的状态信息进行动态的维护。 商品管理:对酒店的商品信息进行维护。考虑到系统的可扩展性,管理员可以对 商品信息进行动态的维护。 会员管理:对该系统的会员信息进行维护。对于会员,如果达到一定的积 分, 会有相应的折扣。
2.1.7 项目性能需求
集中数据管理、分布式应用,实现信息的全面共享,为决策者提供最新的人力资 源数据。 完全基于浏览器的操作模式,安装简单、操作方便,具有良好的系统扩充能力。 灵活的模块需求设计,可根据实训项目周期灵活裁剪。 严格的安全管理机制。利用 SSL 技术维护网络传输安全,利用安全规则和特权 保证基本信息的安全管理, 提供日常操作的审计功能, 并对重要的安全事件提供 报警,对重要数据进行加密。 支持中英文界面切换。 对于系统执行的重要操作自动记录操作人和操
作日期。 操作人默认为当前登录人 员。操作日期默认为当天。
2.2 总体设计 总体设计
2.2.1 系统功能结构设计
1、系统管理
系统管理
用 户 管 理
日 志 管 理
2、报表管理
报表管理
预 定 客 人 报 表
在 住 客 人 报 表
离 店 客 人 报 表
财 务 进 账 报 表
3、房客管理
房客管理
客 房 预 定 管 理
入 住 登 记 管 理
预 定 转 入 住
换 房 管 理
结 账 管 理
4、客房管理
客房管理
客房信息管理
5、消费管理
消费管理
附加消费管理
6、基础信息管理
基础信息管理
客 房 类 型 管 理
楼 层 管 理
商 品 类 别 管 理
商 品 管 理
会 员 管 理
2.2.2 系统整体架构设计
基础信息管 理 : 1 系统管理 : 1
消费管理 : 1
系统管理员 : 1
客房管理 : 1
房客管理 : 1
报表管理 : 1 登陆
酒店前台人员 : 1
图 3-1
经理 : 1
取消 预定信 息 查询房 客信 息
修改预定 信 息
增加预 定信 息 转 入住
查询 客房信 息
客房预订管理
查询入住 信 息 : 2 收银结账
前 台如愿填
打印 入住单 : 1
入住登记管理
结账管理
打 印账单
查询 登记信 息
房客管理 : 2
酒店前台人员 : 2
保存登记信 息
系统管理员 : 2
换房管理
打印入 住单 : 3
预定转入住管理
换房 登记
查 询预定信 息 入住登 记 打印入住 单 : 2
查询入 住信 息 : 1
图 3-1-1 房客管理架构图
查询消费信 息 查询商品信 息
修改消费信 息
附加消费管理
消费入账
删除 消费信 息
打印消费单
系统管理员 : 7
消费管理 : 2
酒店前台人员 : 3
图 3-1-2 消费管理架构图
增加商品类 别
修改楼层信息
删除商品类 别
修改商品类 别
查询商品类 别 增加商品
删除楼层信息
删除商品
商品类别管理
修改商品
增加楼层信息
楼层管理
查询楼层信息
商品管理
查询商品
基础信息管 理 : 2
客房类型管理
查询客房类 型
会员管理
增加会员信 息
修改客房类 型 删除客房类 型
系统管理员 : 3
增加客房类 型 查询会员信 息
删除会员信 息
修改会员信 息
图 3-1-3 基础信息管理架构图
删除用户信 息 增加用户信 息
用户管理
修改用户信 息 查询用户信 息
系统管理员 : 4
系统管理 : 2
删除日志
日志管理
查询日志
图 3-1-4 系统管理架构图
增加客房
查询客房
客房信息管理
删除客房
修改客房
系统管理员 : 5
客房管理 : 2
图 3-1-5 客房管理架构图
经理 : 2 系统管理员 : 6
报表管理 : 2
查询预定客 人报表
查询入住客 人报表 查询财务进 账报表 查询离店客 人报表
图 3-1-6 报表管理架构图
2.2.3 数据库结构设计
2.2.3.1 系统涉及相关的表设计
1、系统管理 列名 USER_ID USERNAME 含义 用户编号 用户名 类型 NUMBER(4) VARCHAR2(20) 是
否为空 主键 NOT NULL
PASSWORD PERMISSION REMARK 列名 ID USERNAME OPERATION OP_DATE D_REMARK 2、客房管理 列名 ROOM_ID ROOMCATEGORYNAME RSTATE FLOORNAME S_PRICE D_PRICE O_M_PRICE V_M_PRICE REMARK 3、房客管理 列名 YD_ID ROOM_ID ROOM_KIND S_PRICE D_PRICE YJ_PRICE YD_PEOPLE ZJ_STYLE ZJ_NUM TELEPHONE DD_TIME LD_TIME RZ_PEOPLE
密码 用户权限 备注 含义 日志编号 用户名 操作 操作日期 备注
VARCHAR2(20) VARCHAR2(20) VARCHAR2(50) 表 1-1 用户表 类型 NUMBER(6) VARCHAR2(20) VARCHAR2(20) DATE VARCHAR2(50) 表 1-2 日志表
NOT NULL NOT NULL
是否为空 主键 NOT NULL NOT NULL NOT NULL
含义 客房编号 客房类 客房状态 楼层 标 价格
类型 VARCHAR2(10) VARCHAR2(10) VARCHAR2(10) VARCHAR2(20) NUMBER(6,2) NUMBER(6,2) NUMBER(6,2) NUMBER(6,2) VARCHAR2(20)
是否为空 主键 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL
折后价 普通会员价 Vip 会员价 备
表 4-1 客房表 含义 预订单号 客房编号 客房类型 标准价 折后价 押金 预定人 证件类别 证件号码 联系电话 抵店时间 离店时间 入住人数 类型 VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) NUMBER(6,2) NUMBER(6,2) NUMBER(6,2) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) DATE DATE NUMBER(20) NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL 是否为空 主键 外键 NOT NULL NOT NULL
OPERATOR MEMBERID HY_PRICE BOOKING_STYLE REMARK 列名 OCCUPANCY_ID ROOM_ID ROOM_KIND S_PRICE D_PRICE YJ_PRICE YD_PEOPLE ZJ_STYLE ZJ_NUM TELEPHONE DD_TIME LD_TIME RZ_SPEOPLE OPERATOR MEMBERID HY_PRICE BREAKFAST WAKE_TIME REMARK 列名 OCCUPANCY_ID ROOM_ID ROOM_PRICE YJ_PRICE ZS_DAY ZS_PRICE DN_PRICE SJ_RECEIVE YJ_RETURN PAY_STYLE PAID CHANGE OPERATOR REMARK
操作员 会员编号 会员价 预定状态 备注 含义 入住单号 客房编号 客房类型 标准价 折后价 押金 预定人 证件类别 证件号码 联系电话 抵店时间 离店时间 入住人数 操作员 会员编号 会员价 提供早餐 定时叫醒 备注 含义 入住单号 客房编号 房价 押金 住宿天数 住宿费 店内消费 实际应收 应退押金 付款方式 实收 找零 操作员 备注
VARCHAR2(20) VARCHAR2(20) NUMBER(6,2) VARCHAR2(20) VARCHAR2(50) 表 3-1 预定表 类型 VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) NUMBER(6,2) NUMBER(6,2) NUMBER(6,2) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) DATE DATE NUMBER(10) VARCHAR2(20) VARCHAR2(20) NUMBER(20) VARCHAR2(10) VARCHAR2(10) VARCHAR2(50) 是否为空 主键 外键 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL
表 3-2 入房登记表 类型 VARCHAR2(20) VARCHAR2(20) NUMBER(6,2) NUMBER(6,2) NUMBER(4) NUMBER(6,2) NUMBER(6,2) NUMBER(6,2) NUMBER(6,2) VARCHAR2(20) NUMBER(6,2) NUMBER(6,2) VARCHAR2(20) VARCHAR2(50) 表 3-3 退房登记表 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL 是否为空 主键 外键 NOT NULL
4、消费管理 列名 occupancy_id rnum goodsname amou
nt price con_price discount_rate discount_price totalize username paytime remark payid 含义 入住单编号 房间号 商品名称 商品数量 单价 价格 折扣率 折扣价格 总价 操作员 付款时间 备注 消费单号 类型 VARCHAR2 (40) VARCHAR2(20) VARCHAR2(20) Number Number(6,2) Number(6,2) Number(1,2) Number(6,2) Number(6,2) VARCHAR2(20) date VARCHAR2(50) Number 表 4-1 消费表 主键 check (discount_rate
2.2.3.2
E-R 图
用户编号 日志编号 用户名
用户名
密码 备注 权限
日志 用户
操作
操作日期 备注
3-3-2-1 系统管理 E-R 图
客房编号 客房状态 客房类
楼层
客房
备
折后价
标 普通会员价 Vip 会员价
价格
3-3-2-2 客房管理 E-R 图
备注 付款时间 消费单号
操作员
入住单号
房间号 总价 消费单 商品名称 折扣价格 商品数量 折扣率 价格 3-3-2-3 消费管理 E-R 图 单价
2.3 详细设计
2.3.1 模块 2 描述
2.3.1.1 功能描述
IPO 表 系统:酒店管理系统 作者:张浩天 模块:查询预定客人报表 日期:2012-2-9 编号: 被调用:登录模 块 输入: 时间和房间号 调用:客房预定 表 输出:符合条件 的预定客人信息
处理:输入时间格式错误或没有查询的数据都将 提示没有查询的数据 局部数据元素: 注释:
IPO 表 系统:酒店管理系统 作者:张浩天 模块:查询入住客人报表 日期:2012-2-9 编号: 被调用:登录模 块 输入: 时间和房间号 调用:入住表
输出:符合条件 的入住客人信息
处理:输入时间格式错误或没有查询的数据都将 提示没有查询的数据 局部数据元素: 注释:
IPO 表 系统:酒店管理系统 作者:张浩天 模块:查询离店客人报表 日期:2012-2-9 编号: 被调用:登录模 块 输入: 时间和房间号 调用:退房表
输出:符合条件 的离店客人信息
处理:输入时间格式错误或没有查询的数据都将 提示没有查询的数据 局部数据元素: 注释:
IPO 表 系统:酒店管理系统 作者:张浩天 模块:查询财务进账报表 日期:2012-2-9 编号: 被调用:登录模 块 输入: 时间和房间号 调用:无
输出:符合条件 的财务进账信息
处理:输入时间格式错误或没有查询的数据都将 提示没有查询的数据 局部数据元素: 注释:
2.3.1.2 性能描述 该模块需要输入正确的日期格式:0000-00-00,如果输入有误则将查询不到有效 数据,如果不输入日期则默认查询当日的信息,房间号可选可不选,默认查询所有 符合条件的房间。
2.3.1.3 输入输出项设计
输入项 日期 (YYYY-MM-DD) 起始日期 终止日期 类型及输入方式 Date 键盘输入 有效输入项 无效输入项
① MM=1,3,5,7,8, ⑪ MM
DD=30 ⑦ DD=31 ⑧ YYYY 为平年 ⑨ YYYY 为闰年 ⑩ 起始日期12 ⑪ DD31 ⑪ 起始日期>=终止日 期
2.3.1.4 算法描述 逻辑流程 算法描述/逻辑流程
开始
登陆
报表管理
查询预 定客人 报表
查询在 住客人 报表
查询离 店客人 报表
查询财 务进账 报表
结束
2.3.2 模块 3 描述
2.3.2.1 功能描述
IPO 表 系统:酒店管理系统 作者:张浩天 模块:房客管理系统 日期:2012-2-9 编号: 被调用:登录模 块 输入: 房间号/房间状 态/楼层/类型 调用:房客管理 入住登记 输出:空房信息
处理:如果输入的条件所属房间不为空房,则没 有显示的信息 局部数据元素: 注释:
IPO 表 系统:酒店管理系统 作者:张浩天 模块:房客管理系统入住登记 日期:2012-2-9 编号: 被调用:房客管 理模块 输入: 登记入住信息 调用:无
输出:登记入住 单
处理:如果输入入住信息格式有误,则提示重新 输入 局部数据元素: 注释:
2.3.2.2 性能描述 房客管理模块中的入住登记功能主要实现房客入住时进行登记的流程 2.3.2.3 输入输出项设计
输入项 押金 入住人 证件类别 证件号码 联系电话 会员编号 备注
类型及输入方式 NUMBER VARCHAR2 VARCHAR2 NUMBER NUMBER VARCHAR2 VARCHAR2
有效输入项 8 位数字 20 个字节 20 个字节
无效输入项 不能为空 不能为空 不能为空 不能为空 不能为空
2.3.2.4 算法描述 逻辑流程 算法描述/逻辑流程
开始
登陆
房客管理
查询是否 有空房 Y 填写入住登记单
结束
五、实训收获与体会
经过近二十天的紧张的的开发,终于完成了这个酒店管理系统;与之前的课程 设计比较来看这个项目是一个比较大的程序了,所以在开发的过程中应用到了许多 领域的技术;我们首先选择了比较古老的 struts1 作为框架,在代码编写的过程中用 到了 javascript 脚本语言, 在一些细节中运用了少量的 ajax, 还有 oracle 数据库语言, 在设计过程中利用了 powerdesigner 和 VS 等工具进行辅助设计。在整个系统的编写 过程初期,我们进行了系统的分析设计,包括对系统各个功能模块结构的设计,使 用工具描绘了系统的用例图,接着又画出了系统的类图及时序图,这在企业级开发 中是不可缺少的步骤,由于是第一次尝试这种设计方法,所以完成的图表并不是非 常理想,但是对于我们对整个系统的深入了解有了很大的帮助,同时我们还进行了 需求分析,分析出该系统的许多功能应履行的过程,从而写出了用例规约,并在之 后的编程过程中严格按照这种用例规约编写系统;在代码的编写过程中遇到了许多
代码冗余问题,于是为了降
低代码量我们进行了必要的封装,减少了大量的不必要 的代码,节省了空间,在编程的过程中不可避免也会遇到重复的功能编写,这时候 使用多种方法进行编写达到锻炼不同思维方式的目的。在最后的测试阶段,我们加 入了更多的验证机制,时刻坚持以用户体验为中心的宗旨,为了让用户更方便的使 用系统,尽一切可能简化操作步骤,实现较为智能的系统。 通过近一个月对酒店管理系统的设计,我们对 Java 语言有了更进一步的了解, 知道了如何运用以前学过的知识来完成本次项目。这个酒店管理系统主要包括系统 管理,基础信息管理,报表管理,客房管理,房客管理,消费管理六个模块。我们 先对数据库进行了设计,然后分头查阅资料,上网搜索相关线索,对于整个程序的 流程构架、主界面的布局、数据的保存和清除等都有细致的安排与规划,在整个过 程中我们运用了我们平时所学的知识,查阅了大量的资料。在其中,我们得到了意 志的锻炼,在反复的操作中我们不断成长,在收获成功的同时,我们更得到了 Java 上机编程的深切体会和丰厚的编程经验。 接下来,经过小组的认真思考、分析和讨 论,在老师的指导下,我们对系统功能的不足之处给予了最后的完善。 遇到问题的 时候,在老师的提问下,我们分别把自己的设计思想讲解给老师听,同时认真的听 取老师的意见和建议,很多问题都得到了与老师的认可和赞同。 时间是短暂的,但 收获是丰厚的。经过这样一个月的课程设计,我们对 Java 程序设计的知识又重新 巩固了一遍,特别对程序的调试运行有了更深刻的体会。这次的项目实训给了我们 一个把学习到的知识付诸于实践的机会,只有把理论与实际相结合,才能做出让人 耳目一新 的 Java 应用程序来。经过这二十天的实训,我们学到了许多 Java 的相关 知识,懂得并掌握了如何去设计一个项目,也懂得了如何运用我们自己的创新能力 去实现我们想要的功能。 在实训过程中,我们也察觉到了自己对知识掌握的不足之 处、知识的缺乏,但是,在同学和老师的帮助和指导下,我们克服困难,突破难关, 认真总结, 最终我们顺利的完成了本次实训, 并且认真的完成了实训报告的书写。 在 本次课程设计中,我们不仅完成了老师交给我们的各项任务,还增加了许多课外的 有 关 Java 的编程知识。对 Java 的程序设计有了更深刻的了解,使我们的知识更 加完善,视野更加的广阔。
六、致谢
实训即将结束,我也将迈入人生的另一个起点,再从学生到一个企业人角色的 身份转变过征程,父母、亲友都给了我很大的支持与帮助,特
别的是要感谢我们学 院的每一位老师对我的培养与教育,“诚朴求实,博学笃行”的校训依旧在耳边时刻 回荡,感谢所有老师对我们这次实训的付出,同时也包括东软集团的老师对我们的 关怀。 在此真诚的祝愿我们亲爱、可爱的老师们身体健康,工作顺利!
指 导 教 师 意 见
指导教师签字: 年 月
日
成绩
备注