欢迎光临
我们一直在努力

springboot大学生个人学习笔记分享系统21153-计算机毕业设计、课程设计

第一章 绪论

1.1 研究背景与意义

1.1.1 研究背景

  知识共享类应用市场需求不断增大,大学生群体在课业学习过程中产生的个人笔记资源量大,但是长期处于封闭状态,不能被他人有效复用,也无法在同伴之间形成知识流通的良性循环。传统的笔记管理依靠线下纸质载体或者本地文件夹保存,信息孤岛现象严重,学生之间学习经验的共享大多只是口头或者即时通讯群组的碎片化形式,缺少系统的平台支持[1]。微信小程序自从发布之后,凭借着不需要安装、即用即走的轻量化特点,在校园场景中得到了广泛的渗透,给创建低门槛的内容共享工具赋予了完备的技术生态[2]。同时uni-app跨平台框架越来越完善,前端开发效率得到极大提高,Django框架在Web后端开发中具有简洁高效的特点,MySQL数据库在中小规模的应用中也经过了大量的实践验证[3]。在以上技术条件趋于成熟的时候,设计出一款以大学生为主体,支持个人学习笔记共享和互动的微信小程序,既符合移动学习时代的发展趋势,又满足了高校学生对于低成本、高效率知识获取方式的需求。

1.1.2 研究意义

  本系统建设能够很好地解决大学生学习笔记资源分散、不能流通的问题,给同伴之间知识共享提供结构化的数字途径。普通用户可以在平台上发布、搜索、收藏笔记,利用点赞和评论的方式与别人进行学习交流,从而降低优质学习内容获取的门槛,管理员在后台对内容、分类、敏感词进行统一管理,保证平台信息的规范性和健康性。相比于现有的通用笔记类应用,本系统在设计上更加符合校园学习场景,功能模块和用户行为更加契合,具有较强的实用性。从示范角度来讲,本文给出了一套基于微信生态和Python技术栈的笔记共享系统完整实现方案,对之后类似高校应用的开发有着一定的参考价值和借鉴意义,也对推进校园数字化学习生态建设起到积极的作用。

1.2 国内外研究现状

1.2.1 国内现状

  随着在线教育和移动互联网的深度融合,国内对于学习资源管理与共享类系统的探究开始由桌面端转向移动端,研究方向也由原来的一般性资源存储转变为个性化推荐、协同共享,系统形态越来越轻量化、社交化。

  颜蕾[4]在2023年以KTM多特征融合模型为基础,对个性化习题推荐进行研究,在知识追踪的框架下加入协同过滤,根据学生的认知状态相似度对推荐结果做二次筛选,从而提高了推荐的准确性,其双重过滤的思想给本系统笔记搜索排序机制的设计提供方法论上的启示。李东晖[5]于2023年设计并实现了一个以学习者兴趣和课程知识点嵌入为基础的个性化慕课推荐系统,使用深度学习模型对用户的长短期兴趣进行联合建模,系统架构结合了内容过滤和协同过滤的优势,其推荐流水线的设计思路为本系统在学习资讯模块中实现根据用户行为的内容排列提供了一定的参考。胡钦[6]于2022年创建了软件漏洞知识图谱并搭建起配套的知识管理系统,系统融合了关键字搜索、高级搜索以及相似搜索这三种检索手段,多模式搜索的设计策略为本系统笔记搜索功能的多维度查询能力设计给予了直接的参照意义。

1.2.2 国外现状

  国外对于学习资源共享和笔记辅助工具的研究开始的比较早,其研究特点十分明显,智能化、数据驱动以及学习者中心的设计理念贯穿于各种系统的构建过程之中,并且近些年来还出现了将增强现实、脑机接口等前沿技术融入到学习行为分析中的趋势。

  Liao[7]等(2025)把CDIO工程教育理念融入到微信小程序课程教学改革研究当中,以真实项目为驱动力,完成从需求调研到云端部署的全部开发过程,证明了微信小程序在教育场景下的工程可行性,“产品意识培养”和“用户共情”的设计思路给本系统的用户体验设计给予了关键参照。2025年Bertrand[8]等人的研究重点是基于通用学习设计框架来改进笔记记录脚手架的路径,把传统的引导式笔记转变为以学习者为中心的弹性笔记结构,发现结构化和灵活性的平衡对于减轻学习的认知负担十分重要,给本系统笔记发布和组织模块的结构化设计提供了参考。2022年,赵[9]等人的定量研究中得出结论,学习模式、学习分享行为都会影响到注意力同步性,该结论为本系统加入社交化分享功能的合理性提供实证支持。

  国外的研究大多重视学习行为数据的收集和分析,把实证结果当作系统功能更新的依据。相比而言,本系统在设计上很好地吸收了上述研究中学习者中心设计、分享行为促进效果、结构化内容组织等主要思想,并且结合国内高校学生实际使用习惯和微信生态技术特点进行落地,使得系统在功能深度和场景适配性上实现了有机统一。

