flask学生课程笔记共享系统29026-计算机课程设计、毕业设计

第一章 绪论

1.1 选题背景和意义

  随着高等教育信息化的发展,各种教学管理平台不断涌现,但是课程学习资源的组织方式仍然以教师单向发布为主,学生作为学习主体所生成的内容没有被有效地融入到校园知识共享体系当中。青岛工学院日常教学活动中的学生整理出的课程笔记、学习心得、重点归纳等好的资源没有形成系统的汇聚渠道和规范的共享机制。学习者遇到课程难点的时候很难得到同伴的学习经验以及知识梳理成果,教师也很难掌握学生对于课程内容的吸收理解情况。造成信息孤岛现象的原因使校园学习共同体难以形成起来,课程资源利用率和知识传递效率都急需提高。莫凡1认为根据学习者的特征来构建个性化的资源推荐可以提高学习的效果,周菊2关于学习者画像的研究给认识用户需求赋予了方法上的支持,唐颖3创建的Python教学平台证明了技术手段推动计算思维培育的可行之处。

  系统设计与实现有诸多价值。将学生课程笔记纳入到系统的管理之中,把零散的个人学习成果转变为可以检索、浏览、评价的集体知识资产,师生都能从其中获得课程学习多方面的角度。教师通过查看学生的笔记可以了解学生对教学内容的接受程度,学生通过笔记评价功能可以得到学习反馈,论坛帖子功能扩大了课程讨论的时空范围。排课信息和课程资料的整合呈现,可以减少学生在多个平台之间切换查询的时间成本。操作流程规范性降低了人工干预的必要性,资源审核保证了内容质量,收藏、点赞、评论等功能提升了学习社群活跃度。系统建立起来的资源共享模式可以给其他院校建设学习支持系统提供范例,促使校园信息化建设由管理导向向服务导向转变。

1.2 国内外研究现状

  国内学习资源共享系统研究由最初的资源数字化发展到现在的个性化服务。早期的研究主要集中在教学资源的数字化存储和简单的分类上,随着Web技术的发展,系统的功能也逐渐由原来的非交互性、非智能化向现在的交互性、智能化发展。研究者开始重视学习者个体差异和行为特征,把用户模型同资源推荐机制结合起来。有部分研究是从学科教学需要出发来开发专用平台,也有研究是从系统架构设计和实现路径方面进行研究。研究大势是资源中心转向学习者中心,系统功能的设计更加强调用户体验以及学习支持服务的有机结合。

  陈光环、孙洋、王静4针对Python基础课程开发了基于短视频的教学资源,用碎片化的内容组织和多媒体的呈现方式来提高学习的吸引力,其资源组织模式给系统课程资料模块的设计提供了一些思路。杨露把知识图谱技术应用到初中Python课程混合学习的设计当中5,借助知识节点的关联来达成学习内容的有机组织,这样的知识结构化思路可以被用来借鉴到笔记标记和关键词管理的功能上。张小红6基于WEB架构设计了在线自主学习平台,证明了浏览器/服务器模式适合教学系统使用,给本系统采用B/S架构提供实践基础。7陈俊开发出的个性化在线学习系统用Python技术实现了用户行为分析和资源推送,其推荐机制的设计给系统笔记推荐、热度排序等功能提供了借鉴。莫凡对于学习者特征同知识图谱融合的推荐算法研究,给系统实现个性化笔记展示赋予了理论支持。

  以上研究从不同的方面充实了学习资源共享系统理论和实践。文献的资源组织形式给系统在课程资料模块中使用多类目分类、标签管理提供启发。将文献的知识关联思想融入到笔记关键词和课程章节之间的对应关系中去。文献的架构实践支撑系统使用的是Flask和Vue的前后端分离方式。文献行为分析机制是用笔记评价和收藏点赞来收集数据的。文献特征建模方法对系统用户行为数据进行结构化组织。综上所述,目前的研究大多集中于资源推荐算法的优化或者某一学科平台的开发,对于课程笔记这种学生所生成的内容进行系统化的整合和共享还存在不足。本系统在吸收已有研究成果的基础上,把笔记管理作为核心模块,创建起学生、教师、管理员共同参与的课程资源共享生态系统。

  国外对于学习资源共享平台的研究开始得比较早,技术的应用以及系统的设计理念比较成熟。研究重点由最初的资源数字化存储发展到现在的智能推荐和社交化学习。国外学者重视算法优化对于资源匹配的作用,并且注意到了用户交互行为同学习成效之间的联系机理。部分研究把学习系统同社交网络功能结合起来,创建起带有互动性质的学习支撑环境。

  Liang J8设计的英语课程学习系统使用混合推荐算法,将内容过滤和协同过滤结合起来提高资源匹配的准确性,其算法融合思路可以给系统笔记推荐功能的实现提供一定的参考。刘伟9创建的英语学习社交平台依照数字娱乐内容推荐算法剖析用户行为,把学习内容同社交互动融合起来,这样的功能融合模式给系统在论坛帖子和课程笔记之间创建联系赋予了启发。LIANG H,SONG T,XIAN Y10用Python语言实现了气象统计年鉴系统,证明了使用Python技术管理气象统计年鉴系统稳定、灵活,给Flask框架的选择提供了技术上的支持。Joanna K、PawełK11开发的problexity开源库主要研究监督学习问题复杂度评价,可以用来分析用户对于笔记内容评价行为模式。Chongya L12用Python创建了中医英语词汇翻译教学系统,证明了Python在特定领域教学资源组织上是可行的。

1.3 研究内容

  本文主要工作就是设计并实现一个面向青岛工学院师生的课程笔记共享系统。系统建设从用户需求调研开始,对学生的功能诉求、教师的功能诉求、管理员的功能诉求进行梳理,把课程笔记管理、课程资料查看、论坛交流、排课信息查询等主要功能需求转化为具体的模块。架构设计阶段使用分层的思想,把系统分为用户界面层、业务逻辑层和数据持久层,确定各个层次的职责边界和技术选型。采用前后端分离模式,后端用Flask框架实现RESTful接口服务的实现,前端用Vue.js创建交互界面,MySQL数据库用来存储和管理数据。系统测试主要对功能完整性、操作流畅性、数据一致性等各方面进行检验,保证系统在实际使用环境中可以正常工作。研究侧重点是课程笔记这个学生生成内容的管理机制的设计,即笔记上传、审核、分类、检索、评价等各个环节的功能实现。最终的交付成果有可以运行的Web系统原型、完整的文档、数据库脚本和测试报告。系统开发使用敏捷迭代的方式,用持续集成和反馈来保证项目的质量。

