基于微信小程序的学科竞赛管理系统的设计与实现
摘要
在高校学科竞赛活动越来越频繁的背景下,目前的管理模式大多依靠线下或者零散的信息化工具,造成信息发布渠道分散、数据统计困难、师生互动不畅,不能满足高效协同的组织需求。因此创建一个集信息聚合、流程管理、师生互动为一体的专用平台就显得尤为迫切。本文设计并实现了一款基于微信小程序的学科竞赛管理系统。系统使用前后端分离架构,前端使用Vue框架开发微信小程序界面,后端使用SpringBoot框架创建RESTful API,数据库用MySQL持久化数据,开发环境为IntelliJ IDEA。系统分为学生端、教师端、管理员端,学生端可以观看比赛信息、报名参赛、交流评论、查看练习资料、查看比赛成绩等功能;教师端可以查看比赛和资源的信息,审核参赛学生的报名情况,查看作品,了解名次;管理员端可以增加、删除或修改学科种类、赛事信息、参赛学生报名、学生提交的作品、训练资料和排名等信息。系统整合了业务流程,从信息发布、成果归档全部实行线上管理。系统测试结果表明平台运行稳定,可以整合竞赛相关各种信息和流程。它的优点可以提高信息传播以及事务处理的效率,有利于师生之间的交流;缺点是没有解决通知机制的实时性。该系统给高校学科竞赛的组织和参与提供集中化的信息共享、协作支持。
关键词:微信小程序;学科竞赛管理;SpringBoot;Vue;MySQL
Universities have more frequent disciplinary competition activities, the academic performance management model is highlighted the limitation of current management models, These are generally based on offline or fragmented pieces of information tools. Disperses information channels, makes it hard to keep statistical information, and teachers and students have a hard time interacting, so it is inconvenient to achieve high-efficiency cooperation. So it's very important to create an own dedicated platform that can collect info and do processes plus communicate with users. This research has set up and carried out a management system of the competition in the form of Wechat mini programs. The system uses a front and back end structure. front uses vue framework to develop the mini program’s page front-end, back-end uses springboot framework to develop the RESTful API, use MySQL as database, IntelliJ IDEA as development environment. Core system, three different roles: student role, it can provide students with browsing competition information, online event registration, comment interaction, viewing training resource information, querying award ranking information. on the teacher module, you can provide teachers with browsing competition information, resource information, review students’ competition registration, browse students’ submitted works, and track the competition’s ranking information. administrator module is to provide administrator with comprehensive background system data management, including subject category information management, competition information management, registration record information, work submission information, training resource information, award ranking information. The system realizes the entire life cycle online management from the release of information to the archiving of results through the integration of business process: System testing shows stable platform operation, effectively consolidating various types of competition-related information and processes. It is strong in improving the efficiency of information spread and transactions. It also helps in facilitating the conversation between teachers and students. A limitation is that it can be enhanced in terms of real-time performance for notifications. System provides unified information sharing and cooperation so that can organize and take part in university disciplinary contest
Key words:WeChat Mini Program, Disciplinary Competition Management, Spring Boot, Vue, MySQL
目录
长久以来,高校学科竞赛的组织管理工作依靠人工操作。竞赛通知以张贴海报或者发送邮件的形式进行传播,信息的准确性和传播范围受到人力的限制。学生报名依靠纸质表格填写、递交,数据汇总、整理耗时较多,之后的评审协调、资源分配、成果归档等也基本沿用传统的办公流程。该类模式不能应对竞赛信息量剧增、跨校区团队合作越来越频繁、师生对即时反馈的要求越来越高这样的现状。数据统计滞后、资源配置不均、信息流通不畅成了常态,降低了管理效率,也会降低师生的参与体验。计算机技术的普及、移动互联网技术的应用、数据库技术的发展等都给信息的传输和处理方式带来了根本性变革,因此业务流程的数字化重组才成为可能[1]。现有的人工管理模式对于复杂的多变的竞赛事务显得无能为力,缺少统一的数据平台造成信息孤岛严重,已经成为制约学科竞赛规模化、规范化发展的主要障碍。就行业发展来说,学科竞赛是创新人才培养的重要环节,学科竞赛管理模式的现代化是教育信息化发展的必然要求。随着国家对创新型人才的培养越来越重视,高校内部教学实践环节绩效考核的规范化需求也越来越大,因此一个整合资源、优化流程、提供数据支持的专用管理系统变得不可或缺。高校之间也存在着竞争,而这种竞争也促使了管理手段的革新,高效、透明的竞赛管理成了展示教学实力、吸引优质生源的重要因素。从师生需求看,他们希望得到即时的、准确的信息推送,希望有一个便捷的参与渠道,希望个人的成果能够有系统性的记录,这促使开发新系统的急迫性。
该系统给学科竞赛活动创建起标准化的线上管理架构。代替了纸质表格流转,信息发布和获取在分秒内就可以完成,报名数据提交、整理由后台程序自动处理。大大地压缩了事务性工作的时间,使管理者、参与者能将精力集中到竞赛的内容本身上。人力投入明显减少的时候,数据统计的准确性和及时性才得到根本的保证,资源配置的依据由经验判断变为客观数据。管理者可以对各个赛事的实时情况(参与热度、进度分布、资源消耗等)有清楚的了解,这给科学决策打下了良好的基础。使竞赛服务发生改变的是师生交流不再受时间地点的限制,从查询信息、成果展示到整个过程都在一个统一的平台上流畅地开展。服务响应速度变快,过程透明度提高,用户体验改善直接提高了师生参加竞赛的积极性和满意度。就整个教育领域而言,该系统所进行的实践探索给其他实践教学活动的管理提供了一个可以参照的范例。它体现出怎样把具体的业务流程转变成稳定的信息系统功能,推进高校内部教学管理环节的信息化整合进程。系统积累下来的竞赛数据,即历年参赛情况、项目成果、获奖分布等就形成了一个非常宝贵的教育素材库。经过分析的数据可以反哺人才培养方案的优化,给教学改革提供量化的依据,其价值远远大于事务管理本身,对学科建设、教学质量的提高产生深远的影响。
国内对于学科竞赛管理的研究,伴随着高校教育信息化进程而不断加深。早期的做法是用校园网的静态页面发布竞赛通知,例如清华大学等高校曾经设立专门的学科竞赛网站只供信息公布。该类系统数据管理依靠后台手工更新,交互性差。随着校园一卡通普及、教务系统功能的扩展,部分高校开始尝试把竞赛报名环节嵌入到现有的教务系统中。浙江大学本科生科研训练与学科竞赛管理平台把项目申请、中期考核、成果评定的流程集中在一起,并且一些数据实现了网上的传递[2]。该系统依靠学校统一身份认证系统创建,其中的教师审批、经费管理等各个功能模块陆续上线,实现了流程线上化的初步尝试。大型竞赛组织机构,比如中国“互联网+”大学生创新创业大赛组委会,它的官方平台就承担着团队注册、作品上传、网络评审等主要工作。平台结构是多层次的,经过多次升级来应对参赛人数突然激增的情况,在高峰期可以处理百万次以上的访问请求。平台在作品查重、在线评审的过程中加入了某种技术手段保证竞赛过程的规范有序。一些科技公司也加入进来,开发通用型竞赛管理软件。北京某公司推出的赛氪平台为各类、各种赛事提供在线报名、缴费、评审服务,它体现出竞技类赛事管理市场化社会化供给的趋势。这些系统大多采用B/S架构,后端大多使用Java或者Python语言开发,数据库大多使用MySQL或者PostgreSQL。微信小程序生态成长给竞赛管理开辟了新的道路。部分高校开始试行用小程序开发轻量级的应用,实现竞赛信息推送、扫码签到、成绩速查等功能。这些尝试主要体现移动端便捷的特点,主要是对已有管理系统功能进行的延伸与补充,并没有形成竞赛全流程完整的解决方案[3]。国内研究由信息发布到流程整合,由PC端到移动端的发展脉络十分明显。
国外高等教育领域对竞赛以及学术活动的管理开始得比较早,相应的软件产品也已形成一定的市场格局[4]。美国软件公司InfoReady开发的ReviewReady平台,主要是对高校内部各类竞赛、奖学金、内部资助项目进行全周期的管理。该系统可由管理员自定义申请表单以及评审流程,并且系统中的自动工具可以完成分摊评审任务及发送邮件通知的任务,在密歇根大学等很多学校内被采用。另外具有代表性的平台是英国Symplicity公司所创建的CSM系统,它最初的定位是职业服务系统,后来增加了学生奖项与竞赛管理模块。设计理念就是同已有学生信息系统的紧密结合,达成数据同频的效果,从而消除信息孤岛现象。开源社区提供解决方案。起源于麻省理工学院的OpenWeb项目给竞赛管理提供了基础框架,机构可以根据自己的需要做定制开发,体现出了开源软件在学术领域里的适应能力[5]。在大型国际学科竞赛的组织中,比如国际大学生程序设计竞赛的官方管理系统长久以来就承担着全球数千支队伍的注册、资格赛、世界总决赛的组织工作。该系统在技术上要面对的条件是多个时区、多种语言界面等,需要有较高的稳定性和安全性。一些商业化的通用型在线表单和评审系统,比如SurveyMonkey Apply、FlexiGrant,也被许多国外的高校和基金会用来管理小型竞赛或者资助项目。这些平台具有很高的工作流引擎的配置性,可以实现复杂的多阶段评审打分设置,其设计思想对竞赛管理软件的开发产生影响[6]。从技术路径来看,国外的系统更早地使用云计算服务进行部署,微服务架构的应用也更加普遍,来满足不同的客户群体的差异化需求。伴随着移动互联网的发展,各种平台推出了功能完善的移动应用,而专门针对超级应用轻量化平台做深度开发的应用却很少。
Java语言属于面向对象的通用编程语言,程序结构以类和对象为基本单位,用继承、封装、多态等机制组织代码逻辑。Java语言运行时需要Java虚拟机,将源代码编译成字节码,在虚拟机中执行,因此具有跨平台性。它包含大量标准库,其中的数据结构、输入输出、网络通信、线程管理、异常处理等许多功能可以让应用程序在各种情况下对数据进行处理和逻辑运算[7]。Java的类型系统和接口机制,在开发阶段就可以对代码进行严格的类型检查和逻辑约束,有利于创建出模块化、易于维护的软件架构。
系统开发过程中一般用Java编写服务端逻辑、处理业务请求和进行数据交互。依靠多线程以及内存管理机制,Java可以很好地处理并发请求以及复杂的运算[8]。生态系统中有很多开源框架和工具可以实现依赖注入、事务管理、日志控制、安全验证等功能。Java语言类加载机制、运行时管理策略可以按照业务需求装载模块,调节逻辑来保证微信小程序后台服务稳定运行。成熟的生态给前端小程序系统提供可靠的后端支撑环境。
uni-app是一个跨平台应用开发框架,它是基于前端技术体系建立起来的。它的思想是用统一的代码结构来生成可以运行在多端的应用程序,即Web、App和各种小程序。框架用组件化设计模式来创建页面和逻辑,使用Vue风格的语法来实现数据驱动的界面渲染[9]。开发者可以利用模板和脚本在同一个项目里定义视图、逻辑、样式,框架在编译阶段把源代码转化成各个平台可以识别的结构和脚本,实现跨平台兼容。uni-app提供了很多系统API接口,可以实现页面跳转、数据请求、文件操作、媒体处理、本地存储等功能,可以实现较为复杂的应用逻辑。
在实际项目中,uni-app用模块化的方式组织页面和业务逻辑,使得不同功能模块可以独立开发和调试。框架在运行时对不同的平台进行适配,把渲染引擎、事件处理、组件调用映射到对应平台的环境上,使应用在各个终端上表现一致。给开发者提供调试工具、运行环境模拟功能,可以测试、优化应用的多平台行为[10]。uni-app的跨端特性使它在构建微信小程序系统的时候可以统一前端逻辑,与后端服务交互来完成整个业务流程。
微信小程序是在微信平台内部运行的轻量级应用体系,结构上分为视图层、逻辑层、系统接口层。视图层用特有标记语言来定义界面结构,用数据绑定机制来实现动态内容的呈现。逻辑层用脚本语言处理用户交互事件、页面生命周期管理以及数据计算操作[11]。系统接口层完成微信平台的通信以及能力的调用,网络请求、文件管理、媒体处理、地理位置获取、用户身份认证等。小程序用配置文件注册页面、声明权限和描述应用信息完成初始化加载和结构组织。平台依靠消息机制来协调视图层和逻辑层的数据交流,从而维持应用运行独立、一致。
微信小程序可以利用云开发能力实现后端逻辑以及数据存储的开发。应用使用云函数、云数据库,在没有独立服务器的情况下可以进行数据处理、业务操作、状态同步。页面之间用页面栈结构来管理,事件机制、状态管理工具用来组织组件之间的交互[12]。系统支持模块化页面,采用组件的方式对界面元素、逻辑单元进行复用,可以实现多功能业务模块的整合。该技术体系使得移动端的前端和后端可以完整的配合工作,从而小程序系统才有可能完成数据的处理、界面的渲染、业务逻辑的运行等任务。
Spring Boot是Java生态的应用开发框架,用于创建独立运行的后端服务,它的主要特性就是自动化配置以及约定优于配置的思想。框架使用启动器组件来整合各种依赖,用条件化装配机制来决定应用模块的加载,使得开发者在构建系统时不需要大量的手工配置。Spring Boot自带的服务器有HTTP请求处理功能,可以使得后端应用独立运行[13]。框架提供环境管理、配置文件解析、日志管理、监控接口等机制,用以对系统运行以及业务逻辑的管理。
Spring Boot用注解的方式来组织控制器、服务层、数据访问层、配置模块,实现逻辑分层、模块化管理。依赖注入,控制反转,组件解耦,扩展性好,支持多线程,事务,数据访问。框架可以和关系型数据库、非关系型数据库整合,给微信小程序系统提供稳定的后端数据管理、业务处理环境[14]。完成请求分发、执行业务逻辑、返回响应等功能,使得系统对于前端的请求做出及时的反应。
Vue框架是一个用来构建前端用户界面的组件化开发框架,它的主要特点就是数据驱动的视图更新。框架利用声明式模板将数据和界面元素进行绑定,用虚拟DOM实现界面更新的最小渲染,提高渲染效率。Vue用组件来作为逻辑单元,每个组件包含模板、数据、方法、生命周期钩子,从而使得界面和逻辑可以模块化地组织[15]。响应式机制就是当数据有变化的时候,界面上会自动的进行更新。
Vue框架用路由管理工具和状态管理工具拓展了单页应用,可以实现多页面导航、全局数据共享。组件化结构利于界面以及逻辑单元复用,状态管理器能够对全局数据进行统一的管理来保证各个模块之间数据的同步。框架同构建工具链配合起来,把打包优化后的前端应用产出,使之能在微信小程序系统里实现页面渲染、事件交互、数据展示等功能[16]。该框架的模块化、响应式特点给系统前端提供完整的逻辑组织和可维护的结构。
MySQL属于关系型数据库管理系统,被用来保存并处理结构化的数据。数据库使用表、行、列以及主键、外键、索引等约束机制来组织数据,以达到数据间逻辑关系和查询优化的目的。MySQL支持标准SQL语句,可以做数据查询、插入、修改、删除、聚合等操作[17]。数据库在执行查询的时候,会由优化器选择出执行计划,借助缓存、锁以及存储引擎的策略来加快访问速度。InnoDB等存储引擎有事务管理、数据一致性以及恢复机制,从而使得数据操作在高并发的情况下也能保证数据的完整性。
当MySQL运行的时候,用连接管理、缓冲池、日志系统来应对大量的并发请求,保证数据访问的稳定性。数据库支持多种字符集、字段类型满足不同的业务数据要求。利用触发器、视图、存储过程,在数据库端完成数据处理逻辑和自动化操作,减少应用层的工作量[18]。MySQL在微信小程序系统中作为后端的数据管理,对用户的各项信息进行存储,对业务数据进行操作,对后台数据进行查询,给前端的小程序提供可靠的数据访问接口和业务支持能力。
技术可行性上该系统采用的是已经被证明是可靠的成熟的组件。后端使用的是Spring Boot框架和Java语言,两者结合在一起具有很强的企业级应用开发能力,可以快速实现RESTful API接口以及核心业务逻辑。前端使用uni-app框架,采用Vue.js语法开发,可以编译成微信小程序平台,可以利用其原生组件和API。数据层使用MySQL关系型数据库做持久化存储和事务处理。技术文档完备、社区活跃、国内开发人才市场资源丰富、技术集成路径清晰,从技术角度看系统可行。
从操作可行性角度来讲,该系统是以用户为出发点进行设计的。微信小程序作为前端载体,其操作环境对用户来说具有较高的熟悉度和易用性,不需要安装额外的应用。uni-app界面交互流程符合通用规范。后端管理部分用Spring Boot框架进行开发,结构清晰、方便管理员对系统进行维护和管理。明显降低用户、管理员学习、操作的门槛,操作可行。
该系统所采用的技术方案从经济角度来说有明显的优势。Java语言、Spring Boot框架、MySQL数据库都是开源技术,可以大大降低软件授权费用和开发成本。uni-app框架具备一次开发,多端部署的特性,可以大幅度缩减重复开发的量,提升开发的速度。系统部署阶段可以使用云服务器架构,按照实际业务需要,对计算资源实行弹性配置,不用投入很多硬件资源。以微信小程序为前端的推广方式不需要用户下载安装,降低了推广的成本以及用户的使用门槛。
UML用例图是描述系统功能需求的一种图形化工具,用它来展示系统和外部参与者之间的交互关系,可以明确系统的功能。用例图是用用例来表示系统可以执行的具体功能,参与者是指与系统交互的各种用户或者外部系统。用例图属于分析设计阶段所用的工具,能够使开发人员与用户之间达成共识,从而保证系统的功能完备。用UML用例图来用直观的图形表现系统功能和角色之间的对应关系。本文将对系统按照角色模块进行需求分析。
学生查看竞赛公告的详细信息,填写申请表单参加某项赛事。学生在竞赛页面上写上自己的评论。学生查阅平台提供的学习材料。学生查阅历届比赛的优胜者名单。学生用例图见图3-1。

