基于Springboot校园二手系统

摘  要

随着智能移动设备的普及和信息技术的发展,智慧旅游已成为提升城市旅游竞争力的重要手段。本设计以济南市为研究对象,深入分析了当地的旅游资源分布和用户需求,利用数据挖掘和推荐系统技术,成功打造了一个高度个性化的旅游推荐平台。该系统能够根据用户的喜好推荐景点和活动,还提供实时导航与本地生活服务信息,极大地丰富了用户的旅游选择并优化了旅行计划。这一系统的推出,将助力济南市旅游业的数字化转型,提升用户满意度和城市旅游品牌形象。

此系统基于eclipse开发环境和mysql数据库,springboot框架,应用基于b/s结构的开发模式,使用javahtmlcss等语言进行网站的开发及功能实现。经过可行性分析与技术性需求分析后,进行总体设计,最后改进并完善。网站基本功能已实现。

该系统分为两大模块进行。前台用户模块包括用户注册、登录、查看济南旅游、公告信息等功能;后台模块包括管理员登录、修改密码、添加及删除管理员、发布济南旅游、公告信息等功能。全程按照软件工程的思想和方法完成设计,利用课内及课外所学专业知识开发网站,程序测试运行正确。不足之处是由于时间和知识储备原因,部分功能未实现。

通过本网站,可管理已注册的用户群。用户可通过此网站查看济南旅游信息,既方便又快捷。

关键词:springboot框架;java语言;mysql数据库


Abstract

With the popularization of smart mobile devices and the development of information technology, smart tourism has become an important means to enhance the competitiveness of urban tourism. This design takes Jinan City as the research object, deeply analyzes the distribution of local tourism resources and user needs, and successfully creates a highly personalized tourism recommendation platform by using data mining and recommendation system technology. The system can recommend attractions and activities according to the user's preferences, and also provides real-time navigation and local life service information, greatly enriching the user's travel options and optimizing travel plans. The launch of this system will help the digital transformation of Jinan's tourism industry, improve user satisfaction and urban tourism brand image.

This system is based on eclipse development environment, mysql database, springboot framework, application based on b/s structure development mode, using java, html, css and other languages for website development and function realization. After feasibility analysis and technical demand analysis, the overall design is carried out, and finally improved and perfected. The basic functions of the website have been realized.

The system is divided into two modules. The front desk user module includes user registration, login, viewing Jinan tourism, announcement information and other functions; Background module includes administrator login, change password, add and delete administrator, release Ji 'nan tourism, announcement information and other functions. The whole process was designed in accordance with the ideas and methods of software engineering, and the website was developed with the professional knowledge learned in and out of class. The program test ran correctly. The disadvantage is that some functions are not realized due to time and knowledge reserve.

Through this website, registered user groups can be managed. Users can view Jinan tourism information through this website, which is convenient and fast.

Key words: springboot framework; java language; mysql database

目录

第一章绪论

1.1研究背景与意义

1.2国内外研究现状

1.3项目研究内容

第二章开发平台及环境简介

2.1Java 语言简介

2.2 springboot框架,

2.3 Vue框架

2.4 MySQL数据库

2.5 B/S结构

2.6 Hadoop介绍

2.7 Scrapy介绍

2.8 协同过滤算法

第三章系统分析

3.1可行性分析

3.1.1技术可行性

3.1.2经济可行性

3.1.3操作可行性

3.2需求分析

3.2.1 用户需求

3.2.2 功能需求

3.2.3 网站业务需求

3.3系统用例图

3.4系统流程的分析

3.4.1登录流程

3.4.2系统操作流程

第四章系统设计

4.1总体功能设计

4.2数据库设计与分析

4.2.1数据库概述

4.2.2网站实体E-R图

4.3数据库表的设计与开发

第五章系统运行

5.1前台功能实现

5.1.1系统首页页面

5.1.2个人中心

5.2系统管理员模块实现

第六章系统测试

6.1 测试目的和原则

6.1.1 测试目的

