springboot性格测试系统--附源码30705

摘  要

随着心理健康意识的提升,性格测试作为一种自我认知和心理评估的工具,越来越受到人们的关注。本文旨在设计并实现一个基于Spring Boot框架的性格测试系统,提供用户友好的界面和高效的功能模块,以满足用户在性格测试和心理健康管理方面的需求。

系统主要分为两大部分:管理员后台和注册用户前端。管理员可以通过系统管理用户、发布通知公告、管理心理资讯及问卷调查等,确保系统的稳定运行和信息的及时更新。注册用户则可以通过系统参与问卷调查、获取心理资讯、查看通知公告、进行MBTI测试等,帮助其更好地了解自我及提升心理健康水平。

本系统采用Spring Boot作为后端开发框架,结合MySQL数据库进行数据存储,确保系统的高效性和可扩展性。通过RESTful API设计,前后端分离,提升了系统的响应速度和用户体验。同时,系统注重安全性,采用多重身份验证和数据加密技术,保护用户的个人信息。

通过对系统的测试与评估,结果表明,该性格测试系统功能完善、操作简单,能够有效满足用户的心理健康需求,为心理学研究和应用提供了有力的支持。

关键词:Spring Boot框架;性格测试;心理健康;系统设计

ABSTRACT

With the increasing awareness of mental health, personality tests as a tool for self-awareness and psychological assessment are receiving more and more attention from people. This article aims to design and implement a personality testing system based on the Spring Boot framework, providing a user-friendly interface and efficient functional modules to meet the needs of users in personality testing and mental health management.

The system is mainly divided into two parts: the administrator backend and the registered user frontend. Administrators can ensure the stable operation of the system and timely updates of information by managing users, publishing notifications and announcements, managing psychological information, and conducting surveys through the system. Registered users can participate in questionnaire surveys, obtain psychological information, view notifications and announcements, and take MBTI tests through the system, helping them better understand themselves and improve their mental health level.

This system adopts Spring Boot as the backend development framework, combined with MySQL database for data storage, to ensure the efficiency and scalability of the system. Through RESTful API design and front-end and back-end separation, the system's response speed and user experience have been improved. At the same time, the system focuses on security and adopts multiple authentication and data encryption technologies to protect users' personal information.

Through testing and evaluation of the system, the results show that the personality testing system has complete functions, simple operation, and can effectively meet the psychological health needs of users, providing strong support for psychological research and application.

Keywords:Spring Boot framework; Personality test; mental health; system design

目 录

1项目开发背景

1.1课题研究背景及意义

1.2国内外发展现状分析

2相关技术简介

2.1  Springboot 框架简介

2.2  B/S结构

2.3  VUE框架简介

2.4  MySQL数据库简介

3系统需求分析

3.1系统功能需求分析

3.1.1.注册用户主要功能

3.1.2.管理员主要功能

3.2系统非功能性分析

3.3系统可行性分析

3.3.1技术可行性

3.3.2经济可行性

3.3.3操作可行性

3.4系统用例分析

3.4.1注册用户用例分析

3.4.2管理员用例分析

4系统设计

4.1系统总体设计思路

4.2系统结构设计

4.3系统流程设计

4.3.1用户登录流程

4.3.2信息添加流程

4.5.3信息删除流程

4.4系统核心代码设计

4.4.1用户注册

4.4.2用户登录

4.4.3修改密码

4.4.4修改数据

4.4.5删除数据

4.4.6获取列表

4.4.7图片上传

4.5数据库设计

4.5.1数据库设计原则

4.5.2数据库实体

4.5.3数据库表设计

5系统实现

5.1注册用户功能实现

5.1.1用户注册

5.1.2用户登录

5.1.3我的账户

5.1.4问卷调查

5.1.5心理资讯

5.1.6MBTI测试

5.2管理员功能实现

5.2.1系统用户

5.2.2系统管理

5.2.3通知公告管理

5.2.4资源管理

6系统测试

6.1系统测试目标

6.2系统功能测试

6.3测试结果总结

结 论

参考文献

致 谢

1项目开发背景

1.1课题研究背景及意义

随着社会的发展和人们心理健康意识的提高,性格测试逐渐成为个人自我认知的重要工具。性格测试不仅可以帮助个体了解自身的性格特征,还能为职业规划、人际关系和心理健康等方面提供指导。现代社会节奏加快,压力增大,心理健康问题日益突出,性格测试作为一种有效的心理评估工具,能够帮助人们识别自身的情绪状态和心理需求,从而促进心理健康的维护[1]。