图3-1 学生用例图
教师可以获取目前所有的竞赛详细信息。教师在平台里使用的训练资料。教师查询历史竞赛名次。教师对学生的报名申请进行审查。教师查看学生提交的参赛作品。教师用例图如图3-2。

图3-2 教师用例图
管理员维护学科门类划分信息。管理员发布和编辑竞赛通知。管理员处理所有的报名记录的审核。管理员对学生的提交作品文件进行管理。管理员对训练资源进行数据库的管理。管理员更新、发布比赛获奖排名。管理员用例图如下图3-3所示。

图3-3 管理员用例图
1.可用性需求
可用性,系统对高并发访问要保证稳定的响应速度,页面加载时间要控制在合理的范围内。界面要简洁明了,符合用户的操作习惯,不同的技术水平的用户都能顺利地完成业务流程。系统的主要功能年累计可用率达到了预期的目的。
2.可靠性需求
在系统可靠性的保证上要使其连续、稳定地运转,并有效地对各种异常情况作出反应,避免出现由于某个部件发生故障从而造成服务停止的情况。数据库的事务处理要保证数据的一致性。系统应该有完善的日志记录、监控预警功能,利于故障的快速定位、恢复,保证业务操作的完整性、准确性。
3.安全性需求
系统要建立多层次的安全防护体系。必须对用户身份进行严格的认证,对不同角色的数据访问权限做细致的控制。系统传输和存储的数据敏感信息要用有效的加密技术加以保护。系统应该具备防范网络攻击能力,建立数据备份、恢复的策略,保障数据机密性、完整性和可用性。
本微信小程序系统采用的是前后端分离的设计架构。前端使用uni-app框架、Vue.js语法做跨端开发,编译成微信小程序,充分利用小程序的原生组件和微信API。后端采用Spring Boot框架,用Java编写核心业务逻辑,提供RESTful API接口供前端调用。数据持久化层使用关系型数据库MySQL存储、管理和处理系统的各种数据。系统由前端展示、后端业务处理、数据存储三个部分组成,分层清楚,技术架构成熟稳定[19]。整个系统架构如图4-1所示。