第二章 相关技术介绍

2.1 Flask框架

  Flask框架采用微核心设计思想,给Web应用开发提供基本的组件支持。框架核心只包含路由分发、请求响应处理、模板引擎集成等基本功能,开发者可以根据项目的需要自由选择数据库抽象层、表单验证、用户认证等扩展模块。轻量级架构使得系统的搭建过程简单明了,不会因为使用重型框架而造成配置繁杂和性能损耗。张小红13用WEB架构设计的在线自主学习平台证明了轻量级框架在教学系统中的适用性,开发实践显示框架的选择应该符合业务需求而不是技术堆砌。Flask框架自带的开发服务器和调试器加快了系统原型的建立速度,它的路由机制用装饰器语法把URL规则和处理函数直接关联起来,使代码更加易读、易维护。本系统后端服务使用Flask框架来组织业务逻辑,根据课程笔记管理、论坛帖子处理、排课信息查询等不同的功能模块进行划分蓝图,使代码模块化。框架所赋予的请求上下文以及应用上下文机制,使得请求处理过程中的数据得以安全隔离,而借助于扩展组件,则可以达成用户会话的管理以及访问权限的把控。

2.2 Vue.js

  Vue.js构建用户界面的主要思想就是数据驱动、组件化开发。框架采取渐进式设计,开发者依照项目的繁杂程度可分阶段加入路由管理,状态保存,构建工具这些高级特性,此种灵活的特性使得前端架构可以同系统的大小相适应。框架利用虚拟DOM技术进行高效的视图更新,当数据发生变化的时候只对变化的部分进行重新渲染,从而减小了真实的DOM操作所造成的性能损失。陈光环等14认为短视频教学资源的设计要重视交互体验的作用,Vue.js所具有的响应式数据绑定功能正好契合了系统对于动态交互的要求。本系统前端界面使用Vue.js组织视图层的逻辑,把课程资料展示、笔记列表渲染、论坛帖子呈现等各个功能模块封装成可以被复用的组件,然后利用组件嵌套和通信来创建完整的页面。框架给出的计算属性和侦听器简化了数据变换和状态响应的过程,条件渲染和列表渲染指令使界面呈现与业务数据的关系更加直观。Vue Router对前端路由进行管理,使单页应用内可以无刷新地进行导航,Vuex用来保存共享的状态,保证各个组件之间数据流转的一致性。

2.3 MySQL数据库

  MySQL数据库是以关系模型为基础来组织数据存储的,用表格的形式来定义实体的属性以及实体之间的联系。数据库使用结构化查询语言进行数据操作,支持事务处理、索引优化、视图定义等功能,可以满足教学系统对于数据一致性和查询效率的要求。周菊15在建立学习者画像的时候就提出了数据组织方式会对特征提取造成影响的观点,关系型数据库的规范化设计正好给系统用户行为数据的结构化存储提供支持。本系统主要业务有学生信息、课程资料、笔记记录、论坛帖子等实体,MySQL用外键约束来保证实体之间的参照完整性,防止数据操作破坏业务规则。数据库引擎使用的是InnoDB,可以实现行级锁定和崩溃恢复,适合于多用户并发访问的教学系统。索引机制对常用的查询字段创建快速检索路径,课程编号、笔记标题、发布日期等字段的索引设计提高了列表筛选和搜索响应速度。预存储过程封装复杂的业务逻辑,减少应用层和数据库层的交互次数,提高系统的运行效率。

2.4 前后端分离架构

  前后端分离架构把用户界面与业务逻辑分离出来,创建为两个独立的服务单元,分别部署到不同的节点上。前端主要完成数据展示和用户交互工作,通过HTTP请求向后端的API接口发起动态数据请求;而后端主要是对业务进行处理以及数据存取,采用接口的方式对外提供服务。分而治之模式使前后端开发可以同时进行,前端负责界面交互和用户体验的改进,后端负责业务逻辑和数据安全。陈俊16用前后端分离模式设计出个性化的学习系统,证明了该架构可以提高开发效率和系统的可维护性。本系统的前端应用运行在浏览器上,使用异步请求来获取课程笔记列表、提交论坛帖子内容、查询排课信息等。后端服务采用Flask框架实现RESTful风格接口17,接收前端的请求之后执行相应的业务处理,返回处理结果以JSON格式的形式。接口设计采用无状态的方式,每次请求都带有一个身份认证信息,服务器不会对客户端进行状态的保存,从而使得系统可以进行水平扩展。跨域资源共享机制配置可以使得前端域名访问后端接口,解决了浏览器同源策略的限制。分离架构下前端界面的改变不会影响到后端服务的逻辑,数据库表结构的变动只须改动对应接口的实现部分,各个部分的演化是相对独立的。

第三章 系统需求分析

3.1 可行性分析

3.1.1 技术可行性

  Flask框架属于Python语言的轻量级Web开发工具,它有着简明的架构以及自由的扩展特性,给系统的创建赋予了稳固的基础。框架自带的开发服务器以及调试工具简化了环境搭建的过程,路由系统和模板引擎可以迅速进行原型的测试。MySQL数据库经过多年的不断发展已经形成了一个比较成熟的关系型数据管理系统,事务处理和并发控制机制可以保证教学数据的完整性和一致性。Vue.js前端框架使用组件化开发方式,用虚拟DOM技术保证界面交互的快速反应。前后端分离架构使得系统各个层次的职责更加明确,接口标准统一,可以同时对不同的模块进行开发。该技术栈经过大量的项目实践检验,在本科毕业设计规模下完全可以实现。

3.1.2 经济可行性

  系统开发过程中使用开源软件和免费开发工具,Flask框架使用BSD许可证,MySQL使用社区版本,Vue.js使用MIT协议,这些技术选择不会产生商业软件的授权费用。开发环境只需要普通个人计算机就可以搭建起来,不需要购买专用服务器设备。系统部署阶段可以利用学校现有的信息化基础设施,在校园网内部服务器上运行,不需要增加硬件采购成本。日常运行维护由校内技术人员兼职,系统上线后主要用自动化脚本来完成数据备份和日志轮转,人工干预很少。从长期运营角度来讲,系统建成之后服务多届师生使用,摊薄初期开发投入,有明显的优势。

