基于Java的旅游服务管理系统的设计与实现_第1页
基于Java的旅游服务管理系统的设计与实现_第2页
基于Java的旅游服务管理系统的设计与实现_第3页
基于Java的旅游服务管理系统的设计与实现_第4页
基于Java的旅游服务管理系统的设计与实现_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

Ⅰ基于Java的旅游服务管理系统的设计与实现摘要伴随着人们生活水平的提高,服务行业也得到了飞速发展。人们对旅游活动也越来越重视。很多旅游爱好者以及生活压力过大的人都会选择周末,节假日或自己休闲时外出旅游,换种环境来放松心情,缓解工作压力,尽享别样生活。为了满足上述需求,因此需要开发一款旅游服务管理系统来帮助用户更方便的找到自己喜欢的旅游景点。论文运用了Java编程语言、SpringBoot框架、MVC模型、IDEA平台以及Mysql数据库等先进技术,构建了一套基于Java的旅游服务管理系统,系统支持并实现了注册登录,用户信息管理,城市信息管理,旅游景点管理,旅游资讯管理,留言板管理,景点分类管理,旅游订单管理,订单支付管理,客户分析管理等多种功能,用户使用本系统能够查看旅游景点信息以及城市相关信息,系统可以满足用户多样化的需求。经过全面测试,测试结果表明系统在功能基本完整,具备较高的实用性。关键词:Mysql;Java;MVC设计模式;旅游服务Ⅱ

ABSTRACTWiththeimprovementofpeople'slivingstandards,theserviceindustryhasalsodevelopedrapidly.Peoplepaymoreandmoreattentiontotourismactivities.Manytravelenthusiastsandpeoplewithexcessivelifepressurewillchoosetotravelonweekends,holidaysortheirownleisuretime,changetheenvironmenttorelax,relieveworkpressure,andenjoyadifferentkindoflife.Inordertomeettheaboveneeds,itisnecessarytodevelopatourismservicemanagementsystemtohelpusersfindtheirfavoritetouristattractionsmoreconveniently.ThispaperusesJavaprogramminglanguage,SpringBootframework,MVCmodel,IDEAplatform,MysqldatabaseandotheradvancedtechnologiestobuildasetofJava-basedtourismservicemanagementsystem,whichsupportsandimplementsregistrationandlogin,userinformationmanagement,cityinformationmanagement,touristattractionmanagement,tourisminformationmanagement,andtourisminformationmanagement.Messageboardmanagement,scenicspotclassificationmanagement,tourismordermanagement,orderpaymentmanagement,customeranalysismanagementandotherfunctions,userscanusethissystemtoviewtouristattractioninformationandcityrelatedinformation,thesystemcanmeetthediversifiedneedsofusers.Afteracomprehensivetest,thetestresultsshowthatthesystemisbasicallycompleteinfunctionandhashighpracticability.Keywords:Mysql;Java;MVCmode;TourismserviceⅢ目录\o"#_Toc132125484"第1章绪论 1\o"#_Toc132125485"1.1研究目的和意义 1\o"#_Toc132125488"1.2国内外研究现状 1\o"#_Toc132125489"1.3研究内容 2\o"#_Toc132125490"1.4论文组织架构 3\o"#_Toc132125491"第2章相关理论和技术 4\o"#_Toc132125492"2.1Java简介 4\o"#_Toc132125493"2.2MySQL特点 4\o"#_Toc132125494"2.3B/S模式 5\o"#_Toc132125495"2.4Vue技术 5\o"#_Toc132125496"第3章系统分析 6\o"#_Toc132125497"3.1可行性分析 63.1.1技术可行性 63.1.2经济可行性 63.1.3操作可行性 6\o"#_Toc132125498"3.2需求分析 73.2.1功能需求分析 73.2.2非功能需求分析 83.3数据流程分析 9\o"#_Toc132125499"第4章系统设计 11\o"#_Toc132125500"4.1功能模块设计 11\o"#_Toc132125501"4.2数据库结构设计 11\o"#_Toc132125503"4.2.1数据库概念设计 11\o"#_Toc132125504"4.2.2数据库逻辑设计 13\o"#_Toc132125506"第5章系统实现 18\o"#_Toc132125507"5.1实现环境 18\o"#_Toc132125508"5.2注册登录 19Ⅳ5.3用户信息管理 21\o"#_Toc132125510"5.4城市信息管理 23\o"#_Toc132125511"5.5旅游景点管理 26\o"#_Toc132125512"5.6留言板管理 29\o"#_Toc132125513"5.7旅游资讯管理 325.8旅游订单管理 355.9订单支付管理 385.10景点分类管理 405.11客户分析管理 41\o"#_Toc132125514"第6章系统测试 43\o"#_Toc132125515"6.1测试步骤 43\o"#_Toc132125516"6.2测试用例 436.2.1登录注册测试用例 436.2.2城市信息管理测试用例 446.2.3旅游资讯管理测试用例 456.2.4旅游景点管理测试用例 466.3测试结论 47结论及展望 48参考文献 49致谢 50保定理工学院本科毕业设计PAGE3第1章绪论1.1研究目的和意义旅游业有自己独特的产业特点。随着社会经济的不断发展,旅游业作为第三产业中最具活力和潜力的产业之一,其重要性日益凸显。旅游业和实物交换行业在本质上是两个完全独立的领域,旅游业所涉及的产业包括景点,交通,住宿等,属于综合型产业,旅游景点的好坏直接反映了产业的高低。旅游业能够有效地拉动地方经济,很多地区都是靠旅游业快速致富,这说明旅游业具有巨大潜力。此外,运用这些先进技术,从现有的客户群体中提取同龄或同部位的信息,并对其进行深度挖掘,以满足客户的个性化需求。本文就主要探讨如何借助互联网平台来提高旅游业的服务质量及服务水平。以提升游客的旅游感受为目标,从而优化其体验。随着信息技术的进步,计算机已经成为现代社会不可或缺的工具之一,它使人类进入信息时代,随着计算机网络的飞速演进,其发展势头愈加迅猛,人们之间的信息交流得到了极大的加速,人与人之间的距离也变得更加紧密。因此,旅游业也逐渐成为了一种新兴行业,受到越来越多的关注和重视。1.2国内外研究现状目前,中国的旅游信息管理系统的发展进程与国外存在较大的差异。在20世纪末,中国旅游业并没有充分地采用信息化技术与学术工作相互融合的情况。在我国,2019年徐鹏涛在《基于安卓平台下移动旅游服务系统的设计与开发》[1]一文中介绍了Android技术,并探讨了在Android环境下实现移动GIS定位的技术的可行性以及其优缺点。同时详细介绍了开发这款APP所采用的环境、技术和接口,并借助Android系统的硬件调用接口实现了路径规划算法。最终选定了Dijkstra算法作为旅游路径推荐的算法。最后通过系统的分析和设计,采用Java语言,在Android等集成平台上进行系统开发,并成功实现了系统的基本功能。

