基于Spring Boot的校友录管理系统
- 1、绪论
- 1.1 研究背景及意义
- 1.2 研究内容
- 2、系统设计
- 2.1 系统架构设计
- 2.2 系统功能设计
- 2.3 数据库设计
- 2.3.1 系统实体类
- 2.3.2 实体之间的联系
- 3、系统实现
- 3.1 系统登录页
- 3.2 系统首页
- 3.3 校友信息实现
- 3.3.1 校友批量上传
- 3.4 活动中心实现
- 3.4.1 活动查询
- 3.4.2 活动添加
- 3.5 校友会实现
- 3.5.1 校友会添加
- 3.5.2 校友会列表展示
- 3.5.3 校友会申请
- 3.5.4 校友会申请管理
- 3.6 新闻中心实现
- 3.6.1 新闻添加
- 3.6.2 新闻列表
- 3.6.3 新闻详情
- 3.7 校友捐献实现
- 3.7.1 捐献图片上传
- 3.7.2 捐献申请
- 3.7.3 捐献详情
- 3.8 校友群组实现
- 3.8.1 新建群组
- 3.8.2 上传相册图片
- 3.8.3 校友推荐
- 4、系统性能测试
- 4、系统性能测试
1、绪论
1.1 研究背景及意义
计算机技术正在以飞速发展的势头进一步影响到人们生活的各个方面。计算机技术推动了网络的发展,使得上网速度大大加快。人们可以能够更快捷地浏览网站和社交媒体。让人们可以更轻松地与同学、朋友进行联系和交流,提升感情和建立更紧密的关系。
然而,在网络信息碎片化的今天,要保存和查询同学、朋友的联系方式和个人信息变得越来越困难。校友录管理系统的出现正是为了解决这个问题。
建立信息管理系统平台是为校友提供方便、可靠、高效的方式来管理信息的关键环节。校友可以轻松地共享信息、更新联系方式、添加校友信息和工作经历等。同时,校友通过此系统及时了解母校最近的新闻事件,增强与母校之间的归属感。校友资源是高校社会资源的重要组成部分,有能力为母校提供财力、智力、人力、信息等资源的支持。通过搭建校友与学校、校友与在校生之间的桥梁,为教育主体的理论学习和实践发展拓宽校外资源。这样的校友网络,为促进各地学子合作提供了广泛的机会和平台,有利于各学子了解彼此、相互帮助,并联合起来支持母校的事业发展。通过信息管理系统平台加强与已毕业校友联系,激发学生爱校荣校情怀,加强校内外沟通交流,服务校内外师生等。
因此,随着越来越多的毕业生加入到校友网络中,为了促进毕业生之间的交流和联系,设计并制作一个校友录管理系统已成为很多同学的心愿。设计并实现一个校友录系统平台,让毕业生们能够分享彼此的经历、联系信息和其它资源,以便更好地保持联系,增强学生之间的凝聚力和发展实力,以及维系与母校之间的关系,具有很大的实际意义。
1.2 研究内容
本平台从校友的需求出发,分析了校友的六大主流需求,下面分别进行描述。
1.校友信息模块
登录校友的的详细信息,包括基本信息、工作经历、账号安全等信息。校友可以在此模块进行信息修改等。
2.活动中心模块
校友可以通过此模块查看学校最近的活动信息。管理员通过此模块对学校活动进行管理,包括查询学校活动、发布学校活动、修改学校活动信息,删除学校活动等。
3.校友会模块
校友通过此模块对学校校友会进行查看、申请加入校友会。管理员通过此模块对学校校友会进行管理,包括查询校友会、发布校友会、修改校友会信息,删除校友会等。
4.新闻中心模块
校友可以通过此模块可以查看学校的最近新闻和热门新闻,以及对新闻进行评论、点赞。管理员通过此模块对学校新闻进行管理。
5.校友捐赠模块
校友通过该模块可以查看全部校友捐赠的物品记录。管理员可以查询物品捐赠记录、修改物品捐赠记录、删除物品捐赠记录等。
6.校友群组模块
校友通过此模块可以进行校友的添加,查看校友的信息,以及取消关注校友。还可以创建分组,校友将其他校友进行分组管理,解决毕业后沟通交流问题。根据优秀的校友信息进行好友推荐,介绍优秀校友他们所取得的成就。还可以通过根据专业方向、入学年份等筛选条件进行不同方向的优秀校友推荐,校友进行校友的关注与联系。管理员可以管理和修改校友信息以及校友群组进行管理。
2、系统设计
2.1 系统架构设计
本系统是基于Spring Boot技术栈开发,Spring Boot 框架是在继承 Spring 框架优点的前提下,简化了 Spring 应用程序的配置过程,从而让开发者可以快速搭建应用程序。自动配置是 Spring Boot 框架的核心,通过 Maven 等方式导入相应依赖包后,Spring Boot 框架即可通过自动配置进行管理,同时,Spring Boot 也集成了很多开发中常见的基础框架,使得开发者可以在零 XML 配置中即可应用这些基础框架进行开发。
借助前后端分离开发模式,通过利用Restful接口,将客户端与服务端之间的调用实现内部高度一致,从而实现低度依赖的部署加速,将路由的控制放在浏览器端执行,由后端负责传递JSON数据,加快响应时间,使校友体验更佳。同时,采用Vue搭建单页应用程序,利用Axios请求与后台数据交换,完成JSON数据的重组,数据服务器采用MySQL来存储主要的系统数据,Redis作为缓存。
2.2 系统功能设计
在前期的需求调研及业务分析的基础上,对校友录管理系统的各模块进行详细设计与分析,校友录管理系统总体的功能结构图如图所示。
2.3 数据库设计
2.3.1 系统实体类
系统所涉及的实体类主要有22个,以下给出其属性。
(1)活动实体
活动的实体包括:编号,主题,发布人,时间,具体内容,状态,管理员编号,创建时间,修改时间。
(2)新闻实体
新闻的实体包括:编号,标题,图片地址,具体内容,发布日期,发布单位,提供者,状态,浏览量,点赞数,评论数,管理员编号,创建时间,修改时间。
(3)校友会实体
校友会的实体包括:校友会编号,校友会名称,校友会图片,校友会类型,校友会举办时间,校友会地点,校友会简介,校友会状态,管理员编号,创建时间,修改时间。
(4)校友会参与信息实体
校友会参与信息实体包括:编号,校友会编号,校友的学号,申请状态,创建时间,修改时间。
(5)捐献实体
捐献实体包括:捐献编号,捐献时间,捐献类型,捐献详情,捐献状态,捐献人学号,创建时间,修改时间。
(6)校友实体
校友实体包括:校友学号,校友头像,校友姓名,校友性别,校友生日,校友年级,校友学院,校友的班级,校友住址,校友个人介绍,校友电话,校友微信,校友qq,校友邮箱,创建时间,修改时间。
(7)校友安全信息实体
校友安全信息的实体:校友学号,校友密码,校友是否绑定邮箱,校友绑定邮箱,校友是否绑定电话,校友绑定电话,创建时间,修改时间。
(8)管理员实体
管理员实体包括:管理员编号,账号,密码,头像,最后修改时间。
(9)管理员登录记录实体
管理员登录记录实体包括:编号,管理员账号,记录登录省份,记录登录的城市,记录登录县,记录登录时间。
(10)图片实体
图片实体包括:图片表编号,图片来源表,图片来源表编号,地址信息,创建时间,修改时间。
(11)码表实体
码表实体包括:编号,来自哪张表,码表key,key对应名字,对key解释。
(12)校友激活信息实体
校友激活信息实体包括:学号,姓名,性别,校友证件号,年级,学院,班级,住址,校友激活状态,创建时间,修改时间。
(13)校友校园任职实体
校友校园任职实体包括:编号,学号,校友校园任职部门,校友校园任职职位,校友校园任职工作内容,开始时间,结束时间,状态,创建时间,修改时间。
(14)校友个人经历实体
校友个人经历实体包括:编号,学号,内容,时间,状态,创建时间,修改时间。
(15)校友工作经历实体
校友工作经历实体包括:编号,学号,校友工作部门,校友工作职位,校友工作内容,校友工作开始时间,校友工作结束时间,状态,校友工作经历创建时间,修改时间。
(16)校友关注实体
校友关注实体包括:编号,校友学号,关注校友学号,创建时间,修改时间。
(17)校友群组加入信息实体
校友群组加入信息实体包括:编号,群组编号,加入人学号,加入状态,加入的时间,创建时间,修改时间。
(18)校友群组实体
校友群组实体包括:编号,创建人学号,群组名称,头像,简介,创建时间,修改时间。
(19)校友群组相册实体
校友群组相册实体包括:编号,创建者学号,所属群组编号,相册头像,相册名称,相册简介,创建时间,修改时间。
(20)新闻评论点赞实体
新闻评论点赞的实体包括:编号,评论编号,点赞校友学号,创建时间,修改时间。
(21)新闻点赞的实体
新闻点赞的实体包括:编号,新闻编号,校友学号,创建时间,修改时间。
(22)新闻评论实体
新闻评论实体:编号,新闻编号,学号,评论内容,父级评论编号,创建时间,修改时间。
2.3.2 实体之间的联系
通过对各个实体及其属性的分析,分析出实体之间的联系,分析结果如下。
(1)一个管理员可以有多个登录记录,一条登录记录只属于一个管理员,所以管理员和登录记录表示1:N的关系。
(2)一个管理员可以发布多个活动信息,一个活动信息只能被一个管理员进行发布。所以管理员与活动之间是1:N的关系。
(3)一个管理员可以发布多个校友会,一个校友会只能被一个管理员进行发布。所以管理员与校友会之间是1:N的关系。
(4)一个管理员可以发布多个新闻,一个新闻只能被一个管理员进行发布。所以管理员与新闻之间是1:N的关系。
(5)一个校友会可以由多个校友进行参加,一个校友可以参加多个校友会,所以校友与校友会之间的关系是M:N的关系。
(6)一个校友可以评论多个新闻,一个新闻可以被多个校友进行评论,所以校友与新闻之间的关系为M:N的关系。
(7)一个校友可以多次捐献,一次捐献只属于一个校友,所以校友与捐献之间的关系为1:N的关系。
(8)一个校友可以创建多个群组相册,一个群组相册只能由一个校友创建,所以校友与群组相册之间的关系为1:N的关系。
(9)一个校友可以加入多个校友群组,一个校友群组可以被多个校友加入,所以校友与群组之间的关系为M:N的关系。
(10)一个校友具有一个校友安全信息,一条校友安全信息只是一个校友,所以校友和校友安全信息之间是1:1的关系。
(11)一个校友可以拥有多个校友校园任职信息,一个校友校园任职信息只能属于一个校友,所以校友与校友校园任职之间的关系为1:N的关系。
(12)一个校友可以拥有多个校友个人经历,一个校友个人经历只能属于一个校友,所以校友与校友个人经历之间的关系为1:N的关系。
(13)一个校友可以拥有多个校友工作经历,一个校友工作经历只能属于一个校友,所以校友与校友工作经历之间的关系为1:N的关系。
3、系统实现
3.1 系统登录页
3.2 系统首页
3.3 校友信息实现
3.3.1 校友批量上传
3.4 活动中心实现
3.4.1 活动查询
3.4.2 活动添加
3.5 校友会实现
3.5.1 校友会添加
3.5.2 校友会列表展示
3.5.3 校友会申请
3.5.4 校友会申请管理
3.6 新闻中心实现
3.6.1 新闻添加
3.6.2 新闻列表
3.6.3 新闻详情
3.7 校友捐献实现
3.7.1 捐献图片上传
3.7.2 捐献申请
3.7.3 捐献详情
3.8 校友群组实现
3.8.1 新建群组
3.8.2 上传相册图片
3.8.3 校友推荐
4、系统性能测试
性能测试旨在评估系统在高并发情况下响应时间和容错率。JMeter是Apache软件基金会开发的压力测试工具,基于Java开发实现,主要用于Web应用测试,可以对服务器端进行模拟负载测试,以测试服务器端在不同请求压力下的整体表现,通过测试数据的聚合表格和相关图形,可以对性能表现进行分析。JMeter 可以用于评估 Web 应用程序在高负载条件下的性能和稳定性,可以帮助开发人员发现并解决应用程序中的问题。测试过程以每秒500个并发量进行测试,测试结果显示,在 500 个并发请求下,响应时间仍然小于 3 秒,足以满足管理系统的需求且不会导致数据的流失。因此,在本次测试中,校友录管理系统的性能测试指标表现良好。
3351253)]
4、系统性能测试
性能测试旨在评估系统在高并发情况下响应时间和容错率。JMeter是Apache软件基金会开发的压力测试工具,基于Java开发实现,主要用于Web应用测试,可以对服务器端进行模拟负载测试,以测试服务器端在不同请求压力下的整体表现,通过测试数据的聚合表格和相关图形,可以对性能表现进行分析。JMeter 可以用于评估 Web 应用程序在高负载条件下的性能和稳定性,可以帮助开发人员发现并解决应用程序中的问题。测试过程以每秒500个并发量进行测试,测试结果显示,在 500 个并发请求下,响应时间仍然小于 3 秒,足以满足管理系统的需求且不会导致数据的流失。因此,在本次测试中,校友录管理系统的性能测试指标表现良好。