3.1.3 操作可行性

  系统界面采用Web应用通用布局模式,顶部导航栏把首页、公告信息、课程资讯、课程笔记等主要功能入口分得清楚。学生用户登录之后可以在个人首页集中管理笔记评价、论坛帖子、收藏记录等各方面的内容,操作路径保持一致。课程笔记上传流程用标题、关键词、章节、封面等表单引导,用户按照步骤填写即可完成发布。论坛帖子列表可以按照标题搜索、标签筛选、日期排序等来降低信息查找的难度。教师用户使用同样的界面风格去访问课程资料和笔记,不需要再进行适应性的学习。管理员后台用表格的形式来显示数据,查询、重置、导出等操作按钮的位置是固定的,批量审核和删除的功能简化了管理的过程。界面交互逻辑符合日常使用的习惯,在用户短时间内就能学会大部分操作方法。

3.2 功能需求分析

3.2.1 学生角色功能需求

  学生在系统中可执行课程资料查看、课程笔记管理、论坛帖子查看、排课信息查看、笔记评价、举报记录查看、评论管理操作。课程资料模块展示教师上传的各类教学文件,课程笔记功能支持笔记创建与内容维护,论坛提供帖子浏览与交互渠道,排课信息呈现课程安排详情。笔记评价允许学生对共享笔记打分评论,举报记录集中管理已提交的违规内容报告,评论管理汇总个人发布的全部评价信息。

图3-1学生用例图

3.2.2 管理员角色功能需求

  管理员负责系统后台各模块的全面管理。课程资料管理涵盖教学文件的上传审核与分类维护,课程笔记管理处理学生笔记的审核标记与状态变更。笔记评价管理汇总学生对笔记的评分内容,论坛帖子管理涉及主题分类与内容审查。举报记录管理跟踪违规报告处理进度,排课信息管理维护课程安排的基础数据。

图3-2管理员用例图

3.2.3 教师角色功能需求

  教师用户在系统中主要进行教学资源的查看与学生互动的参与。课程资料查看功能提供所授课程相关文件的浏览下载,课程笔记查看允许教师翻阅学生整理的课堂笔记内容。论坛帖子查看使教师能够关注课程讨论动态,排课信息查看展示个人授课安排详情。笔记评价查看汇总学生课程笔记获得的评分反馈,评论管理集中处理个人在系统中的评价内容。

图3-3教师用例图

第四章 系统设计

4.1 系统架构设计

  系统用分层架构模式来组织各个功能模块,把用户交互、业务处理、数据存储这三个方面的关注点分别放在不同的层次上。用户界面层使用Vue.js框架创建单页应用,利用路由管理实现页面间的切换,采用组件化设计来保证界面元素可以复用。应用服务层用Flask框架处理前端请求,把课程管理、笔记管理、论坛管理、排课管理等业务模块分开放在不同的模块中,每个模块内部又包含具体的业务规则以及验证逻辑。数据持久层使用MySQL数据库,用关系模型存储用户的个人信息、课程资料、笔记记录、论坛帖子等主要数据,索引机制可以加快查询的速度。系统支持层给各个模块提供通用的功能,即用户认证、访问控制、文件存储、日志记录等基础服务。各个层次之间用明确的接口来交流,上层依靠下层的抽象定义而不是具体的实现,这样设计出来的系统具有较好的扩展性和可维护性。请求处理流程是从界面层开始,经过应用服务层的业务逻辑处理,再和持久层进行交互,最后的结果会沿着原来的路径返回到前端。系统架构图如图4-1所示。

图4-1系统架构图

4.2 功能结构设计

  系统以课程笔记共享为核心目标,用用户分为学生、管理员和教师三个层次来构成功能结构。学生端的功能有课程资料查看、课程笔记管理、论坛帖子查看、排课信息查看、笔记评价、举报记录查看、评论管理,可以覆盖资源获取、内容产生、互动交流的全部环节。管理员端功能以后台管理为主,包含课程资料管理、课程笔记管理、笔记评价管理、论坛帖子管理、举报记录管理、排课信息管理等,保证系统的资料质量及正常运转。教师端功能带有教学支撑和互动交流的功能,可以查看课程资料、查看课程笔记、查看论坛帖子、查看排课信息、查看笔记评价、管理评论,从而形成一个双向反馈通道。各个角色的功能模块既相互独立又通过数据共享来实现业务联动,学生笔记经管理员审核后可以供教师查看,教师评论会触发学生端的消息提醒,举报处理结果也会同步到学生记录列表中。功能结构用三级来划分,顶层是系统名称,中间是按照用户角色划分的功能集合,底层是各个角色可以操作的模块名称。该系统的功能结构如图4-2所示。

图4-2系统功能结构图

4.3 业务流程设计

4.3.1 课程笔记上传流程设计

  学生用户在课程笔记管理模块完成笔记上传操作时,系统提示输入笔记标题、关键词语、课程章节、笔记内容等基本信息,并允许上传笔记封面和附件。提交之后笔记的初始状态就变成了待审核,学生可以在个人笔记列表里看到已经提交的内容。管理员登录后台进入课程笔记管理界面,浏览待审核笔记列表,查看笔记详情和文件内容,按照内容质量、规范性等标准进行审核通过或者驳回。审核通过的笔记会在前台课程笔记列表中公开展示,其他用户可以查看、评价、收藏;驳回的笔记会返回到学生端,并附有驳回理由,学生可以修改后再重新提交。课程笔记上传流程图如图4-3所示。

  学生用户填写笔记信息并上传相关文件,系统校验必填项完整性后生成待审核记录。管理员审核过程决定笔记是否进入公开状态。

图4-3课程笔记上传流程图

4.3.2 论坛帖子举报流程设计

  用户在浏览论坛帖子的时候发现违规内容可以点击举报按钮进入举报流程。系统弹出举报表单,自动填充被举报帖子标题和发布学生信息,举报学生填写举报标题、举报内容后提交。举报记录进入待处理状态,并且被举报的帖子会关联产生一个举报标记。管理员登录后台进入举报记录管理模块,查看待处理举报列表,一条一条查看举报详情和被举报的帖子内容。管理员根据举报内容的真实性来决定处理方式,确认违规就对帖子进行隐藏或者删除,向举报的学生发送处理回复;举报不成立的直接填写驳回理由完成处理。处理完成之后举报状态变成已处理,学生可以在举报记录查看模块中得到处理结果的反馈。论坛帖子举报流程图如图4-4所示。

  用户发现违规内容后提交举报信息,系统生成举报记录等待管理员介入处理,处理结果同步更新至举报发起人的记录列表。