1.3 研究内容

  本文主要的工作就是利用微信小程序技术来设计、实现一个面向大学生的学习笔记分享系统。研究工作从需求到实现的工程化路径是按照从需求到实现的工程化路径来开展的,需求分析阶段对系统目标用户群体、功能边界、非功能性约束等进行了系统的梳理,明确了普通用户和管理员两个角色在笔记管理、内容浏览、互动操作、后台管控等各方面具体的要求,架构设计阶段在前后端分离的原则下确定了微信小程序前端、Django后端服务和MySQL数据库三层协作的技术架构,模块实现阶段按照功能清单逐一完成了笔记发布、搜索浏览、点赞评论、收藏管理、学习资讯获取、敏感词管理、权限控制等功能的编码开发,各个模块之间通过RESTful接口进行数据交互,数据库设计阶段对核心业务表进行了实体识别和关系建模,将概念模型转化为逻辑模型。本文的研究重点是系统功能的完备性以及业务逻辑的正确性,不会涉及到高并发优化、分布式部署等工程化的扩展问题。最后会得到一个可以运行的微信小程序系统原型,包括完整的设计文档和测试报告。整体上采用软件工程的生命周期方法论,用需求驱动设计、用测试验证实现,为后面章节逐层展开打下方法基础。

第二章 相关技术介绍

2.1 微信小程序

  微信小程序是由腾讯公司推出的不需要下载安装就可以使用的应用形式,运行在微信客户端内,依靠微信生态庞大的用户基数来实现快速触达。其技术架构为逻辑层和视图层,逻辑层用JavaScript脚本来处理业务数据,视图层用WXML和WXSS来完成界面渲染,双线程隔离设计保证了运行时的稳定。本系统中微信小程序全部负责前端交互工作,用户通过小程序界面进行笔记的浏览、发布、评论、点赞等主要操作,系统的用户触点和体验质量都与小程序端页面结构的设计以及事件响应有关[10]。

  小程序原生API包含网络请求、本地缓存、用户授权等基本功能,使得前端可以在不需要安装原生客户端的情况下调用设备的功能。微信账号体系的内置支持大大简化了用户身份认证的过程,学生可以利用微信授权登录系统而不必单独注册[11]。平台自带的内容安全接口给本系统敏感词过滤功能提供底层支持,和后台管理模块一起形成了内容合规的多层保障体系。

2.2 uni-app框架

  uni-app是由DCloud公司推出的基于Vue.js语法规范的跨平台前端开发框架,开发者只需要编写一套代码就可以编译出微信小程序、H5、App等各个平台的目标代码。核心编译机制把uni-app源码转成各个平台的原生代码,保留了Vue组件化开发体验的同时,最大程度上符合各个平台的运行规范[12]。本系统前端使用uni-app进行开发,充分运用其条件编译的能力来处理微信小程序端的平台特性逻辑,从而达到跨端代码统一管理的目的。

  uni-app自带的UI组件库以及页面路由管理功能大大提高了界面开发的速度。系统中笔记列表、资讯详情、个人中心等高频页面都是用uni-app组件体系来创建的,数据绑定和状态管理使用Vue响应式的方式进行,降低了手动操作DOM的复杂程度。框架对微信小程序原生API进行封装之后,使得异步请求、页面跳转这些操作的代码风格变得一致,进而降低开发与维护的成本[13]。

2.3 Django框架

  Django是用Python语言构建的高层次Web开发框架,采用MTV架构模式,自带了ORM、路由管理、表单验证、用户认证等功能模块,可以快速创建出结构清晰的后端服务[14]。本系统Django完成所有的后端业务逻辑处理工作,用视图函数和路由规则向前端提供RESTful风格的接口,可以满足笔记数据的增删改查、用户行为记录、内容审核状态管理等业务场景。

  Django的ORM层把数据库操作抽象成Python对象,开发者只需要定义模型类就可以完成数据表的创建和迁移,不会因为直接写大量的SQL语句而造成维护上的麻烦。利用django-rest-framework扩展库可以快速实现序列化、分页、权限控制等,接口规范性和开发效率都有所保证[15]。框架内置的管理后台给初学者的数据调试提供方便,管理员权限模块部分依靠Django的权限系统来实现。

2.4 MySQL数据库

  MySQL是目前使用最广的开源关系型数据库管理系统之一,用结构化查询语言对数据进行定义和操作,支持事务、索引、视图等标准的关系数据库特性,在中小规模的Web应用中表现出稳定的工程性能[16]。本系统使用MySQL做为数据持久化层,存储用户信息、笔记内容、评论记录、学习资讯、学科分类和标签等主要业务数据,各个表之间用外键关系建立完整的业务数据模型。

  MySQL索引机制会对笔记搜索、分类过滤等高频的查询操作起到直接的影响,系统在笔记的标题、标签、发布时间等重要的字段上会创建索引来提高查询的速度。InnoDB存储引擎的事务支持保证了用户操作数据的一致性,对于笔记删除、评论关联处理等需要多表联动的业务来说起到了非常重要的作用。数据库和Django ORM之间的合作依靠配置数据源参数来达成无缝对接,从而削减了数据层维护的技术门槛。

第三章 系统分析

