ssm基于JAVA的酒店管理系统的设计与实现

news2024/11/27 6:42:01
系统包含:源码+论文
所用技术:SpringBoot+Vue+SSM+Mybatis+Mysql
免费提供给大家参考或者学习,获取源码请私聊我
需要定制请私聊

目 录

第1章 绪论 1

1.1 选题动因 1

1.2 目的和意义 1

1.3 论文结构安排 2

第2章 开发环境与技术 3

2.1 SSM框架 3

2.2 Tomcat 介绍 3

2.3 IDEA开发工具 4

2.4 Navicat简介 4

第3章 系统分析 5

3.1 可行性分析 5

3.1.1 经济可行性 5

3.1.2 技术可行性 5

3.1.3 操作可行性 5

3.2 系统流程分析 6

3.3 系统性能分析 7

3.4 系统功能分析 8

第4章 系统设计 11

4.1 布局设计原则 11

4.2 功能结构设计 12

4.3 数据库设计 13

4.3.1 数据库E-R图设计 13

4.3.2 数据库表结构设计 16

第5章 系统实现 19

5.1 管理员功能实现 19

5.1.1 房间信息管理 19

5.1.2 房间预定管理 19

5.1.3 论坛管理 20

5.1.4 用户管理 20

5.1.5 新闻信息管理 21

5.2 用户功能实现 21

5.2.1 房间信息 21

5.2.2 在线论坛 22

5.2.3 更改个人信息 22

第6章 系统测试 24

6.1 系统测试方法 24

6.2 功能测试 24

6.2.1 登录功能测试 24

6.2.2 房间查询功能测试 25

6.3 测试结果分析 25

结 论 26

参考文献 27

致 谢 28

第1章 绪论

1.1 选题动因

到现在为止,互联网已经进入了千家万户,最普通的平民百姓也有属于自己的智能设备,计算机各种技术的储备也是相当的丰富,并且实现也是没有难度,各行各业,包括一些个人,也积极拥抱互联网时代的到来,也可以说是互联网时代的到来把人们都给包在互联网之中。从刚开始的政府办公,国家企业的开头使用,到如今的老百姓都能用上,别说那些普通企业了。计算机就是有这样的魅力,互联网被称为浪潮不是浪得虚名的。采用计算机技术,开发一些软件,实现软件所在的目的,这是一个常理,这个基础的常理缩短了地域之间的联系,提高了地域竞争水准,减低了人力成本和数据存储成本。本课题研究的酒店管理系统,也是采用了计算机技术,该系统能够提高酒店信息数据的检索速度,使用起来非常的方便。

1.2 目的和意义

在酒店管理系统实际操作中,使用者会发现使用起来相当的方便,并且对数据的管理者来讲,也能及时的获得自己想要的数据,对整个数据的所有者能提供强大的帮助,酒店管理系统从操作者的角度出发,不管是在数据的接收以及传递,以及处理结果,都有一个很明显的要求,对有效数据的处理,并且形成集合,并且对有效数据集合进行固定化处理,可以得到更有效的数据,有了酒店管理系统,让管理层不至于把大量的人力和财力资源消耗在数据处理整合方面,完全可以让不知疲倦的计算机来进行,不仅投入减低,并且产出也不少。互联网时代就是如此,顺之者昌,响应互联网时代,不至于说可以乘风破浪,起码可以降低直接淘汰出局的几率。酒店管理系统的出现是顺应时代的。

1.3 论文结构安排

酒店管理系统的论文结构将从6个章节进行阐述。具体结构安排如下:

第1章:本章节对本课题的选题动因,本课题的研究目的和意义进行说明。

第2章:本章节对本课题需要运用的环境和技术进行说明。

第3章:本章节对本课题性能,功能进行分析,对系统开发的经济,技术等条件是否可行进行说明。

第4章:本章节对本课题具体的功能进行设计,同时也对系统的数据库进行E-R图设计以及数据表设计。

第5章:本章节对实现的功能的运行效果图进行展示,同时对系统的功能进行说明。

第6章:本章节对系统功能上的测试进行说明,对测试的结果进行分析。

第2章 开发环境与技术

酒店管理系统需要提前对功能进行调查分析,并且根据分析结果进行技术上的辩证,可以选择更合理的开发技术以及开发工具。

2.1 SSM框架

开发一个业务逻辑比较简单的应用,采用这几年最广为流传的SSM框架是很合适的。SSM框架就是Spring
MVC框架和Spring框架,以及持久层常用的MyBatis框架。

