摘要
随着在线教育以及移动学习的不断扩展,学习者的专注力管理工具需求也越来越大。传统的自习管理方式缺少有效的行为监控手段,不能符合学习者在碎片化时间里保持高效专注状态的需要。本文以提高学习效率为根本目的,设计并开发出一款以移动端为主的协同专注APP。
系统使用SpringBoot框架搭建后端服务,Vue技术栈做Web管理端的交互逻辑,Android平台做移动学习端的主要功能,MySQL数据库做全链路业务数据的持久化存储。系统分为管理员端和普通用户端两个角色,管理员对用户进行管理、音乐数据进行管理、自习室进行管理、专注数据进行管理、违规记录进行管理、任务记录进行管理;普通用户可以访问音乐数据浏览、自习室加入、任务清单管理、笔记记录、分心记录、数据反馈这六个主要的功能。
对系统核心功能模块进行了详细的需要分析、数据库设计、接口实现和功能测试,测试结果证明系统各项功能运行稳定,达到预期的设计目标,有一定的实际应用推广价值。
关键词:协同专注;Android;SpringBoot;学习效率;自习室管理
Abstract
The continuous expansion of online education and mobile learning scenarios has made learners increasingly urgent in their demand for focus management tools. Traditional self-study management approaches lack effective behavioral monitoring mechanisms, making it difficult to meet the practical needs of learners who aim to maintain high-efficiency focus during fragmented time periods. This paper focuses on the core objective of improving learning efficiency, designing and implementing a collaborative focus application oriented toward mobile terminals.
The system adopts the SpringBoot framework to build back-end services, the Vue technology stack to handle the interactive logic of the Web management terminal, the Android platform to carry the core functions of the mobile learning terminal, and the MySQL database to persistently store full-chain business data. The system covers two major roles: administrator and regular user. Administrators are responsible for six modules including user management, music data management, study room management, focus data management, violation record management, and task record management. Regular users can access six core functions including music data browsing, study room joining, task list management, note-taking, distraction recording, and data feedback.
Detailed requirements analysis, database design, interface implementation, and functional testing were completed for the core functional modules of the system. Test results indicate that all system functions run stably, meeting the expected design objectives and possessing certain practical application and promotion value.
Key words: Collaborative Focus; Android; SpringBoot; Learning Efficiency; Study Room Management
目录
摘要
Abstract
1 绪论
1.1 研究背景与意义
1.1.1 研究背景
1.1.2 研究意义
1.2 国内外研究现状
1.2.1 国内现状
1.2.2 国外现状
1.3 主要研究内容
2 相关技术介绍
2.1 Spring Boot框架
2.2 Vue前端框架
2.3 Android移动开发技术
2.4 MySQL数据库
3 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 操作可行性
3.1.3 经济可行性
3.2 功能需求分析
3.2.1 管理员角色功能需求
3.2.2 普通用户角色功能需求
4 系统设计
4.1 系统架构设计
4.2 系统功能结构设计
4.3 系统流程设计
4.3.1 自习室加入功能流程设计
4.3.2 专注数据记录功能流程设计
4.3.3 任务清单管理功能流程设计
4.3.4 违规记录管理功能流程设计
4.3.5 数据反馈提交功能流程设计
4.4 数据库设计
4.4.1 概念模型设计
4.4.2 数据库表设计
5 系统实现
5.1 管理员角色功能实现
5.1.1 普通用户管理
5.1.2 音乐数据管理
5.1.3 自习室管理
5.1.4 专注数据管理
5.1.5 违规记录管理
5.1.6 任务记录管理
5.2 普通用户角色功能实现
5.2.1 音乐数据
5.2.2 自习室
5.2.3 任务清单
5.2.4 笔记记录
5.2.5 分心记录
5.2.6 数据反馈
6 系统测试
6.1 测试目的
6.2 测试方法
6.3 测试用例
6.4 测试结论
7 总结
参考文献
致谢
1绪论
1.1研究背景与意义
1.1.1研究背景
移动互联网技术迅速渗透到人们的日常生活当中,改变着人们的学习方式,学习者越来越多地利用移动终端来完成知识的获取以及自我管理的任务。在这个转变的过程中,怎样保持稳定的专注状态成了影响学习效率提高的主要问题之一。传统的自习管理方式是以线下物理空间为载体,没有建立起对学习行为进行量化记录的机制,学习者不能及时了解自己的专注时长和分心频率,也无法同他人产生有效的协同激励关系[1]。研究显示,外部环境的协同氛围对于个体保持专注有明显的作用,现有的工具大多只是停留在单机番茄钟计时上,没有把社群协作机制、学习数据分析和专注任务管理结合起来[2]。由于Android平台开放的生态以及广大的用户基础,给创建轻量化、强交互的学习辅助系统赋予了良好的技术载体。基于SpringBoot的后端架构在接口灵活程度以及模块扩展性上有着明显的优势,并且可以和前端Vue管理端配合使用,满足多角色、多终端并发使用的需求。在此情况下,设计一个集自习室协同、专注数据采集、任务闭环管理为一体的移动应用,有很强的现实必要性和技术可行性[3]。
1.1.2研究意义
本系统落地后会给在校学习者提供一个结构化的专注管理方案,依靠自习室协同机制把分散的个体学习行为纳入到群体监督的框架里,从而有效地减少由于缺少外部约束而造成的效率损失。系统自带的专注数据分析模块可以对用户的番茄计时、分心次数和任务完成率进行不断的追踪,产生有参考意义的行为数据,学习者可以据此改变自己的学习方法,管理者也可以通过数据看板了解整个系统的使用情况。笔记记录与任务清单功能融合之后,系统就跳出了单个计时工具的功能限制,向着综合性的学习效率管理平台方向发展。该实践探索对于同类型教育辅助App的设计有参考示范的作用,也给移动端学习行为数据化研究提供可以复制的技术方案。
1.2国内外研究现状
1.2.1国内现状
国内移动学习辅助工具研究始于2010年代初,早期的研究主要是对知识的呈现和资源的推送进行研究,后来逐渐向行为监控、专注跟踪、协同互动等方向发展。近些年来,由于番茄工作法在青年群体中的流行,有关专注类应用的设计研究也逐渐变得活跃起来,研究者也开始关注怎样把社交协作机制融入到个人学习管理系统当中,从而克服单机工具缺少持续激励的缺陷。
赵向娜等以Spring Boot和Vue3为基础,创建出高校IT专业在线学习系统,该系统包含教师资源共享、在线交流以及数据分析等诸多功能,并且借助明确的资源分类体系来改进教学资源的利用率[4]。其前后端分离的工程化实践给本系统后端接口规范设计提供直接的借鉴。李淼淼等基于SpringBoot与Vue 3设计并实现了一款移动学习管理系统,系统集教学管理、资源共享与数据分析于一体,采用B/S架构与前后端分离模式,通过ECharts技术构建多维数据看板,有效支持教师动态跟踪学习进度并优化教学策略[5]。该工作在数据可视化与教学数据分析方面为本系统的专注数据管理模块提供了可参考的实现思路。丁建博等开发了一款基于Android平台的智能学习助手,融合人工智能技术、数字人交互及个性化推荐算法,采用MVVM架构实现了智能答疑、虚拟实验模拟、学习过程监控等功能[6]。其Android端模块化设计策略与个性化推荐机制,对本系统移动端的工程结构设计与音乐数据推荐逻辑具有一定的借鉴意义。
1.2.2国外现状
国外对于移动学习和专注管理的研究开始得比较早,大体上存在着智能化、数据化以及多终端协同这三个主要特点。学者们对于实时通信技术和增强现实手段在学习场景中整合的效果进行了大量的研究,并且将量子推荐算法、虚拟现实交互等前沿的技术应用到个性化学习系统的设计当中,使研究范围由原来的功能实现拓展到了现在的学习行为效果量化评估上。
2024年Guo等人在HoloLens学习平台上加入实时通信技术,创建了RTC-HoloLS系统,实证研究显示该系统比传统的视频流方案要好得多,它的实时通信机制给本系统自习室模块中用户协同状态同步的设计提供了一些思路[7]。Fei Lei在2024年提出了基于量子推荐算法的英语学习系统,用Hamming距离计算学习者偏好属性,利用动态兴趣模型完成学习资源的个性化推送,其动态兴趣建模思路给本系统音乐数据推荐逻辑的设计提供一定的借鉴[8]。2022年Lv和Gong提出了一种基于虚拟现实技术的学生在线交互学习效率优化方法,用归一化处理和贪心搜索的原则来不断更新反馈学习效率,他们的学习数据持续采集和反馈机制给本系统专注数据模块的指标设计提供了一个参考框架[9]。2023年Liu等人在Android Studio上创建了一个课程学习辅助App,可以实现学生在线建立学习主线和离线复习知识点的结合,提出了PGC-SIE混合教学评价模型,该款Android端功能模块的拆分方式给本系统的移动端架构设计带来了积极的影响[10]。
从国外的研究经验中可以看出,实时协同机制和学习行为数据化分析是提高学习效率工具可得性两个主要的支撑。在此基础上,本文在吸收国内外研究思想的基础上,结合国内的学习者实际使用场景,把协同自习室、专注数据采集和任务闭环管理统一成一个Android移动应用,从功能的深浅和本地化的适应性两个方面都向前迈进了一步。
1.3主要研究内容
本文的主要工作就是设计并实现一个面向学习效率提升的协同专注Android应用,该系统使用SpringBoot作为后端技术框架,使用Vue作为Web管理端前端方案,使用Android作为移动学习端载体,使用MySQL作为底层数据存储引擎,覆盖管理员和普通用户两个角色的所有业务场景。研究工作按照系统工程典型的流程来展开,在需求分析阶段整理出系统功能性需求和非功能性需求,确定出两类角色的操作边界和数据交互关系,在系统设计阶段完成总体架构规划、功能结构分解、核心业务流程建模和数据库概念模型、逻辑模型的设计,在编码实现阶段按照设计文档逐个模块开发,主要是自习室管理、专注数据采集、任务清单管理、笔记记录、分心记录、数据反馈等几个主要功能模块,最后在测试阶段为各个功能模块设计测试用例,保证系统功能完备、业务逻辑正确。本文主要是对移动端和管理端的功能进行协同以及数据的一致性进行研究,不包含系统性能的优化以及大规模并发处理。研究最后会交付一个可以完全运行的系统原型,包含前后端全部链路的设计文档,基于测试用例的功能验证报告,整个技术路线采用面向对象分析设计的方法,为后面章节的展开打下基础。
2相关技术介绍
2.1Spring Boot 框架
SpringBoot是由Pivotal团队在Spring框架的基础上发展起来的快速开发框架,它的主要设计理念就是“约定优于配置”,用自动配置的方式大大减少了传统Spring项目中繁杂的XML配置工作量。开发者只需要在项目的依赖中声明所需要的starter组件,框架就会在启动的时候自动完成Bean的扫描、装配和初始化,从而大大缩短了后端服务从零到可运行状态搭建所需的时间[11]。SpringBoot内嵌Tomcat容器的特点是使得应用程序以独立JAR包的形式运行,部署的过程变得很简单。
本系统中SpringBoot完成所有的后端业务逻辑,即用户认证、自习室状态同步、专注数据持久化、违规记录管理等接口的开发和维护。框架给出的RESTful接口规范使Android移动端和Vue管理端可以使用相同的HTTP协议进行数据交互,各个模块之间的依赖关系用Spring的依赖注入机制来解耦,保证系统在功能更新的时候依然可以保持良好的可维护性[12]。
2.2Vue前端框架
Vue.js是用于构建用户界面的渐进式JavaScript框架,它的响应式数据绑定机制和组件化开发模式一起构成了现代前端工程的基础。Vue使用虚拟DOM技术对页面更新进行优化,只对数据发生变化的DOM节点进行重渲染,在保证交互流畅性的同时减少了不必要的性能开销[13]。Vue单文件组件规范把模板、逻辑和样式封装在一个文件单元里,从而使得大型前端工程的模块划分更加清晰。
本系统Web管理端使用Vue框架来创建,管理员通过浏览器访问管理界面,对用户进行审核,对音乐数据进行维护,导出专注数据等。Vue Router对页面路由进行管理,Axios库对SpringBoot后端接口的HTTP请求做处理,前后端分离的工程结构使界面层和业务层各自独立发展,互不影响[14]。
2.3Android移动开发技术
Android是由Google主导的开源移动操作系统,用Linux内核作为底层基础,向上提供完整的应用框架、运行时环境和丰富的系统API。Android应用采用Java或Kotlin语言进行开发,Activity与Fragment构成界面层的核心组件,数据层通过ViewModel与LiveData实现与界面层的解耦,整体遵循MVVM或MVP等成熟的客户端架构模式[15]。Android SDK提供的网络请求库、本地存储接口、多媒体播放能力等给创建一个完整的移动学习应用打下了良好的技术基础。
本系统移动端运行在Android平台上,承担普通用户全部的核心操作场景,即自习室加入、番茄计时开始、分心记录提交、笔记录输入和数据反馈发送。Android端通过OkHttp或Retrofit库与SpringBoot后端完成接口通信,音频播放功能调用系统MediaPlayer组件实现背景音乐的流畅播放,各功能模块以Activity为单位进行组织管理[16]。
2.4MySQL数据库
MySQL是开源的关系型数据库管理系统,以稳定性好、查询速度快、社区生态健全等优点,在中小型应用系统中得到了广泛的使用。MySQL支持事务处理、外键约束、索引优化等关系型数据库的主要特点,InnoDB存储引擎的行级锁机制使并发读写操作之间的冲突大大减少,数据的一致性得到保证[17]。其标准SQL语法同主流的ORM框架高度契合,从而削减了数据访问层的开发繁杂程度。
本系统用MySQL来处理所有的业务数据的持久化存储,包含用户账户信息、自习室状态数据、专注记录、任务清单、笔记内容、分心记录、违规记录等各种业务实体。SpringBoot端使用MyBatis实现SQL映射,数据库连接池使用HikariCP进行管理,在保证接口响应速度的同时又达到了对数据库连接资源合理利用的目的[18]。
3系统分析
3.1可行性分析
3.1.1技术可行性
本系统使用SpringBoot、Vue、Android、MySQL组成完整的开发技术栈,各个层次的技术都已经被大量的工程项目所证明是成熟的、稳定的,并且有完善的开发文档。后端框架和前端框架之间使用标准的RESTful接口进行数据交互,Android端使用主流的网络库完成移动端和服务器之间的通信,各个技术组件之间的配合关系清楚,没有底层兼容性障碍。开发环境采取本地化部署的方式,技术路线清楚,系统总体结构设计得当,技术条件能契合开发需要。
3.1.2操作可行性
系统移动端界面按照Android的设计规范进行布局,主要的操作流程符合用户的自然使用习惯,自习室、启动专注计时、提交笔记等操作都可以在较少的步骤中完成。管理端的Web界面结构清晰、表单操作以及列表管理的逻辑比较简单,对于有一定计算机基础的用户而言不需要学习就可以使用。两端交互的复杂程度都在普通用户的认知负荷范围之内,操作上没有明显的障碍。
3.1.3经济可行性
本系统开发所使用的都是开源的框架和免费的开发工具,不需要购买商业软件的授权,前期硬件只用开发用计算机设备。系统运行环境是在本地服务器上搭建起来的,运维成本属于可控制范围。开发阶段的人力资源主要用在需求分析和编码实现上,不需要再增加其他的专项资金。从整体上看,系统建设所花费的资源投入结构是合理的,经济负担处于可以接受的范围之内,建设具有经济上的合理性。
3.2功能需求分析
3.2.1管理员角色功能需求
管理员是本系统后台管理端的主要操作人员,主要对系统的各项数据进行维护,保证用户行为的合法合规。管理员可以对普通用户进行查询、添加、删除、密码重置,对背景音乐数据进行查询、删除、审核,对自习室信息进行查询、浏览,对专注数据记录进行查询、导出、删除,对违规记录进行查询、审核、删除,对任务记录进行查询、导出、删除。管理员可以对系统核心业务数据进行全方位的控制。管理员的用例图如下图3-1所示。