3.1 功能需求分析

  UML用例图是一种用来描述系统功能需求的图形化工具,用它来表示系统和外部参与者之间的交互关系,可以清楚地知道系统的功能。用例图用用例来表示系统可以执行的全部功能,参与者是指与系统交互的各种用户或者外部系统。用例图在分析设计阶段使用,可以使得开发人员和客户达成一致,保证系统的功能完整正确。UML用例图是用直观的图形来表示系统功能和角色之间的一一对应关系。本文将对系统按照角色模块进行需求分析。

3.1.1 用户功能

  普通用户是本系统的主要服务对象,它包含笔记内容的获取、互动以及个人内容的自主管理这三个方面。用户可以在笔记分享模块中根据关键词搜索别人的笔记,点赞、分享、评论感兴趣的笔记,在评论管理模块中删除自己发表的评论;收藏记录模块可以搜索和删除已收藏的内容;学习资讯模块提供资讯内容的搜索和点赞功能;笔记个人发布模块可以添加、查询、查看、删除自己发布的笔记;消息模块可以对系统通知全部已读或者删除。以上功能一起构成了普通用户在系统内完整的使用路径,在笔记浏览、内容发布和个人数据管理之间可以自由地切换。用户用例图如图3-1所示。

image 图3-1用户用例图

3.1.2 管理员功能

  管理员负责系统内容与基础数据的统一管控。管理员在学科分类管理模块中可以对分类进行查询、重置、详情查看、添加、删除,标签分类管理模块具有相同层次的操作能力;笔记分享管理模块可以对全平台笔记进行查询、重置、添加、删除、详情查看、评论查看;敏感词汇模块支持管理员新增、删除或查看词条信息;学习资讯模块可以发布内容、删除内容、查看内容详情及评论查看功能;权限管理模块提供用户权限查询、重置。管理员用上面的模块来对平台内容的规范性、分类体系的完整性以及用户权限的合理配置进行全方位的控制。管理员的用例图如图3-2所示。

image 图3-2管理员用例图

3.2 非功能需求分析

3.2.1 可用性需求

  系统要保证页面反应速度快,主要功能操作流程简单。用户界面应有统一的设计风格,给出明显的指引。系统必须保证高可用性,在业务高峰时不能做计划性的维护。系统要适应不同的微信运行环境,保证功能的正常稳定。

3.2.2 可靠性需求

  系统要保证连续稳定的运行,每年的可用时长不得少于99.9%。系统在出现异常的时候要保证核心业务功能不中断。数据存储要保证完整性、准确性,实行定期备份制度。系统要保存运行日志,有利于问题的查找与分析。

3.2.3 安全性需求

  系统对用户数据进行加密,以达到存储、传输安全的目的。创建严格有效的访问权限控制体系,杜绝越权操作。完善用户身份认证机制以保证账户的安全。系统收到的所有输入数据都要做安全检查,防止恶意攻击。对重要的操作进行审计日志的记录,以便事后追查。

3.3 可行性分析

3.3.1 技术可行性

  本系统使用微信小程序、uni-app、Django和MySQL技术栈,各个技术都有成熟的社区生态以及完整的官方文档支持。前端和后端之间用RESTful接口通信,结构清晰、耦合度低;Django的MTV模式和MySQL的关系数据模型在中小规模Web应用中经过大量的工程验证,框架之间的兼容性好,开发环境的搭建成本低,在现有的条件下具有很强的可行性。

3.3.2 经济可行性

  系统所用到的技术组件都是开源免费软件,并且不会产生商业授权费用。开发阶段使用本地服务器环境即可完成功能调试,运行阶段可以部署到低配置云主机上,服务器租用成本在合理范围内。系统维护主要是依靠代码层面的迭代更新,不需要专职运维人员,整体建设投入和运营成本都比较低,经济结构合理,具有较好的经济可行性。

3.3.3 操作可行性

  系统前端使用微信小程序平台开发,界面风格和微信生态内其它应用一致,用户在使用过程中不需要重新学习操作逻辑。笔记浏览、发布、搜索等主要操作都用简单的交互控件来完成,流程步骤清楚,认知负担低。管理后台的交互逻辑符合常见的Web管理系统交互方式,管理员可以较快地学会各个模块的操作方法,日常使用的学习成本在可接受范围内。

第四章 系统设计

4.1 系统架构设计

  本系统整体架构遵循前后端分离的分层设计原则,由用户界面层、应用服务层、数据持久层三个核心层次组成。用户界面层基于微信小程序平台,通过uni-app框架进行统一开发,负责向用户呈现笔记浏览、发布、评论等交互界面,并将用户操作转化为结构化的HTTP请求;应用服务层部署Django框架构建的后端服务,通过路由分发将请求导向对应的视图处理逻辑,视图层调用模型完成业务运算后以JSON格式返回数据;数据持久层由MySQL数据库承担,存储系统全部结构化业务数据,通过Django ORM与服务层实现解耦通信。各层之间职责边界清晰,接口协议统一,层内变化不影响其余层级的正常运转[17]。整个系统架构如图4-1所示。

image 图4-1系统架构图