但在系统功能的设计上还并非十分完善。2020年,贺蕴彬在《基于用户体验的智慧旅游服务系统》[4]一文中以感知互动等高效信息服务为特性的智慧旅游服务系统架构已成为高效旅游信息化服务的关键技术之一,以用户体验为核心,并借助交互设计手段,致力于打造个性化、人性化、便捷化的服务系统。交互设计的主要意义在于将系统的可用性与易用性紧密结合,构建一座连接系统与用户的良好沟通桥梁,从而让用户在使用系统的操作过程中获得更多的乐趣与舒适体验。2021年,毕星在《自助旅游线上服务管理系统的设计与实现》[6]对旅游服务管理系的设计与开发上做出了进行一步的提升,设计的系统采用SQLServer作为服务管理的数据库,开发技术使用ASP.NET,给出了系统的实现,并对系统进行了测试。该系统根据游客个人兴趣、游玩时间和体力等级,进行路线选择和定制,并提供便于查询的地图服务。本研究在自助导游平台方面,通过满足不同游客的景点查询、住宿和交通等需求,实现了个性化的设计和开发。同时2019年,宋丹睿在《自助旅游线上服务管理系统的设计与实现》[11]一文中设计的自助旅游线上服务管理系统也具有很大的参考价值,并研发出一套相应的软件系统。系统采用了Mobile/Service架构来进行技术实现。手机端基于Android平台使用Java语言进行开发,服务端则使用J2EE技术。Web层框架选用了SpringMVC,数据持久层框架选用了Hibernate,项目容器管理框架则采用了Spring。此外,系统所使用的轻量级开源数据库服务器为PostgreSQL,Web服务器采用Tomcat7。为用户提供景区语音介绍及天气信息等,有效的解决了游客自助游的需求。对我国其他景点的信息化建设具有一定的引导和示范作用。美国旅游研究学者Gumn在20世纪70年代末提出了将信息化技术与旅游业相结合的理念,将游客与旅游目的地相连。基于这一理论,可以获得相对稳定的旅游信息报告研究。随后,北美及西欧的多位学者利用地理信息技术将当地的所有旅游信息融合在一起,实现了旅游目的地的系统管理。他们利用旅游景点信息设置,将旅游者提供的景区服务信息相互整合在一起。相对典型的有2021年,Jacobson.M,Koblitz.N,Silverman.J等人在《SafetyRiskAssessmentofTourismManagementSystemBasedonPSO-BPNeuralNetwork》[21]一文中设计的智慧旅游管理系统,整个系统采用JavaEE技术进行实现,给出详细的体系架构设计内容。并详细阐述了算法的处理流程,可以对整个旅游数据进行分析,以便主管部门更好地确定相关旅游政策。但是,该算法存在一定的弊端,若景点数量增加,则算法的计算工作将呈指数增长,难以在实际系统中应用,同时存在计算效率低等问题,在实际问题处理中也难以满足应用需要。因此在2021年,EspinozaMuñoz,Einer,FloresAlbornoz,Judith等人在《Touristhotspotspredictionmodelbasedonoptimizedneuralnetworkalgorithm》[23]文章中设计了基于B/S的旅游信息管理系统,采用基于B/S模式的三层架构,开发语言选用JAVA语言。该系统提供了旅游景点查询、酒店预订、地图导航等功能,提高游客查询旅游资源的效率,同时为咸阳地区旅游资源的宣传提供了一种有效途径。此系统具有一定的应用价值,其信息发布不受时间地域的限制,用户可以通过网络进行在线互动,获得管理人员关于相关旅游信息的咨询和建议。该系统的实现将极大地方便广大游客对咸阳地区旅游景点的查询,并促进本地旅游信息的宣传,对于旅游服务管理系的发展具有一定的借鉴意义。1.3研究内容在需求分析的基础上,完成了旅游服务管理系统的设计和实现,包括系统的界面设计、数据结构和数据流程的设计、实现和测试。重点介绍了系统功能模块的详细设计思路和实现方法,并对系统关键技术和部分源代码进行了详细的解释和说明。系统的主要功能包括:注册/登录、用户信息管理、城市信息管理、景点分类管理、旅游订单管理、旅游资讯管理、留言板管理和客户分析管理。1.4论文组织架构本文的结构安排如下:第1章:探究本文的研究目标和意义,深入分析了国内外相关问题的研究现状,并对本文的结构进行了详细的说明。第2章:程序开发的环境和技术工具等。第3章:对旅游服务管理系统进行全面的可行性和需求分析。第4章:对旅游服务管理系统作相应设计,包括功能模块设计和数据库设计第5章:对旅游服务管理系统进行全面的功能模块设计。第6章:对旅游服务管理系统进行了部分的功能模块测试,并呈现了测试结果。