三个框架有三个不同的作用。普通用户一般都是操作浏览器进行浏览自己喜欢的内容,也可以通过浏览器提交自己输入的信息,而显示或者提交,都会被Spring
MVC框架进行拦截和处理,进入到更深的一个层次就是控制层,根据不同的提交内容可以访问不同的处理逻辑,让不同的代码进行执行,如果是普通的比较逻辑不需要从数据库里获取内容是不需要传递给MyBatis框架的,如果需要与数据库内容进行交互,就会从Java的POJO对象通过MyBatis自动转换数据库对应字段的数据类型,具体是该增删改查还是其他操作,都会通过MyBatis进行处理,处理结果是反馈给控制层,然后通过控制层再提交给视图层,反馈到用户希望看到的结果。

2.2 Tomcat 介绍

只要学习Java Web项目就不得不学习Tomcat。Tomcat是一种免费的开源的一种Java
Web项目的容器,完美继承了
Apache服务器的特性,并且里面添加可以自动化运行的Java Web组件,让Java
Web项目可以完全的运行到Tomcat里面。对于特大型项目来讲,直接用Tomcat会造成启动变慢,处理有限等,所以对项目进行了前后端分离技术,但是对于需要称不上特大型的项目来讲,普通的大中型项目用Tomcat作为Java
Web项目的运行容器是完全够资格的。最重要的是Tomcat完全跟着Java
EE,每一次Java
EE的升级,Tomcat都会有着对应的版本出现,版本更新速度是非常快的。更新速度快,代表着有技术方面的支持,值得用户使用的,让用户更加信赖Tomcat产品。

2.3 IDEA开发工具

IDEA是捷克共和国的Java程序员开发人员创造的一个开发软件,刚开始主要是对于用Eclipse软件他们用得不顺手,所以直接开发了这款软件。之所以不顺手原因在于没有代码提升功能,原因是Eclipse只是把代码提示作为一种插件形式的存在,如果有些程序开发人员不清楚代码提示插件可能会出问题,并且代码提示只是用来作为插件,所以功能上有所欠缺。IDEA不仅仅代码提示做的很好,在代码重构上面更上如虎添翼,程序开发人员可以选择一段代码然后IDEA就会对代码进行分解重构,有效的把代码弄得更够层次感,复用性更高,用着更简洁和方便,大大的减少了代码工作量,提升了代码开发效率。当然,IDEA对于使用者这么好,肯定也是有目的的,原因在于插件越多越友好,就需要花费大量的金钱来使用,所以说IDEA使用主要是看自己喜好。

2.4 Navicat简介

Navicat是一款管理数据库的软件。众所周知,所有的数据库只是以特定的存放格式进行存放的,访问也需要特定的接口以及语句进行访问。如果访问数据库都用各种命令,不仅仅是开发效率上会大大的降低,并且看起来也不舒服,对于某些数据或者数据库来讲这样并不友好,如何对数据库进行友好的访问到现在为止,不同的数据库厂商都推出了适合自己数据库的管理工具,但是有一点就是,数据库厂商推出之后,只要能用就行,并没有符合人体工程学,所有的数据库厂商推出的数据库管理工具都是免费的,所以并没有对于数据库管理工具进行过多的优化,用起来相当的不友好,并且各个数据库工具是不能通用的,这一点数据库厂商肯定不会去做匹配其他数据库的管理工具,所以Navicat就应运而生,可以采用Navicat管理各种各样的数据库,可以同时访问各种数据库并且通过不同的连接进行访问,还可以访问不同电脑的数据库,页面操作简单,美观大方,用起来很好用,并且占用电脑资源很小,很适合作为替代其他数据库厂商推出的数据库管理工具使用。

第3章 系统分析

通过对系统的功能进行具体分析,可以参考已经发表过的具有参考价值的文章作为对比,这样能把功能分析的很透彻,并且也会因为功能的分析而对性能也有大致的了解,并且可以预测性能,实现性能分析的结果。

3.1 可行性分析

系统的设计必须符合正常逻辑,所以设计之处,也需要从其他方面来论证其可行性。

3.1.1 经济可行性

开发酒店管理系统,存在经济上面的支持,必须经济上的支持才可以有序进行,比如是否需要额外购买开发工具,购买开发电脑,或者从开发技术上是否是免费开源,达到的效果上面是否支出与收入不匹配,这些都需要进行分析。由于开发本系统,开发技术开源且稳定,电脑用正在使用的电脑就能满足,不需要太多的经济支出就可以达到目的,经济可行性通过。

3.1.2 技术可行性