4.2 系统结构功能设计

  本系统围绕普通用户与管理员两类角色构建功能体系,覆盖笔记共享、内容互动与后台管理三大核心领域。普通用户侧重内容消费与个人数据管理,可访问笔记分享、学习资讯、评论管理、收藏记录、个人发布及消息等功能模块;管理员侧重平台秩序维护,负责学科分类管理、标签分类管理、笔记分享管理、敏感词汇管理、学习资讯管理及权限管理等后台模块的日常运营。各功能模块之间通过统一的接口层进行数据交互,前端页面与后台管理界面分别满足不同角色的操作需求。系统功能结构图如图4-2所示。

image 图4-2系统功能结构图

4.3 系统流程设计

4.3.1 笔记发布功能流程设计

  用户发起笔记发布请求后,系统首先校验用户登录状态,未登录者跳转至授权页面,登录用户进入发布表单填写笔记标题、内容、学科分类与标签信息。提交后系统对内容进行敏感词过滤,检测通过则写入数据库并返回发布成功提示,检测未通过则提示用户修改后重新提交。笔记发布流程图如图4-3所示。

image

图4-3笔记发布流程图

4.3.2 笔记搜索功能流程设计

  用户在搜索框输入关键词后,系统接收搜索请求并对参数进行合法性校验;若关键词为空则提示用户输入内容,有效关键词进入后端查询逻辑,系统在笔记标题与内容字段中执行模糊匹配,查询结果按相关度排序后返回列表;若无匹配结果则向用户展示空状态提示页面。笔记搜索流程图如图4-4所示。

image

图4-4笔记搜索流程图

4.3.3 评论管理功能流程设计

  用户进入笔记详情页后可提交评论,系统接收评论内容后执行长度与敏感词双重校验;校验失败时返回对应错误提示,校验通过则将评论持久化写入数据库并在详情页实时刷新评论列表。用户亦可选择删除自身发布的评论,系统核验操作者身份后执行物理删除并同步更新列表。评论管理流程图如图4-5所示。

image 图4-5评论管理流程图

4.3.4 敏感词汇管理功能流程设计

  管理员进入敏感词汇管理模块后,可提交新增敏感词条,系统检查该词条是否已存在于词库;若重复则返回提示要求重新输入,若不重复则将词条写入数据库完成新增。管理员亦可查看现有词条详情,并在确认后执行取消或提交更新操作,系统完成数据更新后刷新词库列表。敏感词汇管理流程图如图4-6所示。

image 图4-6敏感词汇管理流程图

4.3.5 学习资讯管理功能流程设计

  管理员在学习资讯模块填写资讯标题、正文内容等信息后提交,系统对内容完整性进行校验;信息不完整时返回必填项提示,完整信息提交成功后写入数据库,资讯在用户端的学习资讯列表中即时可见。管理员可进入资讯详情页查看用户评论,亦可对已发布资讯执行取消发布操作,系统更新资讯状态后同步调整用户端展示。学习资讯管理流程图如图4-7所示。

image 图4-7学习资讯管理流程图

4.4 数据库设计

  在数据库设计时,用ER图将概念模型转化为具体的数据库结构。本阶段任务是对各个数据表的字段类型、约束条件、表与表之间关系进行设计,为后面的物理设计打好基础。在此基础上再对数据存储方案以及查询性能进行优化。

4.4.1 实体–联系模型设计

  E-R图是数据库概念设计的主要工具,用来描述实体类型、属性特征以及实体之间联系的关系。通过图形化建模方式可以清楚的展示出系统数据的逻辑结构,方便了解各个数据实体之间的关系,为数据库的物理实现提供完整的理论基础。下面将分别展示系统全局E-R图结构以及主要实体的详细属性构成[18]。

  现实业务中数据对象之间往往存在复杂的关联关系,将这些关系抽象为规范化的信息模型是数据库设计的首要任务。概念模型作为现实世界到信息世界的第一次抽象,其核心价值在于以独立于具体数据库管理系统的方式精确描述业务数据的本质结构,从而在需求理解与系统实现之间建立清晰的沟通桥梁。

  针对本系统的业务特点,概念模型设计的切入点在于识别系统中承载核心业务语义的实体对象,包括用户、笔记、评论、学习资讯、学科分类、标签等,并在此基础上界定实体的关键属性集合。实体之间的业务联系呈现出多种基数形态:用户与笔记之间构成一对多关系,笔记与标签之间构成多对多关系,评论与笔记之间同样为一对多关联。E-R图作为概念模型的标准可视化表达工具,可将上述实体、属性与联系以图形化方式清晰呈现,为后续关系模式的推导与数据库表结构的建立提供坚实的设计依据。基于以上分析,将绘制反映本系统全域数据结构的E-R图,为后续的逻辑模型设计提供依据。系统全局E-R图如图4-8所示。

image 图4-8系统E-R图

  根据系统分析,系统的主要实体有:用户、笔记、笔记评论、学习资讯、资讯评论、学科分类、标签、收藏记录、消息、敏感词汇,各个实体具体的属性如下图所示。

  (1)用户实体主要包括用户id、用户名、密码、头像、昵称等。如图4-9所示。