在这一背景下,性格测试系统的研究和开发显得尤为重要。传统的性格测试往往依赖于纸质问卷,存在填写不便、数据处理效率低等问题。借助信息技术,尤其是互联网和移动应用的发展,性格测试可以通过线上平台实现,用户能够随时随地参与测试,获取即时反馈。这种便捷性不仅提高了测试的参与度,也为用户提供了更为丰富的个性化体验[2]。

性格测试系统的设计与实现,不仅有助于提高心理健康服务的可及性,还能推动心理学研究的深入发展。通过数据的收集与分析,研究者可以获得更为全面的性格特征分布情况,为心理学理论的完善提供实证支持。同时,系统的应用也为教育、企业管理等领域提供了新的视角,帮助不同群体在性格分析的基础上进行有效的决策[3]。

在数字化时代,性格测试系统的开发不仅是技术进步的体现,更是对人们心理需求的积极响应。通过构建一个高效、便捷、安全的性格测试平台,能够有效促进个体的自我认知,提升心理健康水平,为社会的心理健康事业贡献力量。性格测试系统的研究与实践,具有重要的社会意义和应用价值。

1.2国内外发展现状分析

性格测试系统的研究在国内外均取得了显著进展,形成了丰富的理论基础和实践应用。国外的性格测试研究起步较早,许多经典的性格测评工具在心理学领域得到了广泛认可。例如,迈尔斯-布里格斯性格类型指标(MBTI)自20世纪初问世以来,已被广泛应用于职业指导、团队建设和个人发展等多个领域。该测试基于卡尔·荣格的心理类型理论,帮助个体了解自己的性格特征和适合的职业方向。此外,五大人格模型(Big Five)也是国外心理学研究中的重要工具,研究者通过这一模型评估个体的外向性、宜人性、尽责性、神经质和开放性,广泛应用于心理健康评估和人力资源管理中。

在国内,性格测试的研究起步相对较晚,但随着心理健康意识的提升,相关研究逐渐增多。例如,近年来一些高校和研究机构开发了适合中国文化背景的性格测评工具,如“九型人格”测试和“性格特征问卷”。这些工具结合了中国人的思维方式和文化特点,得到了越来越多用户的认可与使用[4]。同时,随着互联网技术的发展,线上性格测试系统逐渐兴起,提供了便捷的测试方式和即时的反馈机制。诸如“性格测试网”和“心理测评中心”等平台,允许用户在线完成测试,并获得详细的性格分析报告,满足了现代人对心理健康的关注[5]。然而,国内性格测试系统的研究和应用仍面临一些挑战。部分测试工具的科学性和可靠性尚待进一步验证,缺乏系统的实证研究支持。例如,虽然“九型人格”在一定人群中受到欢迎,但其理论基础和实证数据仍需加强[6]。此外,文化差异可能影响测试结果的准确性,如何在不同文化背景下进行有效的性格评估仍需深入探讨[7]。现有的测试系统在用户体验和数据安全方面也存在改进空间,确保用户信息的隐私和安全是未来发展的重要方向。

总体来看,性格测试系统的国内外研究现状呈现出良好的发展势头,理论与实践相结合的趋势日益明显。随着心理健康领域的不断发展,性格测试系统的研究将继续深化,为个体心理健康管理和社会心理服务提供更为有效的支持。

2相关技术简介

2.1  Springboot 框架简介

Spring Boot,作为Spring生态系统中一颗璀璨的明星,以其“约定优于配置”的核心理念,极大地简化了Java应用的开发、部署与管理流程。它并非是对Spring框架的颠覆,而是在其基础上进行了深度封装与优化,旨在快速搭建独立的、生产级别的Spring应用。Spring Boot通过自动配置功能,减少了大量繁琐的配置工作,让开发者能够更加专注于业务逻辑的实现。同时,它集成了众多常用库,如数据库连接池、缓存、消息队列等,为开发者提供了一站式的解决方案。此外,Spring Boot还支持多种部署方式,无论是传统的WAR包部署,还是现代的容器化部署,都能轻松应对。因此,选择Spring Boot作为性格测试系统的开发框架,不仅能够提升开发效率,还能确保系统的稳定性和可维护性。

2.2  B/S结构

B/S模式,即浏览器/服务器模式,是一种常见的网络应用架构模式。在B/S模式中,用户通过浏览器作为客户端与服务器进行交互。在浏览器/服务器(browser / Server Architecture)系统中,用户只需通过浏览器,就能够轻松地向分布在网络各处的众多服务器发送海量的请求。B/S系统大大地简化了客户端的工作,让用户体验更加便捷。

2.3  VUE框架简介

