博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、爬虫、web开发,已经做了六年的程序开发,开发过上千套大学生实战程序,可以定制、也可成品项目,博客中有上百套程序可供参考,欢迎共同交流学习。
🍅文末点击卡片获取联系🍅
技术:SpringBoot+mysql+vue+tomcat
目录
1 系统介绍
随着国家教育体制的改革,全国各地举办的竞赛活动数目也是逐年增加,面对如此大的数目的竞赛信息,传统竞赛管理方式已经无法满足需求,为了提高效率,竞赛管理系统应运而生。
本学科竞赛管理系统以实际运用为开发背景,基于Spring Boot框架、Vue框架,运用了Java语言和MYSQL数据库进行开发设计,充分保证系统的安全性和稳定性。本系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,实现了学科竞赛管理的重要功能。
本学科竞赛管理系统运行效果稳定,操作方便、快捷,界面友好,是一个功能全面、实用性好、安全性高,并具有良好的可扩展性、可维护性的学科竞赛管理平台。
2 系统背景
2.1研究背景
当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
国家教育体制的改革,在全国各地举办的大学生竞赛的次数逐年增加,报名参加比赛的大学生的人数也逐年大量增长。在如此众多的竞赛信息面前,原有的数据采集方式已经远远不能满足实际需求,如何利用现代信息技术,使主办方快速、高效的实现对参赛人员与竞赛项目的反馈管理,是大赛组织者需要特别关注的问题。尽快建立一个全功能、全方位的竞赛管理系统,已经成为大学生竞赛举办方势在必行之事。基于此,针对学科竞赛管理方面,开发了本学科竞赛管理系统,通过开发本学科竞赛管理系统,使参赛信息的输入和管理工作系统化、透明化,从而提高工作效率,学生也能及时了解竞赛动态,提前做好准备,解决了以往因消息传达不及时而错失良机的状况。
2.2设计原则
在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:
(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。
(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。
(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。
(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。
(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。
3 系统功能结构
4 数据库结构
本学科竞赛管理系统的设计与实现采用了MYSQL数据库管理系统,各个表的设计结果如下:
表4-1 jiangxiangtongji奖项统计信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 |
id | bigint(20) | NOT NULL | 编号 |
addtime | timestamp | NULL | 创建时间 |
yuanxiaomingcheng` | varchar(200) | NULL | 院校名称 |
leixing | varchar(200) | NULL | 类型 |
shuxue | int(11) | NULL | 数学 |
wuli | int(11) | NULL | 物理 |
huaxue | int(11) | NULL | 化学 |
shengwu | int(11) | NULL | 生物 |
xinxixue | int(11) | NULL | 信息学 |
zongshu | int(11) | NULL | 总数 |
表4-2 saixiangbaoming赛项报名信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 |
id | bigint(20) | NOT NULL | 编号 |
addtime | timestamp | NULL | 创建时间 |
`saixiangmingcheng | varchar(200) | NULL | 赛项名称 |
`leixing | varchar(200) | NULL | 类型 |
jibie | varchar(200) | NULL | 级别 |
`baomingfeiyong | int(11) | NULL | 报名费用 |
baomingriqi | date | NULL | 报名日期 |
shenbaocailiao | longtext | NULL | 申报材料 |
xuehao | varchar(200) | NULL | 学号 |
xingming | varchar(200) | NULL | 姓名 |
sfsh | varchar(200) | NULL | 是否审核 |
shhf | longtext | NULL | 审核回复 |
ispay | varchar(200) | NULL | 是否支付 |
表4-3 users管理员信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 |
id | bigint(20) | NOT NULL | 编号 |
username | varchar(100) | NULL | 用户名 |
password | varchar(100) | NULL | 密码 |
role | varchar(100) | NULL | 角色 |
addtime | timestamp | NULL | 添加时间 |
表4-4 saixiangxinxi赛项信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 |
id | bigint(20) | NOT NULL | 编号 |
addtime | timestamp | NULL | 创建时间 |
`saixiangmingcheng | varchar(200) | NULL | 赛项名称 |
`leixing | varchar(200) | NULL | 类型 |
`bisaididian | varchar(200) | NULL | 比赛地点 |
saixiangneiron | longtext | NULL | 赛项内容 |
jibie` | varchar(200) | NULL | 级别 |
canjiarenshu | int(11) | NULL | 参加人数 |
baomingfeiyong | int(11) | NULL | 报名费用 |
xiangqing | longtext | NULL | 详情 |
jiezhiriqi | date | NULL | 截至日期 |
tupian | varchar(200) | NULL | 图片 |
表4-5 xuesheng学生信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 |
id | bigint(20) | NOT NULL | 编号 |
addtime | timestamp | NULL | 创建时间 |
xuehao | varchar(200) | NULL | 学号 |
mima | varchar(200) | NULL | 密码 |
xingming | varchar(200) | NULL | 姓名 |
xingbie | varchar(200) | NULL | 性别 |
shouji | varchar(200) | NULL | 手机 |
youxiang | varchar(200) | NULL | 邮箱 |
shenfenzheng | varchar(200) | NULL | 身份证 |
tupian` | varchar(200) | NULL | 图片 |
5 系统功能
5.1学生功能模块的实现
学生进入本系统可查看系统信息,系统主界面展示如图5-1所示。
图5-1系统主界面图
5.1.1 学生注册界面
没有账号的学生用户可进行注册操作,学生注册界面展示如图5-2所示。
图5-2 学生注册界面图
5.1.2 学生登录界面
学生在登录时需输入正确的登录用户名和密码,系统会以登录用户名、密码为参数进行登录信息的验证,信息正确则登录成功,反之登录失败,学生登录界面展示如图5-2所示。
图5-3 学生登录界面图
5.1.3 赛项详情界面
学生可选择赛项查看详情信息,登录后可进行报名操作,赛项详情界面展示如图5-4所示,报名界面展示如图5-5所示。
图5-4 赛项详情界面图
图5-5 报名界面图
5.1.4 个人中心界面
学生可对个人信息进行修改,个人中心界面展示如图5-6所示。
图5-6 个人中心界面图
5.2管理员功能模块的实现
5.2.1 管理员登录界面
管理员要想进入后台进行管理操作,必须登录系统后台,管理员登录界面展示如图5-7所示。
图5-7 管理员登录界面图
5.2.2 学生管理界面
管理在学生管理界面可查看所有学生信息,并可对其进行修改和删除操作,同时也可添加学生信息,学生管理界面展示如图5-8所示。
图5-8 学生管理界面图
5.2.3 教师管理界面
管理员可增删改查教师信息,教师管理界面展示如图5-9所示。
图5-9 教师管理界面图
5.2.4 赛项信息管理界面
管理员可增删改查赛项信息,赛项信息管理界面如图5-10所示。
图5-10 赛项信息管理界面图
5.2.5 赛项报名管理界面
管理员可查看所有赛项报名信息,并可对其进行审核、修改和删除操作,赛项报名管理界面展示如图5-11所示。
图5-11 赛项报名管理界面图
5.2.6 奖项统计管理界面
管理员可增删改查奖项统计信息,奖项统计管理界面展示如图5-12所示。
图5-12 奖项统计管理界面图
6 系统测试
6.1测试定义
系统测试主要是判断系统是否可以正常运行,功能模块是否可以实现操作。程序代码中是否有错误出现。测试程序是开发过程中的一个主要问题。就算系统完成的再好,再进行程序测试时也会也会发现一个重来没有被发现的错误信息。
测试不仅是系统开发的开始,而且应该贯穿整个系统的整个生命周期。评估系统质量的方法不局限于系统编码和过程,应该与软件设计工作和历史需求分析密切相关。系统错误,不一定是代码错误,可能是阶段的设计摘要和设计细节存在问题,问题也可能出现在需求分析阶段。从实际情况来看,最初的问题很可能是一个小错误,根据按钮的原理,按钮后的按钮位错将是所有位错。该系统的原因也同样适用,随着后续的开发工作,误差将越来越严重。所以越早发现问题,更好的将是解决问题的早期阶段,为了避免问题在后续编码,测试和设计,避免扩大国家的问题。在测试系统中,开发人员应该站在客户的角度来处理测试工作,而现在主要的测试方法是黑盒测试。测试的目的可以概括为以下几点:首先,用户界面和客户需求是一致的,设置界面和设计风格统一;第二,创新设计接口规范设计标准,具有独特的审美特征;最后,人类传统的接口以满足审美需求,不能盲目地追求一种独特的,合理的规划布局,符合审美标准。
6.2测试方式
总体程序测试的话,通常有两种测试方式,白盒的测试和黑盒的测试。
白盒的测试方式:总的来说就是以程序内部逻辑结构为依据而用来进行设计测试用例的方式
黑盒的测试方式:总的说来黑盒的测试会有这么几个方法方式:同等价值的一个分类方式、对于系统的一个边界数值的一个分析方式、对与错的一个猜想方式、还有最后一种就是图什么样的图,称之为因果图的方式。
整个的系统测试包括了最为重点的两种方式,从而“保障了系统测试的用例完全性和效果性”的一个原则。进行测试总体而言就是要检查功能齐全、是否能够接收信息或输送信息、数据的结构、性能需求是否到位、是否能够正确的初始化和终止。
6.3测试方案计划
对测试计划的把握是测试方案的重中之重。所有的技术难点应该都被包含在这个测试计划之中。而且我们要保证能与目标形成一致性,以至于能够测试出一些主要存在的错误和一些错误的漏洞。可以完美解决这些问题就只有白盒测试或者黑盒测试。
构造测试是白盒测试的另一个名字,了解与分析程序的结构以及性能功用的,从而我们可以得到最终想要的结果并且观察出是不是每一条程序都能得到。
性能测试是黑盒测试别称,程序本身的运作通过程序的进程来观察,主要是看一下程序是不是能够像我们预期的目标那样发展,看一看我们的程序最终能不能完整的得到我们最后想要的功能和储存想得到的数据,到最后看一下我们的这个程序完整性能不能达到要求。
(1)模块测试
单元测试就是模块测试,顾名思义就是测试每个模块所承担的功能是否能够实现,这个测试就是为了找出代码在实际的设计运转中某一些小的程序所出现的偏差,很好地改正这些错误,就说明我们模块测试进行很成功过。
(2)集成测试:
集成测试就是对系统的测试以及对他子系统的一些性能测试,他检查的事系统的包装程序信息。找出其中的问题。他的优势主要有以下这几点:
软件耗费较少。
可以提前发现端口的错误。
更好的地位系统中错误的位置。
从底部往上面进行的方案针对于偏下层的结构,而中间的结构就采用折中的方法。
(3)验收测试:
终于到了结尾性的工作了。就是为了给用户看一下我们的系统功能是否达到了预期的效果。我采用了性能测试也就是黑盒测试对系统进行测试。
其结果是分别是:
有一定的差异在用户的需求。
再者就是结果与之差不了多少。
到了最后了,我们发现的问题都是与用户的需求存在一定的关联。
6.4测试分析
通过测试的整个过程,每个模块的功能都还比较成功,但也发现了一些问题,比如登录页面登录进不了系统,是因为配置文件中的数据库的密码不一致等,在发现后及时进行了修改。目前系统还存在很多需要改进的地方,将会在今后的使用和维护中不断完善。
经过对上述的测试结果分析,本学科竞赛管理系统的设计与实现满足用户的要求和需求。所有基本功能齐全,操作简单,系统运行性能良好,是一个值得推广的学科竞赛管理系统。
7 总结
本次的系统开发,让我将之前所学知识(比如JAVA、MYSQL数据库等)联合了起来,融会贯通,得到了很大的提升。毕业设计是考验我们所学知识应用水平的时候,是对我们所学知识的应用巩固和提高的时刻。设计本学科竞赛管理系统的设计与实现是对我计算机知识的一次考验,更是对我运用相关知识解决处理现实问题能力的考验,让我通过本次设计开发得到锻炼,提高我的编程能力。尽管遇到了很多的困难,但经过不断的调试,最终圆满的完成了毕业设计。这次锻炼提高了我的实际应用水平,也大大提高了我的动手动脑能力,让我享受了探索的乐趣,成功的喜悦,这对我来说是一笔巨大的财富。
学科竞赛管理系统的设计与实现的设计与实现将大学期间所了解到的计算机工程理论知识运用到了本次设计当中来。对计算机的基础学问进行了加强,也加强了我的动手能力,从中学到很多在课堂上学不到的知识。通过本次软件的开发,我深深的认识到开发软件的辛苦,但也享受了解决问题后的喜悦心情,使我的独立思考问题的能力有所增强,同时也培养了我理论联系实际的能力,为今后的工作打下了良好的基础。