博主简介:🍅博客专家、Java领域优质创作者、特邀作者、华为云/阿里云等平台优质作者、专注于IT技术领域和学生毕业项目实战,指导学生毕业设计并参与学生毕业答辩指导🍅
技术范围:✌Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、安卓app、大数据、物联网、机器学习等设计与开发、简历模板、学习资料、面试题库、就业指导、技术互助等✌。
业务领域:✌免费功能设计定制、任务书、中期检查PPT、开题报告、系统功能实现、项目定制、论文辅导、撰写和降重、长期答辩辅导答疑、远程会议一对一专业讲解答辩辅导、模拟演练答辩、和代码讲解理解逻辑思路✌。
【万字文档+PPT+源码】基于springboot+vue的研究生科研文档资料管理系统-可用于毕设-课程设计-练手学习
摘 要
随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于研究生科研文档资料管理系统当然也不能排除在外,随着网络技术的不断成熟,带动了研究生科研文档资料管理系统,它彻底改变了过去传统的管理方式,不仅使管理难度变低了,还提升了管理的灵活性。这种个性化的平台特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对研究生科研文档资料管理而言非常有利。
本设计主要实现集人性化、高效率、便捷等优点于一身的研究生科研文档资料管理系统,完成首页、个人中心、系统用户(管理员、教师用户、学生用户)、模块管理(课题小组、小组学生、项目任务、立项审批、立项答辩、中期检测、验收检验、结项审批、成果认证、论文开题、论文检验、结题验收、实验数据)等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。只需通过一台电脑,动动手指就可以操作系统,实现数据通信管理。整个系统的设计过程都充分考虑了数据的安全、稳定及可靠等问题,而且操作过程简单。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。
研究生科研文档资料管理系统使用Java语言、 B/S模式进行开发,后台使用springboot这个框架,数据库采用目前流行的开源关系型数据库MYSQL,实现了本系统的全部功能。
第1章绪论
1.1研究背景与意义
研究生科研文档资料管理是学校工作中的一项重要内容,我国的院校的研究生科研文档资料管理水平普遍不高。随着办学规模的扩大和招生人数的增加,建立一个研究生科研文档资料管理系统是非常必要的。普通的人工管理研究生科研文档资料浪费了许多的人力和物力,已不能适应时代的发展。在当今信息时代,这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。
本系统在大多数研究生科研文档资料管理系统的基础上,主要增加了指导老师对研究生科研文档资料管理,指导老师不用在线下完成组课题小组、小组学生、项目任务、立项审批、立项答辩、中期检测、验收检验、结项审批、成果认证、论文开题、论文检验、结题验收等工作,可以直接在网络上完成相关工作,学生也可以方便快速的完成科研文档资料管理工作,不受时间,位置,空间的限制,只要有上网的条件,在家里就可以完成有关论文的组课题小组、小组学生、项目任务、立项审批、立项答辩、中期检测、验收检验、结项审批、成果认证、论文开题、论文检验、结题验收等。本系统将会改变以前靠手工管理研究生科研文档资料的状况,提高工作效率。希望能为老师和学校的工作带来便利。
1.2开发现状
在国外学校,与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。而国内学校信息化建设相对起步较晚。在数字校园理论逐步应用的过程中,各学校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内学校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外学校相比都有一定的差距。
纵观目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因此,教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。
第2章相关技术介绍
2.1 B/S体系结构
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server同数据库进行数据交互[1][2]。
2.2 Java语言与JDK开发环境
Java是美国sun公司所推出的一款程序设计语言,其能够在多个平台内应用,具有良好兼容性,进而其凭借自身优势在数据中心、个人PC与科技超级计算机等平台内广泛应用,具有目前最为庞大的开发者专业社群[3]。
JDK为美国sun公司为java开发员所推出的一款全新产品,要是没有JDK的情况下,所安装的java程序也就无法运行[4]。
2.3 MVVM模式
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
2.4 MySQL数据库
科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库,而这次的研究生科研文档资料管理系统也需要这项技术的支持。
用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象。
2.5 spring boot框架介绍
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
2.6 Vue.js 主要功能
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
第3章系统分析
3.1可行性分析
本次设计基于B/S 模式下,采用的是Mysql数据库和springboot框架实现,总体的可行性共分为以下三个方面。
3.1.1 技术可行性分析
所谓的技术可行性就是在限定时间,前期拟定的功能能否被满足。在开发设计上是否会遇上解决不了的问题。做完的项目能否被很好地应用,如果存在缺点在后期的维护上是否存在很大的难度。在对这个系统评估后,认定已存在的技术能达成目标。用PHP技术来实现动态的页面,嵌入低依赖性的设计模式,灵活的数据库,配合稳定的服务器,整个系统的运行效率大大提升。由此可见,在技术层面达成目标不是非非之想。
3.1.2 经济可行性分析
在项目上使用的工具大部分都是是当下流行开源免费的,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响,所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费,以及设备费用。将在无纸化,高效率的道路上越走越远。
3.1.3 操作可行性分析
本系统实现功能的操作很简单,普通电脑的常见配置就可以运行本软件,并且只要粗通电脑使用的基本常识就可以流畅的使用本软件。电脑具备连接互联网的能力,并且可以正常访问系统,并不需要操作者有什么高超的能力,只需了解业务流程,并且按照专业知识进行正确操作即可,所以研究生科研文档资料管理系统具备操作可行性。
3.2 功能需求分析
在系统开发设计前,应该对功能做初步设想,清楚这个管理系统有什么板块,每个板块有什么功能,整体的设计是否满足使用者的需求,接着对所开发的系统功能进行的详细分析总结,从而设计出完整的系统并将其实现。用户和开发人员的交流分析,使其达到最佳理解程度,使系统功能达到最佳。
学生、老师、管理员用例图如下所示。
管理员用例图如下所示。
第4章系统设计
4.1系统架构设计
目前B/S体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。研究生科研文档资料管理系统主要分为视图-模型-控制三层架构设计。在视图层中,主要是操作在服务器端向客户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层它介于视图和模型之间,主要是调整两层之间的关系,最终落实数据的传递。
系统架构图如下图所示。
图4-1系统架构图
4.2系统功能结构
系统设计的目的是分析系统包括的所有功能结构,为开发人员设计开发和实现系统做好准备工作。经过前期的需求调查、分析和整理之后,确定的总体需求主要包括多个模块,分别是:首页、个人中心、系统用户(管理员、教师用户、学生用户)、模块管理(课题小组、小组学生、项目任务、立项审批、立项答辩、中期检测、验收检验、结项审批、成果认证、论文开题、论文检验、结题验收、实验数据)。系统整体角色分为三个部分,一是学生、二是老师、最后是管理员。权限分布也是很明显,普通用户是在除去浏览信息之外还具有查询和管理账户信息、课题小组、小组学生、项目任务、立项审批、立项答辩、中期检测、验收检验、结项审批、成果认证、论文开题、论文检验、结题验收、实验数据等权限;管理员是最高权限拥有者。
系统功能结构图如下图所示。
图4-2系统功能结构图
4.3功能模块设计
用户管理模块
该模块是为所有用户登录设计的,如学生用户这种普通用户登录后只能进行自己的普通功能操作(如个人信息修改),管理员登录后有不同的权限,能对整个系统的数据进行管理,主要是用户的登录权限以及用户登录后在系统里的操作权限。
- 课题小组模块
老师可以成立课题小组,输入课题小组信息,然后生成课题小组列表,学生可以看看和加入课题小组列表。 - 项目任务模块
操作人来录入项目任务数据,点击项目任务录入按钮,依次填写要录入的项目任务数据,点击提交按钮,将数据提交至数据库,然后刷新项目任务数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能,操作人为老师。 - 立项审批模块
老师可以进行立项审批,学生可以查看审批状态等信息。 - 立项答辩模块
学生点击立项答辩菜单,点击立项答辩添加子菜单,添加立项答辩数据,填写相关信息,提交成功后,立项答辩数据页面刷新,新数据成功载入页面。 - 中期检测模块
学生点击中期检测菜单,点击中期检测添加子菜单,添加中期检测数据,填写相关信息,提交成功后,立项中期检测页面刷新,新数据成功载入页面。
第5章系统实现
5.1登录模块的实现
5.2 注册模块的实现
5.3学生用户子系统模块的实现
小组学生,学生用户可以查看小组名称、小组教师、学生用户、学生姓名、项目级别、所属学院、任务附件、成果类型、教师姓名、项目名称、学科名称、项目状态等信息,并可进行详情、成果认证等操作如图所示
立项审批,学生用户可以提交小组名称、小组教师、教师姓名、学生用户、学生姓名、项目名称、项目级别、所属学院、立项附件、学科名称、立项时间、审核状态等信息
论文开题,学生用户可以提交小组名称、小组类型、小组教师、学生用户、学生姓名、教师姓名、论文名称、论文类型、论文附件、开题时间、备注信息、审核状态等信息
5.4教师用户子系统模块的实现
项目任务,教师用户可以提交小组名称、小组教师、教师姓名、学生用户、学生姓名、项目名称、项目级别、所属学院、任务附件、成果类型、学科名称、项目状态等信息进行发布项目任务,如图所示。
立项审批,教师用户可以查看小组名称、小组教师、教师姓名、学生用户、学生姓名、项目名称、项目级别、所属学院、立项附件、学科名称、立项时间、审核状态等信息,并进行审核操作
立项答辩,教师用户可以查看小组名称、小组教师、教师姓名、学生用户、学生姓名、项目名称、项目级别、所属学院、答辩附件、答辩时间、审核状态等信息,并进行审核、查询等操作,如图所示。
5.5管理员子系统模块的实现
实验数据,管理员可以查看实验名称、实验类型、实验时间、实验附件、实验描述、实验内容、创建时间、更新时间等信息,并可进行查询、重置、添加、删除、详情等操作,如下图所示。
文档截图