酒店管理系统软件主要用到的一些工具,而这些工具正好在学校就使用过,并且网上有很多免费的并且符合的开发工具,技术方面也学过,并且有图书馆的资源和网络资源可以充分利用。所以在技术角度上面来分析是可以的。

3.1.3 操作可行性

操作方面分为开发过程,实现过程,项目具体操作流程。这些因为都学过,并且有其他的项目流程作为参考。总体实现一般就是用户的登录相关,权限分配,基础数据的变更体现。让不同的角色有不同的操作界面,符合正确角色定位,使用者在操作上面并不会感觉到很突兀,影响操作流程。所以操作方面是可以的。

通过以上不同角度的分析,最后论证分析了可行性是没有问题的,完全可以进行后续步骤。

3.2 系统流程分析

操作逻辑是一个可以用画图工具展示的,因为数据在录入过程中的不可见,只能看到返回结果,所以把流程画成图可以更好的理解其中的顺序。

在系统的各项操作中,其他的录入环节,会对操作者具体操作的每条信息都会提出验证要求,比如不能为空,只能是汉字,以及其他的要求等,这些都在前端需要编写清楚,达到友好提示的目的,有效的帮助操作人员理解操作。具体数据的流程如下面的图所示。当操作员输入信息后,点击提交后台就会接收操作员提交的信息,并且提前编写好的逻辑会继续验证,如果数据合格就存入到数据库里并且返回成功提示,这样一个录入环节就达到了设计要求。

图3.1 添加信息流程图

有时候录入的一些数据可能需要修改,修改就是纠正之前的操作,所以修改数据必须是先把想要修改的数据从数据库里获取出来,然后在这个之上进行修改,修改数据也有相应的操作流程。

图3.2 修改信息流程图

数据的查询是在任何程序上都是一个常规的操作,面对的数据量不一样,想要获取想要的数据时间也不一样,都是尽快的获取自己想要的结果,所以数据查询就需要有个查询条件作为查询关键词,这样可以更好的获取符合关键词的数据。

图3.3 查询信息流程图

3.3 系统性能分析

关于酒店管理系统从性能需求方面来分析,主要从五个角度分析。五个角度分别从设计的实用性,设计的操作性,设计的安全性,设计的适应性和维护性这五个角度来进行分析。

首先分析第一点,设计的实用性。本设计的目的就是让管理员可以综合的处理各种基础信息,并且有相应的权限来进行操作,达到数据同步,集中管理的目的,并且可以让用户处理用户相关信息,符合设计的既定目标,达到使用效果。

其次分析第二点,设计的操作性。开发出来的系统必须有操作性,如果操作起来丢三落四,出现各种不符合流程的操作,那么就是不符合设计规则的,设计的操作性必须符合人体工程学使用原则,从上到下,从左到右,让操作起来更加的有逻辑性,不需要不符合逻辑的页面数据体验和操作流程,让设计的操作性体现出来,看到操作界面就会有相应的下一步理解。

再次是安全性,虽然从任何角度来讲,安全性应该放到第一位,但是有些时候安全性是在数据量大并且数据重要的前提下才会对数据的安全性来进行设计,正常的软件使用过程只要数据设计合理,并且目标单一,让黑客不屑于或者付出不成正比的情况下,安全性自然可以稍微降低一点,毕竟面对的使用群体决定了安全性的强度。本设计主要是从毕业设计的角度出发,增加一点数据校验的安全性就行,没必要设置硬件防火墙之类的资源,所以安全性上面也是符合的。

再次是适应性。适应性主要是面对各种平台的操作系统,目前本设计的开发可以使用本人电脑进行开发,服务器可以架设到任何地方,并且有对应的服务器软件版本。而用户方面只需要能上网,有最新版本的浏览器进行支持即可,所以适应性是相当不错的。

最后是分析维护性。这一点只需要维护服务端代码即可,每次服务端代码维护都可以先把服务器停止,然后在开发电脑上进行测试,最后测试无误再在服务器上进行部署,维护性并不会增加多少成本。

3.4 系统功能分析

当设计人员通过参考各种文献以及其他类似项目的调研后,就会对项目具体的功能进行分析,这样有的放矢可以更快的设计程序的功能。

酒店管理系统的操作者有管理员,分析的管理员功能将使用用例图进行展示。图3.4展示了管理员用例图。管理员管理房间,用户预定房间的信息,用户对房间发布的留言,新闻信息,用户之间交流的论坛帖子信息等。

图3.4 管理员用例图

酒店管理系统的操作者有用户,分析的用户的功能将使用用例图进行展示。图3.5展示了用户用例图。用户预定房间,管理预定房间的信息,查看新闻,在论坛模块发帖或回帖等。

