基于JSP的酒店客房管理系统(二)

news2024/12/26 22:55:30

目录

第二章 相关技术介绍

2.1 Jsp的简介

2.2 sql server 2005 的简介

第三章 系统的分析与设计

3.1 系统需求分析

1.理解需求

2.需求分析

3.2开发及运行环境

3.3功能模块的设计

3.3.1 设计目标

3.3.2 客房管理系统前台的设计

3.3.3 操作员管理系统的设计

3.3.4 酒店管理员管理系统的设计

3.4数据库逻辑结构设计


前面内容请移步

基于JSP的酒店客房管理系统(一)

免费源代码+毕业设计论文+开题报告+答辩PPT

酒店客房管理系统源代码+毕业设计论文+开题报告+答辩PPT

第二章 相关技术介绍

2.1 Jsp的简介

     JSP是由sunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。

        JSP全名为java server page,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

        JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

        JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

        自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。

2.2 sql server 2005 的简介

     Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。Microsoft SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。 Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。 与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQLServer 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。  Microsoft SQL Server 2005能提供超大型系统所需的数据库服务。大型服务器可能有成千上万的用户同时连接到SQL Server 2005实例。SQL Server2005为这些环境提供了全面的保护,具有防止问题发生的安全措施,例如,可以防止多个用户试图同时更新相同的数据。SQL Server 2005还在多个用户之间有效地分配可用资源,比如内存、网络带宽和磁盘I/O。超大型Internet站点可将其数据分开存放在多台服务器上,从而使处理负荷分散到多台计算机上,使站点能为成千上万的并发用户提供服务

第三章 系统的分析与设计

3.1 系统需求分析

        需求分析阶段是酒店客房管理系统开发最重要的阶段。开发者首先要了解和澄清用户的需求,然后严格地定义该系统的需求规格说明书。这里我们将需求分析分为两个过程,一是理解需求,二是分析需求,下面分别讲解。

1.理解需求

        理解需求是在问题及其最终解决方案之间架设桥梁的第一步。开发者只有和客户充分理解了需求之后才能开始设计系统,否则,对需求定义的任何改进,在设计上都必须大量的返工。下面是经过双方调研后得到的需求规格说明。

  1. 该系统的用户有种类型:一是管理员,二是服务员,三是客户,三者应具有不同的权限。
  2. 系统需对用户登录进行管理。使用各功能模块时,系统验证用户身份的有效性,否则要求用户重新登录。另外,允许用户对自己的密码进行修改。
  3. 系统应提供客房的分类管理功能,可分类制订客房面积、价格、是否配备空调等客房类型,对不同标准的客房进行有效管理。系统可实现对客房信息的查询,添加、删除以及修改。
  4. 系统显示客房入住状态。
  5. 系统的客户端在Windows平台下运行,服务器端可在Windows平台下运行。

2.需求分析

  1. 需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块,即定义用例。这个步骤是对理解需求的升华,直接关系到该系统的质量。
  2. 经过开发者同客户的需求分析后,确定酒店客房管理系统的功能模块(用例)包括:

        ●  用户信息管理

        ●  客房类型管理

        ●  客房信息管理

        ●  客户信息查询

        ●  经营状况统计

        酒店客房管理系统采用Web方式,由前台和后台管理两个部分组成。前台作为与用户直接交互的可视化界面,由于使用方便,能将系统的各个功能提供给用户,以帮助用户进行客房管理。

        为了确保客户和酒店的信息具有更好的安全性,前台管理和后台管理是分离的。前台的各管理模块需要经过权限授权才可以使用,我们为此设计了三个角色:一是酒店管理员,二是前台服务员,三是客户。其中:

        1.酒店管理员享有最高权限,可以使用酒店客房管理系统所提供的所有功能,包括员工信息管理、客房类型管理、客房信息管理、客房经营管理、客户信息查询、酒店简介、酒店新闻、个人密码修改功能。

        2.前台服务员的主要职能是负责订房和退房,以及查询入住的客户信息。所有该角色只可以使用部分功能,包括客房经营管理、客户信息查询、个人密码修改以及注销功能。

        3. 客户能够注册信息、预订客房、查看信息。

        本系统主要由数据库系统作为支持,后台管理的维护工作主要由系统管理员进行,包括完成对各个数据表单的维护、数据库的备份及恢复等工作,本实例我们选用的数据库系统为Microsoft SQL Server 2005

