太原理工大学毕业设计(论文)用纸
间上。
2.增加财务安全,减少管理漏洞。
由于酒店客房管理系统和门锁软件用接口进行了连接,在实际使用中,不使用门锁软件,只使用酒店客房管理系统进行入住登记,收银,制卡,客房商品入账,前台商品入账,电话费自动入账,赔偿入账,退房,结账,客房和前台商品的进销存管理,会员卡管理,协议单位管理,预订房管理,远程账目管理等等。在酒店客房管理系统中,实行的是先进行收银入账,再进行房卡制作的工作流程,并且如果不进行收银入账,就不能进行房卡制作,所有在软件上的账目和操作记录都不能人工删除,这样的管理流程,做到了避免前台人员私自截留房费的可能,大大增加了老板的财务安全,减少了财务管理漏洞。在使用了酒店客房管理系统后,门锁软件的进入密码由老板保存,前台人员不再使用门锁软件。
1.2 课题研究现状
国外的酒店管理系统最早是于70年代初发展起来的,到了80年代,国外的酒店管理系统,如EECO(Electronic Engineering CO)、HIS(Hotel Information System)、CLS、Lodgistix等,整个模式已基本定型,技术较成熟,功能也较齐全。现在,国外酒店正向个性化方向发展,酒店按其经营方式可分为商务型酒店、长住型酒店、度假型酒店等等;按其经营形式可分为独立经营酒店、集团经营酒店等。而且产生了一大批国际级的连锁酒店,如希尔顿(Hilton Hotels Corp)、谢拉顿(Sheraton Corp)、假日(Holiday Corp)、凯悦(Hyatt Hotel Corp)等集团公司的连锁酒店。
国内的酒店计算机管理系统最早是在80年代初开始的,从事该方面工作的有清华大学自动化系的金国芬教授、西安交大和浙江省计算机技术研究所。到了80年代中后期,随着国外酒店计算机系统和先进管理技术的大规模引进,进一步促进了我国酒店管理技术的发展。国内酒店管理系统正是在充分吸收国外管理系统的精华,结合国内实际的情况下逐步发展成熟,到90年代初期形成了几个较成熟的软件系统,同时产生了许多专职从事酒店计算机管理系统的公司。其中比较有影响的有杭州西欧Foxhis饭店管理系统、北京中软好泰CSHIS管理系统、北京华仪饭店管理系统和广州万迅千里马饭店管理系统。
到了21世纪,随着计算机在饭店中的普及应用,以及计算机技术的不断发展,酒店计算机系统的发展到了一个新的时期,新的系统平台、新的软件功能、新的系统特点及发展方向不断涌现。
2
太原理工大学毕业设计(论文)用纸
2 系统的开发环境及技术简介
2.1 系统开发环境
2.1.1 MyEclipse
在开发本平台中所用到的开发工具就是知名的Java项目开发工具MyEclipse。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对Eclipse IDE的一种扩展,利用MyEclipse,我们可以进行数据库和J2EE项目的开发、发布,以及在应用程序服务器的整合中极大地提高系统的工作效率。MyEclipse是一个功能非常丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:J2EE模型,WEB开发工具,EJB开发工具,应用程序服务器的连接器,J2EE项目部署服务,数据库服务,MyEclipse整合帮助。
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。 2.1.2 数据库简介
数据库使用的是MySQL开源数据库。
MySQL的特性:使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 。支持AIX、FreeBSD、HP-UX、Mac OS、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 。为多种编程语言提供API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。支持多线程充分利用CPU资源。优化的SQL查询算法,有效地提高查询速度。既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。提供TCP/IP、ODBC和JDBC等多种数据库连接途径。提供用于管理、检查、优化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。
MySQL的应用:与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体成本。 2.1.3 Tomcat
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持
3
太原理工大学毕业设计(论文)用纸
负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
2.2 系统开发的思想和技术
2.2.1 Java简介
Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称,是一种简单的、面向对象的、分布式的、解释型的、健壮安全的、结构中立的、可移植的、性能优异、多线程的动态语言,很多软件就是用这个开发出来的。Java分为三个体系:JavaSE标准版,JavaEE企业版,JavaME微型版。
Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响,基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。在此基础上形成了Java平台和.NET平台两大派系,推动了整个IT业的发展。对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件以及咨询服务商出现。企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。
Java语言的特点:
语言简单:Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,并提供了自动的废料收集,使得程序员不必为内存管理而担忧;
面向对象:Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制;
分布式语言:它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段;
语言是可移植的:Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的;
语言是多线程的:在Java语言中,线程是一种特殊的对象Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码;
异常处理机制:为了使Java程式更稳定、更安全,Java引入了异常处理机制。能够
4
太原理工大学毕业设计(论文)用纸
在程序中产生异常情况的地方,执行相对应的处理,不至于因突发或意外的错误造成执行中断或是死机。
Java编程是面向对象的,使用它编程,可以帮助我们了解需求,定制功能更为强大的软件更好地为客户服务。并且拥有语言动态,语言可移植语言可拓展、通用性强和易于扩充等优势。
Java主要针对企业级用户,适合一些企业级的开发,可以开发优秀的企业级平台的的程序、高效灵活的文件操作程序、高效灵活的数据库操作程序。总之,Web应用、移动设备、嵌入式设备、Linux客户端管理工具等应用方面,Java有不可比拟的功能。 2.2.2 JSP技术与MVC模式以及系统的基本框架
本系统采用JSP技术,基于MVC模式开发,使用SSH框架(Struts2、Spring、Hibernate)来加快系统的开发速度。所谓的MVC模式是\的缩写,中文翻译为\模式-视图-控制器\。程序就是用Struts2和Hibernate这两个框架来实现模型层和控制器这两层,JSP实现视图这一层。一般来说程序就是在数据库和页面之间起桥梁作用的,JSP页面请求先到Action,再到DAO,再回到Action,回到JSP页面,Action主要处理来自页面的请求,DAO主要是和数据库的交互,Struts2主要用在Action,处理来自页面的请求,处理完请求后跳转回页面。Hibernate主要用在DAO,包括对数据库的增、删、改、查的操作,Spring控制程序的流程。 2.2.3 SSH框架
SSH框架是J2EE应用中Struts2+Spring+Hibernate三大免费开源框架的结合使用, 它可以看成工具,也是中间件。它是用来提高我们的开发效率,提高我们软件产品的可维护性、可扩展性乃至敏捷性的。它们里面有很多优秀的设计理念及模式应用。比如,Struts属于MVC框架,关键是要了解MVC的概念及大致原理;而Hibernate属于ORM系统,属于持久层的解决方案,同样需要对ORM的概念及原理有一个总体的了解。而Spring属于应用程序框架,其核心是IOC容器以及AOP,Spring中还集成了很多实用的东西,比如对JDBC的封装、自己的MVC、对动态语言的简捷访问等。如图2.1所示。
图2.1 SSH框架
它由以下3个框架构成:
1.Struts2框架
Struts2是Apache组织的一个开放源码项目。Struts2是一个比较好的MVC框架,
5
太原理工大学毕业设计(论文)用纸
提供了对开发MVC系统的底层支持,它采用的主要技术是Servlet,JSP和Custom tag library。其基本构成如图2.2所示。
浏 览 器 Struts.config xml Servlet/JSP容器 Action ActionServlet 控制器 Action Web服务器 JavaBean EJB 模型 JSP 视图 图2.2 Struts框架工作流程
2.Spring框架
Spring的核心是个轻量级(Lightweight)的容器(Container),它是实现IOC(Inversion of Control)容器、非侵入性(No intrusive)的框架,并提供AOP(Aspect-oriented programming)概念的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVC Web框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装,是一个全方位的应用程序框架(Application framework),除此之外,对于现存的各种框架(Struts、JSF、Hibernate等),Spring也提供了与它们相整合的方案。
Spring框架由以下7个部分组成,如图2.3所示。
图2.3 Spring框架构成
6