6.1.2 测试原则

6.1.3 测试步骤

6.2 测试内容及BUG修复

6.2.1 测试用例

6.2.2 BUG 列表

结论

参考文献

致谢

第一章绪论

1.1研究背景与意义

济南市,作为历史文化名城和重要的旅游城市,拥有众多著名的自然景观与人文景点,如趵突泉、大明湖、千佛山等。随着旅游业的快速发展,用户对旅游体验的要求也日益提高,传统的旅游服务模式已无法满足用户个性化、多样化的需求。在移动互联网和大数据技术的推动下,智慧旅游成为旅游行业发展的新趋势。智慧旅游推荐系统能够利用现代信息技术,通过对海量旅游信息的分析与处理,为用户提供更加精准、便捷的旅游信息服务。开发一款针对济南市的智慧旅游推荐系统,可以提升用户的旅游体验,还能促进当地旅游业的可持续发展,是顺应时代发展的必然选择。[1]

设计济南市智慧旅游推荐系统对于提升济南市旅游服务质量和效率具有深远的意义。该系统可以为用户提供个性化的旅游推荐服务,系统还有助于优化旅游资源的配置,通过信息分析辅助旅游管理者更好地了解用户需求和市场动态,指导旅游产品的开发和市场营销策略的调整。智慧旅游推荐系统还能提高旅游服务的信息化水平,降低运营成本,提高工作效率。该智慧旅游推荐系统的开发能够丰富用户的旅游体验,也将进一步推动济南市旅游产业的数字化转型和信息化升级,对提升城市旅游竞争力具有重要价值。[3]

1.2国内外研究现状

在中国,智慧旅游作为一种新型的旅游模式,受到了政府和学术界的广泛关注。随着信息化技术的飞速发展,越来越多的研究集中在如何将物联网、大数据、云计算等技术应用于旅游业,以实现服务的信息化、个性化。众多城市已经开始尝试构建智慧旅游平台,提供济南旅游、公告信息等服务,以提高用户满意度和城市旅游吸引力。特别是在推荐系统方面,国内研究者致力于利用机器学习算法和用户行为分析来优化推荐效果,相关研究成果已在某些知名旅游城市中得到应用。针对特定城市如济南市的智慧旅游推荐系统研究与实践仍有待深化,需要结合地方特色和实际需求进行更为精准的开发和完善。

国外关于智慧旅游的研究起步较早,尤其在推荐系统的研究上已取得一系列创新成果。在欧美发达国家,智慧旅游推荐系统往往集成了高级数据分析技术,如协同过滤、内容推荐、上下文感知推荐等,能够为用户提供高度定制化的旅游信息和服务。这些系统注重用户体验的个性化,也越来越重视实时性和互动性。除了技术层面的研究,国外学者还关注智慧旅游对环境可持续性、文化保护等方面的影响,努力推动旅游业的绿色发展。尽管国外的研究成果具有重要的参考价值,但由于文化背景、市场环境和旅游资源的差异,直接将这些研究成果应用到济南市的旅游推荐系统中可能会遇到一定的挑战。有必要在借鉴国外先进经验的基础上,针对济南市的具体情况,开展本地化的研究和系统开发工作。

1.3项目研究内容

本设计使用Eclipse开发环境、基于B/S架构开发模式、SPRINGBOOT框架,利用MySql 数据库进行开发与实现。并引入了基于用户相似度的协同过滤算法,用于提供个性化的推荐功能。通过echarts技术展示可视化大屏,将数据进行展示看板上,我们还采用了 Python 开发的Scrapy爬虫技术,用于高效地收集网络数据使用Java语言实现济南市智慧旅游推荐系统的后台开发、利用HTML/CSS等语言展示前端页面。本次设计需要将所学的专业知识应用于实际项目中发挥其主要功能并获得效益。网站内容包括以下基本功能模块[6]

登录模块:本模块主要包括用户及后台管理员账号注册并登录的功能。

查询模块:主要包括用户查看济南旅游、公告等信息。