3.2开发及运行环境

        网站开发环境:MyEclipse 8.5集成开发环境。

        网站开发语言:JSP+JAVA。

        网站后台数据库:Microsoft SQL Server 2005。

        开发环境运行平台:Windows XP/Windows 7.

3.3功能模块的设计

3.3.1 设计目标

        本系统是根据酒店日常管理的需求进行开发设计的,主要实现以下目标。

        1.实现管理人员和前台服务员的登录不同界面以及拥有不同权限的功能。

        2.实现客户信息,客房类型,客房信息,用户信息,业务记录的查询的功能。

        3.实现客房信息,用户信息和客房类型的增加的功能。

        4.实现客房信息,用户信息,客房类型,客房信息的修改的功能。

        5.实现客房信息,用户信息的删除的功能。

图3-1酒店客房管理系统框架流程

3.3.2 客房管理系统前台的设计

图3-2 客户登陆管理

3.3.3 操作员管理系统的设计

操作员管理流程图,如图3-3所示,该流程系统后台部分,客房信息页面主要是负责所有客信息的查询;客户页面主要是负责所有客户信息的添加和查询;客户-客房管理页面主要是负责客房的预订、入住、退房;账单查询页面主要用于前台服务员对于账单的查询。

图3-3操作员登陆管理

3.3.4 酒店管理员管理系统的设计

        管理员管理系统流程图,如图3-4所示,该流程系统后台部分,是由酒店管理员负责管理的,分为用户信息,客房类型,客房信息,业务记录,个人信息管理、酒店信息几个模块,其中个人信息模块前后台都是有在3.3.3中已给出说明。用户信息模块主要的操作有:增,删,改,查。客房类型模块的主要操作有:增,改,查。客房信息模块的主要操作有:删,改,查。而业务记录模块主要用于管理员对于业务的查询。

图3-4酒店管理员管理系统

3.4数据库逻辑结构设计

        本系统数据库采用Microsoft SQL Server 2005数据库,系统数据库中包含9张数据表。下面分别给出主要数据表的结构。

        从读者角度出发,为使读者对本系统后台的数据库中数据表有一个更清晰的认识,在此特别制作了一个数据类型的表格,其中包含了对系统中所有数据表的相关描述。

        数据库JdglSys包含以下9个表:所有客房信息表(dbo.cxx)、客房信息表(dbo.fxx)、楼房类型表(dbo.lxx)、结账信息表(dbo.jsxx)、客户注册信息表(dbo.sxx)、酒店简介(dbo.gg)、酒店新闻信息(dbo.news)、操作员信息(dbo.linggao)、管理员信息(dbo.guanli)

        1.所有客房信息表(dbo.cxx)用来保存使用该系统的酒店客房的信息,如门牌号、所在楼、床位、入住状态、入住客户名、日租金、入住时间等。如表3.1所示。

表3.1

列名

数据类型及长度

允许空

cmc

varchar(50)

no

fmc

varchar(50)

no

lmc

varchar(50)

no

czt

varchar(50)

yes

sid

varchar(50)

yes

dj

Numeric(18,0)

yes

rzsj

varchar(50)

yes

ydsj

varchar(50)

yes

        2.客房信息表(dbo.fxx)用来保存在酒店订房的客的基本信息,如客房号、所在楼名、床位、客房类型、客房配置等。如表3.2所示。

表3.2

列名

数据类型及长度

允许空

fmc

varchar(50)

no

lmc

varchar(50)

no

frs

varchar(50)

yes

fxb

varchar(50)

yes

fbz

varchar(50)

yes

        3.楼房类型表(dbo.lxx)用来保存酒店所有楼房的基本信息,如楼房名、日租金、类型等。如表3.3所示。

表3.3

列名

数据类型及长度

允许空

lmc

varchar(50)

no

lfs

varchar(50)

no

lbz

varchar(50)

no

        4.结账信息表(dbo.jsxx)用来保存酒店所有客房的相关信息,如楼房名、客房号,客房床位,入住人、入住时间、离开时间、结账数额等。如表3.4所示。

表3.4

列名

数据类型及长度

允许空

id

Numeric(18,0)

no

lmc

varchar(50)

yes

fmc

varchar(50)

yes

cmc

varchar(50)

yes

xm

varchar(50)

yes

  rzsj

varchar(50)

yes

tfsj

varchar(50)

yes

je

varchar(50)

yes

        5.客户注册信息表(dbo.sxx)用来保存目前酒店客户的身份证号、姓名、性别、用户名等。如表3.5所示。

表3.5

列名