图4-1 系统架构图
本系统创建起服务于学科竞赛全过程的管理平台,其功能架构依据学生、教师和管理员这三类主要用户角色来组织。学生通过系统了解竞赛信息、报名参赛、参与互动交流、查看学习资料、查询比赛结果。教师用户可以使用系统跟踪比赛进展、查看教学资源、查看成绩排名、行使审核职能(即审查学生报名材料、参赛作品)。管理员具有最高权限,对学科分类、竞赛项目、报名记录、作品档案、培训资源以及最终的获奖排名情况实行管理。系统功能结构图如图4-2所示。

图4-2 系统功能结构图
学生浏览竞赛列表之后选择是否报名。选择报名填写表单,系统校验信息。校验通过则报名成功,不通过则返回到修改。流程见图4-3。

图4-3 学生报名赛事流程图
教师查看报名名单,查阅报名情况。之后就做出批准或者拒绝的决定。系统更新状态并通知学生之后流程结束。流程图如图4-4所示。

图4-4 教师审批报名流程图
管理员填写比赛信息,系统检测是否完整。信息完善之后,管理员选择立即发布或者保存为草稿。选择后流程结束,流程图如图4-5所示

图4-5 管理员发布竞赛流程图
学生进入排名页面,根据是否需要筛选选择设置条件或者直接查看。结果显示后流程结束,流程图如图4-6所示。

