基于Springboot的毕业论文管理系统的设计与实现
作者:mmseoamin日期:2024-04-29

基于SpringBoot的毕业论文管理系统的设计与实现

摘要:随着科技和互联网的飞速发展,无纸化办公方式已成为时代潮流,不仅绿色环保,而且能提高办公效率。目前,在很多高校,无纸化办公方式也特别普遍,但是,对于毕业论文的管理,却有很多高校仍处于人工管理的阶段,过程繁琐且效率低下,不利于教师学生毕业论文管理做到整理方便、查找迅速。这种人工管理论文的方式已不能满足现代高校建设数字化校园的发展需要。

针对目前高校毕业论文管理中存在的问题,并结合我校实际情况,开发一个基于MVVM框架、开源的轻量级框架SpringBoot的毕业论文管理系统是有必要的。采用前后端分离的模式,开发一个对毕业论文管理的可视化的管理软件,前端使用了当下流行的Vue脚手架搭建项目,页面布局则使用由饿了么团队开发的Element-UI框架。后端则基于J2EE平台,使用轻量级框架SpringBoot进行项目开发。Visual Studio Code将作为前端开发工具,这是一款免费的、开源的编译器,支持多种语言和多种文件格式的编写,使用简单,提供丰富的插件。后端则使用IDEA作为开发工具,同时使用Java语言作为项目开发语言。

毕业论文管理系统的实现,使高校对毕业生的毕业论文的管理工作不再变得繁琐,对于学生提交的毕业论文,可以做到整理方便、查找迅速,而且存储量大。最重要的是可以减轻指导教师的工作量,有效提高工作效率,使其有更充足的时间指导学生的毕业论文。同时,也可以使高校的毕业论文管理工作变得更加规范化和信息化。

关键词:框架,毕业论文管理,前后端分离,效率

Design and Implementation of Graduation Thesis Management System Based on SpringBoot

Abstract:With the rapid development of technology and the Internet, paperless office methods have become the trend of the times, not only green and environmentally friendly, but also improving office efficiency. At present, paperless office methods are particularly common in many colleges and universities. However, for the management of graduation thesis, many universities are still in the stage of manual management. The process is cumbersome and inefficient, which is not conducive to teachers ‘management of students’ graduation thesis Easy to organize and find quickly. This way of manually managing thesis can no longer meet the development needs of modern universities to build digital campuses.

In view of the current problems in the management of graduation thesis in colleges and universities and the actual situation of our university, it is necessary to develop a graduation thesis management system based on MVVM framework and open source lightweight framework SpringBoot. Adopt the front-end and back-end separation model to develop a visual management software for graduation thesis management. The front-end uses the current popular Vue scaffolding to build the project, and the page layout uses the Element-UI framework developed by the hungry team. The back end is based on the J2EE platform and uses lightweight framework SpringBoot for project development. Visual Studio Code will be used as a front-end development tool. This is a free, open source compiler that supports writing in multiple languages ​​and multiple file formats. It is easy to use and provides rich plug-ins. The back end uses IDEA as a development tool, while using the Java language as a project development language.

The implementation of the graduation thesis management system makes the management of graduation thesis of colleges and universities no longer cumbersome. The graduation thesis submitted by students can be easily organized, searched quickly, and stored in a large amount. The most important thing is to reduce the workload of the instructor and effectively improve the work efficiency, so that they have more time to guide the students’ graduation thesis. At the same time, it can also make the management of graduation thesis in colleges and universities more standardized and informatized.

Key words: Frame, Graduation Thesis Management, Front and rear separation

目录

第1章 绪论 1

1.1 系统开发的背景及意义 1

1.2 国内外毕业论文管理研究现状 1

1.2.1国外毕业论文管理发展状况 1

1.2.2国内毕业论文管理发展状况 2

1.3 系统的主要研究内容 2

1.4 系统开发环境与开发工具 2

第2章 系统需求分析 3

2.1 系统的可行性分析 3

2.1.1经济可行性 3

2.1.2技术可行性 3

2.1.3操作可行性 3

2.2 系统的总体需求 3

2.2 系统的功能需求 4

2.2.1学生子系统功能分析 4

2.2.2教师子系统功能分析 5

2.2.3管理员子系统功能分析 6

2.3 UML系统建模 6

2.4 本章小结 9

第3章 系统设计 10

3.1 系统设计 10

3.1.1 系统总体架构设计 10

3.1.2 数据库设计 10

3.1.3 系统模块的设计 15

3.2 本章小结 19

第4章 系统实现 20

4.1 学生选题模块的实现 20

4.2 学生论文过程文档管理模块的实现 21

4.3 教师选题管理模块的实现 21

4.4 教师答辩安排管理模块的实现 23

4.5 本章小结 25

第5章 系统测试 26

5.1 测试的目的和意义 26

5.2 测试计划 26

5.3 测试用例 26

5.3.1系统登录测试 26

5.3.2学生选题测试 27

5.3.3 教师课题管理测试 29

5.3.4 教师答辩安排管理测试 30

5.4 本章小结 33

第6章 结束语 34

6.1 全文总结 34

6.2 课题展望 34

参考文献 36

致 谢 38

第1章 绪论

1.1 系统开发的背景及意义