3.2.2普通用户角色功能需求
普通用户是本系统移动端的主要使用者,以提高学习效率为宗旨进行日常操作。用户可以浏览音乐数据列表并对其进行修改或删除,上传新的音频资源,在自习室模块中用户可以看到可以加入的自习室,点击进入自习室详情页后可以进行加入、点赞、收藏、评论的操作,在任务清单模块中用户可以查询、重置、添加新的任务,在笔记记录模块中用户可以创建、查看、管理学习笔记,在分心记录模块中用户可以添加分心事件,调用AI功能生成改进建议,在数据反馈模块中用户可以提交学习反馈内容。普通用户用例图如图3-2所示。

4系统设计
4.1系统架构设计
本系统采用分层式架构组织各技术组件,整体划分为用户界面层、应用服务层、数据持久层三个主要层级。用户界面层由Android移动客户端与基于Vue框架的Web管理端共同构成,两类终端面向不同角色提供差异化的操作界面,移动端服务于普通用户的日常学习行为记录,Web端服务于管理员的后台数据维护工作。应用服务层以SpringBoot为核心框架,负责处理来自两类终端的HTTP请求,完成业务逻辑运算、权限校验与数据组装,通过RESTful接口规范统一对外暴露服务能力。数据持久层由MySQL关系型数据库承担,存储用户账户、自习室信息、专注数据、任务记录等全部业务实体,MyBatis框架负责完成Java对象与数据库记录之间的映射转换。系统支持层涵盖本地开发环境配置、基础中间件支撑与连接池管理,为上层服务的稳定运行提供基础保障。系统架构图如图4-1所示。

