【FZU】软件工程实践——总结博客

本文回顾了作者在软件工程课程中的经历,包括个人编程的爬虫项目、结对编程的微信小程序、现场编程的挑战以及团队项目的开发。文章强调了课程中学习到的新技术如爬虫、原型设计、AI训练等,以及团队协作、项目管理和抗压能力的提升。
摘要由CSDN通过智能技术生成

一、学期回顾

1.1 回顾第一次博客作业,你对于软件工程课程的想象

  • 哎呀,时间过的可真快啊,一下就到了和课程说再见的时候了,似乎第一次博客作业就在昨天,在还没上这门课程之前,我只知道这门课程会有大作业,但具体什么形式的大作业还并不清楚,直到上了第一次课之后,才发现原来还有博客要写,有个人编程要做,有团队编程要实现,以及有一个团队项目要去组队完成。我当时的第一反应是“哇,好多事情呀”,但是现在回头看看感觉也不是很多吧,反而从这些任务中去学习到了非常多的知识,这门课程给我的感觉和大一大二的课程有很大的不同,正如第一次博客作业中有问到“你认为过去两年中接触到的课程是否符合你对计算机专业的期待,为什么?”,对此,我的回答是不太符合的,因为没有感觉到自己的个人能力有所提升,而SE(为什么叫SE呢,因为我考试没答出来啊啊啊啊啊,反思一下…)这门课程对于我个人的能力是有很大的提升的,从个人编程的爬虫到结对编程的“鼠鼠有骰脑”小程序开发,以及最终的“智枢城”多终端智慧城管实现,都能很好的提升个人能力还有团队协作能力。这门课程真真实实的让我感受到了计算机专业的魅力,让我了解了一个项目的开发流程和实现方式。

1.2 回顾你在这门课程中的投入与产出

  • 在软工实践课程当中我编写了( 3294 )行代码。

  • 在团队项目中我参与了“基于深度学习的智慧城管系统”的设计与开发。

  • 软工实践的各次作业分别花费的时间:

时间作业花费时间
09.01~09.03首次博客作业75min
09.04~09.14个人编程作业670min
09.15~10.12结对编程作业4600min
10.06~10.22团队介绍、选题报告、需求分析报告190min
11.04~11.11团队项目之现场编程210min
11.06~11.19团队项目Alpha冲刺阶段与中期总结6250min
11.21~1.04团队项目Beta冲刺阶段与终期总结4050min
1.07~01.12个人学期总结博客作业150min
  • 在软件工程课程上花费的时间
累计时间实际周均时间预计周均时间
270(h)15(h)14(h)

1.3 令你印象最深刻的是哪一次作业或哪一场答辩?为什么这次作业或这场答辩令你印象深刻?

  • 要说令我影响最深刻的还属现场编程,为什么呢?因为现场编程是要求我们团队在规定的时间内去完成一个事先不太了解的脚。在现场编程的过程中,既考验了团队中每个人的学习能力,也很考验团队之间的协作能力,同时还能够让我们团队之间的关系进一步加深。在现场编程开始之前,我们队长还给我们买了奶茶嘻嘻,并且为我们分了工,每个小组(因为人数较多所以把整个团队分成三个小组去分别实现三种不同难度的功能)去完成一部分功能,最后进行整合。
    至于为什么让我印象深刻呢,我这边就放出现场编程时的心得体会:
    在这里插入图片描述
  • 能让我有这么多的心得体会,也足以说明了这次编程给我留下的印象了吧,不仅在于编程过程的曲折,还在于我们团队之间的协作交流,以及全班同学在一起编程竞争的乐趣,都给我留下了很深的影响。

二、总结收获

2.1 展开说说你的软工实践故事

