摘要
随着信息时代的来临,过去的学科竞赛管理方式的缺点逐渐暴露,本次对过去的学科竞赛管理方式的缺点进行分析,采取计算机方式构建学科竞赛小程序。本文通过阅读相关文献,研究国内外相关技术,提出了一种关于竞赛信息管理、竞赛申报管理、竞赛成果管理等于一体的系统构建方案。 本文通过采用B/S架构,MySQL数据库以及微信小程序、Java技术,结合国内学科竞赛小程序现状,开发了一个学科竞赛小程序。系统分为以下几个功能模块:个人中心、学生管理、竞赛信息管理、竞赛类型管理、竞赛申报管理、竞赛成果管理、系统管理。通过系统测试,本系统实现了系统设计目标,相对于人工管理方式,本系统有效的减少了学科竞赛小程序的经济投入,并且大幅度提升了学科竞赛小程序的效率。
绪 论
1.1课题背景 随着网络的高速发展,网络技术的应用越来越广泛,信息化技术发展迅速,计算机管理系统优势逐渐体现,并且大量的计算机进入了千家万户[1]。使用网络进行信息管理是管理成为信息时代的一个重要代表,由于其涉及的数据量过大,过去的人工管理方式已经很难再维持下去,所以引用了信息化技术来进行管理。计算机系统管理方式替代了人工管理方式,相对过去人工管理方式,利用计算机进行学科竞赛管理查询便利、信息准确率高、成本降低、效率提高,本次系统开发主要以学科竞赛小程序为对象,根据功能需求开发整个信息化系统。
1.2系统设计的意义 随着信息化管理技术不断发展,传统的学科竞赛小程序已经无法适应,效率与预期相差甚远,因此需要开发一套操作方便,效率较高的学科竞赛小程序。当前,21新世纪,人们已经进入了信息时代,人们获取信息的方式大大增加,摆脱了传统的报纸、电视、广播等媒体,而是从各种网络、自媒体平台上获取信息,这就导致日常生活中产生的数据信息十分巨大,尤其是对于学科竞赛小程序来说,更需要大量的信息。本系统能为用户提供一个学科竞赛小程序,用户通过手机,注册、登录后就能够快速有效的获得想要的竞赛信息,并进行竞赛申报、查看申报情况和竞赛成果等操作,管理员能够轻松效率地浏览所有的信息及管理所有信息。系统开发的意义主要在于两个方面,一方面,系统上线后,能够为学科竞赛小程序带来很大便利,学科竞赛小程序涉及的数据量较大,要求精度高,采用计算机系统能够很好满足此需求,并且随着目前电脑、手机的普及,方便用户的使用,还可以简述疫情期间大范围人群聚集,减少感染几率。另一方面,通过自己动手操作设计系统,不仅可以提升自己的学习兴趣,也是在进入社会之前的一次很好的锻炼机会[6]。
1.3系统设计的目的 为了适应因电子信息时代和科技化时代的到来,人们对快速获得信息的渴望,并且应对今后可能越来越广泛的信息化的发展,需要做出了更加超前时代的功能应对。在这个高速发展的时代里,使用者对各种使用软件的要求也是越来越高,使用者都希望自己可以有拥有一款符合当今科技发展时代,且具有科技感,功能齐全的学科竞赛小程序。希望可以只通过手机操作就可以轻松完成自己对学科竞赛管理的需求,而不在因为信息的复杂而不知如何做出最佳选择。科技时代带给了人们轻松,立体的体验,而学科竞赛小程序就可以满足用户对学科竞赛方面所拥有的期待,它可以提升用户的使用体验,让学科竞赛的管理变的更加便捷,更加无拘无束。
1.4 论文主要工作内容 本文设计并实现了一个学科竞赛小程序,主要包括以下具体工作内容: (1)参考国内外相关系统开展了系统的需求分析,明确了对用户和管理员的主要功能需求的管理;
(2)设计系统技术方案,前段采用微信小程序技术、后端采用Java语言,选用MySQL数据库、MVC开发模式来设计并实现本系统。
(3)具体介绍了各个功能模块的设计与实现。
(4)对系统的注册、登录等功能进行了测试。
系统关键技术
为了使整个系统的设计更加条理清晰也更加完整,本文对其进行了非常详细的分析。通过对微信小程序体系结构的分析解读,选择了基于MySQL数据库进行数据存和取的体系结构。本系统选择的开发语言为Java语言,系统开发平台为Windows 10系统。 2.1微信开发者工具 微信小程序是由张小龙研发且于2017年1月9日正式推出的一种不用下载的就可以使用的轻量应用,而且用完之后也不需要卸载,实现了用完即走的原则,因此小程序的传播消耗和获取用户的成本在一定程度上被大大地降低了。这为用户与服务的连接开辟了一种新的方式。对于微信小程序更直接的理解,就是可以分解为微信和小程序,由此不难理解,即微信小程序的开发环境就是微信,因此在微信中用户可以通过线下二维码扫一扫或者扫公众号中关联的二维码打开小程序应用,或者用户还可以通过搜索小程序打开应用。微信小程序最重要也是最有优势的一点就是其占用的空间非常小,因此用户从获取小程序到进入该小程序消耗的时间很少,大大的提升了用户的使用体验。
2.2Java简介 本套系统的开发环境主要是使用了Java编程语言,Java是作为一种高级面向对象编程语言,不但充分吸取到了C++等编程语言里的几乎所有的优势[10],还完全摒弃掉了在C++语言里所无法完全理解到的诸如多态继承、指针映射等概念,Java吸收了C++等语言中好的一面,将不好之处,删除替换。取其精华,使得它的功能更加强大,且十分简洁。 Java语言的特点特色十分多,它不仅简单性、健壮,并且可移植性很好,相比其他语言Java语言更加安全和独立[11],它还具有多线程和动态性的特点[12]。Java语言常用于编写桌面开发,系统的前端设计以及嵌入式开发系统的应用开发等[13]。
2.3 Spring Boot框架 Spring Boot是由Pivotal团队提供的轻量级框架,其“开箱即用”及“约定优于配置”的策略可以使开发者全身心的投入到业务逻辑代码的编写中,极大地提高了软件开发项目的效率。相比于Spring框架而言,Spring Boot框架更加能够节省程序员配置XML的时间,Spring Boot项目允许开发者使用它的所有模块和开发功能,此外, Spring Boot内置了服务器,简化了开发者启用服务器的整体流程,Spring Boot还可以自动适配不同类型的数据库以满足用户快速连接后台数据库管理的需求,这极大地方便了用户快速搭建应用程序的实现过程。 2014年4月,Spring Boot 1.0.0发布,截止到2022年2月,发布的Spring Boot版本为Spring Boot 3.0.0-M1。在系统的设计与开发中,为了能够快速搭建软件后台服务的开发环境,从技术实现的难度以及平台开发的成本两个方面考虑,Spring Boot框架能够使开发者更关注平台功能的业务逻辑代码实现,可采用Spring Boot框架搭建系统为前端提供数据服务。因此,本案例项目后台开发选择Spring Boot框架。
2.4 MySQL数据库 数据库系统是一个进行数据存储的系统,数据库就是这个系统的库,用来存放通过系统的数据,数据库在开发人员的日常生活中,占据了很大的地位。因为使用数据可以使自己系统存储数据更加方便、快捷[14]。 MySQL之所以受到广大开发人员的欢迎,主要原因使因为数据库的使用是免费的。最开始的数据库研发出后,是需要收费的,但是随着MySQL的出现和不断更新,越来越多的用户去使用这款软件[15]。首先它是开源且免费的,这样大大减少了开发的成本;第二MySQL可以在多个平台上使用,在MAC、Windows和Linux上都可以使用。其次它的性能也是十分强大的,性价比极高。最后,MySQL相比其他数据库语言来说,更加简单易于上手;可以与很多平台搭建联系,比如本文使用的Java [16] 。
部分数据库表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
jingsaixiangmu | varchar | 200 | 竞赛项目 | ||
jingsaileixing | varchar | 200 | 竞赛类型 | ||
jingsaidengji | varchar | 200 | 竞赛等级 | ||
jingsaitupian | longtext | 4294967295 | 竞赛图片 | ||
shenbaoshijian | datetime | 申报时间 | |||
shenbaocailiao | longtext | 4294967295 | 申报材料 | ||
shenbaobeizhu | varchar | 200 | 申报备注 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id | |||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 | ||
userid | bigint | 用户id |
结论
学科竞赛小程序是一款公平、包容、易操作的应用小程序,基本上能满足使用者的需求,也符合本人的初始发展目的与发展方向。本文主要研究了微信小程序、 Java语言和 MySQL等技术时的应用,它们都具有自己的优势,使其在实际应用中可以实现功能的稳定,同时也可以实现用户的各种需要。在具体的系统要求和功能模块的具体分析之后,进行了有针对性的设计,最终经过了测试,使整个系统可以正常工作,该学科竞赛小程序设计完成。 在这个学科竞赛小程序实现的过程中,我参照了许多有关的案例,互相学习,互相借鉴。目前已逐渐改进,但仍存在许多缺陷,需要今后继续研究。在设计过程中我遇到了很多困难,包括知识上和技术上,同时由于长时间没有进行独立开发工作,编码熟练度有了明显的下降,一些常用的函数和编码技巧也变得生疏,但好在我及时做出了学习,查阅各种资料,进行广泛的钻研,多做请教,依靠互联网和书籍不断吸取知识,完善自己,最终在师生的协助下,成功完成了该系统。 我认为此系统还是有很多优点的,首先系统结构清晰,易于理解。设计合理,符合用户习惯和人机交互要求,能给用户带来很好的使用体验。代码简洁,注释全面,易于后期的管理和维护,代码健壮,鲁棒性高,适合高并发和大用户量使用。但同时,也存在部分内容设计不合理,有待改进的情况,我会不断学习。