图4-6 学生查看排名流程图
管理员选择新增或者删除操作。新增就是上传填写后保存。删除需要选择记录并确认,确认后执行删除或者取消。流程结束的图4-7是流程图。

图4-7 管理员管理资源流程图
在数据库设计中用E-R图设计可以把概念模型转化成具体的数据库结构。此阶段确定每一个数据表的字段类型、约束条件以及表与表之间关系,给物理设计提供依据。接下来就是对优化数据存储方案进行分析,保证系统高效、可扩展[20]。
E-R图(实体-关系图)属于数据建模的一种图形化手段,能够把实体、属性以及实体之间的关系表示出来。用图形化的方式分析设计数据库结构,明确数据之间的相互关系,方便以后数据库的开发和管理。接下来展示系统全局E-R图和各个实体的属性图[21]。
系统全局E-R图如图4-8所示。

图4-8 系统E-R图
文章实体主要包括文章id、标题、正文、文章分类等属性。实体属性图如图4-9所示。

图4-9 文章实体属性图
文章分类实体主要是分类id,分类名称,显示顺序,上级分类id等属性。实体属性图如下图4-10所示。

图4-10 文章分类实体属性图
竞赛信息实体由竞赛信息ID、竞赛名称、学科类别、竞赛状态等组成。实体属性图如下的4-11所示。

图4-11 竞赛信息实体属性图
获奖排名实体有获奖排名id、获奖标题、发布日期、教师用户等。实体属性图如下图4-12所示。

图4-12 获奖排名实体属性图
训练资源实体有训练资源id,资源名称,资源标签,发布日期这些属性。实体属性图如图4-13所示。

图4-13 训练资源实体属性图
学生用户实体现有的属性有,学生用户ID、学生学号、学生姓名、学生性别等。实体属性图如下图4-14所示。

图4-14 学生用户实体属性图
教师用户实体包含教师用户ID、教师工号、教师姓名、教师性别等内容。实体属性图如图4-15所示。

图4-15 教师用户实体属性图
报名记录实体的主要属性有报名记录ID,参赛比赛名称,学生姓名,学号等。实体属性图如下图4-16所示。

图4-16 报名记录实体属性图
作品信息实体有作品信息id、竞赛名称、学科类型、学生姓名等。实体属性图如下图4-17所示。

图4-17 作品信息实体属性图
学科类型实体有学科类型id、学科类型、创建时间、创建用户id等属性。实体属性图如下图4-18所示。

