大家好,很高兴和大家分享源码。不管是什么样的需求。都希望各位计算机专业的同学们有一个提高。

大家可以通过常用的搜索引擎,以百度为例,搜索 源码乐园 code51 ,然后再次搜索 自己想要的即可。更多的管理系统等,欢迎大家百度搜索源码乐园。

项目运行截图

长沙理工大学

《软件系统开发实训》报告

酒店客房信息管理系统设计与实现

评分项目

及格

不及格

实训中的创造性成果

学生掌握课程内容的程度

实训完成情况

实训动手能力

文字表达

学习态度

规范要求

实训论文的质量

指导教师对实训的评定意见

综合成绩 指导教师签字 2019年 7月  日

软件系统开发实训任务书

计通学院                                软件工程专业

课程名称

软件系统开发实训

时间

2018~2019年第2学期17~19周

学生姓名

朱明玥

指导老师

项洁

题 目

酒店客房管理系统的设计与实现

主要内容:

本实训任务要求完成仓库库存管理信息系统的设计与实现,本系统分为六个大模块,其中本实训需要完成以下模块:

  1. 酒店管理模块。其中包括酒店的预定、入住、退房和续费等功能。实现对数据的具体操作
  2. 酒店管理统计模块。包括收入,订单,续费和房间视图。实现对数据的统计。
  3. 系统数据库的维护。这里主要实现对数据库的备份与还原,防止意外事件对数据库造成数据的丢失。

要求:

(1)能独立地运用程序设计语言和数据库方面知识,编制一个规模适当的应用软件系统。具体包括对系统的需求分析、设计、编码、测试以及编写各种文档的工作。

(2)按要求编写实训报告书,能正确编写分析、设计、编码、测试等技术文档和用户使用手册。

(3)通过实训培养学生严谨的科学态度,认真的工作作风和团队协作精神。

(4)学生应抱着严谨认真的态度积极投入到实训过程中。

(5)在老师的指导下,要求学生完成实训的全部内容。

应当提交的文件:

(1)实训报告。

(2)实训附件(源程序、各类图纸、实验数据、运行截图等)。

酒店客房信息管理系统设计与实现

摘要

传统的酒店管理往往需要酒店管理人花大量时间和精力来处理顾客查询、顾客登记等事务,而错误的查询、繁琐的登记和结账手册、费用的结算错误、空余客房不能及时提供等等问题,可能导致顾客的频繁投诉,从而影响酒店的出租率。这些问题都可以通过计算机辅助系统来解决。随着计算机和信息技术的飞速发展,酒店客房的管理由传统的工作模式逐渐被信息化、网络化的现代工作模式所代替。以住宿为主的酒店假如再延用传统的管理模式,就会增加酒店管理成本和降低工作效率。在酒店客房管理中融入先进的计算机和软件技术,利用酒店客房管理系统进行管理就显得十分有意义。利用酒店客房管理系统进行管理能让管理者及时了解酒店整体情况,便于各种决策,同时也简化了管理的各种复杂操作,提高了酒店的管理效率。本文采用Javaweb,创建一个适合实际情况的酒店客房管理系统。

关键词:酒店客房管理;java程序设计;web前端程序设计;数据库模块;统计模块

ABSTRACT

Traditional hotel management often requires hotel managers to spend a lot of time and energy dealing with customer inquiries, customer registration and other matters, while wrong inquiries, cumbersome registration and checkout manuals, fee settlement errors, the lack of timely provision of spare rooms and other issues may lead to frequent customer complaints, thus shadowing the situation. The rental rate of the hotel. These problems can be solved by computer aided system. With the rapid development of computer and information technology, hotel room management has gradually been replaced by the traditional mode of work by the modern mode of information and network. If the traditional hotel management mode is extended, the hotel management cost will be increased and the work efficiency will be reduced. It is very meaningful to integrate advanced computer and software technology into hotel room management and make use of hotel room management system. The use of hotel room management system can enable managers to timely understand the overall situation of the hotel, facilitate decision-making, but also simplify the management of various complex operations, improve the efficiency of hotel management. In this paper, we use Javaweb to create a hotel room management system suitable for the actual situation.

Key words: Hotel room management; Java programming; web front-end programming; interface module; statistical module

目录

第 一 章   绪论

(一)课题研究背景

(二)国内外现状与发展趋势

(三) 论文结构和内容

第 二 章   相关技术简介

(一)java

(二)servlrt

(三)HTML

(四)JavaScript

(五)CSS

(六)myeclipse

第 三 章   需求分析

(一)系统目标

(二)系统需求

(三)功能需求

(四)系统性能需求

(五)开发技术

第 四 章   系统总体功能

(1)系统功能结构

(2)系统功能流程图

第 五 章   数据库设计

(一)数据库定义

(二)数据库表

(三)视图的定义

第 六 章   各功能模块