管理员管理模块:主要包括录入济南旅游、用户、系统管理、我的信息等功能、增加及删除修改。


第二章开发平台及环境简介

2.1Java 语言简介

Java作为一款面向对象的编程主要语言,在大学里甚至有些学校专门开设有关Linux嵌入式相关的课程。Java也不例外,也是为嵌入式开发服务的。但是,后期由于它的发展,不断成熟,重心转入了应用程序方面。在此环境下,它不断更新,推动了Web以及C++语言的飞速发展,并且不受众多浏览器的应用限制。较之其它程序开发语言更具显著的优越性,拥有更为广阔的市场和美好的前景。

其次,Java与传统程序不同之处在于,它本身就是开源的软件,作为一种开源性的软件,广大软件开发爱好者利益更多的研究共享新技术,不断提高更新它的性能。我们知道微软是商业性,它要收费,并不利于它的发展。Java编程语言简洁,强壮的应用性能,减少了系统开发的风险,确保了系统的安全和可靠。

除此之外,Java平台主要是有Java语言构建的,JavaScript等脚本语言深受编程开发人员喜爱。我们大一就学过Microsoft Studio,还有Visual C以及C++,其实,它们都是微软应对Java的冲击,模仿它开发的应对措施,现今开源软件是社会发展的潮流于趋势。

抽象类:建立抽象类的时候,我们必须申明Abstract,并且抽象类我们不能在里面具体写方法。在实际生活中比如电视,不同的厂商开发出来它们的功能属性不同,存在差异,但是又存在着相似点。此时我们抽象类主要用于存储相似共同点,而不同点属性存在抽象类派生的各个子类当中。所以,抽象类另一个主要功能是用于派生我们的子类的,使事物的功能描述更加具体。

final类:我们知道final其实就是包在Java中的包的定义就是相关类和接口的集合,而且包的创建须使用package关键字。

继承:Java中继承是面向对象最显著的特征。但是,它只能实现单根类的继承,它的基类是Object。

多态类:指它在不同德类里同一变量有可能是静态,也有可能是动态,可以有多种形态而Java却支持单根继承,不支持多态。

2.2 springboot框架,

Spring Boot是一个基于Spring框架的开源项目,它可以帮助开发者快速构建、部署和运行Java应用程序。Spring Boot提供了丰富的功能和工具,使得开发者可以更加专注于业务逻辑的实现,而不是繁琐的配置和环境搭建。

Spring Boot具有以下特点:

(1)简化配置:Spring Boot采用自动配置的方式,根据项目中的依赖关系和条件,自动选择合适的配置。这使得开发者无需手动配置大量的参数,大大减少了开发时间。

2)内嵌服务器:Spring Boot内置了Tomcat、Jetty等Web服务器,可以直接运行应用程序,无需单独部署。这使得开发者可以快速启动和测试应用程序,提高了开发效率。

3)独立运行:Spring Boot应用程序可以以jar包的形式独立运行,无需外部的Web服务器或应用服务器。这使得部署和运行应用程序变得更加简单。

4)生态丰富:Spring Boot与许多流行的开源项目(如MyBatis、Redis、RabbitMQ等)集成良好,可以轻松地引入这些项目到应用程序中。此外,Spring Boot还提供了许多插件和扩展,可以根据需要定制应用程序的功能。

5)监控与管理:Spring Boot提供了Actuator模块,可以对应用程序进行监控和管理。通过Actuator,开发者可以实时查看应用程序的运行状态、性能指标等信息,还可以远程控制应用程序的启停、重启等操作。

Spring Boot是一款功能强大、易于使用的Java开发框架。通过学习和掌握Spring Boot,开发者可以更加高效地构建高质量的Java应用程序,为用户提供更好的体验。

2.3 Vue框架

Vue.js是用于构建用户界面的增量框架。与其他重量级框架不同,Vue使用自下而上的增量开发设计。Vue的核心库只关注视图层,这很容易学习并与其他库或现有项目集成。另一方面,Vue完全能够驱动使用Vue生态系统支持的单个文件组件和库开发的复杂单页应用程序。