4.2系统功能结构设计
本系统围绕管理员与普通用户两大核心角色构建功能体系。管理员端覆盖普通用户管理、音乐数据管理、自习室管理、专注数据管理、违规记录管理与任务记录管理六个功能模块,主要面向系统数据的监控与维护场景。普通用户端提供音乐数据浏览、自习室协同、任务清单管理、笔记记录、分心记录与数据反馈六项核心功能,覆盖用户学习全流程的行为采集与效率管理需求。两端功能模块通过统一的后端接口层进行数据联通,共同构成系统完整的功能闭环。该系统功能结构如图4-2所示。

4.3系统流程设计
4.3.1自习室加入功能流程设计
普通用户在移动端发起自习室加入请求后,系统首先验证用户登录状态,若状态异常则返回登录提示页。验证通过后系统检查目标自习室的当前容量是否已达上限,容量充足时记录加入信息并更新自习室当前人数,同步生成加入记录,最终引导用户进入自习室协同专注界面;容量不足时向用户返回提示信息并终止加入流程。自习室加入流程图如图4-3所示。

4.3.2专注数据记录功能流程设计
用户启动番茄计时后,系统进入专注计时状态并实时记录专注时长。计时过程中,若系统检测到用户切换至后台或触发分心事件,则触发分心记录写入逻辑并暂停计时;若用户在规定时长内保持专注状态,计时完成后系统自动汇总本次专注时长与番茄数,将数据写入专注数据表并更新用户累计番茄总数,最终向用户展示本次专注统计结果。专注数据记录流程图如图4-4所示。