随着信息技术与互联网的发展,无纸化办公方式已经成为时代潮流,计算机在各个行业的应用也越来越广泛,很多高校也普及了无纸化办公方式,如学生使用电子文档作为作业本,不需要学生代表跑腿交作业,对于学生每次上交的作业,教师都能进行存档。毕业论文是学生在校阶段最后的一个重要的教学环节,也是检验学生四年在校学习成果的重要途径。所以对于学生毕业论文的管理尤为重要。随着高校学生的数量越来越庞大,毕业生的毕业论文更加难以以人工模式管理。但是仍然有很多高校以人工管理的模式来管理学生的毕业论文。这种管理方式不仅过程繁琐,而且不易于整理、维护学生的毕业论文,效率低下。所以,为了有效提高教师的工作效率,并且使学生的论文易于存档与维护,毕业论文管理系统因此而诞生。借鉴国内众多管理系统的思想并结合毕业论文管理的现状,力求用户界面大方简约,操作简单,推动高校的毕业论文管理工作进一步规范化、数字化和信息化。

1.2 国内外毕业论文管理研究现状

1.2.1国外毕业论文管理发展状况

二十世纪七十年代以后,国外的后台管理系统得到了飞速发展。后台管理系统的研究首先是英美等发达国家大力推进的,所以国外后台管理系统的起步是比较早的,而且广泛应用于各种行业。

国外毕业论文的教学环节主要是通过大量投入专业实习时间,并且动手比较早来完成的。[1]学生在校外实习,需要一个管理系统来辅助教师高效管理学生的毕业论文,而且也能更好的存储学生的毕业论文。

1.2.2国内毕业论文管理发展状况

现在大部分高校对于学生的毕业论文一般采用两种方式共同存储。一是将学生的电子版论文制成光盘,二是存储学生纸质版的毕业论文。这两种方式都有对应的缺点:①学生的论文太多,制成光盘,数量庞大,且目前计算机很少带有光驱,不便于查询。纸质版文档数量更加庞大,极大浪费存储空间,更不利于师生查询。②纸质版的论文存储年限太短,因为纸张存储久了会泛黄、字可能会逐渐消失。[2]

综上可知,目前国内高校对于毕业论文的管理效率不高、差错率较大。但是由于现代信息技术的和互联网的飞速发展,这些问题都会迎刃而解。

1.3 系统的主要研究内容

本文主要介绍了使用当下流行的Vue.js框架、ElementUI组件库和SpringBoot框架开发的可视化的毕业论文管理系统的过程。系统主要实现了对高校毕业生的毕业论文的管理,包括学生选题管理、教师课题管理、师生论文过程管理、答辩安排与查询、成绩查询等模块,完成对学生论文信息的统计、录入、查询和维护等工作,使高校对学生的毕业论文的管理变得方便快捷,提高教师的工作效率,降低成本,同时使高校毕业生的毕业论文管理工作变得规范化和信息化。论文的主要研究内容如下:

(1)采用前后端分离的模式和B/S系统架构,开发一个对毕业论文管理的可视化软件。

(2)介绍了系统实现的主要技术,包括MVVM框架:Vue.js、桌面端组件库:ElementUI以及轻量级框架SpringBoot。

1.4 系统开发环境与开发工具

8GB的win 10 x64操作系统,1.8版本的JDK,使用MySQL作为系统的数据库。前端采用Visual Studio Code工具,基于@vue/cli 4.1.2开发环境开发,后端采用IDEA 2018.05版开发工具,基于JDK 1.8、Tomcat 8.0开发环境开发。

第2章 系统需求分析

2.1 系统的可行性分析

2.1.1经济可行性

基于SpringBoot的毕业论文管理系统的设计是本人的毕业设计,从整个系统的设计和开发都由自己完成,并且使用的开发工具都是免费的,实现零经费开发。整个系统完成后,将为使用该系统来管理毕业论文的高校的教师节约时间并提高效率,实现对毕业论文管理工作的科学化和信息化。

2.1.2技术可行性

该系统后端主要使用SpringBoot框架开发,使用该框架可使用注解来减少诸多文件的配置,从而做到高效开发。前端则用vue脚手架搭建,使用UI框架来编写页面,使前端页面编写高效便捷。

2.1.3操作可行性

基于SpringBoot的毕业论文管理系统是采用B/S架构开发的系统,用浏览器展示出操作简单的可视化界面。即使是没有使用过计算机和手机的用户,也能很好的对该系统进行操作。

2.2 系统的总体需求

毕业论文管理系统的需求如下:

(1)论文选题管理。论文的选题有两种方式:一是学生自主申报题目,由指导老师审核,指导老师审核通过课题,学生则确定选择该论文题目。二是学生在课题列表中选择其指导老师发布的课题,每个学生只能选一个题目,已被选择的题目则不再被其他学生选择,即每个学生的论文题目不能重复。选择指导老师发布的题目则默认通过审核。

(2)论文过程文档管理。学生在系统内编写并提交开题报告,由系主任查看并且审核学生开题报告是否通过,若开题报告审核未通过,学生登录系统则能收到消息提醒,学生可重新提交开题报告。指导教师只能查看其指导的所有学生的开题报告,而没有审核的权力。学生提交毕业论文初稿和定稿,由指导教师查看,并给出修改意见。

(4)答辩安排。系主任安排每个学生的答辩时间、地点。指导教师可查看其指导的所有学生的答辩安排信息。学生可查看自己的答辩安排信息:时间地点等。