图4-4论坛帖子举报流程图

4.3.3 笔记评价流程设计

  用户进入到课程笔记详情页面之后,就会进入到评分评价功能界面。系统加载评价表单,显示评分星级选项和评价标签列表,用户选择星级并输入评价内容之后提交。评价记录关联笔记ID、评价用户ID,同时更新笔记的评论数量统计字段。笔记作者和教师用户都可以在个人中心的笔记评价查看模块中查看到收到的评价内容。管理员后台有评价管理功能,可以对不当评价进行隐藏或者删除。评价数据的积累给笔记热度排序、优质笔记推荐提供依据,评分高的笔记在列表中排在前面。笔记评价流程图如图4-5所示。

  用户选择评分星级并填写评价内容后提交,系统记录评价数据并更新笔记统计信息,管理员可对评价内容进行审核管理。

图4-5笔记评价流程图

4.3.4 排课信息查询流程设计

  用户进入排课信息模块之后,可以使用各种筛选条件来定位到想要的课程。系统在第一次启动的时候,就会自动加载全部的排课表,并按照默认的排序规则来显示课程标题、课程名称、上课地点等基本的信息。用户在搜索框中输入排课标题关键词或者课程名称关键词,系统根据输入的内容去数据库里查找相关记录,并且刷新列表。筛选功能可以查看全部课程或者某个分类的课程信息,排序选项有按照发布日期、课程名称、上课地点等进行重新排列的选项。用户点击单条排课记录会跳转到详情页,显示排课安排、排课教师、时间设置等全部信息。查询结果有导出功能,用户可以将当前列表保存成本地文件。排课信息查询流程图如下图4-6所示。

  用户通过搜索、筛选、排序等操作定位所需排课信息,系统根据查询条件动态加载匹配结果供用户浏览。

图4-6排课信息查询流程图

4.3.5 评论管理流程设计

  用户可以在个人中心的评论管理模块中查看自己发表的所有评论。系统按照时间倒序排列评论列表,每一个评论都是一个包含评论来源、评论内容和创建时间等信息的评论。来源字段具有点击跳转的功能,用户可以立即定位到被评论的原始笔记或者帖子。评论管理界面具有查询功能,可以按照昵称或者内容关键词对历史评论进行筛选。删除操作可以删除用户自己发布过的不当评论,删除之后对应的笔记或者帖子的评论数量会减少一。教师和管理员可以查看学生的评论,也可以对学生的评论进行必要的审核。评论管理流程图4-7如下。

  用户进入评论管理模块查看个人评论列表,通过查询定位特定评论,执行删除操作后系统同步更新关联内容的评论计数。

图4-7评论管理流程图

4.4 数据库设计

4.4.1 概念模型设计

  从问题抽象的角度出发,课程笔记共享系统概念模型的设计核心就是理清楚用户、课程资源、学习行为这三者之间复杂的业务联系。学生是内容生产者创建课程笔记,教师是教学主导者发布课程资料,管理员是审核维护者。笔记实体和评价实体是一对多的关系,一个笔记可以得到多次评价反馈,用户和帖子实体也是一对多的关系,一个用户可以发布多个论坛帖子。收藏行为被抽象成联系集,把用户同笔记、帖子这些资源联系起来动态化地呈现出来。排课信息不属于用户的使用行为范围之内,它是课程查询需求的基础数据来源。概念模型用实体-联系图来可视化地表达出来,矩形框代表实体,菱形框代表联系,实体通过联系互相联系构成完整的数据结构。属性描述实体的特性,学生用户有姓名、学号、活跃度等属性,课程笔记有标题、关键词、审核状态等特征。实体间的关系分为一对一、一对多、多对多三种形式,选课关系把学生和课程联系成多对多关系,笔记上传是学生和笔记的单向联系。根据以上分析绘制出全局的E-R模型,为后面逻辑模型的设计提供依据。杨露18认为知识图谱研究中实体关系建模对于学习资源组织来说十分重要,其方法论可以给本系统数据结构抽象层次的理解提供指导。基于以上分析,绘制全局E-R模型如图4-8所示,为后续逻辑模型设计提供依据。

图4-8全局ER图

  根据系统分析,系统的主要实体有学生用户、教师用户、管理员、课程笔记、论坛帖子、课程资料、排课信息、笔记评价、举报记录、评论,各个实体具体的属性如下图所示。

  学生用户实体主要包括学生姓名、学生学号、个人简介、学生活跃度等。如图4-9所示。

图4-9学生用户实体属性图

  教师用户实体主要包括教师姓名、教师工号、教师活跃度、审核状态等。如图4-10所示。

图4-10教师用户实体属性图

  管理员实体主要包括用户名、密码、创建时间、更新时间等。如图4-11所示。

图4-11管理员实体属性图

  课程笔记实体主要包括笔记标题、关键词语、课程章节、审核状态等。如图4-12所示。

图4-12课程笔记实体属性图

  论坛帖子实体主要包括帖子标题、帖子标签、话题分类、审核状态等。如图4-13所示。

图4-13论坛帖子实体属性图

  课程资料实体主要包括资料标题、资料类别、教师姓名、资料文件等。如图4-14所示。

图4-14课程资料实体属性图

  排课信息实体主要包括排课标题、课程名称、上课地点、排课安排等。如图4-15所示。

图4-15排课信息实体属性图

  笔记评价实体主要包括评分星级、评价标签、评价内容、学生姓名等。如图4-16所示。

图4-16笔记评价实体属性图

  举报记录实体主要包括举报标题、举报内容、处理回复、发布学生等。如图4-17所示。

图4-17举报记录实体属性图

  评论实体主要包括评论内容、昵称、头像、创建时间等。如图4-18所示。

图4-18评论实体属性图