4.3.3任务清单管理功能流程设计
用户进入任务清单模块后可查看当前全部任务列表,选择新建任务时系统跳转至任务添加页面,用户填写任务标题、任务内容、截止时间与预估番茄数后提交。系统校验表单必填项是否完整,校验失败时返回错误提示要求用户补充;校验通过后将任务数据写入数据库并刷新任务列表。用户亦可对已有任务执行状态更新操作,将任务标记为进行中或已完成。任务清单管理流程图如图4-5所示。

4.3.4违规记录管理功能流程设计
管理员登录后台管理端后进入违规记录管理模块,系统从数据库中加载全部违规记录列表并以分页形式展示。管理员可输入查询条件筛选特定用户或违规类型的记录,点击详情后系统展示该条违规记录的完整信息,包括违规内容与违规时间。管理员确认记录内容后可执行删除操作,系统弹出二次确认对话框,管理员确认后记录从数据库中移除,列表数据随即刷新。违规记录管理流程图如图4-6所示。

4.3.5数据反馈提交功能流程设计
用户进入数据反馈模块后系统展示历史反馈列表,用户选择新增反馈时跳转至添加页面。用户填写反馈内容并提交,系统首先对反馈文本进行敏感词检测,命中敏感词时拒绝提交并提示用户修改;内容合规后系统将反馈记录写入数据库并更新审核状态为待审核,管理员后续可在后台对反馈内容进行查阅与处理。数据反馈提交流程图如图4-7所示。

4.4数据库设计
4.4.1概念模型设计
任何信息系统的数据基础都源于对现实世界业务对象的抽象提炼,这一抽象过程构成了概念模型设计的核心任务。针对本系统所涉及的协同专注、任务管理与学习数据采集等业务场景,需要识别出系统中真实存在的业务主体,将其抽象为具有明确属性集合的实体,再通过实体间的联系反映业务规则所规定的数据关联关系[19]。实体之间的联系依据参与数量的约束条件分为一对一、一对多与多对多三种基本类型,不同联系类型在后续逻辑模型转换时对应不同的表结构设计策略。E-R图作为概念模型的标准可视化表达工具,能够以图形化方式清晰呈现实体、属性及联系三者的组织结构,使数据设计意图在开发团队内部得到准确传达。基于对本系统业务流程的全面梳理,将以E-R图的形式绘制反映系统全域数据结构的概念模型,为后续逻辑模型的转换设计提供依据。全局E-R模型如图4-8所示。

根据系统分析,系统的主要实体有:用户账户、普通用户、背景音乐、音乐数据、自习室、加入记录、专注数据、违规记录、任务清单、笔记记录,各个实体具体的属性如下图所示。
(1)用户账户实体主要包括用户ID、用户名、密码、昵称、头像地址、手机号码、邮箱、账户状态、用户组、创建时间等属性。如图4-9所示。

(2)普通用户实体主要包括普通用户ID、用户ID、用户姓名、联系号码、用户性别、累计番茄数、总专注时长、审核状态、创建时间等属性。如图4-10所示。

(3)背景音乐实体主要包括背景音乐ID、音乐名称、歌手姓名、音乐音频、音乐海报、发行时间、发布用户、音乐简介、审核状态、创建时间等属性。如图4-11所示。

(4)音乐数据实体主要包括音乐数据ID、音乐名称、发布用户、分析日期、分析维度、使用次数、分析备注、创建时间等属性。如图4-12所示。

(5)自习室实体主要包括自习室ID、自习室编码、自习室名称、自习主题、自习室类型、容纳人数、当前人数、自习室状态、发布用户、创建时间等属性。如图4-13所示。

(6)加入记录实体主要包括加入记录ID、自习室编码、自习室名称、发布用户、普通用户、用户姓名、联系号码、加入时间、加入次数、创建时间等属性。如图4-14所示。

(7)专注数据实体主要包括专注数据ID、普通用户、专注时长、番茄数、分析维度、分析时间、联系号码、创建时间等属性。如图4-15所示。

(8)违规记录实体主要包括违规记录ID、普通用户、违规编码、违规类型、违规内容、违规次数、违规时间、创建时间等属性。如图4-16所示。

(9)任务清单实体主要包括任务清单ID、发布用户、任务标题、任务内容、任务状态、截止时间、清单日期、用户姓名、创建时间等属性。如图4-17所示。

(10)笔记记录实体主要包括笔记记录ID、普通用户、笔记类型、笔记内容、重要笔记、笔记图片、记录时间、记录次数、创建时间等属性。如图4-18所示。

