基于Vue的智慧旅游系统的设计与实现_第1页
基于Vue的智慧旅游系统的设计与实现_第2页
基于Vue的智慧旅游系统的设计与实现_第3页
基于Vue的智慧旅游系统的设计与实现_第4页
基于Vue的智慧旅游系统的设计与实现_第5页
已阅读5页,还剩46页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

绪论1.1研究背景和意义旅游业在全球范围内都是一个重要的经济支柱,随着人们对旅游的需求不断增长,传统旅游方式面临着信息不对称、服务不便捷等问题。这促使了对旅游方式的创新性重新思考。在数字化趋势的推动下,人们更愿意使用数字化工具进行旅游规划。因此,基于Vue的智慧旅游系统的设计成为一个迫切的需求。这项研究的关键点之一是数字化趋势的显著性。随着互联网的普及,信息获取变得更加便捷。旅游者在选择目的地、规划行程时更倾向于使用数字化工具。因此,开发基于Vue的智慧旅游系统,不仅迎合了数字化趋势,更为用户提供了更便捷、高效的旅游服务。传统旅游方式中,游客在目的地可能面临不清楚热门地点、选择什么交通工具等问题,影响了旅游的愉悦度。通过设计智慧旅游系统,可以实现个性化推荐等功能,提升用户在旅途中的体验,使其更加愿意选择数字化工具进行旅游规划。1.2国内外研究现状随着全球旅游业的快速发展,智慧旅游已经成为业界的热门话题。智慧旅游系统作为信息技术与旅游业深度融合的产物,旨在提高旅游服务的质量和效率,满足游客的个性化需求。在国外,智慧旅游系统的研究起步较早,已经取得了一定的研究成果。早在20世纪90年代,国外就开始了对旅游信息系统的研究,随后逐步发展成为智慧旅游系统。国外在智慧旅游系统技术应用领域开展了深入的探索和实践,其中智能导游系统作为关键的一环,显著提升了游客的旅游体验,通过GPS定位、语音识别等技术为游客提供个性化的导游服务。在智能酒店方面,通过物联网技术实现对酒店房间的智能化控制,提高入住体验。此外,智能交通也是智慧旅游系统的重要应用之一,通过实时交通信息采集和数据处理,为游客提供最佳的出行路线和交通方式选择。国外学者在智慧旅游系统的数据挖掘和分析方面进行了深入研究。他们通过收集和分析游客的行为和兴趣爱好等数据,挖掘游客的需求和偏好,为旅游企业提供精准的市场营销和产品开发建议。例如,基于大数据分析的旅游推荐系统能根据游客以往的行为和偏好,推荐游客喜爱的旅游路线、酒店和景点等。在国内,随着旅游业转型升级的需求和信息技术的发展,智慧旅游系统的研究和实践也日益受到关注。近年来,国内学者和业界人士开始关注智慧旅游领域,并取得了一定的研究成果。国内在智慧旅游系统的技术应用方面进行了大量的实践和创新。一些国内知名的旅游企业和科技公司推出了具有自主知识产权的智慧旅游解决方案和产品。例如,基于移动终端的智慧导游APP可以为游客提供实时的导游解说、行程规划和景点推荐等服务;基于云计算和大数据技术的旅游服务平台可以为旅游企业提供数据分析和决策支持;基于人工智能技术的智能客服可以为游客提供24小时在线的咨询和帮助服务。国内学者在智慧旅游系统的架构设计和实现方面进行了深入研究。他们提出了许多不同类型的智慧旅游系统的模型,包括基于云计算的架构模型、基于物联网的架构模型等。同时,他们还对智慧旅游系统的功能模块进行了详细的分析和设计,包括信息展示、查询、推荐等功能模块的实现方法和技术细节。也有不少学者对智慧旅游系统的用户行为和体验进行了研究。他们通过调查问卷、实地观察等方法了解游客对智慧旅游系统的接受程度和使用情况,分析其满意度。研究结果表明,智慧旅游系统可以提高游客的旅游体验和满意度。此外,国内学者还对影响游客使用智慧旅游系统的因素进行了研究,包括技术接受度、用户体验、服务质量等方面的因素。他们提出了多种模型和方法来分析游客的使用意愿和行为,为提高智慧旅游系统的用户体验和服务质量提供了有益的参考。1.3论文主要研究内容本文整体划分成七个部分,分别是绪论、技术综述、需求分析、系统概要设计、系统详细设计与实现、系统测试和总结与展望。具体研究内容如下:(1)第一章:绪论本章重点介绍了基于Vue的智慧旅游系统研究的背景与重要性,阐述其开发目的,对比了国内外的研究现状,并对文章的整体结构与内容进行了简要概述。(2)第二章:相关技术介绍主要介绍构建基于Vue的智慧旅游系统所需的关键技以及开发环境。深入介绍了Vue框架及其特色,同时阐述了前端开发所需的HTML、JavaScript、CSS等技术。此外,还探讨了系统所需的后端技术与数据库选择,以及相关技术和工具的应用。(3)第三章:需求分析智慧旅游系统的功能需求主要包括用户管理、行程规划、景点信息展示以及订单管理等多个方面,以及网站在开发设计过程中遇到的问题及解决方案。(4)第四章:系统概要设计主要介绍了系统整体架构设计和部分模块的实现。(5)第五章:系统详细设计与实现介绍设计思路、算法和数据结构选择,系统的用户界面设计,包括页面布局、交互设计、样式和主题等。(6)第六章:系统测试本章主要对系统的各个功能模块进行了功能性测试,并详细说明了所采用的测试工具、框架,以及具体的测试用例和测试结果分析。(7)第七章:总结与展望主要综合分析系统设计与实现的结果,讨论系统的优点和改进空间。相关技术介绍2.1Vue.jsVue.js是一款流行的JavaScript前端框架,用于构建用户界面。由尤雨溪在2014年作为其个人项目创建。这个框架是以标准的HTML、CSS和JavaScript为基础构建的,它提供了一套声明式、组件化的编程模型,它采用了虚拟DOM技术实现页面渲染,能够快速响应用户操作,并且具有灵活的数据绑定和组件化编程能力。且在性能方面较其他开发库而言具有很大的优势。能帮助开发者高效地开发用户界面。Vue.js具有四个特点:轻量级、响应式数据绑定、组件化开发、路由管理。2.2.1轻量级相对于其他框架,Vue.js更加轻量级。它的核心库专注于视图层,没有强制规定开发方式。Vue.js采用MVVM数据绑定和组件化系统,其简洁灵活的API使开发者易于掌握和使用。2.2.2响应式数据绑定Vue.js采用双向数据绑定的机制,当数据发生变化时,视图会自动更新。这减少了代码量和提高了开发效率。同时,Vue.js提供了多样的数据绑定指令和选项,让开发者能够灵活地处理数据和视图之间的关系。它采用虚拟DOM技术优化渲染性能,通过比对虚拟DOM与实际DOM,仅更新变化部分,减少了不必要的DOM操作,提高了性能。2.2.3组件化开发Vue.js通过组件化方式划分应用程序,每个组件具备独立逻辑和模板,实现代码模块化与复用,提升开发效率。在Vue中,父子组件之间利用props实现单向数据传输,子组件则通过触发事件来通知父组件更新数据,从而构建基本的通信模式。2.2.4路由管理Vue-router是Vue.js的官方路由工具,与Vue.js深度整合,专门用于打造单页应用,负责定义和管理页面路由,实现页面切换和导航,处理路由逻辑,使得开发者能够轻松地构建单页面应用。VueRouter还支持嵌套路由、路由参数、导航守卫等功能。2.2ElementUIElementUI是基于Vue.js的桌面端组件库,旨在为用户提供功能丰富、易于操作且美观的组件。它的特色在于多样化的组件选择、直观的操作体验、优雅的视觉设计、灵活的响应式布局、可靠的安全性以及高效的性能。ElementUI涵盖了多种常见的UI元素,如按钮、表格、表单及对话框等,充分满足界面需求。此外,用户还可以根据个人需求调整组件的样式与行为,实现个性化定制。同时,ElementUI提供了详尽的文档及活跃的社区支持,使开发者能够迅速解决遇到的问题并获取相关资源。总体而言,ElementUI是一个强大、易用、美观且性能卓越的Vue组件库,能够助力开发者高效构建优质的Web应用。2.3AxiosAxios是一个基于Promise的HTTP库,可以在浏览器和Node.js中使用。它支持异步处理HTTP请求,并返回Promise对象,让你能够灵活地使用.then()或.catch()方法处理请求结果或错误。Axios具有简单易用的API,可以方便地发送GET、POST等请求,并支持拦截器等功能,使得你可以轻松地处理请求和响应。同时,Axios还支持取消请求、自动转换JSON数据、防止CSRF等功能,进一步提高了易用性和安全性。2.4JSONJSON是一种轻量级的数据交换格式,它基于ECMAScript的一个子集,并使用一种不依赖于特定编程语言的文本格式来存储和表示数据。它采用键值对的形式来存储数据,其结构类似于JavaScript中的对象表示,语法简洁易懂,可表示数字、字符串、布尔值、数组、对象、null等数据类型,并支持复杂嵌套结构。JSON的主要优点包括语法简单、数据结构一致、易于扩展、可替代性等。由于JSON的这些优点,被广泛应用于各种编程场景和开发环境,包括Web应用程序、API接口、数据存储等。3系统需求分析3.1可行性分析3.1.1技术可行性智慧旅游管理系统采用SpringBoot技术和VUE框架,两者均为当前流行的Web应用开源框架,广受程序员青睐,适合智慧旅游管理系统的设计与开发。数据库选用流行的MySQL,其开放源码且免费试用,技术层面完全可行。3.1.2经济可行性本次设计所需的软硬件,如电脑、Idea、MySQL、Tomcat、Dreamweaver等,均为日常所需,已具备且无需额外经济支出。鉴于网站规模较小,设计周期短暂,经济成本不高,从经济角度出发,该项目是切实可行的。3.2需求分析3.2.1用户管理用户管理模块是构建智慧旅游系统的基础环节之一。它主要负责处理用户的注册、登录、和权限管理三个功能。通过这个模块,系统能够确保用户信息的安全性和隐私性,同时为不同类型的用户提供个性化的服务和体验。优质的用户管理不仅能有效增强用户的满意度和忠诚度,还能够为系统管理员提供有效的用户数据支持,进而优化系统服务,增强用户互动和体验。3.2.2景点管理景点信息的添加、编辑、删除以及展示等功能。该模块不仅为管理员提供了一个智能便捷的景点信息管理平台,还通过丰富的景点信息展示,吸引更多用户使用系统,提高用户参与度。通过有效的景点管理,系统能够及时更新景点信息,提供真实可靠的旅游参考,从而提升旅游体验。同时用户还可以和AI机器人对话,给用户推荐热门的旅游景点以及该景点的信息,来增强用户满意度。3.2.3美食管理美食管理模块是智慧旅游系统的亮点之一,主要负责收集、整理和展示各地特色美食信息。这个模块不仅为用户提供了一个探索和发现新美食的平台,也为当地美食文化的传播和推广提供了支持。通过详细的美食介绍、用户评价和推荐系统,用户可以轻松找到符合自己口味的美食,极大地丰富了用户的旅行体验。同时,美食管理也为餐饮业者提供了展示和推广的机会,促进了当地餐饮业的发展。3.2.4酒店管理该模块不仅包含了酒店信息的添加、更新和删除等基础功能,还提供了预订、评价和用户推荐等交互功能。通过这一模块,用户可以方便快捷地找到符合自己预期的住宿选项,并进行在线预订和评价。有效的酒店管理能够极大提高用户满意度,同时也为酒店业者提供了一个广阔的宣传和销售平台,促进了旅游业的整体发展。3.2.5订单管理主要负责处理用户的所有订单信息,包括旅游景点门票、酒店预订、美食购买等。该模块支持订单的创建、查询、修改和取消等操作,为用户提供了一站式的服务体验。高效的订单管理不仅确保了交易的安全性和准确性,也大大提升了用户的便利性和满意度。同时,它还为系统管理员提供了强大的数据支持,帮助分析用户需求和市场趋势,对优化产品和服务具有重要意义。3.3系统用例图(1)管理员登录后可进行用户、景点、美食、酒店及用户反馈的管理处理,具体用例如图3-1所示。图3-1管理员用例图(2)用户登录后可浏览景点、美食及酒店信息,进行预订购买,查看订单详情并留言。用户用例如图3-2所示。图3-2用户用例图(3)景点管理用例图如图3-3所示。图3-3景点管理用例图(4)美食管理用例图如图3-4所示。图3-4美食管理用例图(5)酒店管理用例图如图3-5所示。图3-5美食管理用例图(6)订单管理用例图如图3-6所示。图3-6订单管理用例图3.4运行环境需求包括软件环境和硬件环境需求。例文如下。硬件环境需求如下:(1)建议使用WindowsXP或更新版本的操作系统;(2)推荐选用英特尔酷睿四核处理器;(3)内存配置至少应达到4G;(4)需要至少100G以上的硬盘存储空间;(5)显卡:Inter(R)HDGraphics520。软件环境:(1)开发系统:Windows10教育版;(2)开发平台:MyEclipse2014;(3)浏览器:MozillaFirefox7.0和chrome7;(4)数据库:MySQL5.5;(5)图片设计工具:PhotoshopCC;(6)Web服务器:Tomcat8.0、JDK1.8。