图3.5 用户用例图

第4章 系统设计

在系统设计环境,业务的处理逻辑和数据的设计逻辑虽然是重中之重,但是这些都是用户看不见摸不着的,用户也只是能看到部署好的项目运行起来的结果,所以用户对界面布局以及界面功能比较看重。所以说,如今只要是开发网站不仅仅是需要懂一点页面设计就行,也需要懂得UI设计的人群。传统的网页设计其实就是换几个颜色,放几张图片,然后来充实操作页面,让操作页面不至于太单调,但是互联网发展至今,开发也越来越精细化,用户越来越挑剔,还用凑合方式来进行程序开发,已经是属于落后的状态了。

4.1 布局设计原则

布局不是传统的把页面分分类,输入和显示页面,调整调整间距这些笼统的说法了,布局设计也是有一定的原则的。

首先,布局一定要清晰合理。布局的清晰不是说图片清晰或者文字清晰,而是说用户在使用过程中,看到导航的布局,就能明白所有功能模块都可以在导航里寻找,打开一个页面,就能知道重要与不重要的资料,必须与不必须的填写,甚至是输入的格式是什么规格,都可以让用户使用的时候一目了然。因为界面是有限的,所以说布局是相当重要的一点设计原则。

其次,布局的体现要符合大众审美,比如说导航,尽量都是网页的上方或者左侧。如果把导航放到网页下方或者右方,这些代码都是可以实现,但是不符合正常人的思维定向。现代人的读写习惯都是从上而下,从左到右的阅读方式,人们身体和心灵已经习惯了这种方式,如果布局到其他方向首先用户会感到新颖,但是却不会买账,因为操作几遍后就会不习惯。

最后,布局也要考虑这个软件是用来做什么的,常用这个软件的人员的年龄划分,性别划分,以及职业划分。划分了使用人群,就可以对背景进行调色填充,如果是长时间用电脑的人群尽量设计的有护眼功能,不至于看一会眼睛就受不了,尽量要区分长时间使用和短时间使用的背景,这一点很重要。

综上所述,系统设计需要考虑方方面面,布局设计也是需要精细化考虑,系统设计需要考虑太多,但是实现却不能弄得操作上太复杂,系统设计尽量的要满足用户需要,提高用户满意度。

4.2 功能结构设计

在基于系统功能分析的基础之上,开始对系统的详细功能进行设计,最终将使用结构图的形式对设计的结果进行展示。

管理员具备的详细功能将参照最终的设计结果,即图4.1所示的管理员功能结构图。其中管理员管理房间,用户预定房间的信息,用户对房间发布的留言,新闻信息,用户之间交流的论坛帖子信息等。

图4.1 管理员功能结构图

用户具备的详细功能将参照最终的设计结果,即图4.2所示的用户功能结构图。其中用户预定房间,管理预定房间的信息,查看新闻,在论坛模块发帖或回帖等。

图4.2 用户功能结构图

4.3 数据库设计

数据库的选用方面肯定要选一个市场反应比较好,性价比比较高的数据库,不能凭空想象数据库,要结合程序设计的需求来选择对应的数据库。目前来讲,市面上常用的关系型数据库足够达到需求。

4.3.1 数据库E-R图设计

想好更好的设计出数据库使用效果,那么就要对数据的存放格式以及存放关系作出调查和梳理,所以通过分析E-R图之间的数据实体关系是最好不过的。而设计数据库E-R图是有下面几点好处:

第一点:数据的冗余是一件很恐怖的事情,所以要对有些数据进行冗余筛选;

第二点:防止内存溢出,数据量太大,需要提前做好预测并且设定好规则;

第三点:数据库一定要完整,非完整数据也只是数据垃圾而已,没有任何作用;

第四点:提高数据检索性能;

这节主要是描述对系统的E-R模型的设计,数据存储格式的判断,实现的方法,用户的需要,这些都要统一,不能想当然。并且各个模型中间的关系尤其要突出。

(1)把房间具备的属性通过属性图进行展示,绘制的属性图见图4.4。

图4.4 房间实体属性图

(2)把新闻具备的属性通过属性图进行展示,绘制的属性图见图4.5。

图4.5 新闻实体属性图

(3)把用户具备的属性通过属性图进行展示,绘制的属性图见图4.6。

图4.6 用户实体属性图

(4)把房间留言具备的属性通过属性图进行展示,绘制的属性图见图4.7。

图4.7 房间留言实体属性图

(5)上述实体间关系见图4.8。

图4.8 实体间关系E-R图