Vue框架,作为一款风靡前端的JavaScript框架,以其渐进式、组件化的设计理念,为开发者构建高效、灵活的Web界面提供了强大支持。Vue不仅轻量且易于上手,其核心库专注于视图层,使得开发者能够轻松地将Vue集成到现有项目中,实现前后端分离的现代Web应用开发。其响应式的数据绑定和组件系统,让开发者能够高效地管理界面状态和用户交互,同时Vue丰富的生态系统也提供了众多插件和工具,进一步提升了开发效率和应用的性能。在性格测试系统中引入Vue作为前端框架,不仅可以优化用户界面的渲染和交互体验,还能通过前后端分离的架构提升系统的可维护性和可扩展性,是构建现代、高效性格测试系统的理想选择。

2.4  MySQL数据库简介

MySQL数据库,作为开源关系型数据库管理系统的佼佼者,以其高性能、可靠性、易用性和灵活性,在全球范围内被广泛应用于各类企业级应用中。MySQL采用SQL(结构化查询语言)作为数据操作的标准语言,支持复杂的查询、数据更新、索引优化等功能,确保数据的高效存取和完整性。其强大的事务处理能力,为业务逻辑的原子性、一致性、隔离性和持久性提供了坚实保障。此外,MySQL还具备高度的可配置性和可扩展性,通过优化存储引擎、调整配置参数等手段,可以轻松应对高并发、大数据量的应用场景。在性格测试系统中,MySQL作为后端数据存储的核心,不仅为系统提供了稳定可靠的数据支持,还通过其丰富的数据操作功能,助力系统实现复杂的业务逻辑和高效的数据管理。

3系统需求分析

3.1系统功能需求分析

性格测试系统包含注册用户、管理员两个角色,主要功能如下:

3.1.1.注册用户主要功能

首页:注册用户登录后首先进入首页,首页提供系统的整体概览,包括最新的心理资讯、通知公告和活动信息。用户可以快速浏览重要内容,了解系统的最新动态和心理健康相关的信息。

问卷调查:在问卷调查模块,注册用户可以参与性格测试和心理健康评估。系统提供多种问卷,用户可以根据自身需求选择填写。问卷设计直观,回答过程简单方便,用户提交后可以查看自己的测试结果和分析。

通知公告:通知公告模块展示系统发布的最新公告和重要信息。注册用户可以随时查看系统的通知内容,确保不会错过重要活动或更新。公告内容分类明确,用户可以快速找到感兴趣的信息。

心理资讯:心理资讯模块为注册用户提供丰富的心理健康相关内容,包括文章、视频和研究资料。用户可以浏览、阅读和分享资讯,提升自身的心理健康知识。系统支持资讯的分类,方便用户查找特定主题的内容。

MBTI测试:在MBTI测试模块,注册用户可以进行MBTI性格类型测试。该测试帮助用户了解自己的性格特征和倾向,提供个性化的分析和建议。用户完成测试后,可以获取详细的结果解读,帮助其更好地认识自己。

我的账户:我的账户模块为注册用户提供个人信息管理功能。用户可以查看和编辑自己的基本信息,如昵称、头像和联系方式。该模块还支持用户修改密码和安全设置,确保账户的安全性。

个人中心

个人中心模块提供用户的个性化管理界面,包括以下子功能:

个人首页:展示用户的基本信息、参与的问卷和测试记录,提供用户的整体活动概览。

问卷调查:用户可以查看自己参与过的问卷记录,了解历史测试结果及其变化。

评论管理:用户可以管理自己对心理资讯和测试结果的评论,查看和编辑历史评论,提升互动体验。

3.1.2.管理员主要功能

后台首页:后台首页为管理员提供了系统的工作概览,方便管理和监控系统的运行情况。

系统用户:在系统用户模块,管理员可以查看、添加、编辑和删除系统用户。该模块允许管理员管理用户的角色和权限,确保不同用户能够访问相应的功能。

系统管理(轮播图):系统管理模块包括轮播图管理功能,管理员可以添加、编辑和删除首页展示的轮播图。通过轮播图,管理员能够有效地展示重要信息、活动通知或心理健康相关的宣传内容,提升用户体验和系统的吸引力。

通知公告管理:在通知公告管理模块,管理员可以发布、编辑和删除通知公告。系统支持公告的分类和排序,确保用户能够快速找到重要信息。管理员可以设置公告的有效期和可见范围,以便及时传达关键信息。

资源管理:资源管理模块允许管理员管理心理资讯和相关学习资源。该模块包括以下子功能:

心理资讯:管理员可以添加、编辑和删除心理健康相关的资讯内容,确保信息的及时更新和准确性。

资讯分类:管理员可以创建和管理资讯的分类,支持多层级分类结构,确保资讯内容的有序组织。

问卷调查:管理员可以设计和管理性格测试问卷,发布问卷并收集用户反馈,系统支持结果的查看和导出,帮助分析数据并改进测试内容。

权限管理:权限管理模块使管理员能够定义和管理不同角色的权限。管理员可以设置对心理资讯、资讯分类、问卷调查等模块的访问权限,确保系统的安全性和数据的保密性。通过合理的权限控制,避免未授权访问和信息泄露。

3.2系统非功能性分析

性格测试系统,非功能性需求分析是一个重要的部分。非功能性需求主要关注的是系统如何运行,而不是它具体完成什么功能。这些需求包括性能、可用性、安全性、可维护性、可扩展性、易用性等方面。以下是一个关于性格测试系统非功能性需求分析的概要。

性能需求:系统需确保快速响应和高吞吐量,以支持大量用户同时访问,即使在高峰时段也能保持流畅的操作体验,避免因延迟或卡顿影响用户体验。

可用性:安系统必须具备高可用性,采用冗余部署、负载均衡等策略,确保即使部分组件故障也能迅速恢复服务,减少服务中断时间,保障用户业务的连续性。

安全性:鉴于系统处理用户敏感信息,必须实施严格的安全措施,包括数据加密、访问控制、防攻击机制等,以保护用户数据免受未授权访问或泄露。

可维护性:系统设计应注重可维护性,采用模块化、标准化的架构,提供详尽的开发文档和用户手册,确保系统易于理解和维护,降低长期运维成本。

可扩展性:随着业务的发展,系统可能需要扩展功能或提升性能。因此,系统需具备灵活的可扩展性,能够轻松添加新模块、优化性能,以应对未来增长的需求。

易用性:用户界面应直观易用,符合用户习惯,提供清晰的导航和友好的操作反馈,帮助用户快速上手并高效完成任务,提升整体用户满意度。


3.3系统可行性分析

通过性格测试系统的可行性分析,我们可以从技术可行性、经济可行性和操作可行性三个维度进行深入探讨,以确保系统的开发与应用具有坚实的可行性基础。

3.3.1技术可行性

Springboot作为目前流行的Java企业级应用开发框架,以其“约定优于配置”的原则,极大地简化了开发流程,降低了技术门槛。同时,结合MyBatis Plus这一强大的ORM框架,可以高效实现数据持久化操作。前端采用Vue框架,不仅提升了用户界面的交互体验,也实现了前后端分离的现代Web架构。MySQL数据库作为后端数据存储,以其高性能和稳定性为系统提供了可靠的数据支持。综上所述,从技术角度来看,该系统的开发具备高度可行性。

3.3.2经济可行性

考虑到Springboot、Vue、MyBatis Plus及MySQL等均为开源技术,无需支付高昂的许可费用,大大降低了系统的开发成本。同时,这些技术拥有广泛的用户群体和成熟的社区支持,便于获取技术支持和资源共享。此外,系统的实施将显著提升用户体验,从而带来潜在的经济效益。因此,从经济角度来看,该系统的开发同样具备可行性。

3.3.3操作可行性

系统设计应遵循用户友好原则,确保用户能够轻松上手并高效使用。通过合理的界面布局、直观的操作流程以及详尽的帮助文档,可以大大降低用户的学习成本,提高系统的操作可行性。此外,系统还应具备完善的权限管理和数据安全机制,确保操作的安全性和合规性。

从技术、经济 操作三个维度来看,性格测试系统的开发均具备高度的可行性。

3.4系统用例分析

性格测试系统用例分析主要从注册用户,管理员这些实体展开描述。

3.4.1注册用户用例分析

注册用户具备注册登录、首页、问卷调查、通知公告、心理资讯、MBTI测试、我的账户、个人中心(个人首页、问卷调查、评论管理)等用例信息。详细用例图如图3-1所示。

图3-1注册用户用例图

3.4.2管理员用例分析

管理员具备登录、后台首页、系统用户、系统管理(轮播图)、通知公告管理、资源管理(心理资讯、资讯分类、问卷调查)、权限管理等需求用例。详细用例图如图3-2所示。

图3-2管理员用例图

4系统设计

4.1系统总体设计思路

基于SPRINGBOOT架构技术的性格测试系统采用Browser/Server结构,(浏览器/服务器)和基于Web服务前后台交互的模式,是一个适用于Windows体系环境下的模型结构。只要用户有符合程序运行的硬件系统,并连上互联网,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:

图4-1系统工作原理图

其最终前后台交互原理如图4-2所示。

图4-2前后台交互原理

具体交互流程为:浏览器中执行具体操作,操作命令将生成一个do方法。该方法使得浏览器能够访问后台中的Controller层,Controller层由于业务上的需要执行进而访问Service层。Service层收到指令后将会去调用内部DAO层的接口。接口将会和MyBatis层下的一个SQL语句相对接。对接好之后进而访问MySql数据库。更新底层数据,然后将数据同步回MyBatis层,同步变化后的数据将通过DAO层接口,Service层和后台Controller层,直观反映到浏览器页面上。

4.2系统结构设计

性格测试系统的整体结构设计如图4-3所示。

图4-3整体功能结构设计图

4.3系统流程设计

4.3.1用户登录流程

对于系统的安全性的第一关,就是用户想要进入系统,必须通过登录窗口,输入自己的登录信息才可以进行登录,用户输入的信息准确无误后才可以进入到操作系统界面,进行功能模块的相对应操作,如果用户输入的信息不正确,则窗口出现提示框,用户登录失败,返回到第一步进行重新输入,如图4-4所示。

图4-4登录操作流程图

4.3.2信息添加流程

对于性格测试系统,需要随时添加所需要的数据信息,对于用户添加信息,需要根据添加界面,根据选框的内容进行填写所要添加的数据信息,信息输入完成后判断数据信息是否符合要求,符合要求则添加完成,用户所添加的信息不符合要求,则需要返回到第一步,重新输入数据信息,再进行判断操作,如图4-5所示。

图4-5信息添加流程图

4.5.3信息删除流程

不管是哪个用户角色进入到系统操作界面,都可以进行不同的信息内容的操作功能,对用系统数据信息的删除,用户一旦将信息删除,那么该删除的数据信息将无法恢复,所以用户在对数据删除时,一定判断删除的内容是否是确定要删除的,确定无误后选择确定删除操作,如图4-6所示。

图4-6信息删除流程图

4.4系统核心代码设计

性格测试系统的核心代码设计如下:

4.4.1用户注册

注册页UserController.java,传入user对象,并将"user_id"、 "state"、 "user_group"、"login_time"、"phone"、"phone_state"、 "username"、"nickname"、"password"、"email"、"email_state"、"avatar"、"create_time"输入,重点是 "username"、"nickname"、"password"必须输入,通过获取username,数据库查询是否有该用户,如果存在,则提示“用户已存在”,否则执行将UserId置为空(数据库表中该字段已设置自动递增),代码如图4-7所示。

图4-7注册核心代码图

4.4.2用户登录

登录页,首先传入"username"、"email"、"phone"、"password",用户可通过用户名、邮箱、手机号进行登陆,通过判断resultList来确定查询结果,然后执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,代码如图4-8所示。

图4-8用户登录核心代码图

4.4.3修改密码

修改密码,通过请求data,获取旧密码,并将新密码重新赋值,期间都是需要通过加密,代码如图4-9所示。

图4-9修改密码核心代码图

4.4.4修改数据

修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,代码如图4-10所示。

图4-10修改数据核心代码图

4.4.5删除数据

删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,代码如图4-11所示。

图4-11删除数据核心代码图

4.4.6获取列表

通过请求的参数获取列表数据,代码如图4-12所示。

图4-12获取列表核心代码图

4.4.7图片上传

通过请求的参数获取列表数据,代码如图4-13所示。

图4-13图片上传核心代码图

4.5数据库设计

4.5.1数据库设计原则

性格测试系统在进行数据库设计时,考虑到个人能力与数据库选择,选择了数据库Mysql。以下将使用E-R展示数据库中设计的实体及主要的字段和类型及数据库的描述。

4.5.2数据库实体

数据库实体E-R图如图4-14所示:

图4-14数据库E-R图

4.5.3数据库表设计

以下为本课题开发过程中所使用的数据表结构:

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

parent

varchar

64

0

Y

N

父级菜单

8

parent_sort

int

10

0

N

N

0

父级菜单排序

9

position

varchar

32

0

Y

N

位置:

10

mode

varchar

32

0

N

N

_blank

跳转方式:

11

add

tinyint

3

0

N

N

1

是否可增加:

12

del

tinyint

3

0

N

N

1

是否可删除:

13

set

tinyint

3

0

N

N

1

是否可修改:

14

get

tinyint

3

0

N

N

1

是否可查看:

15

field_add

text

65535

0

Y

N

添加字段:

16

field_set

text