图4-18 学科类型实体属性图
数据库表设计就是按照业务需求确定数据库表结构、字段类型以及表之间的关系。通过规范化的设计保证数据的完整性、一致性、效率,减少冗余数据,给后面的数据查询、存储、维护提供清晰的框架。下面为系统数据库表设计。
文章表是用来保存已经发布的文章信息的。包含文章ID、文章标题、文章正文、文章分类等字段。表4-1显示为所收集资料的主要构成。
表4-1 文章表
| 序号 | 字段名 | 数据类型 | 长度 | 是否非空 | 是否主键 | 备注 |
| 1 | 文章id | mediumint | - | 是 | 是 | 文章id |
| 2 | 标题 | varchar | 125 | 是 | 是 | 标题 |
| 3 | 正文 | longtext | - | 否 | 否 | 正文 |
| 4 | 文章分类 | varchar | 64 | 是 | 否 | 文章分类 |
| 5 | 封面图 | varchar | 255 | 否 | 否 | 封面图 |
| 6 | 点击数 | int | 11 | 是 | 否 | 点击数 |
| 7 | 点赞数 | int | 11 | 是 | 否 | 点赞数 |
| 8 | 来源 | varchar | 255 | 否 | 否 | 来源 |
| 9 | 标签 | varchar | 255 | 否 | 否 | 标签 |
| 10 | 创建时间 | timestamp | - | 是 | 否 | 创建时间 |
文章分类表主要是对文章进行分类管理。包含分类ID、分类名称、显示顺序,上级分类ID等字段。表4-2如下。
表4-2 文章分类表
| 序号 | 字段名 | 数据类型 | 长度 | 是否非空 | 是否主键 | 备注 |
| 1 | 分类id | smallint | - | 是 | 是 | 分类id |
| 2 | 分类名称 | varchar | 50 | 是 | 否 | 分类名称 |
| 3 | 显示顺序 | smallint | - | 是 | 否 | 显示顺序 |
| 4 | 上级分类id | smallint | - | 是 | 否 | 上级分类id |
| 5 | 描述 | varchar | 200 | 否 | 否 | 描述 |
| 6 | 外链地址 | varchar | 200 | 否 | 否 | 外链地址 |
| 7 | 创建时间 | timestamp | - | 是 | 否 | 创建时间 |
| 8 | 更新时间 | timestamp | - | 是 | 否 | 更新时间 |
竞赛信息表是发布和管理各种竞赛信息的表。主要是竞赛信息id、竞赛名称、学科类型、竞赛状态等字段。表4-3为表。
表4-3 竞赛信息表
| 序号 | 字段名 | 数据类型 | 长度 | 是否非空 | 是否主键 | 备注 |
| 1 | 竞赛信息id | int | 11 | 是 | 是 | 竞赛信息id |
| 2 | 竞赛名称 | varchar | 100 | 否 | 否 | 竞赛名称 |
| 3 | 学科类型 | varchar | 100 | 否 | 否 | 学科类型 |
| 4 | 竞赛状态 | varchar | 50 | 否 | 否 | 竞赛状态 |
| 5 | 竞赛日期 | date | - | 否 | 否 | 竞赛日期 |
| 6 | 报名截止 | date | - | 否 | 否 | 报名截止 |
| 7 | 教师用户 | int | 11 | 否 | 否 | 教师用户 |
| 8 | 封面图片 | varchar | 255 | 否 | 否 | 封面图片 |
| 9 | 规则内容 | text | - | 否 | 否 | 规则内容 |
| 10 | 点赞数 | int | 11 | 是 | 否 | 点赞数 |
获奖排名表主要是记录和展示师生获得的奖项。主要包含有获奖排名ID、获奖标题、发布日期、教师用户等。表4-4给出。
表4-4 获奖排名表
| 序号 | 字段名 | 数据类型 | 长度 | 是否非空 | 是否主键 | 备注 |
| 1 | 获奖排名id | int | 11 | 是 | 是 | 获奖排名id |
| 2 | 获奖标题 | varchar | 100 | 否 | 否 | 获奖标题 |
| 3 | 发布日期 | date | - | 否 | 否 | 发布日期 |
| 4 | 教师用户 | int | 11 | 否 | 否 | 教师用户 |
| 5 | 封面图片 | varchar | 255 | 否 | 否 | 封面图片 |
| 6 | 获奖内容 | text | - | 否 | 否 | 获奖内容 |
| 7 | 点赞数 | int | 11 | 是 | 否 | 点赞数 |
| 8 | 创建时间 | datetime | - | 是 | 否 | 创建时间 |
训练资源表就是分享管理关于学习的训练资料。包含有训练资源ID、资源名称、资源标签、发布日期这些字段。表4-5如下所示。
表4-5 训练资源表
| 序号 | 字段名 | 数据类型 | 长度 | 是否非空 | 是否主键 | 备注 |
| 1 | 训练资源id | int | 11 | 是 | 是 | 训练资源id |
| 2 | 资源名称 | varchar | 100 | 否 | 否 | 资源名称 |
| 3 | 资源标签 | varchar | 100 | 否 | 否 | 资源标签 |
| 4 | 发布日期 | date | - | 否 | 否 | 发布日期 |
| 5 | 教师用户 | int | 11 | 否 | 否 | 教师用户 |
| 6 | 资源附件 | varchar | 255 | 否 | 否 | 资源附件 |
| 7 | 资源描述 | text | - | 否 | 否 | 资源描述 |
| 8 | 收藏数 | int | 11 | 是 | 否 | 收藏数 |
| 9 | 点赞数 | int | 11 | 是 | 否 | 点赞数 |
| 10 | 创建时间 | datetime | - | 是 | 否 | 创建时间 |
学生用户表储存着学生的个人信息。学生用户id、学生学号、学生姓名、学生性别等是学生信息表的字段。表4-6为数据集中的各传感器所测得的数据。
表4-6 学生用户表
| 序号 | 字段名 | 数据类型 | 长度 | 是否非空 | 是否主键 | 备注 |
| 1 | 学生用户id | int | 11 | 是 | 是 | 学生用户id |
| 2 | 学生学号 | varchar | 50 | 是 | 是 | 学生学号 |
| 3 | 学生姓名 | varchar | 50 | 否 | 否 | 学生姓名 |
| 4 | 学生性别 | varchar | 10 | 否 | 否 | 学生性别 |
| 5 | 学院名称 | varchar | 100 | 否 | 否 | 学院名称 |
| 6 | 年级名称 | varchar | 100 | 否 | 否 | 年级名称 |
| 7 | 学生电话 | varchar | 20 | 否 | 否 | 学生电话 |
| 8 | 用户id | int | 11 | 是 | 否 | 用户id |
| 9 | 审核状态 | varchar | 50 | 是 | 否 | 审核状态 |
| 10 | 创建时间 | datetime | - | 是 | 否 | 创建时间 |
教师用户表主要是对教师用户的基本信息进行存放和处理。主要是教师用户的id、教师工号、教师姓名、教师性别等字段。表4-7为图4-6中各数据的统计结果。
表4-7 教师用户表
| 序号 | 字段名 | 数据类型 | 长度 | 是否非空 | 是否主键 | 备注 |
| 1 | 教师用户id | int | 11 | 是 | 是 | 教师用户id |
| 2 | 教师工号 | varchar | 50 | 是 | 是 | 教师工号 |
| 3 | 教师姓名 | varchar | 50 | 否 | 否 | 教师姓名 |
| 4 | 教师性别 | varchar | 10 | 否 | 否 | 教师性别 |
| 5 | 学院名称 | varchar | 100 | 否 | 否 | 学院名称 |
| 6 | 教师电话 | varchar | 20 | 否 | 否 | 教师电话 |
| 7 | 用户id | int | 11 | 是 | 否 | 用户id |
| 8 | 审核状态 | varchar | 50 | 是 | 否 | 审核状态 |
| 9 | 创建时间 | datetime | - | 是 | 否 | 创建时间 |
报名记录表是记录学生报名参加竞赛的资料。主要是报名记录id、竞赛名称、学生姓名、学生学号等字段。见表4-8。
表4-8 报名记录表
| 序号 | 字段名 | 数据类型 | 长度 | 是否非空 | 是否主键 | 备注 |
| 1 | 报名记录id | int | 11 | 是 | 是 | 报名记录id |
| 2 | 竞赛名称 | varchar | 100 | 否 | 否 | 竞赛名称 |
| 3 | 学生姓名 | varchar | 50 | 否 | 否 | 学生姓名 |
| 4 | 学生学号 | varchar | 50 | 否 | 否 | 学生学号 |
| 5 | 学生电话 | varchar | 20 | 否 | 否 | 学生电话 |
| 6 | 报名日期 | date | - | 否 | 否 | 报名日期 |
| 7 | 报名人数 | varchar | 50 | 否 | 否 | 报名人数 |
| 8 | 学科类型 | varchar | 100 | 否 | 否 | 学科类型 |
| 9 | 学生用户 | int | 11 | 否 | 否 | 学生用户 |
| 10 | 审核状态 | varchar | 50 | 是 | 否 | 审核状态 |
作品信息表是用来储存和管理学生提交竞赛作品信息的表。主要包含有作品信息id,竞赛名称,学科类别和学生姓名等项。表4-9如表所示。
表4-9 作品信息表
| 序号 | 字段名 | 数据类型 | 长度 | 是否非空 | 是否主键 | 备注 |
| 1 | 作品信息id | int | 11 | 是 | 是 | 作品信息id |
| 2 | 竞赛名称 | varchar | 100 | 否 | 否 | 竞赛名称 |
| 3 | 学科类型 | varchar | 100 | 否 | 否 | 学科类型 |
| 4 | 学生姓名 | varchar | 50 | 否 | 否 | 学生姓名 |
| 5 | 学生学号 | varchar | 50 | 否 | 否 | 学生学号 |
| 6 | 作品附件 | varchar | 255 | 否 | 否 | 作品附件 |
| 7 | 作品描述 | text | - | 否 | 否 | 作品描述 |
| 8 | 教师评分 | double | - | 否 | 否 | 教师评分 |
| 9 | 教师评语 | text | - | 否 | 否 | 教师评语 |
| 10 | 来源id | int | 11 | 否 | 否 | 来源id |
学科类型表主要用来定义和管理竞赛所归属的学科类别。主要是学科类型id、学科类型、创建时间、创建用户id等字段。图4-10中所示的内容为。
表4-10 学科类型表
| 序号 | 字段名 | 数据类型 | 长度 | 是否非空 | 是否主键 | 备注 |
| 1 | 学科类型id | int | 11 | 是 | 是 | 学科类型id |
| 2 | 学科类型 | varchar | 100 | 否 | 否 | 学科类型 |
| 3 | 创建时间 | datetime | - | 是 | 否 | 创建时间 |
| 4 | 创建用户id | int | 11 | 是 | 否 | 创建用户id |
| 5 | 更新时间 | timestamp | - | 是 | 否 | 更新时间 |
学生登录系统之后,首页就会出现各种竞赛信息卡片。学生可以滑动屏幕浏览自己感兴趣的卡片,点击某一张卡片可以进入详细的页面查看竞赛的介绍、规则、时间等全部信息。详情页给出报名入口以及收藏功能。竞赛信息界面图5-1如所示。