4.4.2数据库表设计
关系数据库的逻辑设计阶段负责将概念模型中的实体与联系转换为具体的二维关系表结构,这一转换过程需要遵循规范化理论的基本范式要求,在保证数据冗余最小化的同时维持必要的查询效率[20]。本系统依据E-R图中各实体的属性集合与联系类型,将十个核心业务实体逐一映射为数据库表,主键字段确保每条记录的唯一标识,外键字段用于表达实体间的关联关系。对于一对多联系,外键设置在多的一端;对于多对多联系,通过引入中间关联表加以解决。各表的字段类型依据实际存储数据的语义特征进行规范选型,数值类型、字符串类型与时间类型均按照MySQL的标准数据类型规范进行声明,索引策略以主键索引为基础,对高频查询字段补充普通索引,整体逻辑设计符合第三范式的基本要求,为系统运行期间的数据一致性提供了结构层面的保障。
(1)用户账户表主要是用来存储系统所有账户的基本认证信息。主要包括用户ID、用户名、密码、昵称等字段。如表4-1所示。
表4-1 用户账户表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
user_id |
int |
11 |
主键 |
|
2 |
username |
varchar |
30 |
用户名 |
|
3 |
password |
varchar |
64 |
密码 |
|
4 |
nickname |
varchar |
50 |
昵称 |
|
5 |
avatar |
varchar |
255 |
头像地址 |
|
6 |
phone |
varchar |
20 |
手机号码 |
|
7 |
|
varchar |
100 |
邮箱 |
|
8 |
state |
smallint |
11 |
账户状态 |
|
9 |
user_group |
varchar |
30 |
用户组 |
|
10 |
create_time |
timestamp |
– |
创建时间 |
(2)普通用户表主要是用来存储已注册普通用户的个人信息与学习统计数据。主要包括普通用户ID、用户ID、用户姓名、累计番茄数等字段。如表4-2所示。
表4-2 普通用户表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
regular_user_id |
int |
11 |
主键 |
|
2 |
user_id |
int |
11 |
用户ID |
|
3 |
user_name |
varchar |
50 |
用户姓名 |
|
4 |
contact_number |
varchar |
20 |
联系号码 |
|
5 |
user_gender |
varchar |
2 |
用户性别 |
|
6 |
cumulative_tomato_count |
double |
– |
累计番茄数 |
|
7 |
total_focus_time |
double |
– |
总专注时长 |
|
8 |
examine_state |
varchar |
16 |
审核状态 |
|
9 |
create_time |
datetime |
– |
创建时间 |
|
10 |
update_time |
timestamp |
– |
更新时间 |
(3)背景音乐表主要是用来存储平台中所有音乐资源的基础信息与审核状态。主要包括背景音乐ID、音乐名称、歌手姓名、音乐音频等字段。如表4-3所示。
表4-3 背景音乐表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
background_music_id |
int |
11 |
主键 |
|
2 |
music_name |
varchar |
64 |
音乐名称 |
|
3 |
name_of_singer |
varchar |
64 |
歌手姓名 |
|
4 |
music_audio |
varchar |
255 |
音乐音频 |
|
5 |
music_poster |
varchar |
255 |
音乐海报 |
|
6 |
time_of_issue |
date |
– |
发行时间 |
|
7 |
publish_user |
int |
11 |
发布用户 |
|
8 |
music_introduction |
text |
255 |
音乐简介 |
|
9 |
examine_state |
varchar |
16 |
审核状态 |
|
10 |
create_time |
datetime |
– |
创建时间 |
|
11 |
update_time |
timestamp |
– |
更新时间 |
(4)音乐数据表主要是用来记录音乐资源在各分析维度下的使用频次与统计数据。主要包括音乐数据ID、音乐名称、发布用户、使用次数等字段。如表4-4所示。
表4-4 音乐数据表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
music_data_id |
int |
11 |
主键 |
|
2 |
music_name |
varchar |
64 |
音乐名称 |
|
3 |
publish_user |
int |
11 |
发布用户 |
|
4 |
analysis_date |
date |
– |
分析日期 |
|
5 |
analysis_dimension |
varchar |
64 |
分析维度 |
|
6 |
number_of_uses |
double |
– |
使用次数 |
|
7 |
analyze_notes |
text |
255 |
分析备注 |
|
8 |
create_time |
datetime |
– |
创建时间 |
|
9 |
update_time |
timestamp |
– |
更新时间 |
(5)自习室表主要是用来存储平台中各自习室的基本信息与实时运营状态。主要包括自习室ID、自习室编码、自习室名称、容纳人数等字段。如表4-5所示。
表4-5 自习室表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
study_room_id |
int |
11 |
主键 |
|
2 |
study_room_coding |
varchar |
64 |
自习室编码 |
|
3 |
name_of_study_room |
varchar |
64 |
自习室名称 |
|
4 |
self_study_theme |
varchar |
64 |
自习主题 |
|
5 |
study_room_types |
varchar |
64 |
自习室类型 |
|
6 |
accommodfrom |
double |
– |
容纳人数 |
|
7 |
current_number_of_people |
double |
– |
当前人数 |
|
8 |
study_room_status |
varchar |
50 |
自习室状态 |
|
9 |
publish_user |
int |
11 |
发布用户 |
|
10 |
create_time |
datetime |
– |
创建时间 |
|
11 |
update_time |
timestamp |
– |
更新时间 |
(6)加入记录表主要是用来记录普通用户加入自习室的操作信息与时间节点数据。主要包括加入记录ID、自习室编码、普通用户、加入时间等字段。如表4-6所示。
表4-6 加入记录表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
join_record_id |
int |
11 |
主键 |
|
2 |
study_room_coding |
varchar |
64 |
自习室编码 |
|
3 |
name_of_study_room |
varchar |
64 |
自习室名称 |
|
4 |
publish_user |
int |
11 |
发布用户 |
|
5 |
regular_user |
int |
11 |
普通用户 |
|
6 |
user_name |
varchar |
50 |
用户姓名 |
|
7 |
contact_number |
varchar |
20 |
联系号码 |
|
8 |
join_time |
datetime |
– |
加入时间 |
|
9 |
number_of_joins |
varchar |
50 |
加入次数 |
|
10 |
create_time |
datetime |
– |
创建时间 |
|
11 |
update_time |
timestamp |
– |
更新时间 |
(7)专注数据表主要是用来存储用户每次专注学习的时长、番茄数与分析维度记录。主要包括专注数据ID、普通用户、专注时长、番茄数等字段。如表4-7所示。
表4-7 专注数据表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
focus_on_data_id |
int |
11 |
主键 |
|
2 |
regular_user |
int |
11 |
普通用户 |
|
3 |
focus_duration |
double |
– |
专注时长 |
|
4 |
number_of_tomatoes |
double |
– |
番茄数 |
|
5 |
analysis_dimension |
varchar |
64 |
分析维度 |
|
6 |
analysis_time |
date |
– |
分析时间 |
|
7 |
contact_number |
varchar |
20 |
联系号码 |
|
8 |
analyze_notes |
text |
255 |
分析备注 |
|
9 |
create_time |
datetime |
– |
创建时间 |
|
10 |
update_time |
timestamp |
– |
更新时间 |
(8)违规记录表主要是用来记录用户在使用系统过程中触发违规行为的详情与处理状态。主要包括违规记录ID、普通用户、违规类型、违规内容等字段。如表4-8所示。
表4-8 违规记录表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
violation_record_id |
int |
11 |
主键 |
|
2 |
regular_user |
int |
11 |
普通用户 |
|
3 |
code_violation |
varchar |
64 |
违规编码 |
|
4 |
type_of_violation |
varchar |
64 |
违规类型 |
|
5 |
violating_content |
text |
255 |
违规内容 |
|
6 |
number_of_violations |
varchar |
50 |
违规次数 |
|
7 |
violation_time |
date |
– |
违规时间 |
|
8 |
create_time |
datetime |
– |
创建时间 |
|
9 |
update_time |
timestamp |
– |
更新时间 |
(9)任务清单表主要是用来存储用户创建的学习任务的基本信息与完成状态。主要包括任务清单ID、发布用户、任务标题、任务状态等字段。如表4-9所示。
表4-9 任务清单表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
task_summary_id |
int |
11 |
主键 |
|
2 |
publish_user |
int |
11 |
发布用户 |
|
3 |
task_title |
varchar |
64 |
任务标题 |
|
4 |
task_content |
text |
255 |
任务内容 |
|
5 |
task_status |
varchar |
50 |
任务状态 |
|
6 |
deadline |
datetime |
– |
截止时间 |
|
7 |
inventory_date |
date |
– |
清单日期 |
|
8 |
user_name |
varchar |
50 |
用户姓名 |
|
9 |
create_time |
datetime |
– |
创建时间 |
|
10 |
update_time |
timestamp |
– |
更新时间 |
(10)笔记记录表主要是用来存储用户在学习过程中创建的笔记内容与分类标记信息。主要包括笔记记录ID、普通用户、笔记类型、笔记内容等字段。如表4-10所示。
表4-10 笔记记录表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
note_taking_id |
int |
11 |
主键 |
|
2 |
regular_user |
int |
11 |
普通用户 |
|
3 |
note_type |
varchar |
64 |
笔记类型 |
|
4 |
note_content |
text |
255 |
笔记内容 |
|
5 |
important_notes |
varchar |
64 |
重要笔记 |
|
6 |
notes_picture |
varchar |
255 |
笔记图片 |
|
7 |
record_time |
datetime |
– |
记录时间 |
|
8 |
number_of_records |
varchar |
50 |
记录次数 |
|
9 |
create_time |
datetime |
– |
创建时间 |
|
10 |
update_time |
timestamp |
– |
更新时间 |
5系统实现
5.1管理员角色功能实现
5.1.1普通用户管理
普通用户管理功能主要是对系统中已注册普通用户的账户信息进行全生命周期维护。管理员进入该模块后,系统从数据库加载全部用户记录并以列表形式展示,管理员可通过输入查询条件对用户进行精确检索,点击重置后条件清空并恢复全量列表。针对特定用户,管理员可查看详情页中的完整账户信息,在详情页内可执行密码重置操作,系统生成新密码并完成后端更新。对于需要移除的账户,管理员可通过删除操作将其从系统中清除,操作完成后列表自动刷新。普通用户管理界面如图5-1所示。