65535

0

Y

N

修改字段:

17

field_get

text

65535

0

Y

N

查询字段:

18

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

19

table_nav

varchar

500

0

Y

N

跨表导航:

20

option

text

65535

0

Y

N

配置:

21

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

22

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表code_token

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

code_token_id

int

10

0

N

Y

2

token

varchar

255

0

Y

N

3

code

varchar

255

0

Y

N

验证码

4

expire_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

失效时间

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表evaluation (测评问卷)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exam_id

mediumint

8

0

N

Y

问卷id

2

name

varchar

32

0

N

N

问卷名称:[2,32]

3

duration

int

10

0

Y

N

答题时长

4

status

varchar

10

0

Y

N

状态:启用、禁用

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表evaluation_question (题目)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exam_question_id

mediumint

8

0

N

Y

2

type

varchar

20

0

Y

N

类型

3

title

varchar

255

0

Y

N

题目

4

question_item

varchar

500

0

Y

N

选项

5

question_order

int

10

0

Y

N

排序

6

exam_id

mediumint

8

0

N

N

所属问卷

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表evaluation_user_answer (用户答题)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_answer_id

mediumint

8

0

N

Y

2

user_id

mediumint

7

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

3

exam_id

mediumint

8

0

N

N

0

考试id

4

score

double

9

2

Y

N

0.00

分数

5

answers

text

65535

0

Y

N

答案

6

comment_state

tinyint

4

0

Y

N

0

点评状态

7

nickname

varchar

255

0

Y

N

提交人

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

10

comment_desc

varchar

255

0

Y

N

