基于Spring Boot的学生学术成果管理系统的设计与实现_第1页
基于Spring Boot的学生学术成果管理系统的设计与实现_第2页
基于Spring Boot的学生学术成果管理系统的设计与实现_第3页
基于Spring Boot的学生学术成果管理系统的设计与实现_第4页
基于Spring Boot的学生学术成果管理系统的设计与实现_第5页
已阅读5页,还剩43页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

[10]。该系统设置了学生、学工办负责人及管理员三种角色来分别满足各个用户群体的需求。学生端可以进行竞赛项目报名、上载学术资料、查看审核状态以及为学生提供在线咨询服务,避免了线下多次操作的繁琐;学工办负责人端通过模块化管理的方式实现了对竞赛项目、学术成果和证书材料的审核工作,提高工作效率;管理员端通过统计分析、用户管理和系统管理等功能对整个系统进行维护。利用B/S架构技术将该系统进行设计研发,将前后端结合起来使用,保证了系统的操作界面友好、数据处理精准,并且还考虑到了以后系统后期的升级和改造,使高校学术成果管理流程更加规范和智能REF_Ref26960\r\h[11]。1.4论文章节安排第1章绪论:从国内外研究背景及意义出发,分析了国内外学术成果管理系统的研究现状,明确了本系统主要的研究内容。第2章关键技术研究:该章节主要介绍了系统开发时所使用的一些关键技术,有SpringBoot、Java、B/S架构以及Vue等。第3章需求分析主要是从系统功能需求、非功能需求以及数据需求等方面来展开说明,确定了系统设计需要达到的目的。第4章系统设计:本章从总体架构、功能模块及数据库设计三个方面对系统进行了详细的描述,并绘制了系统流程图以及数据模型图。第5章系统实现和部署与测试:这一部分主要是站在学生、学工办负责人以及管理员这三个角色来展现这个系统各个模块的实现过程;接着介绍了系统部署环境、部署步骤等,在此基础上进行了功能测试和性能测试,验证了系统的可用性。第2章关键技术研究学术成果管理系统采用了多项现代化的开发技术,本章将介绍系统开发过程中使用的SpringBoot、Vue框架等核心技术以及IDEA开发工具,分析这些技术和开发国工具在系统中的应用价值。2.1SpringBoot技术SpringBoot是Java生态中备受青睐的轻量级开发框架,它通过约定优于配置的理念,将企业级应用开发变得更加简单快捷;SpringBoot打包了Spring全家桶的功能,并且取消了繁杂的XML配置,而是采用自动配置的方式以及内嵌服务器来让开发人员能够更快捷方便地搭建独立运行的产品级应用;SpringBoot的依赖管理可以解决传统的Spring应用中存在的版本冲突问题,而Starter组件可以让各种功能模块的使用变得非常便捷。在学术成果管理系统开发过程中,SpringBoot负责了系统的后端支撑,在注解驱动开发方式下完成了学生、学工办负责人、管理员这3种角色的权限控制;同时系统的核心业务包括竞赛项目报名流程、学术软著审核链路、论文材料提交等都利用SpringBoot的控制反转和面向切面编程的特点完成了业务逻辑和技术实现的解耦;尤其是在实现在线咨询功能的时候,SpringBoot的WebSocket的支持可以让即时通讯功能更好的被实现;统一异常处理机制可以保证程序在出现各种各样的错误的时候给用户展示提示信息,而不是直接让程序崩溃,这样可以带来更好的用户体验。[12]2.2Vue框架Vue是基于JavaScript的渐进式框架,通过引入响应式的数据绑定及组件化开发的方式,使得Web界面的构建有了新的范式;利用虚拟DOM来提升渲染性能,并且使用MVVM架构实现视图和数据的双向绑定,聚焦于业务逻辑而不是具体的DOM操作;Vue生态的Vuex用于状态管理、VueRouter用于路由管理,单文件组件让打造复杂应用变得规范简单;单文件组件让你专注于业务逻辑,不必关心DOM细节;借助Vue,学术成果管理系统实现了面向学生、学工办老师以及管理员的多种角色的用户界面,实现面向不同角色用户的差异化展示;系统竞赛项目报名模块实现借助于Vue的条件渲染与列表渲染功能来完成项目的显示与筛选;利用Vue的表单功能,可以在数据提交之前对相关的内容进行检验;利用Vue组件将一些比较复杂的文件上传操作进行封装,将一些复杂的过程加以简单化;在管理员的统计分析部分,利用Vue与可视化库进行结合展示一些比较复杂的图表数据;在线咨询的实现是通过Vue的生命周期钩子函数与计算属性来实现对于用户状态变化的关注,并据此展开相应的操作,实现与服务器的通信。[13]2.3Mybatis框架作为半自动化的持久层ORM框架,Mybatis框架巧妙地将直接控制SQL语句和对象关系映射两者结合起来。不像一些完全封装了SQL的框架,Mybatis利用XML或者注解的方式让我们能够书写原始SQL,并且它还具备参数映射、自动将结果集映射成对象的功能,在保留SQL优化的可能的同时,减少了Java对象和数据库之间的交互难度。Mybatis的动态SQL可以让我们根据输入的参数来组成不同的SQL语句;Mybatis的缓存也可以有效地提高我们的数据访问效率。在学术成果管理系统中,Mybatis负责数据持久化方面的使命,利用专门制定的映射文件,完成了学生成果数据到对象模型的映射。系统中竞赛项目管理模块是用Mybatis的一对多映射实现项目和报名学生的关联查询;利用Mybatis的动态SQL功能针对不同的审核状态搭建不同的查询条件实现学术软著审核;论文材料管理通过Mybatis的批量操作功能来增加效率;系统中的管理员统计分析通过Mybatis的复杂结果映射将多表联合查询的结果直接映射成前端需要的统计数据结构,免去了大量的手动数据转换的代码;系统证书材料管理模块也是通过Mybatis的TypeHandler功能来实现特殊数据类型和数据库类型的自动转换,从而提高代码的可读性。[14]2.4Axios技术Axios是基于Promise的HTTP客户端,凭借简洁API设计和强大的请求响应拦截系统,实现了对前后端交互模式的革新,既可以在浏览器也可以在Node.js环境中使用。此外还支持请求取消、自动转换JSON数据、客户端防御XSRF等功能,让异步请求变得更优雅、更易于控制。Axios的拦截器可以让我们在请求之前和响应之后做统一的事情;实例创建让我们可以为不同的服务单独配置不同的请求参数。Axios作为学术成果管理系统中的数据通信重要工具,在封装RESTfulAPI调用的同时,简化了与后端的交互过程。系统竞赛项目报名功能利用Axios的Promise链式调用特性,实现表单提交与文件上传的协同处理;学术软著和论文审核模块通过请求拦截器,在每次请求时自动加入权限认证信息;证书材料管理利用Axios提供的文件上传进度监控功能向用户展示上传进度。在线咨询功能中Axios的超时处理以及请求重试的功能也可以保证在网路不稳定的情况下仍然能够与后台保持连通。Axios并发请求的能力也可以让我们在管理员统计分析功能中一次性拿到多个指标的数据再进行汇总展示,提高我们的数据加载速度以及用户的使用体验。通过响应拦截器对后端返回的错误信息进行统一分装并友好提示,提高系统容错能力及用户使用体验。[15]2.5IDEA工具JetBrains公司的IntelliJIDEA是Java领域的标杆产品,它具有智能代码分析、丰富的重构工具和强大的调试功能,而且内部预置了很多常用的Java框架(如Spring系列、Hibernate等),对代码结构的深度理解可以给开发者提供更加精准的代码提示信息,这不再是简单地罗列一些方法名称那样粗浅了。它对版本控制系统的完美集成可以让团队协作变得更顺畅;数据库工具窗口可以让我们不用再到别的地方去操作数据库了,在这里就可以完成对数据库的各种操作,不用再反复地打开别的软件去完成了。在做这个学术成果管理系统的时候,用到了IDEA对SpringBoot项目的识别功能,可以让我们的项目在初始化的时候就完成一些配置工作,减少了我们的代码量。系统中的竞赛项目报名模块的部分就是利用JPA自动生成了实体类和数据库映射关系;利用代码重构功能对重复代码进行了抽象;论文管理功能使用IDEA的RESTClient来测试API接口;利用IDEA的断点、条件断点功能解决了证书材料管理、在线咨询功能的逻辑问题;利用IDEA的数据库可视化查询工具实现了管理员统计分析模块;利用热部署插件可以在不重启服务器的情况下看到新改的代码,提高了我们的开发效率。在整个项目的开发过程中,IDEA不只是一款单纯的编码工具,而是把编辑-编译-调试-部署统统串在一起的一个全生命周期开发平台,在这样一个平台上进行系统各个模块的协同开发,将会使我们的工作变得更加高效和准确。[16]2.6概念模型设计(1)报名信息的实体属性图如图2.1所示。图2.1报名信息实体图(2)在线客服的实体属性图如图2.2所示。图2.2在线客服实体图(3)竞赛信息的实体属性图如图2.3所示。图2.3竞赛信息实体图(4)论文终审的实体属性图如图2.4所示。图2.4论文终审实体图(5)管理员的实体属性图如图2.5所示。图2.5管理员实体图(6)学工办负责人的实体属性图如图2-6所示。图2.6学工办负责人实体图(7)学生的实体属性图如图2.7所示。图2.7学生实体图(8)学术成果的实体属性图如图2.8所示。图2.8学术成果实体图(9)学术软著的实体属性图如图2.9所示。图2.9学术软著实体图(10)证书材料的实体属性图如图2.10所示。图2.10证书材料实体图E-R图展现了学术成果管理系统中各实体间的关系:用户在系统中可提交竞赛信息、学术软著、证书材料、论文终审等多项内容,这些提交的内容均需由学工办负责人进行审核且通过竞赛信息与报名信息形成关联,而系统管理员则能对学术成果和在线咨询进行统一管理,系统内的用户可通过在线咨询获取答复,管理员对学工办负责人和用户具有管理权限,形成全局E-R模型,如图2.11所示。图2.11系统整体E-R图2.7本章小结本章对系统开发中运用的各项关键技术进行了深入分析,阐明了这些技术的特点和优势,为系统的具体实现提供了技术支撑。第3章需求分析系统需求分析是软件开发的重要环节,本章将从功能需求、非功能需求和数据需求三个维度出发,全面分析学术成果管理系统的建设需求。3.1功能需求功能模块图展现了系统面向三类用户的功能设计,学生模块涵盖竞赛项目报名、学术软著提交等五项功能,学工办负责人模块包含竞赛项目管理、各类材料审核等五项职能,管理员模块则集成了统计分析、用户管理等五项管理功能。功能结构图如图3.1所示。图3.1功能结构图(1)竞赛项目报名模的需求:块竞赛项目报名模块需要为学生提供便捷的项目查询和报名功能,学生可以在系统中浏览当前可报名的竞赛项目信息,包括项目名称、报名时间、竞赛级别、参赛要求等关键信息。系统支持学生按照竞赛类型、报名状态等条件筛选项目。(2)学术论文提交审核模块的需求:学术论文提交审核模块需要建立规范的论文提交和审核流程,学生提交论文时系统要求上传论文全文、期刊收录证明等材料,并填写论文题目、发表时间、期刊名称、收录类型等基本信息。(3)竞赛项目管理模块需求:竞赛项目管理模块应为学工办负责人提供竞赛项目全流程管理能力,可以新建及发布竞赛项目,设置报名条件、报名截止时间等项目参数;同时系统需要显示报名数据的实时统计信息(报名人数、团队数量、专业分布等),方便负责人员随时了解项目报名情况。(4)项目报名审核管理模块的需求是为学工办负责人提供方便快捷的审核工作平台,通过该平台可以按照竞赛项目名称、报名时间、审核状态等条件来对报名信息进行分类和筛选;在进行审核时,有相关的报名材料在线预览的功能,可以对报名表、身份证明、指导教师等附件进行审核,并能尽快填写审核意见和处理结果。(5)学术论文审核模块需求:学术论文审核模块需建立完善的多级审核流程,并设有多级审核权限,不同的审核人员只能看到与其审核级别匹配的论文资料,且有不同的操作权限。同时,在论文审核过程中,在同一个界面要能够看到该篇论文的基础信息、发表情况以及历次审核的情况,并能在线阅读论文全文及上传的相关证明材料。(6)学术成果管理模块需求:学术成果管理模块用于实现学生各类学术成果的统一管理,系统应提供竞赛获奖、学术论文、软件著作权等不同类别的学术成果的分类存储与检索功能;除应具备成果信息录入、修改、删除等基本操作外,还需提供完善的成果统计分析功能,能按照成果类型、获奖等级等维度产生统计图表,供教学管理使用。3.2非功能性需求根据上述性能需求,可得出:该系统需要具有良好的并发处理能力及响应速度,在并发人数超过100人同时在线、系统仍能稳定运行的基础上,各页面的响应时间应小于3秒;文件上传下载速率应大于1MB/s;数据统计、检索的响应时间应小于5秒;此外,系统还需要较强可扩展性,在用户数量以及数据量增长后也可以稳定运行,不会因为用户数量的增加或数据量的增大数据库查询性能出现明显的变化。为了满足系统的安全性需求,需要从以下几个方面来进行保护:采用多层防护的方式,在不同的层次上对系统的安全性进行保护;利用基于角色的访问控制(RBAC)来实现对用户的授权,使用户只能访问自己有权限的功能或数据;将用户密码进行不可逆加密后存储到数据库中;使用HTTPS协议对敏感数据的传输进行加密;具有完善的日志记录功能,能够记录用户的重要操作,并且定期备份重要数据;能抵御常见的Web攻击,例如SQL注入、XSS跨站脚本攻击等。3.3数据需求(1)顶层数据需求分析;顶层数据流图展示了系统中三类用户与学术成果管理系统之间的数据交互关系。三类用户通过系统进行信息交互,形成完整的业务流程。顶层数据流图如图3.2所示。图3.2顶层数据流图(2)一层数据需求分析;一层数据流图细化展示了系统各功能模块之间的数据流向。从学生用户端发起的竞赛项目报名、学术软著提交等操作通过相应的处理流程传递到系统,经过学生管理模块进行初步处理。管理员对学工办负责人进行管理,学工办负责人则负责处理项目报名审核、学术成果审核等业务。所有数据最终通过各个数据存储模块(D4-D13)进行保存,实现了系统数据的完整流转和存储。一层数据流图如图3.3所示。图3.3一层数据流图3.4本章小结本章通过对系统各个模块的需求进行细致分析,明确了系统的功能边界和性能指标,为后续系统设计提供了明确的目标和方向。第4章系统设计与实现4.1总体设计系统采用五层架构模式设计,整体架构自上而下依次为前端UI层、业务层、数据层、基础服务层和运行环境层。如图4-1所示。图4-1平台整体架构示意图(1)接入层的实现主要借助于Vue框架及ElementUI组件库来完成用户界面的设计,通过VueRouter完成前端的路由设置以及页面的跳转,利用Vuex对用户登录状态、权限信息进行管理实现不同角色用户的准入,依据用户的实际情况允许其进入具有该角色职能范围内的功能模块;运用ElementUI的Grid栅格系统实现界面布局的响应式设计,以提升用户的使用体验;借助Axios库对HTTP请求进行封装,对前后端接口调用和响应数据统一处理后才能让前端与后台的数据能够安全有效地传输到后台;在用户登录时采用token认证模式,在用户登录成功之后在服务端产生token并返回到客户端进行存储,在后续每次请求的时候将token放到请求头中进行身份校验;对用户密码进行加密存储、传输,提高系统安全性;根据各个用户的职能设置了不同的菜单权限:学生用户能够看到竞赛项目报名、学术成果提交等功能菜单,而学工办负责人可以对学生用户上传的竞赛项目、学术成果等进行审核。在进行交互设计的时候,我们用面包屑导航来显示当前所处页面;并利用ElementUI的Message组件显示一些操作提示;用Loading加载等待球体显示加载中。(2)从数据层来说,系统的数据层使用MySQL数据库来存储业务数据,并设计了用户信息表、竞赛项目表、成果记录表等一些核心数据表;利用MyBatis框架来完成对数据库的操作,在XML配置文件中对SQL语句进行维护,可以做到动态SQL以及复杂的SQL查询;在数据层中遵守三范式的要求来设置字段类型和创建索引,以便于提高查询的速度;通过事务来保证数据操作的原子性与一致性;采用数据库连接池技术提高系统的并发处理能力;实现数据备份及恢复功能以保证数据的安全。其中用户信息表中有用户的基本信息、角色信息以及登录凭证等字段,用于实现用户的身份认证和权限管理功能;竞赛项目表中保存着项目名称、报名截止时间、项目状态等信息,并且利用外键关联参赛学生表来保证项目的报名数据是完整的;成果记录表用来保存学术论文、软件著作权等各种各样的成果,以及成果名称、提交时间、审核状态这些字段,用状态字段来记录成果的审核状态。对于一些经常使用的查询字段,我们做了索引,以方便更快捷的得到想要的信息,同时采用了MyBatis的缓存来减轻数据库的压力。在数据的安全方面,实现定时备份,通过增量备份的形式来保存数据的更改记录。(3)各主要功能模块设计与实现:竞赛项目报名功能围绕学生使用系统参与竞赛活动展开,学生登录系统后通过查找到感兴趣的竞赛项目入口并检查报名资格,符合条件的学生可填写报名信息并提交相应材料,在整个报名流程中系统对学生填写的信息进行实时校验并给出相应提示。竞赛项目报名功能流程图如图4-2。图4-2竞赛项目报名功能流程图学术论文提交审核功能从论文格式与内容两个维度展开评估,对提交的论文进行严格的分步骤审查,系统在接收到学生提交的论文后会优先对论文格式进行初步审核,通过格式审核的论文随后会进入内容审核环节。学术论文提交审核功能流程图如图4-3。图4-3学术论文提交审核功能流程图竞赛项目管理功能依托管理人员对项目全周期的把控,系统会对新申报的竞赛项目进行材料收集与审核,而对已立项的竞赛项目则实时更新其进度状态并分配指导教师,管理人员可通过这套流程实现对竞赛项目的精细化管理与跟踪,从而保证竞赛项目有序开展且便于后期数据统计分析。竞赛项目管理功能流程图如图4-4。图4-4竞赛项目管理功能流程图项目报名审核管理功能贯穿整个竞赛报名过程,管理人员在收到学生的报名申请后会对报名信息的完整性与合规性进行审核,对于不合规的报名信息系统会及时通知学生进行修改补充,而通过审核的报名信息则会被记录并通知申请人。项目报名审核管理功能流程图如图4-5。图4-5项目报名审核管理功能流程图学术论文审核功能专注保证论文的学术质量,系统在接收论文后会对其进行格式规范和内容要求的双重检查,对于不符合要求的论文会通知作者修改并重新提交,而通过质量评估的论文则进入最终审核环节并记录相关信息。学术论文审核功能流程图如图4-6。图4-6学术论文审核功能流程图学术成果管理功能注重对各类学术成果的统一管理与分析,学工办负责人通过系统可以实时查看新提交的学术成果并进行审核,对现有学术成果则可以根据特定条件进行筛选并导出成果报告。学术成果管理功能流程图如图4-7。图4-7学术成果管理功能流程图4.2逻辑模型设计报名信息表:存储报名信息的基本信息。报名信息(主键ID、创建时间、学工账号、姓名、竞赛名称、竞赛类型、竞赛图片、竞赛时间、报名时间、学生学号)表结构如表4-1所示。表4-1报名信息表序号字段名数据类型主键非空描述1idbigint(20)是是主键2addtimetimestamp否是创建时间3xuegongzhanghaovarchar(20)否否学工账号4xingmingvarchar(20)否否姓名5jingsaimingchengvarchar(20)否是竞赛名称6jingsaileixingvarchar(20)否否竞赛类型7jingsaitupianlongtext否否竞赛图片8jingsaishijianvarchar(20)否是竞赛时间9baomingshijiandatetime否否报名时间10xueshengxuehaovarchar(10)否否学生学号在线客服表:存储在线客服的基本信息。在线客服(主键ID、创建时间、用户ID、管理员ID、提问、回复、是否回复)表结构如表4-2所示。表4-2在线客服表序号字段名数据类型主键非空描述1idbigint(20)是是主键2addtimetimestamp否是创建时间3useridbigint(20)否是用户id4adminidbigint(20)否否管理员id5asklongtext否否提问6replylongtext否否回复7isreplyint(11)否否是否回复竞赛信息表:存储竞赛信息的基本信息。竞赛信息(主键ID、创建时间、学工账号、姓名、竞赛名称、竞赛类型、竞赛图片、竞赛时间、发布时间、比赛形式、比赛规则)表结构如表4-3所示。表4-3竞赛信息表序号字段名数据类型主键非空描述1idbigint(20)是是主键2addtimetimestamp否是创建时间3xuegongzhanghaovarchar(20)否否学工账号4xingmingvarchar(20)否否姓名5jingsaimingchengvarchar(20)否是竞赛名称6jingsaileixingvarchar(20)否否竞赛类型7jingsaitupianlongtext否否竞赛图片8jingsaishijiandatetime否是竞赛时间9fabushijiandatetime否否发布时间10bisaixingshilongtext否否比赛形式11bisaiguizelongtext否否比赛规则管理员表:存储管理员的基本信息。理员(主键ID、用户名、密码、头像、角色、新增时间)表结构如表4-4所示。表4-4管理员表序号字段名数据类型主键非空描述1idbigint(20)是是主键2usernamevarchar(10)否是用户名3passwordvarchar(10)否是密码4imagevarchar(50)否否头像5rolevarchar(10)否否角色6addtimetimestamp否是新增时间论文终审表:存储论文终审的基本信息。论文终审(主键ID、创建时间、论文编号、论文名称、图片、授权日期、论文材料、备注、学生学号、姓名)表结构如表4-5所示。表4-5论文终审表序号字段名数据类型主键非空描述1idbigint(20)是是主键2addtimetimestamp否是创建时间3lunwenbianhaovarchar(20)否否论文编号4lunwenmingchengvarchar(20)否否论文名称5tupianlongtext否否图片6shouquanriqidate否否授权日期7lunwencailiaolongtext否否论文材料8beizhuvarchar(20)否否备注9xueshengxuehaovarchar(20)否否学生学号10xingmingvarchar(20)否否姓名学工办负责人表:存储学工办负责人的基本信息。学工办负责人(主键ID、创建时间、学工账号、密码、姓名、性别、手机号、身份证、头像)表结构如表4-6所示。表4-6学工办负责人表序号字段名数据类型主键非空描述1idbigint(20)是是主键2addtimetimestamp否是创建时间3xuegongzhanghaovarchar(20)否是学工账号4mimavarchar(20)否是密码5xingmingvarchar(20)否是姓名6xingbievarchar(1)否否性别7shoujihaovarchar(11)否否手机号8shenfenzhengvarchar(18)否否身份证9touxianglongtext否否头像学生表:存储学生的基本信息。学生(主键ID、创建时间、学生学号、密码、姓名、性别、年龄、专业、班级、邮箱、手机号、身份证、头像)表结构如表4-7所示。表4-7学生表序号字段名数据类型主键非空描述1idbigint(20)是是主键2addtimetimestamp否是创建时间3xueshengxuehaovarchar(20)否是学生学号4mimavarchar(20)否是密码5xingmingvarchar(20)否是姓名6xingbievarchar(1)否否性别7nianlingvarchar(20)否否年龄8zhuanyevarchar(20)否否专业9banjivarchar(20)否否班级10youxiangvarchar(20)否否邮箱11shoujihaovarchar(11)否否手机号12shenfenzhengvarchar(18)否否身份证13touxianglongtext否否头像学术成果表:存储学术成果的基本信息。学术成果(主键ID、创建时间、学生学号、姓名、专业、班级、学年、学期、成果名称、成果类型)表结构如表4-8所示。表4-8学术成果表序号字段名数据类型主键非空描述1idbigint(20)是是主键2addtimetimestamp否是创建时间3xueshengxuehaovarchar(20)否否学生学号4xingmingvarchar(20)否否姓名5zhuanyevarchar(20)否否专业6banjivarchar(20)否否班级7xuenianvarchar(20)否否学年8xueqivarchar(20)否否学期9chengguomingchengvarchar(20)否否成果名称10chengguoleixingvarchar(20)否否成果类型学术软著表:存储学术软著的基本信息。学术软著(主键ID、创建时间、软著编号、软著名称、图片、授权日期、相关资料、备注、学生学号、姓名)表结构如表4-9所示。表4-9学术软著表序号字段名数据类型主键非空描述1idbigint(20)是是主键2addtimetimestamp否是创建时间3ruanzhubianhaovarchar(20)否否软著编号4ruanzhumingchengvarchar(20)否否软著名称5tupianlongtext否否图片6shouquanriqidate否否授权日期7xiangguanziliaolongtext否否相关资料8beizhuvarchar(20)否否备注9xueshengxuehaovarchar(20)否否学生学号10xingmingvarchar(20)否否姓名证书材料表:存储证书材料的基本信息。证书材料(主键ID、创建时间、证书编号、证书名称、图片、授权日期、证书材料、备注、学生学号、姓名)表结构如表4-10所示。表4-10证书材料表序号字段名数据类型主键非空描述1idbigint(20)是是主键2addtimetimestamp否是创建时间3zhengshubianhaovarchar(20)否否证书编号4zhengshumingchengvarchar(20)否否证书名称5tupianlongtext否否图片6shouquanriqidate否否授权日期7zhengshucailiaolongtext否否证书材料8beizhuvarchar(20)否否备注9xueshengxuehaovarchar(20)否否学生学号10xingmingvarchar(20)否否姓名4.3本章小结本章完成了系统的整体架构设计,细化了各功能模块的具体实现方案,建立了完整的数据库模型,为系统开发打下了良好的基础。第5章系统实现和部署与测试5.1学生功能(1)竞赛项目报名:学生在使用竞赛项目报名功能时,通过点击页面中的竞赛报名按钮进入报名页面。此时前端会通过POST请求将填写的报名信息发送到后端的BaomingxinxiController的/add接口。在后端,这个请求被路由到add方法,调用BaomingxinxiService将报名信息保存到数据库的baomingxinxi表中。竞赛项目报名界面如图5-1所示。图5-1竞赛项目报名界面(2)学术软著提交资料审核:学生点击软著提交后上传相关资料,系统通过前端将文件和表单数据一并发送到XueshuruanzhuController的/add接口。后端收到请求后,会调用XueshuruanzhuService处理提交的软著信息,先检查软著编号是否已存在于数据库xueshuruanzhu表中,通过EntityWrapper设置约束条件完成验证;如果通过校验,软著信息会通过insert操作插入数据库。学术软著提交资料审核界面如图5-2所示。图5-2学术软著提交资料审核界面(3)学术论文提交审核:学生进入学术论文提交页面后,将论文信息填写完毕并上传文件,前端通过POST请求将这些数据发送到XueshulunwenController的/add接口。在后端,add方法会调用XueshulunwenService处理提交的数据,先通过EntityWrapper验证论文编号的唯一性,避免重复提交;接着,调用insert方法将论文记录插入数据库的xueshulunwen表中,同时将论文状态设置为待审核。学术论文提交审核界面如图5-3所示。图5-3学术论文提交审核界面(4)证书材料提交:学生通过上传证书材料进入证书提交界面,填写必要的信息后,前端会将这些内容通过POST请求提交到ZhengshucailiaoController的/add接口。后端收到请求后,会调用ZhengshucailiaoService验证证书编号的唯一性,检查是否已存在于数据库的zhengshucailiao表中;通过校验后,调用insert方法保存数据,并将证书状态初始为待审核。证书材料提交界面如图5-4所示。图5-4证书材料提交界面(5)在线咨询:学生在页面的在线咨询区域输入问题并点击提交,前端会通过POST请求将问题发送到ChatController的/add接口。后端通过调用ChatService将问题存储到数据库的chat表中,同时记录当前学生的身份和时间信息。系统会自动将问题分配给管理员或学工办负责人处理,后台通过状态字段更新问题的处理进度。在线咨询界面如图5-5所示。图5-5在线咨询界面5.2学工办负责人功能(1)竞赛项目管理:学工办负责人在登录系统后,通过点击竞赛管理进入管理页面,前端通过GET请求调用后端的JingsaixinxiController的/page接口获取所有竞赛项目的列表数据。后端通过调用JingsaixinxiService,结合EntityWrapper构造查询条件,查询数据库中jingsaixinxi表的竞赛记录并分页返回给前端。页面上显示竞赛的详细信息,负责人可以通过点击新增按钮添加竞赛项目,前端将填写的数据通过POST请求发送到/add接口。后端将数据插入数据库,完成新增操作。竞赛项目管理界面如图5-6所示。图5-6竞赛项目管理界面(2)项目报名审核管理:当学工办负责人需要审核学生提交的竞赛报名时,系统会展示所有报名信息列表。点击某条报名信息后,前端通过GET请求调用后端的BaomingxinxiController的/page接口获取报名数据,并根据状态字段过滤出待审核的记录。后端会调用BaomingxinxiService从baomingxinxi表中查询数据并返回结果。负责人点击审核通过或拒绝按钮时,前端将状态字段通过PUT请求发送到/update接口。后端接收到请求后,通过EntityWrapper锁定目标记录,调用updateById方法更新数据库中的报名状态。项目报名审核管理界面如图5-7所示。图5-7项目报名审核管理界面(3)学术软著审核:学工办负责人在进入软著审核模块后,系统会加载所有学生提交的软著资料。前端通过GET请求调用XueshuruanzhuController的/page接口获取软著信息,后端使用XueshuruanzhuService查询xueshuruanzhu表,并根据审核状态筛选出待审核的记录返回前端。负责人选择某条记录,点击审核通过或驳回后,前端将操作状态和审核意见通过PUT请求发送到/update接口。后端调用updateById方法更新软著状态字段及审核意见至数据库,同时记录操作时间。学术软著审核界面如图5-8所示。图5-8学术软著审核界面(4)学术论文审核:在学术论文审核页面,学工办负责人可以查看所有学生提交的论文及其详情。前端通过GET请求调用XueshulunwenController的/page接口,后端通过XueshulunwenService查询xueshulunwen表并返回结果。对于待审核的论文,负责人可以点击进入详情页面,审阅论文内容。审核完成后,负责人选择通过或驳回按钮,前端将审核状态及反馈意见通过POST请求发送到/shBatch接口。后端利用updateBatchById方法批量更新状态及反馈意见字段,同时返回操作结果。学术论文审核界面如图5-9所示。图5-9学术论文审核界面(5)证书材料审核:学工办负责人通过点击证书审核进入审核页面,系统加载所有学生提交的证书材料信息。前端通过GET请求调用ZhengshucailiaoController的/page接口,后端使用ZhengshucailiaoService查询zhengshucailiao表中的待审核记录并返回分页数据。负责人查看详情后,可以点击通过或驳回,前端通过PUT请求将操作发送到/update接口。后端通过updateById方法更新证书状态及审核反馈到数据库。证书材料审核界面如图5-10所示。图5-10证书材料审核界面5.3管理员功能(1)统计分析:管理员在登录系统后进入统计分析页面,可以选择不同的分析维度,如按时间、分类或具体字段进行统计。前端通过GET请求调用CommonController的/group或/value接口,将所选维度的统计参数传递到后端。后端通过CommonController调用CommonService,结合EntityWrapper动态构建查询条件,从数据库中执行分组统计或按值统计的SQL语句,并将结果以JSON格式返回给前端。统计分析界面如图5-11所示。图5-11统计分析界面(2)学生管理:管理员点击学生管理进入学生信息维护页面,系统通过GET请求调用XueshengController的/page接口,从后端获取所有学生的列表数据。后端调用XueshengService查询xuesheng表,支持条件过滤和分页功能。当管理员需要新增或修改学生信息时,前端会通过POST或PUT请求调用/add或/update接口,后端对数据进行字段验证并通过insert或updateById方法执行数据的插入或更新操作。学生管理界面如图5-12所示。图5-12学生管理界面(3)学工办负责人管理:在学工办负责人管理页面,管理员可以查看现有负责人的信息并执行添加、修改或删除操作。前端通过GET请求调用XuegongbanfuzerenController的/page接口获取负责人列表数据,后端使用XuegongbanfuzerenService从xuegongbanfuzeren表中查询信息并返回分页结果。管理员新增负责人的操作通过POST请求调用/add接口,后端在验证学工账号唯一性后使用insert方法将数据插入数据库。学工办负责人管理界面如图5-13所示。图5-13学工办负责人管理界面(4)学术成果管理:管理员在学术成果管理页面中,可以查看学生提交的论文、软著等成果。系统通过GET请求调用XueshuchengguoController的/page接口获取成果列表。后端调用XueshuchengguoService从xueshuchengguo表中查询数据,并根据条件过滤分页。对于需要审核的成果,管理员点击记录后可以在详情页面中查看具体内容,并通过POST请求提交审核结果到/update接口。后端通过updateById方法更新成果状态,系统返回操作成功的信息后页面自动刷新,让管理员完成成果管理。学术成果管理界面如图5-14所示。图5-14学术成果管理界面(5)在线咨询管理:管理员在在线咨询管理页面可以查看学生或学工办负责人的提问记录。系统通过GET请求调用ChatController的/page接口获取所有咨询记录,后端通过ChatService从chat表中查询数据,并根据状态字段对未回复和已回复的内容进行分类返回。管理员点击未处理的咨询后,通过输入框回复学生或负责人,系统通过POST请求将回复内容发送到/update接口,后端使用updateById方法更新咨询状态和回复内容字段。在线咨询管理界面如图5-15所示。图5-15在线咨询管理界面5.4部署所需的软硬件环境学术成果管理系统的运行需要稳定可靠的软硬件环境支持,硬件环境方面需配备处理器为IntelCorei5及以上、内存8GB及以上、硬盘空间100GB以上的服务器,操作系统采用WindowsServer2016或CentOS7.0及以上版本;软件环境需要配置JDK1.8、MySQL5.7、Redis6.0、Nginx1.18等基础组件,并预装Maven3.6用于项目构建,同时需要配置Node.js环境用于前端项目的编译与运行。5.5具体部署实施系统的部署是按照先后顺序分为以下几步来完成的:后端服务的部署是将项目打成jar包上传到服务器指定的目录下,并通过配置application.yml文件来设置数据库连接信息、Redis缓存配置及其它系统参数,用守护进程管理工具(例如:Supervisor)来保证我们的服务一直在运行;前端项目的部署是指利用npm打包生成静态资源文件,将打包后的dist目录上传到Nginx服务器上,利用Nginx的反向代理实现前后端的通信;数据库的部署则是指执行SQL脚本创建数据库表结构以及初始数据,对MySQL进行一些简单的性能优化配置。5.6测试系统测试使用多层测试的方法,性能测试通过JMeter模拟300个并发用户,同时访问系统,在高并发情况下,系统响应时间要小于2秒,CPU利用率不能超过80%;功能测试涵盖了学生竞赛报名、论文提交、证书材料上传等功能,通过编写测试用例来保证功能的完整性和正确性;安全性测试主要是针对用户的身份认证、数据访问控制、敏感信息加密等一些安全机制进行测试,通过专业的安全测试工具进行漏洞扫描和渗透测试,以达到预期的安全要求。竞赛项目报名功能模块的测试用例的设计如表6-1所示。表6-1竞赛项目报名功能测试用例表字段名称描述标识符TC_CompetitionReg_001测试项验证学生竞赛报名功能设计者学生测试环境要求Windows系统、Chrome浏览器、系统正常运行测试方法黑盒测试输入说明用学生账号登录系统、点击竞赛项目报名入口、选择感兴趣的竞赛项目、填写报名信息、提交报名材料输出标准系统成功保存报名信息、显示报名成功提示、相关数据正确写入数据库特殊要求文件上传大小不超过10MB用例之间的依赖性需要先完成学生登录功能测试学术论文提交审核功能模块的测试用例的设计如表6-2所示。表6-2学术论文提交审核功能测试用例表字段名称描述标识符TC_PaperSubmit_001测试项验证学术论文提交与审核流程设计者学生测试环境要求Windows系统、Chrome浏览器、系统正常运行测试方法黑盒测试输入说明上传论文文件、填写论文信息、提交审核申请输出标准系统显示提交成功提示、论文状态更新为待审核、管理员可在后台看到待审核论文特殊要求支持DOC、PDF格式文件上传用例之间的依赖性无学术论文审核功能模块的测试用例的设计如表6-3所示。表6-3学术论文审核功能测试用例表字段名称描述标识符TC_PaperReview_001测试项验证学工办负责人审核论文功能设计者学生测试环境要求Windows系统、Chrome浏览器、系统正常运行测试方法黑盒测试输入说明学工办负责人登录、查看待审核论文、进行审核操作(通过/驳回)、填写审核意见输出标准审核状态正确更新、系统通知学生审核结果、数据库记录更新特殊要求审核意见字数不超过200字用例之间的依赖性依赖于论文提交功能竞赛项目管理功能模块的测试用例的设计如表6-4所示。表6-4竞赛项目管理功能测试用例表字段名称描述标识符TC_CompetitionMng_001测试项验证竞赛项目管理功能设计者学生测试环境要求Windows系统、Chrome浏览器、系统正常运行测试方法黑盒测试输入说明创建新竞赛项目、填写竞赛信息、上传竞赛相关资料、发布竞赛信息输出标准竞赛信息成功保存并发布、学生端可以看到新发布的竞赛信息特殊要求竞赛图片必须为JPG或PNG格式用例之间的依赖性无5.7本章小结本章完成了系统的部署工作,通过系统测试验证了各项功能的正确性和系统性能的稳定性,确保系统能够满足实际应用需求。结论学术成果管理系统,汇聚学生、学工办负责人、管理员等角色的需求,打造符合实际业务情况的完整的学术成果管理生态链;另该系统打破传统的管理方式,实现竞赛报名、证书管理等全过程的管理,并且降低了学术资源流转的成本,提高了管理效率,还能使学校的学术成果实现数字化,给高校学术成果的管理提供了一种新的解决方式,不仅仅可以用于单一的学校,也可以作为区域性的学术资源整理的平台使用。系统最大的优点(1)是系统多角色协同管理机制的创新,传统系统管理职责全部归于管理员,没有发挥出学生以及学工办负责人的主体作用,通过细化系统的授权方式,让学生可以方便地进行学术成果的提交和追踪,而学工办负责人只需要专注地完成相关的审核工作。(2)系统另一大特色是拥有全过程学术成果追踪与管理的功能,与只注重结果的传统系统不同,本平台从竞赛项目报名开始到学术软著提交、证书材料管理等全过程都可以实现跟踪管理,学生可以随时看到自己的审核进展情况,管理人员也可以看到该过程的所有记录,达到完整审计链的效果。同时,系统还设置了多种筛选维度,可按时间范围、成果类型、审核状态等快速找到所需数据。采取全过程管理模式有助于提高学术成果管理的透明度,并有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论