第2章相关理论和技术2.1Java简介Java作为一种面向对象的程序设计语言,具备编写跨越多个平台的应用程序的能力。在系统分析中,首先对旅游行业进行需求分析,然后通过用例和类图对系统进行了总体设计,最后给出了系统总体结构框图。Java在开发过程中采用了一系列高效的编程模型与方法,包括动态数组技术,对象封装机制以及消息队列等关键技术,并将这些技术运用到各种不同领域之中。它是JamesGosling与他的同事合作开发的,于1995年上市。它主要用来开发基于网络环境下的应用程序接口和程序组件。Java原名Oak,1991年针对消费电子产品嵌入式芯片提出。当时它的主要目的是为了提高产品的可靠性及降低开发成本。随着网络技术的迅猛发展和计算机应用水平的不断提高,用户对浏览器功能的要求越来越高。从最初的静态网页到现在的可定制页面,从传统的单线程运行模式到如今的多任务并发运行模式,每一次都发生着巨大变化。Java自从采访以来一直很受欢迎,并得到了快速的发展,给C++和语言带来了强大的震撼。在世界云计算,移动互联网等行业大环境中,Java更具显著优势,发展前景广阔。随着企业信息化进程不断推进,软件行业逐渐向服务转型,传统软件厂商开始寻找新的商业模式来应对竞争。2010年Oracle公司收购了SumMicroSystems。2.2MySQL特点 Oracle甲骨文公司旗下的MySQL被归类为一种基于人际关系的数据库形式、微软的SQLServer。它采用了一种全新的编程思想——类与对象技术来描述系统开发过程中所涉及到的概念、数据和有关机制。MySQL数据库支持多种操作系统的运行,它们都提供了全面的操作系统支持。由于它具有良好的可扩展性,所以在许多领域得到应用。本文采用综合理论和实证研究的方法,构建了一个全面系统的旅游服务质量评估框架,为我国旅游业管理部门和企业提供了可靠的参考依据。本文从实际出发,对信息系统中涉及到的一些基本概念进行了界定,并分析了系统应具有的基本功能,以及这些功能模块的相互联系。该系统的核心功能在于对数据进行处理,而其中一个主要的功能是提供足够的空间以存储数据。该数据库系统采用面向对象的程序设计技术。该功能涵盖了在系统和非系统之间进行数据交换所必需的多种特性。因此,对数据存储的要求很高。通常情况下,数据库的存储方式并非直接面向数据,而是通过表/索引等对象来实现数据的存储。数据库本身只需对用户输入信息进行简单地管理即可,所以数据库系统并不是一个复杂的计算系统,而是一个很容易实现的信息系统。该操作可供非结构化或非特定使用者使用,且不会对其他使用者或环境造成任何影响。由于用户对数据文件中信息有一定的权限,所以数据库的安全性很重要,在系统开发之前要对系统进行全面的安全测试,确保系统的可靠性与健壮性。2.3B/S模式所定义的模块,即客户端应用程序,为用户提供了与操作系统数据直接交互的便利。它具有良好的兼容性及可扩展性等优点,是当今应用最广泛的数据库系统之一。多资源系统的快速高效管理,是服务器管理人员的主要职责所在。服务器管理器提供了多种功能来处理这些任务并为其分配相应的资源。如果客户端应用程序被激活后,则它能从服务器端获取相应的服务。在进行应用程序和数据库之间的交互时,中间组织者能够高效地建立起与客户端应用程序和服务器管理器的连接。本文所讨论的B/S模型就是一种新型的MIS系统平台——以网络关系为依托,以用户层相互交叉为管理基础。这些应用通常由不同类型的服务器来完成。理论上B/S模型就是三层系统管理平台,而在这三层系统管理平台中刚刚阐述的C/S模型就是将单个服务器管理层划分为一台或几台服务器,也可以将服务器与应用程序结合起来构建三层系统管理平台来实现用户与服务器之间信息的传递。2.4Vue技术Vue是一种JavaScript框架,它被广泛应用于用户界面的构建。它将成为一种新型的信息管理系统平台。在本文中,将介绍如何利用该工具创建一个界面层以及如何使用该套模型来实现对页面内容进行动态加载的过程。Vue.js是一个渐进式框架,可用于构建用户界面。该框架可以快速搭建一个界面风格多样且功能强大的可视化应用系统。Vue采用了一种自下而上的增量开发设计,与其他重量级框架形成了鲜明的对比。它将应用程序中最关键的部分放在最上层。Vue的核心库专注于视图层,其学习难度极低,且能够轻松地与其他库或已有项目进行无缝整合。这意味着用户不需要考虑如何创建一个完整的用户界面。从另一个角度来看,这些特点都使它成为一个优秀的分布式平台。该系统的所有应用程序都由服务器进行管理,它能够提供多种服务,以支持不同类型的客户使用和管理资源。Vue.js以达到优化用户体验和提高用户体验的目的,以达到更高效的性能和功能。在这款平台上,可以方便用户快速创建具有交互功能的界面,也可将其应用于网页设计中。Vue.js并不具备全能框架的能力,它专注于视图层的应用。由于它不需要任何底层函数就可以提供对数据集的操作。因此,它的学习难度极低,此外,它还能够轻松地与其他数据库或已有项目实现无缝融合。第3章系统分析3.1可行性分析3.1.1技术可行性技术上的可行性指的是在本次系统开发中将使用什么技术,同时需要用同处于不同平台和战场上的年轻战士,用同频发的术语和术语来表达自己的立场和观点,同时,还需要用同频发的术语来表达自己的立场,以确保自己的立场始终保持高度一致,过程中主要基于SSM框架,并且整个开发思路采用MVC设计模式,弹性管理代码,Idea是现今做得最好的一款多语言集成开发环境,同时大多数与之相关的开发工具都是免费的。3.1.2经济可行性所谓经济可行性,就是我国发展进程与我国过去发展预算相一致,发展全过程支出均有清晰文件记录,与发展进程相一致。本系统就是根据以上两点进行设计开发的,主要目的在于提高我服务质量和服务水平,从而达到更好地满足广大游客的需求。本系统完成以后,所开发出的旅游管理系统具有良好的发展前景和经济价值,还没有来得及对系统进行开发就被纳入了考虑之列。目前,本文已经完成了旅游管理系统中的一些功能。综上所述,本文认为基于Java设计和开发这类旅游服务管理系统具有经济上的可行性。3.1.3操作可行性用户在接收到系统递送的数据后,敏捷、灵活、完备的输入功能基本上都是由图形界面来完成,而管理员与用户对他们的信息进行核对,并没有模糊之处。本系统就是根据以上两点进行设计开发的,主要目的在于提高服务质量和服务水平,从而达到更好地满足广大游客的需求。另一重要的原因就是用户能够很容易的操作控制。在许多领域中,人们希望能够使用一种通用且易于扩展的技术,将不同类型的应用程序集成到一起并提供良好的用户界面,从而使他们能快速、简单而又准确地完成各种工作。为保证系统高效、易用,需要从多个层面管理用户权限,保证系统简洁。此外,还需保证系统运行在安全环境中,这就要求对系统要有很强的健壮性。所以,需要高可扩展性系统以支持更多的应用类型。此外,由于用户可以在不同平台上使用,因此也就要求有一种灵活、安全并且易于维护的访问控制机制。基于这些考虑,可以确定这个开发是可操作的。3.2需求分析为了满足系统功能的要求,需要提供更多关于实施软件功能要求时所需和不需要的信息,这些信息可以通过对系统功能进行分类和解析来获取。对需求进行详细地分析是软件开发中最重要也是最难的一步。通过进行精细的分析活动,可以有效地避免或报告今天上午出现的早期错误,从而提高软件的生产效率,并使其具有更强的实用性和实践性、降低开发‎‏成本并提高软件质量。3.2.1功能需求分析在基于Java的旅游服务管理系统当中,用户注册登录进入系统后,输入自己想要的去的目的地后通过服务人员的具体规划后对计划进行查看,完成后通过线上虚拟支付对订单进行支付。管理员能够在系统后台进行注册登录,用户信息管理,城市信息管理,旅游景点管理,旅游订单管理,订单支付管理,留言板管理等功能,具体如图3.1和3.2所示注册/登录注册/登录个人数据管理理个人数据管理理查看城市信息理查看城市信息理 查看旅游景点 预定旅游景点 查看旅游资讯 留言板留言用户 订单支付 图3.1用户用例图注册登录注册登录用户信息管理理用户信息管理理城市信息管理理城市信息管理理 旅游景点管理 旅游订单管理 景点分类管理 客户分析管理 留言板管理旅游资讯管理理旅游资讯管理理 轮播图管理 图3.2管理员用例图3.2.2非功能需求分析除满足功能性要求外,本系统还满足以下相关的非功能性要求:(1)易用性:系统界面设计简单美观、功能设计合理,用户易于操作上手。用户可通过提示进行注册和登录,以获取有效信息和数据分析结果。而且还能及时了解到网站的最新动态和发展方向,从而提高了网站建设效率。(2)安全性:系统提供了权限和身份摘要信息,不同用户权限不同,只能执行其权限允许的操作,以维护数据安全,需事先进行数据备份。在数据出现错误时,可以使用系统还原技术进行恢复。(3)可靠性:该系统可以在高低上运行并系统应保证故障和问题出现的概率低于特定水平,并保持用户的行为操作和数据不受影响。为确保系统稳定可靠运行,系统响应时间在非高峰时间不到3秒,高峰时间不到5秒。错误处理机制的建立可以保证系统长时间运行可靠,方便解决系统中的错误。3.3数据流程分析用户需先注册登录账号,新用户需进行账号注册,老用户则直接登录。注册和登录流程图详见图3.3和3.4。1.注册流程图图3.3注册流程图2.登录流程图图3.4登录流程图