4.4.2 数据库逻辑设计

  逻辑模型设计阶段把概念模型中的实体和联系转换成关系数据库支持的表结构。每一个实体映射成一张数据表,实体属性对应表的字段,联系用外键字段或者独立的关系表来表示。表结构设计按照规范化理论,利用字段拆分来消除数据冗余和更新异常。主键字段用自增整数类型来保证记录的唯一性,外键字段和关联表的主键一一对应来保证参照完整。索引设计主要针对高频查询字段来提高检索速度,课程编号、笔记标题、发布日期等字段创建普通索引以加快筛选操作。字符类型字段长度根据业务含义合理设置,学号工号类字段设为30字符,姓名类字段设为50字符,状态标识类字段设为20字符,内容类字段用text类型存储。字段命名使用下划线分隔的英文形式,符合数据库系统的要求,并且具有可读性。张小红19认为在线平台的设计中数据结构设计会影响系统的性能,合理的表结构可以降低应用层的逻辑复杂度。逻辑模型设计结果产生具体的数据库表定义,给系统实现阶段的数据库创建赋予依据。

  学生用户表主要用于存储注册学生的基本信息与账户状态。主要包括学生姓名、学生学号、个人简介、学生活跃度等字段。如表4-1所示。

表4-1学生用户表

序号 字段名 数据类型 长度 备注
1 学生用户id int 11 主键
2 学生姓名 varchar 50 姓名
3 学生学号 varchar 30 学号
4 个人简介 varchar 200 简介
5 学生活跃度 varchar 50 活跃度
6 审核状态 varchar 20 状态
7 用户id int 11 关联账户
8 创建时间 datetime - 创建时间
9 更新时间 timestamp - 更新时间

  教师用户表主要用于存储教师的基本信息与教学关联数据。主要包括教师姓名、教师工号、教师活跃度、审核状态等字段。如表4-2所示。

表4-2教师用户表

序号 字段名 数据类型 长度 备注
1 教师用户id int 11 主键
2 教师姓名 varchar 50 姓名
3 教师工号 varchar 30 工号
4 教师活跃度 varchar 50 活跃度
5 审核状态 varchar 20 状态
6 用户id int 11 关联账户
7 创建时间 datetime - 创建时间
8 更新时间 timestamp - 更新时间

  课程笔记表主要用于存储学生上传的笔记内容与相关属性。主要包括笔记标题、关键词语、课程章节、审核状态等字段。如表4-3所示。

表4-3课程笔记表

序号 字段名 数据类型 长度 备注
1 课程笔记id int 11 主键
2 学生用户 int 11 外键
3 学生姓名 varchar 50 姓名
4 课程编号 varchar 30 编号
5 课程名称 varchar 100 名称
6 课程类型 varchar 50 类型
7 课程章节 varchar 100 章节
8 笔记标题 varchar 200 标题
9 关键词语 varchar 200 关键词
10 审核状态 varchar 20 状态
11 创建时间 datetime - 创建时间
12 更新时间 timestamp - 更新时间

  论坛帖子表主要用于存储用户发布的讨论内容与互动信息。主要包括帖子标题、帖子标签、话题分类、审核状态等字段。如表4-4所示。

表4-4论坛帖子表

序号 字段名 数据类型 长度 备注
1 论坛帖子id int 11 主键
2 发布学生 int 11 外键
3 帖子标题 varchar 200 标题
4 帖子标签 varchar 100 标签
5 话题分类 varchar 100 分类
6 帖子内容 text 65535 内容
7 审核状态 varchar 20 状态
8 发布日期 date - 日期
9 点击数 int 11 点击
10 点赞数 int 11 点赞
11 创建时间 datetime - 创建时间
12 更新时间 timestamp - 更新时间

  课程资料表主要用于存储教师上传的教学文件与相关描述。主要包括资料标题、资料类别、教师姓名、资料文件等字段。如表4-5所示。

表4-5课程资料表

序号 字段名 数据类型 长度 备注
1 课程资料id int 11 主键
2 资料标题 varchar 200 标题
3 资料类别 varchar 100 类别
4 课程编号 varchar 30 编号
5 课程名称 varchar 100 名称
6 教师用户 int 11 外键
7 教师姓名 varchar 50 姓名
8 资料文件 varchar 255 文件
9 所属专业 varchar 100 专业
10 点击数 int 11 点击
11 创建时间 datetime - 创建时间
12 更新时间 timestamp - 更新时间

  排课信息表主要用于存储课程安排的时间地点等详细信息。主要包括排课标题、课程名称、上课地点、排课安排等字段。如表4-6所示。

表4-6排课信息表

序号 字段名 数据类型 长度 备注
1 排课信息id int 11 主键
2 排课标题 varchar 200 标题
3 课程名称 varchar 100 名称
4 上课地点 varchar 200 地点
5 班级名称 varchar 200 班级
6 排课教师 varchar 200 教师
7 排课安排 text 65535 安排
8 时间设置 text 65535 时间
9 点击数 int 11 点击
10 创建时间 datetime - 创建时间
11 更新时间 timestamp - 更新时间

  笔记评价表主要用于存储学生对课程笔记的评分与评语。主要包括评分星级、评价标签、评价内容、学生姓名等字段。如表4-7所示。

表4-7笔记评价表

序号 字段名 数据类型 长度 备注
1 笔记评价id int 11 主键
2 学生用户 int 11 外键
3 学生姓名 varchar 50 姓名
4 课程编号 varchar 30 编号
5 课程名称 varchar 100 名称
6 笔记标题 varchar 200 标题
7 评分星级 varchar 20 星级
8 评价标签 varchar 100 标签
9 评价内容 text 65535 内容
10 创建时间 datetime - 创建时间
11 更新时间 timestamp - 更新时间

  举报记录表主要用于存储用户对违规内容的投诉信息与处理状态。主要包括举报标题、举报内容、处理回复、发布学生等字段。如表4-8所示。

表4-8举报记录表

序号 字段名 数据类型 长度 备注
1 举报记录id int 11 主键
2 发布学生 int 11 被举报人
3 帖子标题 varchar 200 标题
4 帖子标签 varchar 100 标签
5 话题分类 varchar 100 分类
6 举报学生 int 11 举报人
7 举报标题 varchar 200 标题
8 举报内容 text 65535 内容
9 处理回复 text 65535 回复
10 创建时间 datetime - 创建时间
11 更新时间 timestamp - 更新时间

  评论表主要用于存储用户在笔记或帖子中发表的评论文本与关联信息。主要包括评论内容、昵称、头像、创建时间等字段。如表4-9所示。