(5)成绩录入与查询。学生答辩完成后,由指导教师负责录入学生的成绩。学生可查看自己的成绩。

2.2 系统的功能需求

根据本校对于学生论文管理的需求,毕业论文管理系统分为三个子系统:学生子系统、教师子系统和管理员子系统。学生子系统的功能包括:登录、修改密码、选题管理、查看个人信息、提交论文过程文档、查看答辩与成绩信息等几模块,教师子系统的功能包括:登录、修改密码、查看个人信息、选题管理、过程文档管理、学生信息管理、教师信息管理等几模块。管理员子系统的功能包括:登录、修改密码、学生管理、教师管理等。系统的功能模块结构图如图2-1所示:基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第1张

图2-1 系统的功能模块结构图

2.2.1学生子系统功能分析

(1)登录:学生登录系统,选择角色:学生,输入账号密码可登录。

(2)修改密码:学生可修改个人登录系统的密码,但必须是登录了系统以后才可修改。

(3)查看个人信息:学生登录系统后可查看个人信息,包括:姓名、学号、所在班级、邮箱等。

(4)选题管理:学生有两种选题的方式确定论文题目,一是选择指导老师发布的课题,二是自主申报课题,由指导老师审核。

(5)论文过程管理:学生在系统中编辑并提交开题报告,包括:题目的背景与意义,论文研究的内容和拟解决的问题,论文研究方法和技术路线,研究的总体安排与进度,参考文献等;由系主任进行审核。学生在系统中上传论文初稿、终稿的文档,由其指导老师审阅。

(6)查看答辩安排:学生登录系统可查看毕业论文答辩的安排,包括:答辩的时间、地点和答辩的教师等信息。

2.2.2教师子系统功能分析

(1)登录:教师登录系统,选择角色:教师,输入账号密码可登录。

(2)修改密码:教师可修改个人登录系统的密码,但必须是登录了系统以后才可修改。

(3)查看个人信息:教师登录系统后可查看个人信息,包括:姓名、学号、所在班级、邮箱等。

(4)学生信息查询:指导教师可查询自己所指导学生的个人信息,包括:学生姓名、学号、性别、联系方式、邮箱等。系主任可查询本系所有学生的个人信息。

(5)教师信息查询:指导教师无权查询,系主任可查询本系所有教师的个人信息,包括:教师姓名、工号、联系方式等。

(6)选题管理:教师可发布课题供学生选择,课题信息包括:课题、课题类别、课题要求等。

(7)论文过程管理:指导教师可查看其指导的所有学生的开题报告,而系主任有审核学生开题报告的权利。指导教师可下载其指导的所有学生的论文初稿和终稿查看,并评阅;系主任为学生分配除指导教师外的教师评阅论文。

(8)答辩安排管理:系主任分配教师答辩组、学生答辩组。指导教师可查看自己的答辩信息:答辩时间、地点、答辩组成员等。

(9)学生成绩管理:学生答辩完成后,由对应的指导教师录入学生的答辩成绩。

2.2.3管理员子系统功能分析

(1)登录:教师登录系统,选择角色:教师,输入账号密码可登录。

(2)修改密码:教师可修改个人登录系统的密码,但必须是登录了系统以后才可修改。

(3)学生管理:管理员可查看使用该系统的所有学生的信息,以及管理学生的信息。

(4)教师管理:管理员可查看使用该系统的所有教师的信息,以及管理教师的信息。

2.3 UML系统建模

  1. 学生功能用例关系图

    学生的功能有:登录功能,修改密码,选题管理功能:学生有两种方式选题,一是选择指导老师发布的课题,二是自主申报课题。论文过程管理:提交开题报告:学生选题完成后才可提交开题报告,提交开题报告以后不允许修改,只能查看;上传下载文档:学生以上传文档的方式提交论文的初稿和终稿。答辩安排查询:在答辩前,学生可查看答辩的安排:答辩时间、地点。成绩查询:答辩完成后,学生可登录系统查看自己的论文成绩。学生的功能用例关系图如图2-2所示:

    基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第2张

图2-2 学生功能用例关系图

  1. 教师功能用例关系图

    教师的功能包括:登录功能,修改密码,选题管理:教师发布课题,学生可选择教师发布的课题,默认状态为审核通过;教师可审核学生自主发明创造的课题。学生管理:指导教师可查看其所有指导学生的相关个人信息。论文过程管理:系主任审核所有学生的开题报告,指导教师只能查看学生的开题报告,而没有审核的权力;指导教师可以下载查看学生提交的论文初稿和终稿的文档,并给出修改意见。答辩安排:系主任安排学生的答辩时间和地点,指导教师可查看其指导的所有学生的答辩安排。成绩录入:指导教师负责录入其指导的所有学生的成绩信息。教师的功能用例关系图如图2-3所示:

    基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第3张

图2-3 教师的功能用例关系图

  1. 管理员功能用例关系图

    管理员的功能包括:登录功能,修改密码,学生管理:查看学生的个人信息、删除学生的个人信息等,教师管理:查看教师的个人信息、删除教师的个人信息等。管理员的功能用例关系图如图2-4所示:

    基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第4张

图2-4管理员的功能用例关系图

2.4 本章小结