图5-1 竞赛信息界面
学生点击竞赛详情页的报名按钮,系统会跳转到报名表单页。学生填写个人信息、团队成员等必填项,上传所需要附件,确认无误之后提交。系统返回提交成功提示,报名记录可以在个人中心查看。报名赛事界面如图5-2。

图5-2 报名赛事界面
在具体的竞赛或者资源的详情页面底部设置评论区。学生输入评论文字,点击发布按钮。发布的评论即刻出现在列表上方,学生可以看到自己的以及其它人的评论。发表评论界面如图5-3所示。

图5-3 发表评论界面
学生用导航栏进入资源中心页面。页面按学科或者类型分类显示训练资料列表,有文档和视频链接。学生点击资源标题就可以在线预览或者开始下载。图5-4为训练资源界面。

图5-4 查看训练资源界面
学生从菜单栏里选择获奖排名功能。页面加载之后会显示历届竞赛获奖名单列表,可以按照竞赛名称或者年份进行筛选。点击具体的奖项可以查看本次比赛的排名以及获奖作品。查看获奖排名界面为图5-5。

图5-5 查看获奖排名界面
教师登录之后的主页面会显示本次比赛所有信息的大致情况。教师通过列表或搜索框来查找某一个竞赛,在条目上点击进入详情页查阅全部公开信息。查看竞赛信息的画面如图5-6所示。

图5-6 查看竞赛信息界面
教师在资源管理模块中查看全部已经发布的训练材料。列表中列出资源名称和类型,教师点击资源链接即可直接打开内容进行审阅。查阅训练资源界面如图5-7所示。

图5-7 查看训练资源界面
教师访问获奖排名页面,系统会显示出结构化的排名数据,教师可以针对某一项竞赛选择查看它的全部获奖梯队以及学生信息。查看获奖排名界面如图5-8所示。

图5-8 查看获奖排名界面
教师进入报名审核区。页面上显示所有待处理、已处理的学生报名记录,教师点击某一条目可以弹出窗口查看报名详情以及所提交的作品。查看报名记录界面如图5-9所示。

图5-9 查看报名记录界面
在报名记录详情页或者独立作品管理页,教师点击作品名称或链接。系统在新的窗口或者页面中显示学生提交的文件全文或者预览内容。作品信息界面见图5-10。

图5-10 查看作品信息界面
管理员在后台管理系统里选择学科类型管理这个菜单。页面显示已有的学科树状列表,管理员可以对学科分类进行添加、编辑、删除等操作。学科类型管理界面如图5-11所示。

图5-11 学科类型管理界面
管理员进入竞赛信息管理模块,界面以表格的形式列出所有的竞赛,管理员在表格行的末尾处可以对单条竞赛信息执行新增、编辑内容、下架或者删除的操作。竞赛信息管理界面图5-12。

图5-12 竞赛信息管理界面
管理员访问报名记录管理页面查看报名信息、修改报名状态或者强制修改,并可以批量导出。报名记录管理界面如下图5-13所示。

图5-13 报名记录管理界面
管理员在作品信息管理界面上查看所有的学生所提交的作品条目。列表展示作品基本信息,管理员点击查看详情或者进行归档、删除等管理操作。作品信息管理界面图如图5-14所示。

图5-14 作品信息管理界面
管理员用资源管理页面上传学习资料。管理员通过界面对资源库内的每一件资源实施信息的修改,分类的调整或是删除操作来更新资源库。训练资源管理界面如下5-15所示。

图5-15 训练资源管理界面
管理员登录到获奖排名管理模块。界面有表单可以录入新的竞赛获奖结果,也可以对历史的排名数据进行查询、修改、删除等管理。获奖排名管理界面如5-16图所示。