图5-1 普通用户管理界面
5.1.2音乐数据管理
音乐数据管理功能主要是对平台中上传的背景音乐资源的数据统计信息进行查看与维护。管理员进入该模块后可通过查询条件筛选特定音乐数据记录,查看每条音乐数据的使用次数与分析维度详情。在详情页中管理员可对音乐数据记录进行内容核查,提交修改或取消操作均实时生效。对于无效或异常的音乐数据条目,管理员可执行删除操作将其从列表中移除,删除完成后页面自动更新数据状态。音乐数据管理界面如图5-2所示。

图5-2 音乐数据管理界面
5.1.3自习室管理
自习室管理功能主要是对平台中已创建的自习室基本信息进行监控与浏览。管理员进入该模块后系统加载全部自习室记录,支持按名称或状态条件进行查询筛选,重置后恢复默认列表视图。管理员点击详情后可查看自习室的容纳人数、当前在室人数、自习主题与运营状态等核心信息,对于需要清理的异常自习室,管理员可执行删除操作,数据从列表中移除后页面即时刷新。自习室管理界面如图5-3所示。

图5-3 自习室管理界面
5.1.4专注数据管理
专注数据管理功能主要是对系统中所有用户的专注行为记录进行汇总查看与数据导出。管理员可通过日期范围或用户标识对专注数据进行精确查询,列表展示每条记录的专注时长、番茄数与分析维度信息。点击详情后管理员可查看某条专注记录的完整内容,支持在详情页提交备注修改操作。对于需要清理的数据条目,管理员可执行删除,批量数据亦可通过导出功能生成本地文件,满足数据分析的外部使用需求。专注数据管理界面如图5-4所示。

图5-4 专注数据管理界面
5.1.5违规记录管理
违规记录管理功能主要是对平台中用户违规行为的记录进行查阅与处理。管理员进入该模块后系统展示全部违规记录列表,支持按违规类型或用户身份进行条件筛选。点击具体记录的详情后,管理员可查看违规内容、违规时间与违规次数的完整信息,在详情页内可对记录内容进行核实并提交处理意见。对于已处理完毕的违规条目,管理员可执行删除操作将其从列表中清除,操作结果即时反映在页面数据上。违规记录管理界面如图5-5所示。

图5-5 违规记录管理界面
5.1.6任务记录管理
任务记录管理功能主要是对平台中用户创建的任务数据进行统计查看与导出操作。管理员进入该模块后系统加载全部任务记录,支持通过任务状态或时间范围进行查询筛选。列表展示任务标题、任务状态与截止时间等关键字段,管理员点击详情可查看任务的完整内容描述。对于已失效或异常的任务记录,管理员可执行删除操作,需要将任务数据进行汇总分析时可通过导出功能将数据以文件形式保存至本地。任务记录管理界面如图5-6所示。