表4-9评论表

序号 字段名 数据类型 长度 备注
1 评论id int 11 主键
2 评论人id int 11 外键
3 评论内容 text 65535 内容
4 昵称 varchar 50 昵称
5 头像 varchar 255 头像
6 来源表 varchar 255 来源
7 来源id int 11 来源id
8 创建时间 timestamp - 创建时间
9 更新时间 timestamp - 更新时间

  课程分类表主要用于存储课程的基本分类信息与属性描述。主要包括课程编号、课程名称、课程类型、所属专业等字段。如表4-10所示。

表4-10课程分类表

序号 字段名 数据类型 长度 备注
1 课程分类id int 11 主键
2 课程编号 varchar 30 编号
3 课程名称 varchar 100 名称
4 课程类型 varchar 50 类型
5 所属专业 varchar 100 专业
6 课程学分 double - 学分
7 班级名称 varchar 100 班级
8 上课教室 varchar 100 教室
9 创建时间 datetime - 创建时间
10 更新时间 timestamp - 更新时间

4.5 可视化设计

4.5.1 课程笔记数量动态折线图

  课程笔记数量动态折线图是反映各个学生在各门课程中上传笔记数量分布情况的图形。横轴为课程名称,纵轴为笔记上传次数,用不同的折线来表示各个学生个体的上传行为。数据聚合之后以学生姓名列表、课程名称列表为依托,对所有笔记记录进行遍历,统计出每个学生在每一个课程上上传的总数量。动态折线图具备交互缩放、数据提示的功能,在数据点上单击右键就会弹出一个窗口显示该学生姓名、课程名称和上传的数量。图表配色使用柔和渐变色系,不同的折线用颜色和图例两种方式来区分,防止出现视觉混乱的情况。权限控制逻辑根据用户组别动态拼接查询条件,学生用户只看到自己的数据,教师用户可以查看所授课程范围内的学生笔记统计。该可视化模块给教师掌握学生课程参与度提供直观的依据,也给学生横向比较学习投入情况提供参考。课程笔记数量统计图4-19。

图4-19课程笔记数量统计图

4.5.2 学生活跃度南丁格尔玫瑰图

  学生活跃度统计用南丁格尔玫瑰图来反映各个活跃层次的学生分布情况。活跃度字段取自学生用户表的学生活跃度属性,数据聚合按照活跃度值分组统计人数。玫瑰图用扇形半径长度来表示数量的多少,各个扇区的角度相等代表不同的活跃度类别,在视觉上突出数量的差异同时保持分类的完整性。图表中心区域设置总数显示,鼠标悬停扇区会弹出详细类别名称和对应人数。数据更新策略使用按需加载的方式,页面初始化的时候异步请求后端分组接口,返回结果动态渲染图表。活跃度分为高频活跃、中等活跃、低频活跃等几个层次,分类规则由系统管理员在后台参数设置中设定。该种可视化设计可以使得学生管理者快速了解用户的活跃度分布情况,为之后激励策略的制定提供数据支持。学生活跃度统计图见图4-20。

图4-20学生活跃度统计图

4.5.3 教师活跃度圆环图

  教师活跃度统计用圆环图来表示各个活跃等级教师所占的比例。圆环图用空心圆来表示教师总数,外圈分成若干个扇区代表不同的活跃度。每个扇区的弧长比例体现该类教师所占的比例,扇区内标注百分比数值使可读性更好。数据来自于教师用户表的教师活跃度字段,后端聚合接口根据活跃度值分组统计得到计数结果。图表初始化之后就存在实时刷新的机制,教师活跃度数据有变动的时候可以手动触发刷新。圆环图配色用冷暖对比的色调,重要的类别用饱和度高的颜色来突出显示,次要的类别用柔和的色调来平衡视觉。该可视化模块给教学管理人员评判教师参与度赋予量化视角,也给教师个人察看自身活跃程度排名赋予参照。教师活跃度统计图见图4-21。

图4-21教师活跃度统计图

4.5.4 热门课程笔记标签玫瑰图

  热门课程笔记统计用笔记标记字段创建词频可视化图表。玫瑰图用笔记标记作为分类标准,各个标记下面的笔记数量决定扇区半径的长度,从而产生中心向四周辐射的效果。数据聚合根据笔记标记分组统计记录条数,按顺序显示数量前10的热门标签,不显示过多的数据使图表简单美观。图表交互支持点击扇区下钻查看该标记下的具体笔记列表,使统计图表和业务数据可以联动跳转。标记来源有学生自己选择的笔记标记和管理员后台维护的预设标记体系两种。玫瑰图配色方案用渐变填充,从内向外颜色加深来加强视觉层次感。该种可视化设计可以使得学生很快地找到目前流行的笔记类型,从而促使优质笔记的产生和传播。热门课程笔记统计图如图4-22所示。

图4-22热门课程笔记统计图

第五章 系统详细设计与实现

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.1.7 评论管理

  评论管理模块集中展示学生个人发表的全部评论内容。列表按创建时间倒序排列,每条评论显示评论来源、评论内容、创建时间与更新时间。来源字段以超链接形式呈现,点击后直接跳转至被评论的原始笔记或帖子。列表顶部提供搜索框,学生可按昵称或评论内容关键词筛选历史记录。每条评论右侧设置删除按钮,点击后系统提示确认操作,删除后对应原始内容的评论计数自动减一。评论管理界面如图5-7所示。

图5-7评论管理界面

5.2 管理员角色功能实现

5.2.1 课程资料管理

  管理员通过课程资料管理模块维护系统中所有教学资源。列表页以表格形式展示资料标题、教师姓名、课程编号、上传时间等信息,每行附带详情查看与评论查看操作入口。顶部搜索栏支持按教师姓名或课程编号筛选资料,查询条件支持组合使用。管理员可对违规资料执行删除操作,删除前系统二次确认避免误删。新增资料功能提供表单填写资料标题、类别、所属专业等属性,同时上传资料文件与设置可见范围。课程资料管理界面如图5-8所示。

图5-8课程资料管理界面