(一)系统总体结构设计

(二)软件界面设计

(三)软件系统编程

第 七 章   调试与结果

(一)初始化系统登录

(二)住房查询

第 八 章   总结

参考文献

致  谢

第 一 章   绪论

酒店客房管理系统是指一种可以提高酒店管理效率的软件或平台,一般包含前台接待、前台收银、客房管家、销售POS、餐饮管理 、娱乐管理、 公关销售、财务查询、电话计费、系统维护、经理查询、工程维修等功能模块。

(一)课题研究背景

随着经济 的迅速发展 ,酒店业的竞争日趋激烈。酒店业内不得不进一步寻求通过扩大酒店销售、改进服务质量、降低管理成本和提升客户满意度等办法来增强酒店的核心竞争力。其中最有效的手段就是应用 现代化 信息化技术,变革传统意义上的酒店业经营管理模式,跟上时代竞争的步伐。考虑到酒店业务的不断提升和用户需求的日益多样化,尽量满足酒店的个性化需求,同时吸收了同类产品及现有软件系统的优点,力争设计成为一套先进适用的酒店管理软件系统,为顾客提供更加便捷的信息化服务,为酒店管理者、决策者提供准确及时的酒店经营信息,以达到酒店节约经营成本、提高经营质量和经济效益的信息化管理目标。

1、酒店客房管理现状

在商场如战场,时间就是金钱的当今社会,只有不断提高经营效率、更新管理模式、及时把握企业的经营状况才能提高自身竞争力,才能使自己立于不败之地。随着现代信息技术的普及,越来越多的商家开始采用计算机来管理自己的业务。在应用之余,总希望有好的业务管理软件来帮助他们提高工作效益和管理水平。 

随着我国旅游业的发展,酒店信息管理系统在此方面的需求相应的更多一些。以前的管理以人工方式处理大量的酒店客户登记、结账及一些管理工作,不可避免的增加了管理的工作量,同时也易造成人为错误,给管理者带来了不必要的麻烦和损失。 

为了解决上述问题,使酒店客房管理更系统和便捷,准确而高效地开发数据库管理系统,使用户在实际工作中得心应手,就显得尤为重要。而本系统正是在这种时代背景下设计开发的。

随着计算机和信息技术的飞速发展,传统的 酒店客房管理 模式逐渐被信息化的现代 酒店客房管理 模式所代替。传统的酒店管理往往令管理者花大量的人力和物力以满足各种繁琐的经营活动的需要,例如冗长的登记和结账手续、手工记录所有客房状态、列表统计顾客消费情况等。这种工作模式不但效率低下,且极易出现错误和遗漏,有时甚至会导致严重的经济损失,给酒店的经营带来负面影响。

2、课题研究的意义

管理信息系统(Management Information System简称MIS)是信息科学的一个分支,是由人、计算机和数据库组成的能进行信息的收集、传递、储存、加工、维护和使用的系统。而酒店计算机管理系统是MIS中的一个重要分支。近年来,随着我国改革开放的发展,国内的酒店业得到了飞速发展。现代酒店作为一个对外来人员的接待场所,是一个城市的窗口。对一个以旅游行业为支柱产业的城市而言,酒店有着举足轻重的作用。作为一种以服务为主的无烟工业,世界各国对此行业的重视程度并不亚于其它工业。酒店在其运行期间,服务水平的高低,直接影响到酒店的形象和声誉,如:服务的安排、调度是否周到;客人的要求是否能很好地得到满足;市场的预测分析是否快捷、准确等。这其中的核心就是对每天大量的信息(客人、费用、房间等)的正确处理和保存。采用计算机这一现代化工具作为管理的辅助手段是必须的。计算机的应用包括OA(办公自动化)、MIS(管理信息系统)、CAD(计算机辅助设计)等,酒店的计算机系统正是典型的MIS应用。而本酒店管理信息系统,是针对酒店的具体业务而开发的,业务管理以酒店的客房管理为核心,为用户提供迅速、高效的服务,减免手工处理的繁琐与误差,及时、准确地反映酒店的工作情况、经营情况,从而提高酒店的服务质量,并配合现代化的酒店管理,获得更好的经济效益。并具有如下几个特点:间接性的,其经济效益不是直接产生的,是通过对人力、物力的节省而带来的,可以堵塞许多漏洞;长期性的,计算机的投资是较大的,是在长期的应用中逐步得到回报的;社会效益,酒店是一个高层次的服务行业,采用计算机可提高服务质量,有良好的社会形象。

对酒店整个来说,对酒店经营状况起决定作用的是酒店的服务管理水平。如何利用先进的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高酒店的管理无疑是一条行之有效的途径。虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对酒店的业务管理提供强有力的支持。因此,采用全新的计算机网络和酒店业务管理系统,已成为提高酒店的管理效率,使作业人员与管理系统之间灵活互动,实现流畅的工作流衔接,帮助酒店有效地进行业务管理,释放最大价值。酒店业务管理系统在达到在节省人力资源成本的同时,可以提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求。