本章对毕业论文管理进行了需求分析,根据我校对毕业论文管理的要求,毕业论文管理系统的功能主要包括:选题管理、论文过程管理、答辩安排、成绩管理等几模块。另外,本章从学生、教师、管理三个重要角色的角度进行系统UML建模,给出了各自的功能用例关系图。

第3章 系统设计

3.1 系统设计

3.1.1 系统总体架构设计

为了方便维护,用户也不需要为了使用毕业论文管理系统而专门下载一个应用,毕业论文管理系统采用B/S系统架构,即浏览器和服务器架构模式,用户只需要打开浏览器即可访问和使用毕业论文管理系统。

采用三层架构来进行毕业论文管理系统的后端开发。三层架构通常把整个业务应用划分为视图层(View)、业务逻辑层(Service)和数据访问层(DAO)。视图层用于接收从前端传来的用户请求的代码,业务逻辑层主要用于完成系统的业务逻辑,数据访问层存放直接操作数据库的代码。

3.1.2 数据库设计

毕业论文管理系统主要功能是对学校的所有毕业生的论文的有关信息进行处理,是对数据的操作,所以数据库建立的好坏都会影响系统的运行效果。本系统使用MySQL数据库作为后台数据库。本节将对系统用到的数据库的表结构进行详细设计。

根据第三章的系统需求分析,系统需要建立一些数据库表来保存一些相关的信息,如学生个人信息、教师个人信息、教师发布的课题基本信息、毕业论文课题信息、论文信息表、答辩信息等一些数据表,以下是对上述一些主要数据表的设计:

(1)学生信息(bylwdb_student)

学生的姓名、学号、系统登录密码、所属学院、所读专业、所在班级、联系方式、指导教师id等基本信息。

表3-1 学生信息(bylwdb_student)表

编号 字段名称 字段类型 字段说明 备注

1 sno Varchar(10) 学号 主键

2 sname Varchar(15) 学生姓名

3 password Varchar(20) 密码

4 sex Char 性别

5 cno int 学院编号

6 subject Varchar(50) 专业名称

7 classes Varchar(50) 班级名称

8 phone Varchar(20) 联系电话

9 email Varchar(20) 邮箱

10 paperno Int 论文编号

11 roleid Int 角色编号

12 teacher_id Int 指导老师id

13 student_id Int 学生id

(2)学院信息表(bylwdb_college)

各个学院的学院编号、专业、班级信息。

表3-2 学院信息表(bylwdb_college)表

编号 字段名称 字段类型 字段说明 备注

1 cno int 学院编号 主键

2 cname Varchar(20) 学院名称

3 parent_id int 父级id

(3)教师信息(bylwdb_teacher)

教师的工号、系统登录密码、姓名、性别、所属学院、联系方式等基本信息。

表3-3教师信息(bylwdb_teacher)表

编号 字段名称 字段类型 字段说明 备注

1 tno Varchar(10) 教师工号 主键

2 password Varchar(20) 密码

3 tname Varchar(30) 教师姓名

4 sex Char 性别

5 cno Int 学院编号

6 roleid Int 角色编号

7 pno Int 课题编号

8 phone Varchar(20) 联系电话

9 email Varchar(20) 邮箱

(4)课题信息(bylwdb_topic)

教师发布的课题信息包括:课题分类、课题来源、课题编号、课题名称、课题要求、发布教师id、所属学院等字段。

表3-4 课题信息(bylwdb_topic)表

编号 字段名称 字段类型 字段说明 备注

1 pno Int 课题编号 主键

2 pname Varchar(30) 课题名称

3 category Varchar(30) 课题分类

4 form Varchar(30) 课题来源

5 pinfo Varchar(255) 课题要求

6 teacher_id in(10) 教师id

7 pselected Int 该课题是否被选择(是则 1 否为0)

8 student_id int(10) 学生id

(5)角色信息(bylwdb_roles)表

表3-5 角色信息(bylwdb_roles)表

编号 字段名称 字段类型 字段说明 备注

1 roleid Char 角色编号

2 rolename Varchar(10) 角色名称

(6)论文信息(bylwdb_paper)表

论文信息包括论文名称、论文类别、论文来源、学院编号、初稿id、终稿id、学生id、教师id等字段。

表3-6 论文信息(bylwdb_paper)表

编号 字段名称 字段类型 字段说明 备注

1 pid Char 论文编号 主键

2 pname Varchar(30) 课题名称 非空

3 category Varchar(30) 论文类别

4 form Varchar(30) 论文来源

5 cno Char 学院编号

6 paper1 int 初稿id

7 paper2 Int 终稿id

8 student_id int 学生id

9 teacher_id int 教师id

10 sh int 审核id

(7)文件(bylwdb_paperwork)表

存放文件信息表,包括id、文件真正名称、文件存放名称、文件路径、文件类型等字段。

表3-7 文件(bylwdb_paperwork)表

编号 字段名称 字段类型 字段说明 备注

1 id int id 主键

2 filetruename Varchar(200) 文件真正名称

3 filename Varchar(200) 文件存放名称

4 filepath Varchar(200) 文件路径

5 filetype Char 1 初稿 2 终稿 3参考资料

6 humanType Char 1 学生 2 教师

7 createtime datetime 创建时间

8 createby Int 创建者id

9 Updatetime datetime 修改时间

10 updateby int 修改人id

(8)开题报告(bylwdb_paper)表