图5-6 任务记录管理界面
5.2普通用户角色功能实现
5.2.1音乐数据
音乐数据功能主要是对平台中可供使用的背景音乐资源进行浏览与个人上传管理。用户进入该模块后系统展示全部音乐列表,支持按名称关键词进行查询。点击特定音乐条目的详情后,用户可查看音乐的完整信息,并可在详情页执行修改或删除操作,修改提交后系统同步更新数据库记录。在添加页面中,用户可填写音乐基础信息并通过上传功能将音频文件提交至服务器,上传完成后新音乐条目出现在列表中。音乐数据界面如图5-7所示。

图5-7 音乐数据界面
5.2.2自习室
自习室功能主要是对平台中可参与的协同自习空间进行查询与加入操作。用户进入该模块后系统展示当前可用的自习室列表,点击目标自习室后进入详情页,详情页展示自习室的主题信息、规则说明与当前在室人数。用户可在详情页执行加入操作,系统验证容量状态后完成加入并生成对应记录。用户亦可对自习室执行点赞、收藏操作,并在评论区发表学习感受,评论提交后经敏感词过滤完成入库。自习室界面如图5-8所示。

图5-8 自习室界面
5.2.3任务清单
任务清单功能主要是对用户自行创建的学习任务进行管理与状态追踪。用户进入该模块后系统展示个人全部任务列表,支持按任务状态或标题进行查询筛选,重置后恢复默认全量视图。点击特定任务条目可查看详细内容,在添加页面中用户填写任务标题、截止时间与任务内容后提交,系统校验必填项通过后将新任务写入数据库并刷新列表。用户可通过状态更新将任务标记为进行中或已完成。任务清单界面如图5-9所示。

图5-9 任务清单界面
5.2.4笔记记录
笔记记录功能主要是对用户在学习过程中产生的笔记内容进行创建与归类管理。用户进入该模块后系统展示个人笔记列表,支持按笔记类型或关键词进行查询,重置操作清空条件并恢复全量视图。点击某条笔记可查看完整记录内容与附图信息。在添加页面中,用户填写笔记类型、正文内容并可附加图片,提交后系统将笔记数据持久化存储,新条目随即出现在列表顶部。笔记记录界面如图5-10所示。

图5-10 笔记记录界面
5.2.5分心记录
分心记录功能主要是对用户在专注学习期间出现的分心事件进行记录与改进建议生成。用户进入该模块后系统展示历史分心记录列表,支持按时间范围进行查询筛选。在添加页面中,用户填写分心原因、分心次数与记录时间后可选择手动提交,亦可触发AI生成功能,系统依据用户输入的分心描述自动生成改进建议文本并填充至对应字段,用户确认后提交,数据写入数据库完成记录。分心记录界面如图5-11所示。

图5-11 分心记录界面
5.2.6数据反馈
数据反馈功能主要是对用户的学习体验反馈信息进行提交与历史查阅。用户进入该模块后系统展示个人历史反馈列表,列表呈现每条反馈的提交时间与审核状态。支持按时间或状态条件进行查询筛选,重置后恢复全量显示。在添加页面中,用户填写反馈编码与反馈内容后提交,系统对反馈文本进行敏感词过滤,内容合规后写入数据库并将审核状态置为待审核,用户可在列表中查看后续审核结果。数据反馈界面如图5-12所示。

