专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。
技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。
主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。
🍅文末获取源码联系🍅
在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
摘 要
高校规模越来越大,学生越来越多,每年都有大批的大学生完成学业。毕业之前,各大高校设立毕业论文来对学生进行考核,传统毕业论文管理方式效率低下,为了提高效率,特开发了本毕业论文管理系统。
本毕业论文管理系统以实际运用为开发背景,基于SSM框架,采用JSP技术、JAVA编程语言,MYSQL数据库设计开发,充分保证系统的稳定性。系统满足了不同权限用户的功能需求,包括管理员、学生和导师,系统的应用可有效提高毕业论文管理效率,本系统具有界面清晰、操作简单,功能齐全的特点,使得毕业论文管理工作系统化、规范化、高效化。
在设计本系统时对系统进行了充分的分析,包括需求分析,性能分析,功能分析,从开发背景、开发环境、目标、流程、数据库、系统维护等方面都进行了总体的规划与设计。
关键词:毕业论文管理,JSP技术,SSM框架,MYSQL数据库
1绪论
1.1 研究背景
我国经济的发展,我国学校越来越多,人们越来越重视学历,接受高等教育的学生越来越多,每年都有大量的大学生完成学业,在毕业之际,毕业论文是学校对大学生的重要审核。学校在学生毕业论文管理方面负担越来越重,在这样的情况下急需开发一套毕业论文管理系统。毕业论文管理系统能够提高学校毕业论文管理效率,备受学校的喜爱。
随着计算机网络在日常生工作中的广泛应用以及全国各地院校的校园网络办公平台容易健全,计算机网络办公模式将会逐步取代传统办公模式,为人们的工作生活带来了极大的便利。毕业论文作为高校大四学生四年学习生涯中关键的一步,也应该采用计算机的网络化管理模式,不仅减轻了毕业论文选题、指导、成绩等环节步骤,也极大的减少了许多繁琐的过程。因此,开发一个毕业论文管理系统对学校毕业论文进行规范化管理就显得格外必要和重要。它不但是实现教学管理现代化和网络化的一个重要手段,同时也是促进传统教学模式改革的一个方法。对于改进教学管理,提高教学质量具有十分重要的意义和较大的实用价值。
本毕业论文管理系统能够大大提高学校的毕业论文管理效率,促进学校的可持续发展,具有广阔的发展空间。
1.2 设计原则
在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:
(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。
(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。
(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。
(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。
(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。
1.3 研究组织结构
第一章主要是简单的介绍下设计本网站的研究背景和设计原则,在这一章里主要是让大家了解下我的设计的前因后果,为接下来我的其它章节做铺垫。
第二章主要是介绍在设计过程中所涉及到的技术。
第三章主要是介绍下设计这个网站所需要的需求以及我们的功能需求分析,因为只有更好的分析清楚我们的功能需求才能更好的完成我们的设计。
第四章网站系统设计,主要介绍了网站结构的设计以及展示了数据库E-R图设计,这一章主要是为了能让大家更好的了解网站的一些基本设计信息。
第五章系统的实现,介绍了系统每个模块的设计与实现,让大家能清晰的了解系统的主要功能。
第六章系统的测试,这章主要是测试下各个部分每个功能是否能用,看下是否有错误。
2 关键技术简介
2.1 JSP技术
JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。将Java程序添加到传统的web页面HTML文件(*)。htm,*。Html)。
JSP这种能够独立使用的编程语言可以嵌入在html语言里面运行,正因为JSP参照了许多编程语言的特性,使得JSP在web的脚本技术当中也占有一定的重要位置,对于刚入门编程行业的初学者来讲,jsp这种编程语言不仅容易学习,而且还具备许多高级的特性。在程序的开发过程中,使用jsp也不失为一种正确的选择,像表单数据的收集操作以及字符串信息的处理方面等等,jsp都能很轻松地解决,帮助程序开发者省下许多时间,JSP 新版本的发布,标志着一个全新的JSP时代的到来,它最大的特点就是引入了面向对象的全部机制,并保留了向下的兼容性。综上所述,使用JSP,可以自由的选择操作系统、Web服务器以及合适的数据库管理系统。同时,设计开发时,有两种选择,一种是面向过程,另一种是面向对象,或者也可以两种都使用,可以称为混和方式设计。
JSP的优点:编写一次,始终运行。还有jsp可以延展可以缩短的强大优势,还有就是支持多种开发语言并且兼容性好,适用于很多平台顺利运行。
2.2 MYSQL数据库
在数据库方面采用当前主流的MySQL数据库,MySQL具有开放性,它是一种关系型数据库管理系统,并且它的源代码可以被大众所熟知。由于MySQL是开放源代码的,因此,只要经过授权就可以在自己需求的基础上对其进行修改。MySQL因为其固有的特点而备受关注,它具有很强的适应性,并且十分可靠,查询速度快。MySQL安装起来非常方便,且数据存储量大,不需要事务化处理。Sql语言拥有很多的方法,在项目中编写sql语句时使用起来是非常方便的,不会像其他语言那样需要编写更多的语句。正因为MySQL使用sql语言进行数据库管理,所以它收到了大多数程序员的热爱。
2.3 B/S结构
Browse/Sever(浏览器/服务器)架构,是一种基于互联网系统的所开发的一种架构,是在C/S架构上进行完善开发的一种架构,它主要用于Web和移动端的软件开发。它的方便在于用户只需要在浏览器上连接部署上用户所需的数据库便可在浏览器浏览用户所需的数据。
从逻辑上B/S架构可以分为三层结构体系,客户机层浏览器,Web层和DB服务器层。客户机层可以将用户所需要的数据信息通过后端数据库数据模块的读取,显示到用户的客户层浏览器中。Web层主要是实现浏览器上的功能,来分析处理数据进行端口的对接。可以访问COM,ADO等对象。DB服务器层是整个B/S框架的核心,为其他技术提供数据库的支持,并对各种数据库进行更新,删除,添加,查询等功能。
B/S架构这种只需要用户在浏览器上运行不需要再下载客户端的模式,使用浏览器就可以实现和下载客户端的一样复杂的功能。给管理系统的用户带来了很大的方便,节约了大量的成本。现在B/S架构已经在Web开发上被广泛运用,它的基础内容也在不断的完善更新。
图2-1 B/S模式三层结构图
2.4 JAVA技术
Java是一门伟大的程序设计语言[5]。Java使得Web网页可以表现精彩和互动的多媒体内容,促进了Web的蓬勃发展[7]。之后随着Web的发展,应用Web成为大型应用所要求的主流方式,Java凭借其“一次编译,到处运行”的特性很好地支持了互联网应用所要求的跨平台能力,成为服务器端开发的主流语言[5]
Java语言是应用很广泛的语言,用它编写出的程序十分可靠安全,并且可以在任何系统平台运行。java在线程机制上也是十分简便,其多线程的机制可以在某一时间内同时执行多个任务不会出现中断,巧妙使用这一特性可以让程序具有更好的实时行为和交互性。
3 系统分析
3.1 可行性分析
通过对本毕业论文管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、操作可行性、经济可行性和时间可行性四方面进行分析。
3.1.1技术可行性
本系统运用SSM框架,结构清晰明了,网页采用的是JSP进行开发,相比Html更适合。系统使用Java语言编写,JAVA语言有着庞大的用户以及学习群体。数据库采用MySQL。这些都是比较基础,使用较为广泛的技术,因此具有技术可行性。
3.1.2 经济可行性
由于自己本身就是学生,还没有正式参加工作,金钱上面一直都处于缺乏状态。所以在开发程序过程中,我是不会花太多经济成本在上面的。针对开发软件和数据库,还有界面设计的photoshop软件等在百度上面就可以直接下载,然后根据各种安装视频进行安装,这些资源都是免费的,程序编码阶段使用的源代码在百度上面可以轻松获得,在有网络的环境下就能下载下来,不需要支付任何费用,经济成本很低。
3.1.3 操作可行性
本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。本毕业论文管理系统的界面简单易操作,用户只要平时有在用过电脑,都能进行访问和操作,系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的。所以系统在操作上具有很高的可行性。
3.1.4 时间可行性
从时间上看,在三个月的时间里学习相关知识,开发本毕业论文管理系统,时间上是有点紧,但是不是不可能实现,在做毕业设计的这几个月里,我通过努力使得功能应该基本可以实现。
从上面几个部分的可行性分析得出,这次开发的毕业论文管理系统在开发上面没有什么大问题,值得开发。
3.2 系统性能分析
(1)系统的存储性:因为是毕业论文管理系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。
(2)系统的易学性:系统设计的应该简单易学的,设计的各种功能应该简单操作,不需要努力学习培训,缩短用户熟悉系统的进程。
(3)系统的数据要求:数据应该录入准确,需要更新时,数据应该可以及时的修改,数据还应该有独立保存,不能删除数据的时候会连带着把还需要的数据都删除掉。
(4)系统稳定性:开发的毕业论文管理系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
(5)系统可靠性:系统不可以有病毒类代码,必须有拦截器,验证方法,对里面信息的保护措施,这样才让人用的放心。
3.3 系统功能分析
本毕业论文管理系统主要实现的功能模块包括学生模块、导师模块和管理员模块三大部分,具体功能分析如下:
(1)导师功能模块:导师注册登录后主要功能模块包括个人中心、学生管理、导师管理、职称类型管理、课题管理、课题申请管理、导师选择管理、课题资料管理、成绩管理、文档管理、学院类型管理、管理员管理以及留言板管理。导师用例图如图3-1所示。
图3-1 导师用例图
(2)学生功能模块:学生在系统前台可查看系统信息,包括首页、导师、课题管理、课题资料、文档管理、公告以及留言反馈,注册登录后主要功能模块包括个人中心、课题申请管理、导师选择管理、课题资料管理、成绩管理以及文档管理。学生用例图如图3-2所示。
图3-2 学生用例图
(3)管理员功能模块:管理员登录后可对系统进行全面管理,管理员主要实现的功能模块包括个人中心、学生管理、导师管理、职称类型管理、课题管理、课题申请管理、导师选择管理、课题资料管理、成绩管理、文档管理、学院类型管理、管理员管理、留言板管理以及系统管理,管理员实现了对系统信息的查看、添加、修改和删除的功能。管理员用例图如图3-3所示。
图3-3 管理员用例图
3.4 系统流程分析
3.4.1注册登录流程
没有账号的学生和导师均可进行注册操作,注册后可实现登录功能,注册登录流程如图3-4所示。
图3-4注册登录流程图
3.4.2添加信息流程图
所有登录成功的用户都可以实现添加信息,在添加信息的过程中,编号不能手动输入,由系统生成,其他信息都要手动输入,输入后系统对输入的这些信息进行验证,验证通过就显示添加成功,相反添加失败。添加信息流程如图3-5所示。
图3-5添加信息流程图
3.4.3修改信息流程图
修改信息这一块的流程和添加信息类似,首先由用户选定需要修改的信息,然后输入对应要修改的数据,系统对输入的这些数据再进行验证,验证成功就可以添加到系统的数据库里面,相反不能添加成功。图3-6就是修改信息的流程图。
图3-6修改信息流程图
3.4.4删除信息流程图
用户在删除的时候,系统会再次提示是不是确定要删除,因为一旦删除了,信息就不存在了,确定要删除的话,就会从数据库里将这些数据删除,重新更新数据库。图3-7演示的就是删除信息的流程图。
图3-7删除信息流程图
4 系统设计
4.1 系统结构设计
系统结构设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。在整个设计过程,以确定可能的具体方案达成每一个小的最终目标,对于每一个小的目标而言,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,设计出一个具体可实现的系统结构。
本毕业论文管理系统的整体结构设计如图4-1所示。
图4-1 系统结构图
4.2 系统顺序图设计
(1)登录模块顺序图
登录模块主要满足了管理员、学生、导师的权限登录,登录模块顺序图如图4-2所示。
图4-2 登录模块顺序图
(2)添加信息模块顺序图
管理员、学生、导师登录后均可进行添加信息操作,添加信息模块顺序图如图4-3所示
图4-3 添加信息模块顺序图
4.3 系统数据库设计
一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,还是需要多花时间进行考虑,最终设计出配套程序的数据库出来。
4.3.1 数据库E-R图设计
E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可以完整地映射出现实模型的关系。E-R图中的三个最为重要的元素就是实体、属性、关系。E-R图即由这三点组成。
实体:E-R图中数据的实体,用矩形表示上面为实体名,下面为实体属性,实体包含主外键等关系。
属性:E-R图中的属性,是指实体的属性,实体由多条属性所构成,属性拥有自己的数据类型,数据大小。属性的优劣决定了E-R图中实体的健全性、完整性。
关系:E-R图中的关系是指实体之间的关系,用菱形来表示实体间的关系,这些菱形关系的联系上有着一对多或多对多的数据联系,这些构成了E-R图的关系,E-R图的关系紧密连接了实体,使实体间的关联性更加的显著、易懂。本毕业论文管理系统的E-R图如下所示:
(1)导师选择实体属性图如图4-4所示。
图4-4 导师选择实体属性图
(2)课题实体属性图如图4-5所示。
图4-5 课题实体属性图
(3)申请课题实体属性图如图4-6所示。
图4-6 申请课题实体属性图
4.3.2 数据库表设计
本毕业论文管理系统采用MYSQL数据库进行系统数据的储存,主要的数据库表的具体设置如下:
表4-1 daoshixuanze导师选择信息表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 是否主键 | 能否为空 |
id | 编号 | bigint | 20 | 是 | 否 |
addtime | 创建时间 | timestamp | 否 | 是 | |
daoshizhanghao | 导师账号 | varchar | 200 | 否 | 是 |
daoshixingming | 导师姓名 | varchar | 200 | 否 | 是 |
`xuanze | 选择 | varchar | 200 | 否 | 是 |
xuehao | 学号 | varchar | 200 | 否 | 是 |
xueshengxingming | 学生姓名 | varchar | 200 | 否 | 是 |
shenqingriqi | 申请日期 | date | 否 | 是 |
表4-2 ketixinxi课题信息表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 是否主键 | 能否为空 |
id | 编号 | bigint | 20 | 是 | 否 |
addtime | 创建时间 | timestamp | 否 | 是 | |
ketibianhao | 课题编号 | varchar | 200 | 否 | 是 |
ketimingcheng | 课题名称 | varchar | 200 | 否 | 是 |
nandu | 难度 | varchar | 200 | 否 | 是 |
`laiyuan | 来源 | varchar | 200 | 否 | 是 |
leixing` | 类型 | varchar | 200 | 否 | 是 |
miaoshu | 描述 | longtext | 否 | 是 | |
kechengziliao | 课程资料 | varchar | 200 | 否 | 是 |
gonghao | 工号 | varchar | 200 | 否 | 是 |
jiaoshixingming` | 教师姓名 | varchar | 200 | 否 | 是 |
faburiqi` | 发布日期 | date | 否 | 是 | |
sfsh | 是否审核 | varchar | 200 | 否 | 是 |
shhf | 审核回复 | longtext | 否 | 是 |
表4-3 shenqingketi申请课题信息表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 是否主键 | 能否为空 |
id | 编号 | bigint | 20 | 是 | 否 |
addtime | 创建时间 | timestamp | 否 | 是 | |
ketibianhao | 课题编号 | varchar | 200 | 否 | 是 |
ketimingcheng | 课题名称 | varchar | 200 | 否 | 是 |
nandu | 难度 | varchar | 200 | 否 | 是 |
`laiyuan | 来源 | varchar | 200 | 否 | 是 |
leixing` | 类型 | varchar | 200 | 否 | 是 |
miaoshu | 描述 | longtext | 否 | 是 | |
kechengziliao | 课程资料 | varchar | 200 | 否 | 是 |
daoshizhanghao | 导师账号 | varchar | 200 | 否 | 是 |
daoshixingming | 导师姓名 | varchar | 200 | 否 | 是 |
faburiqi | 发布日期 | date | 否 | 是 | |
sfsh | 是否审核 | varchar | 200 | 否 | 是 |
shhf | 审核回复 | longtext | 否 | 是 |
表4-4 daoshi导师信息表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 是否主键 | 能否为空 |
id | 编号 | bigint | 20 | 是 | 否 |
addtime | 创建时间 | timestamp | 否 | 是 | |
daoshizhanghao | 导师账号 | varchar | 200 | 否 | 是 |
mima | 密码 | varchar | 200 | 否 | 是 |
daoshixingming | 导师姓名 | varchar | 200 | 否 | 是 |
`xingbie | 性别 | varchar | 200 | 否 | 是 |
yuanxi | 院系 | varchar | 200 | 否 | 是 |
nianji | 年级 | varchar | 200 | 否 | 是 |
shoujihaoma | 手机号码 | varchar | 200 | 否 | 是 |
youxiang | 邮箱 | varchar | 200 | 否 | 是 |
表4-5 xuesheng学生信息表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 是否主键 | 能否为空 |
id | 编号 | bigint | 20 | 是 | 否 |
addtime | 创建时间 | timestamp | 否 | 是 | |
xuehao | 学号 | varchar | 200 | 否 | 是 |
mima | 密码 | varchar | 200 | 否 | 是 |
xueshengxingming | 学生姓名 | varchar | 200 | 否 | 是 |
`xingbie | 性别 | varchar | 200 | 否 | 是 |
`xueyuan | 学员 | varchar | 200 | 否 | 是 |
zhuanye | 专业 | varchar | 200 | 否 | 是 |
banji | 班级 | varchar | 200 | 否 | 是 |
lianxidianhua | 联系电话 | varchar | 200 | 否 | 是 |
youxiang` | 邮箱 | varchar | 200 | 否 | 是 |
表4-6 users管理员信息表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 是否主键 | 能否为空 |
id | 编号 | bigint | 20 | 是 | 否 |
username | 用户名 | varchar | 100 | 否 | 是 |
password | 密码 | varchar | 100 | 否 | 是 |
role | 角色 | varchar | 100 | 否 | 是 |
addtime | 新增时间 | timestamp | 否 | 是 |
开题指导、源码获取、程序定做、毕设帮助,联系方式见文末。
系统实现效果
5 系统的实现
5.1 登录模块的实现
用户要想进入本系统必须进行登录操作,在登录界面输入用户名、密码选择登录角色点击登录按钮进行登录,系统登录界面展示如图5-1所示。
图5-1 系统登录界面图
5.2 学生管理模块的实现
管理员和导师均可添加、修改和删除学生信息,学生管理界面展示如图5-2所示,添加学生界面展示如图5-3所示。
图5-2 学生管理界面图
图5-3 添加学生界面图
5.3 导师管理模块的实现
管理员和导师均可添加、修改和删除导师信息,学生可选择导师查看详情信息,登录后可进行选择操作,导师管理界面如图5-5所示,导师详情界面展示如图5-6所示。
图5-5 导师管理界面图
图5-6 导师详情界面图
5.4 课题管理模块的实现
管理员和导师均可增删改查课题信息,学生可选择课题查看详情信息,登录后可进行课题申请操作,课题管理界面如图5-7所示,课题详情界面展示如图5-8所示。
图5-7 课题管理界面图
图5-8 课题详情界面图
5.5 注册模块的实现
没有账号的学生和导师均可进行注册操作,学生注册界面如图5-9所示,导师注册界面展示如图5-10所示。
图5-9 学生注册界面图
图5-10 导师注册界面图
5.6 系统主界面模块的实现
学生可进入系统前台查看系统信息,包括首页、导师、课题资料以及文档等,系统主界面展示如图5-11所示。
图5-11 系统主界面图
5.7 课题申请管理模块的实现
学生可选择课题进行申请操作,导师可查看学生课题申请信息,并可对其进行审核操作,课题申请界面展示如图5-12所示,课题申请管理界面展示如图5-13所示。
图5-12 课题申请界面图
图5-13 课题申请管理界面图
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