第4章系统设计4.1功能模块设计对于基于Java的旅游服务管理系统,需要对其各项功能进行深入分析,主要是用户信息管理、城市信息管理、景点分类管理、订单记录管理、旅游资讯管理、留言板管理以及客户分析管理。系统的各功能模块如下图4.1所示:旅游旅游服务管理系统注册登录用户信息管理城市信息管理旅游景点管理留言板管理旅游资讯管理旅游订单管理订单支付管理景点分类管理客户分析管理图4.1系统功能模块图4.2数据库结构设计4.2.1数据库概念设计1.管理员实体,包括管理员的账号、密码、角色等属性。如图4.2所示。图4.2管理员实体图2.用户实体包含账号、密码、姓名、性别和电话号码等属性。如图4.3所示。图4.3用户实体图3.旅游订单实体,包括订单编号、门票价格、购买数量、总价格、创建时间。如图4.4所示。旅游订单旅游订单创建时间订单编号总价格购买数量门票价格图4.4旅游订单实体图4.留言板实体,包括留言内容、留言图片、回复内容等属性。如图4.5所示。留言板留言板留言图片回复内容留言内容图4.5留言板实体图4.2.2数据库逻辑设计(1)管理员表users为了记录管理员的功能信息,使用了一种名为“users”的数据库表表,该表对应于管理员。当需要修改该数据时,只需将其添加到相应的表中即可。表4.1所呈现的是Users数据库的结构。表4.1管理员表字段名称类型长度字段说明主键idint主键主键usernamevarchar10用户名passwordvarchar20密码rolevarchar15角色addtimetimestamp新增时间idint主键主键(2)旅游景点表lvyoujingdian“旅游景点表lvyoujingdian”是用来记录旅游景点的信息。lvyoujingdian的结构如表4.2所示。表4.2旅游景点表字段名称类型长度字段说明主键默认值idint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPuseridint留言人id续表4.2旅游景点表字段名称类型长度字段说明主键默认值jingdianmingchengvarchar20景点名称jingdianfenleivarchar20景点分类jingdiantupianlongtext4294967295景点图片chengshimingchengvarchar20城市名称jingdianxingjivarchar20景点星级jingdiandizhivarchar20景点地址menpiaojiageint门票价格yingyeshijianvarchar50营业时间zhuyishixiangvarchar100注意事项jingdianjieshaolongtext4294967295景点介绍(3)旅游订单表lvyoudingdan“旅游订单表lvyoudingdan”是用来记录旅游订单的详情信息。lvyoudingdan的结构如表4.3所示。表4.3旅游订单表字段名称类型长度字段说明主键默认值idint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPdingdanbianhaovarchar20订单编号jingdianmingchengvarchar15景点名称jingdianfenleivarchar20景点分类chengshimingchengvarchar15城市名称jingdianxingjivarchar10景点星级jingdiandizhivarchar20景点地址menpiaojiagefloat门票价格goumaishuliangint购买数量zongjiagefloat总价格yonghuzhanghaovarchar20用户账号续表4.3旅游订单表字段名称类型长度字段说明主键默认值yonghuxingmingvarchar10用户姓名yonghushoujivarchar20用户手机goupiaoshijiandatetime购票时间beizhuvarchar100备注ispayvarchar10是否支付未支付(4)客户分析表kehufenxi“客户分析表kehufenxi”是用来记录用户的任务信息。kehufenxi的结构如表4.4所示。表4.4客户分析表字段名称类型长度字段说明主键默认值idint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyonghuzhanghaovarchar20用户账号yonghuxingmingvarchar10用户姓名xiaofeishuipingvarchar15消费水平fenxijieguolongtext4294967295分析结果changqujingdianvarchar15常去景点fenxineironglongtext4294967295分析内容fenxishijiandatetime分析时间beizhuvarchar100备注(5)景点分类表jingdianfenlei“景点分类表jingdianfenlei”是用来记录景点的分类信息。jingdianfenlei的结构如表4.5所示。表4.5景点分类表字段名称类型长度字段说明主键默认值idint主键主键续表4.5景点分类表字段名称类型长度字段说明主键默认值addtimetimestamp创建时间CURRENT_TIMESTAMPjingdianfenleivarchar20景点分类(6)旅游景点评论表discusslvyoujingdian“旅游景点评论表discusslvyoujingdian”是用来记录用户发送的旅游景点分类评论的信息。discusslvyoujingdian的结构如表4.6所示。表4.6旅游景点评论表字段名称类型长度字段说明主键默认值idint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPrefidint关联表iduseridint用户idavatarurllongtext4294967295头像nicknamevarchar15用户名contentlongtext4294967295评论内容replylongtext4294967295回复内容(7)旅游信息资讯表news“news”是一种记录管理员向用户发布的旅游信息的工具,它可以帮助用户获取最新的旅游资讯。当需要修改该数据时,只需将其添加到相应的表中即可。根据表4.7所示,News所对应的数据库结构呈现出一种高度结构化的状态。表4.7旅游资讯表字段名称类型长度字段说明主键默认值idint主键主键续表4.7旅游资讯表字段名称类型长度字段说明主键默认值addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar20标题introductionlongtext4294967295简介picturelongtext4294967295图片contentlongtext4294967295内容(8)留言板表messages“留言板表messages”是用来记录用户的留言信息。messages的结构如表4.8所示。表4.8留言板表字段名称类型长度字段说明主键默认值idint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPuseridint留言人idusernamevarchar20用户名avatarurllongtext4294967295头像contentlongtext4294967295留言内容cpicturelongtext4294967295留言图片replylongtext4294967295回复内容rpicturelongtext4294967295回复图片第5章系统实现5.1实现环境开发语言:Java框架:springboot