(二)国内外现状与发展趋势

酒店管理系统最开始的时候是在美国,大约在六十年代末,如Ecoo系统,基本实现了酒店管理的给你,如预定、结账、餐厅、客房等模块,由于当时没有PC,所以整个系统都是在集中式的小型机上管理。

前些年国内的酒店管理系统之所以不成气候,就是因为网络信息化技术不够,从而影响了酒店的业绩。之后,国内外的计算机技术,网络平台,新型技术点不断传入国内。国内的酒店管理系统才开始发展起来。

现今,酒店的电脑管理和网络技术的日益提升,电脑网络服务日益昌盛。因此,在经济效益上取得了突飞猛进的进展。国家建设部门的规定中已经包含星级酒店的设计方案中必须包含电脑管理系统。这就是网络化的体现。

(三) 论文结构和内容

第一章,结合酒店管理系统发展的现状,介绍酒店管理系统发展背景、课题研究意、以及在国内外现状与发展趋势。

第二章,介绍本次项目所运用到的主要、核心技术,以及他们各自的特点。

第三章,利用场景分析等软件工程需求分析方法[9],进行项目各个功能模块的进行需求分析。

第四章,通过E-R图、数据流图等图表与文字来陈述本次总体设计和数据库设计。

第五章,详细叙述本系统各个数据库各个模块的组成及实现结果

第六章,详细叙述本系统各个功能模块具体的功能以及实现结果。 

第 二 章   相关技术简介

(一)java

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上

(二)servlrt 

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

最早支持Servlet标准的是JavaSoft的Java Web Server,此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。

(三)HTML

超文本标记语言(Hyper Text Markup Language),标准通用标记语言下的一个应用。HTML 不是一种编程语言,而是一种标记语言 (markup language),是网页制作所必备的。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言(或超文本标签语言)的结构包括“头”部分、和“主体”部分,其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。

超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果。

(四)JavaScript

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。 [1]

为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

(五)CSS

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 [1]

CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。

(六)myeclipse

MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate [1]  。

MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。

第 三 章   需求分析

(一)系统目标

本系统需要满足以下几个系统设计目标。

(1)实用性原则:真正为酒店工作人员的实际工作服务,按照酒店客房管理工作的实际流程,设计出实用的酒店客房管理系统。

(2)安全性原则:必须为酒店客房提供信息安全的服务,以保证酒店信息的不被泄露。

(3)可操作性原则:本酒店客房管理系统面向的是酒店内工作人员,所以系统操作上要求简单、方便、快捷,便于用户使用。

(4)可扩展性原则:采用开发的标准和接口,便于系统向更大的规模和功能扩展。

(二)系统需求

根据酒店客房管理系统的理念,此酒店客房管理系统必须满足以下需求:

(1)具有设置酒店客房类型和房间信息的功能

(2)能快速、准确地了解酒店的客房状态,以便订房和退房

(3)提供多种手段查询客房订房信息

(4)提供修改订房和修改退房功能

(5)提供简单的酒店工作人员的添加住户和续费房间功能

(三)功能需求

(1)利用系统设置中的登录模块可以进行管理员登录。

(2)客房管理模块主要是对客房进行设置和查询。

(3)预定管理模块主要是对住宿登记、住房时间、房间类型和住户信息。

(4)入住模块主要对客户预定好房间来登记入住开始。

(5)挂账查询模块主要是对挂账和客户结款进行查询、调房登记、续费房间和退宿结账进行管理。

(6)查询统计模块主要是对住宿、退宿进行查询以及对宿费进行提醒。

(7)日结模块主要是对登记预收、客房销售进行报表管理以及对客房销售进行统计。

(8)数据库模块是对客房信息、住户信息和收入信息的统计,不易丢失。

(9)系统维护主要是对数据备份和恢复进行维护。

(四)系统性能需求

为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:

(1)系统处理的准确性和及时性

系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息的处理。由于系统的查询功能对于整个系统的功能和性能完成很重要。从系统的多个数据来源来看, 客房信息查询、订房 信息查询、 结算 信息查询,其准确性很大程度上决定了系统的成败。

因此,在系统开发过程中,系统采用优化的 SQL 语句及安全扩展存储过程来保证系统的准确性和及时性。

(2)系统的开放性和系统的可扩充性

系统在开发过程中,应该充分考虑以后的可扩充性。例如 系统权限和客房信息设置 等模块也会不断的更新和完善。所 有这些 都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。

(3)系统的可操作性

本酒店客房管理系统面向的用户是酒店内工作人员, 而有些使用人员往往对计算机并不是非常熟悉 ,所以系统操作上要求简单、方便、快捷,便于用户使用。 这就要求系统能够提供良好的用户接口,易用的人机交互界面。