4.3.2 数据库表结构设计

数据库设计必须符合规范,那就是三大范式,这样能确保数据的合理:

第一范式:保证表之间的字段关系不存在混淆的描述,必须描述准确,并且单一,不能分解;

第二范式:在上述的满足条件上,主键的设计必须要在固定的列上,不能忽前忽后;

第三范式:继续满足上个条件,保证每个字段都可以根据主键获取到,并且在一个数据表里体现。

所以说,三个范式是一脉相承的,不是说零碎的,从第一个范式上就会发现,第一个永远是基础,后面的设定就是后者的实现必须在前面范式的基础之上的要求,这些设计可以最大化的减少数据冗余,提高数据库运行效率。

表4.1 房间信息表

字段

注释

类型

id (主键)

主键

int(11)

fangjian_name

房间号

varchar(200)

fangjian_types

房间类型

int(11)

fangjian_address

所在区域

varchar(200)

fangjian_peizhi

房间配置

varchar(200)

fangjian_photo

房间图片

varchar(200)

fangjian_new_money

价格/天

decimal(10,2)

status_types

房间状态

int(11)

fangjian_content

商品详情

text

create_time

创建时间

timestamp

表4.2 房间预定表

字段

注释

类型

id (主键)

主键

int(11)

yonghu_id

用户

int(11)

fangjian_id

房间

int(11)

fangjianyuding_time

预定时间

date

update_time

退房时间

date

fangjianyuding_types

预定状态

int(11)

create_time

创建时间

timestamp

表4.3 房间留言表

字段

注释

类型

id (主键)

主键

int(11)

fangjian_id

房间

int(11)

yonghu_id

用户

int(11)

fangjian_liuyan_text

留言内容

text

reply_text

回复内容

text

insert_time

留言时间

timestamp

update_time

回复时间

timestamp

create_time

创建时间

timestamp

表4.4 论坛表

字段

注释

类型

id (主键)

主键

int(11)

forum_name

帖子标题

varchar(200)

yonghu_id

用户

int(11)

users_id

管理员

int(11)

forum_content

发布内容

text

super_ids

父id

int(11)

forum_state_types

帖子状态

int(11)

insert_time

发帖时间

timestamp

update_time

修改时间

timestamp

create_time

创建时间

timestamp

表4.5 新闻信息表

字段

注释

类型

id (主键)

主键

int(11)

news_name

新闻信息标题

varchar(200)

news_types

新闻信息类型

int(11)

news_photo

新闻信息图片

varchar(200)

insert_time

新闻信息时间

timestamp

news_content

新闻信息详情

text

news_delete

假删

int(11)

create_time

创建时间

timestamp

表4.6 管理员表

字段

注释

类型

id (主键)

主键

bigint(20)

username

用户名

varchar(100)

password

密码

varchar(100)

role

角色

varchar(100)

addtime

新增时间

timestamp

表4.7 用户表

字段

注释

类型

id (主键)

主键

int(11)

username

账户

varchar(200)

password

密码

varchar(200)

yonghu_name

用户姓名

varchar(200)

yonghu_photo

头像

varchar(255)

yonghu_phone

用户手机号

varchar(200)

yonghu_id_number

用户身份证号

varchar(200)

yonghu_email

邮箱

varchar(200)

sex_types

性别

int(11)

new_money

余额

decimal(10,2)

yonghu_delete

假删

int(11)

create_time

创建时间

timestamp

第5章 系统实现

下面主要是对系统实现的功能进行描述,一般在系统实现阶段只算是一个粗略的功能实现,可能符合开发人员的设计预期,但是对于具体使用者来讲还是需要其他人进行发现的,所以这个环节是很有必要进行描述的。

5.1 管理员功能实现

5.1.1 房间信息管理

实现房间信息管理功能,其界面运行的效果图见图5.1。在该界面,管理员对房间状态进行查看,更改房间配置,所在区域,房间图片等资料,删除房间信息,同时可以在本界面点击新增按钮新增房间。

图5.1 房间信息管理界面

5.1.2 房间预定管理

实现房间预定管理功能,其界面运行的效果图见图5.2。在该界面,管理员对用户预定的房间信息进行查询并管理,可以为用户已入住的房间办理退房等操作。

图5.2 房间预定管理界面

5.1.3 论坛管理

实现论坛管理功能,其界面运行的效果图见图5.3。在该界面,管理员对用户的发帖以及回帖的帖子内容进行查看,能够删除有必要删除的论坛帖子信息。

图5.3 论坛管理界面

5.1.4 用户管理