框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7数据库工具:Navicat11开发软件:ideaMaven包:Maven注册登录首次进入系统的用户,点击个人中心后会直接进入用户注册界面,需要录入账号、用户名、密码、姓名、年龄和手机等信息。具体的界面如图5.1。图5.1用户注册界面用户登录注册时,需要输入用户的姓名及身份证号。系统自动生成并显示登录结果。一旦用户完成登录操作,系统将自动启动,进入相应的菜单,可以查看自己想要的内容以及相关的服务信息。用户登陆界面如图5.2所示。图5.2用户登录界面用户注册时输入账号、密码、姓名、年龄等信息,点击注册,注册成功后会有提示,否则注册失败。具体的用户注册成功界面如图5.3所示。图5.3用户注册成功界面管理员需要在后台系统中输入正确的用户名和密码登录。具体的登录界面见图5.4,登录成功即可进入进后台管理界面。图5.4管理员登录界面当管理员在后台登录界面输入了账号和密码,并选择了想要登录的角色,系统将会自动提示您的管理员成功登录,否则系统将无法正常运行。用户登陆注册后,系统会提供多个不同的角色供用户选择、管理员等等。管理员登录成功的界面如图5.5所示图5.5管理员登录成功界面如果用户没有按照要求完成登陆过程,则显示“未进行正确的操作”对话框。一旦用户进入系统即刻呈现在他们眼前,就可以通过鼠标单击或拖动按钮来控制登录过程,同时也能对系统文件进行操作。图5.6所呈现的是用户成功登录的用户界面。图5.6用户登录成功界面实现该功能的关键代码如下。publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){YonghuEntityuser=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuzhanghao",username)); if(user==null||!user.getMima().equals(password)){ returnR.error("账号或密码不正确"); } Stringtoken=tokenService.generateToken(user.getId(),username,"yonghu","用户"); returnR.ok().put("token",token); }publicRregister(@RequestBodyYonghuEntityyonghu){ //ValidatorUtils.validateEntity(yonghu); YonghuEntityuser=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuzhanghao",yonghu.getYonghuzhanghao())); if(user!=null){ returnR.error("注册用户已存在"); } LonguId=newDate().getTime(); yonghu.setId(uId);yonghuService.insert(yonghu);returnR.ok();}5.3用户信息管理用户一旦成功登录进入系统后,再次点击“个人中心”按钮,即可进入个人中心界面,可以对个人信息进行修改,用户可以选择更新信息,从而完成个人信息的修改。当登录界面上出现了多个不同类型的按钮时,则可以分别进行操作。个人信息界面显示如图5.7、5.8所示:图5.7用户信息界面图5.8我的收藏功能界面管理员可进行用户信息的添加、修改、删除、批量删除和查看详情等操作,这些功能均可在用户信息管理界面中实现。如图5.9所示图5.9用户信息管理界面实现该功能的关键代码如下。