(4)系统的响应速度

系统设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提高系统响应时间和速度。系统在日常处理中的响应速度为秒级, 达到实时要求,以及时反馈信息。严格保证操作人员不会因为速度问题而影响工作效率。

(五)开发技术

本系统利用myeclipse,Tomcat编译环境,采用可视化编程,以 SQLsever作为后台数据库。

(1)计算机及操作系统: Windows10;

(2)开发工具: myeclipse;

(3)运行环境 : javaJDK;

(4)语言 : java,HTML,JavaScript 与  SQL 查询语言。

第 四 章   系统总体功能

(1)系统功能结构

(2)系统功能流程图

第 五 章   数据库设计

(一)数据库定义

数据库名为:db,登录用户名为sa,口令默认为********。该登录用户的服务器脚色是“sysadmin”,具有数据库db的任何权限。

(二)数据库表

下面数据表中,标记为“*”的是主键,标记为“#”的为外键。其它的缩写为:VC:varchar、NC:nchar、NVC:nvarchar。

表1 操作人员 usertab

字段名称

类型大小

说明

举例

1

uid

VC(20)

×

操作者帐号

4-20位,数字字母

2

upwd

NVC(20)

×

操作者姓名

2-10位字符或汉字

说明:

“系统管理”用户可以增改操作人员,授予操作权限,以及全部的维护与浏览权限;

表2、酒店房间 room

字段名称

类型大小

说明

举例

1

roomNumber*

Char(6)

×

酒店房间编号

0001,0002

2

roomType#

VC(32)

×

酒店房间类型

单人间,双人间

3

price

VC(32)

×

酒店房间价格

200,300

说明:

酒店房间规定了房间号,类型,价格方便查找顾客需要的房间与剩余房间查询

表3、酒店房间类型与价格 roomTypeAndPrice

字段名称

类型大小

说明

举例

1

roomType#

VC(32)

×

酒店房间类型

单人间,双人间

2

price

Int

×

酒店房间价格

200,300

说明:

方便查看酒店类型与价格

表4、顾客信息表 customers

字段名称

类型大小

说明

举例

1

customerIDCard*

char(18)

×

顾客身份证号码

18位身份证号

2

customerGender

Char(4)

×

顾客性别

女,男

3

customerName

VC(16)

×

顾客姓名

***

4

customerPhoneNumber

char(11)

×

顾客手机号码

11位手机号码

5

totalAmount

int

消费金额

200,300

说明:

记录顾客信息,并且及时更新。

表5、入住信息表 orders

字段名称

类型大小

说明

举例

1

orderNumber*

int

×

订单号

1,2,3

2

orderStatus

VC(50)

×

订单状态

预订中,已入住,已退房

3

customerIDCard#

char(18)

×

顾客身份证号

18位身份证号

4

roomNumber#

char(6)

×

酒店房间编号

0001,0002

5

roomType#

VC(32)

×

酒店房间类型

单人间,双人间

6

checkInTime

date

×

入住时间

2019-7-1

7

checkOutTime

date

×

离店时间

2019-7-2

8

totalMoney

int

×

需付金额

200

9

orderTime

date

×

预定时间

2019-7-1

说明:

记录房间状态。方便预定,退订和更改房间状态。

表5、房间延期表 timeExtension

字段名称

类型大小

说明

举例

1

operatingID*

int

×

操作记录号

1,2,3

2

orderNumber

int

×

操作的订单号

1,2,3

3

oldExpiryDate

date

×

住房原到期日期

2019-7-1

4

newExpiryDate

date

×

住房新到期日期

2017-7-2

5

addMoney

int

×

需要添加的金额

200,300

说明:

方便操作预定房间过程中出现的问题

(三)视图的定义

视图命名格式为View_***。特别指出,在一个视图B依存另个视图A时,必须先创建视图A,然后才创建视图B。此时,在试图命名时必须按视图名称A排序在前。例如:

表6 视图清单

序号

视图名称

说明

1

View_incomeView

收入视图

2

View_roomInfoView

房间视图

3

View_orderview

订单视图

第 六 章   各功能模块

(一)系统总体结构设计

如下图所示,整个酒店管理系统包含三个模块:

1、bean模块:用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

2、servlet模块:客户端发送请求至服务器;服务器启动并调用 Servlet,Servlet 根据客户端请求生成响应内容并将其传给服务器;服务器将响应返回客户端。

3、WebRoot模块:是JAVA WEB项目中用来存放JSP,JS,CSS,图片等文件的,其中webroot/WEB-INF用来存放SRC编译好的相关的文件,和需要被保护的JSP文件等。

(二)软件界面设计

1登录界面设计

String username = request.getParameter("user");

String upwd = request.getParameter("pwd");

PrintWriter out = response.getWriter();