image 图4-9用户实体属性图

  (2)笔记实体主要包括笔记id、标题、内容、学科分类id、标签id等。如图4-10所示。

image 图4-10笔记实体属性图

  (3)笔记评论实体主要包括评论id、笔记id、用户id、评论内容等。如图4-11所示。

image 图4-11笔记评论实体属性图

  (4)学习资讯实体主要包括资讯id、标题、内容、发布状态、创建时间等。如图4-12所示。

image 图4-12学习资讯实体属性图

  (5)资讯评论实体主要包括评论id、资讯id、用户id、评论内容等。如图4-13所示。

image 图4-13资讯评论实体属性图

  (6)学科分类实体主要包括分类id、分类名称、创建时间等。如图4-14所示。

image 图4-14学科分类实体属性图

  (7)标签实体主要包括标签id、标签名称、关联分类id等。如图4-15所示。

image 图4-15标签实体属性图

  (8)收藏记录实体主要包括收藏id、用户id、笔记id、收藏时间等。如图4-16所示。

image 图4-16收藏记录实体属性图

  (9)消息实体主要包括消息id、用户id、消息内容、已读状态等。如图4-17所示。

image 图4-17消息实体属性图

  (10)敏感词汇实体主要包括词汇id、词汇内容、创建时间等。如图4-18所示。

image 图4-18敏感词汇实体属性图

4.4.2 数据表结构设计

  数据库表设计是基于系统业务需求构建数据存储结构的关键环节,需要明确数据表的字段定义、类型约束及表间关联关系。通过遵循数据库规范化原则确保数据的完整性与一致性,优化存储效率并减少数据冗余,为后续的数据查询、存储维护及系统扩展提供可靠的基础架构。以下详细列出系统核心数据表的结构设计[19]。

  逻辑模型设计是将概念层面的E-R图转换为具体关系模式的过程,需在保留业务语义完整性的前提下,依据关系规范化理论对各实体及其联系进行表结构定义。本系统依据概念模型推导出十张核心业务表,每张表以主键字段为标识,通过外键字段建立表间引用关联,多对多关系通过中间关联表拆解为两个一对多关系,消除了数据冗余风险。各字段的数据类型依据业务语义合理选取,字符型字段根据内容长度需求设定varchar上限,时间型字段统一采用datetime存储,整型主键与外键统一采用bigint,整体表结构符合第三范式要求,兼顾了数据一致性与查询效率的平衡。

  (1)用户表主要是用来存储系统注册用户的基本身份信息。主要包括用户id、用户名、密码、昵称等字段。如表4-1所示。

表4-1用户表

序号字段名类型长度备注
1 用户id bigint 20 主键
2 用户名 varchar 50 登录账号
3 密码 varchar 100 加密存储
4 昵称 varchar 100 显示名称
5 头像 varchar 200 头像地址
6 角色 varchar 20 用户角色
7 创建时间 datetime – 注册时间
8 更新时间 datetime – 最后修改

  (2)笔记表主要是用来存储用户发布的学习笔记内容。主要包括笔记id、标题、内容、用户id等字段。如表4-2所示。

表4-2笔记表

序号字段名类型长度备注
1 笔记id bigint 20 主键
2 标题 varchar 200 笔记标题
3 内容 varchar 500 笔记正文
4 用户id bigint 20 外键
5 学科分类id bigint 20 外键
6 标签id bigint 20 外键
7 点赞数 int 11 点赞计数
8 创建时间 datetime – 发布时间
9 更新时间 datetime – 修改时间

  (3)笔记评论表主要是用来记录用户对笔记内容的评论数据。主要包括评论id、笔记id、用户id、评论内容等字段。如表4-3所示。

表4-3笔记评论表

序号字段名类型长度备注
1 评论id bigint 20 主键
2 笔记id bigint 20 外键
3 用户id bigint 20 外键
4 评论内容 varchar 500 评论文本
5 创建时间 datetime – 评论时间

  (4)学习资讯表主要是用来存储管理员发布的学习相关资讯内容。主要包括资讯id、标题、内容、发布状态等字段。如表4-4所示。

表4-4学习资讯表

序号字段名类型长度备注
1 资讯id bigint 20 主键
2 标题 varchar 200 资讯标题
3 内容 varchar 500 资讯正文
4 发布状态 varchar 20 上线/下线
5 点赞数 int 11 点赞计数
6 创建时间 datetime – 创建时间
7 更新时间 datetime – 修改时间

  (5)资讯评论表主要是用来记录用户对学习资讯内容的评论数据。主要包括评论id、资讯id、用户id、评论内容等字段。如表4-5所示。

表4-5资讯评论表

序号字段名类型长度备注
1 评论id bigint 20 主键
2 资讯id bigint 20 外键
3 用户id bigint 20 外键
4 评论内容 varchar 500 评论文本
5 创建时间 datetime – 评论时间

  (6)学科分类表主要是用来管理笔记所属学科的分类体系数据。主要包括分类id、分类名称、创建时间等字段。如表4-6所示。

表4-6学科分类表