5.2.2 课程笔记管理

  课程笔记管理模块处理学生笔记的审核与维护工作。列表页展示所有笔记记录,关键字段包括笔记标题、笔记标记、审核状态、创建时间等。审核状态列设置下拉筛选框,管理员可按待审核、已通过、已驳回快速定位记录。每条笔记提供详情查看、评价浏览、预览笔记文件等操作入口。批量审核功能勾选多条待审核笔记后一次性通过或驳回,提升处理效率。笔记标记管理维护预设的分类标签,供学生上传笔记时选择使用。课程笔记管理界面如图5-9所示。

图5-9课程笔记管理界面

5.2.3 笔记评价管理

  笔记评价管理模块汇总学生对课程笔记的全部评分数据。列表页按评价时间倒序排列,每条记录显示学生姓名、课程编号、课程名称、评分星级等核心信息。管理员点击详情进入评价完整内容页,可查看评价标签选择与评价内容文字。对于包含不当言论的评价,管理员执行隐藏操作使其在前台不可见,同时记录操作日志。评分统计分析功能按课程维度汇总平均星级与评价数量分布,生成可视化图表辅助了解笔记质量。笔记评价管理界面如图5-10所示。

图5-10笔记评价管理界面

5.2.4 论坛帖子管理

  论坛帖子管理模块对论坛内容进行日常的监管和维护。列表页显示所有的帖子,主要的列有帖子标题、发布者、话题分类、审核状态等。顶部搜索可以按照帖子标签或者话题进行筛选,查询结果会实时更新。管理员对新发布的帖子进行预览完整的文本以及附件图片,确认无误之后再进行审核,使该帖子可以被所有人看到。违规帖子执行删除操作并记录删除原因,系统自动向发帖人发出通知。置顶功能把重要的帖子放在列表的最上面,推荐功能在首页的热门区域显示精选的内容。论坛帖子管理界面如图5-11所示。

图5-11论坛帖子管理界面

5.2.5 举报记录管理

  举报记录管理模块跟踪处理用户提交的所有违规报告。列表页按举报时间倒序排列,每条记录显示举报学生、举报标题、被举报帖子标题等关键信息。状态列区分待处理与已处理,管理员优先处理待处理记录。点击详情进入处理页面,上下分屏展示举报内容与被举报帖子原始内容,管理员核实后选择处理方式。处理回复文本框填写处理结果说明,提交后系统更新举报状态并向举报学生发送反馈。举报记录管理界面如图5-12所示。

图5-12举报记录管理界面

5.2.6 排课信息管理

  排课信息管理模块是对学校课程安排基础数据进行维护的模块。列表页用表格的形式来显示排课标题、课程名称、周课时安排等信息,每一条都有查看详情以及编辑操作的入口。批量导入功能可以按照模板格式上传Excel文件,一次生成多条排课记录,减少手工录入的工作量。新增排课时添加排课标题、课程名称、上课地点、排课教师等基本信息,时间设置组件选择具体的周和周期。已经实现了排课支持编辑、删除操作,修改记录保存历史版本以备查阅。排课信息管理界面如图5-13所示。

图5-13排课信息管理界面

5.3 教师角色功能实现

5.3.1 课程资料查看

  教师进入课程资料模块浏览自己上传及其他教师分享的教学资源。列表页采用卡片式布局展示资料标题、所属专业、资料类别等信息,每个卡片标注上传教师姓名与上传时间。搜索功能支持按课程名称或资料标题输入关键词筛选,结果列表即时更新。排序选项切换按资料类别、发布日期、热度等不同维度重新组织展示顺序。点击卡片进入详情页,预览资料详情描述与文件内容,教师可下载文件保存到本地或转发分享给学生。课程资料查看界面如图5-14所示。

图5-14课程资料查看界面

5.3.2 课程笔记查看

  课程笔记查看功能使教师能够翻阅学生整理的各课程笔记。列表页按最近更新排序展示笔记标题、学生姓名、课程名称、关键词语等摘要信息。顶部搜索栏支持按笔记标题或笔记标记筛选,标记选项包括普通笔记、重点笔记、课程作业等分类。教师点击单条笔记进入详情页,完整阅读笔记内容与查看上传的附件文件。笔记详情页底部显示该笔记收到的评价统计,教师可了解学生对课程内容的掌握情况。课程笔记查看界面如图5-15所示。

图5-15课程笔记查看界面

5.3.3 论坛帖子查看

  教师通过论坛帖子查看模块参与校园学术讨论与话题互动。帖子列表页按发布时间倒序排列,展示帖子标题、发布学生、发布日期、帖子标签等信息。分类标签切换快速定位课程讨论、学术交流、校园活动等不同话题区域。搜索功能支持按标题关键词或标签名称精确查找,排序选项切换按热度或最新回复重新排列。点击帖子进入详情页,教师可阅读完整内容与已有回复,底部评论框参与讨论发表教师观点。论坛帖子查看界面如图5-16所示。

图5-16论坛帖子查看界面

5.3.4 排课信息查看

  排课信息查看模块为教师提供个人授课安排的清晰视图。列表页默认显示当前学期该教师负责的全部课程排课,每个排课项呈现课程名称、上课地点、排课标题等基础信息。搜索功能支持按排课标题或课程名称筛选定位,筛选结果实时刷新。点击单条记录进入详情页,完整展示排课安排时间表,包括每周具体节次、教室分配、起止周次等信息。页面提供导出功能将个人课表保存为图片或PDF文件,方便教师离线查阅。排课信息查看界面如图5-17所示。

图5-17排课信息查看界面

5.3.5 笔记评价查看

  笔记评价查看功能汇总教师所授课程笔记收到的学生评价。列表页按评价时间倒序排列,每条记录显示学生姓名、笔记标题、评分星级、评价标签等核心信息。教师点击详情进入评价完整页,查看评价内容文字与评价时间。统计分析模块按课程维度汇总平均评分与评价数量,生成趋势图表反映不同章节笔记的反馈差异。对于优质笔记,教师可在查看页面标记推荐,标记后笔记在课程列表中获得优先展示。笔记评价查看界面如图5-18所示。

图5-18笔记评价查看界面

5.3.6 评论管理

  评论管理模块集中处理教师个人在系统中发表的所有评论内容。列表按创建时间倒序排列,每条评论显示评论来源、评论内容、创建时间与更新时间。来源字段以超链接形式呈现,点击后直接跳转至被评论的原始笔记或帖子。搜索框支持按昵称或内容关键词筛选历史评论,快速定位特定讨论。删除操作移除教师发布的不当评论,删除后对应原始内容的评论计数自动更新。评论管理界面如图5-19所示。

