基于java的酒店管理软件的开发_第1页
基于java的酒店管理软件的开发_第2页
基于java的酒店管理软件的开发_第3页
基于java的酒店管理软件的开发_第4页
基于java的酒店管理软件的开发_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

基于JAVA的酒店管理软件的开发THEDEVELOPMENTOFHOTELMANAGEMENTSOFTWAREBASEDONJAVA学部信息专业计算机科学与技术指导教师李利职称讲师毕业设计(论文)完成时间自2012年12月至2013年5月摘要在信息高度发达的今天,酒店宾馆业务涉及的各个工作环节已不再仅仅是传统的住宿、结算业务,酒店宾馆管理成为更广、更全面的服务性行业代表。酒店宾馆作为一个服务性行业,从入住登记直到最后退房结账,整个过程应该能够体现以宾客为中心,提供快捷方便服务,给宾客感受一种顾客至上的享受,提高管理水平,简化各种复杂操作,在最短时间内完成酒店业务规范操作,这样才能令旅客舒适难忘。因此,采用全新的计算机管理系统,将成为提高酒店的管理效率,改善服务水准的手段之一。系统从满足客户的需求角度出发,实现了酒店管理的基本流程。本系统要求操作简单,图形化,能完成正常的酒店客房管理的需求。基于JAVA的APPLICATION模式,采用JAVA的图形化开发工具JCREATOR和ACCESS2010数据库进行开发,实现了前台管理,客房管理与系统设置功能,其中前台管理由住宿登记、追加押金与退房结账等模块构成,帮助操作员进行住宿登记,通过追加押金使房客继续入住或直接退房结账;客房管理由客房查询与房态查看模块构成,帮助管理人员全面了解入住信息和客房状态,及时对客房清理或维修;系统设置由操作员管理、权限设置等模块构成,使操作员实时地对操作人员的权限进行有效地管理,对客房的设施进行维护和更新。关键词酒店管理;JAVA;JCREATOR;ACCESS2010ABSTRACTINHIGHLYDEVELOPEDINFORMATIONTODAY,THEHOTELBUSINESSINVOLVEDINEVERYASPECTOFOURWORKISNOLONGERMERELYTRADITIONALACCOMMODATIONANDSETTLEMENTBUSINESS,HOTELMANAGEMENTHASBECOMEBROADER,MORECOMPREHENSIVESERVICEINDUSTRYREPRESENTATIVESTHEREFORE,THEUSEOFCOMPUTERMANAGEMENTSYSTEMINNEWWILLBEIMPROVEEFFICIENCYANDSERVICE,FROMTHEANGLEOFSYSTEMTOMEETWHATCUSTOMERNEEDS,ITACHIEVETHEBASICPROCESSOFHOTELMANAGEMENTGRAPHICALREQUIREMENTSOFTHISSYSTEMISSIMPLEANDOPERATION,ITCANCOMPLETETHEHOTELGUESTROOMMANAGEMENTONNORMALDEMANDITBASEDONJAVAAPPLICATIONPATTERN,ITSDEVELOPEDUSINGJAVAGRAPHICALDEVELOPMENTTOOLJCREATORANDACCESS2010DATABASE,THISSYSTEMBRINGTHEFRONTDESKMANAGEMENT,ROOMMANAGEMENTANDSYSTEMSETTINGSOUT,AMONGTHEMTHEMANAGEMENTBYTHEACCOMMODATIONREGISTRATION,ADDITIONALDEPOSITANDCHECKOUTANDOTHERMODULESTOHELPTHEOPERATORFORACCOMMODATIONREGISTRATION,PASSTHEADDITIONALDEPOSITTOTHETENANTTOSTAYORRETURNAHOUSECLOSINGROOMMANAGEMENTBYROOMINFORMATIONANDREALSTATECHECKMODULE,HELPMANAGERSUNDERSTANDOCCUPANCYINFORMATIONANDROOMSTATUS,TIMELYTOTHEROOMCLEANINGORREPAIRSYSTEMSETBYTHEOPERATORMANAGEMENT,PERMISSIONSSETTINGSMODULE,THEOPERATORCANINREALTIMEANDEFFECTIVELYMANAGEOPERATORSPERMISSIONS,MAINTENANCEANDUPDATEOFTHEROOMFACILITIESKEYWORDHOTELMANAGEMENTJAVAJCREATORACCESS2010目录引言11需求分析111设计背景112设计意义213设计方法22关键技术221JAVA语言3211JDBC技术介绍及应用322JDK工具523JCREATOR集成开发环境624SQL数据库625ACCESS数据库73需求分析831编写目标832可行性分析8321技术上可行性8322操作上可行性8323经济上可行性933系统流程934需求功能94总体设计1041功能分析1042数据库设计105详细设计1351系统登陆模块1352前台管理模块15521住宿登记15522追加押金18523退房结账1953客房管理模块22531客房查询22532房态查看2454查询统计模块26541住宿查询26542宿费提醒2855挂账管理模块29551挂账查询30552客人销账3156系统设置模块32561权限设置32562操作员管理356系统测试3761测试目的3762测试项3763功能测试3764测试总结45总结45参考文献46致谢47引言现代化的酒店组织庞大、服务项目多、信息量大,要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。酒店管理系统正是为此而设计的。优秀的酒店客房管理系统操作方便,灵活性好,系统安全性高,运行稳定。提供快捷方便服务,给宾客感受一种顾客至上的享受,提高管理水平,简化各种复杂操作,在最短时间内完成酒店业务规范操作,这样才能令旅客舒适难忘。然而占着绝大多数的中小型酒店、宾馆由于资金、人员等多方面原因不易使用酒店管理类软件,全凭原始的手工记录管理,效率低、易出错;同时,市场上出现的各类酒店管理软件基本上都是为大型酒店专业设计的,有很多功能对于一般酒店、宾馆根本用不上。结合酒店前台管理的需要进行扩展性而开发的一套酒店管理系统。本酒店管理系统正是为此而设计的,本系统是一套适用于中小型星级宾馆使用的优秀系统。第一章需求分析11设计背景随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。各类行业在日常经营管理各个方面也在悄悄地走向规范化和信息化。酒店管理的信息化程度体现在将计算机及信息技术应用于经营与管理,以现代化工具代替传统手工作业。无疑,使用信息化管理使客房管理更先进、更高效、更科学,信息交流更迅速。酒店管理系统是酒店经营管理中不可缺少的部分,它的内容对于经营的决策者和管理者来说都至关重要,所以酒店管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多弊端,如效率低、保密性差,容易出现差错等,且对于查询空房间及已定房间等极为不方便。酒店管理是将酒店管理与计算机技术紧密结合起来,对酒店的日常事务进行现代化的科学管理,以此来提高酒店形象、档次和服务水准。这不仅使工作人员的劳动强度降低,工作效率增加,而且能快速地调度酒店各部门的工作,实时动态地掌握酒店的经营状况,从而为企业带来良好的经济效益和社会效益。在国内,近年来,随着我国改革开放的发展,国内的酒店服务业得到了日新月异的发展。现代酒店作为一体化的接待场所,相当于一个小型社会。对一个城市而言,酒店业也起到了举足轻重的作用。作为一种以服务为主的无烟工业,酒店在其运作期间,服务水平的高低,直接影响到酒店的形象和声誉,如服务安排、调度等。以客房管理为核心,为用户提供迅速、高效的服务,减免手工处理的繁琐与误差的酒店管理系统能提高酒店的服务质量,再配合现代化的酒店管理,能获得更好的经济效益。12设计意义面对庞大的信息量,酒店在正常运营中需要对客房资源、顾客信息、结算信息进行管理,为了轻松的处理酒店庞大的信息量,减少在管理上面的物力和人力,提高酒店的工作效率和经济效益,及时了解各个环节中信息的变更。开发一个酒店管理系统将会为酒店的管理带来极大的方便,并且降低酒店的管理成本。通过系统,可以做到信息的规范管理、统计和快速的查询,从而减少在管理方面的工作量。在某种意义上,酒店管理的信息化已成为现代化酒店的重要标志。13设计方法本系统利用信息技术提高酒店的管理水平、服务水平。酒店管理系统主要实现住宿登记、追加押金、退房结账、房态查看以及管理员权限管理等功能。将动态实时的住宿登记、追加押金等有机地联系在一起;对操作员权限分类管理,有助于即使有效的对客户进行服务,对客房进行全方位的管理,提高服务质量。使用本系统可以处理相对烦琐的客流量统计和资金的管理。操作人员可通过房态查看或客房查询来进行住宿登记,也可通过追加押金使房客继续入住或直接退房结账。操作员管理可实时地对操作人员的权限进行有效地管理和设置从而使酒店在管理上分工明确。本系统运用JAVA的图形化开发工具JCREATOR和ACCESS2010数据库原理等技术,以及采用JAVA的APPLICATION模式进行开发设计。第二章关键技术为了适用系统运行平台的变化性,本系统选择当今流行的JAVA语言作为系统的开发语言。JAVA语言具有跨平台的优势,相对于其他语言来说整个系统的可移植性非常高,对于平台的依赖关系非常小,只要可以安装JDK,系统就可以正常运行。本酒店管理系统确定的软件系统环境需要安装SUN公司发布的JDK15操作系统WIN7数据库软件ACCESS2010开发软件为JCREATOR硬件系统环境配置CPUP4或更高处理器内存256MB硬盘20G及以上显示器VGA或更高分辨率的显示器相应的输入输出设备21JAVA语言JAVA是SUN公司开发的一种面向对象的新一代网络编程语言,可在各种不同的机器、操作系统的网络环境中进行开发,具有解释型语言如BASIC语言和编译型语言如C语言的特性。用JAVA开发的程序可以在网络上传输,并运行于任何客户机上。其主要特点如下A、简单性。JAVA语言通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以编写出适合于各种情况的应用程序。B、面向对象。JAVA语言的设计集中于对象及其接口,提供简单的类机制以及动态的接口模型。C、可靠性。JAVA在编译和运行程序时,对可能出现的问题进行检查,以消除错误的产生。提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。通过集成的面向对象的例外处理机制,在编译时,JAVA提示出可能出现但未被处理的例外,帮助程序员正确地进行选择以防止系统的崩溃。D、安全性。用于网络、分布式环境下的JAVA必须要防止病毒的入侵。JAVA不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,防止程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。E、体系结构中立。JAVA解释器生成与体系结构无关的字节码指令,只要安装JAVA运行系统,JAVA程序就可在任意的处理器上运行。F、可移植性。与平台无关的特性使JAVA程序可以方便地被移植到网络上的不同机器。同时,JAVA的类库中也实现了与不同平台的接口,使这些类库可以移植。G、解释执行。JAVA解释器直接对JAVA字节码进行解释执行。211JDBC技术介绍及应用JDBC(JAVADATABASECONNECTIVITY,JAVA数据库连接)是一种用于执行SQL语句的JAVAAPI,可以为多种关系数据库提供统一访问,它由一组用JAVA语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JAVAAPI编写数据库应用程序。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBCAPI,就不必为访问SYBASE数据库专门写一个程序,为访问ORACLE数据库又专门写一个程序,或为访问INFORMIX数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。同时,将JAVA语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是JAVA语言“编写一次,处处运行”的优势。JAVA数据库连接体系结构是用于JAVA应用程序连接数据库的标准方法。JDBC对JAVA程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。JAVA具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是JAVA应用程序与各种不同数据库之间进行对话的方法。而JDBC正是作为此种用途的机制。JDBC扩展了JAVA的功能。例如,用JAVA和JDBCAPI可以发布含有APPLET的网页,而该APPLET使用的信息可能来自远程数据库。企业也可以用JDBC通过INTRANET将所有职员连到一个或多个内部数据库中。随着越来越多的程序员开始使用JAVA编程语言,对从JAVA中便捷地访问数据库的要求也在日益增加。简单地说,JDBC可做三件事与数据库建立连接、发送操作数据库的语句和处理结果。下列代码段给出了以上三步的基本示例CONNECTIONCONDRIVERMANAGERGETCONNECTION“JDBCODBCWOMBAT“,“LOGIN“,“PASSWORD“/建立链接STATEMENTSTMTCONCREATESTATEMENTRESULTSETRSSTMTEXECUTEQUERY“SELECTA,B,CFROMTABLE1“/发送数据WHILERSNEXTINTXRSGETINT“A“STRINGSRSGETSTRING“B“FLOATFRSGETFLOAT“C“由于数据库使用ACCESS,所以使用JAVA的JDBC技术将两个功能链接。用JDBC连接ACCESS数据库IMPORTJAVAIOIMPORTJAVASQLPUBLICCLASSJAVAACCESS/方式1直接连接ACCESS数据库/FINALSTRINGDBURL“JDBCODBCDRIVERMICROSOFTACCESSDRIVERMDBDBQTESTMDB“/方式2设定ODBC数据源DSNDATASOURCENAME,可以是系统数据源和用户数据源FINALSTRINGDBURL“JDBCODBCTEST“/制定要装载的数据库驱动器类型FINALSTRINGJDBCDRIVERNAME“SUNJDBCODBCJDBCODBCDRIVER“PUBLICJAVAACCESSTHROWSCLASSNOTFOUNDEXCEPTION,SQLEXCEPTION/装载数据库驱动程序CLASSFORNAMEJDBCDRIVERNAME/连接数据库STRINGNAME“STRINGPWD“CONNECTIONCONNECTIONDRIVERMANAGERGETCONNECTIONDBURL,NAME,PWD/创建用于执行SQL语句的STATEMENTSTATEMENTSTMCONNECTIONCREATESTATEMENT/准备SQL语句STRINGSQL“SELECTFROMBOOK“22JDK工具JDKJAVADEVELOPMENTKIT是SUNMICROSYSTEMS针对JAVA开发员的产品。自从JAVA推出以来,JDK已经成为使用最广泛的JAVASDK。JDK是整个JAVA的核心,包括了JAVA运行环境,JAVA工具和JAVA基础的类库。JDKJAVADEVELOPMENTKIT是JAVA开发工具包的缩写,是一种用于构建在JAVA平台上发布的应用程序、APPLET和组件的开发环境,它是一切JAVA应用程序的基础,所有的JAVA应用程序是构建在这之上的。JDK由一个标准类库和一组建立、测试及建立文档的JAVA实用程序组成。其核心JAVAAPI是一些预定义的类库,开发人员需要用这些类来访问JAVA语言的功能。JAVAAPI包括一些重要的语言结构以及基本图形,网络和文件I/O。JAVAAPI的非I/O部分对于运行JAVA的所有平台是相同的,而I/O部分则仅在通用JAVA环境中实现。其中包括了JAVA编译器、JVM、大量的JAVA工具以及JAVA基础API里面是JAVA类库和JAVA的语言规范,同时JAVA语言的任何改进都应当加到其中,作为后续版本发布。23JCREATOR集成开发环境JCREATOR是一个用于JAVA程序设计的集成开发环境,具有编辑、调试、运行JAVA程序的功能。同时也具有语法着色、代码自动完成、代码参数提示、工程向导、类向导等功能。第一次启动时提示设置JAVAJDK主目录及JDKJAVADOC目录,软件自动设置好类路径、编译器及解释器路径,还可以在帮助菜单中使用JDKHELP。但目前版本对中文支持性不好。特点1可无限撤销、代码缩进、自动类库方法提示、按所选智能定位查阅JAVAAPI文档等功能。2新版采用仿VS2005界面设计,体验感觉更快更好更易用。3支持JSP、ANT、CVS。4小巧、易用、美观,是JAVA初级程序员的理想IDE。24SQL数据库SQL数据库的体系结构基本上也是三级模式。SQL术语与传统的关系模型术语不同。在SQL中,外模式对应于视图,模式对应于基本表,元组称为“行”,属性称为“列”。内模式对应于存储文件。SQL数据库的体系结构特点A、一个SQL模式SCHEMA是表和约束的集合。B、一个表TABLE是行ROW的集合,每行是列COLUMN的序列,每列对应一个数据项。C、张表可以是一个基本表,也可以是一个视图,基本表是实际存储在数据库中的表。视图是从基本表或其他视图中导出的表,本身不独立存储在数据库中,也就是说数据库中只存放视图的定义而不存放视图的数据,视图是一个虚表。D、一个基本表可跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表,一个表可以带若干索引,索引也存放在存储文件中。每个存储文件与外部存储器上一个物理文件对应。存储文件的逻辑结构组成了关系数据库的内模式。用户可以用SQL语句对视图和基本表进行查询等操作。在用户看来,视图和基本表是一样的,都是关系即表格。SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用;SQL语言也能作为独立的用户接口,供交互环境下的终端用户使用。25ACCESS数据库ACCESS可运行于各种MICROSOFTWINDOWS系统环境中,由于继承了WINDOWS的特性,不仅易于使用,而且界面友好,如今在世界各地广泛流行。ACCESS能够存取ACCESS/JET、MICROSOFTSQLSERVER、ORACLE,或者任何ODBC兼容数据库内的资料。它并不需要数据库管理者具有专业的程序设计水平,任何非专业的用户都可以用它来创建功能强大的数据库管理系统。而且它符合关系数据模型,需要完整性约束。还有它不需要配置数据源,可移植性好,给用户带来了极大的方便。JET引擎的全称是MICROSOFTJETXX,目前最高版本为40。称之为引擎是因为在ACCESS这种多线程关系型数据库文件中,存储数据表、对数据表进行索引和查询都是由JET全程管理完成的,通过查询引擎还可以运行所有的查询。JET引擎的作用不仅局限于此,它对UNICODE(统一字符编码标准)的完全支持,可以使得在跨语言平台转换数据库时保持高保真;JET40的数据类型与SQLSERVER有更好的集成性能,将ACCESS升迁到SQLSERVER也愈加方便。当JET引擎打开一个数据库时产生一个特殊的临时文件,称为锁定信息文件。它和其服务的数据库具有相同的名称,但它的后缀名是LDB,该信息文件总共含有255个条目,每个条目包含计算机名、用户的安全帐号名(如GUEST、ADMIN)等。JET引擎正是通过跟踪这个文件来跟踪数据锁。JET引擎可以通过数据锁来有效的控制多用户对相同记录的修改。JET引擎的锁定行为是由数据库的打开模式(共享、独占、只读),默认的锁方案(不锁定、锁定所有记录、锁定修改的记录)和锁的应用级别(页级锁、记录级锁)共同决定的。为了支持多用户模式,必须以共享的方式打开数据库。以只读的方式打开数据库时,当前的操作者不能对数据库进行任何的修改,此时,JET对数据库进行全部锁定;以独占的方式打开数据库,JET引擎不进行任何锁定,除了当前操作者之外的任何用户都无权打开该数据库。当然,如果对数据库进行压缩、修复、加密、解密时必须以独占的方式打开,独占的方式最大的优点就是对数据库操作的执行效率特别高,因为,其间JET引擎不会再进行频繁的检测锁、添加锁、解除锁等操作。可以有两种方法以共享的方式打开一个数据库。第三章需求分析31编写目标主要目的方便快捷的对于酒店客房进行管理。目标用JAVA进行编程连接数据库,输出一个可执行客房管理系统。通过对用户业务问题的分析,规划出系统的功能。这个步骤是对理解需求的升华,直接关系到该系统的质量。面对酒店发展过程中日益出现的问题及各种情况,在实施酒店客房管理系统之后,应解决以下问题信息化管理,可随时掌握客房、住宿、操作员等信息;系统内部控制严密,数据存储安全可靠;系统工程界面友好美观,操作简易,查询多样且方便,提高工作效率。32可行性分析可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。系统的可行性分析主要包括经济上的可行性,技术上的可行性和操作上的可行性,下面将分别介绍三种技术上的可行性321技术上可行性酒店客房管理系统是采用JAVA语言编写的,具有JAVA的“一次编写,到处运行”的优点,所以此系统在不同的操作系统上都可以运行,具有很强的移植性、健全性和安全性。并且酒店管理系统要求要求应具备功能完备、易于使用、易于维护等特点,而对于后者则要求能建立数据一致性和完整性强、数据安全性好的库。基于以上的要求,本系统采用JCREATOR作为开发工具,使得代码编写的过程大大的简化。而数据库则是采用目前较为实用和简单的ACCESS2010在JAVA中可以使用JDBC技术进行程序与数据库之间的链接,技术成熟,所以此系统在技术上是可行的。322操作上可行性此酒店客房管理系统具备友好的用户界面,使用方便,易于维护,操作简单易于被用户接受,用户只需熟练操作计算机,和对此系统使用做简单的了解即可方便使用,而且使用此系统可以大大减少管理人员的负担。因此从使用操作方面看,此系统的开发是可行的。323经济上可行性本酒店管理系统运行的硬件环境只需一台廉价的电脑既可,软件环境则是安装WINDOWSXP系统,JCREATOR,ACCESS数据库既可。对于一般的中小型酒店来说都是很小的成本支出。因此此系统在经济上、技术上、操作上开发都是可行的。33系统流程系统流程如图31所示,房客来到酒店首先要进行住宿登记,同时管理员对房态进行查看如有空闲客房,房客就登记入住。当退房结账时,如果已经超出宿费,就要进行挂帐退房,或客人直接结账。当宿费使用完毕,如需要继续入住时,就要追加押金,重新登记。另外管理员可以随时进行房态查看,及时了解客房信息,对房客进行宿费提醒,更好的提高管理效率。图31系统流程图34需求功能本系统主要是开发一个酒店管理系统,主要功能有前台管理包括住宿登记、追加押金、退房结账客房管理包括客房查询、房态查看系统设置包括操作员管理、权限设置、等。本系统可应用于小型的酒店管理,如果想应用于大型酒店管理,需要进行数据库替换和功能模块扩展。本系统功能方面满足中小型酒店的客房管理程序需求。第四章总体设计41功能分析系统主要功能模块如图41所示,本系统利用信息技术提高酒店管理的水平,并希望通过本系统的开发使用使得酒店能对房客住宿及客房状况等一系列业务进行系统地管理。系统由5个部分,共11个完整的模块构成。其中具体部分是前台管理、客房管理、查询统计。挂账管理和系统设置。具体子模块如下前台管理包括住宿登记、追加押金、退房结账客房管理包括客房查询、房态查看查询统计包括住宿查询、宿费提醒挂账管理包括挂账查询、客人销账系统设置包括权限设置、操作员管理图41系统结构图42数据库设计本酒店管理系统采用采用关系数据库模型,用ACCESS2010作为数据库管理系统(DBMS),对数据进行存储,在数据库应用系统的开发过程中,数据库的结构设计是一个非常重要的问题。数据库设计是指对数据库中各个表结构的设计,包括信息保存在哪个表格中,各个表的结构如何,字段属性如何,以及各个表之间的关系。数据库设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库设计会减少数据库的存储量,保证比较高数据完整性和一致性,同时提高系统的响应速度,简化基于此数据库的应用程序的实现等等。在本系统中存在三个数据对象包括房客、客房、管理员。并且这三者分别存在这样的属性。房客登记时包括(入住时间、姓名、性别、押金等基本信息);管理员包括(登陆名和密码、管理权限等);客房包括(房间类型、房间状态、房间号码、价格等)。通过这些对象的不同结构和属性,以及它们包含的各种信息,相互间作用形成数据流,可以以此得到ER图如图42所示。图42系统ER图根据上面的关系和分析设定本系统数据库名为HOTELDATAMDB,包含以下3个表操作员表ADMIN、客房信息表ROOMINFO、房客信息表TENANT。操作员表ADMIN如表41所示。表41操作员表ADMIN字段名称字段名含义数据类型字段大小ADMIN(主键)用户名文本15PIN密码文本15LEGALPOWER管理权限文本15ENTER是否进入系统是/否1前台管理操作权限是/否1客房管理操作权限是/否1查询统计操作权限是/否1挂帐管理操作权限是/否1权限设置操作权限是/否1应用于系统设置模块,对管理员的信息进行查看,对权限进行修改或者增加等操作。该表中主键是ADMIN字段,其余字段如前台管理、客房管理、查询统计及权限设置等均表示管理员是否有权限操作相关模块。客房信息表ROOMINFO如表42所示。表42客房信息表ROOMINFO字段名称数据类型字段大小房间号(主键)文本50房间类型文本10价格数字双精度房态文本10使用设施文本50备注备注备注用于对客房的信息进行查看和管理,比如说了解房间是否有人入住,是否在修理过程等。该表的主键为房间号字段,值为非空。房客信息表TENANT如表43所示。表43房客信息表TENANT字段名称数据类型字段大小编号(主键)文本50房客姓名文本20性别文本6证件类型文本10证件号码文本50籍贯文本50联系方式文本50房间号文本50房间类型文本10入住日期文本50退房日期文本50是否挂帐是/否1宿费及押金数字双精度型折扣率数字单精度型住宿备注备注备注操作员文本50用于对房客的信息查看和管理,比如说房客的宿费状况,有多少房客入住,入住的是什么档次的房间等等。该表的主键为编号字段。第五章详细设计详细设计阶段就是把解决方法具体化,设计出详细规格说明,包含必要的细节,程序员可以根据它们写出实际的程序代码,详细设计也称模块设计,在这个阶段将详细地设计每个模块具体的实现功能。51系统登陆模块相关类图如图51如下ADMIN属性PRIVATEJPANELP0,P1,P2,P3,P4PRIVATEBOOLEANTF,STATE,ONLINEPRIVATEBOOLEANFLAGPRIVATEIMAGEIMGPRIVATEJCOMBOBOXADMPRIVATEJPASSWORDFIELDPSWPRIVATEJBUTTONOK,CANCELPRIVATEICONICON1,ICON2PRIVATEJLABELGLY,MMPRIVATECONNECTIONCONNPRIVATESTATEMENTSTMTPRIVATETOOLKITTOOLPRIVATEDIMENSIONDIMPRIVATESTRINGDRIVERNAME“SUNJDBCODBCJDBCODBCDRIVER“PRIVATESTRINGDATABASEURL“JDBCODBCDRIVERMICROSOFTACCESSDRIVERMDBDBQ/DATA/HOTELDATAMDB“PRIVATESTRINGUSER“JDM“PRIVATESTRINGPWD“JDM536“PRIVATESTRINGOPERATOR,PASSWORD,LEGALPOWERPRIVATERESULTSETRSPRIVATEDIALOGFRAMESHOWDIALOGPRIVATEDROPSHADOWTHETITLELABEL操作PUBLICADMINPUBLICVOIDRESETPUBLICVOIDPASS图51ADMIN类图A、实现目标操作员进入系统前,必须通过系统登录进入主程序界面,系统登录界面如图52系统登陆视图所示,主要实现以下功能确认用户的身份及使用权限对系统信息起到保密作用图52系统登陆视图B、核心代码/其余代码段略STRINGASTRINGADMGETSELECTEDITEMTRIM/选中下拉列表框中的名字STRINGPNEWSTRINGPSWGETPASSWORD/选中用户输入的密码RSSTMTEXECUTEQUERY“SELECTFROMADMINWHEREADMIN“A“ANDPIN“P“/校验用户名和密码PRIVATESTRINGDRIVERNAME“SUNJDBCODBCJDBCODBCDRIVER“PRIVATESTRINGDATABASEURL“JDBCODBCDRIVERMICROSOFTACCESSDRIVERMDBDBQ/DATA/HOTELDATAMDB“/利用JDBC调用ACCESS数据库PRIVATESTRINGUSER“JDM“/调用数据库中的用户名PRIVATESTRINGPWD“JDM536“/调用数据库中的密码52前台管理模块前台管理模块分为住宿登记、追加押金、退房结账。521住宿登记相关类图53如下图53ACCOMMODATION类图A、实现目标用户单击主菜单前台管理下的住宿登记子菜单,进入住宿登记子菜单界面,如图54入住登记视图所示,住宿登记子菜单主要实现如下功能显示入住房客基本信息显示住宿房间基本信息对房客及入住房间信息进行住宿登记ACCOMMODATION属性PRIVATEMONITORMONITORPRIVATESTRINGOPERATORPRIVATETOOLKITTOOLPRIVATEDIMENSIONDIMPRIVATESTRINGPATHPRIVATESTRINGDRIVERNAME“SUNJDBCODBCJDBCODBCDRIVER“PRIVATESTRINGDATABASEURLPRIVATESTRINGUSER“JDM“PRIVATESTRINGPWD“JDM536“PRIVATECONNECTIONCONNPRIVATESTATEMENTSTATPRIVATERESULTSETRSPRIVATEBOOLEANLIVINGFLAG,ADDINGFLAG,ROOMFLAG,CONTROLFLAG,ISROOMEMPTYPRIVATEDOUBLEPRICEPRIVATEINTN,DAYS操作PUBLICACCOMMODATIONSTRINGOP,MONITORMPUBLICVOIDACTIONPERFORMEDACTIONEVENTEPUBLICVOIDITEMSTATECHANGEDITEMEVENTEPUBLICVOIDACTIONPERFORMEDACTIONEVENTEPUBLICBOOLEANISNOTMATCHSTRINGINPUT,STRINGPATTERNPUBLICSTRINGGETBOOKINGCASHPUBLICVOIDRESETACCOMMODATIONPUBLICVOIDADDTENANTSPUBLICVOIDADDTENANTINTOTABLESTRINGTENANTPUBLICSTRINGGETAUTOIDSTRINGCURRENTDATEPUBLICVOIDINNERDIALOGFRAMESTRINGSTR,INTOPTIONPUBLICBOOLEANGETFLAG图54入住登记视图B、核心代码PUBLICVOIDADDTENANTINTOTABLESTRINGTENANTSTATEXECUTE“INSERTINTOTENANTVALUES“TENANT0“,“TENANT1“,“TENANT2“,“TENANT3“,“TENANT4“,“TENANT5“,“TENANT6“,“TENANT7“,“TENANT8“,“TENANT9“,“TENANT10“,“TENANT11“,“TENANT12“,“TENANT13“,“TENANT14“,“TENANT15“/初始化房客登记信息STATEXECUTEUPDATE“UPDATEROOMINFOSET房态入住中WHERE房间号“TENANT7“/同时修改客房状态PROTECTEDSTRINGGETDATABASEPATHSTRINGDATABASESTRINGDATAPATH“JDBCODBCDRIVERMICROSOFTACCESSDRIVERMDBDBQ“PATH“/DATA/“DATABASERETURNDATAPATH/调用数据库522追加押金相关类图55如下SECURITYDEPOSIT属性PRIVATEMONITORMONITORPRIVATESTRINGOPERATORPRIVATETOOLKITTOOLPRIVATEDIMENSIONDIMPRIVATESTRINGPATHPRIVATESTRINGDRIVERNAME“SUNJDBCODBCJDBCODBCDRIVER“PRIVATESTRINGDATABASEURLPRIVATESTRINGUSER“JDM“PRIVATESTRINGPWD“JDM536“PRIVATECONNECTIONCONNPRIVATESTATEMENTSTATPRIVATERESULTSETRSPRIVATEBOOLEANLIVINGFLAG,ROOMFLAG,CONTROLFLAG,ISROOMEMPTY,INFOFLAGPRIVATEDOUBLEPRICE,PAYED,PAYINGPRIVATEINTN,DAYSPRIVATEFLOATARG操作PUBLICSECURITYDEPOSITSTRINGOP,MONITORMPUBLICVOIDITEMSTATECHANGEDITEMEVENTEPUBLICVOIDACTIONPERFORMEDACTIONEVENTEPUBLICVOIDADDINGCASHPUBLICSTRINGGETPAYINGCASHPUBLICVOIDQUERYROOMNUMBERSTRINGKINDPUBLICVOIDQUERYTENANTINFOSTRINGROOMNUMBERPUBLICBOOLEANISNOTMATCHSTRINGINPUT,STRINGPATTERNPUBLICVOIDINNERDIALOGFRAMESTRINGSTR,INTOPTIONPUBLICBOOLEANGETFLAGPUBLICVOIDSETCLEANED图55SECURITYDEPOSIT类图A、实现目标用户单击主菜单前台管理下的追加押金子菜单,进入追加押金子菜单界面,如下图56追加押金视图所示,追加押金子菜单主要实现如下功能显示入住房客基本信息显示房客已付费用等基本信息对房客及续住信息进行续住登记图56追加押金视图B、核心代码PUBLICVOIDADDINGCASHSTATEXECUTEUPDATE“UPDATETENANTSET退房日期“DATE“,宿费及押金“CASH“,操作员“OP“WHERE房间号“ROOMNUMBER“CONNCLOSE/对房客的信息进行重新登记523退房结账相关类图57如下CHECKOUTROOM属性PRIVATEMONITORMONITORPRIVATETOOLKITTOOLPRIVATEDIMENSIONDIMPRIVATESTRINGPATHPRIVATESTRINGDRIVERNAME“SUNJDBCODBCJDBCODBCDRIVER“PRIVATESTRINGDATABASEURLPRIVATESTRINGUSER“JDM“PRIVATESTRINGPWD“JDM536“PRIVATECONNECTIONCONNPRIVATESTATEMENTSTATPRIVATERESULTSETRSPRIVATEBOOLEANROOMFLAG,CONTROLFLAG,INFOFLAGPRIVATEDOUBLEPRICE,PAYING,PAYEDPRIVATEINTN,DAYSPRIVATEFLOATARG操作PUBLICCHECKOUTROOMMONITORMPUBLICVOIDITEMSTATECHANGEDITEMEVENTEPUBLICVOIDACTIONPERFORMEDACTIONEVENTEPUBLICVOIDCHECKOUTSTRINGROOMNUMBERPUBLICVOIDCHARGETOACCOUNTSTRINGROOMNUMBERPUBLICBOOLEANISCHECKINGOUTPUBLICVOIDQUERYROOMNUMBERSTRINGKINDPUBLICVOIDQUERYTENANTINFOSTRINGROOMNUMBERPUBLICSTRINGGETLIVINGDAYSSTRINGINDATEPUBLICDOUBLEGETPAYINGMONEYPUBLICDOUBLEGETBACKMONEYPUBLICVOIDSETCLEANEDPUBLICVOIDINNERDIALOGFRAMESTRINGSTR,INTOPTIONPUBLICBOOLEANGETFLAG图57CHECKOUTROOM类图A、实现目标用户单击主菜单前台管理下的退房结账子菜单,进入退房结账菜单界面,如图58退房结账视图所示,退房结账子菜单主要实现如下功能显示入住房客基本信息显示房客已付费用及应付费用等基本信息根据费用情况来决定是否进行挂帐退房操作还是退房结账操作图58退房结账视图B、核心代码PUBLICVOIDCHARGETOACCOUNTSTRINGROOMNUMBERSTATEXECUTEUPDATE“UPDATETENANTSET是否挂帐TRUEWHERE房间号“ROOMNUMBER“STATEXECUTEUPDATE“UPDATEROOMINFOSET房态空闲中WHERE房间号“ROOMNUMBER“/挂帐时,更新数据库PUBLICVOIDCHECKOUTSTRINGROOMNUMBERSTATEXECUTEUPDATE“DELETEFROMTENANTWHERE是否挂帐FALSEAND房间号“ROOMNUMBER“STATEXECUTEUPDATE“UPDATEROOMINFOSET房态空闲中WHERE房间号“ROOMNUMBER“/退房结账时,更新客房状态53客房管理模块客房管理模块分为客房查询、房态查看。531客房查询相关类图59如下SEARCHROOMINFO属性PRIVATEMONITORMONITORPRIVATETOOLKITTOOLPRIVATEDIMENSIONDIMPRIVATESTRINGPATHPRIVATESTRINGDRIVERNAME“SUNJDBCODBCJDBCODBCDRIVER“PRIVATESTRINGDATABASEURLPRIVATESTRINGUSER“JDM“PRIVATESTRINGPWD“JDM536“PRIVATECONNECTIONCONNPRIVATESTATEMENTSTATPRIVATERESULTSETRSPRIVATESCROLLINGRESULTSETTABLEMODELMODELPRIVATEJSCROLLPANESCROLLPANEPRIVATEINTMESSAGE,TEMPPRIVATEBOOLEANFLAG操作PUBLICSEARCHROOMINFOMONITORMPUBLICVOIDRESETSELECTITEMPUBLICVOIDQUERYROOMINFOINTOPTIONPUBLICVOIDSHOWDIALOGINFOSTRINGSPUBLICINTGETROOMCOUNTS图59SEARCHROOMINFO类图A、实现目标用户单击主菜单客房管理下的客房查询子菜单,进入客房查询子菜单界面,如图510客房查询视图所示,客房查询子菜单主要实现如下功能按房间号码进行客房查询按房间类型进行客房查询按房间状态方式进行客房查询按综合方式进行客房查询按全部客房进行查询图510客房查询视图B、核心代码PUBLICVOIDQUERYROOMINFOINTOPTIONSWITCHOPTIONCASE0RSSTATEXECUTEQUERY“SELECTFROMROOMINFOWHERE房间号“QUERYSTR“/按房间号来查看CASE1RSSTATEXECUTEQUERY“SELECTFROMROOMINFOWHERE房间类型“QUERYSTR“ORDERBY房间号“/按房间类型来查看CASE2RSSTATEXECUTEQUERY“SELECTFROMROOMINFOWHERE房态“QUERYSTR“ORDERBY房间号“/按房间状态来查看CASE3RSSTATEXECUTEQUERY“SELECTFROMROOMINFOWHERE房间类型“QUERYSTR1“AND房态“QUERYSTR2“ORDERBY房间号“/按房间类型和房间状态来组合查看CASE4RSSTATEXECUTEQUERY“SELECTFROMROOMINFOORDERBY房间号“/全部查询532房态查看相关类图511如下ROOMSTATUS属性PRIVATEMONITORMONITORPRIVATETOOL

温馨提示

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

评论

0/150

提交评论