序号字段名类型长度备注
1 分类id bigint 20 主键
2 分类名称 varchar 100 学科名称
3 创建时间 datetime – 创建时间
4 更新时间 datetime – 修改时间

  (7)标签表主要是用来存储笔记内容的标签分类数据。主要包括标签id、标签名称、关联分类id等字段。如表4-7所示。

表4-7标签表

序号字段名类型长度备注
1 标签id bigint 20 主键
2 标签名称 varchar 100 标签文本
3 关联分类id bigint 20 外键
4 创建时间 datetime – 创建时间

  (8)收藏记录表主要是用来记录用户对笔记内容的收藏操作数据。主要包括收藏id、用户id、笔记id、收藏时间等字段。如表4-8所示。

表4-8收藏记录表

序号字段名类型长度备注
1 收藏id bigint 20 主键
2 用户id bigint 20 外键
3 笔记id bigint 20 外键
4 收藏时间 datetime – 收藏时间

  (9)消息表主要是用来存储系统向用户推送的通知消息数据。主要包括消息id、用户id、消息内容、已读状态等字段。如表4-9所示。

表4-9消息表

序号字段名类型长度备注
1 消息id bigint 20 主键
2 用户id bigint 20 外键
3 消息内容 varchar 500 通知文本
4 已读状态 varchar 20 已读/未读
5 创建时间 datetime – 推送时间

  (10)敏感词汇表主要是用来存储平台内容过滤所使用的敏感词条数据。主要包括词汇id、词汇内容、创建时间等字段。如表4-10所示。

表4-10敏感词汇表

序号字段名类型长度备注
1 词汇id bigint 20 主键
2 词汇内容 varchar 100 敏感词文本
3 创建时间 datetime – 录入时间
4 更新时间 datetime – 修改时间

第五章 系统实现

5.1 普通用户角色功能实现

5.1.1 笔记分享

  笔记分享模块主要是对平台内全部公开笔记内容进行浏览与互动操作。用户进入该模块后,系统从数据库拉取符合条件的笔记列表,按发布时间倒序排列呈现;用户在关键词搜索框输入内容后,系统对标题与正文字段执行模糊匹配,将命中结果实时刷新至列表区域。对于感兴趣的笔记条目,用户可点击进入详情页执行点赞操作,系统接收请求后更新该笔记的点赞计数并在界面同步反馈;分享操作触发微信内置的转发能力,将笔记链接传递至目标联系人或群组;评论操作在详情页底部弹出输入框,用户提交后系统完成敏感词校验,通过校验的评论持久化写入数据库并刷新评论列表。笔记分享界面如图5-1所示。

image

图5-1笔记分享界面

5.1.2 学习资讯

  学习资讯模块主要是对管理员发布的学习相关资讯内容进行展示与互动管理。系统在该页面加载已上线状态的资讯条目列表,用户可通过搜索框按标题关键词筛选目标资讯,匹配结果实时更新至列表区域。用户进入具体资讯详情后,可对内容执行点赞操作,系统接收该操作后累加点赞计数并将更新结果回显至界面,用户的浏览行为得到完整的数据响应。资讯内容由管理员在后台统一维护,用户端仅提供消费型操作入口,数据流向单向明确。学习资讯界面如图5-2所示。

image

图5-2学习资讯界面

5.1.3 评论管理

  评论管理模块主要是对用户本人在平台内发布的全部评论记录进行自主管理。系统在该页面聚合展示当前登录用户发表过的笔记评论与资讯评论,列表按评论时间倒序排列,用户可直接定位目标评论条目并执行删除操作;系统接收删除请求后,核验当前用户与评论归属关系,权限核验通过后完成数据库层面的物理删除,列表随即刷新移除对应条目,操作结果即时可见。评论管理界面如图5-3所示。

image

图5-3评论管理界面

5.1.4 收藏记录

  收藏记录模块主要是对用户在浏览过程中收藏的笔记内容进行集中管理。系统在该页面加载当前用户的全部收藏条目,支持通过关键词对收藏笔记的标题进行搜索过滤,匹配结果实时更新列表视图。对于不再需要的收藏条目,用户可执行删除操作,系统删除收藏记录表中对应数据行后完成列表刷新,收藏状态的变化在笔记详情页同步联动更新。收藏记录界面如图5-4所示。

image

图5-4收藏记录界面

5.1.5 笔记分享(个人发布)

  笔记个人发布模块主要是对当前用户自行创建的笔记内容进行全生命周期的自主管理。用户通过添加入口进入笔记编辑页面,填写标题、正文、学科分类与标签后提交,系统完成内容合规校验后将笔记写入数据库;用户在个人列表页可对已发布笔记执行查询、详情查看与删除操作,查询支持按标题关键词过滤,重置操作清空搜索条件恢复全量列表;删除操作在系统核验用户身份后执行级联处理,关联评论与收藏数据同步清除。笔记分享个人发布界面如图5-5所示。

image

图5-5笔记分享个人发布界面

5.1.6 消息

  消息模块主要是对系统推送至当前用户的通知消息进行统一管理。系统在该页面按推送时间倒序展示全部消息条目,未读消息以视觉区分方式标注;用户可执行全部已读操作,系统批量将该用户名下所有未读消息的状态字段更新为已读并刷新列表;对于需要清理的消息条目,用户可执行删除操作,系统完成对应记录的物理删除后同步更新消息数量角标。消息界面如图5-6所示。