图5-16 获奖排名管理界面
软件测试的核心目的就是用系统检验与评价的方式来保证软件质量,其目的体系包括很多方面,第一是发现并修正程序潜在的问题、逻辑错误,保证程序运行的正确性和稳定性,第二是对系统功能进行严格的检查,保证业务逻辑完全实现、用户交互效果良好,第三是对系统非功能性指标进行全面评价,通过压力测试来考察系统在高并发情况下能否正常工作,通过安全测试来检测系统的防御能力,通过兼容性测试来考察系统在各种运行环境下的适应能力,第四是按照实际使用场景来进行测试,从而评判软件易用性、界面友好度,改善用户操作感受,第五是测试活动产生的量化数据和缺陷分析报告可以用来衡量产品质量,找出系统存在的漏洞,使软件系统在功能、性能、安全、用户体验等方面符合预定的质量标准。
软件测试方法体系按照测试策略、执行视角等不同可以划分成不同的类型。黑盒测试方法主要用来验证软件功能是否满足需求,通过输入数据和预期输出的对比来检验系统外部行为是否正确,不需要关注内部代码实现的细节,主要有等价类划分、边界值分析、决策表测试等方法。白盒测试法以程序的内部逻辑结构为依据来设计测试用例,按照语句覆盖、分支覆盖、路径覆盖等准则来验证程序执行路径,目的是找出程序控制流和数据流中潜在的缺陷。灰盒测试方法把黑盒、白盒测试的特点结合起来,在了解系统部分内部结构的基础上做功能验证。静态测试方法通过代码走查、审查等方式对软件工件进行分析,不实际执行程序,动态测试方法通过运行程序来观察它的实际行为[22]。根据测试执行自动化程度可以分为手动测试和自动化测试,自动化测试使用测试工具执行重复性测试任务来提高效率。根据系统特性可以采用专项测试方法,性能测试用负载测试、压力测试来评价系统的容量,安全测试用渗透测试、漏洞扫描来发现系统的弱点,兼容性测试检验系统在不同的软硬件环境下能否正常工作。
对竞赛信息展示模块的测试,主要是检验系统能否将竞赛的相关数据正确、完整地呈现给用户。测试重点是信息显示是否规范,内容更新是否及时,页面布局在不同终端上是否适应。竞赛信息展示测试表6-1。
表6-1 竞赛信息展示测试用例表
| 测试功能 | 测试步骤 | 预期结果 | 实际结果 |
| 基本信息显示 | 查看竞赛详情页面 | 竞赛标题、时间、规则等信息显示正确完整 | 符合预期 |
| 信息更新同步 | 管理员更新信息后刷新学生端页面 | 学生端页面信息与管理员更新内容保持一致 | 一致 |
| 多终端布局 | 分别在手机与电脑浏览器访问 | 页面布局自适应,信息无错位或遗漏 | 测试成功 |
用户赛事报名流程测试目的在于检验系统对于用户提交的报名申请数据处理是否准确,流程是否完整。测试主要是对表单数据接收、后端逻辑验证、最终状态反馈是否正确进行测试。赛事报名测试见表6-2。
表6-2 赛事报名测试用例表
| 测试内容 | 操作 | 预期结果 | 实际结果 |
| 报名表单提交 | 填写必要信息并提交申请 | 系统接收数据并生成待审核状态的报名记录 | 符合预期 |
| 信息验证 | 提交包含不完整信息的表单 | 系统提示必填信息缺失,阻止提交 | 测试成功 |
| 重复报名检查 | 对同一竞赛重复提交报名 | 系统提示“已报名”或拒绝重复记录 | 一致 |
关于用户评论功能的测试,主要是考察系统对于用户生成内容的发布、存储、展示是否有效。测试主要是对评论发布实时性、内容显示准确性、发布后可管理性的测试。发表评论的测试结果见表6-3。
表6-3 发表评论测试用例表
| 序号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 |
| 1 | 评论发布 | 在指定页面输入文本并发布 | 评论内容立即显示在评论区列表顶部 | 符合预期 |
| 2 | 内容展示 | 发布后重新加载页面 | 已发布的评论内容持久化显示 | 一致 |
| 3 | 字符限制 | 输入超长评论内容并尝试发布 | 系统给出长度超限提示 | 测试成功 |
训练资源查看模块的测试重点在于保证用户可以顺利的获得各种预先设定好的学习材料。主要是对资源列表的加载速度、分类筛选的准确性、资源内容的可访问性这三个方面进行测试。查看训练资源测试如下表6-4所示。
表6-4 查看训练资源测试用例表
| 测试项 | 测试步骤 | 预期结果 | 实际结果 |
| 资源列表加载 | 进入资源中心页面 | 页面快速加载出所有可用资源列表 | 符合预期 |
| 分类筛选 | 选择特定学科分类 | 列表仅显示该分类下的资源条目 | 测试成功 |
| 资源访问 | 点击列表中的资源链接 | 成功跳转至资源预览页面或启动下载 | 一致 |
对获奖排名查询功能的测试,主要是检验系统对于历史竞赛结果数据的组织、展示的能力。主要是对排名数据查询的准确性,筛选条件是否有效,展示逻辑是否正确进行测试。查看获奖排名测试如下表6-5所示。
表6-5 查看获奖排名测试用例表
| 测试内容 | 测试步骤 | 预期结果 | 实际结果 |
| 默认排名展示 | 进入获奖排名页面 | 页面显示默认设置的最近一次竞赛排名 | 符合预期 |
| 条件筛选查询 | 选择特定年份与竞赛名称进行筛选 | 列表刷新,仅显示符合筛选条件的排名结果 | 一致 |
| 排名详情查看 | 点击某条排名记录 | 弹出或跳转至页面展示该次排名的详细获奖名单 | 测试成功 |
针对教师查看报名记录的功能,测试目的就是检验系统为教师角色提供的报名数据查询和管理视图的可靠性和准确性。测试重点就是数据过滤是否准确,详情展示是否完整,列表与详情之间数据是否一致。查看报名记录的测试结果如图6-6所示。
表6-6 查看报名记录测试用例表
| 模块名称 | 测试内容 | 预期结果 | 实际结果 |
| 报名记录列表 | 教师登录并进入报名审核模块 | 页面正确列出其权限范围内的所有学生报名记录 | 符合预期 |
| 状态筛选 | 在列表中选择“待审核”状态进行筛选 | 列表仅显示状态为待审核的记录 | 测试成功 |
| 详情关联 | 点击列表中的任意一条记录 | 系统正确弹出窗口,展示与该记录关联的学生及作品详细信息 | 一致 |
教师查看作品信息功能测试,主要是检验系统对于用户上传的作品文件或者内容进行调取并展示的稳定性和准确性。测试主要是对作品信息的检索速度、作品内容展示是否完整、访问权限控制是否正确这三项内容进行测试。查看作品信息如表6-7所示。
表6-7 查看作品信息测试用例表
| 测试功能 | 操作 | 预期结果 | 实际结果 |
| 作品信息调取 | 在相关页面点击作品名称或链接 | 系统成功加载并展示作品的完整内容或文件 | 符合预期 |
| 内容完整性 | 查看已上传的文档或图片作品 | 作品内容无缺失、格式无错乱,显示正常 | 测试成功 |
| 访问控制 | 使用无权限账户尝试访问作品 | 系统拒绝访问并给出相应提示 | 一致 |
对系统进行功能、性能、安全性等各方面全面测试,确定软件在各种环境下的表现是否符合预期。发现问题已经进行相应的修复或者提出改进建议。通过测试得出软件基本满足设计要求,性能稳定,没有发现重大缺陷,证明了系统的功能性、稳定性、兼容性。
本文设计并实现了一套基于微信小程序的学科竞赛管理系统,旨在应对高校竞赛活动管理中信息分散、流程冗长、协同效率低的现实挑战。系统以Spring Boot框架构建后端服务,以Vue.js技术开发前端交互界面,并通过MySQL数据库实现数据持久化,形成了一个结构清晰、职责分明的单体应用架构。系统成功划分了学生、教师与管理员三类核心角色,并围绕其业务场景完成了竞赛信息发布、在线报名、资源管理、作品提交、评审跟踪及结果公示等全流程功能的开发与集成。测试结果表明,各功能模块运行稳定,业务流程衔接顺畅,初步实现了将线下人工管理转变为线上标准化、流程化操作的既定目标,有效提升了信息传递的及时性与事务处理的规范性。
回顾整个系统的设计与实现过程,其价值不仅在于提供了一个可运行的管理工具,更在于为高校教学实践活动的信息化管理提供了一套具体可行的解决方案参考。系统通过统一的信息入口与标准化的操作流程,减少了信息不对称,降低了管理成本,提升了师生参与竞赛的便捷性与体验感。然而,本研究仍存在一定的局限性。系统功能目前集中于核心业务流程,在数据智能分析、移动端深度交互、多系统集成等方面尚有拓展空间。面对大规模并发访问的场景,系统的性能与扩展性有待进一步验证与优化。未来的工作可以着眼于引入数据分析模块以挖掘竞赛数据价值,探索与校内其他教务系统的深度融合,并考虑采用更灵活的架构以应对可能增长的业务需求。总体而言,本系统为学科竞赛的数字化管理奠定了实践基础,其设计思路与实现方法对类似教育管理系统的开发具有一定借鉴意义。
- 宋秋月,张彦琦,李芳,等. “学科竞赛+第二课堂”的医学统计学课程体系和教学模式探究与实践[J/OL].中国卫生统计,1-5[2026-01-09].https://link.cnki.net/urlid/21.1153.R.20260104.1440.014.
- 雷媛,郭佩东,魏利平,等. 学科竞赛实践教学——基于流化床热重分析方法的氧载体磨损特性实验研究[J].广东化工,2025,52(24):143-146+138.
- 彭苗苗,李江寒,陆仁芳. 以学科竞赛为抓手的土木工程教学改革研究[J].才智,2026,(02):41-44.
- 吴则琪,邵琳,武东辉,等. 跨校区多专业学科竞赛线上辅导的实践研究[J].西部素质教育,2025,11(24):150-154.
- Yitian Z ,Mingming Z ,Zhongkai Z , et al. Innovation of Electromagnetic Induction Video Teaching Driven by Technology Integration and Discipline Competition[J].International Journal of New Developments in Education,2025,7(9):
- Luo X ,Huang X ,She Z , et al. Construction of a Closed-loop Evaluation System and Teaching Reform for Materials Mechanics Course under OBE Orientation — A Driving Model Based on Engineering Cases and Subject Competitions[J].Exploration of Educational Management,2025,3(9):
- 熊威. 基于项目驱动的Java编程基础教学研究与实践[J]. 中国教育技术装备,2023(2):80-82.
- 韩小龙,司珍,吕晓峰,等. 基于面向对象编程的Java语言程序设计方法分析[J]. 集成电路应用,2024,41(1):228-229.
- 吴迁.基于uni-app与Spring Boot框架的Web应用开发平台的设计与实现[D].西安石油大学,2025.
- 赵叶平,陈圣,马军,等. 基于Spring Boot+VUE+Uni-app框架的文明城市智慧管理系统设计与实现[J].工业控制计算机,2025,38(04):139-140+153.
- 沈莹,黄旭,曾孟佳. 基于SpringBoot+微信小程序的线上茶叶交易平台的设计与实现[J].福建茶叶,2025,47(10):49-51.
- 刘思成,许舟洋. 基于微信小程序订餐系统的设计与实现[J].电脑编程技巧与维护,2025,(06):50-52+130.
- 陈蓓蕾,洪年松. 基于SpringBoot的数据库接口设计[J]. 信息与电脑,2023,35(16):181-183.
- 王志亮,纪松波. 基于SpringBoot的Web前端与数据库的接口设计[J]. 工业控制计算机,2023,36(3):51-53.
- 八度云计算(安徽)有限公司,基于Vue框架的UI组件库构建方法:CN202311590956.7[P],2024年3月29日
- 李晓薇. vue.js前端应用技术分析[J]. 网络安全技术与应用,2022(4):44-45.
- 庞敏. MySQL数据库的数据安全应用设计技术研究[J]. 数字通信世界,2024(9):25-27.
- 柳青,程晨. MYSQL数据库技术应用一体化课程开发研究[J]. 造纸装备及材料,2024,53(5):251-253.
- 陈倩怡,何军.Vue+Springboot+MyBatis技术应用解析[J].电脑编程技巧与维护,2020,(01):14-15+28.
- 何金龙. 电子信息工程计算机数据库应用[C]//2024智慧施工与规划设计学术交流会论文集. 2024:1-3.
- 张晓蕾,王斌,郭锡泉. "互联网"背景下数据库应用技术课程思政教学设计与实践[J]. 现代商贸工业,2024(23):251-253.
- 罗超,彭玉涛. 计算机软件测试方法的研究分析[J]. 长江信息通信,2023,36(2):83-85.
论文能顺利完成离不开各方面的帮助。向研究过程中给予我指导和关心的人表示最诚挚的感谢。
我要感谢我的指导老师,论文选题立意、结构框架、研究方法等各个方面老师都进行了系统的指导。当遇到问题的时候,老师渊博的学识、敏锐的眼光为我指明方向;修改论文时老师对文字的精雕细琢给我提供了很多中肯的意见。老师严谨的治学态度、诲人不倦的师者风范给我留下了深刻的印象。要感谢各位专业课的老师,你们传授给我的专业知识给本次的研究打下了良好的理论基础。感谢参加系统测试的同学给系统提出不断改进的意见。
还应该感谢的另外一类重要对象就是我的家人、朋友。感谢父母一直以来的宽容与支持,是你们给我了无条件的支持;感谢朋友,在论文撰写中互相帮助、共同进步,是你们给了我克服困难的勇气。向所有参与论文评阅和答辩的专家学者致以最高的敬意,对各位专家学者在百忙之中抽出时间阅读本文、给予批评指正表示诚挚的感谢。由于笔者的学识有限,文中不足之处,希望各位老师予以指正。
请关注点赞+私信博主,免费领取项目源码

416


被折叠的 条评论
为什么被折叠?