4系统概要设计4.1系统体系结构本系统使用Javascript编程,依托Eclipse开发平台,通过SSM框架与B/S架构实现。前端采用JSP技术,后端选择MySQL进行数据存储。同时,为确保各层级之间的低耦合,本系统采用MVC设计模式。系统架构如图4-1所示。图4-1系统架构图1.Web层整合了Model、View和Controller,Model的整合通过调用服务层的Action对象实现,而View的整合则通过编写JSP页面完成。2.Service层,即业务层,负责业务逻辑设计。接收Controller层传递的数据后,进行处理并传递给Dao层,实现与数据库的交互,执行数据的增加、删除、修改和查询操作。同时,Service层也处理Dao层返回的数据,控制事务。3.Controller层主要负责调用Service层的接口,以掌控并管理业务流程的执行。配置工作需在配置文件中完成,确保Controller能够精确控制业务模块流程。4.View层与Controller层紧密配合,协同工作。View层主要负责前台Jsp页面的展示。5.Model层封装了数据库表的内容,通过直接操作Java对象的方式,可以更加便捷地实现对数据库表的操作,从而简化了数据库操作的复杂性。4.2系统功能模块设计智慧旅游管理系统可以分为会员需求和管理员需求两方面。用户需求,就是能够进行酒店、美食以及景点的购买预定;而管理员需求就是管理员对网站信息的管理操作。通过需求分析,设计出智慧旅游管理系统的需求结构,如图4-2所示。图4-2系统功能模块图4.3设计模型的建立4.3.1用户管理设计(1)用户注册当用户需要执行预订或者查看酒店、景点和美食时,需要先进行登录操作,若用户尚未登录账户,可在该模块完成注册操作。用户注册活动图如图4-3所示。图4-3用户注册活动图(2)用户登录用户注册成功,就可以在登录模块里登录成为用户,系统检查用户输入的登录信息,以判定登录是否有效。用户登录活动图如下图4-4所示。图4-4用户登录活动图4.3.2景点管理设计用户进入系统之后,可以查看景点信息,点击购买,确认是否购买,点击确定之后,即可购买成功,景点预订活动如图4-5所示。图4-5景点预订活动图4.3.3美食管理设计用户进入系统之后,可查看酒店美食信息,点击详情即可了解名称、价格及图片。美食管理活动如图4-6所示。图4-6美食管理活动图4.3.4酒店管理设计用户进入系统之后,可以查看酒店信息,点击购买,确认是否购买,点击确定之后,即可购买成功,酒店预订活动如图4-7所示。图4-7酒店预订活动图4.3.5订单管理设计管理员登录之后,可以查看会员的购买订单信息,并进行留言回复,订单活动图如图4-8所示。图4-8订单管理活动图4.4数据库设计数据库设计旨在特定环境中有效处理与存储数据,构建与系统适配的优质数据库模型至关重要。该过程必须遵循用户需求,在指定的数据库管理系统中进行,是软件开发过程中不可或缺的技术步骤。在数据库领域,使用数据库的系统统称为数据库应用系统。4.4.1E-R图数据库的前期设计中,概念结构设计至关重要,它涵盖了数据模型的概念信息。将需求分析转化为信息结构,能提升数据库管理系统的精准性和效率。这种设计具备两大优势:一是精准反映事物间的联系,满足用户数据处理需求;二是设计易于理解且灵活调整,用户积极参与对数据库设计的成功至关重要。在描述概念模型时,E-R模型是一个有效工具,通过E-R图能直观展现实体间的关系,其核心元素包括实体、属性和联系。E-R总图示例如图4-9所示。图4-9E-R图4.4.2实体属性图数据库的概念模型向逻辑模型的转化即为逻辑设计过程,即将实体图转化为关系模式或层次模式的表现形式。以下是系统数据库实体的属性概述。(1)管理员实体属性图如图4-10所示。图4-10管理员实体属性图(2)用户实体属性图如图4-11所示。图4-11用户实体属性图(3)景点实体属性图如图4-12所示。图4-12景点实体属性图(5)酒店实体属性图如图4-13所示。图4-13酒店实体属性图(6)美食实体属性图如图4-14所示。图4-14美食实体属性图(7)订单实体属性图如图4-15所示。图4-15订单实体属性图4.4.3数据库关系表逻辑模型是将概念模型转化为具体数据模型的关键步骤,它基于E-R图进行转换,并依据所选管理系统软件支持的数据模型(如层次、网状、关系或面向对象)进行操作。转换时需遵循关系数据模型的原则,确保逻辑模型与概念模型的一致性。正文关系表的样例如表4-1所示。表4-1景点类别表字段名字段类型字段长度字段描述dict_idbigint20主键,编号dict_namevarchar100景点名称dict_typevarchar100景点类型statuschar1状态create_timedatetime创建时间update_timedatetime更新时间remarkvarchar500说明新增用户表如表4-2所示。表4-2新增用户表字段名字段类型字段长度字段描述info_idbigint20主键,编号user_namevarchar50用户名passwordvarchar128密码phonevarchar255电话addtimevarchar50创建时间Loginvarchar50头像留言信息表如表4-3所示。表4-3景点信息表字段名字段类型字段长度字段描述addtimedatatime发布时间idvarchar20主键、编号pricefloat票价openTimedatatime开放时间phonevarchar20联系电话addressvarchar100地址contentvarchar255景点详情留言信息表如表4-4所示。表4-4留言信息表字段名字段类型字段长度字段描述notice_idint11留言主键notice_titlevarchar50留言标题notice_typechar1留言类型notice_contentlongblob留言内容statuschar1留言状态create_timedatetime留言时间用户账户表如表4-6所示。表4-6用户表字段名字段类型字段长度字段描述idvarchar20主键、编号usernamevarchar40用户名passwordvarchar20密码phonevarchar20手机号emailvarchar20邮箱addtimedatatime创建时间管理员信息表如表4-7所示。表4-7管理员信息表字段名字段类型字段长度字段描述role_idbigint20管理员idmenu_idbigint20管理员成员订单信息表如表4-8所示。表4-8订单信息表字段名字段类型字段长度字段描述idint11主键order_idint11订单编号order_namevarchar255订单名称order_typevarchar255订单类型created_timedatetime创建时间creator_idint11购买用户idlevemessagevarchar255留言repmessagevarchar255订单说明pricevarchar10价格酒店预定如表4-9所示。表4-9酒店预定表字段名字段类型字段长度字段描述roomTypevarchar40房间类型pricefloat价格addtimedatatime预约时间daysint预定天数phonevarchar20手机号ispayint支付状态