image

图5-6消息界面

5.2 管理员角色功能实现

5.2.1 学科分类管理

  学科分类管理模块主要是对系统内笔记所属学科分类的基础数据进行维护。管理员在列表页可按分类名称关键词查询已有分类,重置操作清空筛选条件恢复全量展示;点击详情可查看单条分类的完整信息;添加操作进入新增表单,填写分类名称后提交,系统校验名称唯一性后完成写入;对于冗余分类,管理员可执行删除操作,系统核验该分类下是否存在关联笔记,确认无误后完成数据删除。学科分类管理界面如图5-7所示。

image 图5-7学科分类管理界面

5.2.2 标签分类管理

  标签分类管理模块主要是对笔记内容标签的基础数据进行统一维护与管控。管理员可通过关键词对标签名称执行查询过滤,重置操作还原列表初始状态;详情功能展示标签的关联分类信息与创建时间;添加操作进入表单页,管理员填写标签名称并关联对应学科分类后提交,系统完成唯一性校验后入库;删除操作核验标签引用状态,确认可删除后执行数据清除。标签分类管理界面如图5-8所示。

image 图5-8标签分类管理界面

5.2.3 笔记分享管理

  笔记分享管理模块主要是对平台内全部用户发布的笔记内容进行后台统一管控。管理员可通过关键词查询笔记标题,重置操作还原全量列表;详情功能展示笔记的完整内容及发布者信息;查看评论功能调出该笔记下的全部评论列表,管理员可对违规评论执行删除处理;添加操作允许管理员代发笔记内容;对于违规笔记,管理员可执行删除操作,系统完成级联数据清除后刷新列表。笔记分享管理界面如图5-9所示。

image 图5-9笔记分享管理界面

5.2.4 敏感词汇

  敏感词汇模块主要是对平台内容过滤使用的敏感词条库进行动态维护。管理员进入该模块后可查看现有词条的详情信息,包括词汇内容与录入时间;提交操作将新录入的词条写入敏感词库,系统完成重复性校验后确认入库;取消操作中止当前编辑状态并还原页面至上一操作节点,确保管理员在误操作时可安全退出当前流程。词库更新后,用户端的内容校验逻辑即时生效。敏感词汇界面如图5-10所示。

image 图5-10敏感词汇界面

5.2.5 学习资讯

  学习资讯模块主要是对面向普通用户展示的学习资讯内容进行后台发布管理。管理员填写资讯标题与正文后执行提交,系统完成内容完整性校验后将资讯以上线状态写入数据库,用户端随即可见;取消操作终止当前编辑流程;详情功能呈现资讯的发布参数与统计数据;查看评论功能加载该资讯下的用户评论列表,管理员可对不当评论执行删除操作,维护资讯区的互动秩序。学习资讯界面如图5-11所示。

image 图5-11学习资讯界面

5.2.6 权限管理

  权限管理模块主要是对系统内注册用户的角色权限配置进行统一管理。管理员可通过用户名或角色类型条件查询目标用户,重置操作清空筛选参数恢复全量用户列表;针对特定用户,管理员可在详情页调整其角色权限配置,系统更新权限字段后该用户在下次请求时即受新权限约束,权限变更操作结果实时生效。权限管理界面如图5-12所示。

image 图5-12权限管理界面

第六章 系统测试

6.1 测试目的

  系统测试主要目的就是检验软件系统是否满足需求规格说明书的要求,实现各项功能。根据测试用例模拟用户的操作过程,检测系统各个功能模块能否正常地完成所期望的业务逻辑。测试过程中重点考察系统功能的完整性、正确性、稳定性,保证用户在使用过程中不会遇到功能缺陷或者操作异常。测试结果可以为系统上线提供重要支撑,保证上线的软件产品能够满足用户最基本使用需求。

  从质量管理的角度来说,系统测试是保证软件质量的重要方法。经过系统功能测试,能够找出软件开发过程中出现的功能缺陷以及逻辑错误,给开发团队赋予明确的修改方向。测试时要检查系统输入输出是否符合预期,用户操作流程是否顺畅,各个功能模块间数据传递是否正确。还要检查系统在异常操作下表现如何,保证系统有必要的容错能力。这些测试工作可以有效地减少系统上线后出现的问题。

6.2 测试方法

  本系统主要用黑盒测试法对系统功能进行验证,重点测试系统外部功能,不考虑内部代码实现。测试员按照需求文档设计出覆盖系统全部功能模块的测试用例。测试用例设计采用等价类划分法和边界值分析法,使测试尽可能的充分、有效[20]。每一个测试用例都有具体的测试步骤、输入的数据以及预期的结果,便于测试人员进行执行和验证。

  在具体的测试实施过程中,根据模块来执行功能测试。单元功能测试保证各个独立功能模块的正确性,集成测试保证模块之间接口以及数据传递的正确性,系统测试模拟实际的使用场景来保证整个系统的功能完整性。测试时要记载每个测试用例的执行结果,对发觉的缺陷予以详尽记载并跟进行修改情形。测试结束之后要编写测试报告,对测试结果进行总结,为系统验收提供依据。