存放学生开题报告信息表,包括开题表id、开题报告的内容、学生id、指导教师id、审核id、审核人id、审核不通过的原因等字段。

表3-8 开题报告(bylwdb_paper)表

编号 字段名称 字段类型 字段说明 备注

1 id Int 开题表id

2 bg Text 论文背景意义

3 content Text 研究内容

4 tech Text 技术路线

5 progress Text 进度安排

6 refer Text 相关文献

7 cno Int 学院id

8 student_id Int 学生id

9 teacher_id Int 教师id

10 sh Int 审核id

11 sh_teacher_id Int 审核教师id

12 reson Varchar(255) 原因

3.1.3 系统模块的设计

根据需求分析,毕业论文管理系统的实现主要包括选题管理、论文过程管理、学生管理、答辩安排管理和成绩管理等几模块,本小节不在此对所有的模块的实现进行介绍,主要介绍系统中用户登录管理模块、学生选题模块、教师课题管理模块、答辩安排管理的设计。

1.用户登录模块

用户要访问毕业论文管理系统首先要使用账号密码登录,打开登录页面,输入账号密码,账号密码为空则会提示用户“请输入账号”/“请输入密码”,然后选择自己的角色:学生或者教师或者管理员,点击登录按钮,将该用户的登录信息发送到服务器,服务器接收到请求后查询是否有该用户的存在,如果该用户不存在则提示错误信息。如果该用户存在且账号密码无误则提示“登录成功”,并进入毕业论文管理系统的主页。

根据上面的分析,用户登录流程为用户先要进入高毕业论文管理系统的用户登录页面,在登录页面输入自己的账号和密码,并选择自己的角色进行登录,登录成功后将返回主操作页面给用户,其具体的流程图如下图3-1所示:

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第5张

图3-1 用户登录流程图

2. 学生选题模块

学生需要选定论文的题目,有两种方式:一是选择指导教师发布的课题,二是自主申报课题。

根据上面的分析,学生选题首先要登录并且进入系统,选择课题管理,进行选题或者自主申报课题,其具体的流程图如下图3-2所示:

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第6张

图3-2 学生选题的流程图

3. 教师课题管理模块

教师课题管理的流程为教师先打开用户登录页面,输入自己的账号密码并选择教师角色进行登录,登录成功后选择课题管理页面进入,教师可查看到需要审核的学生的课题,和已选择其发布的课题的学生的信息。其具体的流程图如下图3-3所示:

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第7张

图3-3 教师课题管理流程图

4. 教师答辩安排管理流程图

教师答辩安排管理的流程为教师先登录进入系统答辩安排页面,安排教师答辩组,安排成功后,可查看所有的答辩小组的信息,包括:答辩时间、地点、答辩小组组长以及成员。然后再安排学生的答辩组。其具体的流程图如下图3-4所示:

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第8张

图3-4 教师答辩安排管理流程图

3.2 本章小结

本章首先对系统的总体架构进行设计,简单阐述采用B/S架构进行系统开发的原因。然后通过上章对系统的需求分析,对系统数据库进行设计,最后对系统模块进行设计,主要介绍系统中用户登录模块、学生选题模块、教师课题管理模块、答辩安排模块的设计。

第4章 系统实现

本章主要给出系统一些功能模块的实现效果图。

4.1 学生选题模块的实现

下图4-1是学生选题模块实现的界面图,界面上显示指导教师发布的课题的信息,学生可选择指导教师发布的课题,也可点击“自主申报课题”按钮,弹出“自主申报课题”窗口,如图4-2所示,填写完申请课题的相关信息则点击“确定”按钮,则可以申报课题,由指导教师审核。

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第9张

图4-1 学生选题界面

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第10张

图4-2 学生自主申报课题窗口

4.2 学生论文过程文档管理模块的实现

下图4-3是学生上传论文初稿的界面,学生只能上传word文档,且只能上传一份。上传成功后,自己可下载查看。下图4-4 是学生上传论文初稿成功后的界面效果图。论文终稿的实现效果同理,但是只有上传了初稿才可以上传终稿。

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第11张

图4-3 学生上传论文初稿窗口

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第12张

图4-4 学生上传论文初稿成功后的效果图

4.3 教师选题管理模块的实现

下图4-5是教师选题管理模块中课题列表的界面图,教师课题管理下有三个子页面,分别是“课题列表”、“审核课题”和“学生已选题目列表”。教师可新增课题,并对已发布的课题进行修改、查看或者删除功能。指导教师对学生自主申报的课题具有审核的权力,如图4-6所示,指导教师可查看所有已选择题目并且审核通过的学生的信息,如图4-7所示。

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第13张

图4-5 教师课题管理->课题列表界面

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第14张

图4-6 教师课题管理->审核课题界面

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第15张

图4-7 教师课题管理->学生已选题目列表

4.4 教师答辩安排管理模块的实现

下图4-8是教师答辩安排的实现界面图,只有系主任有权力分配答辩组(如图4-9所示,分配答辩组的弹出窗口),以及查看所有答辩组的信息(如图4-10所示),鼠标hover按钮会有提示该按钮的作用。下图4-11是系主任为学生安排答辩组的实现界面图,安排成功后,可查看某个学生的答辩安排信息,如4-13所示。

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第16张

图4-8 教师答辩安排的实现界面图

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第17张