数据类型及长度

允许空

sid

varchar(50)

no

Sname

varchar(50)

yes

sxb

varchar(50)

yes

sbj

varchar(50)

yes

ssfz

varchar(50)

yes

        6.操作员信息(dbo.linggao)用来保存名字、密码等。如表3.6所示。

表3.6 

列名

数据类型及长度

允许空

username

varchar(50)

no

password

varchar(50)

no

        7. 管理员信息(dbo.guanli)用来保存名字、密码等。如图3.7。

表3.7

列名

数据类型及长度

允许空

username

varchar(50)

no

password

varchar(50)

no

        8. 酒店新闻信息(dbo.news)用来保存编号、标题、内容、发布时间、类型等。如图3.8。

表3.8

bh

varchar(50)

no

bt

varchar(50)

yes

nr

varchar(500)

yes

fbsj

varchar(50)

yes

lx

varchar(50)

yes

        9. 酒店简介(dbo.gg)用来保存酒店介绍、发布时间等。如图3.9。

表3.9

ggnr

varchar(50)

no

fbsj

datetime

no

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1643539.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

牛角源码 | 【高级版】威客点赞悬赏任务源码/赚钱系统抖音快手火山悬赏任务站

点赞任务平台 无BUG完美自营版&#xff01; 霸屏天下赚钱系统源码/抖音快手火山悬赏任务平台 全新ui界面修复升级版任务系统&#xff0c;非市场垃圾版本。非常适合运营&#xff01; 下载地址&#xff1a;【高级版】威客点赞悬赏任务源码/赚钱系统抖音快手火山悬赏任务站 - 牛…

深入解析I2C协议:通讯简化之道

在现代电子系统中&#xff0c;组件间的通信是必不可少的。而I2C协议&#xff08;Inter-Integrated Circuit&#xff09;&#xff0c;由Philips Semiconductor&#xff08;现为NXP Semiconductors&#xff09;在1980s初期发明&#xff0c;已成为一种广泛使用的串行通信协议。其设…

cocos=》 预乘、混合(黑边、白色)

简介 预乘&#xff0c;指的是在数据提交给GPU之前&#xff0c;就对纹理的RGB分量与alpha值进行计算。 预乘计算 结果颜色 源颜色值 目标颜色值 * (1 - 源 alpha 值) result source.RGB dest.RGB * (1 - source.A); 对应的颜色混合函数设置为 gl.blendFunc(gl.ONE, gl.…

【动态规划】投资问题

本文利用markdown基于https://blog.csdn.net/qq_41926985/article/details/105627049重写,代码部分为本人编辑 代码要求 应用动态规划方法&#xff0c;求解投资问题&#xff0c;实现下面的例子。 #define MAX_N 4 //最大投资项目数目 #define MAX_M 5 //最大投资钱数(万元) /…

文献阅读:SPACEL:基于深度学习的空间转录组结构表征

文献介绍 「文献题目」 SPACEL: deep learning-based characterization of spatial transcriptome architectures 「研究团队」 瞿昆&#xff08;中国科学技术大学&#xff09; 「发表时间」 2023-11-22 「发表期刊」 Nature Communications 「影响因子」 16.6 「DOI」 10.…

ICode国际青少年编程竞赛- Python-1级训练场-基础训练2

ICode国际青少年编程竞赛- Python-1级训练场-基础训练2 1、 a 4 # 变量a存储的数字是4 Dev.step(a) # 因为变量a的值是4&#xff0c;所以Dev.step(a)就相当于Dev.step(4)2、 a 1 # 变量a的值为1 for i in range(4):Dev.step(a)Dev.turnLeft()a a 1 # 变量a的值变为…

[C++初阶]string类

1. 为什么要学习string类 1.1 C语言中的字符串 C语言中&#xff0c;字符串是以\0结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c;C标准库中提供了一些str系列的库函数&#xff0c; 但是这些库函数与字符串是分离开的&#xff0c;不太符合OOP(面向对象)的思想&…

JAVA中的lambda表达式(无废话)

Lambda表达式是Java SE 8中一个重要的新特性。 它是一种语法形式&#xff0c;可以代码书写更加精炼。 用人话说就是把原来的代码变得很短。 这部分的内容是非常简单的。 一、函数式接口 想要理解lambda表达式&#xff0c;首先要了解函数式接口。 关于接口的知识请查阅&am…

浏览器中不能使用ES6的扩展语法...报错