Vue.js的目标是使用最简单的API实现响应数据绑定和复合视图组件。

Vue.js本身并不是一个通用框架,它只关注视图层。因此,很容易学习并与其他库或现有项目集成。另一方面,当与相关工具和支持库一起使用时,Vue js还可以驱动复杂的单页应用程序。

2.4 MySQL数据库

MySql是由瑞典MySql AB公司开发的关系型数据管理系统,是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API接口用于创建、访问、管理、搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读取速度相对较慢,所以现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大量数据。

Sql语句是用于访问数据库的标准化语言。由于其速度快、体积小、总体成本低,MySql成为中小型网站开发最常用的网络数据库。

2.5 B/S结构

B/S结构是一种网络应用程序架构。它允许用户通过浏览器访问服务器上的数据和功能,而无需安装任何客户端软件。这种模式简化了软件部署和维护,提高了系统的可扩展性和安全性。在B/S结构中,客户端只需使用标准浏览器即可访问应用程序,而服务器端则负责处理数据请求、存储数据和管理业务逻辑。这种模式适用于各种规模的企业应用,如电子商务、在线办公、在线教育等。总之,B/S结构为软件开发带来了极大的便利,是现代互联网应用的主流架构之一。

2.6 Hadoop介绍

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。它以Hadoop Distributed File System(HDFS)和MapReduce算法为核心,为用户提供了系统底层细节透明的分布式基础架构。HDFS提供了高吞吐量的数据访问能力,非常适合大规模数据集上的应用;而MapReduce则允许用户在不会分布式编程的情况下也能开发分布式程序。Hadoop具有高可靠性、高扩展性、经济高效以及处理能力强等特点。它能够对PB级数据进行存储和处理,使用简单的编程模型让用户轻松地完成分布式计算。此外,Hadoop集群能够在廉价的硬件上运行,降低了成本。Hadoop广泛应用于各种领域,如互联网搜索、广告推荐、金融风控、医疗健康等。它通过将复杂的数据分析任务分解成小任务,并分发到多台计算机上进行处理,从而大大缩短了数据处理的时间。同时,Hadoop还具有容错机制,即使个别机器出现故障也不会影响整个系统的运行。Hadoop作为一个强大的分布式数据处理平台,以其高效的数据处理能力和灵活的扩展性,为大数据时代的到来提供了强有力的支持。

2.7 Scrapy介绍

Scrapy是一个用于网络爬虫的开源框架,它基于Python语言开发。Scrapy提供了一套完整的机制,用于爬取网站并从中提取结构化数据。它可以广泛应用于数据挖掘、数据监测、自动化测试等领域。Scrapy具有高度可扩展性,用户可以根据需求定制其功能。它使用Twisted异步网络库来处理网络通信,使得爬虫能够高速运行且具备良好的并发性能。同时,Scrapy还提供了丰富的中间件接口,允许用户自定义爬取逻辑、数据解析和存储等功能。Scrapy的架构清晰明了,主要包括引擎、调度器、下载器、爬虫和项目管道等组件。用户只需编写少量的代码,即可实现复杂的爬虫任务。此外,Scrapy还提供了方便的命令行工具和交互式控制台,使得爬虫的开发和调试变得更加简单。

Scrapy是一个功能强大、易于使用的网络爬虫框架,它为开发者提供了一个高效、灵活的工具,用于快速构建和部署爬虫项目。

2.8 协同过滤算法

协同过滤算法是一种广泛应用于推荐系统的技术,它通过分析用户的历史行为和相似用户的行为,为用户推荐可能感兴趣的商品或服务。该算法基于一个基本假设:如果两个用户在过去对某些商品或服务有相似的行为或评价,那么他们在未来对其他商品或服务的行为或评价也应该是相似的。