5系统详细设计与实现5.1注册登录模块详细设计与实现5.1.1注册登录详细设计注册模块专门处理用户的注册申请,用户需输入用户名、密码、邮箱等信息,这些信息将被存储至数据库的用户表中。一旦用户输入的所有注册信息均符合要求,系统将调用Register功能,将这些数据准确写入数据库中对应的表,并自动引导用户跳转至登录页面login,以便其进行登录操作。5.1.2注册登录实现用户在注册过程中,输入用户名后,系统会通过JavaScript中的Ajax技术进行异步验证,确保数据库中没有重复用户名。只有当用户提供的所有注册信息均符合规定时,系统才会调用Register方法,将用户数据准确写入数据库的对应表,并随后引导用户跳转至登录页面。登录模块旨在处理用户的登录请求。在接收到用户输入的用户名和密码后,系统会立即与数据库中的用户表数据进行比对。若比对结果显示不匹配,系统将判定登录失败,并引导用户返回登录页面同时显示错误信息。若用户名和密码完全匹配,则用户登录成功。实现界面效果图示例如图5-2所示。图5-2注册登录界面效果图关键代码如下:(1)用户注册exportdefault{

data(){

return{

rulesForm:{

name:"",

pass:"",

},

rules:{

name:[

{required:true,message:"请输入用户名",trigger:"blur"},

{min:3,max:10,message:"长度3-10",trigger:"blur"},

],

pass:[

{required:true,message:"请输入密码",trigger:"blur"},

{min:3,max:8,message:"长度3-8",trigger:"blur"},

],

},

};

},

methods:{

submitForm(){

const{name,pass}=this.rulesForm;

constparams={

name,

pass,

};

this.axios

.post(`/users`,params)

.then((res)=>{

console.log(res);

this.$message({

type:"success",

message:"注册成功",

});

})

.catch((err)=>{

console.error(err);

this.$message.error("注册失败!");

});

},

},};(2)用户登录login(){

constthat=this;

this.loading=true;

this.axios

.get(`/users?name=${that.formD}`)

.then((res)=>{

console.log(res);

if(res.data[0].pass===that.formData.pass){

console.log("routerpush");

constuser={

name:res.data[0].name,

token:res.data[0].name,

};

this.$mit("user/addUser",user);

//localStorage.setItem("token",res.data[0].name);

setTimeout(()=>{

that.loading=false;

that.$router.replace("/home");

},2000);

}else{

alert("密码错误");

}

})

.catch((err)=>{

console.log("error:",err);

});

},5.2用户管理模块详细设计与实现5.2.1用户管理模块设计用户管理模块支持用户信息的查询、编辑和删除操作,相关顺序图详见图5-3。图5-3用户管理时序图5.2.2用户管理实现用户管理模块专注于后台用户信息的维护,包括查询和取消等操作,其界面实现详见图5-4。图5-4用户管理界面效果图用户管理关键代码如下:exportdefault{

data(){

return{

cityList:[],

search:{},

};

},

methods:{

getScence(keyword){

leturl="scence";

if(keyword){

url=`${url}?q=${keyword}`;

}

constthat=this;

this.axios

.get(url)

.then((res)=>{

console.log(res);

this.cityList=res.data;

that.cityList=res.data;

that.cityList.forEach((element)=>{

element.pic=require(`@/assets/images/${element.pic}`);

console.log(element.pic);

});

})

.catch((err)=>{

console.error(err);

});

},

resetQuery(){

this.search={};

this.getScence();

},

detail(id){

this.$router.push(`/home/articalpage/scenceDetail/${id}`);

},

},

beforeMount(){

constthat=this;

this.axios

.get("/scence")

.then((res)=>{

console.log(res);

that.cityList=res.data;

that.cityList.forEach((element)=>{

element.pic=require(`@/assets/images/${element.pic}`);

console.log(element.pic);

});

console.log(that.cityList);

})

.catch((err)=>{

console.error(err);

});

},};5.3酒店管理模块详细设计与实现5.3.1酒店管理详细设计酒店管理模块是对酒店信息的添加、查询、编辑和删除。酒店管理顺序图如图5-5所示。图5-5酒店管理时序图5.3.2酒店管理实现该模块专注于酒店信息的查询与维护,用户可查询酒店名称、时间安排及价格等。管理员具有维护功能,如添加、删除和修改酒店信息,而其他用户则无此权限。在添加酒店信息时,需包含酒店名称、价格、图片及地址等字段,酒店管理界面如图5-6所示。图5-6酒店管理界面效果图酒店管理关键代码如下:exportdefault{

data(){

return{

BeijingList:[],

TianjingList:[],

};

},

methods:{

detail(id){

this.$router.push(`/home/travelPage/traveldetail/${id}`);

},

},

beforeMount(){

constthat=this;

this.axios

.get("/Beijing")

.then((res)=>{

console.log(res);

that.BeijingList=res.data;

that.BeijingList.forEach((element)=>{

element.pic=require(`@/assets/images/${element.pic}`);

console.log(element.pic);

});

console.log(that.BeijingList);

})

.catch((err)=>{

console.error(err);

});

this.axios

.get("/Tianjing")

.then((res)=>{

console.log(res);

that.TianjingList=res.data;

that.TianjingList.forEach((element)=>{

element.pic=require(`@/assets/images/${element.pic}`);

console.log(element.pic);

});

console.log(that.TianjingList);

})

.catch((err)=>{

console.error(err);

});

},};5.4美食管理模块详细设计与实现5.4.1美食管理详细设计美食管理模块主要实现酒店信息的添加、查询、编辑和删除功能,相关顺序图详见图5-7。图5-7美食管理时序图5.4.2美食管理实现该模块致力于美食信息的查询与维护,用户可轻松检索美食名称、地址及价格等详情。管理员具备添加、删除和修改美食信息的权限,而其他用户则无法管理。在添加美食信息时,需填写美食名称、价格、图片及地址等必要字段,美食添加界面如图5-8所示。图5-8美食添加界面效果图美食管理关键代码如下:<template>