评语

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表registered_user (注册用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registered_user_id

int

10

0

N

Y

注册用户ID

2

user_name

varchar

64

0

N

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

phone_number

varchar

16

0

N

N

手机号码

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表schedule (日程管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

schedule_id

smallint

5

0

N

Y

日程ID:[0,32767]

2

content

varchar

255

0

Y

N

日程内容

3

scheduled_time

datetime

19

0

Y

N

计划时间

4

user_id

int

10

0

N

N

用户id

5

create_time

datetime

19

0

Y

N

创建时间

6

update_time

datetime

19

0

Y

N

更新时间

表score (评分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

score_id

int

10

0

N

Y

评分ID:

2

user_id

int

10

0

N

N

0

评分人:

3

nickname

varchar

64

0

Y

N

昵称:

4

score_num

double

5

2

N

N

0.00

评分:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

source_table

varchar

255

0

Y

N

来源表:

8

source_field

varchar

255

0

Y

N

来源字段:

9

source_id

int

10

0

N

N

0

来源ID:

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

int

10

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5系统实现

5.1注册用户功能实现

5.1.1用户注册

用户注册:输入账号、设置密码、确认密码、昵称、邮箱、选择用户身份、用户姓名、用户性别、联系电话等用户个人信息,点击注册按钮进行注册,用户注册界面如下图所示。

图5-1用户注册界面图

5.1.2用户登录

用户登录:输入用户名跟密码点击登录按钮,校验通过后即可登录,用户登录界面如下图所示。

图5-2用户登录界面图

5.1.3我的账户

我的账户:包含个人资料修改跟密码修改,个人资料可修改头像等。我的账户界面如下图所示。

图5-3我的账户界面图

5.1.4问卷调查

在问卷调查模块,注册用户可以参与性格测试和心理健康评估。系统提供多种问卷,用户可以根据自身需求选择填写。问卷设计直观,回答过程简单方便,用户提交后可以查看自己的测试结果和分析。问卷调查如下图所示。

图5-4问卷调查界面

5.1.5心理资讯

心理资讯模块为注册用户提供丰富的心理健康相关内容,包括文章、视频和研究资料。用户可以浏览、阅读和分享资讯,提升自身的心理健康知识。系统支持资讯的分类,方便用户查找特定主题的内容。心理资讯界面如下图所示。

图5-5心理资讯界面

5.1.6MBTI测试

在MBTI测试模块,注册用户可以进行MBTI性格类型测试。该测试帮助用户了解自己的性格特征和倾向,提供个性化的分析和建议。用户完成测试后,可以获取详细的结果解读,帮助其更好地认识自己。MBTI测试界面如下图所示。

图5-6MBTI测试界面

5.2管理员功能实现

5.2.1系统用户

在“系统用户”模块下,管理员可以管理系统上的两类用户:管理员和注册用户。管理员可以进行用户的增、删、改、查操作,包括设置权限、修改用户信息等。系统用户管理界面如下图所示。

图5-7系统用户界面

5.2.2系统管理

系统管理:可以查看轮播图详情,以及查询、重置、删除、添加等操作。系统管理界面如下图所示。

图5-8系统管理界面

5.2.3通知公告管理

管理员可以在公告信息管理模块发布最新公告、活动通知或重要声明。通知公告管理界面所示。

图5-9通知公告管理界面


5.2.4资源管理

心理资讯:管理员可以添加、编辑和删除心理健康相关的资讯内容,确保信息的及时更新和准确性。

资讯分类:管理员可以创建和管理资讯的分类,支持多层级分类结构,确保资讯内容的有序组织。

问卷调查:管理员可以设计和管理性格测试问卷,发布问卷并收集用户反馈,系统支持结果的查看和导出,帮助分析数据并改进测试内容。

资源管理相关界面所示。

图5-10心理资讯界面

图5-11资讯分类界面

图5-12问卷调查界面

6系统测试

6.1系统测试目标

为了保证“性格测试系统”的质量,使其能够稳定的运行,并排除其可能存在的未知隐患。解除软件可能存在的故障,理清楚测试与纠错的关系,如图6-1所示。

图6-1测试与纠错信息流程

6.2系统功能测试

通过对系统中所含的主要实体对象及其功能操作进行测试用例设计。以下是详细的测试:

表6-1用户注册登录测试表

用户注册登录测试用例:

用例说明

测试目的

测试步骤

预期结果

输出结果

通过情况

用户注册、登录

测试用户正确注册、登录

  1. 在首页界面注册一个新用户,按规定输入合理的注册信息,提交。
  2. 用户在登录界面输入账户密码登录

用户注册成功,登录成功

结果输出符合预期

通过

表6-2问卷调查测试表

用户注册登录测试用例:

用例说明

测试目的

测试步骤

预期结果

输出结果

通过情况

问卷调查

测试问卷调查

  1. 在首页点击问卷调查并看详情;
  2. 点击问卷调查,填写相关信息点击提交

用户填写相关成功,生成问卷调查

结果输出符合预期

通过

表6-3MBTI测试测试表

用户注册登录测试用例:

用例说明

测试目的

测试步骤

预期结果

输出结果

通过情况

MBTI测试

测试用户MBTI测试

  1. 首页点击MBTI测试;
  2. 输入相关信息点击提交

生成新的MBTI测试

结果输出符合预期

通过

表6-4心理资讯添加测试表

用户注册登录测试用例:

用例说明

测试目的

测试步骤

预期结果

输出结果

通过情况

心理资讯添加测试

测试管理员添加心理资讯

  1. 管理员点击心理资讯添加;
  2. 输入相关信息点击提交

心理资讯添加成功

结果输出符合预期

通过

表6-5公告消息删除测试表

用户注册登录测试用例:

用例说明

测试目的

测试步骤

预期结果

输出结果

通过情况

公告消息删除测试

测试公告消息

  1. 管理员点击公告消息;
  2. 选择一个公告信息点击删除并确认删除

公告消息删除成功,前端不在展示该公告信息

结果输出符合预期

通过

6.3测试结果总结

经过上述测试,并对测试数据结果综合分析。性格测试系统具备简便,数据透明等特性。完全符合性格测试系统的要求。

结 论


本文描述了性格测试系统的原理和开发过程,该系统是通过SpringBoot框架来

搭建后台,中间件使用的是Tomcat服务器,数据库管理平台采用开源的Mysql,前台使用的是JQuery框架,同时使用Validate校验框架,这样就可以减少前端代码的输入量,而且基于JQuery框架的Validat框架使用简单,是流行的前端使用框架,前端使用的主要是HTML页面展示技术。

在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从开发这个性格测试系统的过程中我也收获了许许多多宝贵的方法以及设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、SpringBoot、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。

当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。

参考文献

  1. 闫志豪,路安平,周小柠,等.基于智慧社区与高校联动的公共心理健康系统建设[J].国际公关,2024,(14):167-169.DOI:10.16645/j.cnki.cn11-5281/c.2024.14.054.
  2. 潘婷婷,傅毅,管芳景.高职院校心理咨询服务系统的设计与实现[J].无线互联科技,2024,21(13):76-79.
  3. 李倩会.“互联网+”背景下大学生心理健康教育工作探析[J].中国新通信,2023,25(24):116-118.
  4. 夏瑾.感觉“有点儿准”的MBTI人格测试靠谱吗[N].中国青年报,2024-03-02(003).DOI:10.38302/n.cnki.nzgqn.2024.000780.
  5. 刘月,杨伟樱,李晔.基于大数据的高职学生心理健康监测系统[J].中国新通信,2023,25(24):113-115+15.
  6. 张潇文,班理,马博,等.基于振动信号检测的STM心理测试系统设计[J].自动化与仪器仪表,2023,(12):51-55.DOI:10.14016/j.cnki.1001-9227.2023.12.051.
  7. 童欢欢.基于XGBoost算法的多参数心理测试仪优化研究[J].自动化与仪器仪表,2023,(10):218-222.DOI:10.14016/j.cnki.1001-9227.2023.10.218.
  8. 张兰庆.高一新生心理健康状况调查与分析[C]//甘肃省体育科学学会.西部体育研究——甘肃省体育科学学会2024年度论文报告会论文集(二).甘肃省临洮中学;,2024:3.DOI:10.26914/c.cnkihy.2024.030867.
  9. 高海霞.大学生心理健康教育现状及改进策略[J].中国多媒体与网络教学学报(中旬刊),2024,(03):170-173.
  10. 季丹.大学生心理健康咨询平台的研究与设计[C]//广东省教师继续教育学会.广东省教师继续教育学会第一届教学与管理研讨会论文集(五).南京交通职业技术学院,电子信息工程学院;,2023:4.DOI:10.26914/c.cnkihy.2023.098080.
  11. 陈永海.基于认知图谱的心理实验标准化测试平台研究[J].黑龙江科学,2021,12(14):132-133.
  12. 卡德热亚·买买提,安霞霞,阿拉发提·阿布拉江,等.基于移动互联网环境下的大学生心理健康咨询平台的研究与设计[J].电脑知识与技术,2020,16(35):45-46+53.DOI:10.14004/j.cnki.ckt.2020.3777.
  13. Wai H K ,Funabiki N,Aung T S, et al.Answer Code Validation Program with Test Data Generation for Code Writing Problem in Java Programming Learning Assistant System[J].Engineering Letters,2024,32(5):
  14. Ullenboom C .Java Programming Exercises:Volume Two: Java Standard Library[M].CRC Press:2024-03-30.
  15. Davi V .Designing Hexagonal Architecture with Java:Build maintainable and long-lasting applications with Java and Quarkus[M].Packt Publishing Limited:2023-09-29.DOI:10.0000/9781837630714.
  16. 成琳.设计大学生心理测试系统的研究[J].科技与创新,2020,(18):54-55+62.DOI:10.15913/j.cnki.kjycx.2020.18.020.
  17. 曹校林,杜奕,谭文安.基于微服务的大学生心理咨询模型及其服务平台设计与实现[J].上海第二工业大学学报,2020,37(03):220-226.DOI:10.19570/j.cnki.jsspu.2020.03.007.
  18. 赵泽桐.高校大学生心理健康信息系统管理研究[J].智库时代,2019,(50):82-83.
  19. [1]Wang Q ,Zheng L ,Hong R .Exploration on the Teaching Model of Java Programming and Practice for Students with No Programming Background[J].Advances in Educational Technology and Psychology,2024,8(6):
  20. Zhang J .Teaching Reform of Java Program Design Based on Vocational Education Cloud Platform[J].Journal of Higher Education Teaching,2024,1(5):

致 谢

在撰写这篇关于性格测试系统的毕业论文之际,我满怀感激之情,回顾整个设计过程,从最初的构想到最终的成果,每一步都凝聚了众多人的支持与帮助。

这个过程中,我经历了从无到有的创造,从理论学习到实践应用的跨越,不仅深化了我对Spring Boot框架的理解,也锻炼了我的系统设计与编程能力。

在此,我要特别感谢我的导师。是您的悉心指导与无私奉献,让我在迷茫时找到了方向,在困难前鼓起了勇气。您的严谨治学态度和深厚学术造诣,不仅让我在学术上受益匪浅,更在人生道路上树立了榜样。

我也要感谢我的同学们。我们一起熬夜讨论,一起解决难题,你们的陪伴与帮助,让我的大学生活更加丰富多彩。在团队合作中,我学会了沟通与协作,也更加珍惜这份难得的友谊。

我还要感谢我的家人。是你们的理解与支持,让我能够全身心地投入到学业中。在我遇到挫折时,是你们给予我温暖与鼓励,让我有勇气面对一切挑战。

展望未来,我将带着这份感激与收获,继续前行。我深知,技术的道路永无止境,我将不断学习新知识,掌握新技能,为未来的工作与研究打下坚实的基础。同时,我也希望能将所学应用到更广阔的领域,为社会的发展贡献自己的一份力量。

请关注点赞+私信博主,免费领取项目源码     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值