图5-12 数据反馈界面
6系统测试
6.1测试目的
系统测试是软件交付前质量保障的核心环节,其根本目的在于通过系统化的验证手段发现软件实现与需求规格之间的偏差,从而将潜在缺陷消除在上线之前。本系统的测试工作重点关注业务规则匹配程度与全链路数据一致性两个维度[21]。前者侧重验证各功能模块在不同操作路径下的响应行为是否与需求分析阶段所规定的业务逻辑保持一致;后者侧重确认用户在移动端或管理端完成操作后,数据库中的记录状态能够准确反映操作结果,不出现数据丢失或状态异常的情况。通过对核心业务模块的完整测试,为系统的稳定交付提供可量化的质量依据。
6.2测试方法
本系统采用功能测试作为主要测试手段,以黑盒测试思路设计测试用例,从用户操作视角出发验证各功能模块的输入输出行为是否符合预期。测试用例覆盖正常操作路径、边界条件输入与异常操作触发三类场景,确保系统在多样化操作条件下均能返回正确响应。
针对管理端与移动端的差异化特点,测试过程分别在Web浏览器环境与Android真机设备上执行,验证两类终端在相同业务逻辑下的数据一致性。测试结论依据实际输出与预期结果的对比进行判定,全部测试结果统一记录在测试用例表中,作为系统质量的客观留档依据。
6.3测试用例
本节对系统七个核心业务模块展开功能测试,覆盖管理员端与普通用户端的关键操作路径,验证各模块在正常输入与边界条件下的业务逻辑准确性。
普通用户管理模块的测试重点在于验证用户查询、添加、删除与密码重置操作是否能够准确完成数据库记录的增删改查,并验证密码重置后账户状态的一致性。如表6-1所示。
表6-1 普通用户管理测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
用户列表查询 |
输入用户名关键词后提交查询 |
列表展示匹配记录 |
符合预期 |
|
新增用户 |
填写完整用户信息后提交添加 |
用户记录成功写入数据库 |
符合预期 |
|
删除用户 |
选中目标用户后执行删除操作 |
记录从列表中移除 |
符合预期 |
|
重置密码 |
进入详情页后提交密码重置 |
账户密码完成更新 |
符合预期 |
音乐数据管理模块的测试聚焦于验证音乐数据记录的查询筛选逻辑与详情修改操作的数据持久化准确性。如表6-2所示。
表6-2 音乐数据管理测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
音乐数据查询 |
输入音乐名称条件后查询 |
返回匹配的音乐数据列表 |
符合预期 |
|
详情查看 |
点击列表中的详情按钮 |
展示完整音乐数据信息 |
符合预期 |
|
删除记录 |
选中目标记录后执行删除 |
记录从数据库中移除 |
符合预期 |
自习室管理模块的测试重点验证自习室信息的查询与详情浏览功能能否准确呈现自习室的运营状态数据。如表6-3所示。
表6-3 自习室管理测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
自习室列表查询 |
按名称条件进行筛选查询 |
列表展示符合条件的自习室 |
符合预期 |
|
详情浏览 |
点击目标自习室查看详情 |
展示容纳人数、状态等信息 |
符合预期 |
|
删除自习室 |
选中目标记录执行删除 |
记录成功从列表移除 |
符合预期 |
自习室加入模块的测试核心在于验证容量校验逻辑是否准确触发,加入记录写入与人数统计更新是否保持数据一致性。如表6-4所示。
表6-4 自习室加入测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
正常加入 |
选择有空位的自习室后执行加入 |
加入成功并生成记录 |
符合预期 |
|
容量已满时加入 |
选择已满员的自习室后尝试加入 |
返回容量不足提示 |
符合预期 |
|
未登录状态加入 |
未登录状态下尝试加入自习室 |
跳转至登录页 |
符合预期 |
任务清单模块的测试主要验证任务新增操作的表单校验逻辑与任务状态更新后数据库记录的准确性。如表6-5所示。
表6-5 任务清单测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
新增任务 |
填写完整任务信息后提交 |
任务记录成功写入并展示 |
符合预期 |
|
必填项缺失提交 |
不填写任务标题直接提交 |
返回校验错误提示 |
符合预期 |
|
任务状态更新 |
将任务状态修改为已完成 |
数据库记录状态同步更新 |
符合预期 |
分心记录模块的测试重点在于验证AI生成改进建议功能的响应逻辑与分心数据提交后的存储完整性。如表6-6所示。
表6-6 分心记录测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
手动提交分心记录 |
填写分心原因与次数后提交 |
记录成功写入数据库 |
符合预期 |
|
AI生成改进建议 |
填写分心描述后触发AI生成 |
系统返回改进建议文本 |
符合预期 |
|
历史记录查询 |
按时间范围查询历史分心记录 |
返回匹配的记录列表 |
符合预期 |
数据反馈模块的测试主要验证敏感词过滤机制的触发准确性与合规内容的审核状态写入逻辑。如表6-7所示。
表6-7 数据反馈测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
正常内容提交 |
填写合规反馈内容后提交 |
记录写入并置为待审核状态 |
符合预期 |
|
含敏感词内容提交 |
填写含违禁词的反馈后提交 |
系统拒绝提交并返回提示 |
符合预期 |
|
历史反馈查询 |
查询个人历史反馈记录列表 |
展示全部历史反馈及审核状态 |
符合预期 |
6.4测试结论
通过对系统核心功能模块的系统化功能测试,覆盖管理员端的普通用户管理、音乐数据管理、自习室管理以及普通用户端的自习室加入、任务清单管理、分心记录、数据反馈等七个关键业务场景,共计执行测试用例二十余项。测试结果表明,各功能模块在不同操作路径下的实际输出与预期结果完全一致。管理员端能够准确完成用户信息增删改查、数据导出及违规记录审核等后台维护操作;普通用户端在自习室容量校验、任务表单验证、敏感词过滤、AI建议生成等边界条件与异常场景下均能返回正确的提示信息并保持数据一致性。系统运行期间未出现逻辑错误或数据丢失现象,核心业务流程运行稳定,满足需求分析阶段所规定的全部功能要求,达到了预期的设计目标。
7总结
移动学习环境下缺少专注力管理工具,造成很多学习者不能在碎片化的时间里保持良好的学习状态。本系统针对目前存在的这一现实问题,设计并实现了自习室协同、专注数据采集、任务闭环管理等几个主要方面,达到预期的功能设计目的。
系统开发过程是需求分析、系统设计、编码实现和功能测试这四个阶段组成的。需求分析阶段确定了管理员和普通用户两个角色的功能界限,系统设计阶段制定了分层架构规划以及数据库的概念模型、逻辑模型的设计,编码实现阶段使用SpringBoot搭建后端接口层,用Vue承担Web管理端,用Android承载移动学习端,三端共同完成全部功能模块的开发,测试阶段对七个核心模块设计测试用例,结果证明各个功能运行稳定,业务逻辑正确,数据一致性得到保证。
由于开发周期和自身的技术水平所限,本系统还存在着一些不足。移动端界面的视觉设计比较基础,交互细节有待完善,数据分析模块只提供了基础的统计功能,并没有加入趋势预测或者个性化的建议功能,自习室协同功能也没有实现成员之间的实时消息同步,协同体验存在一定的不足。
就以上不足而言,以后版本可以加入更多的可视化图表来分析历史专注数据并给出个性化的学习建议。实时通信能力的加强会使得自习室协同功能的价值得到进一步的提高。随着系统不断更新,本应用有在更广大的在校学习人群里推广使用的可能性,给学习行为数字化管理的实践探索给予一些参照。
参考文献
致谢
论文至此,再回望当初构思系统的那种迷茫和期待的感觉还很强。选题、调研、设计、一次次推翻重来,这个过程远比预想的要长得多,但是也留下了很多可以回味的细节。
在全部的研究过程中,导师给予方向性指导并不断给予支持。不管是需求分析阶段对功能边界进行把握,还是系统实现过程中对于技术路径的讨论,每一次的交流都会使思路更加明确。导师严谨的态度也影响了对待问题的方式,不会轻易绕过难点,而会真正把问题想透彻再动手。这是这段时间内最重要的一个收获。
感谢身边同学在开发过程中所给予的帮助。技术瓶颈的时候,一起讨论问题、比较方案的那些下午,才是整个毕设阶段最踏实的记忆片段。家人一贯的支持给这项工作奠定了最稳定的基础,不需要了解系统做些什么,只需要在每一个需要安静的夜晚提供一份安静。
毕业设计是本科学习阶段最后一项系统性的工作,它不但是交付一个可以运行的应用,更是完整地经历了一个从问题识别到方案落地的过程。该套协同专注系统功能完备性、技术深度方面还有待提高,但是它是一个在当前的能力范围内认真完成的努力。在经过此次尝试之后再行迈进。