实现用户管理功能,其界面运行的效果图见图5.4。在该界面,管理员对用户的身份证号,手机号等信息进行更改,能够删除指定用户,可以在本界面点击新增按钮新增用户信息。

图5.4 用户管理界面

5.1.5 新闻信息管理

实现新闻信息管理功能,其界面运行的效果图见图5.5。在该界面,管理员增加,删除,更改新闻相关信息。

图5.5 新闻信息管理界面

5.2 用户功能实现

5.2.1 房间信息

实现房间信息功能,其界面运行的效果图见图5.6。在该界面,用户预定房间,在本界面的下方对该房间发布留言等。

图5.6 房间信息界面

5.2.2 在线论坛

实现在线论坛功能,其界面运行的效果图见图5.7。在该界面,用户可以查看所有帖子标题,用户点击帖子标题可以对帖子内容进行查看,用户查看帖子内容之后,可以对帖子内容发布个人评论。

图5.7 在线论坛界面

5.2.3 更改个人信息

实现更改个人信息功能,其界面运行的效果图见图5.8。在该界面,用户及时检查并更改发生变化的个人简介信息,更改信息之后需要点击更新信息按钮才可以成功更改个人信息。

图5.8更改个人信息界面

第6章 系统测试

系统测试的含义并不是说只要有了系统测试就不需要程序员自己测试,程序员开发过程中,因为面对的是不断的编码,一个模块一个模块的编写,甚至有些模块不是自己编写的,在整个程序测试中,程序员是必须要自己测试自己写的代码的,如果程序员不自己测试自己写的代码,那么代码的存在是没有意义的。程序员自己测试只是属于系统测试中的第一个环节而已,后续需要专业的测试人员继续测试。

6.1 系统测试方法

系统测试的环节有很多要求,并且有不同的测试方式,有模块测试,整体测试,验收测试,回归测试等。以下内容着重描述不同的测试方法。

模块测试:就是单元测试,每个模块每个功能,分别测试,有问题就反馈。

整体测试:就是集成测试,是模块测试的后续,只要是一个模块相关联的模块,全部测试,这样的好处就是不会漏掉任何一个关联模块。

验收测试:这个是甲方人员所负责的,主要是验收的,自然有验收的方法,可外包第三方测试公司,也可以自己派人测试。

回归测试:测试出问题就修改问题,但是为了避免出现新的问题,所以继续新一轮的测试。只有不断的回归测试,才能把整个程序完美的测试出来,让问题更少,让开发和测试变得更加统一。

6.2 功能测试

既然程序开发好了,那么必备的测试功能是必不可少的,必须测试合格的程序才算是符合正常使用要求的程序,所以测试也是一项很重要的任务。

6.2.1 登录功能测试

系统的登录是首先要测试的环节,虽然系统登录在各个软件上都有这个操作,看起来微不足道,其实也是用户访问的最基本的安全操作,必须登录才算是合法用户。测试结果如下:

表6.1 登录功能测试表

功能

数据输入

预期的结果

实际的结果

测试结果

管理员登录

用户名:保持为空

密码:保持为空

系统弹出提示信息:用户名不能为空

提示用户名不能为空

合格

管理员登录

用户名:kkk

密码:保持为空

系统弹出提示信息:密码不能为空

提示密码不能为空

合格

管理员登录

用户名:kkk

密码:mmm

系统弹出提示信息:用户名或密码错误

提示用户名或密码错误

合格

管理员登录

用户名:kkk

密码:kkk

系统弹出提示信息:成功登录

提示成功登录

合格

6.2.2 房间查询功能测试

系统功能里面关于数据录入成功后,有查询模块的功能必须要测试查询,查询功能必须根据提前设定好的条件来进行查询,如果符合设定的条件会查询出来结果,不符合就不会出现结果。

表6.2 房间查询功能测试表

功能

数据输入

预期的结果

实际的结果

测试结果

房间查询

房间号:保持为空

系统弹出提示信息:房间号不能为空

提示房间号不能为空

合格

房间查询

房间号:%&*

系统弹出提示信息:数据格式有误

提示数据格式有误

合格

房间查询

房间号:111

显示出查询的结果

显示出查询的结果

合格

6.3 测试结果分析

整个测试流程完毕后,从测试功能结果上看,酒店管理系统的功能完全符合设计的要求。从运行结果上看,能保证整天运行,并且运行过程中也没有发现运行异常。从性能消耗结果上看,符合预期消耗,并没有过多的消耗其他服务器资源。系统可以在用户操作违规时能正常提示用户,让用户正常操作,这个机制是相当友好的,一方面避免了用户的野蛮操作,也平复了用户的情绪,让用户有机会改正。整个操作页面和操作流程都符合现代人的操作行为习惯。本系统可以正常上线,可以让用户使用,解决用户生产中面临的问题。