<div>

<el-table:data="orderList"style="width:100%">

<el-table-columnprop="title"label="订单名称"width="180">

</el-table-column>

<el-table-columnprop="time"label="日期"width="180"></el-table-column>

<el-table-column

prop="traffic"

label="状态"

width="180"

></el-table-column>

<el-table-columnprop="type"label="类型"width="180"></el-table-column>

<el-table-columnprop="name"label="状态"width="180"></el-table-column>

</el-table>

</div></template><script>exportdefault{

data(){

return{

orderList:[],

};

},

beforeMount(){

this.axios

.get("order")

.then((res)=>{

this.orderList=res.data;

})

.catch((err)=>{

console.error(err);

});

},};</script>5.5景点预订模块详细设计与实现5.5.1景点预订详细设计用户登录系统后,即可进入景点管理界面,查看并浏览相关景点信息,同时可一键点击购买进行预订。景点预订的顺序图详见图5-9。图5-9景点预订时序图5.5.2景点预订实现用户可以在该模块进行景点查询,系统根据用户搜索的关键词,得到用户想要的景点信息。用户也可和AI机器人对话来获取景点信息。将景点具体信息显示出来之后就可以进行景点购买了。景点购买界面如图5-10所示,AI机器人对话界面如图5-11所示。图5-10景点购买界面效果图图5-11AI机器人对话界面效果图景点预订关键代码如下:

methods:{

dinggou(row){

const{name,title,traffic,type,time,state,count="A"}=row;

constparams={

name,

title,

traffic,

type,

time,

state,

count,

};

this.axios

.post(`/order`,params)

.then((res)=>{

console.log(res);

this.$message({

type:"success",

message:"订购成功",

});

})

.catch((err)=>{

console.error(err);

this.$message.error("订购失败!");

});

},

},AI机器人对话关键代码如下:

<scriptsrc="/npm/axios@1.1.2/dist/axios.min.js"></script><script>letmain=document.querySelector('main');letinput=document.querySelector('input');letsend=document.querySelector('.send');//点击“发送”按钮发送消息send.addEventListener('click',()=>{letspoken=input.value;main.innerHTML+=`<sectionclass="right"><divclass="content-wrapcontent-right">${spoken}</div><divclass="img-wrapright-img"><imgclass="my-img"src="./img/me.jpg"alt=""></div></section>`;input.value='';axios({url:'/api/robot',params:{spoken}}).then(res=>{main.innerHTML+=`<sectionclass="left"><divclass="img-wrapleft-img"><imgclass="my-img"src="./img/you.jpeg"alt=""></div><divclass="content-wrapcontent-left">${.text}</div></section>`;});});//按下回车键发送消息input.addEventListener('keydown',e=>{//enter键的键盘码是13if(e.keyCode===13){send.click();}});</script>5.6订单信息模块详细设计与实现5.6.1订单信息详细设计用户键入留言信息并点击保存,留言内容随即被存入数据库。图5-13展示了订单留言界面。图5-12订单信息时序图5.6.2订单信息实现用户进入订单查看界面中,当点击留言按钮,系统将会弹出在线留言的页面,用户可以输入留言信息点击保存按钮,则可以将留言信息保存到数据库中,订单留言界面如图5-13所示。图5-13订单留言界面效果图订单关键代码如下:<script>exportdefault{

