logo资料库

基于Android和Spring Boot的心理互助社区系统设计与实现.docx

第1页 / 共89页
第2页 / 共89页
第3页 / 共89页
第4页 / 共89页
第5页 / 共89页
第6页 / 共89页
第7页 / 共89页
第8页 / 共89页
资料共89页,剩余部分请下载后查看
摘 要
Abstract
目 录
1 绪 论
1.1 研究背景和研究意义
1.2 国内外研究现状
1.2.1 国外研究现状
1.2.2 国内研究现状
1.3 研究方法
1.4 研究内容
2 需求分析
2.1可行性分析
2.1.1 技术可行性
2.1.2 经济可行性
2.1.3 操作可行性
2.2 功能需求分析
2.2.1 登录注册功能分析
2.2.2 个人主页功能分析
2.2.3 系统管理功能分析
2.2.4 问答社区功能分析
2.2.5树洞功能分析
2.2.6 小组功能分析
2.3 性能需求分析
2.4 可靠性和可用性分析
2.5 可扩展性分析
2.6 相关技术分析
2.6.1 系统体系架构分析
2.6.2 客户端技术分析
2.6.3 服务器端技术分析
2.6.4 数据库技术分析
2.7 本章小结
3 系统总体设计
3.1 系统架构设计
3.2系统功能模块设计
3.2.1 登录注册模块
3.2.2 个人主页模块
3.2.3 系统管理模块
3.2.4 问答社区模块
3.2.5 树洞模块
3.2.6 小组模块
3.3 数据库设计
3.3.1 实体图设计
3.3.2 实体联系图设计
3.3.3 数据表设计
3.3 本章小结
4 系统详细设计
4.1 详细设计概述
4.1.1 服务器端详细设计概述
4.1.2 客户端端详细设计概述
4.1.3 API文档概述
4.2 登录注册模块
4.2.1 服务器端详细设计
4.2.2 客户端详细设计
4.2.3 API文档描述
4.3 个人主页模块
4.3.1 服务器端详细设计
4.3.2客户端详细设计
4.3.3 API文档描述
4.4 系统管理模块
4.4.1 服务器端详细设计
4.4.2 客户端详细设计
4.4.3 API文档描述
4.5 问答社区模块
4.5.1 服务器端详细设计
4.5.2 客户端详细设计
4.5.3 API文档描述
4.6 树洞模块
4.6.1 服务器端详细设计
4.6.2 客户端详细设计
4.6.3 API文档描述
4.7 小组模块
4.7.1 服务器端详细设计
4.7.2 客户端详细设计
4.7.3 API文档描述
4.8 本章小结
5 系统实现
5.1 服务器端资源请求动静分离的实现
5.2 服务器端和客户端的项目管理工具
5.3 服务器端和客户端处理Http请求的实现
5.4 客户端使用的其他开源类库
5.5 登录注册模块实现
5.5.1 客户端界面实现
5.5.2 客户端逻辑实现
5.5.3 服务器端登录功能代码
5.6 个人主页模块实现
5.6.1 客户端界面实现
5.6.2 客户端逻辑实现
5.6.3 服务器端修改个人信息功能代码
5.7 系统管理模块服务器端封号禁言功能代码
5.8 问答社区模块实现
5.8.1 客户端界面实现
5.8.2 客户端逻辑实现
5.8.3 服务器端搜索问题功能代码
5.9树洞模块实现
5.9.1客户端界面实现
5.9.2客户端逻辑实现
5.9.3服务器端添加匿名帖子功能代码
5.10小组模块实现
5.10.1客户端界面实现
5.10.2客户端逻辑实现
5.10.3服务器端加入小组功能代码
5.11本章小结
6 系统测试
6.1 登录功能测试
6.2 注册功能测试
6.3 修改个人信息功能测试
6.4 提问功能测试
6.5 回答功能测试
6.6 创建小组功能测试
6.7 本章小结
结 论
基于 Android 和 Spring Boot 的心理互助社区系统设计与实现 摘 要 本文设计并实现了一个基于 Android 和 Spring Boot 的网络社区系统,主题是心理互 助,开发目的是为了让出现轻度心理问题的人们有一个交流互动的平台,通过线上交流、 平等互助地方式改善每一个人的心理状态,成为一个身心健康的人。本心理互助社区系 统的特点是交际性、免费性、互助性和非专业性。 本文遵循了软件工程的标准开发流程,经过需求分析、总体设计、详细设计、系统 实现和系统测试五大流程,最终完成了整个系统的开发。依据总体分析阶段的成果,本 文将整个系统分为了六大功能模块,分别为登录注册模块、系统管理模块、个人主页模 块、问答社区模块、树洞模块和小组模块,后三个模块为系统的主要模块。其中,问答 社区模块为人们提供了一个自由提问与回答的平台,使得人们能够在这里分享和找到与 自己心理问题相似的信息;树洞模块则提供了一个匿名倾诉的平台,人们可以在这里以 匿名方式表达自己的心事;小组模块提供了一个线上小组交流的平台,人们可以在这里 创建和加入心仪的小组,与小组内的人进行畅谈。 本系统在客户端使用了Android Studio开发环境,使用了Gradle项目管理工具,同时, 使用了OkHttp,Gson,Glide等开源类库。在服务器端使用了IntelliJ IDEA作为开发环境, 使用了Maven项目管理工具,并使用Nginx实现了资源的动静分离,同时选用了MySQL 作为数据库。 关键词:心理互助,网络社区,Android,Spring Boot
Design and Implementation of Psychological Mutual Assistance Community System Based on Android and Spring Boot Abstract This article designs and implements a network community system based on Android and Spring Boot. The theme of this system is psychological mutual assistance. The Development purpose is to allow people with mild psychological problems to have platform to communication with each other, and improve everyone’s mental state through the way of online communication and equal assistance to make them become people with mental health. The characteristics of this psychological mutual aid community system are communicative, free, mutual aid and non-professional. including requirements analysis, overall design, detailed design, This article follows the standard development process of software engineering. After five processes system implementation and system testing, the development of the whole system is finally completed. According to the results of the overall analysis stage, this article divides the entire system into six functional modules, namely login registration module, system management module, personal homepage module, question and answer community module, tree hole module and group module, the latter three modules are the main module of the system. Among them, the question and answer community module provides a platform for people to ask and answer freely, so that people can share and find information similar to their own psychological questions; the tree hole module provides an anonymous platform for people to talk about, they could express their thoughts anonymously; the group module provides an online group communication platform where people can create and join their favorite groups to have a chat with the people in the group. This system uses the Android Studio development environment on the client and Gradle project management tools, at the same time, open source libraries such as OkHttp, Gson, and Glide are used. On the server side, IntelliJ IDEA is used as the development environment, Maven project management tools are used, and the dynamic and static separation of resources is achieved using Nginx. At the same time, MySQL is used as the database. Key Words: Psychological Assistance, Online Community, Android, Spring Boot, II
目 录 1 绪 论............................................................................................................................. 1 1.1 研究背景和研究意义 .............................................. 1 1.2 国内外研究现状 .................................................. 2 1.2.1 国外研究现状 ............................................... 2 1.2.2 国内研究现状 ............................................... 2 1.3 研究方法 ........................................................ 3 1.4 研究内容 ........................................................ 4 2 需求分析........................................................................................................................... 5 2.1 可行性分析 ...................................................... 5 2.1.1 技术可行性 ................................................. 5 2.1.2 经济可行性 ................................................. 6 2.1.3 操作可行性 ................................................. 6 2.2 功能需求分析 .................................................... 6 2.2.1 登录注册功能分析 ........................................... 6 2.2.2 个人主页功能分析 ........................................... 8 2.2.3 系统管理功能分析 ........................................... 9 2.2.4 问答社区功能分析 .......................................... 10 2.2.5 树洞功能分析 ...............................................11 2.2.6 小组功能分析 .............................................. 12 2.3 性能需求分析 ................................................... 14 2.4 可靠性和可用性分析 ............................................. 14 2.5 可扩展性分析 ................................................... 14 2.6 相关技术分析 ................................................... 15 2.6.1 系统体系架构分析 .......................................... 15 2.6.2 客户端技术分析 ............................................ 15 2.6.3 服务器端技术分析 .......................................... 17 2.6.4 数据库技术分析 ............................................ 17 2.7 本章小结 ....................................................... 18
3 系统总体设计................................................................................................................. 19 3.1 系统架构设计 ................................................... 19 3.2 系统功能模块设计 ............................................... 20 3.2.1 登录注册模块 .............................................. 21 3.2.2 个人主页模块 .............................................. 21 3.2.3 系统管理模块 .............................................. 21 3.2.4 问答社区模块 .............................................. 21 3.2.5 树洞模块 .................................................. 22 3.2.6 小组模块 .................................................. 22 3.3 数据库设计 ..................................................... 22 3.3.1 实体图设计 ................................................ 22 3.3.2 实体联系图设计 ............................................ 27 3.3.3 数据表设计 ................................................ 29 3.3 本章小结 ....................................................... 35 4 系统详细设计................................................................................................................. 36 4.1 详细设计概述 ................................................... 36 4.1.1 服务器端详细设计概述 ...................................... 36 4.1.2 客户端端详细设计概述 ...................................... 36 4.1.3 API 文档概述 ............................................... 36 4.2 登录注册模块 ................................................... 37 4.2.1 服务器端详细设计 .......................................... 37 4.2.2 客户端详细设计 ............................................ 37 4.2.3 API 文档描述 ............................................... 38 4.3 个人主页模块 ................................................... 39 4.3.1 服务器端详细设计 .......................................... 39 4.3.2 客户端详细设计 .............................................41 4.3.3 API 文档描述 ............................................... 41 4.4 系统管理模块 ................................................... 42 4.4.1 服务器端详细设计 .......................................... 42 IV
4.4.2 客户端详细设计 ............................................ 42 4.4.3 API 文档描述 ............................................... 43 4.5 问答社区模块 ................................................... 45 4.5.1 服务器端详细设计 .......................................... 45 4.5.2 客户端详细设计 ............................................ 45 4.5.3 API 文档描述 ............................................... 47 4.6 树洞模块 ....................................................... 49 4.6.1 服务器端详细设计 .......................................... 49 4.6.2 客户端详细设计 ............................................ 50 4.6.3 API 文档描述 ............................................... 50 4.7 小组模块 ....................................................... 52 4.7.1 服务器端详细设计 .......................................... 52 4.7.2 客户端详细设计 ............................................ 52 4.7.3 API 文档描述 ............................................... 54 4.8 本章小结 ....................................................... 55 5 系统实现......................................................................................................................... 57 5.1 服务器端资源请求动静分离的实现 ................................. 57 5.2 服务器端和客户端的项目管理工具 ................................. 57 5.3 服务器端和客户端处理 HTTP 请求的实现 ............................. 58 5.4 客户端使用的其他开源类库 ....................................... 59 5.5 登录注册模块实现 ............................................... 60 5.5.1 客户端界面实现 ............................................ 60 5.5.2 客户端逻辑实现 ............................................ 61 5.5.3 服务器端登录功能代码 ...................................... 62 5.6 个人主页模块实现 ............................................... 63 5.6.1 客户端界面实现 ............................................ 63 5.6.2 客户端逻辑实现 ............................................ 63 5.6.3 服务器端修改个人信息功能代码 .............................. 64 5.7 系统管理模块服务器端封号禁言功能代码 ........................... 65
5.8 问答社区模块实现 ............................................... 66 5.8.1 客户端界面实现 ............................................ 66 5.8.2 客户端逻辑实现 ............................................ 68 5.8.3 服务器端搜索问题功能代码 .................................. 69 5.9 树洞模块实现 ................................................... 71 5.9.1 客户端界面实现 .............................................71 5.9.2 客户端逻辑实现 .............................................71 5.9.3 服务器端添加匿名帖子功能代码 ...............................72 5.10 小组模块实现 .................................................. 73 5.10.1 客户端界面实现 ............................................73 5.10.2 客户端逻辑实现 ............................................74 5.10.3 服务器端加入小组功能代码 ..................................75 5.11 本章小结 ...................................................... 77 6 系统测试......................................................................................................................... 78 6.1 登录功能测试 ................................................... 78 6.2 注册功能测试 ................................................... 78 6.3 修改个人信息功能测试 ........................................... 79 6.4 提问功能测试 ................................................... 80 6.5 回答功能测试 ................................................... 80 6.6 创建小组功能测试 ............................................... 81 6.7 本章小结 ....................................................... 81 结 论............................................................................................................................. 83 谢............................................................................................. 错误!未定义书签。 参考文献............................................................................................. 错误!未定义书签。 录............................................................................................. 错误!未定义书签。 致 附 附录 A ............................................. 错误!未定义书签。 VI
1 绪 论 1.1 研究背景和研究意义 在当前,中国经济高速发展、社会面貌日新月异的时代背景下,越来越多的年轻人 背负着巨大的工作和生活压力。近年来,“小伙骑车逆行被拦后情绪崩溃大哭 称每天压 力好大”[1]、“20 岁小伙自缢身亡留遗书:生活压力太大 受不了”[2]等相关新闻报道不断 出现,这一个个令人心酸的报道背后正是当下年轻人压力巨大的社会现状。此外,近年 来中国的离婚率逐年增高,仅 2008 年到 2018 年十年间,离婚率就从 1.71‰猛增到了 3.20‰[3]。而我国的青少年自杀率也多年来居于高位。同时,老龄化的日益严重也导致 了越来越多的中老年人出现中晚年心理危急。 这一系列的新闻报道和数据都表明了我国目前存在的一个不容忽视的重要事实,那 就是我国各年龄阶段的人群都在经受不同程度的心理危机。在这些程度不一的心理危机 笼罩下,许多人却不愿意寻求专业心理帮助,一方面是因为个人经济原因,另一方面他 们觉得这些微不足道的“心态问题”不值得寻求专业的心理咨询与治疗。同时,这些轻度 心理问题的进一步加重还由他们缺乏与外界的交流沟通所致。 基于这样的社会环境背景以及针对这些看似“微不足道”的心理问题,有一个更加轻 量级、生活化、人际化、认知化的心理治疗方向——互助式心理治疗。传统的心理咨询 治疗具有这样的典型特点:周期长、费用高、专业性强、一对一等,这些特点对于一些 较为严重的心理问题(如中重度抑郁、严重的创伤后应激障碍等)来说无疑是最好的解 决方案。但对于压力管理危机、轻度抑郁、轻度婚恋危机以及轻度物质依赖等轻度心理 问题来说,其付出的经济和时间成本就让很多普通人难以接受了。而互助式心理治疗的 特点是:交际、免费、互助、非专业性,这些特点针对以上的轻度心理问题无疑是更合 适、更好的选择。 此外,在目前的实际应用中,互助式心理治疗往往通过线下的形式展开,常见的如 匿名戒酒协会、XX 病症互助协会等等。这些线下形式的互助往往会受地理条件、时间 条件以及场所设施所限,不能满足随时随地进行心理互助的需求,同时线下活动的组织 也具有成本高、不方便的缺点。基于此,构建一个线上的网络心理互助系统,给需要的 人提供一个交流经验、倾诉情感、组建线上互助小组以及进行小组内交流互动的平台, 就非常有意义了。
1.2 国内外研究现状 1.2.1 国外研究现状 目前,国外对于互助式心理治疗、小组式心理治疗、人际心理治疗[4]以及认知行为 治疗都有较多的研究。其中,由 Aaron Beck 在 1976 年提出的认知行为疗法[5]和 20 世纪 70 年代被提出的人际心理疗法影响较大,同时,在国外,互助小组这种形式的心理治疗 方式应用较为普遍,特别是在治疗物质依赖方面(如匿名戒酒协会)。 而在心理治疗相关的软件方面,国外有 Lyra Health、Quartet Health 等较知名软件。 这些软件往往都具备如下几个特点: (1)基于大数据的个人数据分析; (2)私人化专业人士匹配; (3)后续的一对一心理咨询治疗。 由于以上私人订制的特点,大部分国外的心理治疗相关软件都具有较高的消费标准, 比较符合中产阶级以上人群的使用范围,但不符合更广大人民群众的实际需求。 1.2.2 国内研究现状 国内目前对于小组互助式心理治疗的研究也不在少数,大部分的研究结果都显示出 小组式、互助式心理治疗的有效性。如张曼华等人在 2005 年的相关研究显示小组治疗 对于大学生抑郁是一种较有效的心理干预模式。能有效改善抑郁大学生的情绪、行为、 自我认知和应对模式[6]。相关的研究均表明,非完全专业化、一对一的心理治疗方式在 心理问题的治疗方面也能起到相当可观的效果。其次,国内一些学者对于阅读式疗法[7]、 认知心理疗法的研究,也都不同程度的表明,进行心理方面的交流、分享能有效改善心 理状态,缓解心理压力以及解决一部分心理问题。 关于国内涉及心理学相关的软件,尤其是移动端的 APP,近年来出现了不少。其主 要分为以下三类: (1)心理咨询类,这一类应用主打线上心理咨询,主要有文字咨询和视频咨询两 种交流方式。一般是邀请国内知名心理咨询师入驻,并针对自己擅长的领域开设咨询窗 口,接待来访者。实例如“心理咨询”、“简单心理”等 APP[8]; (2)心理测试类,这一类应用以各种各样的心理测试量表为主要运营方向,虽然 其心理量表功能繁多、五花八门,但其缺乏一定的科学准确性,一般只能用来作为娱乐 2
分享到:
收藏