图5-19评论管理界面

第六章 系统测试

6.1 测试目的

  系统测试环节检验各个功能模块和业务需求规格的契合情况,用模拟真实的用户操作场景来找出设计实现阶段遗留的缺点。测试过程对功能模块间的数据流转一致性进行检验,看学生笔记上传之后管理员是否能正确审核,审核结果能否及时反馈给学生端。边界条件测试主要对输入框长度限制、文件上传格式、并发操作响应等进行测试,保证系统出现异常输入的时候具有一定的容错性。业务规则匹配度测试就是检验审核流程、举报处理、评价限制等逻辑是否符合设计要求的测试。20陈俊认为测试可以保证系统稳定,他的测试方法论可以给本系统功能验证提供参考。全链路测试就是指用户从注册登录到核心功能操作全部流程,经过多次迭代测试来减少缺陷的数量,保证系统上线之后的稳定性、可靠性。

6.2 测试方法

  功能测试使用黑盒测试法,测试人员按照需求文档设计测试用例,不考虑内部实现情况来检验输入输出是否符合预期。测试用例要覆盖正常的操作路径和异常的输入场景,每一个功能点都要设计出三个正向用例和两个负向用例。集成测试主要考察模块之间的接口调用以及数据传递是否正确,测试学生端笔记发布之后管理员端列表更新、评论发表之后原始内容计数增加等跨模块交互。浏览器兼容性测试使用Chrome、Firefox、Edge等主流浏览器进行界面布局和交互功能的测试,保证各个浏览器下表现的一致性。响应式测试对浏览器窗口尺寸进行模拟,即模拟不同分辨率的设备来保证主要功能可以在平板和手机上正常使用。对每一个用例执行结果及缺陷重现步骤做测试过程记录,修复完成后再次进行回归测试直到问题关闭为止。

6.3 测试用例

  课程笔记上传功能测试如表6-1所示。

表6-1课程笔记上传功能测试表

测试内容 测试步骤 预期结果 实际结果
正常笔记上传 填写完整笔记信息,上传封面与文件,点击提交 系统提示提交成功,笔记进入待审核列表 符合预期
必填项缺失 不填写笔记标题,其他项完整,点击提交 系统提示标题不能为空,阻止提交 符合预期
文件格式校验 上传非允许格式文件作为笔记附件 系统提示格式不支持,文件未上传成功 符合预期
审核状态流转 管理员通过笔记后学生端查看状态 笔记状态变为已通过,前台可见 符合预期
笔记内容修改 已驳回笔记修改后重新提交 重新进入待审核流程,原内容保留 符合预期

  论坛帖子举报功能测试如表6-2所示。

表6-2论坛帖子举报功能测试表

测试内容 测试步骤 预期结果 实际结果
正常举报提交 选择帖子点击举报,填写举报内容提交 生成举报记录,状态为待处理 符合预期
重复举报限制 同一用户对同一帖子多次举报 系统提示已举报,不生成重复记录 符合预期
管理员处理举报 管理员核实举报内容后执行删除帖子 帖子前台隐藏,举报状态更新为已处理 符合预期
举报结果反馈 管理员填写处理回复后提交 举报学生查看记录时可见回复内容 符合预期
举报记录查询 学生按举报标题搜索历史记录 搜索结果匹配关键词,列表刷新 符合预期

  笔记评价功能测试如表6-3所示。

表6-3笔记评价功能测试表

测试内容 测试步骤 预期结果 实际结果
正常评价提交 选择评分星级,填写评价内容提交 评价成功,笔记评论数增加 符合预期
评分缺失校验 不选择星级直接提交评价 系统提示请选择评分星级 符合预期
评价内容长度 输入超过限制字数的评价内容 系统提示内容过长,截断或阻止提交 符合预期
评价显示验证 提交后返回笔记详情页查看 新评价出现在评论列表最上方 符合预期
评价管理删除 在评论管理中删除已发表评价 评价消失,笔记评论数减一 符合预期

  排课信息查询功能测试如表6-4所示。

表6-4排课信息查询功能测试表

测试内容 测试步骤 预期结果 实际结果
关键词搜索 输入排课标题部分关键词 列表显示标题包含关键词的记录 符合预期
课程名称筛选 选择特定课程名称筛选 仅显示该课程相关的排课记录 符合预期
组合条件查询 同时使用搜索与筛选条件 结果同时满足两个条件 符合预期
排序功能验证 按发布日期倒序排序 最新发布的排课排在最前 符合预期
详情页跳转 点击列表中的排课记录 进入详情页显示完整安排 符合预期

  评论管理功能测试如表6-5所示。

表6-5评论管理功能测试表

测试内容 测试步骤 预期结果 实际结果
评论列表加载 进入评论管理模块 显示当前用户全部评论,按时间倒序 符合预期
来源跳转验证 点击评论来源链接 跳转至被评论的原始内容页 符合预期
关键词搜索 输入评论内容关键词 列表显示包含关键词的评论 符合预期
单条删除操作 点击评论右侧删除按钮并确认 评论消失,原始内容评论数更新 符合预期
批量删除功能 勾选多条评论后点击批量删除 选中评论全部移除 符合预期

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

相关推荐
卷无止境1 小时前
用Rust重写:三条清晰的收益曲线
后端·rust
代码山河1 小时前
JDK、JRE、JVM的区别:一文讲清楚Java运行环境
java·学习·架构·教程·面向对象·项目
深入云栈1 小时前
Netty 4.2.x 源码深度解析 (十七):Channel 底层读写 —— Unsafe 的 I/O 操作内核
java·后端·架构
DS小龙哥1 小时前
STM32+华为云IoT+Qt:手把手教你打造跨平台智能家居控制系统
后端
Elastic 中国社区官方博客1 小时前
AWS 自动化根因分析:从 CloudWatch 告警到完成故障诊断,仅需 36 秒
大数据·运维·elasticsearch·自动化·aws
OpsEye1 小时前
上线大模型只是第一步,用好 AI 离不开完整的成本管控
javascript·ai编程
量化分析码农1 小时前
【Python量化策略评估体系 #02】5 个因子,谁真贡献 Alpha?单因子归因 + MPA 多因子分解实战
后端
SimonKing1 小时前
Qoder中Qwen3.8-Flash 限时免费使用
java·后端·程序员