协同过滤算法主要分为两类:基于用户的协同过滤和基于物品的协同过滤。基于用户的协同过滤首先计算目标用户与其他用户之间的相似度,然后根据相似用户的喜好为目标用户推荐商品或服务。而基于物品的协同过滤则是计算物品之间的相似度,根据目标用户历史喜欢的物品为他推荐相似的其他物品。


第三章系统分析

3.1可行性分析

在网站设计初期,为更加具体的了解开发及功能实现的可能性,有必要进行可行性分析,主要从以下三个方面进行分析和研究。

3.1.1技术可行性

本网站采用B/S系统结构开发。从技术角度看,采用现有的软件开发技术完全能够顺利完成开发工作。本系统在Windows 7操作系统下采用Eclipse开发环境,本人觉得在调试上有便捷性。编程开发语言主要使用现已得到较成熟发展的Java、HTML、CSS、Javascript等语言,因此在技术上是可行的。

3.1.2经济可行性

软件开发需要用到的硬件计算机价格可观,只需安装有Windows 7及以上操作系统即可,软件环境如Eclipse、MySql均有免费版本,连接网络并安装配置好即可,总体上软硬件开发所需条件不会对开发者及使用者造成太大经济负担,资金支出属于一次性支出。开发人员上也不需要花费太多人力,时间及人力成本投入也可观。因而本网站开发在经济方面是可行的[2]

3.1.3操作可行性

本网站结构清晰、页面内容主题突出,具有明确的导航指示且便于理解,操作界面清晰、简洁友好,方便用户使用。只要有一定的计算机操作知识就能顺利使用本网站,对于后台管理员,则需要进行简单的操作培训并熟悉,因而本网站开发在操作方面是可行的。

3.2需求分析

3.2.1 用户需求

(1) 用户能通过网址登录网站首页、自主注册并登录;

(2) 能自主修改个人基本信息且个人信息安全保密;

(3) 能通过网站了解济南旅游、公告信息等基本信息;

(4) 软件操作清晰、简单易用。

3.2.2 功能需求

本程序在Windows XP及以上操作系统的pc机上运行,实现用户的注册、登录,同时要保证数据的安全可靠。具体功能需求如下:

提供用户登录及管理员登录功能,两者拥有不同的操作权限

(2) 管理员登录:网站相当于一个虚拟的工作场所,后台设置管理员权限,是为了可更好地对网站进行维护和资源管理。在网站页面上点击后台管理按钮即可进入管理员后台登录页面;

 (3)提供管理员对基本信息如济南旅游、用户、系统管理、我的信息进行录入及删除等;

(4)查询模块,本次网站主要展示内容有济南旅游、公告基本信息。保证用户查询到以上展示的基本信息。

(5) 修改更新模块,用户及管理员均有权限修改各自的密码及其他相关信息,通过后台管理员的管理,济南旅游、公告信息等页面信息不断更新;

(6) 窗体设计美观、操作简单易用。

3.2.3 网站业务需求

由以上需求可知,程序主要功能包含对济南旅游的展示、我的收藏及管理。当用户第一次登录网站首页时,仅拥有用户权限,如想济南旅游信息,需要注册并登录,然后选择相关导航标题进行浏览并操作。网站实现用户及管理员修改各自密码的基本权限。在网站页面上点击后台管理按钮,跳转至管理员登录页面,主管理员账户登录后可以申请多个子管理员账户,在后台管理界面,管理员可以通过点击相关按钮对网站前端页面展示的济南旅游、公告信息等内容进行更新修改[11]。管理员拥有管理用户的权限及管理信息的权限。

3.3系统用例图

本次系统的用例图做出了十分明确的功能划分,在设计时可以有很好的设计思路进行设计和延展。

1管理员用例图如下所示:

图3-1管理员用例图

2)用户用例图如下所示:

图3-2用户用例图

3.4系统流程的分析

3.4.1登录流程

登录流程如图3-3所示:

图3-3登录流程

3.4.2系统操作流程

系统操作流程如图3-4所示:

图3-4系统操作流程图


第四章系统设计

4.1总体功能设计