Connection conn;

try {

Class.forName(driverName);

try{

conn = DriverManager.getConnection(url,user,pwd);

String sql = "select *from usertab where uid = ?";

PreparedStatement ps = conn.prepareStatement(sql);

ps.setString(1, username);

ResultSet rs = ps.executeQuery();

String mima = "";

while(rs.next()){

mima = rs.getString("upwd").trim();

}

if(mima.equals(upwd)){

HttpSession session = request.getSession();

session.setAttribute("un", username);

out.println("true");

通过数据库中储存的管理员信息,进行验证并且登录进入酒店管理系统。

2 用户预定界面设计

String sql_customer = "insert customers values('"+customerIDCard+"','"+customerGender+"','"+customerName+"','"+customerPhoneNumber+"',"+price+")";

String sql_orders = "insert orders values('"+orderStatus+"','"+customerIDCard+"','"+roomNumber+"','"+roomType+"','"+checkinTime+"','"+checkOutTime+"',"+price+",'"+orderTime+"')";

try {

Class.forName(driverName);

try {

conn = DriverManager.getConnection(url,user,pwd);

Statement st = conn.createStatement();

st.executeUpdate(sql_customer);

st.executeUpdate(sql_orders);

System.out.print("插入成功!");

利用数据库SQL语句进行客户的插入,并且将数据储存到数据库中。

3 用户入住界面设计

String sql_leave = "update orders set orderStatus = '已入住' where orders.customerIDCard = '"+customerIDCard+"'";

String sql_query = "select * from orders where customerIDCard = '"+customerIDCard+"'";

Connection conn = null;

try {

Class.forName(driverName);

try {

conn = DriverManager.getConnection(url,user,pwd);

Statement st = conn.createStatement();

st.execute(sql_leave);

ResultSet rs = st.executeQuery(sql_query);

List<Map> list = new ArrayList<Map>();

while(rs.next()){

String orderNumber = rs.getString("orderNumber");

String orderStatus = rs.getString("orderStatus");

customerIDCard = rs.getString("customerIDCard");

String roomNumber = rs.getString("roomNumber");

String checkInTime = rs.getString("checkInTime");

String checkOutTime = rs.getString("checkOutTime");

String totalMoney = rs.getString("totalMoney");

String orderTime = rs.getString("orderTime");

Map e = new HashMap();

e.put("orderNumber", orderNumber);

e.put("orderStatus",orderStatus);

e.put("customerIDCard", customerIDCard);

e.put("roomNumber",roomNumber);

e.put("checkInTime",checkInTime);

e.put("checkOutTime",checkOutTime);

e.put("totalMoney",totalMoney);

e.put("orderTime",orderTime);

list.add(e);

通过SQL语句将预定的顾客状态改为入住,并储存到数据库中。

4用户续费界面设计

String addDay = request.getParameter("addDay");

String sql = "declare @addMoney int,@orderNumber int,@oldExpiryTime date,@newExpiryTime date exec dbo.getPrice '"+roomNumber+"',"+addDay+",@addMoney output,@orderNumber output,@oldExpiryTime output,@newExpiryTime output select @addMoney as addMoney,@orderNumber as orderNumber,@oldExpiryTime as oldExpiryTime,@newExpiryTime as newExpiryTime";

Connection conn = null;

try {

Class.forName(driverName);

try {

conn = DriverManager.getConnection(url,user,pwd);

Statement st = conn.createStatement();

ResultSet rs = st.executeQuery(sql);

List<Map> list = new ArrayList<Map>();

while(rs.next()){

String addMoney = rs.getString("addMoney");

String orderNumber = rs.getString("orderNumber");

String oldExpiryTime = rs.getString("oldExpiryTime");

String newExpiryTime = rs.getString("newExpiryTime");

Map e = new HashMap();

e.put("addMoney", addMoney);

e.put("orderNumber",orderNumber);

e.put("oldExpiryTime",oldExpiryTime);

e.put("newExpiryTime",newExpiryTime);

list.add(e);

}

5用户退房界面设计

String sql_leave = "update orders set orderStatus = '已退房' where orders.customerIDCard = '"+customerIDCard+"'";

String sql_query = "select * from orders where customerIDCard = '"+customerIDCard+"'";

Connection conn = null;

try {

Class.forName(driverName);

try {

conn = DriverManager.getConnection(url,user,pwd);

Statement st = conn.createStatement();

st.execute(sql_leave);

ResultSet rs = st.executeQuery(sql_query);

List<Map> list = new ArrayList<Map>();

while(rs.next()){

String orderNumber = rs.getString("orderNumber");

String orderStatus = rs.getString("orderStatus");

customerIDCard = rs.getString("customerIDCard");

String roomNumber = rs.getString("roomNumber");

String checkInTime = rs.getString("checkInTime");

String checkOutTime = rs.getString("checkOutTime");

String totalMoney = rs.getString("totalMoney");

String orderTime = rs.getString("orderTime");

Map e = new HashMap();

e.put("orderNumber", orderNumber);

e.put("orderStatus",orderStatus);

e.put("customerIDCard", customerIDCard);

e.put("roomNumber",roomNumber);

e.put("checkInTime",checkInTime);

e.put("checkOutTime",checkOutTime);

e.put("totalMoney",totalMoney);

e.put("orderTime",orderTime);

list.add(e);

}

6 收入视图界面设计

7 订单视图界面设计

8 房间视图界面设计

9续费视图界面设计

(各个视图:

String sql_order = "select * from orderView";//订单视图查询语句

String sql_roomInfoView = "select * from roomInfoView";//房间信息视图

String sql_timeExtension = "select * from timeExtensionOrdersView";//续费订单视图

10其他各小功能界面设计

(三)软件系统编程

1 系统构架

在编程中,采用的一种Javaweb体系,主要分为3大层次结构,但由于编写方便,本设计在编程另外增加了一个工具层,用于给其他各层提供编写方便,如图4-16为系统编程的3大层次,底层为3大模块,有数据库直接操作,文件直接操作,网络接口直接操作;中层为后台操作层,主要做数据处理和上下层的连接工作,软件工作的核心在于中层的后台操作,界面层主要通过后台提供的数据接口来绘制各种窗口及动画过程。最顶层为界面层,分为5大主界面编程。为了达到软件美观的效果,本设计用到了一些图片美化软件,这些都是很细致的活,美化的图片必需与软件编程时的控件相结合,有时还真是一个个像素点的修正,可以在上面的各图中看出背景与控件的适应性都还不错。

系统统计总共有60多个java程序,总代码量过万,此次的酒店管理系统编程运用了很多Javaweb新知识,例如servlet,数据库批处理技术,图片缓存技术,等等。

第 七 章   调试与结果

(一)初始化系统登录

尽管在软件工程科学的方法指导下完成了系统的设计与开发,但是由于软件系统是一个关系紧密且复杂的逻辑系统,因此仅凭严格的设计以及严格的开发流程并不能够完全确保系统不会出现任何缺陷。不存在缺陷的系统是不可能存在的,但是通过软件测试,我们能够尽可能多的在软件系统投入使用前发现目前存在的缺陷并对缺陷进行修复。软件测试与维护这个生命周期是软件生命周期中最长的亦是最重要的,这不仅保证了系统的稳定性以及满足预定的需求,也能够使得软件生命得到延续。因此,通过软件测试对系统进行评估,找到其中隐藏的缺陷并对其加以修复是很有必要的。

软件测试是为了完善系统质量的技术,通过翻阅书籍,发现大多对软件测试的定义为使用人工或自动的手段来运行某个系统的过程,其目的在于检验它是否满足规定的需求,或是弄清预期结果与实际结果的区别。

系统登录时,输入数据库中录入的管理人员账号及密码;

登录成功。

(二)住房查询

酒店管理测试用例

前提

测试步骤

预期结果

实际结果

是否通过

管理

人员

已经

登录

1.进入酒店管理页面

2.进行输入身份证号码入住

显示入住成功的信息

显示该身份证号定的房间是已入住状态

通过

  1. 进入酒店管理页面
  2. 选择“订房”

显示该客户订房成功

数据库中储存该客户

通过

  1. 进入酒店管理页面
  2. 选择“退订”

显示该客户退房成功

数据库中显示该客户已退订

通过

第 八 章   总结

转眼间实训已过去一段时间,之前的兴奋、喜悦如今已经让我熟悉,在实训的每一天都会让我有成为一名真正的财富者拥有的冲动。也许,在这期间不一定会让一个人有着翻天覆地的变化,但变化就是这样一点一点产生的。通过这一期的实训,虽然倍感折磨,但是收获却是很大的,学习中我不但有了学习成果的喜悦,而且自己也日渐成熟,有种说不出的喜悦。

在实训的过程中,我深深的体会到了自己在专业知识方面的欠缺和不足,也意识到了自己作为计算机软件专业的学生,要想在以后的职业中崭露头角,除了要有过硬的理论知识,健康的体魄之外,还必须具备良好的心理素质,是自己在以后的途中无论经历什么样的困难,都立于不败之地。

通过实训老师的课堂讲解与企业文化标准的培训,使我加深了对自己专业的认识,从而确定自己以后的努力方向,要想在短暂的实训时间内尽多的学到东西,就需要我们跟老师或同学进行良好的沟通,加深彼此的了解,只有我们跟老师多沟通,让老师更了解我们,才能更真切的对我们进行培训工作。由此,班级的文化“共享”就在生活中慢慢形成了。

“纸上得来终觉浅,绝知此事要躬行!”在这短短的时间里,让我深深的感觉到自己在实际应用中所学来专业知识的匮乏。让我真真领悟到“学无止境”这句话的涵义。而老师在专业认识周到中所讲的,都是课本上没有而对我们非常有实际意义的。这又给我们的实训增添了浓墨淡彩的光辉。我懂得了实际生活中,专业知识是怎样应用与实践的。在这些过程中,我不仅知道了职业生涯所需具备的专业知识,而且让我深深体会到一个团队中的各个成员合作的重要性,要善于团队合作,善于利用别人的智慧,这才是大智慧。靠单一的力量是很难完成一个大项目的,在进行团队合作的时候,还要耐心听取每一个成员的意见,是我们的组合达到更加完美。

这次实训除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完成一个任务,懂得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获取成功,一种自信心就由然而生,这应该就是工作的乐趣。有时候不懂的就需要问别人了,虚心请教,从别人的身上真的能学到自己没有的东西,每一次的挫折都会使我更接近成功。还有学会了在工作中与人的合作与交流,同乐同累,合作互助,这是团体的精神,也是必须学习的东西。

参考文献

[1] 郑人杰,殷人昆,陶永雷.实用软件工程(第二版)[M].北京:清华大学出版社.1997.

[2] 萨师煊,王珊.数据库系统概论[M].高等教育出版社,2000.7:21-347.

[3] (美)Bruce Eckel、陈昊鹏、饶若楠等.Java编程思想第3版[M].北京:机械工业出版社.2005.

[4]候炳辉,刘世峰.信息管理系统[J].信息管理系统分析,2004.5:254-562.

[5] 彭伟民.基于需求的酒店管理系统的建模与实现.微机发展,2005.10.1-6.

[6] 薛华成.管理信息系统[M].清华大学出版社,1996.7.2-5.

[7] 《java核心技术》机械工业出版社(美国)Cay Shorstmann,Gary Cornell著由 叶乃文 翻译。

[8] 张亚东.酒店企业销售管理信息系统的设计与实现[J].管理信息系统, 2000.9:45249.

[9] 《java 学习笔记 JDK6.0》清华大学出版社(台湾)良格葛编写。

致  谢

本次的实训内容为完成一个酒店管理系统,完成网页上数据的增加、删除、修改、查找等功能,并将变化后的数据传入到后台的数据库中。转眼实训已经过去一段时间,之前的的兴奋、喜悦如今已经让我熟悉,也许在这期间不一定会让我有着天翻地覆的变化,但变化是这样日积月累出来的。通过这一次实训,虽然倍感折磨,但是收获却是很大的,学习中我不但有了学习成果的喜悦,而且自己也日渐成熟,有种说不出的喜悦。在实训过程中,我深深地体会到了自己在专业知识方面的欠缺和不足,也意识到了自己作为软件工程专业的学生,要想在以后的职业中崭露头角,除了要有过硬的理论知识,健康的体魄之外,还必须具备良好的心理素质,是自己在以后的途中无论经历什么样的困难,都立于不败之地。通过实训老师的课堂讲解与企业文化标准的培训,使我加深了对自己专业的认识,从而确定自己以后的努力方向。

我首先要感谢我的指导老师项洁。项老师给我给出了许多指导性的意见,,同时,还要感谢我的同学还有室友们,在四年的大学生活互相学习,互相帮忙,共同度过了一段完美难忘的时光。

此外,还要感谢朋友以及同学们在论文编写中带给的大力支持和帮忙,给我带来极大的启发。也要感谢参考文献中的作者们,透过他们的研究文章,使我对研究课题有了很好的出发点。

最后,谢谢论文评阅老师们的辛苦工作。衷心感谢我的家人、朋友,以及同学们,真是在他们的鼓励和支持下我才得以顺利完成此论文。

技术描述

开发工具: idea/eclipse
数据库: SqlServer
Jar包仓库: Jar包
前段框架:jquery/Jsp
后端框架: Jsp,Servlet

资料说明

随着经济 的迅速发展 ,酒店业的竞争日趋激烈。酒店业内不得不进一步寻求通过扩大酒店销售、改进服务质量、降低管理成本和提升客户满意度等办法来增强酒店的核心竞争力。其中最有效的手段就是应用 现代化 信息化技术,变革传统意义上的酒店业经营管理模式,跟上时代竞争的步伐。考虑到酒店业务的不断提升和用户需求的日益多样化,尽量满足酒店的个性化需求,同时吸收了同类产品及现有软件系统的优点,力争设计成为一套先进适用的酒店管理软件系统,为顾客提供更加便捷的信息化服务,为酒店管理者、决策者提供准确及时的酒店经营信息,以达到酒店节约经营成本、提高经营质量和经济效益的信息化管理目标。

基于Jsp+Servlet+SQLServer的酒店管理系统相关推荐

  1. 基于jsp+servlet+mysql的酒店管理系统(附源码)

    本系统是基于jsp+servlet+mysql的前后端分离的酒店管理系统,前后端分离是指前端和后端分别是两个独立存在的项目,能独立运行.没有前端项目,后端也能运行且进行数据管理,没有后端项目,前端也能 ...

  2. Java Web——基于Jsp+Servlet的大学生社团管理系统

    JavaWeb课程设计+JavaWeb实训作业:(Jsp+Servlet+Mysql+Tomcat+Idea) 项目类型:JAVA WEB项目 用户类型:3个角色(管理员+社长+学生) 主要技术:Js ...

  3. 基于jsp+servlet实现的银行管理系统

    jsp+Servlet图书管理系统第一版的第一次更新:免费源码下载,停更,自行下载即可,谢谢:http://download.csdn.net/detail/biexiansheng/9877270 ...

  4. 基于jsp+servlet的银行信贷管理系统。

    运行环境,jdk1.8或者jdk1.7.tomcat8或者tomcat8.5.mysql5.7.eclipse.myeclipse开发环境. 1.基于jsp+servlet的银行信贷管理系统,前台界面 ...

  5. 基于JSP+Servlet的医疗设备管理系统

    源码编号:B-E48 项目名称:基于JSP+Servlet的医疗设备管理系统 源码作者:霹雳制作 论文作者:逍遥游撰写 当前版本:V1.0版本 用户类型:双角色(普通用户.管理员) 项目架构:B/S架 ...

  6. 基于JSP+Servlet的医院病房管理系统

    源码编号:B-E75 项目名称:基于JSP+Servlet的医院病房管理系统 源码作者:霹雳制作 论文作者:逍遥游撰写 当前版本:V1.0版本 用户类型:角色(病人.医生.管理员) 项目架构:B/S架 ...

  7. javaweb基于JSP+Servlet房地产客户关系管理系统(CRM) 大作业 课程设计 毕业设计

    基于JSP+Servlet房地产客户关系管理系统(CRM)(毕业设计/大作业): 开发环境: Windows操作系统 开发工具: MyEclipse+Jdk+Tomcat6+Mysql数据库 运行效果 ...

  8. 基于JSP+Servlet的高校人事管理系统

    项目类型:Java web项目/Java EE项目(非开源) 项目名称:基于JSP+Servlet的高校人事管理系统 当前版本:V1.0.0版本 难度等级:✩✩ 复杂程度:✩✩ 用户类型:双色(教职工 ...

  9. 课程设计-基于JSP+Servlet的员工考勤管理系统

    源码编号:B-E27 项目类型:Java web项目(非开源) 项目名称:基于JSP+Servlet的员工考勤管理系统 源码作者:逍遥游本人开发制作 当前版本:V1.0.0版本 用户类型:有员工和管理 ...

最新文章

  1. 小酌重构系列[8]——提取接口
  2. python中mod运算符_Python中的数学运算操作符使用进阶
  3. python易学吗_所有人都说Python 简单易学,为何我觉得难?
  4. 浮点数在计算机中起什么作用,浮点数在计算机中的存储表示
  5. Jmeter 监控多台服务器CPU、内存、i/o等资源
  6. count(1),count(*),count(主键) 性能对比及辟谣
  7. 二元相图软件_Materials Studio 领先的材料模拟软件
  8. sass-RGB颜色函数-RGB()颜色函数
  9. JAVA零为扩展_与Java的初遇——数据类型扩展
  10. java pdf 转图片
  11. 按键精灵助手之按钮响应事件
  12. Polkadot的PLO第一阶段: Equilibrium在DOT上筹集了850万美元
  13. ChatGPT所有插件详细教程
  14. 2021-01-27 大数据课程笔记 day7
  15. ResponseEntity
  16. Tomcat调优总结【内存和线程】
  17. windows installer 窗口一直”正在取消“,无法关闭
  18. Nginx的二进制安装教程
  19. 成都,今夜请将我遗忘 读后感
  20. uni-app实现图片的上传和裁剪

热门文章

  1. 360加固后walle写入渠道安装报错 Size of APK Signing Block is not a multiple of 4096
  2. 爆炸好用!异常行为检测 GitHub 神器来了!
  3. 计算机睡眠管理设置密码,电脑系统windows8系统睡眠唤醒时需要输入密码设置技巧...
  4. php 计算浏览数,集思广益,关于有效浏览次数的计算,大家都是如何来做呢?...
  5. 国内CRM系统哪家公司的好 CRM管理系统推荐
  6. 三国志战略版:经典陆抗阵容
  7. 科目三 靠边停车30cm 与 车内点位
  8. java 实现电子签名_java swing实现手写板电子签名系统 | 学步园
  9. Android拍照和获取相册图片
  10. 教你如何把照片做成视频,可做生日party、企业年会、求婚mv视频