1、 本科毕业论文(设计)xxxxx二级学院 医药信息工程学院专 业班 级学生姓名学 号指导教师诚 信 声 明我声明,所呈交的毕业论文(设计)是本人在老师指导下进行的研究工作及取得的研究成果。据我查证,除了文中特别加以标注和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写过的研究成果,也不包含为获得其他教育机构的学位或证书而使用过的材料。我承诺,论文(设计)中的所有内容均真实、可信。毕业论文(设计)作者(签名): 年 月 日xxxxxxx【摘要】基于现代社会信息的高速传输、交流、发展,过去的酒店客房管理系统采用 C/S 模式开发,日益显现其不足。在继承过去 C/S 模式的酒店客房管理系统的优
2、点下,开发更加符合现代酒店业务的 B/S 模式系统有迫切的需要。本文主要介绍酒店客房管理系统的设计与实现方法,包括设计目标、系统的功能设计,数据库的设计、系统所用的具体技术等等。系统采用了 JSP 技术、Struts 为开发框架、Tomcat 为服务器,并通过 JDBC连接数据库 SQL Server2000,Hibernate 作为对象关系映射框架。通过上述技术的支持,开发出一个低成本并且具有稳定性、可扩展、易维护的酒店客房管理系统,为酒店的客房管理业务提高效率。【关键词】酒店;客房;Struts;JSPIIDesign and analysis of Hotel Room Manageme
3、nt SystemAbstract 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
4、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.Syst
5、em 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 manage
6、ment system for hotel rooms for the hotel rooms management business to improve efficiency.KeywordsHotel Rooms Struts JSPI目 录1 前言 .11.1 选题背景 11.1.1 国内现状 11.1.2 国外情况 21.2 系统研究的意义 21.3 系统开发环境及工具介绍 31.3.1 MyEclipse 简介 31.3.2 Tomcat 服务器简介 .42 相关技术介绍 .52.1 STRUTS 框架技术 52.1.1 Struts 基本概念 .52.1.2 Struts 实现
7、MVC 的原理 .52.1.3 Struts 技术的优缺点 .82.2 HIBERNATE 框架技术 .92.2.1 什么是 HIBERNATE.93 系统分析 .123.1 系统可行性分析 .123.1.1 经济可行性分析 123.1.2 技术可行性分析 123.1.3 社会可行性分析 123.2 需求分析 .133.2.1 系统功能需求 133.2.2 系统数据流图 143.2.3 用例图 143.3 数据库设计 153.3.1 数据库的选择 15II3.3.2 系统 ER 图 .163.3.3 数据库的设计 184 系统设计 214.1 系统功能模块图 .214.1.1 酒店客房管理系统
8、总模块图 214.1.2 酒店客房管理系统各个分模块图 .214.2 系统功能的设计 .235 系统架构 265.1 系统架构说明 .266 系统详细设计 .276.1 HIBERNATE 持久层 .276.1.1 编写 PO 类 .276.1.2 编写 PO 的映身配置文件 .306.1.3 连接数据库 326.2 DAO 层 336.2.1 DAO 的具体实现 336.3 WEB 层设计 .376.3.1 Action 的实现 .377 系统测试 407.1 酒店客房管理系统的测试 407.2 测试举例 40结束语 49参考文献 50致 谢 5111 前言本系统是案例酒店管理系统的一个子系
9、统客房管理系统主要完成 Web服务器端的用户管理、前台管理、报表、物品库存管理等,各个管理模块具有增、删、查、改等功能。本文中数据库服务器端采用了 SQL Sever 2000 数据库并以 Hibernate 技术进行数据库存取等操作,使 Web 与数据库紧密联系起来。1.1 选题背景随着酒店行业规模的日益扩大,酒店的经营管理而临着越来越高的要求,比如,快速的查询、快速的登记、顾客的自动优惠等等。传统的酒店系统大都使用 C/S(client/server)模式的计算机信息管理系统,这种 C/S 式在 20 世纪90 年代分布式处理中起到主流系统的作用,它有着自身的一些优点,如通过在客户和服务之
10、间划分各自所包含的层次,提高了应用的计算效率,缓解终端/主机模式中主机繁重的负担,在终端/主机模式和文件服务器模式中找到平衡等;然而随着酒店规模的日益扩大,应用程序的复杂程度不断提高,传统的(C/S)模式逐渐暴露出许多问题,如系统的可移植性、可扩展性、可维护性都很差等。1同时,随着 Internet 迅速普及以及国加入 WTO,酒店管理也面临着许多新的挑战和机遇,如提供远程客房预定、网上信息发布等等。 2因此,酒店迫切需要开发出基于 B/S(Browser/ Server)模式的酒店管理系统,以适应当前酒店行业的发展,提供更好的服务和提高酒店的经济效益。设计开发一个功能齐全、安全、高效、适合自
11、己管理模式的管理信息系统,对提高酒店的服务质量、提高管理决策水平、减轻劳动强度、提高工作效率是十分重要的。1.1.1 国内现状在 80 年代初发展起来的国内的酒店管理系统,充分吸收了国外管理系统的精华,再结合国内的实际情况,逐步发展成熟,到 90 年代初期已形成了几个较成熟的软件系统,同时,产生了几家专职从事酒店管理系的公司。到了 90 年代中后期,随着计算机在酒店中的普及应用,计算机技术的不断发展,酒店管理2系统的发展到了一个新的时期,新的系统平台、新的系统点及发展方向不断涌现,主要体现在系统基本转到客户机/服务器模式下的 windows 版,功能更加细致完善,系统更加稳定可靠。对软件开发商
12、来说,小的软件慢淘汰。 3此外,国内酒店业的应用系统不同,各家供应商的软件也不同。对于一家酒店,如果各部门使用的是不同的平台、不同的软件,当员工进行软件操作时,需要学各种人家,这样不但使员工的学习成本增高,也同时影响酒店的效率。对于连锁酒店集团而言,信息系统没有实施标准化是非常严重的问题。酒店不但需要耗费大量财力去维护不同的平台,而且当未来同一连锁集团的酒店共享服务中心或者实施电子商务时,平台整合的任务十分困难和昂贵。中国加入 WTO 后,经济及旅游业得到了快速发展,2008 年北京奥运会和2010 世博会的举行,旅游热等因素给中国酒店业发展带来了新的机遇和挑战。通过调查,我国在 2020 年
13、将会成为世界上第四大旅游国家。同时,大量跨国酒店集团入逐中国市场,由于酒店管理问题引起的竞争不力也越来越多的表现了出来。当中,现在甚至还有一些酒店停留在又人工操作和管理阶段,这样已经无法适应现代社会的发展趋势。为了扭转这种情势,适应日益激烈的市场竞争,国内已悄悄刮起了一股“数字酒店”的飓风。 4智能化、数字化的酒店管理系统已成为当今酒店发展的主要核心竞争力量之一。采用先进的计算机网络通信技术改变酒店业务模式,实现酒店业务管理的自动化已经成为一种必然。1.1.2 国外情况世界范围的酒店 IT 商家,拥有 OP-ERA,Fidelio,Fidelio,xPres。品牌的 MICROS-Fideli
14、o 和拥有 HISParagon,CLs,LogicTouch 品牌的 MAI 无疑是已经形成垄断地位的行业领先者。但他们也意识到由于新技术的不断涌现,酒店 IT 应用行业随时可能出现超越他们的黑马。Fidelio 全球的安装量超过 8500家,包括 Marriott,Radisson,Hilton,Wyndham,Bass 等连锁酒店集团均选用其产品。纵观国外酒店业信息化发展轨迹和趋势,我们不难看出,随着酒店业竞的加剧,酒店之间客源的争夺越来越激烈,客房销售的利润空间越来越小,就需要使用更有效的信息化手段,拓展经营空间,降低运营成本,提高管理和决策效率。 51.2 系统研究的意义3对于整个酒
15、店来说,酒店经营状况起决定作用的是酒店的服务管理水平。如何利用先进的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高酒店的管理无疑是一条行之有效的途径。虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷高效等作用,对酒店业务管理提供强有力的支持。因此,采用全新的计算机网络和酒店业务管理系统,已经成为酒店的管理效率,使作业人员与管理系统之间灵活互动,实现流畅的工作流衔接,帮助酒店有效地进行业务管理,释放最大价值。酒店业务管理系统在达到节省人力资源成本同时,可以提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求。
16、 61.3 系统开发环境及工具介绍操作系统平台:Windows Xp数据库服务器:Microsoft SQL Server 2000系统服务器:Tomcat开发工具:MyEclipse 1.3.1 MyEclipse 简介MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 J2EE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JS
17、F, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse 的特征可以被分为 7 类:1. J2EE 模型2. WEB 开发工具3. EJB 开发工具4. 应用程序服务器的连接器5. J2EE 项目部署服务6. 数据库服务47. MyEclipse 整合帮助对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse 是 Eclipse 的插件,也是一款功能强大的 J2EE 集成开
18、发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0 以前版本需先安装 Eclipse。MyEclipse6.0 以后版本安装时不需安装 Eclipse。 71.3.2 Tomcat 服务器简介Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的 tomcat 标志改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,
19、当在一台机器上配置好 Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。 这里的诀窍是,当配置正确时,Apache 为 HTML 页面服务,而 Tomcat 实际上运行 JSP 页面和 Servlet。另外,Tomcat 和 IIS、Apache 等Web 服务器一样,具有处理 HTML 页面的功能,另外它还是一个 Servlet 和 JSP容器,独立的 Servlet 容器是 Tomcat 的默认模式。不过,Tomca
20、t 处理静态HTML 的能力不如 Apache 服务器。目前 Tomcat 最新版本为 7.0.6。52 相关技术介绍2.1 Struts 框架技术2.1.1 Struts 基本概念Struts 最早于 2000 年 5 月作为 Jakarta 项目的组成部分问世, Jakarta 项目由 Apache(www.Jakarta.apache.org)基金组织运作。JakartaStruts 是 Apache 软件组织提供的一项开放源代码项目,它为 Java Web 应用提供了 MVC 框架,尤其适用于开发大型可扩展的 Web 应用。Struts 这个名字来源于在建筑和旧式飞机中使用的支撑金属架
21、。Struts 为 Web 应用提供了一个通用的框架,使得开发人员可以把精力集中在如何解决实际业务问题上。此外,Struts 框架提供了许多可供扩展和定制的地方,使得应用程序可以方便地扩展框架,来更好地适应用户的实际需求 8。2.1.2 Struts 实现 MVC 的原理1MVC 的基本概念MVC模式(Model模型-View视图-Controller控制器)是软件工程中的一种软件架构模式,是一种常用的设计模式。它把软件系统分为三个基本部分:(Model 模型),(View视图)和(Controller 控制器)。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程
22、序某一部分的重复利用成为可能。除此之外此模式通过对复杂度的简化使程序结构更加直观。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。软件系统通过对自身基本部份分离的同时也赋予了各个基本部分应有的功能。(控制器Controller )- 负责转发请求,对请求进行处理。(视图View) - 界面设计人员进行图形界面设计。(模型Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能) 9。如图2-1所示:6图 2-1 MVC 模式2Struts 框架实现原理随着 MVC 模式的广泛应用,催生了 MVC 框架的产生。在所
23、有 MVC 的框架中,出现最早,应用最广的就是 Struts 框架 10。Struts 实质上就是在 JSP Model2 地基础上实现的一个 MVC 框架。在 Struts 框架中,模型由实现业务逻辑地 JavaBean 或 EJB 组件构成,控制器由 ActionServlet 类和 Action 类来实现,视图由一组 JSP 文件构成。Struts 实质上就是在 JSP Model2 地基础上实现的一个 MVC 框架。在 Struts 框架中,模型由实现业务逻辑地 JavaBean 或 EJB 组件构成,控制器由 ActionServlet 类和 Action 类来实现,视图由一组 JS
24、P 文件构成。ActionServlet 类是 Struts 框架中的核心组件。ActionServlet 继承了 Javax.servlet.http.HttpServlet 类,它在 MVC 模型中扮演中央控制器的角色。ActionServlet 主要负责接受 HTTP 请求信息,根据配置文件 strutsconfig.xml 的配置信息,把请求转发给适当的 Action 对象。如果该 Action 对象不存在,ActionServlet 会先创建这个 Action 对象。Action 类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。对于小型简单的应用,Action 类本身
25、也可以完成一些实际的业务逻辑。对于大型应用,Action 充当用户请求和业务逻辑处理之间的适配器(Adaptor) ,其功能就是将请求于业务逻辑分开,Action 根据用户请求调用相关的业务逻辑组件。当 ActionServlet 控制器收到用户请求后,把请求转发到一个 Action 实例。如果这个实例不存在,控制器会首先创建它,然后调用这个 Action 实例的 execute()方法。Action 的 execute()方法返回 ActionForward 对象,它封控制器视图 模型7装了把用户请求再转发给其他 Web 组件的信息。用户定义自己的 Action 类,即 Action 基类的
26、子类时,必须覆盖 execute()方法。在 Action 基类中返回 null。Struts 的配置文件 strutsconfig.xml:一个用户请求是通过 ActionServlet 来处理和转发的,那么,ActionServlet 如何决定把用户请求转发给哪个 Action 对象呢?这就需要一些描述用户请求路径和 Action 映射关系的配置信息了。在 Struts 中,这些配置映射信息都存储在特定的 XML 文件 strutsconfig.xml 中。在该配置文件中,每一个 Action 的映射信息都通过一个 元素来配置。这些配置信息在系统启动的时候被读入内存,供 Struts 在运
27、行期间使用。在内存中,每一个元素都对应一个 org.apache.struts.action.ActionMapping 类的实例。3Struts Framework 的工作原理1) 读取配置(初始化 ModuleConfig 对象)Struts 框架总控制器( ActionServlet)是一个 Servlet,在 web.xml 中配置成自动启动的 Servlet 读取配置文件( Struts-config.xml)的配置信息,为不同的Struts 模块初始化相应的 ModuleConfig 对象2) 发送请求用户提交表单或者调用 URL 向 Web 应用程序器提交一个请求,请求的数据用
28、HTTP 协议上传给 Web 服务器。3) 填充 FORM(实例化、复位、填充数据、校验、保存)(*.do 请求)从 ActionConfig 中找出对应该请求的 Action 子类,如没有对应的 Action,控制器直接转发给 JSP 静态页面。如有对应的 Action 且这个Action 有一个相应的 ActionForm,ActionForm 被实例化并用 HTTP 请求的数据填充其属性,并且保存在 Servlet Context 中(request 或者 session 中) ,这样它们就可以被其他 Action 对象或者 JSP 调用。4) 派发请求控制器根据配置信息 ActionC
29、onfig 将请求派发到具体的 Action,相应的FormBean 一并传给这个 Action 的 execute()方法。5) 处理业务8Action 一般只包含一个 execute 方法,它负责执行相应的业务逻辑(调用其他业务模块) 。完毕返回一个 ActionForward 对象,控制器通过该 ActionForward对象来进行转发工作。6) 返回响应Action 根据业务处理的不同结果返回一个目标响应对象给总控制器,该目标响应对象对应一个具体 JSP 页面或者另一个 Action。7) 查找响应(翻译响应)总控制器根据业务功能 Action 返回的目标响应对象,找到对应的资源对象,
30、通常是一个具体的 JSP 页面。8) 响应用户目标响应对象将结果展现给用户目标响应对象(JSP)讲结果页面展现给用户。流程如图 2-3 所示。1 . 初 始 化3 填 充F o r m B e a n7 . 转 换 H t t p 请 求 到目 标 响 应 对 象2 . H t t p 请 求6 . 返 回 目 标响 应 对 象5 . 调 用 后 台 业 务功 能 完 成 商 务 逻 辑8 . H t t p 响 应4 、 将 请 求 转 移 到具 体 A c t i o n 处 理S t r u t s - c o n f i g . x m l模 型 ( A c t i o n F o r
31、 m )视 图 J S P业 务 功 能 控 制 器( A c t i o n )业 务 功 能 类( J a v a B e a n )S t r u t s 框 架 总 控 制 器( A c t i o n S e r v l e t )图 2-2 Struts 框架流程2.1.3 Struts 技术的优缺点Struts 优点:Struts 是开源软件。使开发者能更深入的了解其内部实现机制。 Struts 实9际就是实现了 MVC 的机制,切实可行的把控制和显示分开,从管理上来说可以节省不必要的时间和人力的浪费。提高了开发速度。也真正的实现了 bean 的重用。除此之外,Struts 的优
32、点主要集中体现在两个方面:Taglib 和页面导航。Taglib 是 Struts 的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的 JSP 开发者而言,除了使用 JSP 自带的常用标记外,很少开发自己的标记,或许 Struts 是一个很好的起点。 关于页面导航,事实上可以使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。Struts 缺点:1.开发人员需要学习如何使用 Struts 的标志库。事实上要理解这些 Struts 的标志库,特别是 Bean 和 HTML 标
33、志库的确要花费比较长的时间。2.你不能在视图中用 JSP 来实现处理管道(processing pipeline) 。只能做些简单的 include 和 forward,这样很明显就会限制了视图的灵活性。 3.对 JSP 页面的任何修改都会导致 JSP 的重新编译,这样是非常耗费时间的。2.2 Hibernate 框架技术2.2.1 什么是 Hibernate一 Hibernate 定义Hibernate 是一种 Java 语言下的对象关系映射解决方案。 它是一种自由、开源的软件。它用来把对象模型表示的对象映射到基于 SQL 的关系模型结构中去,为面向对象的领域模型到传统的关系型数据库的映射,
34、提供了一个使用方便的框架。二 Hibernate 的作用Hibernate 不仅管理 Java 类到数据库表的映射(包括从 Java 数据类型到SQL 数据类型的映射) ,还提供数据查询和获取数据的方法,可以大幅度减少10开发时人工使用 SQL 和 JDBC 处理数据的时间。它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用 Hibernate。三 Hibernate 的应用Hibernate 对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibe
35、rnate 可以应用在任何使用JDBC 的场合,它既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的Web 应用中使用。最具革命意义的是, Hibernate 可以在应用 EJB(Enterprise JavaBeans 是 Java 应用于企业计算的框架)的 J2EE 架构中取代 CMP,完成数据持久化的重任。四 Hibernate API 简介1 Hibernate API 中的接口可以分为以下几类:(1) 提供访问数据库的操作的接口,包括 session、Transaction、Query 接口;(2) 用于配置 Hibernate 的接口,Configurati
36、on;(3) 间接接口,使应用程序接受 Hibernate 内部发生的事件,并作出相关的回应,包括:Interceptor、Lifecycle 、Validatable;(4) 用于扩展 Hibernate 功能的接口,如UserType、CompositeUserType、IdentifierGenerator 接口。Hibernate 内部还封装了 JDBC、JTA(Java Transaction API)和 JNDI(Java Naming And Directory Interface) 。其中,JDBC 提供底层的数据访问操作,只要用户提供了相应的 JDBC 驱动程序,Hibern
37、ate 可以访问任何一个数据库系统。JTA 和 JNDI 使 Hibernate 能够和 J2EE 应用服务器集成。2 Hibernate 的核心接口框图五 Hibernate 的优缺点11(1)优点:a. Hibernate 使用 Java 反射机制 而不是字节码增强程序来实现透明性。b. Hibernate 的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。c. 它支持各种关系数据库,从一对一到多对多的各种复杂关系。(2)缺点:Hibernate 限制您所使用的对象模型。例如,一个持久性类不能映射到多个表。 11123 系统分析3.1 系统可行性分析可行性研究的目的是用最小的代价,在
38、尽可能短的时间内确定问题是否能够得到解决,以是否值得解决。在项目开发之前进行可行性论证是非常必要的。一个项目如果未经过充分的可行性证明,只粗略地估计解决问题的花费和方法,就盲目上阵开始软件开发工作,结果往往是不能在预定的系统规模或者时间限制解决问题,甚至无法求解,最后造成花费在该项目上时间、人力、物力资源和经费的浪费。3.1.1 经济可行性分析主要是对预估费用和对项目的经济效益进行评价。在费用支出方面,需要考虑到主机费用。而开发费用,主要考虑人工成本,系统采用的开发环境及工具价格低廉,开发语言使用 JSP。而系统需要的运行软件工具主要为:Tomcat 服务器、Microsoft SQL Ser
39、ver 2000.大大降低成本3.1.2 技术可行性分析本系统采用当今流行的 JSP 作为系统的开发语言,开源且免费,能提供完善的指令控制语句、类与对象的支持及丰富的数据类型,为开发高性能、稳定的系统提供保证,同时代码模块化高,方便系统以后的修改与维护。同时采用Struts 框架,使系统结构清晰,同时也加快了开发的速度,提高系统的可拓展性。Tomcat 作为系统的服务器,其支持 jsp 语言,同时免费、开源、跨平台、部署简易,是现代通用、性能强大的服务器。3.1.3 社会可行性分析社会可行性分析是开发项目的运行方式在用户组织内是否行的通。由于系13统使用 B/S 模式,而且系统分系统管理员与普
40、通用户两类,便于管理。再者系统的界面友好,功能人性化,减少酒店对员工的系统操作培训费用3.2 需求分析通过对本地城市中多间酒店的调查,以及对当前较为流行的 C/S 和 B/S 的酒店客房管理系统的研究,得到当今社会上酒店客房管理系统希望有以下的业务功能:1.运行环境要求(包括硬件与软件)不能过高,能保证系统稳定运行为前提2.系统的界面友好,操作人员使用系统能得心应手3.入住酒店的客人登记资料要详尽4.提供营业报表的查询功能5 添加全国城市的身份证对照表,方便核对6 酒店的物件的库存管理3.2.1 系统功能需求酒店客房管理系统分为六个模块。当中包括:前台管理、预定管理、库存管理、用户管理( 仅限
41、管理员)、资料管理和报表。系统核心模块为前台管理,其功能预览如下:1、 开房管理(客户信息登记)2、 退房管理3、 房间状态4、 房间操作管理5、 商品消费管理6、 会员管理系统应该达到以下要求: 1、可用性。目标系统功能齐全,能够完全满足业务需求。2、可靠性。能连续准确的处理业务,有较强的容错能力。3、可理解性。用户容易理解和使用该系统。144、安全保密性。保证系统的物理安全、数据存储做好使用人员的授权管理。5、时间经济性。优化逻辑设计与物理设计,使系统运行效率高。6、可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。3.2.2 系统数据流图1 管理员成功
42、登录后,进行相应操作,产生的数据流,如图 3-1 所示管理员 登陆 验证系统管理页面管理员信息前台管理预订管理资料管理用户管理库存管理报表退出系统图 3-1 酒店客房管理系统数据流图3.2.3 用例图用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。 12如图 3-2:15普通用户管理员用户管理资料管理预订管理前台管理库存管理报表图 3-2 用例图3.3 数据库设计3.3.1 数据库的选择Microsoft SQL Server 2000 能提供超大型系统所需的数据库服
43、务。大型服务器可能有成千上万的用户同时连接到 SQL Server 2000 实例。SQL Server 2000 为这些环境提供了全面的保护,具有防止问题发生的安全措施,例如,可以防止多个用户试图同时更新相同的数据。SQL Server 2000 还在多个用户之间有效地分配可用资源,比如内存、网络带宽和磁盘 I/O。 超大型 Internet 站点可将其数据分开存放在多台服务器上,从而使处理负荷分散到多台计算机上,使站点能为成千上万的并发用户提供服务。 可以在一台计算机上运行多个 SQL Server 2000 实例。例如,一个为其它许多组织提供数据库服务的组织可为每个客户组织单独运行一个
44、SQL Server 2000 实例,而全部实例可集中在一台计算机上。这样,既隔开了每个客户组织的数据,同时又使服务组织只需管理一台服务器计算机从而减少了费用。 SQL Server 2000 应用程序可在装有 SQL Server 2000 的计算机上运行。该应用程序通过 Windows 进程间通讯 (IPC) 组件(例如共享内存)而非通过网16络连接到 SQL Server 2000。这使 SQL Server 2000 得以应用于应用程序必须在本地存储数据的小型系统中。 大型 Web 站点和企业级数据处理系统通常会生成大量的数据库处理,超出了一台计算机的支持能力。在这些大型系统中,数据库
45、服务由组成数据库服务层的一组数据库服务器提供。SQL Server 2000 不支持采用平衡负荷的聚集形式建立数据库服务层,但支持跨自主服务器组分存数据的机制。尽管每个服务器需分开管理,但组内的各个服务器可共同分担数据库处理负荷。共享同一工作负荷的一组自主服务器称为服务器联合体。 133.3.2 系统 ER 图用 户用 户 I D 账 户 名 密 码 类 别登 陆 记 录记 录 号 用 户 名 密 码 登 陆 时 间记 录 登 陆 历 史n1图 3-3 实体联系图 117房 间房 号 房 间 类 型 房 间 价 格 房 间 状 态 备 注房 间 账 单账 单 号 消 费 号 付 款客 人 入
46、住 单消 费 号 客 人 姓 名 性 别 入 住 类 型 预 付 款身 份 证 号 电 话地 址 入 住 时 间 离 开 时 间 当 前 状 态账 单 登 记11选 择 房 间11入 住 房 间入 住 I D 消 费 号 入 住 房 间 号入 住 房 间 登 记11图 3-4 实体联系图 2会 员会 员 I D 姓 名 电 话 身 份 证 号 码图 3-5 实体联系图 3身 份 证 资 料 库库 编 号 地 区 代 码 地 方 名图 3-6 实体联系图 418商 品商 品 号名 称 类 型 数 量 价 钱商 品 消 费 单商 品 名 称 价 钱 数 量 消 费 时 间I D房 间 号 账 单
47、号消 费 人消 费 商 品n1图 3-7 实体联系图 53.3.3 数据库的设计1、依据项目的处理需求,对应数据表的设计及功能如下:结账表(TB_ACCOUNT):用于保存客人结账信息客人入住信息登记表(TB_CUSTOMER ):用于保存客人入住信息登记信息商品表(TB_GOOD):用于保存酒店商品信息房间表(TB_HOUSE):用于保存酒店房间信息房间入住表(TB_HOUSECUSTOMER):用于保存房间入住信息会员表(TB_HUIYUAN):用于保存会员信息登陆记录表(TB_LOGINRECORD):用于保存登陆记录信息商品消费表(TB_PAYFORGOODS):用于保存商品消费表信息
48、身份证代码表(TB_PCAREA ):用于保存全国身份证代码信息19用户表(TB_USER ):用于保存系统用户信息其中,房间表和身份证代码表属于后台设置部分,需要首先导入设置。其余的数据库表都属于前台功能表。通过实现功能可以对表的内容进行增、删、查、改等等。2、数据表前台的功能性表,如 3-1 表表 3-1 数据表 1表名 数据项名 数据类型 长度TB_ACCOUNT ACCOUNTID varcher 20CUSTOMERID varcher 20PAYFORHOUSE float 8TB_CUSTOMER CUSTOMERID varcher 20CUSTOMERNAME varcher
49、 20SEX varcher 4INHOMETYPE varcher 10BUDGETMONEY float 8PERSONNALCARD varcher 18TELEPHONE varcher 11ADDRESS varcher 100INTIME datetime 8OUTTIME datetime 8CURRENTSTATE varcher 5TB_GOOD GOODSID varcher 100GOODSNAME varcher 100TYPE varcher 10QULANTITY int 4PRICE float 8TB_HOUSECUSTOMER CUSHOUSEID int 4CUSTOMERID varcher 20INHOUSEID varcher 10TB_HUIYUAN HUIYUANID varcher 20ID varcher 20USERNAME varcher 20TELEPHONE varcher 1120PERSONALCARD varcher 18TB_LOGINRECORD ID int 4USERNAME varcher 50PASSWORD varcher 50LOGINTIME datetime 8TB_PAYFORGOOD