图4-9 教师安排答辩组的弹出窗口

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第18张

图4-10 查看所有答辩组的信息的弹出框

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第19张

图4-11 查看某答辩组的答辩组成员的弹出框

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第20张

图4-12 系主任为学生安排答辩组实现界面图

基于Springboot的毕业论文管理系统的设计与实现,在这里插入图片描述,第21张

图4-13 查看某个学生的答辩安排信息

4.5 本章小结

本章介绍了从系统的总体架构、数据库的设计和系统部分模块设计与实现四个方面阐述了毕业论文管理系统的设计与实现。数据库的设计包括了学生信息表、教师信息表、课题信息表、论文信息表和角色信息表等多个表的设计;系统模块设计主要包括了用户登录模块、学生选题模块、教师课题管理模块等多个功能模块的设计;最后,文中给出了系统一些模块的实现界面。

第5章 系统测试

5.1 测试的目的和意义

对软件进行软件测试的主要目的是发现软件的错误,提高软件的可靠性、功能的准确性,这都是为了提高用户的体验感。如果没有软件测试这个过程,系统带着一些存在但未被发现的错误一起运行,将会给用户带来不好的体验感。软件测试是软件开发过程中的最后一项工作,也是一项重要的工作。

5.2 测试计划

本系统将采用黑盒测试的方法,来对软件进行测试。黑盒测试只关注软件的功能是否能够正常使用,忽略其它的因素。

具体的测试计划如下:

测试1 名称:用户登录测试

目的:检测用户的登录功能

内容:账号密码的输入,合法性检查,管理系统主页面的显示

测试2 名称:学生选题测试

目的:检测学生的选题功能

内容:自主申报课题,查看教师发布的课题列表,选择教师发布的课题,选择课题后课题信息的显示

测试3 名称:教师课题管理测试

目的:检测教师的课题管理功能

内容:查看学生的选题,审核学生选题,发布课题

5.3 测试用例

5.3.1系统登录测试

功能描述:用户使用自己的账号密码进行登录,当输入的账号密码为空时则提示用户输入账号和密码,当用户输入的账号密码有错误时,则会提示用户账号或密码错误。系统登录测试用例如表5-1所示:

表5-1 系统登录测试用例表

序列测试目的 测试输入 测试结果

用户名 密码

空账号 (为空) 1608010101 账号不能为空,请重新输入

空密码 160801010101 (为空) 密码不能为空,请重新输入

空账号、空密码 (为空) (为空) 账号、密码不能为空,请重新输入

账号正确输入、密码错误输入 1608010101 123 账号或密码不正确

账号错误输入、密码正确输入 123 1608010101 账号或密码不正确

账号、密码正确输入 1608010101 1608010101 登录成功,进入系统主页面

5.3.2学生选题测试

功能描述:学生登录成功,进入系统后,可进行论文的选题。学生可查看指导教师的出题,并决定是否要选择指导教师发布的课题,或者学生可自主申报课题,填入课题相关信息,提交后由指导教师审核。学生的选题测试用例如表5-2所示:

表5-2 学生选题测试用例表

测试目的 测试内容 测试结果 测试说明

测试自主申报课题 点击“自主申报课题”按钮 正常显示“自主申报课题”窗口

测试数据输入完整性 “课题名称”,“所属学院”,“课题来源”,“课题分类”字段都不为空 成功申报课题

测试输入部分数据 “课题名称”为空、“所属学院”为计算机科学与技术、“课题来源”为学生自主发明创造项目、“课题分类”为计算机软件 提示——“课题名称”不得为空

测试输入部分数据 “课题名称”为测试题目、“所属学院”为空、“课题来源”为学生自主发明创造项目、“课题分类”为计算机软件 提示——“所属学院”不得为空

测试输入部分数据 “课题名称”为测试题目、“所属学院”为计算机科学与技术、“课题来源”为空,“课题分类”为计算机软件 提示——“课题来源”不得为空

测试输入部分数据 “课题名称”为测试题目、“所属学院”为计算机科学与技术、“课题来源”为学生自主发明创造项目,“课题分类”为空 提示——“课题分类”不得为空

测试学生选择教师题目测试 学生尚未选择课题,查看其指导教师发布的课题,并点击选择按钮 选择成功,指导教师题目列表中已不显示被选中的题目,并且自主申报课题按钮不可被点击

5.3.3 教师课题管理测试

功能描述:教师登录成功,进入系统后,可以发布课题供学生选择,审核学生自主申报的课题,查看学生已选题目列表。教师课题管理测试用例如表5-3所示。

表5-3 教师课题管理测试用例

测试目的 测试内容 测试结果 测试说明

测试教师查看学生自主申报课题功能 点击“审核列表”,查看学生提交审核题目的信息列表,并显示出审核通过或不通过的按钮。 正常显示学生自主申报课题的列表,且正常显示审核通过或不通过的按钮

测试教师审核通过学生自主申报课题功能 查看到自主申报题目的学生的课题列表,点击审核“通过”按钮 正常显示学生自主申报课题的列表,点击审核通过按钮后,该学生的课题信息在学生已选题目列表中正常显示

测试教师审核不通过学生自主申报课题功能 查看到自主申报题目的学生的课题列表,点击审核“不通过”按钮 正常显示学生自主申报课题的列表,点击审核不按钮通过后,该学生的课题信息不显示在审核列表

