山东省大学生软件设计大赛
前言
博主参加了第十九届、第二十届山东省大学生软件设计大赛,取得了HTML5创意应用(微信小程序)、互联网+创意设计赛道、智能手机程序设计、基于人工智能的行业场景应用等赛道的省一等奖三项、二等奖多项、三等奖多项,本文为大家介绍一下山东省大学生软件设计大赛并分享一下自己的参赛心得。
大赛简介
"山东省大学生软件设计大赛”(以下简称大赛)是山东省科协、省高校工委、省团委、省发改委、省经信委、省教育厅、省人社厅、济南市科协、山东省高教学会计算机教学研究专业委员会、济南市经信委、济南市商务局、齐鲁软件园发展中心主办,济南计算机学会、济南软件行业协会承办。山东计算机学会指导。它是面向全省高校计算机与信息专业在校大学生举办的年度性赛事。自2003年开始,已经成功举办了十九届,2022年的话是第二十届山东省大学生软件设计大赛。
大赛经历
整个比赛过程主要分为:
1、官网注册报名。
2、项目开发、完成作品。
3、9月10日教师节提交比赛作品及文档。
4、初赛互评。
5、作品答辩 。
6、10月10日 左右决赛。
7、公布获奖情况。
这里可以补充一些内容,方便大家对比赛流程更加清楚。
1.一般都是每年四月份大赛官网进行赛题更新,赛题出来了,我们就可以开始着手比赛进行组队报名了,报名的时候,需要团队每个人都在官网注册,然后队长把自己的队友都拉进来,每个队伍3-5人,指导老师1-3人。选择好赛题后,选择赛题缴费成功后就成功报名参加比赛了。完成报名后,一般由队长加入比赛赛题官网声明的命题群,接收命题老师在群里发布的信息,比如时间安排之类的重要通知。
2.关于作品,省级软件设计大赛侧重于技能的实践,软赛的很多命题都比较看重创意与技术,意思就是创意不足技术凑,技术不足创意凑,我们在完成某些命题时,有些光是完成赛题要求是不够的,还需要自己加一些创新点,这里的创新点更偏向于是应用创新,对于本科1-2年级学生参加比赛来说,更倾向于学习一些框架的应用(并非技术的底层原理实验),所以我们在参加比赛时,会优先考虑完成这项比赛需要用到哪些技术,我们就去学习哪些技术,然后快速应用基本上都没有问题,当然这也是个越挫越勇的经历。
3.互评环节第二十届大赛好像取消了,原先就是每个队伍给其他三个队伍进行打分和填写评审意见,同样别的三个队给你打分,评审时别人会看到你所有提交的文档、视频、PPT、程序等。
4.提交作品时一定要尽可能的详细与认真,写好每一份文档,另外还要认真制作作品的PPT和视频。
5.答辩时命题老师都会单独拉一个小群,通知你答辩时间、答辩地点、需要准备的材料,基本上进入了答辩环节,你的作品就是属于这个命题的省一省二水平。因为疫情现在答辩都是线上腾讯会议的答辩。
我的经历(2021.02.27—2021.09.11) 一、开发技术学习与赛题分析阶段(4月中旬至 6月下旬)
这一阶段我们是各自分方向学习,个人找准侧重点,团队定期进行交流,通过开会进行赛题分析,不断总结上一阶段计划并明确下一阶段计划,并最终选择山东省大学生软件设计大赛HTML5创意应用方向二智慧旅游方向进行报名。
下面是我们的学习路线,希望对大家有帮助,具体资料分享我会放在后面。
springboot jdbc mybatis mysql的学习
html、css、javascrpit、微信小程序原生开发的学习
墨刀、Axure、PPT制作的学习
vue.js、uniapp、uViewUI、ajax、axios的学习
前后端分离开发应用的实战
linux、redis的学习
阿里云服务器、OSS对象存储的学习
二、 项目需求分析与基础开发阶段(6月中旬至 7月中旬)
项目需求分析是我们这一阶段工作的重点,经过了前期的磨合,我们对这一阶段都极为重视(实际上也是如此,一个详细合理的设计就已经取得了项目开发一半的胜利)。在进行最终的需求分析之前,我们首先结合比赛命题,对现有旅游类相关App进行了一定的调研,了解现阶段国内市场对本类型项目的需求情况。经过一系列的需求调研后,我们便对项目进行了详细的需求分析,认真的编写了《项目需求分析说明书》,并且这一阶段,我们针对前期开发技术的学习以及赛题分析,进行了基础开发测试,前台使用微信小程序原生开发、后台使用springboot mybatis mysql进行开发出“个人中心”基础测试。
三、 项目设计与代码开发阶段(7月中旬至 8月下旬)
在本项目的 “项目需求分析”后,我们有对各个模块进行了概要设计和详细设计。在设计阶段,我们从整体架构到界面设计、页面设计再到具体的代码实现与数据交互等方面对项目进行了一系列的方案设计。经历繁杂的设计过程后,我们紧接着便进入了代码阶段。代码阶段可以说整个工作过程中最为乏味与痛苦而又最容易给人以成就感的阶段。在开发阶段,我们遇到无数各种大大小小的Bug,这些Bug使得编码开发显得枯燥无味苦不堪言,但当我们合力更改Bug成功、实现功能的那一刻又给人无以言表的成就感。
四、项目测试与部署上线阶段(8月下旬至 9月上旬)
项目测试阶段,我们一块梳理功能逻辑,优化代码设计,在该阶段,我们不断提交测试中测出的问题,又不断的完善功能、进行二次设计及功能优化,也是比较痛苦的。过程无比痛苦,为了能使项目的完美无缺,团队每个人还是坚持将这一工作进行了下来。最后是项目部署阶段,我们购买云服务器、注册域名并通过漫长的备案,绑定SSL证书实现HTTPS通信协议,实现后台代码部署,前台通过uniapp进行微信小程序端的发布并通过微信公众平台进行前后台绑定,最终进行小程序上线发布。
接着就是赛题提交阶段,我们整个团队一起整理文档并完善需要提交的比赛文档,根据项目来制作演示PPT,制作演示视频(录制了20余次,我们团队唯一的女生说她这辈子都没喝过这么多水),整理源码,上交作品,完成比赛。
经历了基础知识的学习、赛题分析、项目需求分析、基础开发、项目设计和编码开发、阶段性测试、项目测试以及部署上线等大大小小的工作流程,我们完成了对“青年旅人”项目的开发过程。
欢迎大家体验我们的微信小程序——青年旅人。
点击观看项目演示视频
经验心得
上面大赛经历里有一件事情没有谈及,大家可能没有注意到,那就是—团队建设。
这里我想谈一谈,因为我觉得这一点很重要,因为我遇到过很多队伍,一开始也是激情满满,最后作品毫无音讯了,就拿去年HTML5创意应用赛题来说,我记得当时报名的队伍估计有300多人,最后只有不到100只队伍提交了作品,其实很让人震惊,好像真正坚持下来的队伍不多,又好像你们坚持去把比赛项目做出来,你门就可以拿奖,确实,只要你做出来了完成了,就可以拿到奖,保底拿到完成奖,如果再此之上,你们可以多一些认真,加一些创意,我觉得这个比赛,你们就可以取得好的成绩,一个项目小组成果的优劣直接取决于小组的技术水准,默契程度,分工合理与否,以及设计创意提出。但是最重要的部分还是取决于是否团结,一个人终归还是一个团队的基础。
团队建设=激情热情+纪律规矩(大家一起来制定)
1、队长只有对项目划分、前端设计、后台搭建、框架使用有了足够的学习,并且对任务分配有一定水平,对一个项目的每一部分有一个大致的、关键的了解,才能在很短时间内将每项任务精确到个人,让开发工作有条不紊的开展起来。
2、队长让每个人有侧重点地进行学习与开发,定期组织团队定期进行交流,不断总结上一阶段并明确下一阶段目标。
3、团队成功的关键是每个人对集体时间的付出。
我很庆幸,遇到了一群与我志趣相投的队友,我们是选择参加了这个比赛,就认真准备了,奔着拿奖去,一起沉下心来用几个月时间完成一个作品,锻炼了每个人的能力(撰写文档、代码、答辩、组织能力等等),这一路走来,每个人学到的就不仅仅是大大小小的技术知识了,更多的是获得了学习一门技术的方法和团队协作能力的提升。
拢总算来,收获良多。