浏览器大多数已经支持ES6&#xff08;ECMAScript 2015&#xff09;的扩展语法&#xff08;...&#xff09;&#xff0c;包括Chrome、Firefox、Safari和Edge等。然而&#xff0c;如果你在某些浏览器中遇到无法使用扩展语法的问题&#xff0c;可能是由以下原因导致的&#xff1a;…

ngrinder项目-本地调试遇到的坑

前提-maven mirrors配置 <mirrors><!--阿里公有仓库--><mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</ur…

每周打靶VulnHub靶机-DOUBLETROUBLE_ 1

doubletrouble: 1靶机传送门 get flags 靶机名为 双重麻烦&#xff0c;可能会繁琐一点 1.信息搜集 使用nmap进行域内存活主机扫描继续扫描其开放端口开放了22(ssh)、80(http)端口使用浏览器访问其80端口是一个登录页面&#xff0c;继续扫描其 敏感目录dirsearch -u [http://19…

通过helm在k8s上安装minio

1 helm安装minio 1.1 下载minio 添加仓库 helm repo add bitnami https://charts.bitnami.com/bitnami 将minio拉取下来 helm pull bitnami/minio --version 版本号 解压到本地开始编辑配置文件 tar -zxf minio-xxx.tgz [rootk8s-master01 minio]# vi values.yaml 1.2…

拼多多多多搜索推广技巧

拼多多多多搜索推广技巧主要包括以下几个方面&#xff1a; 拼多多推广可以使用3an推客。3an推客&#xff08;CPS模式&#xff09;给商家提供的营销工具&#xff0c;由商家自主设置佣金比例&#xff0c;激励推广者去帮助商家推广商品链接&#xff0c;按最终有效交易金额支付佣金…

Docker新建容器 修改运行容器端口

目录 一、修改容器的映射端口 二、解决方案 三、方案 一、修改容器的映射端口 项目需求修改容器的映射端口 二、解决方案 停止需要修改的容器 修改hostconfig.json文件 重启docker 服务 启动修改容器 三、方案 目前正在运行的容器 宿主机的3000 端口 映射 容器…

重要!!!方法的进阶使用------回调函数

参考资料&#xff1a; 参考视频 下面所有举的例子都在参考demo中 概述&#xff1a; 回调函数很简单&#xff0c;就是对普通方法参数的类型的拓展&#xff0c;其实是对普通方法的深层应用&#xff1b;回调函数其实就是将含有执行方法类的实例&#xff0c;以参数的形式传入到方…

集成学习算法:AdaBoost详解以及代码实现

本文尽量从一个机器学习小白或是只对机器学习算法有一个大体浅显的视角入手&#xff0c;尽量通俗易懂的介绍清楚AdaBoost算法&#xff01; 一、AdaBoost简介 AdaBoost&#xff0c;是英文"Adaptive Boosting"&#xff08;自适应增强&#xff09;的缩写&#xff0c;由…

【Linux】进程间通信 - 管道

文章目录 1. 进程间通信介绍1.1 进程间通信目的1.2 进程间通信发展1.3 进程间通信分类 2. 管道2.1 什么是管道2.2 匿名管道2.3 用 fork 来共享管道原理2.4 站在文件描述符角度 - 深入理解管道2.5 站在内核角度 - 管道本质2.6 管道读写规则2.7 管道特点 3. 命名管道3.1 匿名管道…

运行时数据区-基础

运行时数据区-基础 为什么学习运行时数据区Java内存区域&#xff08;运行时数据区域&#xff09;和内存模型&#xff08;JMM&#xff09; 区别组成部分&#xff08;jdk1.7 / jdk1.8&#xff09;从线程隔离性分类与类加载的关系每个区域的功能参考文章 为什么学习运行时数据区 …

【云原生】Docker 的网络通信

Docker 的网络通信 1.Docker 容器网络通信的基本原理1.1 查看 Docker 容器网络1.2 宿主机与 Docker 容器建立网络通信的过程 2.使用命令查看 Docker 的网络配置信息3.Docker 的 4 种网络通信模式3.1 bridge 模式3.2 host 模式3.3 container 模式3.4 none 模式 4.容器间的通信4.…

【翻译】REST API

自动伸缩 API 创建或更新自动伸缩策略 API 此特性设计用于 Elasticsearch Service、Elastic Cloud Enterprise 和 Kubernetes 上的 Elastic Cloud 的间接使用。不支持直接用户使用。 创建或更新一个自动伸缩策略。 请求 PUT /_autoscaling/policy/<name> {"rol…