个人编程:

  • 刚开始听到个人编程的任务是实现一个爬虫功能的时候,我还是非常感兴趣,毕竟平常的时候经常会听到爬虫这个词,但作为计算机专业的学生,还没有去尝试过爬虫,所以在作业一布置下来的时候,我就先去各个平台,例如B站啊、CSDN啊、GitHub啊,去找关于爬虫的资料,然后也是在CSDN找到了关于教学爬虫的博客,在进行了学习之后也算是懂得了一些关于爬虫的知识,同时,还知道了关于B站的一些API,从而实现获取B站bvid、cid,再将弹幕数据写入xlxs文件,并以词云图形式展示出来。此外,我还把附加部分做了,爬取了各新闻网站里各媒体对于日本核污染水排海的观点,并且从B站上爬取了有关“鸡你太美”这一热梗的弹幕消息,可以很明显的看到B站用户对于“鸡你太美”这一热梗十分喜爱,我还将爬取到的弹幕数据制成“kunkun”形象的词云图进行展示(我是ikun),总的来说,从个人编程中我已经大致了解了爬虫的基础知识,拓展了我的能力,从这次作业中我学到的技术栈有requests库、正则表达式、文件的读写、词云图的绘画、多进程开发、浏览器开发者工具等等,收益匪浅。附上个人编程博客链接

结对编程:

  • 结对编程说实话是有一定难度的,两个人协作去实现一个微信小程序,而且还不是一般的小程序,是有AI托管功能的小程序,这也意味着我们需要去训练一个AI出来。在刚拿到这个任务的时候,我的队友就已经大致有一个AI如何选取骰子的思路了,就是根据期望,先将所有可能出现的情况的得分期望求出存入xlsx中,之后在实际游戏中,根据不同情况读取xlsx中的不同得分期望,选出最大的得分期望,该得分期望对应的骰子组合就是AI应该选择的,我的队友也是非常快的将这个思路实现了(虽然在后面AI训练时发现有错,当然只是小错误),还一个有趣的就是原型设计,刚开始的时候一直被“孤注一掷”给牵着鼻子,导致设计出来的界面都不怎么好看,最后也是抛弃这个想法,看看有没有什么其他有趣的方向,然后就发现了“”奶茶鼠”有很多的gif图、背景图,都是一些很好的界面,又因为有个“鼠鼠”的梗,我们就把题目叫做了“鼠鼠有骰脑”(既符合游戏内容,又符合游戏风格哈哈哈哈太聪明了)。之后就是AI训练了,虽然AI已经会选骰子了,但是AI还不会选得分啊,我们就想着通过遗传算法训练出来一个能根据当前骰子得分,当前积分以及剩余轮数尽量的选择合适的得分,然而这边因为我和我的队友沟通不够多,导致我们两个的想法有所出入,从而让AI训练的结果一直不太理想,之后经过了讨论才发现了问题做了及时修改,最终也是训练了一个较为理想的AI(可惜没有AI对战啊啊啊啊,说着搭AI对战平台,没想到被画饼了,哭死),总之,从这次结对编程我懂得的一个最大道理就是,团队之间沟通要多,不然后期发现问题很可能让整个项目无法完成!!!附上结对编程博客链接
    在这里插入图片描述

现场编程:

  • 现场编程给我的最大感觉就是现场很乱,氛围很足,对我们能力的考验也很到位,刚开始布置任务时,还觉得似乎没有很难,可能查查CSDN就可以找到了,但是具体落实下去之后,好像又不是那么一回事,同一段代码在不同手机运行起来的结果不同,导致我们团队在这部分浪费了很多的时间,尤其是动态和静态评论那部分,有的手机能识别到“发送”按钮,有的手机不能,并且同一部手机在不同时间的识别结果也不一样(感觉就是看运气啊),我们最后也是赶着时间做完的,只能说当时的情况非常激烈,最后一堆人围着一台电脑,想着各种办法去实现完整功能。然后就是直播比拼环节,这个环节真的是非常激烈,每组都想有一个好的成绩,所以每组都尽可能的去做到最好,不仅仅是功能上的好,还有直播效果的好。最后,这节课也是在比拼自动点赞数后结束的,反正,当时的现场很乱只能说,甚至听不清评测组的要求,听不清比赛的开始和结束。最后的最后,我们小组也是很好的完成了任务,不仅是脚本功能的实现,还有直播的效果和视频的展示,我认为都做的很好,从这个现场编程中,我认为最重要的是团队协作,从最开始的团队分工,到实现过程中的交流合作以及到最后的功能整合、直播展示等等,每一步都至关重要。附上现场编程博客链接
    在这里插入图片描述
    团队项目:

  • 在这次的团队项目中,我负责的是web端的实现,将各种场景的算法进行整合,编写数据传输接口,将算法检测的数据 、图片等等传输到前端并且呈现出来,因为各种算法之间都有略微的差别,所以,我需要和负责每种算法的队员进行沟通,了解算法如何运行起来,运行的结果是什么、存哪里等等问题,然后再去B站上去找相关的接口教学视频,跟着视频一步一步编写(视频教的肯定和我们自身的需求不一样,所以还要DEBUG),写完接口的之后,就是前端页面的编写,同样的,因为感觉自身的审美、能力都还不到位,所以也是先去各种平台、网站找资料,看看有没有什么好看的UI,最后也是找到了一个相对来说高级并且美观的页面,再经过自己的修修改改,就变成我们的了(狗头),然后就是js文件编写,用于将后端算法的结果呈现到前端,实现前后端交互。这个团队项目让我实际的体验了一次项目开发,从最初的需求分析到实际开发再到成果展示,让我更加深入的体验到了这门课程的魅力,以及项目开发的流程。(这个冲刺太多博客了,就不放了)
    在这里插入图片描述

