springboot大学毕业设计自动提交系统
摘 要
信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对毕业设计自动提交系统等问题,对毕业设计自动提交管理进行研究分析,然后开发设计出毕业设计自动提交系统以解决问题。
毕业设计自动提交系统主要功能模块包括系统首页、用户管理(管理员、教师、学生)更多管理(毕设课题、学生选题、资料提交、论文批复、论文成绩、通知公告),采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用springboot框架、java技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对毕业设计自动提交系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现毕业设计自动提交系统和部署运行使用它。
关键词:毕业设计自动提交管理;springboot框架;MySQL数据库
Spring boot automatic submission system for college graduation project
Abstract
There is a need for targeted information acquisition channels in the information society, but the expansion of channels is basically the direction of people's efforts. Due to the deviation of the perspective, people can often obtain different types of information, which is also the most difficult task for technology to overcome. Aiming at the problems of automatic submission system of graduation design, this paper studies and analyzes the management of automatic submission of graduation design, and then develops and designs an automatic submission system of graduation design to solve the problems.
The main functional modules of the graduation project automatic submission system include the system homepage, user management (administrators, teachers, students) and more management (graduation project, student topic selection, data submission, paper approval, paper results, notice and announcement). The object-oriented development mode is adopted for software development and hardware erection, which can well meet the needs of actual use and improve the corresponding software erection and program coding, MySQL is used as the main storage unit of background data, and springboot framework, Java technology and Ajax technology are used to code and develop the business system, and all functions of the system are realized. This report first analyzes the background, role and significance of the research, laying a foundation for the rationality of the research work. This paper analyzes the various requirements and technical problems of the automatic submission system of graduation design, proves the necessity and technical feasibility of the system, and then makes a basic introduction to the technical software and design ideas required by the design system. Finally, it realizes the automatic submission system of graduation design and deploys and runs it.
Keywords: automatic submission management of graduation design; Springboot framework; Mysql database
目 录
第1章绪论
1.1研究背景
对于毕业设计自动提交系统所牵扯的管理及数据保存都是非常多的,例如系统首页、用户管理(管理员、教师、学生)更多管理(毕设课题、学生选题、资料提交、论文批复、论文成绩、通知公告)系统管理等,这给管理者的工作带来了巨大的挑战,面对大量的信息,传统的管理系统,都是通过笔记的方式进行详细信息的统计,后来出现电脑,通过电脑输入软件将纸质的信息统计到电脑上,这种方式比较传统,而且想要统计数据信息比较麻烦,还受时间和空间的影响,所以为此开发了毕业设计自动提交系统;为学生提供了方便管理平台,方便管理员查看及维护,并且可以通过需求进行设备信息内容的编辑及维护等;对于学生而言,可以随时进行管理,管理员和用户可以足不出户就可以获取到系统的数据信息等,而且还能节省用户很多时间,所以开发毕业设计自动提交系统给管理者带来了很大的方便,同时也方便管理员对用户信息进行处理。
本论文毕业设计自动提交系统主要牵扯到的程序,数据库与计算机技术等。覆盖知识面大,可以大大的提高系统人员工作效率。
1.2目的和意义
互联网是人类的基本需要,尤其在现代社会,个人压力的增加,社会的高节奏的操作,互联网的高速发展,用户的需求度也越来越高,用户也将越来越依靠网络来代替自己的手工业操作,使得各种管理系统的发展成为必要选择。
随着我国经济迅速发展,互联网对人们的生活及工作都带来了非常大的方便,各种管理系统都在不断的增加,但是大学毕业设计自动提交系统管理查询方面缺乏系统的管理方式,为提高大学毕业设计自动提交系统管理查询效率,特开发了本大学毕业设计自动提交系统。
大学毕业设计自动提交系统将通过计算机进行整体智能化操作,对于大学毕业设计自动提交系统信息的管理及数据保存都是非常多的,为用户提供一个智能化的管理信息平台,方便管理员可以随时随地的查看用户所需的详细信息及所有部门信息内容,增加系统和用户之间的关系,并且对数据信息管理可以及时、准确、有效地进行系统化、标准化和有效化的工作。
1.3研究现状
根据springboot系统广泛使用的市场和服务免费特性,公司可以免费获得平台上新功能开发的源代码,开发成本低,研发速度快,服务范围广,效益最大化。系统采用开源功能,规范了平台,打破了原来手机的操作系统,受到了大家的追捧。同时,它整合了传统移动通信的优势,提高了springboot系统的整体价值。该调查显示,Java系统占据了市场的主要份额,这意味着全球四分之三的智能手机都运行在系统上。目前,大学毕业设计自动提交系统已经吸引很多人的注意,通过互联网来搭建大学毕业设计自动提交系统可以给用户提供更好的服务而且对于用户可以更快捷、高效、安全使用。
互联网的到来,传统的大学毕业设计自动提交系统信息获取,都是通过纸质手工等方式进行翻看杂志、报纸等信息,然后进行一条条的统计数据信息,并且要想获取某一条大学毕业设计自动提交系统数据需要进行查找,需要用户自己手动的统计,最后由于大学毕业设计自动提交系统数据量比较大,传统的数据统计是手动检查和验证的,信息量很大,因为使用手动统计数据是一个很大的工作量,而且错误率很高,当然会有很多数据存储和丢失问题,对于搜索一块数据比较麻烦而且还耽误时间。对于这次开发的大学毕业设计自动提交系统,提供给用户可以随时查看大学毕业设计自动提交系统信息,并且可以根据需求进行选择大学毕业设计自动提交系统分类进行查看各个类别的大学毕业设计自动提交系统,提高大学毕业设计自动提交系统平台效率。
1.4国内外研究概况
随着国内经济形势的不断发展,中国互联网进入了一个难得的高峰发展时期,这使得中外资本家纷纷转向互联网市场。 然而,许多管理领域的不合理结构,人员不足以及市场管理需求的增加使得更多的人具备了互联网管理的意识。
在当今高度发达的信息中,信息管理改革已成为一种更加广泛和全面的趋势。 “毕业设计自动提交系统”是基于java技术、Mysql数据库,在springboot框架的基础上实现的。为确保中国经济的持续发展,信息时代日益更新,服务业仍在蓬勃发展。同时,随着信息社会的快速发展,各种管理系统面临着越来越多的数据需要处理,如何用方便快捷的方式使管理者在数据里面查询、存储、管理和共享有效的数据信息,对我们的学习,工作和生活具有重要的现实意义。因此,国内外学术界对此进行了深入而广泛的研究,一个新的研究领域——毕业设计自动提交系统诞生了。
1.5 研究的内容
目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而相对全面且专业的信息管理软件仍没有得到大多数人的了解或认可。本选题则旨在通过标签分类管理等方式,实现毕业设计自动提交系统的各种功能,从而达到对毕业设计自动提交系统的管理。
详细内容介绍,将在以下六章中详细阐述:
第一章、绪论,介绍了研究课题选择的背景及意义、研究现状,简要介绍了本文的章节内容。
第二章、引入技术知识,通过引入关键技术进行开发,向系统中涉及直观表达的技术知识。
第三章、重点分析了系统的分析,从系统强大的供需市场出发,对系统开发的可行性,系统流程以及系统性能和功能进行了探讨。
第四章、介绍了系统的详细设计方案,包括系统结构设计和数据库设计。
第五章、系统设计的实现,通过对系统功能设计的详细说明,论证了系统的结构。
第六章、系统的整体测试,评判系统是否可以上线运行。
第2章相关技术介绍
2.1开发技术
本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用springboot作为开发框架,同时集成MyBatis、Redis等相关技术。
2.2语言介绍
Java计算机编程语言本身不同于传统的C++计算机编程语言, 本身非常简单, 能够实现快速学习。作为一门面向对象的语言,其主要特点为:
- 面向对象
其基本单位是对象,对象又含有属性和方法。属性用来说明对象,方法用来操作对象。
- 跨平台性
编写的软件程序可以在任意计算机上运行使用,不会因为软、硬件条件的不同而有限制。
- 多线程
在一个应用程序中能够同时存在两个以上包括两个的线程,这多个线程可以并发运行,节省时间的同时提高了软件性能。
2.3JAVA简介
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,JSP(java server pages),和XML技术。JAVA语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于学校Web应用程序开发和移动应用程序开发。
Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.4HTML网页技术
HTML是一种制作网页的常用语言,它一般是用于制作静态页面。它的命令是可以体现文字信息、链接信息、图形信息和表格信息等等。现在它被大众普遍接受广泛应用在网络上。
2.5MVVM模式
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.6MySQL描述
现在MySQL数据库在网络上它可以支撑许多个用户,而且也可以适应客服机和服务器的部署或者配置等,我们这里的服务器和客户机其实就是一种软件上的概念,并且我们使用的计算机硬件也与他们不存在一一对应的关系[3]。
MySQL是一款非常流行的关系型数据库管理系统,它的出现一直都是佼佼者,它不仅功能非常强大,而且使用起来非常方便,并且MySQL的跨平台能力也很好,软件开发人员非常喜欢它的这些强大的优点。不同于其他关系型数据库,对于数据库的管理它有着自己的一套方案,通过对用户设定相应的权限和角色来达到对数据库的管理。由此可见,MySQL是一个能够适用于吞吐量高,可靠性高,效率高的一款数据库管理软件[4]。
优点一:MySQL中对于不同身份的用户都设定其不同的权限来完成不同的业务逻辑,这使得MySQL在安全和完整性远远超出了其他关系型数据库。
优点二:对于那些动画、图形和声音的数据类型MySQL也可以支持,这说明多数据类型MySQL也是可以支持的。
优点三:MySQL还可以做到多个平台的开发,软件开发的多种编程语言都可以实现对MySQL数据库的操作。
2.7 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。
第3章系统分析
任何一个项目在开发研究前,都需要对研发系统本身的需求做一个认真的分析,市场的调研是不可忽视的,从而明确目标,对整个系统的开发有一个更加准确的定位。在这个章节,需要对系统的性能分析,业务流程分析,和数据等进行分析,大学毕业设计自动提交系统的整体界面简单,功能完善。
需求的可行性是分析和讨论发达的系统能达到什么样的要求。开发的系统或网站是否符合之前的要求。只有在预先评估系统的开发中,才能在系统开发和实施之前完成需求。系统在开发和运用过程中,在技术可行性、操作可行性、经济可行性和法律可行性这几点展开的详细说明,证明了这几点是可行的。在技术可行性中主要说明了Java是目前是较为通用、成熟的技术,具有较为强大的数据库开发功能、以及具有方便快捷的数据库接口设计功能。在现有的调研情况和所掌握的技术是必要可行的。在经济可行性中,主要说明了系统从调研时期的费用和后期维护和可节约的成本。操作可行性主要说明了系统和操作的简便性具有操作简便和上手快的特点。在法律可行性上,符合要求不涉及到侵权等问题在社会中能起到提高效率的作用。
从系统需求分析、功能分析、性能分析等进行了设计和说明。系统需求分析对于大学毕业设计自动提交系统行业的需求进行了深入分析,证明了系统在市场中的需求。
大学毕业设计自动提交系统完成设计,可能受到时间以及空间上的制衡。因此,在开始设计每一个项目的时候,必须对系统进行可行性分析,只有这样才能够降低项目所带来的危害,减少人力、物力以及财力方面的损耗。该系统的可行性分析主要集中在技术可行性、经济可行性、运行可行性和社会可行性四个方面。从以上几个方面讨论了该系统的可行性。
3.1可行性分析
可行性分析目的是根据所开发系统的用户需求,明确研究方向和目标,通过可行性分析确定系统的框架和功能模块。
可行性分析是对任何管理系统的需求、技术和经济的分析。其中最重要的技术方面的可行性,技术可行性是分析软件开发技术的应用开发系统是可行的。其次,分析软件系统的需求,分析软件需求能否满足预先设计的功能需求。最后讨论了系统的操作可行性和经济可行性。
3.1.1技术可行性
无论是台式机还是笔记本,计算机都以非常迅猛的速度占据着人们的工作与生活,那么能够辅助计算机帮助人们改变工作与生活状态的就是那些安装在计算机上的功能软件。本文所要设计的系统,从简单易懂的思想出发,将通过文字索引提示协助用户操作。
系统的开发环境和配置可以由我们自己安装。系统采用Java开发工具,根据技术语言修改和维护数据信息,并结合要求使系统运行更加稳定安全,从而完成实现系统的开发。网络技术的快速发展使网络传输速度越来越快,价格越来越低,安全性越来越高,其所有硬件平台都能完全满足大学毕业设计自动提交系统开发的需要。
因此,我们从两个方面进行了可行性研究,可以看出系统的技术可行性发展没有问题。
3.1.2经济可行性
任何软件系统在其发展将考虑后者经济可行性的一部分,也就是说软件的开发成本和设计所需的花费和随后的操作可能带来的经济效益是匹配,除了考虑这部分的软件是否可以给用户带来经济效益。
经济可行性包括系统实现过程中所需资源的研究。系统实现过程中所需资源主要包括人力资源、自然资源等。大学毕业设计自动提交系统的开发是由开发者自己开发,不需要购买其他软件或者端口之类的,而且大学毕业设计自动提交系统的开发之前所做的市场调研及其他的大学毕业设计自动提交系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于大学毕业设计自动提交系统的开发在经济上是完全可行的,没有任何费用支出的。
使用Java技术是比较成熟的技术,所以大学毕业设计自动提交系统平台的开发在经济上是没有问题的。
3.1.3操作可行性
操作可行性是指系统不能有太复杂的操作和使用流程。大学毕业设计自动提交系统基于springboot安装软件,访问和操作界面简单、操作方便。用户只要连接到网络就可以访问和操作。系统在界面设计上就很有善意让人感觉心旷神怡,首先这就能给操作者一种好心情,可以让工作人员以更好的心态工作,其次也很美观,在系统的使用中要不光应用到了系统完善的功能还欣赏了系统简洁的外观。其次就是系统的功能方面了,在系统的日常使用中会一点简单电脑操作的工作人员也都可以应付自如。因此,它具有操作简单,管理方便,交互性强的特点,在操作上是非常可行的。
3.1.4法律可行性
系统平台的设计与开发与国家政策法规之间不存在冲突。此外,平台的设计和开发采用的操作和工作模式符合用户的日常习惯,操作方便、灵活、易于管理,具有较高的实用性。开发过程中所采用的数据均来自开源代码,不存在知识产权的争议,在法律上也是行的通的。
综上所述,开发一个基于springboot的大学毕业设计自动提交系统是可行的。
3.2功能需求分析
毕业设计自动提交系统的功能主要分为前台用户根据自己的需求进行注册登录,浏览职位信息并对选中的职位进行申请操作。后台系统管理员因职责的不同,分为普通管理员和超级管理员,普通管理员主要对申请单进行处理,而超级管理员主要对注册用户,毕设课题、学生选题、资料提交、论文批复、论文成绩、通知公告列表、学生选题分析进行处理。
系统用例图如下所示。
图3-1 系统用例图
3.3非功能需求分析
首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的。软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析。面对毕业设计自动提交系统存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析。
3.4安全性需求分析
3.4.1系统的安全性
安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护企业的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是对企业的负责。尤其针对于毕业设计自动提交系统来说,必须要有很好的安全性来保障整个系统。
系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。
3.4.2数据的安全性
数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。
因此,在写入数据库时,要保证数据完整性、正确性和一致性。
3.5数据流程分析
对系统的数据流进行分析,系统的使用者分为二类,一般用户,管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。
系统顶层数据流图如下图所示。
图3-2 顶层数据流图
3.6业务流程分析
3.6.1操作流程
图3-1登录流程图
3.6.2添加信息流程
添加信息流程图,如图所示:
图3-2添加信息流程图
3.6.3删除信息流程
删除信息流程图,如图所示:
图3-3删除信息流程图
第4章系统设计
4.1系统架构设计
本毕业设计自动提交系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。
系统架构如下图所示。
图4-1 系统架构
4.2系统总体设计
毕业设计自动提交系统总体分为前用户模块和管理员模块。
两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。
综上所述,系统功能结构图如下图所示。
图4-2 系统功能结构图
4.3数据库设计
4.3.1数据库概念设计
根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。
系统ER图如下图所示。
图4-3 系统ER图
4.3.2数据库表设计
毕业设计自动提交系统所拥有的数据表有以下:
由于数据表较多,只展示系统主要数据表,如下表所示。
completed_project | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
completed_project_id | int | 11 | 否 | 主键 | 毕设课题ID |
teacher_job_number | int | 11 | 是 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
topic_name | varchar | 64 | 是 | 课题名称 | |
subject_category | varchar | 64 | 是 | 课题类别 | |
subject_status | varchar | 64 | 是 | 课题状态 | |
research_contents_ | text | 0 | 是 | 研究内容 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
notice_announcement | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
notice_announcement_id | int | 11 | 否 | 主键 | 通知公告ID |
title | varchar | 64 | 是 | 标题 | |
publisher | varchar | 64 | 是 | 发布人 | |
release_time | date | 0 | 是 | 发布时间 | |
relevant_attachments | varchar | 255 | 是 | 相关附件 | |
announcement_content | longtext | 0 | 是 | 公告内容 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
paper_approval | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
paper_approval_id | int | 11 | 否 | 主键 | 论文批复ID |
teacher_job_number | int | 11 | 是 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
topic_name | varchar | 64 | 是 | 课题名称 | |
student_number | int | 11 | 是 | 学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
document_name | varchar | 64 | 是 | 文档名称 | |
paper_approval | longtext | 0 | 是 | 论文批复 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
student | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
student_id | int | 11 | 否 | 主键 | 学员ID |
student_number | varchar | 64 | 否 | 学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
college | varchar | 64 | 是 | 学院 | |
name_of_teaching_class | varchar | 64 | 是 | 教学班名称 | |
examine_state | varchar | 16 | 否 | 审核状态 | |
recommend | int | 11 | 否 | 智能推荐 | |
user_id | int | 11 | 否 | 用户ID | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
student_topic_selection | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
student_topic_selection_id | int | 11 | 否 | 主键 | 学生选题ID |
teacher_job_number | int | 11 | 是 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
topic_name | varchar | 64 | 是 | 课题名称 | |
student_number | int | 11 | 是 | 学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
college | varchar | 64 | 是 | 学院 | |
name_of_teaching_class | varchar | 64 | 是 | 教学班名称 | |
reasons_for_choosing_the_topic | text | 0 | 是 | 选题原因 | |
examine_state | varchar | 16 | 否 | 审核状态 | |
examine_reply | varchar | 16 | 是 | 审核回复 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
subject_classification | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
subject_classification_id | int | 11 | 否 | 主键 | 课题分类ID |
subject_category | varchar | 64 | 是 | 课题类别 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
submission_of_information | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
submission_of_information_id | int | 11 | 否 | 主键 | 资料提交ID |
teacher_job_number | int | 11 | 是 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
topic_name | varchar | 64 | 是 | 课题名称 | |
student_number | int | 11 | 是 | 学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
document_name | varchar | 64 | 是 | 文档名称 | |
file | varchar | 255 | 是 | 文档 | |
document_description | text | 0 | 是 | 文档说明 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
teacher | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
teacher_id | int | 11 | 否 | 主键 | 教员ID |
teacher_job_number | varchar | 64 | 否 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
examine_state | varchar | 16 | 否 | 审核状态 | |
recommend | int | 11 | 否 | 智能推荐 | |
user_id | int | 11 | 否 | 用户ID | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
thesis_achievement | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
thesis_achievement_id | int | 11 | 否 | 主键 | 论文成绩ID |
teacher_job_number | int | 11 | 是 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
topic_name | varchar | 64 | 是 | 课题名称 | |
student_number | int | 11 | 是 | 学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
achievement | varchar | 64 | 是 | 成绩 | |
grade | varchar | 64 | 是 | 成绩等级 | |
instructor_comments | text | 0 | 是 | 导师评语 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 |
第5章系统实现
5.1数据库访问层的实现
该系统是通过jdbc和MySQL达成连接的,新建一个jdbc.properties文件来填写与数据库连接所需要的驱动和参数。
server:
port: 5000
servlet:
context-path: /api
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/CS725260_20211101091736?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
jackson:
property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
default-property-inclusion: ALWAYS
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
第一个参数代表MySQL数据库的驱动,第二个参数代表要连接的数据库,第三个和第四个参数代表数据库连接名和密码。
后台与数据库访问主要是通过HQL语句来进行查询的,查询语句中的表名是表格的实体类名,在这种查询语句中*是不允许使用的,除非适合聚合函数一起使用才可以。
5.2登录模块的实现
主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布职位信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。
登录流程图如下图所示。
图5-1登录流程图
用户登录界面如下图所示。
![](https://i-blog.csdnimg.cn/direct/8bb4eda3c484448ba2ced566431f6105.png)
图5-2用户登录界面
登录页面代码如下:
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
5.4管理员功能模块
管理员登录,通过填写注册时输入的用户名、密码、角色、验证码进行登录,如图5-3所示。
![](https://i-blog.csdnimg.cn/direct/0a402dfd9f094615ba86f8c0cfa688d8.png)
图5-3管理员登录界面图
登录页面代码如下:
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
管理员登录进入毕业设计自动提交系统可以查看首页、用户管理(管理员、教师、学生)更多管理(毕设课题、学生选题、资料提交、论文批复、论文成绩、通知公告)等信息,如图5-4所示。
![](https://i-blog.csdnimg.cn/direct/e5ce98d23bbc41578b2e397072d5f231.png)
图5-4管理员功能界面图
用户管理,在用户管理页面中可以查看索引、用户名、工号、姓名等信息,并可根据需要进行修改或删除等操作,如图5-5所示。
![](https://i-blog.csdnimg.cn/direct/192cbfc978f24efabcba6b25631edb39.png)
图5-5用户管理界面图
资料提交管理,在资料提交管理页面中可以输入标题、发布人、发布时间、上传相关附件、输入公告内容等操作,如图5-6所示。
![](https://i-blog.csdnimg.cn/direct/341758d55b3445c89a23c8053525e891.png)
图5-6资料提交管理界面图
在通知广告管理页面中可以查看索引、标题、发布人、发布时间、相关附件、创建时间、更新时间等信息,如图5-7所示。
![](https://i-blog.csdnimg.cn/direct/b49ee6fd610a4c3f8d8733b2e5a7f759.png)
图5-7通知公告界面图
5.3教师功能模块
教师登录进入毕业设计自动提交系统可以查看首页、更多管理(毕设课题、学生选题、资料提交、论文批复、论文成绩、通知公告)等内容。如图5-8所示。
![](https://i-blog.csdnimg.cn/direct/71848c945da04fb9844eea4b72ea15c4.png)
图5-8教师首页界面图
学生选题审批页面中可以查看用索引、提交人学院、班级名称、选题原因、审核状态、审核回复、创建时间、更新时间等信息,以及详情及资料提交等操作,如图5-9所示。
![](https://i-blog.csdnimg.cn/direct/f05eb25a1f774f8a83bf4ac694b4986c.png)
图5-9学生选题审批界面图
论文批复页面中可以查看用课题名称、学号、学生姓名、文档名称、文档、文档说明等信息,详情及批复等操作,如图5-10所示。
![](https://i-blog.csdnimg.cn/direct/c356c6884e494d0f8e313ac97576bd1f.png)
图5-10论文批复管理界面图
5.4学生功能模块
学生登录进入毕业设计自动提交系统可以查看首页、更多管理(毕设课题、学生选题、资料提交、论文批复、论文成绩、通知公告)等内容。如图5-11所示。
![](https://i-blog.csdnimg.cn/direct/bd4f605e41db4e899c31142e65911954.png)
图5-11学生首页界面图
学生选题页面中可以查看用索引、教师工号、姓名、课题名称、课题类别、课题状态、研究内容等信息,详情及选题等操作,如图5-12所示。
![](https://i-blog.csdnimg.cn/direct/4edf192bc845406eb75c4d72bd915e70.png)
图5-12学生选题界面图
资料提交页面中可以输入教师工号、姓名、课题名称、学号、学生姓名、文档名称、文档说明等信息,上传文档等操作,如图5-13所示。
![](https://i-blog.csdnimg.cn/direct/7b8de5ab18834f87bf4f4af51d93491a.png)
图5-13资料提交界面图
第6章系统测试
测试存在于软件开发进程中的最后一个阶段,它可以保证一个软件的开发质量是否符合设计者的初衷,也为程序的正式上线做了最后一道质量检测的工序。软件测试主要是控制各种条件、包括软件输出方式,使用模式和运行环境等,来评估一个系统或应用是否符合设计标准。在软件测试过程中,我们一般刻意的去制造错误和极端条件,不能仅依照正常模式允许,而是多去尝试那些意外的情况。
6.1软件测试的重要性
只有在运行和维护阶段之前经历大量的测试的软件,才能说明它的质量是经得起检验的。最近计算机业界也都一致认为,测试应该存在于软件设计的每个阶段,因为越早发现错误,修复起来就越容易。
实际上,对于一个软件应用,错误是必然存在的,无论使用何种技术或手段,都不可能绝对的排除软件漏洞。测试是随着软件开发一同诞生的,两者是共同发展进步的。实际上,测试可以大幅度的降低维护的成本,如果一个漏洞在开发的早期就被发现,那么修复它的成本远比上线后再修复的成本要低得多。
6.2系统测试的目的
程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,在测试过程中发现问题并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题并对其进行修改,虽然耗时费力,但对于系统的开发长期使用而言是非常重要和必要的。
软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。
大学毕业设计自动提交系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在大学毕业设计自动提交系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。
6.3测试策略
测试系统主要针对以下三个方面进行测试:
1、基于springboot的系统代码的单元测试,集成测试,系统测试和验收测试结果;
2、测试对象中列出的可测试或不可接受的特征和功能;
3、分析并记录测试要求:日期的书面文件不影响测试的设计、开发和执行。
6.4测试特性及分析
系统测试的特性如下:
(1)挑剔性:测试是为了找出系统的错误,在系统测试时我们要严格苛刻,十分挑剔。
(2)复杂性:测试是一个非常复杂的过程。
(3)不彻底性:虽然系统经过测试,但测试仍然会存在不够彻底的问题,测试不能保证系统后期运行完整无误,所以要在后期不断的检查、修改。
经过测试,产品的稳定性和成熟度可以大大提高,产品质量也可以得到保证。
6.5测试实例的研究与选择
测试有白盒测试和黑盒测试两种方式。
其中,白盒测试是将软件看成一个透明的白盒子,按照程序的内部控制结构和处理技术逻辑来选定测试用例、软件系统测试的逻辑路径及过程需要进行管理测试,又称玻璃盒测试。因此白盒测试需要选择足够多的测试用例,覆盖尽可能多的代码来发现程序中的错误。
黑盒测试,也称为功能测试。它将需软件看作一个黑盒,像一个普通用户一样来模拟软件的使用流程。黑盒测试通过大量的输入边界值或错误数据,来检查是否可产生正确的输出。
本系统测试 主要选择黑盒测试,少量采用白盒测试。通过测试达到以下测试目的:
1.检查各大功能模块的运行,确保其能够正确运行,并检查各页面的完整性,保证页面完整。
2.检查各个接口是否可以正确地输入和输出,保证数据流通稳定可行。
3.检查数据结构,保证其和外部接口没有访问错误,访问顺利。
4.检查原计划的性能需求有没有完成,运行流畅。
本系统的测试用例(部分):
登录部分测试用例 | |||||
编号 | 对象 | 项目 | 操作 | 预期结果 | 结果 |
1 | 登录 | 登录提示 | 使用正确的账号密码登录 | 成功登录 | 预期结果 |
2 | 登录提示 | 使用正确的账号但错误的密码登录 | 提示密码错误 | 预期结果 | |
3 | 登录提示 | 使用错误的账号登录 | 提示不存在账户 | 预期结果 | |
4 | 登录提示 | 不输入账号,点击登录 | 提示输入账号 | 预期结果 | |
5 | 登录提示 | 输入账号但不输入密码点击登录 | 提示输入密码 | 预期结果 | |
6 | 登录入口 | 已登录账号,查看登录入口 | 不显示登录入口 | 预期结果 |
6.6测试环境与测试条件
处理器:Inter Core I7-4710MQ四核处理器
内存:4GB
硬盘:1T
操作系统:Windows 10
数据库:MySQL
6.4系统运行情况
全部测试用例都已通过(包括但不限于以上测试用例),且不存在漏洞,实现了论文开始时所作要求。本系统运行稳定,使用流畅,可以满足用户需求。
6.5系统评价
6.5.1系统功能评价
试运行后进行系统评估,可以认为该系统达到预定的目标要求,可以满足用户的需求,也满足了系统开发前所作目标。
6.5.2系统技术评价
系统在经过大量重复测试后运行十分稳定,安全实用,功能模块已经达到预定目标所需。
6.5.3系统经济评价
在规定的时间内实现系统的大部分功能,且满足要求,节省开发成本,有助于提高科学管理水平,符合本人经济情况。
6.7测试结果
经过对一系列测试结果的有效分析,本平台开发系统符合用户的要求和需求。所有的基本功能相对齐全,操作起来简单方便,测试系统性能良好,作为大众化系统使用是比较值得推广宣传的。
第7章总结与展望
随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是毕业设计自动提交系统为核心展开的,主要是为了实现应届毕业生就业信息化管理和用户在线投递简历的需求。
毕业设计自动提交系统的开发是以Java编程语言作为基础,在Myeclipse平台上完成编码工作,系统整体为B/S架构,数据库系统使用MySQL。文中详细分析了毕业设计自动提交系统的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容。系统实现了毕业设计自动提交系统所需的一些基本功能,并通过测试对这些实现的功能进行了完善,进而提高了系统整体的实用性。整个系统的开发过程中大量使用了Java相关的知识以及前端开发使用的html和javascript等,同时涉及到了很多开源框架和组件,例如后台系统中运用的MVVM架构、Freemarker模板引擎等,前端运用的UI框架等。
系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。
但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。
参考文献
[1]王一竹.基于MySQL的图书馆信息管理系统设计[J].电脑编程技巧与维护,2022(01):93-95+116.DOI:10.16184/j.cnki.comprg.2022.01.003.
[2]刘学玉.JAVA编程语言在计算机软件开发中的应用[J].电子技术与软件工程,2022(01):57-60.
[3]陈洁.“MySQL数据库安全”课程教学方法优化分析[J].无线互联科技,2021,18(24):160-161.
[4]单树倩,任佳勋.基于SpringBoot和Vue框架的数据库原理网站设计与实现[J].电脑知识与技术,2021,17(30):40-41+50.DOI:10.14004/j.cnki.ckt.2021.2868.
[5]吴迪.Java编程语言在计算机软件开发中的应用[J].信息与电脑(理论版),2021,33(20):29-31.
[6]张翔.浅谈JAVA编程语言在计算机软件开发中的应用[J].电子元器件与信息技术,2021,5(10):204-205.DOI:10.19772/j.cnki.2096-4455.2021.10.095.
[7]曹瑞燕.Java语言在软件开发中的应用[J].信息记录材料,2021,22(10):96-97.DOI:10.16009/j.cnki.cn13-1295/tq.2021.10.045.
[8]喻佳,吴丹新.基于SpringBoot的Web快速开发框架[J].电脑编程技巧与维护,2021(09):31-33.DOI:10.16184/j.cnki.comprg.2021.09.013.
[9]向福川,方玉,刘浪,唐振云,练瑶.基于SpringBoot+Vue框架的协同育才系统设计与开发[J].现代信息科技,2021,5(14):5-7+12.DOI:10.19850/j.cnki.2096-4706.2021.14.002.
[10]蔡俊豪,王桂荣.Java在互联网的应用分析[J].电子技术,2021,50(06):44-45.
[11]Siyi Liu. Explore Java Language and Android Mobile Software Development[J]. International Journal of Frontiers in Engineering Technology,2021,3.0(2.0):
[12]秦蓉.基于Java语言的安卓软件开发研究[J].电子技术与软件工程,2021(05):44-45.
[13]谭敏,童宇,范强.高校就业管理系统的研究与设计[J].信息技术与信息化,2020(09):26-28.
[14]Kevin Kline. The Java Language Extension for SQL Server Is Now Open Source[J]. Database Trends and Applications,2020,34(4):
[15]Hu Xin,Yan Chaobing. Development and application of JAVA language development test evaluation system software[J]. Journal of Computational Methods in Sciences and Engineering,2020,20(4):
[16]熊永平.基于SpringBoot框架应用开发技术的分析与研究[J].电脑知识与技术,2019,15(36):76-77.DOI:10.14004/j.cnki.ckt.2019.4290.
[17]刘瑜琪,宋嘉祎.基于B/S的高校学生就业管理系统的设计与实现[J].信息与电脑(理论版),2019(09):83-84.
[18]李朋飞,杨威,张润东,王赫,尚双圆,董振杰.高校就业管理系统的设计与实现[J].电子测试,2019(01):93-94+118.DOI:10.16520/j.cnki.1000-8519.2019.01.038.
[19]金丽.高校就业管理系统的设计与研究[J].现代信息科技,2018,2(08):28-29+31.
[20]吕宇琛.SpringBoot框架在web应用开发中的探讨[J].科技创新导报,2018,15(08):168+173.DOI:10.16660/j.cnki.1674-098X.2018.08.168.
致谢
时间过得真快,眨眼之间,大学四年的学习生活即将结束,无论是在学习还是生活的这四年,老师们给了我很多帮助,让我终身受益匪浅。老师们不仅帮我树立了正确的人生观和价值观,还帮我养成了很多好习惯,树立了终身学习的意识。在此,我要对我的所有老师表示衷心的感谢。与此同时,我还要感谢陪伴我在这四年里一起成长的伙伴们。他们给了我无私的帮助和关怀,让我在人生最好的四年中获得许多真诚的友谊。
毕业设计是大学四年的最后一个答卷,我们正忙着这四年的美好结束。在毕业项目主题选择的早期阶段,我很紧张担心自己选择的主题很复杂,难以理解,觉得不能这样做会影响我的毕业。是指导老师给我们提供了毕业设计的主题和具体要求,让我们对毕业设计不要太模糊,如果对主题有任何异议,要及时跟他沟通,并且还帮我们介绍他带过的优秀学哥学姐,对我们进行指导,这样再设计上遇到的问题就可以及时得到解决,对我们完成毕业设计提供好的指导条件。
对于毕业设计项目主要是对我在大学所学的专业知识进行一次综合的考验,让我们通过所学的技术知识可以真正的运用到实际动手开发中,通过项目的开发让我意识到自己很多地方的不足,所学知识的不扎实,不能很好的将自己所学的知识运用到系统实际开发上。后来通过自己在图书馆查阅大量书籍,完成系统的设计大纲,阅读笔记和翻译,毕业设计不仅要考验我们的个人能力,还要测验我们的学习态度,做到细节的事情。对于指导老师的帮助,我的毕业设计才可以顺利的完成,我非常感谢。
最后要感谢我的同学们,是你们不断的帮助、鼓励、熬夜、保持调试,测试程序,最终完成大学毕业设计自动提交系统的运行。我们在交流,谈论时间,将是我们未来的财富,我要深深地感谢你。
毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-