根据需求分析及济南市智慧旅游推荐系统特点,将系统划分为两个大模块:用户模块、管理员模块。具体功能模块图如图4-1所示。

4-1 系统功能结构图

4.2数据库设计与分析

4.2.1数据库概述

数据库已成为软件开发必不可少的工具之一。现如今是信息化的时代,网站的开发及操作均需要对数据进行存储及管理。而这些数据大部分是关联的,这就需要使用拥有强大功能的数据库来实现开发人员及用户的需求。因此,在数据库管理系统的支持下,进行信息的收集、存储、检索、加工及统计等。

4.2.2网站实体E-R图

管理员是在此次网站开发中必不可少的一个角色,主要用于管理用户,管理网站页面显示信息,更新及添加信息。管理员拥有用户名、密码、角色等属性。管理员信息E-R图如图4-2所示。

4-2管理员信息E-R

将“公告信息系统简介用户济南旅游”等作为实体,它们的局部E-R图,如图4-3所示:

4-3局部E-R图

4.3数据库表的设计与开发

本网站结合实际情况及对需求的分析,现列出几个主要数据库表结构:

表4-1系统简介

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

subtitle

varchar

200

副标题

content

longtext

4294967295

内容

picture1

longtext

4294967295

图片1

picture2

longtext

4294967295

图片2

picture3

longtext

4294967295

图片3

表4-2:收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

商品id

tablename

varchar

200

表名

name

varchar

200

名称

picture

longtext

4294967295

图片

type

varchar

200

类型

1

inteltype

varchar

200

推荐类型

remark

varchar

200

备注

表4-3:公告信息分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

typename

varchar

200

分类名称

表4-4:公告信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

typename

varchar

200

分类名称

name

varchar

200

发布人

headportrait

longtext

4294967295

头像

clicknum

int

点击次数

0

clicktime

datetime

最近点击时间

thumbsupnum

int

0

crazilynum

int

0

storeupnum

int

收藏数

0

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

表4-5:济南旅游

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

picture

longtext

4294967295

图片

wandays

varchar

200

建议游玩时间

brief

longtext

4294967295

简介

address

varchar

200

地址

score

double

评分

ranking

int

济南景点排名

renshu

int

打分人数

gaishu

longtext

4294967295

概述

laiyuan

longtext

4294967295

来源

ticket

double

门票

clicktime

datetime

最近点击时间

storeupnum

int

收藏数

0

表4-6:公告信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

4294967295

头像

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表4-7:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

url

varchar

500

url

表4-8:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuzhanghao

varchar

200

用户账号

mima

varchar

200

密码

yonghuxingming

varchar

200

用户姓名

touxiang

longtext

4294967295

头像

xingbie

varchar

200

性别

shoujihaoma

varchar

200

手机号码

表4-9:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

image

varchar

200

头像

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-10:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

第五章系统运行

5.1前台功能实现

5.1.1系统首页页面

当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:

5-1 系统首页界面

在注册流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。系统注册页面如图5-2所示:

5-2系统注册页面

济南旅游:在济南旅游页面的输入栏中输入标题、建议游玩时间、简介、地址、评分、济南景点排名、打分人数、概述、来源、门票进行查询,可以查看到济南旅游详细信息,济南旅游页面如图5-3所示:

5-3济南旅游详细页面

5.1.2个人中心

个人中心:在个人中心页面可以对个人中心、修改密码、我的收藏进行详细操作;如图5-4所示:

5-4个人中心界面

5.2系统管理员模块实现

在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。管理员登录界面图5-5所示。 

5-5管理员登录界面

管理员进入主页面,主要功能包括对首页、济南旅游、用户、系统管理、我的信息等进行操作。管理员主页面如图5-6所示:

5-6管理员主界面

管理员进行爬取数据后,点击主页面右上角的看板,可以查看到评分分析、景点排名、济南旅游总数、济南旅游、打分人数、概述等实时的分析图进行可视化管理;图5-7所示

图5-7看板界面