@RequestMapping("/list")

publicRlist(@RequestParamMap<String,Object>params,MessagesEntitymessages,

HttpServletRequestrequest){

EntityWrapper<MessagesEntity>ew=newEntityWrapper<MessagesEntity>();

PageUtilspage=messagesService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,messages),params),params));

returnR.ok().put("data",page);

}}@RequestMapping("/query")publicRquery(YonghuEntityyonghu){EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); ew.allEq(MPUtil.allEQMapPre(yonghu,"yonghu")); YonghuViewyonghuView=yonghuService.selectView(ew); returnR.ok("查询用户成功").put("data",yonghuView);}@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){YonghuEntityyonghu=yonghuService.selectById(id);returnR.ok().put("data",yonghu);}5.4城市信息管理用户登录后可以通过点击城市信息查询到所有的城市信息,同时通过快捷搜索来对你喜欢的景点进行查询。用户查询城市信息如图5.10所示图5.10用户查询城市信息界面 当用户点击相关图片或文字,即可查看该城市的详细信息。具体的查询城市详情界面可参考图5.11所示图5.11用户查询城市详情界面管理员登陆系统后台,访问位于城市信息界面面的后台,可实现城市信息的增删改查等功能。通过该功能还可修改城市信息,方便了用户进行查看,提高了用户的观感。城市信息管理中的界面如图5.12所示图5.12城市信息管理界面管理员可以点击修改按钮进入修改的页面,如图5.13所示图5.13未修改城市信息界面管理员可在修改页面进行各种修改操作,例如修改城市图片等。修改成功后会有提示。如图5.14所示图5.14已修改城市信息界面实现该功能的关键代码如下。publicRquery(ChengshixinxiEntitychengshixinxi){

EntityWrapper<ChengshixinxiEntity>ew=newEntityWrapper<ChengshixinxiEntity>();

ew.allEq(MPUtil.allEQMapPre(chengshixinxi,"chengshixinxi"));

ChengshixinxiViewchengshixinxiView=chengshixinxiService.selectView(ew);

returnR.ok("查询城市信息成功").put("data",chengshixinxiView);

}/**

*修改

*/

@RequestMapping("/update")

@Transactional

publicRupdate(@RequestBodyChengshixinxiEntitychengshixinxi,HttpServletRequestrequest){

//ValidatorUtils.validateEntity(chengshixinxi);

chengshixinxiService.updateById(chengshixinxi);//全部更新

returnR.ok();

}5.5旅游景点管理用户在登录之后,查看旅游景点主页如图5.15所示。点击图片或文字进入详情如图5.16所示。图5.15用户查询旅游景点界面图5.16用户查看景点详情界面管理员须登录系统,在旅游景点模块处进行点击操作,即可进入旅游景点。该界面的具体结构和样式请参见图5.17图5.17旅游景点管理界面管理员可通过点击新增按钮进入新增界面,并添加相应的旅游景点信息,如图5.18所示图5.18添加旅游景点信息界面添加成功的主页面如图5.19所示图5.19旅游景点添加完成界面实现该功能的关键代码如下。publicRquery(LvyoujingdianEntitylvyoujingdian){

EntityWrapper<LvyoujingdianEntity>ew=newEntityWrapper<LvyoujingdianEntity>();

ew.allEq(MPUtil.allEQMapPre(lvyoujingdian,"lvyoujingdian"));

LvyoujingdianViewlvyoujingdianView=lvyoujingdianService.selectView(ew);

returnR.ok("查询旅游景点成功").put("data",lvyoujingdianView);

}/**

*添加

*/@RequestMapping("/add")

publicRadd(@RequestBodyLvyoujingdianEntitylvyoujingdian,HttpServletRequestrequest){

lvyoujingdian.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());

//ValidatorUtils.validateEntity(lvyoujingdian);

lvyoujingdianService.insert(lvyoujingdian);

returnR.ok();

}5.6留言板管理用户登录之后,可以在前台进行留言。用户留言的功能如图5.20所示。图5.20用户留言功能界面管理员登录到系统中,通过搜索用户的用户名来查询到该用户对景点的留言信息,查询之后会展示用户名,用户的留言内容。如图5.21所示图5.21查看留言板详情界面点击详情按钮可查询个别用户留言信息。留言板管理界面如图5.22所示图5.22留言板管理界面管理员可以对用户留言进行删除,如图5.23、5.24所示图5.23删除用户留言界面图5.24删除成功的留言板界面实现该功能的关键代码如下。publicRquery(MessagesEntitymessages){

EntityWrapper<MessagesEntity>ew=newEntityWrapper<MessagesEntity>();

ew.allEq(MPUtil.allEQMapPre(messages,"messages"));

MessagesViewmessagesView=messagesService.selectView(ew);

returnR.ok("查询留言板成功").put("data",messagesView);

}

}/**

*删除

*/

@RequestMapping("/delete")

publicRdelete(@RequestBodyLong[]ids){

messagesService.deleteBatchIds(Arrays.asList(ids));

returnR.ok();

}5.7旅游资讯管理用户在登录之后,可以点击导航栏的旅游资讯按钮看到旅游资讯相关信息,同时还可以快捷搜索,输入关键字进行查询。用户查看旅游资讯信息如图5.25所示图5.25用户查看旅游资讯界面管理员还可以进行添加、修改、删除、批量删除、查看详情等操作。如果需要查看所有资讯的信息则可通过鼠标单击“详情”查看所有旅游资讯的信息。在旅游资讯信息后台管理界面中如图5.26所示图5.26旅游资讯管理界面管理员点击详情可以查看旅游资讯的相关信息如图5.27所示图5.27旅游资讯详情界面实现该功能的关键代码如下。@RequestMapping("/query")