测试教师新增课题功能 “课题名称”,“所属学院”,“课题来源”,“课题分类”,“课题要求”字段都不为空 成功新增课题

测试输入部分数据 任一字段为空 提示—“新增的每一项内容都不能为空”

测试教师查看学生已选题目列表功能 点击“学生已选题目列表”栏目,显示学生已选题目的数据 正确显示该指导教师所指导的所有学生已选择题目的信息列表

测试输入部分数据 “课题来源”为空,其余字段不为空 提示—“新增的每一项内容都不能为空”

测试输入部分数据 “课题分类”为空,其余字段不为空 提示—“新增的每一项内容都不能为空”

测试输入部分数据 “课题分类”为空,其余字段不为空 提示—“新增的每一项内容都不能为空”

5.3.4 教师答辩安排管理测试

功能描述:教师(系主任才有权力安排答辩组)登录成功,进入系统后,可以安排教师答辩小组,安排成功后,再为学生安排答辩组。

表5-4 教师答辩安排管理测试用例

测试目的 测试内容 测试结果 测试说明

测试教师查看答辩安排页面的功能 点击“答辩安排”菜单项,查看学生信息列表, 正常显示学生的信息列表,搜索框以及答辩安排、查询等按钮

测试教师在答辩安排页面的搜索功能 学生姓名,学号,教师姓名等字段为空,点击搜索按钮,则显示所有学生信息列表 搜索按钮显示正常并且可以点击,点击后征程显示所有学生的信息列表

测试教师在答辩安排页面输入部分数据的搜索功能 在“学生姓名”输入框中输入“李四”,“学号”,“教师姓名”字段为空 正常显示名为“李四”的学生的信息

测试教师在答辩安排页面输入部分数据的搜索功能 在“学生学号”输入框中输入“01”,“学生姓名”,“教师姓名”字段为空 正常显示学生学号中包括“01”的所有学生的信息

测试教师在答辩安排页面输入部分数据的搜索功能 在“教师姓名”输入框中输入“陈”,“学生姓名”,“学生学号”字段为空 正常显示学生信息列表中指导教师的姓名包含“陈”字的所有学生的信息

测试教师安排答辩组的功能 点击“安排答辩组”的按钮,弹出安排答辩组的窗口,显示安排答辩组的表单,包括“答辩组名称”,“答辩组时间”,“答辩组地点”,“答辩组组长”“安排答辩教师”字段 正常弹出安排答辩组的按钮,并且正常显示安排答辩组的表单

测试教师安排答辩组的功能,安排答辩组的表单输入部分数据 “答辩组名称”字段为空,其余字段不为空 提示—“请输入相关信息”

测试教师安排答辩组的功能,安排答辩组的表单输入部分数据 “答辩地点”为空,其余字段不为空 提示—“请输入相关信息”

测试教师安排答辩组的功能,安排答辩组的表单输入部分数据 “答辩时间”为空,其余字段不为空 提示—“请输入相关信息”

测试教师安排答辩组的功能,安排答辩组的表单输入部分数据 “答辩组组长”为空,其余字段不为空 提示—“请输入相关信息”

测试教师安排答辩组的功能,安排答辩组的表单输入部分数据 “安排答辩教师”穿梭框的数据为空,其余字段不为空 提示—“您尚未分配教师在该答辩组”

测试教师查看答辩组信息的功能 教师点击“查看答辩组信息”的按钮,显示所有的答辩组的信息,每条数据最后一个字段显示查看答辩组成员按钮,点击该按钮,查看答辩组成员名单 正常显示答辩组的信息列表,且每条数据最后一个字段正常显示查看答辩组成员按钮,点击按钮后,正常显示答辩组成员的名单

测试教师为单个学生安排答辩组的功能 学生信息的每条数据最后一个字段,显示安排按钮,点击该按钮安排学生的答辩组,显示下拉包含答辩组名称的下拉菜单,点击某一项,可为学生分配答辩组,完成后可查看该学生的答辩组信息 正常显示为学生安排答辩组的弹出框,并且正常显示安排答辩组的下拉框,可为学生分配答辩组。弹框关闭后,点击查看该学生答辩组信息的按钮,正常显示该学生的答辩组信息。

测试教师为多个学生安排答辩组的功能 教师可选中多个学生,点击“批量安排”的按钮,可为其选中的多个学生安排答辩组,其后流程与教师为单个学生安排答辩组的流程一致;若教师尚未选中多个学生,点击批量安排按钮后安排多个学生的答辩组,则会出现提示信息 正常显示为学生安排答辩组的弹出框,并且正常显示安排答辩组的下拉框,可为学生分配答辩组。弹框关闭后,点击查看该学生答辩组信息的按钮,正常显示该学生的答辩组信息;若教师尚未选中学生,点击安排答辩组弹出框内的安排按钮,则会提示—“您尚未选中学生”

5.4 本章小结

本章首先对软件测试的目的和意义进行了简单的介绍,然后给出了一些模块的测试计划和测试用例,证明系统登录、学生选题、教师课题管理和教师答辩安排管理等模块的功能是无误的。

第6章 结束语

6.1 全文总结

本文给出了毕业论文管理系统的开发过程。系统采用Java语言作为开发语言,数据库采用MySQL,前端使用Vue脚手架搭建。