data(){

return{

info:"",

};

},

created(){

this.fetchList();//调用actions中的异步函数获取数据

},

computed:{

...mapGetters(["undoneCount","doneCount"]),

list(){

returnthis.$store.state.list;

},

},

methods:{

...mapActions([

"addTodoItem",

"deleteTodoItem",

"fetchList",

"toggleTodoItem",

]),

addItem(){

if(!)return;

this.addTodoItem({

id:Math.random().toString(16),

info:,

done:false,

});

="";

},

deleteItem(id){

this.deleteTodoItem(id);

},

toggleItem(id){

this.toggleTodoItem(id);

this.fetchList();

},

},};</script>

6系统测试6.1功能测试软件测试是对软件质量的一种保证,作用是检查各项功能是否实现完备,检验软件系统、部件或者过程是否满足规定的需求。针对系统选取了几个典型模块的进行测试。6.1.1用户登录模块的测试用户登录时,需输入用户名或手机号及密码。系统将验证输入内容,核对实际与预期结果,确保一致。具体的用例测试详情已列于表5-1中。表6-1用户登录测试用例表所属模块登录系统测试点登录详细过程1.进入系统主页;2.输入用户名:user2和密码:123456,点击登录预期结果使用该数据可成功登录。实际结果使用该数据可成功登录。6.1.2发布旅游景点模块的测试该模块专注于测试景点管理模块。景点发布测试的详细结果已记录在表6-2中。表6-2景点登录测试用例表所属模块旅游景点信息管理测试点发布旅游景点信息1.以管理员身份登录,进入系统后台;详细过程2.选中旅游景点信息,进入对应模块;3.选择“新增”功能,并输入相关景点信息;4.点击“保存”按钮以完成操作预期结果该条旅游景点发布成功。实际结果该条旅游景点发布成功。6.1.3美食搜索信息模块的测试该模块专注于测试管理员对美食信息的查询功能。管理员仅需输入美食名称并点击搜索,即可查看搜索结果。测试数据已列于表6-3中。表6-3美食搜索测试用例表所属模块美食信息管理测试点搜索美食信息1.以管理员身份登录,进入系统后台;详细过程2.点击美食信息管理,3.输入美食名称;4.点击“搜索”进入该模块;预期结果该条美食搜索成功。实际结果该条美食搜索成功。6.1.4景点购买模块的测试该模块主要测试用户购买景点信息的流程。用户登录后,能够浏览景点信息,并点击购买按钮完成购买。景点购买的测试结果已整理在表6-4中。表6-4景点购买测试用例表所属模块国内景点信息管理测试点订单留言发布详细过程1.以会员身份登录,进入系统后台;2.点击订单信息管理,进入该模块;3.选择订单,点击留言;4.点击保存,发布成功。预期结果该条留言发布成功。实际结果该条留言发布成功。6.1.5订单留言模块的测试该模块专注于测试用户对订单的留言功能。用户登录后,能够查看订单信息,并通过点击留言来发布留言内容。有关订单留言的测试结果已整理在表6-5中。表6-5订单留言测试用例表所属模块订单信息管理测试点订单留言发布1.以会员身份登录,进入系统后台;详细过程2.点击订单信息管理,进入该模块;3.选择订单,点击留言;4.点击保存,发布成功。预期结果该条留言发布成功。实际结果该条留言发布成功。6.2性能测试性能测试是黑盒测试的一部分,我们运用Loadrunner负载测试工具,以预测系统的行为表现与性能。详细的性能测试结果已列于表6-6中。表6-6性能测试用例表用例描述期望结果实际结果响应速度平均响应时间不超过3秒同期望并发测试并发100个用户登录系统用户能正确登录同期望CPU资源测试最大占用率不超过70%同期望响应速度测试页面如图6-1所示。图6-1响应速度测试页面图如图6-1所示,事务响应时间运行平稳,登录业务实际响应时间为2.298秒(剔除3秒思考时间),满足小于3秒的登录时间标准,测试通过。表6-7压力测试用例表测试编号测试模块测试内容预期测试结果实际测试结果1压力测试并发用户量递增至10000系统性能正常系统性能正常随着系统使用人数的增长,CPU使用率逐渐上升,但到达某一水平后会保持稳定,不再增长。这显示出本系统的性能达到了预期效果。6.3测试结论本章主要从功能测试与非功能测试两大方面对系统进行验收。在功能测试环节,我们精心设计了多个测试用例,以检验系统各项功能是否满足用户的基本使用需求,确保用户在使用过程中能够流畅舒适。经过非功能测试后,我们确认本系统能够满足用户的基本功能需求,并能在正常使用下支持数万用户同时在线,保证网站稳定运行。综上所述,系统已具备上线投入使用的条件。

7总结与展望本文详细介绍了一个智慧旅游管理系统的设计与实现过程。本文首先开展可行性分析,验证了项目的技术与经济方面的可行性。随后,通过需求分析,明确了系统的主要功能以及所需的运行环境。在系统设计阶段,重点探讨了体系结构、功能模块和数据库设计等核心要点。至于实现部分,则详细描述了各功能模块的具体设计与实现过程,涵盖了用户注册、登录、用户管理、酒店管理、美食管理、景点预订以及订单信息等功能。最后,系统测试环节验证了系统的功能和性能,确保系统

温馨提示

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

评论

0/150

提交评论