publicRquery(NewsEntitynews){

EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>();

ew.allEq(MPUtil.allEQMapPre(news,"news"));

NewsViewnewsView=newsService.selectView(ew);

returnR.ok("查询旅游资讯成功").put("data",newsView);

}/**

*查看

*/@RequestMapping("/info/{id}")

publicRinfo(@PathVariable("id")Longid){

NewsEntitynews=newsService.selectById(id);

returnR.ok().put("data",news);

}@IgnoreAuth

@RequestMapping("/detail/{id}")

publicRdetail(@PathVariable("id")Longid){

NewsEntitynews=newsService.selectById(id);

returnR.ok().put("data",news);

}5.8旅游订单管理用户进入旅游订单界面,查看订单编号、景点名称、价格、开放时间等相关信息,完成预定操作后可直接提交。这样便能够成功预定旅游景点。如图5.28所示。图5.28用户预定旅游景点界面以管理员身份登录到后台系统中,通过搜索景点的名称查询到展示景点相关信息,用户可通过按下查询按钮获取旅游订单信息、按下修改、按下删除按钮。同时还能对旅游订单进行统计和分析,并将结果以图片或文字方式展现出来,方便了游客在旅行途中查阅。旅游订单管理如图5.29所示图5.29旅游订单管理界面 管理员修改旅游订单界面如图5.30所示图5.30修改旅游订单界面修改成功界面如图5.31所示图5.31旅游订单后台管理界面实现该功能的关键代码如下。publicRquery(LvyoudingdanEntitylvyoudingdan){

EntityWrapper<LvyoudingdanEntity>ew=newEntityWrapper<LvyoudingdanEntity>();

ew.allEq(MPUtil.allEQMapPre(lvyoudingdan,"lvyoudingdan"));

LvyoudingdanViewlvyoudingdanView=lvyoudingdanService.selectView(ew);

returnR.ok("查询旅游订单成功").put("data",lvyoudingdanView);

}/**

*修改

*/

@RequestMapping("/update")

@Transactional

publicRupdate(@RequestBodyLvyoudingdanEntitylvyoudingdan,HttpServletRequestrequest){

//ValidatorUtils.validateEntity(lvyoudingdan);

lvyoudingdanService.updateById(lvyoudingdan);//全部更新

returnR.ok();

}5.9订单支付管理用户可以登录进自己的后台系统可以查看购票相关信息。然后用户可以点击支付跳转到支付页面,通过微信、支付宝、银行卡等相关支付功能进行操作,订单支付功能如图5.32所示。图5.32订单支付管理界面用户点击支付按钮可以进行支付如图5.33、5.34所示图5.33订单支付提示界面图5.34订单支付成功界面实现该功能的关键代码如下。@RequestMapping("/query")

publicRquery(LvyoudingdanEntitylvyoudingdan){

EntityWrapper<LvyoudingdanEntity>ew=newEntityWrapper<LvyoudingdanEntity>();

ew.allEq(MPUtil.allEQMapPre(lvyoudingdan,"lvyoudingdan"));

LvyoudingdanViewlvyoudingdanView=lvyoudingdanService.selectView(ew);

returnR.ok("查询旅游订单成功").put("data",lvyoudingdanView);

}@RequestMapping("/save")

publicRsave(@RequestBodyLvyoudingdanEntitylvyoudingdan,HttpServletRequestrequest){

lvyoudingdan.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());

//ValidatorUtils.validateEntity(lvyoudingdan);

lvyoudingdanService.insert(lvyoudingdan);

returnR.ok();

}5.10景点分类管理在进入后台系统后,以管理员的身份进行登录,接着选择预景点分类管理选项,并进入景点分类管理页面,点击想要查看的检点信息电机想要查看的,对其进行添加、修改、删除、批量删除、查看评论、查看详细信息等操作。景点分类管理界面如图5.35所示:图5.35景点分类管理界面管理员点击删除按钮进行删除功能如图5.36所示图5.36删除景点分类界面实现该功能的关键代码如下。publicRquery(JingdianfenleiEntityjingdianfenlei){

EntityWrapper<JingdianfenleiEntity>ew=newEntityWrapper<JingdianfenleiEntity>();

ew.allEq(MPUtil.allEQMapPre(jingdianfenlei,"jingdianfenlei"));

JingdianfenleiViewjingdianfenleiView=jingdianfenleiService.selectView(ew);

returnR.ok("查询景点分类成功").put("data",jingdianfenleiView);

}/**

*删除

*/

@RequestMapping("/delete")

publicRdelete(@RequestBodyLong[]ids){

jingdianfenleiService.deleteBatchIds(Arrays.asList(ids));

returnR.ok();

}5.11客户分析管理以管理员身份登录到后台系统中点击客户分析按钮可以看到用户的账号,用户姓名,一天的消费水平,此人常去的景点,还有在线分析的时间,以及对用户的备注,这样是为了更方便的查看用户的心理活动,以便管理员进行分析,客户分析管理如图5.37所示图5.37客户分析管理界面 管理员删除客户分析信息如图5.38所示图5.38删除客户分析信息界面实现该功能的关键代码如下。@RequestMapping("/query")

publicRquery(KehufenxiEntitykehufenxi){

EntityWrapper<KehufenxiEntity>ew=newEntityWrapper<KehufenxiEntity>();

ew.allEq(MPUtil.allEQMapPre(kehufenxi,"kehufenxi"));

KehufenxiViewkehufenxiView=kehufenxiService.selectView(ew);

returnR.ok("查询客户分析成功").put("data",kehufenxiView);

}/**

*删除

*/

@RequestMapping("/delete")