论文首先阐述了系统开发中应用的关键技术和开发环境,如SpringBoot框架、Vue.js框架等关键技术,开发环境:JDK1.8,Vue/cli4.1.2等。

此后通过对毕业论文管理系统的需求分析,进行了系统总体架构设计、系统的数据库设计和功能模块设计。根据我校对毕业论文管理的需求,毕业论文管理系统的功能的设计主要包括系统中用户登录模块、学生选题模块、教师课题管理模块、论文过程管理、答辩安排管理等几模块。并给出了学生和教师的用例关系图。

在系统的实现部分,文中给出了用户登录模块、学生选题模块、教师课题管理模块的实现流程和实现界面。

文中最后通过阐述软件测试的目的和意义,给出了系统的测试计划和测试用例。

综上所述,本文通过对SpringBoot框架、Java语言、数据库MySQL、Vue脚手架等相关知识的应用,给出了一个高校毕业论文管理系统的开发实例。

6.2 课题展望

随着信息技术的发展,互联网时代的浪潮已经席卷全球,高校毕业论文的管理也应该跟上时代潮流的步伐,借助互联网来高效管理学生的毕业论文。随着每年不断增长的学生人数,高校使用毕业论文管理系统来管理学生的毕业论文是互联网不断发展的一个必然结果,且能帮助学校更好的保存学生的论文,以及提高教师的办公效率,节约教师的时间,用于指导学生完成高质量的毕业论文。

本系统虽然提高了高校对毕业论文的管理效率,实现了毕业论文管理的数字化和信息化,但是还存在以下不足:

(1)系统没有使用权限管理框架,只是采用了通过查表来判断用户的角色的方法,这样导致了系统的安全性不够强。

(2)在对数据库的设计方面,对数据库表的设计没有全面的考虑。

(3)后端代码没有进行很好的优化,存在冗余代码。

(4)前端框架不熟悉,导致前端页面冗余代码太多。

因此,基于系统以上存在的缺点和不足,以后将全面考虑数据表的设计与实现,对代码进行优化,了解和学习有关系统权限管理、安全性管理的知识。

参考文献

[1]武卫莉. 加强大学生毕业设计 (论文 )教学环节的实践和研究[A].毕业论文与毕业设计,2011

[2]韩彬彬,张兆恩.高校毕业论文网络数字化管理必要性和可行性的研究[A].计算机的应用,2012

[3]樊伟宏,杨文婷,王昊,等.基于 MVC 模式的毕业论文管理系统设计与实现[J].软件导刊,2017,16(4):129-131.

[4]刘雅娴,刘小龙,徐辉.基于 WEB 的毕业设计管理系统的设计与实现[J].数字技术与应用,2017(9):165-166.

[5]张海潘. 《软件工程导论(第四版)》.北京,清华大学出版社,2003年.

[6]郑鸿英.毕业设计管理系统的开发与实现[D]. 华东师范大学 2011年.

[7]张景波,张云琦.高校论文管理系统的研究[A].2019,21,205-206.

[8]刘增辉.Mybatis从入门到精通.电子工业出版社, 2017.

[9]梁灏.Vue.js实战.清华大学出版社, 2017.

[10]麦冬;陈涛;梁宗湾;.轻量级响应式框架Vue.js应用分析[J].信息与电脑(理论版),2017,No.377(07):64-65

[11]张峰;.应用SpringBoot改变web应用开发模式[J].科技创新与应用,2017,No.207(23):199-200.

[12]Cay S. Horstmann/Gary Cornell. Java2核心技术.北京:机械工业出版社,2007

[13]李志峥,杨社堂.基于B/S结构下的软件系统测试研究[A].软件工程,2006

[14]侯凌霄.高校毕业设计论文管理系统设计与实现[D].电子科技大学,2013.

[15]佟光伟编著.软件测试[M].北京:人民邮电出版社,2015(2):55-56.

[16]梁敬东,伍世珍.基于J2EE的毕业论文管理系统设计与实现[B].毕业论文与毕业设计,2010

[17]林智健.基于B/S架构的毕业论文管理系统实现[A].软件工程,2008

[18]胡启敏,薛锦云,钟林辉.基于Spring框架的轻量级J2EE架构与应用[A].程序设计、软件工程,2008

[19]陈倩怡,何军.Vue+Springboot+MyBatis技术应用解析[J].电脑编程技巧与维护,2020,(1)14-16

[20]王鹏强,基于vue的MVVM框架的研究与分析[A]. 程序设计、软件工程,2019

致 谢

通过对毕业论文管理系统的设计与实现,学习到了很多的新知识。在这四年的学习生活,除了老师传授的专业知识的学习,还学到了一个重要的技能:自学。感谢每个老师不厌其烦的告诉我们:不要只停留在老师教的阶段,要培养自己的自学能力。感谢老师们的悉心指导,感谢你们用精湛的专业知识启蒙了我们对专业知识的了解,也指导我们如何规划自己的未来。从你们的身上,不仅学会了你们传授的专业知识,也学会了如何自学,如何做人。
感谢四年来一起学习、一起生活的同学们,你们的支持和鼓励是我前进的动力之一,我的大学生活因为有你们而更加精彩。
感谢我的父母。没有你们的陪伴和鼓励,没有你们替我遮风挡雨,我也不能无忧无虑地学习和生活。
最后,感谢所有支持我、陪伴我的人!