酒店客房预定系统毕业设计论文.doc_第1页
酒店客房预定系统毕业设计论文.doc_第2页
酒店客房预定系统毕业设计论文.doc_第3页
酒店客房预定系统毕业设计论文.doc_第4页
酒店客房预定系统毕业设计论文.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

摘 要当今社会人员流动规模的不断扩大,宾馆数量的急剧增加,有关客房管理的各种信息量也在不断成倍增长。面对庞大的信息量,就需要有酒店客房订购管理系统来提高客房管理工作的效率。通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。本系统基于JSP来编写酒店客房预定系统,开发语言环境用My Eclipse。数据库用SQL SERVER2005来连接系统,即JSP + SQL SERVER2005模式完成整个设计工作。本系统全部基于Internet网络,以JSP语言对网站进行开发,注重用户与网站的交互性。因此在这样的背景下,针对当前Internet网络发展趋势来计酒店客房预定系统就成为了当今应用软件的首选体系结构。关键词:酒店客房预定系统;系统设计;信息管理AbstractAlong with the undertake transfer of personnel scales unceasing expansion, guesthouse quantitys sharp growth, related guest room managements each kind of information content also in unceasingly doubled and re-doubled grows. Facing the huge information content, needs to have the hotel guest room order management system management system to enhance the guest room supervisory work the efficiency. Through such system, we may achieve the information the standard management and the fast inquiry, thus reduced the management aspect work load.This system compiles the hotel guest room predetermined system with the JSP language, the database with the SQL SERVER2005 connected system, namely JSP + the SQL SERVER2005 pattern completes the entire project work. This system based on the Internet network, carries on the development completely by the JSP language to the website, pays great attention the user and the website interactive. Therefore under such background, counts the hotel guest room predetermined system in view of the current Internet network trend of development to become now application softwares first choice architecture. Key words: Hotel guest room; predetermined system; System design; Information management目 录第1章 概述11.1 选题背景11.2 设计思想11.3 课题意义1第2章 项目概述32.1 可行性研究3第3章 需求分析53.1 功能需求53.2 性能需求5第4章 相关技术介绍64.1 JSP技术简介64.2 JSP工作原理64.3 Eclipse 简介64.4 SQLSERVER 2005 数据库74.5 JDBC介绍84.6 系统数据库连接94. 7系统数据表124.8 B/S模式与C/S模式的比较分析14第5章 系统分析165.1 系统功能分析165.2 系统功能模块175.3 处理流程设计17第6章 系统设计206.1 前台模块设计206.2 后台模块设计25第7章 系统调试与测试307.1 程序调试307.2 程序的测试30结 论33参考文献34致 谢35 II第1章 概述1.1 选题背景随着人员流动规模的不断扩大,宾馆数量的急剧增加,有关客房管理的各种信息量也在不断成倍增长。面对庞大的信息量,就需要有酒店客房订购管理系统来提高客房管理工作的效率。通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。传统手工的客房信息管理,管理过程繁琐而复杂,执行效率低,并且易于出错。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了客房信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。酒店客房预定系统对宾馆加强客房信息管理有着极其重要的作用,就一所客房数量较大的宾馆来说,它的设计内容非常复杂而且繁多,比如拥有客房信息管理、客房类别信息管理、预定信息管理等功能,而且设计的模块也很多,比如信息统计模块,报表设计模块,模糊查询模块等等。1.2 设计思想本系统用JSP语言来编写酒店客房预定系统,数据库用SQL SERVER2005来连接系统,即JSP + SQL SERVER2005模式完成整个设计工作。本系统全部基于Internet网络,以JSP语言对网站进行开发,注重用户与网站的交互性。因此在这样的背景下,针对当前Internet网络发展趋势来计酒店客房预定系统就成为了当今应用软件的首选体系。1.3 课题意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。它已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了多如牛毛的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。今天,计算机已经成为我们学习和工作的得力助手;计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感信息更加安全,等等。归纳起来,好处大约有以下几点:1.可以在线预定酒店客房;2.只需一名录入员即可操作系统,节省大量人力;3.可以迅速查到所需信息。现在我国还有许多的酒店客房的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,采用传统的纸介质的管理模式,还主要依赖于人力手工的操作,并归档编号保存,事后如需查阅,则要人工从浩瀚的资料中查找,既费时费力又容易出错。在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。这就急需有一套全新的高效的管理系统,由计算机来代替手工完成酒店客房预定的管理。第2章 项目概述随着酒店的经营规模不断扩大,有关酒店客房预定各种信息也成倍增长。面对庞大的信息量,有必要开发酒店客房预定系统来提高管理工作的效率。今天我们使用计算机对酒店客房预定与订购信息进行管理,具有手工管理所无法比拟的优点。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,有效地提高进销存的工作效率。2.1 可行性研究该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。2.1.1 经济可行性开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。2.1.2 技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本网站用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。2.1.3运行可行性运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。本系统的开发,是典型的Mis开发,主要是对数据的处理,包括数据的收集,数据的变换,及数据的各种报表形式的输出。采用流行的JSP+SQLSERVER 2000体系,已无技术上的问题。2.1.4 时间可行性从时间上看,在两个月的时间里学习相关知识,并开发网站,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。2.1.5 法律可行性: 所有技术资料都为合法。 开发过程中不存在知识产权问题。 未抄袭任何网站,不存在侵犯版权问题。 开发过程中未涉及任何法律责任。综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。第3章 需求分析3.1 功能需求本系统需要实现前台和后台两个平台的管理。前台模块在用户登录后可以进行预订房间;后台需系统管理员进行客房管理、客房分类管理、客房预订管理、用户管理。3.2 性能需求服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。本机器的配置如下:处理器:Inter 酷睿i3或更高。内存:512MB硬件空间:160GB题目主要采用的技术数据库:Microsoft SQL Server 2005。编程语言:jsp,java。服务器:Tomcat6.0, jdk1.6开发环境:Windows7第4章 相关技术介绍4.1 JSP技术简介JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行1。在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站2。 4.2 JSP工作原理JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器Web服务器后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。4.3 Eclipse 简介目前,市场上计算机语言和开发工具有很多,但是 Eclipse 的以其稳定和与平台无关的特性,从众多编程工具中脱颖而出,成为很多 Java 程序员的首选。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的 Visual Age for Java 差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle 在内的许多 大公司也纷纷加入了该项目,并宣称 Eclipse 将来能成为可进行任何语言开发的 IDE 集大成者,使用者只需下载各种语言的插件即可3。4.4 SQLSERVER 2005 数据库SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2005是Microsoft公司于2005年推出的最新版本。 SQL Server 特点:1真正的客户机/服务器体系结构。 2图形化用户界面,使系统管理和数据库管理更加直观、简单。 3丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 4SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。 5具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2005的大型多处理器等多种平台使用。 6对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 7SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。4.5 JDBC介绍JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名4。 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口5。JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加6。 企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。下列代码段给出了以上三步的基本示例: Connection con = DriverManager.getConnection(jdbc:odbc:wombat,login, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Table1); while (rs.next() int x = rs.getInt(a); String s = rs.getString(b); float f = rs.getFloat(c); 上述代码对基于JDBC的数据库访问做了经典的总结。4.6 系统数据库连接JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。它由一组用Java语言编写的类和接口组成7。通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQL Server。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序7。JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。很多可视化的Java开发工具,如Visual Age For Java、Visual Caf、J+等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBC API 的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程8。数据库访问的三层结构如图5.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。图4-1 使用中间件的数据库访问三层结构用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。其模型如图4-2所示。图4-2 JDBC的三层模型因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(Java VirtualL Machine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象9。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet 对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。每个Statement对象只能产生一个ResultSet 对象10。数据库连接如图4-3所示:图4-3 数据库的连接处理数据库的连接处理具体实现如下:第一步,建立JDBCODBC桥sun.jdbc.odbc.JdbcOdbcDriver;第二步,桥建立不成功时的错误处理catch(ClassNotFoundException event)第三步,建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中Con=建立JDBCODBC桥Sql=SQL查询语句最后,执行查询Rs=返回结果SQL出错处理catch(SQLException e1)。4. 7系统数据表客人信息表主要包括客户ID、客户姓名、性别、证件号、联系电话,其中用户ID为主键。 表4-1客人信息表字段名数据类型空/非空约束条件其他说明clientIdintnot nullIDENTITY(1,1) PRIMARY KEY客户IDnamevarchar(20)not null客户姓名sexvarchar(2)not null性别identityCardvarchar(30)not null证件号phonevarchar(20)not null系电联话 登录信息表主要包用户编号、用户名、密码和权限,用户编号为主键。 表4-2登录信息表字段名数据类型空/非空约束条件其他说明employeeIdintnot nullIDENTITY(1,1) PRIMARY KEY用户编号userNamevarchar(20)not null用户名passwordvarchar(20)not null密码perintnot null权限房间类型表包括类型编号、类型名、房间价格、类型编号为主键。 表4-3房间类型表字段名数据类型空/非空约束条件其他说明typeIdintnot nullIDENTITY(1,1) PRIMARY KEY类型编号typeNamevarchar(20)not null类型名priceintnot null价格房间信息表包括房间ID、房间号、房间类型ID、房间状态、其中房间ID为主键。表4-4房间信息表字段名数据类型空/非空约束条件其他说明roomIdintnot nullIDENTITY(1,1) PRIMARY KEY房间IDroomNumintnot null房间号typeIdintnot nullforeign key REFERENCES tbtype(typeId)房间类型IDstatusvarhar(10)not null房间状态 客房住户登记信息表主要包括登记ID、房间号、客户ID、预定入住日期、退房日期、等信息。登记ID为主键。 表4-5客户住房登记信息表字段名数据类型空/非空约束条件其他说明checkIdintnot nullIDENTITY(1,1) PRIMARY KEY登记IDroomNumintnot nullforeign key REFERENCES tbroom(roomNum)房间号clientIdintnot nullforeign key REFERENCES tbclient(clentId)客户IDstartDatedatenot null预订入住日期lastDatedatenot null退房日期spevarchar(50)描述4.8 B/S模式与C/S模式的比较分析C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。 B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系11。 第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如NetscapeNavigator,微软公司的IE等。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的Web服务器。 第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。 第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQ请求,管理数据库。 B/S模式的优势比较明显。首先它简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。 最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。 鉴于B/S相对于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。各软件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。一些企业已经领先一步开始使用它,并且收到了一定的成效12。 B/S模式的新颖与流行,和在某些方面相对于C/S的巨大改进,使B/S成了MIS系统平台的首选。第5章 系统分析5.1 系统功能分析(1) 系统界面采用Web方式,界面应简洁明了,用户可方便浏览和查找客房信息。该系统的用户有两种类型:一是管理员,二是服务员,两者应具有不同的权限。(2) 系统需对用户登录进行管理。使用各功能模块时,系统应验证用户身份的有效性,否则要求用户登录。另外,允许用户对自己的密码进行修改。(3) 系统应提供客房的分类管理功能,可分类制订价格、是否配备空调等客房类型,对不同标准的客房进行有效管理。系统可实现对客房信息的添加、删除以及修改。 (4) 在进行订房管理时,系统可以根据客房当前的状态自动提示可用服务订房。(5) 系统在各功能模块的实现当中,提供多级分类检索和组合搜索。(6) 系统的客户端在Windows平台下运行,服务器端可在Windows平台或UNIX平台下运行。系统还需要有较好的安全性和可扩展性。5.2 系统功能模块系统功能模块展示了酒店客房预订系统的布局,使该系统的功能一目了然。酒店客房预订系统主要分为两个模块,分别为管理员模块和用户模块。管理员模块主要实现客房管理、客房类别管理、会员管理、信息查询的功能。而用户功能模块实现了客房搜索、客房预订、并且可以查看预订记录酒店客房预定系统客房预定客房搜索信息查询会员管理客房类别管理客房管理查看预定记录用户管理员剩余房间查询订房信息查询预定信息查询图5-1 功能模块图5.3 处理流程设计5.3.1 数据增加流程添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程图:开始自动生成编号输入数据是否合法写入数据库结束图5-2 数据增加流程图5.3.2 数据修改流程在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程图如图5-3所示。开始选择需要修改记录输入数据是否合法写入数据库结束图5-3 数据修改流程图5.3.3 数据删除流程当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图5-4所示。开始选择需要删除记录是否删除更新数据库图5-4 数据修改流程图第6章 系统设计6.1 前台模块设计6.1.1 首页用户可以通过此界面观看酒店信息图6-1 酒店预定系统的首页主界面主要链接和关键代码如下: href=Index.jsp首页 a href=ShowHotelInfo.action?star=用户注册 a href=ShowHotelInfo.action?star=用户中心 a href=ShowHotelInfo.action?star=客房搜索 发送room_info.action这个请求调用AdminRoomAction这个类中的selectAllRoom方法查出所有房间信息,返回结果并显示在ShowRoomInfo.jsp关联的界面上通过以下代码来判断用户是否登陆:% if(null = userId | userId.equals()6.1.2 用户注册用户可以通过此界面进行注册,用户可以输入用户名、密码、姓名、年龄、住址、邮件等一系列个人信息。图6-2 用户注册界面用户注册关键代码:public String insertUser() throws Exception HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); 实例化一个UserDAO类实例:IUserDAO userdao = new UserDAO()取到所有用户的信息:List list = userdao.findAllUser(); request.getSession().setAttribute(userList, list); 遍历每一个用户信息验证用户是否已存在:ListIterator it = list.listIterator(); while (it.hasNext(); UserVOuservo2=it.next(); if(usrVo.getUserId().equals(uservo2.getUserId() request.setAttribute(user_exist, 用户名已存在); request.getRequestDispatcher(UserRegister.jsp).forward(request, response); return ; 将该用户写入数据库:boolean isSuccess = userdao.insertUser(userVo); if (isSuccess) request.getSession().setAttribute(uid, userVo.getUserId(); return SUCCESS; else return INPUT; 6.1.3 用户登录用户登录成功后能够订房和退房。图6-3 用户登录界面登陆关键验证代码:public String login() throws Exception HttpServletRequest request = ServletActionContext.getRequest();取出用户输入的用户名和密码:String userId = request.getParameter(userId); String password = request.getParameter(password); UserDAO userdao = new UserDAO(); 验证用户输入的用户名和密码是否和数据库所存的用户名和密码一致:boolean isSuccess = userdao.login(userId, password); if (isSuccess) request.getSession().setAttribute(user, userId); return SUCCESS; else request.getSession().setAttribute(user, ); return INPUT; 6.1.4 客房搜索通过此功能能够查看房间信息,用户可以通过此界面进行三种方式搜索:分别为按客房名称搜索、按推荐指数搜索、按客房类别搜索。图6-4 客房搜素界面客房搜索实现过程如下:public List findAllRoom(String sql, PageBean pagebean) 定义一集合用来存放房间信息:ArrayList list = new ArrayList(); Connection conn = null; PreparedStatement pstm = null; ResultSet rs = null; 获取到数据库的连接:try pstm = conn.prepareStatement(sql); rs conn = DBConnection.getConnection(); for (int i = pagebean.getStartNum(); i = pagebean.getEndNum(); i+) rs.absolute(i); 新建一个RoomVO 对象用来存放一个房间的信息:RoomVO roomVo = new RoomVO();roomVo.setRoomId(rs.getString(room_Id); roomVo.setStatus(rs.getString(room_Status);roomVo.setRoomName(rs.getString(room_Name); roomVo.setAvailable(rs.getString(room_Available); roomVo.setPrice(rs.getFloat(room_Price);roomVo.setDiscountPrice(rs.getFloat(room_DiscoutPrice); roomVo.setHotelId(rs.getString(room_hotelId); 将房间对象加入到集合list中:list.add(roomVo); catch (Exception e) e.printStackTrace(); finally try catch (Exception e) e.printStackTrace(); retu

温馨提示

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

评论

0/150

提交评论