publicRdelete(@RequestBodyLong[]ids){

kehufenxiService.deleteBatchIds(Arrays.asList(ids));

returnR.ok();

}第6章系统测试每一个功能模块和前端运行界面设计后,系统在正式使用前都系统的功能与性能测试是必要的,依次保证了系统工作的可靠性与稳定性,方便了系统在正式投入使用之前的修正与完善。以用户为中心,对黑盒进行测试,这是一种测试系统整体功能的有效手段,有助于识别系统中存在的问题,并提供符合预期的功能测试用例。黑盒测试可以通过修改程序使其与真实运行环境一致,从而减少误报率或漏报率。在黑盒测试中,位移分析和阈值分析是两种主要的测试方法。通过对程序进行不同阶段的扫描可以发现程序可能出现的缺陷或漏洞,从而提高软件生产率。由于系统错误一般出现在输入输出值的边界处,且几率比内部要高得多,所以通过阈值分析进一步判断系统是否稳定可靠。通过对不同版本系统进行测试,发现一些缺陷和漏洞,从而提出改进意见。确定输入输出范围之后,选取操作系统的阈值对系统进行检测。通过对系统中可能出现的问题进行研究,并根据这些问题设计出相应的解决方案。6.1测试步骤与开发过程相同,必须在测试期间逐步实施,以确保分阶段的顺利进行。在对整个软件体系结构及各模块划分之后,可以根据具体需求设计出相应的测试方法。当然,每一步都是对前一步的深入探索和拓展。如果一个软件项目中存在许多子程序代码,就需要对它们进行全面的检查。通常情况下,大型程序是由多个互相关联的子程序构成的,每个子程序都由多个互相协作的模块构成。每一阶段都要对各个子程序运行结果进行检查以保证软件质量和可靠性。因此,在进行大规模软件测试时,必须遵循一系列复杂的步骤,以确保测试的准确性和可靠性:1.测试模块的主要目的在于验证程序是否存在编码和详细设计方面的缺陷。2.接下来,将对所测试的程序进行全面的测试和验证。3.为确保验收测试场景的准确性,需要对操作系统进行标准化处理,以识别任何可能存在的错误。6.2测试用例6.2.1登录注册测试用例用户端测试用例是依据用户要求所进行的设计,在采用黑盒测试技术的情况下完成。鉴于篇幅的限制,以下仅列举了部分具有代表性的测试用例表。表6.1登录测试用例表测试编号测试目的操作步骤预期结果实际结果001登录测试输入正确用户名和密码登录成功登录成功002登录测试输入空的用户名用户名必须填写登录失败003登录测试输入错误的的密码密码错误,请重新输入密码登录失败6.2.2城市信息管理测试用例管理端在运行时要满足系统的运行需求,比如添加城市信息测试、修改城市信息测试、删除城市信息测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例。表6.2城市信息管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加城市信息测试在添加页面输入城市信息,点击确认按钮添加成功添加成功002修改城市信息测试在修改页面修改城市信息,点击确认按钮修改成功修改成功003删除城市信息测试在管理城市信息页面,点击某一用户的删除按钮删除成功删除成功004查询城市信息测试在管理城市信息页面查询输入框输入要查询的用户名字,点击查询按钮查询成功查询成功管理员删除城市信息页面如图6.1所示图6.1城市信息管理测试用例图6.2.3旅游资讯管理测试用例管理端在运行时要满足系统的运行需求,比如添加城市信息测试、修改城市信息测试、删除城市信息测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例。表6.3旅游资讯管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加旅游资讯测试在添加页面输入旅游资讯信息,点击确认按钮添加成功添加成功002修改旅游资讯测试在修改页面修改旅游资讯信息,点击确认按钮修改成功修改成功003删除旅游资讯测试在管理旅游资讯信息页面,点击某一个资讯的删除按钮删除成功删除成功004查询旅游资讯测试在旅游资讯管理信息页面查询输入框输入要查询的旅游资讯信息查询成功查询成功 通过点击修改按钮就可以进入到修改旅游资讯的页面当中如图6.2所示图6.2旅游资讯管理测试用例图6.2.4旅游景点管理测试用例管理员在登录后台之后,点击旅游景点功能模块,可以查看到所有的旅游景点信息,管理员可以通过查看,修改,添加,删除等操作,以便对旅游景点信息进行完善。表6.4旅游景点管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加旅游景点测试在添加页面输入旅游景点信息,点击确认按钮添加成功添加成功002修改旅游景点试在修改页面修改旅游景点信息,点击确认按钮修改成功修改成功003删除旅游景点测试在管理旅游景点信息页面,点击某一个景点删除按钮删除成功删除成功004查询旅游景点测试在管理旅游景点页面查询输入框输入要查询的旅游景点,点击查询按钮查询成功查询成功管理员后台添加旅游景点信息如图6.3所示图6.3旅游景点管理测试用例图6.3测试结论经过多个测试用例的全面检验,系统在测试过程中展现出了出色的数据展示能力,成功地将正确的信息呈现给了用户提供了基本的登录和退出功能,同时还支持设备信息的增删查改,经过验证,系统能够正常地完成用户的操作,无论是从系统的功能还是使用上,都能够完美地实现最初的期望。

结论及展望随着社会发展的不断推进,旅游行业对信息化管理的需求日益增长,因此,建设高效的管理信息系统已成为企业在市场竞争中不可或缺的重要保障,也是企业发展的核心任务。因此,用户可轻松地使用这些图形来创建各种应用场景并完成任务。本文主要工作如下:(1)使用面向对象的开发方法,深入分析需求并精心设计系统,以适应项目的独特特点。运用B/S架构进行开发,应对旅游管理系统所面临的技术挑战。(2)对于旅游管理系统,本文进行了深入的需求分析和设计,以期达到更高效、更精准的目的。虽然,本文对旅游服务管理系统进行了完整地设计。该系统在一定程度上满足了景区的需求。但是,鉴于时间的紧迫性,该系统的整体设计仍存在一些问题:1.该系统的完整性存在缺陷,其数据信息的整合、业务的匹配以及业务流程的规范化等方面仍有待提高;2.尽管业务模块已经被整合,但其功能仍有提升的空间;3.系统在容错性、故障处理、稳定性等方面需要进一步的完善和优化。

参考文献[1]徐鹏涛.基于安卓平台

温馨提示

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

评论

0/150

提交评论