总结:

  • 无论是最开始的自我介绍博客撰写、个人编程、结对编程、现场编程,还是团队项目,都很好的提升了我们的能力。从不同的方面去锻炼我们,个人博客让许多人迈出了写博客的第一步,让我们有了发博客的欲望,从原本的查csdn到能够自己去发属于自己的博客,这何尝不是一种提升;个人编程让我们学会了爬虫技术,并且以一种相对简单的任务,帮助我们重新开始编程(毕竟大二下学期的课程基本都是理论课,很少实践打代码的课),同时,也让我们大致有了个人开发脚本的能力;结对编程帮助我们懂得了如何双人协作开发,懂得了原型设计(在这个任务之前,还真不知道原型设计这个东西…),了解了小程序开发流程,学会了模型训练等等;现场编程让我们掌握了一门新的技术,就是手机脚本的编写,同时也提升了我们临场发挥和学习的能力;团队项目是非常好的一次项目开发体验,了解了项目开发流程,提升了编码能力,更加注重代码的规范性和可读性,同时,也提高了团队协作的能力。

2.2 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的帮助?

爬虫技术:

  • 学会了通过Python编程实现爬虫,这个技术能够帮助之后获取网络上的大量所需数据,比如在美赛中,一般不会给我们数据,那这时就需要我们自己去获取,那么获取的方法自然就是爬虫啦,很好用的一个技术。

原型设计:

  • 学会了通过墨刀进行原型设计,这个技术很好的提升了我的审美,并且可以为之后开发项目时做出一个项目雏形提供帮助,以便更好的了解客户需求。

AI模型训练:

  • 学会了通过Python编写遗传算法去训练AI,这能够为之后的建模比赛提供很大的帮助,毕竟建模比赛都是需要一些算法去进行题目的最优求解。

微信开发者工具:

  • 微信开发者工具提供了一个很好的小程序开发环境,能够帮助我以后更好更方便更高效的进行小程序开发。

前端三件套(html、css、js):

  • 前端三件套提供了非常多有趣且方便的组件和页面制作方法,通过前端三件套我能够在之后项目开发中实现更多更加美观更加高级的前端页面,对我的帮助是显而易见的。

flask框架:

  • Flask是通过Python编写的轻量级Web应用框架。它简单、灵活和易于扩展,非常有助于我之后构建小到中型的Web应用程序和API。

Chatgpt:

  • 发明chatgpt的人真的是太太太太太太太太人才啦!!!!在我完成这门课程任务的过程中,chatgpt真的给我提供了很多帮助,毕竟在编程过程中会遇到很多我们没见过、不熟悉的问题,那么chatgpt就可以很好的去帮助我们发现错误并修改错误,同时他也是一个很好的学习工具,能够简要的概括出一项我们所需要知道的技术,并且能根据我们的具体需求去给出一个方案,只能说真的是非常非常非常好用!!!

2.3 技术之外,这门课程还给你带来了哪些方面的提升?