结 论

当毕业设计完成的那一刻,浑身舒坦,并不是说那种无事一身轻的感觉,而是通过这三四个月夜以继日废寝忘食的钻研,终于出现了自己想要的结果。就像一个农夫辛勤劳作终于丰收的喜悦一样。在这个期间,有很多事情,开阔了自己的眼界,在网络上也遇到了很多前辈,对自己有很大的帮助,最应该感谢的人就是自己的导师,有时候导师一句话就能影响整体的开发进度。

酒店管理系统的完成,让我发现在学校里面学的知识很广,在校学习的知识都是基础中的基础,而没有这些基础,可能在网上想要搜索的内容都不理解。在学校学的知识是综合性的,并且每门课程的作用都学到了,当在具体操作过程中发现也只是操作熟练度的问题而已,万变不离其宗,当知道一门技术出现的目的和存在的意义,进而就会发现其中的优点并且能尽快的学习,这就是上大学的好处所在。做完毕业设计更能体会到一句话,那就是实践与理论相结合,在计算机领域,必须先有理论,再有实践,毕竟计算机专业算一门应用性的学科,开发一个项目必须要先有预期,解决什么样的问题,采用什么样的方法,这些都很科学。当项目完成回头一看,就发现自己的学习能力和思维能力提高了很多。

毕业设计按照科学方法进行设计并且完成,在完成后也发现了很多不足,比如毕业设计受限于眼界的限制,对于实际上的分析只是写了大概,具体完成什么样的功能,这些都与商业程序是有很大的区别的,商业程序更复杂更严谨,并且结构也都是最新的架构,与网上的前辈考虑的问题相比,感觉有些问题的确考虑的比较少,也许这就是实际操作中的经验问题。在以后的日子里,将会选择自己喜欢的技术努力的学习,进入一片更广阔的天地。

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

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

相关文章

【AI知识点】置信区间(Confidence Interval)

置信区间(Confidence Interval, CI) 是统计学中用于估计总体参数的范围。它给出了一个区间,并且这个区间包含总体参数的概率等于某个指定的置信水平(通常是 90%、95% 或 99%)。与点估计不同,置信区间通过区…

i春秋云境靶场之CVE-2022-26965

1.环境搭建 提示我们后台存在rce,也就是命令执行漏洞 2.访问环境 cm - cmshttp://eci-2zeh0yf0ohu88wr26unq.cloudeci1.ichunqiu.com/ 我们可看到admin,我们点击,发现是一个登录页面,我们输入弱口令admin,登录成功 3.文件上传 我们在选项——选择主题…

C++:图的遍历

一、简介 图的遍历通常有深度优先遍历和广度优先遍历两种方式,这两种遍历次序对无向图和有向图都使用。 本文分别介绍基于邻接矩阵和邻接表的图的深度优先遍历和广度优先遍历,对于邻接矩阵和邻接表不熟悉的可翻阅:C:图的存储结构及…

dockerpull