济南旅游功能在视图层(view层)进行交互,比如点击查询、添加、删除或爬取数据按钮或填写济南旅游信息表单。这些济南旅游表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除济南旅游信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便济南旅游功能可以看到最新的信息或相应的操作反馈。济南旅游界面如图5-8所示:

5-8济南旅游管理界面

用户功能在视图层(view层)进行交互,比如点击查询、添加或删除按钮或填写用户信息表单。这些用户表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户功能可以看到最新的信息或相应的操作反馈。用户界面如图5-9所示:

5-9用户管理界面

系统管理;公告信息功能在视图层(view层)进行交互,比如点击查询、添加或删除按钮或填写公告信息表单。这些公告信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改、查看评论或删除公告信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便公告信息功能可以看到最新的信息或相应的操作反馈。还可以对轮播图管理、公告信息分类、系统简介进行相应操作;公告信息界面如图5-10所示:

5-10系统管理界面

第六章系统测试

6.1 测试目的和原则

6.1.1 测试目的

软件产品是一种高智力、高密度集的产品,有时候往往需要投入大量人力物力。随着社会的进步以及需求的提高,软件测试更是不可缺失的一个步骤。测试是软件生命周期的重要部分,因为尽管开发过程中开发人员已经采用了许多开发方法来规避错误,但这并不是万无一失。因此,进行软件测试非常有必要,目的是及时发现软件开发过程中由于马虎或技术原因出现的缺陷,使软件能够正常、稳定、可靠的运行,以达到软件设计的要求和减少资源成本的消耗。[8]

6.1.2 测试原则

尽早测、不断测,因为越晚发现问题,可修复的成本越高,需要的工程量可能越大。

测试贯穿全程,测试用例要尽可能覆盖全面。如规避掉极端条件测试,极有可能极端条件使得产品某个功能无法正常运行[13]

测试要有详细的计划,并且严格按照测试计划进行,避免测试的随意性,以提高测试的质量。[10]

6.1.3 测试步骤

单元测试:网站开发基本都分模块编码,遵循尽早测、不断测原则,为的是尽可能快发现错误及修正代码。模块功能需要实现需求规约的要求,通常采用白盒测试方法。

集成测试:各模块整合后,避免不了出现问题及错误,此时就需要进行测试,发现设计阶段产生的错误,通常采用黑盒测试方法。

确认测试:代码组装完毕,集成测试完成后,为确认软件功能实现是否已合格,此时需要用需求规格说明书作为依据进行测试[9]。通常采用采用黑盒测试。

系统测试:是将软件产品与网络及硬件pc机等各个部分连接起来,进行全局测试。

6.2 测试内容及BUG修复

本次测试主要以功能测试为主。

6.2.1 测试用例

(1) 用例名:用户登录功能测试

操作步骤:

①输入用户名;

②输入密码;

③点“立即登录”按钮;

预期结果:用户名+密码正确,登录成功;否则弹出相应提示框提示后返回首页。

(2) 用例名:修改用户资料功能测试

操作步骤:

①输入用户名、密码进行登录;

②点击“修改资料”按钮

③重新填写表单中预修改的信息;

④点击“修改”按钮。

预期结果:弹出“修改成功”提示框后跳转至用户个人信息页面。

(3) 用例名:用户退出登录功能测试

操作步骤:

①用户登录后,点击“安全退出”按钮;

预期结果:用户安全退出登录,页面跳转至网站首页。

(4) 用例名:管理员系统简介功能测试

操作步骤:

①点击“后台管理”按钮;

输入管理员账户、密码;

③点击“系统简介”按钮;

④填写表单中公告信息相关内容;

⑤点击“提交”按钮。

预期结果:页面成功显示相关信息。

6.2.2 BUG 列表

软件开发过程中应保证每一环节都进行测试,本文中只列举了4个主要的测试用例,基本涵盖该软件的查询信息、修改信息等功能点,本济南市智慧旅游推荐系统经过测试,列举部分BUG列表,如表6.1所示。