团队协作能力:

  • 前两个学期基本都是独自作战,基本很少有组队作战的课程,而这门课程不论是结对编程、现场编程,还是最后的团队项目,都是需要我们组队去完成的,从无到有,可以说是一个质变。

项目管理能力:

  • 在这门课程中,经常会要求我们将项目上传到github上管理,在平时我是没有这个习惯的,都只是将github当做一个宝库去搜刮别人的劳动成果,但是通过这门课我还学会了用github管理自己的项目。

编码能力:

  • 在前两个学期中,因为很经常的打代码,所以个人认为编码能力是较为薄弱的,但是通过这门课程,经过了多个任务的考验,我明显感觉自己的编码能力是在提升的,不仅是编码实现功能,还有代码的可读性、低耦合性等等(因为自我认为各个任务似乎完成的都还不错)

抗压能力:

  • 这门课程可以说是一开学就把压力拉满了,毕竟前两个学期基本都是期末的时候才把压力拉满,但是这个课程从开始到结尾,都是压力呀,每一个任务都是自己不熟悉的,还得在很多课程需要上、很多作业需要完成的情况下,在有限的时间的去完成,可以说花了很多时间和精力在这门课上。

PPT制作能力:

  • 在这门课程之前,我很少有做PPT的经验,就偶尔班会上竞选班干部做一做,做的非常简陋,但是经过这门课程的团队项目答辩PPT制作,我从网上和老师提的意见中学习到了很多关于PPT制作的小技巧。

视频剪辑能力:

  • 在结对编程中,是需要我们去剪一个小程序展示视频的,也是通过这次要求,我学会了剪映的使用,已经能够剪出一些有趣的视频。

2.4 如果还有什么想记录的或者想说的,就写在这儿吧!

对我未来专业道路的选择产生的影响:

  • 在学习这门课程之前,因为没有经历过项目的开发,没有这方面的经验,所以当时的我其实是比较迷茫的(什么技术都不会,什么项目都没开发过,感觉自己似乎不是很适合走计算机这条道路,非常的迷茫),但是经过了这门课程的学习和实践,给予了我很大的信心继续去走好计算机这条道路。

最有趣的课程片段:

  • 最有趣的课程片段,我认为是现场编程,在现场编程的过程中我们喝着奶茶一起探讨代码,一起编写代码,一起去完成任务,这或许是其他课程所不能出现的画面,从现场编程中能够很好的去感受团队开发以及相互竞争,当时的现场编程竞争氛围很是激烈,场面十分混乱,每个团队都尽自己最大的努力去完成任务,给我留下了很深的印象。

最最最遗憾的一件事情:

  • 那必定是最后软工考试中名词解释的SE”没有回答出来(啊啊啊啊啊啊啊啊啊发疯了…),柯老板都已经暗示了,还是没有答出来,感到非常的愧对于软件工程课程,也是我认为最遗憾的事情。

给未来K班的学弟学妹们留下的一句鼓励:

  • 不要抱怨,不要拖沓,不要随便应付,要实实在在的花时间在这门课程上,你会学到很多的东西,fighting fighting!!!
    在这里插入图片描述
    放只可爱的哈基米(xx)在这里 嘿嘿
    在这里插入图片描述

三、致谢

  • 最最最要感谢的就是柯老板,在大学期间所接触到的老师中,我认为柯老板是最负责的也是幽默风趣的,会经常的去开组会,并且在组会中经常会给我们提供一些很好的建议,从柯老板那里我也学会了很多做PPT的技巧以及比赛中的答辩技巧,正是在柯老板的push下,我们的团队才能顺利完成,总之,柯老板真的很好!!!

  • 然后就是感谢我的团队队长和成员们,我们的团队队长也是非常的有责任心,时刻关注团队项目的进展以及各种我们项目所能参加的比赛,去帮助我们提升大赛经验;对整个项目的分工也是很明确的,在现场编程中,能够很快的将整个任务分成三部分完成。我们的团队成员们也都是非常给力的,在队长安排好任务后都能够及时且出色的去完成,在各种比赛中的表现也都非常的亮眼,总之,我们的整个团队都非常的棒!!!

想对柯老板说的话:非常感谢老师的关心指导!!!
想对团队成员说的话:大家都非常的棒!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值