酒店客房管理系统的设计与实现毕业论文.doc

上传人:good****022 文档编号:116791688 上传时间:2022-07-06 格式:DOC 页数:57 大小:2.35MB
返回 下载 相关 举报
酒店客房管理系统的设计与实现毕业论文.doc_第1页
第1页 / 共57页
酒店客房管理系统的设计与实现毕业论文.doc_第2页
第2页 / 共57页
酒店客房管理系统的设计与实现毕业论文.doc_第3页
第3页 / 共57页
点击查看更多>>
资源描述
本科毕业论文本科毕业论文(设计设计) 酒店客房管理系统的设计与实现 诚诚 信信 声声 明明 我声明,所呈交的毕业论文(设计)是本人在老师指导下进行的研究工作 及取得的研究成果。据我查证,除了文中特别加以标注和致谢的地方外,论文 (设计)中不包含其他人已经发表或撰写过的研究成果,也不包含为获得其他 教育机构的学位或证书而使用过的材料。我承诺,论文(设计)中的所有内容 均真实、可信。 毕业论文(设计)作者(签名): 年 月 日 xxxxxxx 【摘要摘要】基于现代社会信息的高速传输、交流、发展,过去的酒店客房管 理系统采用 C/S 模式开发,日益显现其不足。在继承过去 C/S 模式的酒店客房 管理系统的优点下,开发更加符合现代酒店业务的 B/S 模式系统有迫切的需要。 本文主要介绍酒店客房管理系统的设计与实现方法,包括设计目标、系统 的功能设计,数据库的设计、系统所用的具体技术等等。 系统采用了 JSP 技术、Struts 为开发框架、Tomcat 为服务器,并通过 JDBC 连接数据库 SQL Server2000,Hibernate 作为对象关系映射框架。通过上述技术 的支持,开发出一个低成本并且具有稳定性、可扩展、易维护的酒店客房管理 系统,为酒店的客房管理业务提高效率。 【关键词关键词】酒店;客房;Struts;JSP II Design and analysis of Hotel Room Management System Abstract Based on the information in modern society is transmission, exchange and development high-speed,the last hotel room management system developed in C/S model,however we can found that it has more and more shortcoming.In the succession of the C / S mode the advantages of hotel rooms under management, development more in line with the modern hotel business, B / S model system there is an urgent need. In this paper, hotel rooms management system design and implementation, including design objectives, system functional design, database design, system uses specific technologies. System uses the JSP technology, Struts framework for the development, Tomcat as the server and connects to the database via JDBC SQL Server2000, Hibernate for object-relational mapping framework. Through this technology, support, and has developed a low-cost stable, scalable, and easy maintenance management system for hotel rooms for the hotel rooms management business to improve efficiency. KeywordsHotel Rooms Struts JSP I 目目 录录 1前言前言.1 1.1选题背景选题背景1 1.1.1 国内现状1 1.1.2 国外情况2 1.2 系统研究的意义系统研究的意义2 1.3 系统开发环境及工具介绍系统开发环境及工具介绍3 1.3.1 MyEclipse 简介3 1.3.2 Tomcat 服务器简介.4 2相关技术介绍相关技术介绍.5 2.1STRUTS框架技术框架技术5 2.1.1 Struts 基本概念 .5 2.1.2 Struts 实现 MVC 的原理 .5 2.1.3 Struts 技术的优缺点 .8 2.2HIBERNATE框架技术框架技术.9 2.2.1 什么是 HIBERNATE.9 3 系统分析系统分析.12 3.1 系统可行性分析系统可行性分析.12 3.1.1 经济可行性分析12 3.1.2 技术可行性分析12 3.1.3 社会可行性分析12 3.2 需求分析需求分析.13 3.2.1 系统功能需求13 3.2.2 系统数据流图14 3.2.3 用例图14 3.3 数据库设计数据库设计15 3.3.1 数据库的选择15 II 3.3.2 系统 ER 图.16 3.3.3 数据库的设计18 4 系统设计系统设计21 4.1 系统功能模块图系统功能模块图.21 4.1.1 酒店客房管理系统总模块图21 4.1.2 酒店客房管理系统各个分模块图.21 4.2 系统功能的设计系统功能的设计.23 5 系统架构系统架构26 5.1 系统架构说明系统架构说明.26 6系统详细设计系统详细设计.27 6.1HIBERNATE持久层持久层.27 6.1.1 编写 PO 类.27 6.1.2 编写 PO 的映身配置文件.30 6.1.3 连接数据库32 6.2 DAO 层层33 6.2.1 DAO 的具体实现33 6.3 WEB层设计层设计.37 6.3.1 Action 的实现.37 7 系统测试系统测试40 7.1 酒店客房管理系统的测试酒店客房管理系统的测试40 7.2 测试举例测试举例40 结束语结束语49 参考文献参考文献50 致致 谢谢51 1 1 前言前言 本系统是案例酒店管理系统的一个子系统客房管理系统主要完成 Web 服务器端的用户管理、前台管理、报表、物品库存管理等,各个管理模块具有 增、删、查、改等功能。本文中数据库服务器端采用了 SQL Sever 2000 数据库 并以 Hibernate 技术进行数据库存取等操作,使 Web 与数据库紧密联系起来。 1.11.1选题背景选题背景 随着酒店行业规模的日益扩大,酒店的经营管理而临着越来越高的要求, 比如,快速的查询、快速的登记、顾客的自动优惠等等。传统的酒店系统大都 使用 C/S(client/server)模式的计算机信息管理系统,这种 C/S 式在 20 世纪 90 年代分布式处理中起到主流系统的作用,它有着自身的一些优点,如通过在 客户和服务之间划分各自所包含的层次,提高了应用的计算效率,缓解终端/主 机模式中主机繁重的负担,在终端/主机模式和文件服务器模式中找到平衡等; 然而随着酒店规模的日益扩大,应用程序的复杂程度不断提高,传统的(C/S) 模式逐渐暴露出许多问题,如系统的可移植性、可扩展性、可维护性都很差等。 1同时,随着 Internet 迅速普及以及国加入 WTO,酒店管理也面临着许多新的 挑战和机遇,如提供远程客房预定、网上信息发布等等。2 因此,酒店迫切需要开发出基于 B/S(Browser/ Server)模式的酒店管理 系统,以适应当前酒店行业的发展,提供更好的服务和提高酒店的经济效益。 设计开发一个功能齐全、安全、高效、适合自己管理模式的管理信息系统,对 提高酒店的服务质量、提高管理决策水平、减轻劳动强度、提高工作效率是十 分重要的。 1.1.1国内现状国内现状 在 80 年代初发展起来的国内的酒店管理系统,充分吸收了国外管理系统的 精华,再结合国内的实际情况,逐步发展成熟,到 90 年代初期已形成了几个较 成熟的软件系统,同时,产生了几家专职从事酒店管理系的公司。到了 90 年代 中后期,随着计算机在酒店中的普及应用,计算机技术的不断发展,酒店管理 2 系统的发展到了一个新的时期,新的系统平台、新的系统点及发展方向不断涌 现,主要体现在系统基本转到客户机/服务器模式下的 windows 版,功能更加细 致完善,系统更加稳定可靠。对软件开发商来说,小的软件慢淘汰。3 此外,国内酒店业的应用系统不同,各家供应商的软件也不同。对于一家 酒店,如果各部门使用的是不同的平台、不同的软件,当员工进行软件操作时, 需要学各种人家,这样不但使员工的学习成本增高,也同时影响酒店的效率。 对于连锁酒店集团而言,信息系统没有实施标准化是非常严重的问题。酒店不 但需要耗费大量财力去维护不同的平台,而且当未来同一连锁集团的酒店共享 服务中心或者实施电子商务时,平台整合的任务十分困难和昂贵。 中国加入 WTO 后,经济及旅游业得到了快速发展,2008 年北京奥运会和 2010 世博会的举行,旅游热等因素给中国酒店业发展带来了新的机遇和挑战。 通过调查,我国在 2020 年将会成为世界上第四大旅游国家。同时,大量跨国酒 店集团入逐中国市场,由于酒店管理问题引起的竞争不力也越来越多的表现了 出来。当中,现在甚至还有一些酒店停留在又人工操作和管理阶段,这样已经 无法适应现代社会的发展趋势。为了扭转这种情势,适应日益激烈的市场竞争, 国内已悄悄刮起了一股“数字酒店”的飓风。4智能化、数字化的酒店管理系 统已成为当今酒店发展的主要核心竞争力量之一。采用先进的计算机网络通信 技术改变酒店业务模式,实现酒店业务管理的自动化已经成为一种必然。 1.1.21.1.2 国外情况国外情况 世界范围的酒店 IT 商家,拥有 OP-ERA,Fidelio,Fidelio,xPres。品牌 的 MICROS-Fidelio 和拥有 HISParagon,CLs,LogicTouch 品牌的 MAI 无疑是 已经形成垄断地位的行业领先者。但他们也意识到由于新技术的不断涌现,酒 店 IT 应用行业随时可能出现超越他们的黑马。Fidelio 全球的安装量超过 8500 家,包括 Marriott,Radisson,Hilton,Wyndham,Bass 等连锁酒店集团均选用 其产品。纵观国外酒店业信息化发展轨迹和趋势,我们不难看出,随着酒店业 竞的加剧,酒店之间客源的争夺越来越激烈,客房销售的利润空间越来越小, 就需要使用更有效的信息化手段,拓展经营空间,降低运营成本,提高管理和 决策效率。5 1.21.2系统研究的意义 3 对于整个酒店来说,酒店经营状况起决定作用的是酒店的服务管理水平。 如何利用先进的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。 面对信息时代的机遇和挑战,利用科技手段提高酒店的管理无疑是一条行之有 效的途径。虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最 大限度地发挥准确、快捷高效等作用,对酒店业务管理提供强有力的支持。因 此,采用全新的计算机网络和酒店业务管理系统,已经成为酒店的管理效率, 使作业人员与管理系统之间灵活互动,实现流畅的工作流衔接,帮助酒店有效 地进行业务管理,释放最大价值。酒店业务管理系统在达到节省人力资源成本 同时,可以提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求。6 1.31.3系统开发环境及工具介绍系统开发环境及工具介绍 操作系统平台:Windows Xp 数据库服务器:Microsoft SQL Server 2000 系统服务器:Tomcat 开发工具:MyEclipse 1.3.1 MyEclipse 简介简介 MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称 MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 J2EE 的开发、 发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 J2EE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 在结构上,MyEclipse 的特征可以被分为 7 类: 1. J2EE 模型 2. WEB 开发工具 3. EJB 开发工具 4. 应用程序服务器的连接器 5. J2EE 项目部署服务 6. 数据库服务 4 7. MyEclipse 整合帮助 对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过 一系列的插件来实现它们。MyEclipse 结构上的这种模块化,可以让我们在不影 响其他模块的情况下,对任一模块进行单独的扩展和升级。 简单而言,MyEclipse 是 Eclipse 的插件,也是一款功能强大的 J2EE 集成 开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0 以前版本需先 安装 Eclipse。MyEclipse6.0 以后版本安装时不需安装 Eclipse。7 1.3.2 Tomcat 服务器简介服务器简介 Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性 好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的 tomcat 标志 改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的 功能。 Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是 很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来 说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。实际上 Tomcat 部分是 Apache 服务器的扩展,但它 是独立运行的,所以当你运行 tomcat 时,它实际上作为一个与 Apache 独立的 进程单独运行的。 这里的诀窍是,当配置正确时,Apache 为 HTML 页面服务, 而 Tomcat 实际上运行 JSP 页面和 Servlet。另外,Tomcat 和 IIS、Apache 等 Web 服务器一样,具有处理 HTML 页面的功能,另外它还是一个 Servlet 和 JSP 容器,独立的 Servlet 容器是 Tomcat 的默认模式。不过,Tomcat 处理静态 HTML 的能力不如 Apache 服务器。目前 Tomcat 最新版本为 7.0.6。 5 2 2 相关技术介绍相关技术介绍 2.12.1StrutsStruts 框架技术框架技术 2.1.1 Struts 基本概念基本概念 Struts 最早于 2000 年 5 月作为 Jakarta 项目的组成部分问世,Jakarta 项 目由 Apache(www.Jakarta.apache.org)基金组织运作。JakartaStruts 是 Apache 软件组织提供的一项开放源代码项目,它为 Java Web 应用提供了 MVC 框架, 尤其适用于开发大型可扩展的 Web 应用。Struts 这个名字来源于在建筑和旧式 飞机中使用的支撑金属架。Struts 为 Web 应用提供了一个通用的框架,使得 开发人员可以把精力集中在如何解决实际业务问题上。此外,Struts 框架提供 了许多可供扩展和定制的地方,使得应用程序可以方便地扩展框架,来更好地 适应用户的实际需求8。 2.1.2 Struts 实现实现 MVC 的原理的原理 1MVC 的基本概念 MVC模式(Model模型-View视图-Controller控制器)是软件工程中的一种 软件架构模式,是一种常用的设计模式。它把软件系统分为三个基本部分: (Model模型),(View视图)和(Controller控制器)。 MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展 简化,并且使程序某一部分的重复利用成为可能。除此之外此模式通过对复杂 度的简化使程序结构更加直观。MVC 减弱了业务逻辑接口和数据接口之间的 耦合,以及让视图层更富于变化。软件系统通过对自身基本部份分离的同时也 赋予了各个基本部分应有的功能。 (控制器Controller)- 负责转发请求,对请求进行处理。 (视图View) - 界面设计人员进行图形界面设计。 (模型Model) - 程序员编写程序应有的功能(实现算法等等)、数据库 专家进行数据管理和数据库设计(可以实现具体的功能) 9。如图2-1所示: 6 图 2-1 MVC 模式 2Struts 框架实现原理 随着 MVC 模式的广泛应用,催生了 MVC 框架的产生。在所有 MVC 的框 架中,出现最早,应用最广的就是 Struts 框架10。Struts 实质上就是在 JSP Model2 地基础上实现的一个 MVC 框架。在 Struts 框架中,模型由实现业务 逻辑地 JavaBean 或 EJB 组件构成,控制器由 ActionServlet 类和 Action 类来实 现,视图由一组 JSP 文件构成。 Struts 实质上就是在 JSP Model2 地基础上实现的一个 MVC 框架。在 Struts 框架中,模型由实现业务逻辑地 JavaBean 或 EJB 组件构成,控制器由 ActionServlet 类和 Action 类来实现,视图由一组 JSP 文件构成。 ActionServlet 类是 Struts 框架中的核心组件。ActionServlet 继承了 Javax.servlet.http.HttpServlet 类,它在 MVC 模型中扮演中央控制器的角色。 ActionServlet 主要负责接受 HTTP 请求信息,根据配置文件 strutsconfig.xml 的配置信息,把请求转发给适当的 Action 对象。如果该 Action 对象不存在, ActionServlet 会先创建这个 Action 对象。 Action 类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的 流程。对于小型简单的应用,Action 类本身也可以完成一些实际的业务逻辑。 对于大型应用,Action 充当用户请求和业务逻辑处理之间的适配器(Adaptor) , 其功能就是将请求于业务逻辑分开,Action 根据用户请求调用相关的业务逻辑 组件。 当 ActionServlet 控制器收到用户请求后,把请求转发到一个 Action 实例。 如果这个实例不存在,控制器会首先创建它,然后调用这个 Action 实例的 execute()方法。Action 的 execute()方法返回 ActionForward 对象,它封 控制器 视图模型 7 装了把用户请求再转发给其他 Web 组件的信息。用户定义自己的 Action 类, 即 Action 基类的子类时,必须覆盖 execute()方法。在 Action 基类中返回 null。 Struts 的配置文件 strutsconfig.xml:一个用户请求是通过 ActionServlet 来处理和转发的,那么,ActionServlet 如何决定把用户请求转发给哪个 Action 对象呢?这就需要一些描述用户请求路径和 Action 映射关系的配置信息了。 在 Struts 中,这些配置映射信息都存储在特定的 XML 文件 strutsconfig.xml 中。在该配置文件中,每一个 Action 的映射信息都通过一个元素来配 置。这些配置信息在系统启动的时候被读入内存,供 Struts 在运行期间使用。 在内存中,每一个元素都对应一个 org.apache.struts.action.ActionMapping 类的实例。 3Struts Framework 的工作原理 1)读取配置(初始化 ModuleConfig 对象) Struts 框架总控制器(ActionServlet)是一个 Servlet,在 web.xml 中配置成 自动启动的 Servlet 读取配置文件(Struts-config.xml)的配置信息,为不同的 Struts 模块初始化相应的 ModuleConfig 对象 2)发送请求 用户提交表单或者调用 URL 向 Web 应用程序器提交一个请求,请求的数 据用 HTTP 协议上传给 Web 服务器。 3)填充 FORM(实例化、复位、填充数据、校验、保存) (*.do 请求)从 ActionConfig 中找出对应该请求的 Action 子类,如没有对 应的 Action,控制器直接转发给 JSP 静态页面。如有对应的 Action 且这个 Action 有一个相应的 ActionForm,ActionForm 被实例化并用 HTTP 请求的数据 填充其属性,并且保存在 Servlet Context 中(request 或者 session 中) ,这样它 们就可以被其他 Action 对象或者 JSP 调用。 4)派发请求 控制器根据配置信息 ActionConfig 将请求派发到具体的 Action,相应的 FormBean 一并传给这个 Action 的 execute()方法。 5)处理业务 8 Action 一般只包含一个 execute 方法,它负责执行相应的业务逻辑(调用其 他业务模块) 。完毕返回一个 ActionForward 对象,控制器通过该 ActionForward 对象来进行转发工作。 6)返回响应 Action 根据业务处理的不同结果返回一个目标响应对象给总控制器,该目 标响应对象对应一个具体 JSP 页面或者另一个 Action。 7)查找响应(翻译响应) 总控制器根据业务功能 Action 返回的目标响应对象,找到对应的资源对象, 通常是一个具体的 JSP 页面。 8)响应用户 目标响应对象将结果展现给用户目标响应对象(JSP)讲结果页面展现给用 户。 流程如图 2-3 所示。 1.初初始始化化 3填填充充 FormBean 7.转转换换Http请请求求到到 目目标标响响应应对对象象 2.Http请请求求 6.返返回回目目标标 响响应应对对象象 5.调调用用后后台台业业务务 功功能能完完成成商商务务逻逻辑辑 8.Http响响应应 4、将将请请求求转转移移到到 具具体体Action处处理理 Struts-config.xml 模模型型(ActionForm) 视视图图JSP 业业务务功功能能控控制制器器 (Action) 业业务务功功能能类类 (JavaBean) Struts框框架架总总控控制制器器 (ActionServlet) 图 2-2 Struts 框架流程 2.1.3 Struts 技术的优缺点技术的优缺点 Struts 优点: Struts 是开源软件。使开发者能更深入的了解其内部实现机制。 Struts 实 9 际就是实现了 MVC 的机制,切实可行的把控制和显示分开,从管理上来说可 以节省不必要的时间和人力的浪费。提高了开发速度。也真正的实现了 bean 的 重用。 除此之外,Struts 的优点主要集中体现在两个方面:Taglib 和页面导航。 Taglib 是 Struts 的标记库,灵活动用,能大大提高开发效率。另外,就目前国 内的 JSP 开发者而言,除了使用 JSP 自带的常用标记外,很少开发自己的标记, 或许 Struts 是一个很好的起点。 关于页面导航,事实上可以使系统的脉络更加清晰。通过一个配置文件, 即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤 其是当另一批开发者接手这个项目时,这种优势体现得更加明显。 Struts 缺点: 1.开发人员需要学习如何使用 Struts 的标志库。事实上要理解这些 Struts 的 标志库,特别是 Bean 和 HTML 标志库的确要花费比较长的时间。 2.你不能在视图中用 JSP 来实现处理管道(processing pipeline) 。只能做些 简单的 include 和 forward,这样很明显就会限制了视图的灵活性。 3.对 JSP 页面的任何修改都会导致 JSP 的重新编译,这样是非常耗费时间 的。 2.22.2Hibernate 框架技术框架技术 2.2.12.2.1 什么是什么是 Hibernate 一 Hibernate 定义 Hibernate 是一种 Java 语言下的对象关系映射解决方案。 它是一种自由、 开源的软件。它用来把对象模型表示的对象映射到基于 SQL 的关系模型结构 中去,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用 方便的框架。 二 Hibernate 的作用 Hibernate 不仅管理 Java 类到数据库表的映射(包括从 Java 数据类型到 SQL 数据类型的映射) ,还提供数据查询和获取数据的方法,可以大幅度减少 10 开发时人工使用 SQL 和 JDBC 处理数据的时间。 它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中 解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采 用 Hibernate。 三 Hibernate 的应用 Hibernate 对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随 心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,它既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用。最具革命意义的是,Hibernate 可以在应用 EJB(Enterprise JavaBeans 是 Java 应用于企业计算的框架)的 J2EE 架构中取代 CMP,完成数 据持久化的重任。 四 Hibernate API 简介 1 Hibernate API 中的接口可以分为以下几类: (1) 提供访问数据库的操作的接口,包括 session、Transaction、Query 接 口; (2) 用于配置 Hibernate 的接口,Configuration; (3) 间接接口,使应用程序接受 Hibernate 内部发生的事件,并作出相关 的回应,包括:Interceptor、Lifecycle、Validatable; (4) 用于扩展 Hibernate 功能的接口,如 UserType、CompositeUserType、IdentifierGenerator 接口。 Hibernate 内部还封装了 JDBC、JTA(Java Transaction API)和 JNDI(Java Naming And Directory Interface) 。其中,JDBC 提供底层的数据访问操作,只要 用户提供了相应的 JDBC 驱动程序,Hibernate 可以访问任何一个数据库系统。 JTA 和 JNDI 使 Hibernate 能够和 J2EE 应用服务器集成。 2 Hibernate 的核心接口框图 五 Hibernate 的优缺点 11 (1)优点: a.Hibernate 使用 Java 反射机制 而不是字节码增强程序来实现透明性。 b.Hibernate 的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。 c. 它支持各种关系数据库,从一对一到多对多的各种复杂关系。 (2)缺点: Hibernate 限制您所使用的对象模型。例如,一个持久性类不能映射到多个 表。11 12 3 3 系统系统分析分析 3.13.1 系统可行性分析系统可行性分析 可行性研究的目的是用最小的代价,在尽可能短的时间内确定问题是否能 够得到解决,以是否值得解决。在项目开发之前进行可行性论证是非常必要的。 一个项目如果未经过充分的可行性证明,只粗略地估计解决问题的花费和方法, 就盲目上阵开始软件开发工作,结果往往是不能在预定的系统规模或者时间限 制解决问题,甚至无法求解,最后造成花费在该项目上时间、人力、物力资源 和经费的浪费。 3.1.1 经济可行性分析经济可行性分析 主要是对预估费用和对项目的经济效益进行评价。在费用支出方面,需 要考虑到主机费用。而开发费用,主要考虑人工成本,系统采用的开发环境及 工具价格低廉,开发语言使用 JSP。而系统需要的运行软件工具主要为: Tomcat 服务器、Microsoft SQL Server 2000.大大降低成本 3.1.2 技术可行性分析技术可行性分析 本系统采用当今流行的 JSP 作为系统的开发语言,开源且免费,能提供完 善的指令控制语句、类与对象的支持及丰富的数据类型,为开发高性能、稳定 的系统提供保证,同时代码模块化高,方便系统以后的修改与维护。同时采用 Struts 框架,使系统结构清晰,同时也加快了开发的速度,提高系统的可拓展性。 Tomcat 作为系统的服务器,其支持 jsp 语言,同时免费、开源、跨平台、 部署简易,是现代通用、性能强大的服务器。 3.1.3 社会可行性分析社会可行性分析 社会可行性分析是开发项目的运行方式在用户组织内是否行的通。由于系 13 统使用 B/S 模式,而且系统分系统管理员与普通用户两类,便于管理。再者系 统的界面友好,功能人性化,减少酒店对员工的系统操作培训费用 3.2 需求分析需求分析 通过对本地城市中多间酒店的调查,以及对当前较为流行的 C/S 和 B/S 的 酒店客房管理系统的研究,得到当今社会上酒店客房管理系统希望有以下的业 务功能: 1.运行环境要求(包括硬件与软件)不能过高,能保证系统稳定运行为前 提 2.系统的界面友好,操作人员使用系统能得心应手 3.入住酒店的客人登记资料要详尽 4.提供营业报表的查询功能 5 添加全国城市的身份证对照表,方便核对 6 酒店的物件的库存管理 3.2.1 系统功能需求系统功能需求 酒店客房管理系统分为六个模块。当中包括:前台管理、预定管理、库存 管理、用户管理(仅限管理员)、资料管理和报表。 系统核心模块为前台管理,其功能预览如下: 1、 开房管理(客户信息登记) 2、 退房管理 3、 房间状态 4、 房间操作管理 5、 商品消费管理 6、 会员管理 系统应该达到以下要求: 1、可用性。目标系统功能齐全,能够完全满足业务需求。 2、可靠性。能连续准确的处理业务,有较强的容错能力。 3、可理解性。用户容易理解和使用该系统。 14 4、安全保密性。保证系统的物理安全、数据存储做好使用人员的授权 管理。 5、时间经济性。优化逻辑设计与物理设计,使系统运行效率高。 6、可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够 适应业务不断发展变化的需要。 3.2.2 系统数据流图系统数据流图 1 管理员成功登录后,进行相应操作,产生的数据流,如图 3-1 所示 管理员登陆验证 系统管理 页面 管理员信 息 前台管理 预订管理 资料管理 用户管理 库存管理 报表 退出系统 图 3-1 酒店客房管理系统数据流图 3.2.3 用例图用例图 用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的 模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系 统、子系统或类的功能行为进行建模。12 如图 3-2: 15 普通用户 管理员 用户管理 资料管理 预订管理 前台管理 库存管理 报表 图 3-2 用例图 3.3 数据库设计数据库设计 3.3.1 数据库的选择数据库的选择 Microsoft SQL Server 2000 能提供超大型系统所需的数据库服务。大型服 务器可能有成千上万的用户同时连接到 SQL Server 2000 实例。SQL Server 2000 为这些环境提供了全面的保护,具有防止问题发生的安全措施,例如,可 以防止多个用户试图同时更新相同的数据。SQL Server 2000 还在多个用户之间 有效地分配可用资源,比如内存、网络带宽和磁盘 I/O。 超大型 Internet 站点可将其数据分开存放在多台服务器上,从而使处理负 荷分散到多台计算机上,使站点能为成千上万的并发用户提供服务。 可以在一台计算机上运行多个 SQL Server 2000 实例。例如,一个为其它 许多组织提供数据库服务的组织可为每个客户组织单独运行一个 SQL Server 2000 实例,而全部实例可集中在一台计算机上。这样,既隔开了每个客户组织 的数据,同时又使服务组织只需管理一台服务器计算机从而减少了费用。 SQL Server 2000 应用程序可在装有 SQL Server 2000 的计算机上运行。该 应用程序通过 Windows 进程间通讯 (IPC) 组件(例如共享内存)而非通过网 16 络连接到 SQL Server 2000。这使 SQL Server 2000 得以应用于应用程序必须在 本地存储数据的小型系统中。 大型 Web 站点和企业级数据处理系统通常会生成大量的数据库处理,超 出了一台计算机的支持能力。在这些大型系统中,数据库服务由组成数据库服 务层的一组数据库服务器提供。SQL Server 2000 不支持采用平衡负荷的聚集形 式建立数据库服务层,但支持跨自主服务器组分存数据的机制。尽管每个服务 器需分开管理,但组内的各个服务器可共同分担数据库处理负荷。共享同一工 作负荷的一组自主服务器称为服务器联合体。13 3.3.2 系统系统 ER 图图 用用户户 用用户户ID账账户户名名密密码码类类别别 登登陆陆记记录录 记记录录号号用用户户名名密密码码登登陆陆时时间间 记记录录登登陆陆历历史史 n 1 图 3-3 实体联系图 1 17 房房间间 房房号号房房间间类类型型房房间间价价格格房房间间状状态态备备注注 房房间间账账单单 账账单单号号消消费费号号付付款款 客客人人入入住住单单 消消费费号号客客人人姓姓名名性性别别入入住住类类型型预预付付款款 身身份份证证号号电电话话 地地址址入入住住时时间间离离开开时时间间当当前前状状态态 账账单单登登记记 1 1 选选择择房房间间 1 1 入入住住房房间间 入入住住ID消消费费号号入入住住房房间间号号 入入住住房房间间登登记记 1 1 图 3-4 实体联系图 2 会会员员 会会员员ID姓姓名名电电话话身身份份证证号号码码 图 3-5 实体联系图 3 身身份份证证资资料料库库 库库编编号号地地区区代代码码地地方方名名 图 3-6 实体联系图 4 18 商商品品 商商品品号号 名名称称类类型型数数量量价价钱钱 商商品品消消费费单单 商商品品名名称称价价钱钱数数量量消消费费时时间间 ID 房房间间号号账账单单号号 消消费费人人 消消费费商商品品 n 1 图 3-7 实体联系图 5 3.3.3 数据库的设计数据库的设计 1、依据项目的处理需求,对应数据表的设计及功能如下: 结账表(TB_ACCOUNT):用于保存客人结账信息 客人入住信息登记表(TB_CUSTOMER):用于保存客人入住信息登记信 息 商品表(TB_GOOD):用于保存酒店商品信息 房间表(TB_HOUSE):用于保存酒店房间信息 房间入住表(TB_HOUSECUSTOMER):用于保存房间入住信息 会员表(TB_HUIYUAN):用于保存会员信息 登陆记录表(TB_LOGINRECORD):用于保存登陆记录信息 商品消费表(TB_PAYFORGOODS):用于保存商品消费表信息 身份证代码表(TB_PCAREA):用于保存全国身份证代码信息 19 用户表(TB_USER):用于保存系统用户信息 其中,房间表和身份证代码表属于后台设置部分,需要首先导入设置。其 余的数据库表都属于前台功能表。通过实现功能可以对表的内容进行增、删、 查、改等等。 2、数据表 前台的功能性表,如 3-1 表 表 3-1 数据表 1 表名数据项名数据类型长度 TB_ACCOUNTACCOUNTIDvarcher20 CUSTOMERIDvarcher20 PAYFORHOUSEfloat8 TB_CUSTOMERCUSTOMERIDvarcher20 CUSTOMERNAMEvarcher20 SEXvarcher4 INHOMETYPEvarcher10 BUDGETMONEYfloat8 PERSONNALCARDvarcher18 TELEPHONEvarcher11 ADDRESSvarcher100 INTIMEdatetime8 OUTTIMEdatetime8 CURRENTSTATEvarcher5 TB_GOODGOODSIDvarcher100 GOODSNAMEvarcher100 TYPEvarcher10 QULANTITYint4 PRICEfloat8 TB_HOUSECUSTOMERCUSHOUSEIDint4 CUSTOMERIDvarcher20 INHOUSEIDvarcher10 TB_HUIYUANHUIYUANIDvarcher20 IDvarcher20 USERNAMEvarcher20 TELEPHONEvarcher11 20 PERSONALCARDvarcher18 TB_LOGINRECORDIDint4 USERNAMEvarcher50 PASSWORDvarcher50 LOGINTIMEdatetime8 TB_PAYFORGOODSIDint4 HOUSEIDvarcher20 ACCOUNTIDvarcher20 CUSTOMERNAMEvarcher100 GOODSNAMEvarcher200 PRICEfloat8 QULTANTITYint4 INACCOUNTTIMEdatetime8 TB_USERUSERIDvarcher15 USERNAMEvarcher20 PASSWORDvarcher20 USERRANKvarcher10 注:斜体字为主键 。 后台设置的表,有房间表(TB_HOUSE)和身份证代码表(TB_PCARE),如下 表 3-2: 表 3-2 数据表 2 表名数据项名数据类型长度 TB_HOUSEHOUSEIDvarcher10 HOUSETYPEvarcher20 HOUSEPRICEfloat8 HOUSESTATEvarcher5 MARKvarcher200 TB_PCAREAIDvarcher20 PCNUMBERvarcher10 ZONEvarcher100 21 4 4 系统设计系统设计 系统总体设计是问题求解及建立解答的高级策略。系统总体设计的主要任 务是将系统分解成易于管理的子系统,并构造系统的策略,诸如系统运行的软 硬件平台、数据管理策略等,最终得到系统的体系结构设计模型。14 4.1 系统功能模块图系统功能模块图 系统逻辑模型中数据流图中的模块是逻辑处理模块,模型中没有说明模块 的物理构成和实现途径,同时也看不出模块的层次分解关系,为此在系统结构 设计中要将数据流图上的各个逻辑处理模块进一步分解,用模块结构图确定系 统的层次结构关系,并将系统的逻辑模型转变为物理模型。15 4.1.1 酒店客房管理系统总模块图酒店客房管理系统总模块图 如图 4-1: 酒酒店店客客房房管管理理 前前台台 管管理理 预预订订 管管理理 报报表表 物物品品 库库存存 管管理理 用用户户 管管理理 资资料料 管管理理 图 4-1 酒店客房管理系统总模块图 4.1.2 酒店客房管理系统各个分模块图酒店客房管理系统各个分模块图 22 前前台台 管管理理 开开房房 管管理理 商商品品 消消费费 管管理理 退退房房 管管理理 房房间间 状状态态 房房间间 操操作作 管管理理 会会员员 管管理理 图 4-2 前台管理功能模块图 预预订订管管理理 预预订订入入住住退退订订 查查询询 与与 修修改改 图 4-3 预订管理功能模块图 营营业业报报表表 客客人人 结结账账 报报表表 商商品品 消消费费 报报表表 预预付付 款款报报 表表 当当前前 住住客客 报报表表 图 4-4 报表功能模块图 23 库库存存管管理理 入入库库出出库库 当当前前 库库存存 查查询询 库库存存 盘盘点点 图 4-5 物品库存管理功能模块图 用用户户管管理理 用用户户 登登录录 历历史史 账账号号 管管理理 账账号号 权权限限 设设置置 图 4-6 用户管理功能模块图 资资料料管管理理 会会员员 资资料料 管管理理 身身份份 证证代代 码码 图 4-7 资料管理功能模块图 4.2 系统功能的设计系统功能的设计 (管理员通过密码验证后能进行如下操作) 1.前台管理 酒店的前台管理包括如下: A.开房管理 为客人正确填写入住资料,并选择入住房间、入住类型,输入入住时 间和离开时间。点击入住,即保存入住信息。 24 B.退房管理 通过查询房间号,搜索要进行退房操作的房间。也可以不输入房间号, 直接点击查询,即返回可以进行退房操作的房间。 C.商品消费管理 为酒店的小商品消费进行管理。在导航栏点击商品消费,即能登记录 入某房间号某人进行消费某项商品。点击添加,进行保存。商品消费查询, 输入房间号,能查询对应房间住客进行的消费记录。 D.房间状态查询 通过选择单选框“在住”或“空置” ,再点击查询,即能返回当前在住 或空置房的列表。 E.房间操作管理 对房间操作进行管理,实质为“一键换房”功能。对已经登记入住的客 人,若有换房要求,能为客人选择空置房进行换房。 F.会员管理 对希望成为本酒店住客会员的客人,为其登记信息,添加成为会员。 2. 预订管理 A.预订 本功能与开房管理相近,记录客户预订的必要信息。 B.入住 查询已经预订的客人或者客人身份证号,并对其进行入住操作,点击入 住按钮,正式开房。若然没有输入客人或者客人身份证号,即返回所有预 订的客人列表。 C.退订 对已经预订的客户,进行退订操作。查询需要退订的客户,点击删除。 D.查询与修改 对已经预订的客户的信息进行查询与修改。 3.库存管理 A.入库 25 对酒店的商品或用品进行入库登记,输入其商品名、编号、价格等信息。 点击入库,进行保存。 B.查询 输入商品名称,对该商品的信息进行查询。 4.用户管理 A.账户管理 对本系统的用户进行添加、查询、修改、删除等操作。 B.用户登录历史 能根据用户名查询,登录系统的历史。 C.账号权限设置 对账号的权限级别进行设置。能把管理员级别换成普通会员,也可以把 普通会员变成管理员级别,提升权限。 5.资料管理 A.会员管理 能对酒店的客户会员进行添加、修改、删除操作。 B.身份证代码 提供全国身份证代码的列表,进行对照查询。 6.报表 A.当前住客报表(对当前住客进行列表汇总) B.客人结账报表(对已经结账的客人进行列表汇总) C.商品消费报表(对商品消费记录进行列表汇总) D.预付报表(对进行预付的客人记录进行列表汇总) 26 5 系统架构系统架构 5.1 系统架构说明系统架构说明 本系统采用的是典型的 J2EE 三层结构,分为表现层、中间层和数据服务 层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客 户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数 据库交互。 系统具体分层如 5-1 所示: 视视图图层层 (JSP) 用户界面负责 业务收集和表 示客户端校验 WEB层层 (Struts) MVC架构的控 制层 控制业务逻辑 层和表现层的 交互 DAO(Data Access Object) 数据访问对象 与持久层交互 持持久久层层 (Hibernate) 通过实体关系 映射OR Mapping由数 据库表 数数据据库库服服务务 (Microsoft SQL Server 2000) 存放数据 图 5-1 系统结构图 该系统的表现层是传统的 JSP 技术,JSP 技术自 1999 年问世以来,经过 多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的 基础。 中间层为了将控制层与业务逻辑层分离,又细分为以下几种: Web 层,就是 MVC 模式里面的交互,调用业务逻辑层,并将业务数据返 回给表现层作组织表现,该系统的 MVC 框架采用 Struts。 DAO 层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操 作。 PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对 象,很方便地实现以面向对象方式操作数据库,该系统采用 Hibernate 作为 ORM 框架。 27 6系统详细设计系统详细设计 6.1 Hibernate 持久层持久层 采用 Hibernate 作为持久层技术的最大的好处在于:可以完全以面向对象的 方式进行系统分析、系统设计。面向对象的分析和面向对象的设计才最接近于 程序员的自然思维。 6.1.1 编写编写 PO 类类 10 个基本的 PersisentObject 类。分别为: Account Customer Goods House HouseCustomer HuiYuan LoginRecord PayForGoods PcArea User 下面只给出 House 和 Customer 类,其它的可以参看源代码。 package com.hibernate.mapings; /* * * 酒店房间实体 * */ public class House implements java.io.Serializable private String houseid; /房间id 28 private String housetype;/房间类型 private Double houseprice;/房间价格 private String housestate;/房间状态 private String mark;/房间备注 public House() /空的构造方法 public House(String houseid, String housetype, Double houseprice, String housestate, String mark) this.houseid = houseid; this.housetype = housetype; this.houseprice = houseprice; this.housestate = housestate; this.mark = mark; /构造方法,给类中的属性赋值 /省略get和set 访问器 package com.hibernate.mapings; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; /* * 入住酒店客人信息 * */ public class Customer implements java.io.Serializable private String customerid; /入住id private String customername;/客人姓名 private String sex;/客人性别 private String inhometype;/入住类型 29 private Double budgetmoney;/预付款 private String personnalcard; /身份证号 private String telephone;/电话号码 private String address;/联系地址 private Timestamp i
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 合同文书


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!