6.1已修复BUG列表

编号

BUG描述

优先级

1

输入框不允许粘贴内容

2

数据库信息输出错误

3

提交删除管理员信息时软件无响应

4

windows7兼容性问题

结论

毕业设计课题是检验四年专业学习成果的一次很好的机会。由此得到毕业课题设计想法开发一个济南市智慧旅游推荐系统。从课题申报到开发,再到提交论文初稿,经过几个月的时间,在拥有基本知识的基础上,也是查阅了很多相关资料。通过软件工程这个专业的确学到了软件开发的很多知识。

本次济南市智慧旅游推荐系统,主要分前端和后台管理两大模块进行开发。经过需求分析到设计,再到编码,调试运行,测试等步骤,基本功能已实现。前端部分能够实现用户注册、登录,查看济南旅游、公告信息等功能。后台管理部分能够实现管理员发布济南旅游信息进行添加或删除操作。

但本次网站的设计因为时间及开发专业知识储备不足等原因,页面也是不够美观酷炫、功能也不是非常完善及强大。需要更新并巩固专业知识完善网站功能及美化网站界面。

参考文献

[1]黄丽萍.基于 Java 的 Web 软件程序框架分层设计探讨[J]. 信息记录材料,2022,23(07):74-76.

[2]吴锋珍.基于主从同步的MySQL负载均衡设计与部署[J].湖南邮电职业技术学院学报,2022,21(02):40-43.

[3]周志明.  深入理解 Java 虚拟机:  JVM 高级特性与最佳实践[M].  北京:  机械工业出版社, 2020: 214-233.

[4]郭晶晶,刘学博.基于Java的参数设置管理系统的设计与应用[J].山西电子技术,2023,(04):54-56+60.

[5]王慧.“Java程序设计”混合式教学创新模式探究[J].数字通信世界,2023,(06):179-181.

[6]单树倩,任佳勋.基于SpringBoot和Vue框架的数据库原理网站设计与实现[J].电脑知识与技术.2021,17(30).

[7]邱小群,邓丽艳,陈海潮.基于B/S的信息管理系统设计和实现[J].信息与电脑(理论版),2022,34(20):146-148.

[8]郑戟明,董云朝,柳青.MySQL数据库数据导入导出方法的探讨[J].电脑知识与技术,2022,18(22):24-25.

[9]焦宇,李民,王欢,余开朝.基于MySQL性能调优的推荐系统优化设计[J].软件导刊,2022,21(09):108-112.

[10] Oliver Linton. Editorial for the special issue on financial engineering and risk management for JoE[J]. Journal of Econometrics, 2018, 19(4):2210-2214.

[11] Ignacio Nuez, Javier Osorio. Calculation of tourist sector electricity consumption and its cost in subsidised insular electrical systems: The case of the Canary Islands, Spain[J]. Energy Policy, 2019, 132(11):4058-4061.


致谢

20239月份入学,至今为止已在母校学习四年,软件工程这个专业让我学到很多计算机相关的知识。毕业设计不仅是一门课程,更是大学四年学习的总结。感谢学校和学院为我提供了这次难得的锻炼机会。

在完成毕业设计的过程中,从选题到设计,尽管遇到了很多困难,但都在老师和同学的关心及帮助下得到克服。在此本人要特别感谢我的指导老师,在整个与毕业设计相关的工作中,指导老师帮助本人分析项目的可行性,耐心指导本人修改任务书、报告书及论文的内容及格式;关心本人实习及毕业后的工作计划。

感谢在中期检查时给我提出关键性建议的指导老师。感谢在代码答辩时,在页面功能及论文格式上给我提出建议的指导老师。感谢为了我们的毕业设计能够顺利进行而奔波忙碌的答辩组评委们。在开发过程中,也感谢给过我帮助的所有同学。通过毕业设计学到了很多,收获了很多。

在大学四年里,本人得到了很多老师的帮助和指导,在此向他们表示最真挚的感谢,感谢老师们的尽职尽责和辛勤付出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值