6.3 测试内容

  本节针对系统七个核心业务模块设计测试用例,验证各模块的功能正确性与业务逻辑完整性。每个模块的测试关注其核心操作路径的数据响应准确性及异常情形下的容错处理能力。

  用户登录模块:登录模块测试重点在于验证身份认证逻辑的准确性,包括合法账号密码组合的成功登录路径,以及错误密码、空字段等非法输入情形下的错误提示机制。如表6-1所示。

表6-1用户登录测试用例表

测试内容测试步骤预期结果实际结果
合法账号密码登录 输入正确账号与密码,提交登录 登录成功,跳转至首页 符合预期
错误密码登录 输入正确账号与错误密码,提交 返回密码错误提示 符合预期
空字段提交 账号或密码留空,点击提交 返回必填项提示 符合预期

  笔记发布模块:笔记发布模块测试聚焦于内容提交流程的完整性校验,涵盖正常内容发布的成功写入路径、标题为空时的校验拦截,以及含敏感词内容被过滤后的错误提示反馈。如表6-2所示。

表6-2笔记发布测试用例表

测试内容测试步骤预期结果实际结果
完整内容提交 填写标题、内容、分类、标签后提交 发布成功,列表新增记录 符合预期
标题为空提交 不填写标题,填写其余字段后提交 返回标题必填提示 符合预期
含敏感词提交 内容中包含词库中的敏感词后提交 返回内容违规提示 符合预期

  笔记搜索模块:搜索模块测试验证关键词匹配机制的正确性,包括有效关键词的结果返回、空关键词的输入提示,以及无匹配结果时的空状态页面展示逻辑。如表6-3所示。

表6-3笔记搜索测试用例表

测试内容测试步骤预期结果实际结果
有效关键词搜索 输入已存在笔记标题中的关键词 返回匹配笔记列表 符合预期
空关键词搜索 不输入关键词直接提交搜索 返回请输入关键词提示 符合预期
无匹配结果搜索 输入数据库中不存在的词条 展示暂无结果页面 符合预期

  评论管理模块:评论管理测试重点验证评论的提交校验与删除权限逻辑,包括合法评论的成功写入、超长评论的截断提示,以及用户删除非本人评论时的权限拦截处理。如表6-4所示。

表6-4评论管理测试用例表

测试内容测试步骤预期结果实际结果
提交合法评论 输入正常评论内容并提交 评论写入,列表刷新显示 符合预期
提交超长评论 输入超出字段上限的评论内容 返回内容超长提示 符合预期
删除他人评论 尝试删除非本人评论条目 返回权限不足提示 测试成功

  收藏记录模块:收藏记录测试验证收藏操作与删除操作的数据响应准确性,包括收藏添加后列表更新、关键词过滤结果正确,以及删除收藏后状态联动更新逻辑。如表6-5所示。

表6-5收藏记录测试用例表

测试内容测试步骤预期结果实际结果
收藏笔记操作 在笔记详情页执行收藏操作 收藏记录新增,列表更新 符合预期
搜索收藏内容 在收藏页输入关键词搜索 返回匹配收藏记录 符合预期
删除收藏记录 在收藏列表执行删除操作 记录移除,状态联动更新 测试成功

  敏感词汇管理模块:敏感词汇管理测试验证词条的增删流程与重复性校验机制,包括新词条的成功录入、重复词条的冲突提示,以及取消操作后页面的状态回滚。如表6-6所示。

表6-6敏感词汇管理测试用例表

测试内容测试步骤预期结果实际结果
提交新词条 输入未录入过的词条并提交 词条写入词库,列表更新 符合预期
提交重复词条 输入词库中已存在的词条 返回词条已存在提示 符合预期
取消编辑操作 编辑中途点击取消按钮 页面回滚,数据未写入 测试成功

  权限管理模块:权限管理测试验证用户权限查询与角色调整功能的数据准确性,包括按条件查询结果的正确返回、权限变更后用户访问范围的即时生效,以及重置操作后列表的完整还原。如表6-7所示。

表6-7权限管理测试用例表

测试内容测试步骤预期结果实际结果
按角色类型查询 选择角色类型条件执行查询 返回对应角色用户列表 符合预期
调整用户权限 修改用户角色配置并保存 权限即时生效,下次请求受限 测试成功
重置查询条件 点击重置清空筛选参数 还原全量用户列表 符合预期

测试结论

  通过系统的功能测试,所有的核心业务模块都实现了需求规格说明书中所定义的功能。测试过程中发现的缺陷已经被修复,经过回归测试验证,所有的相关问题都已经被解决。系统功能正常,用户操作流程无卡顿,数据处理无误且符合预期质量。通过测试可知系统可以上线运行,能够满足用户的基本使用需求。

项目分享:大家可自取用于参考学习,获取方式可私信哦!

赞(0)
未经允许不得转载:171主机测评 » springboot大学生个人学习笔记分享系统21153-计算机毕业设计、课程设计
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址