20241006更新,亲测可用。 注意:这个方法随时可能会失效。 编辑配置文件,修改镜像源: vi /etc/docker/daemon.json {"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","…

TypeScript 第三部分 扩展

1. 声明文件 主要作用: 类型声明:为库或模块提供类型信息。全局声明:为全局作用域中的类型和变量提供声明。类型兼容性:确保第三方库或自定义代码的类型正确性。代码提示与检查:在开发环境中提供更好的代码提示和类型…

Sollong手机——一站式Web3生态解决方案

从定义上讲,Web3公司也属于互联网公司,不过与传统互联网公司相比,他们有一个很明显的特征:他们不断尝试做去中心化的事,一步步将数据和金融的控制权从美联储(央行和金融机构)、苹果(…

2024/10/6周报

文章目录 摘要Abstract广西的一些污水处理厂工艺解析1. A/O工艺(厌氧-缺氧-好氧工艺)2. 氧化沟工艺3. MBR工艺(膜生物反应器)4. SBR工艺(序批式活性污泥法)5. 生物接触氧化法 其它补充一体化改良氧化沟工艺…

Linux的基础指令(下)

压缩包 这里不为打包和压缩做仔细的区分; 打包: 文件合并; 主要目的是在文件传输,移动时,能有效减少文件的缺失; 压缩:为了减小文件体积,内存; 主要目的是减小使用体…

在JS中定义和使用Vector2

概述 Vector2是GDSCript中表示二维向量的类型,你会发现无论在任何编程语言中,只要你想很好的实现2D绘图以及几何和物理相关,Vector2是你必须要实现的一个类。我之前学C时就写过一个C的版本。 本篇就介绍我自己在JavaScript中定义的Vector2类…

基于ssm 框架的java 开发语言的 在线教育学习平台系统设计与实现 源码 论文

博主介绍:专注于Java(springboot ssm springcloud等开发框架) vue .net php phython node.js uniapp小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆…

AI周报(9.29-10.5)

AI应用-Elayne公司临终规划和自动化遗产结算 创业公司Elayne成立于2023年,由Adria Ferrier和Jake Grafenstein共同创立,Adria Ferrier担任CEO,总部位于科罗拉多州丹佛市。 Elayne公司专注于遗产规划和结算领域,通过人工智能技术…

实验4 循环结构

1、判断素数 【问题描述】从键盘输入一个大于1的正整数,判断是否为素数 【输入形式】输入一个正整数 【输出形式】输出该数是否为素数 【样例输入】10 【样例输出】10 is not a prime number 【样例说明】样例2 输入:-10 输出:error! #de…

实景三维赋能矿山安全风险监测预警

随着科技的不断进步,实景三维技术在矿山安全风险监测预警中的应用越来越广泛,它为矿山安全管理带来了革命性的变革。 一、矿山安全现状 矿山作为国家重要的能源和原材料基地,其安全生产直接关系到国民经济的发展和社会的稳定。然而&#xf…

【前端vue2 + element ui】Dialog 对话框:.vue组件跳转

【前端vue2 element ui】Dialog 对话框&#xff1a;.vue组件跳转 写在最前面一、父组件调用1、<template>1.1 跳转位置1.2 弹窗调用 2、<script>2.1 import2.2 export2.3 methods 二、子组件调用1、<template>2、<script>2.1 export2.2 watch和method…

不可错过!CMU最新《生成式人工智能大模型》课程:从文本、图像到多模态大模型

1. 课程简介 从生成图像和文本到生成音乐和艺术&#xff0c;生成模型一直是人工智能的关键挑战之一。本课程将探讨推动生成模型和基础模型&#xff08;Foundation Models&#xff09;最近进展的机器学习和人工智能技术。学生将学习、开发并应用最先进的算法&#xff0c;使机器…

windows下,在vscode中使用cuda进行c++编程

安装cuda CUDA Toolkit Downloads | NVIDIA Developer 这里网上教程多的是&#xff0c;在这个网址下载安装即可 我这台电脑因为重装过&#xff0c;所以省去了安装步骤&#xff0c;但是要重新配置环境变量。我重新找到了重装之前的CUDA位置(关注这个bin文件夹所在的目录) 在…

Canvas指纹:它是什么以及如何避免被Canvas指纹识别跟踪

Canvas指纹识别技术已成为追踪在线行为的一种隐蔽手段。尽管这个技术在某些方面有其正当用途&#xff0c;它也可能被用于监视我们的在线活动&#xff0c;不经我们的同意就收集个人信息。 你认为启用Canvas指纹禁用功能就能使你在网络上无迹可寻吗&#xff1f;可能需要重新考虑…

开放式耳机是什么意思?漏音吗?开放式的运动蓝牙耳机推荐

目前运动耳机市场主要分为入耳式、骨传导和开放式三类。入耳式耳机占比30%-40%&#xff0c;虽目前占比较大&#xff0c;但因在运动场景下有闷塞感、出汗不适、屏蔽外界环境音带来安全隐患等缺点&#xff0c;占比会逐渐下降。 骨传导耳机占比也为30%-40%&#xff0c;其不堵塞耳…

macos 中使用macport安装,配置,切换多版本php,使用port 安装php扩展方法总结

macport是一款mac系统中比较优秀的软件包管理工具&#xff0c;他与brew的最大区别在于软件包的安装速度相当的快&#xff0c;以安装php为例&#xff0c; 使用port安装和使用brew安装&#xff0c;port方式安装要比brew方式安装要快最少10倍以上&#xff0c; 因为port安装软件包时…

javaScript数组(16个案例+代码+效果图)

目录 1.数组的概念 2.创建数组 1.通过数组字面量创建数组 1.代码 2.效果 2.通过new Array()创建数组 1.代码 2.效果 3.数组的基本操作 1.获取数组的长度 案例:获取数组的长度 1.代码 2.效果 2.修改数组的长度 1.代码 2.效果 4.访问数组 案例:访问数组 1.代码 2.效果 5.遍历数组…