学无止境
这个作业属于哪个课程 | 软件工程2024 (福州大学 - 计算机与大数据学院) |
---|---|
这个作业要求在哪里 | 软件工程2024秋——个人总结作业 |
这个作业的目标 | 回顾这学期的软工学习 |
学号 | 102201426 |
学期回顾
1.1 从神秘到犹抱琵琶半遮面的软件工程
最初,我对软件工程充满了神秘感,幻想着学完这门课程后能够对整个开发流程了如指掌,编写代码如同神助,轻松开发出各种应用程序。然而,随着课程的深入,我发现现实与想象之间存在不小的差距。我曾期待课程会手把手教我们如何一步步开发应用软件,包括不同平台的区别、可用的编程语言和框架、配置文件的作用及其调用方法,以及如何部署和注意安全问题。但实际课程更侧重于理论框架的教授,实际操作则依赖于我们自己摸索。
摸索的过程是艰辛的,我曾迷茫于选择何种编程语言、如何连接数据库、如何打通前后端,甚至对开发工具的选择也一无所知。面对搜索引擎中五花八门的信息,我常常感到无所适从,不知如何判断信息的正确性。经过一学期的学习与实践,我终于摸索出了一条属于自己的道路,虽然这条路或许还不够成熟,但至少我成功地开发出了一个软件。结合理论课的学习与作业的实践,我对软件工程有了初步的理解,对软件开发流程也有了一定的认识。然而,理论与实践的融合仍是我面临的挑战,我的操作不够规范,常常在实际操作中遇到困难,整个过程磕磕绊绊。可以说,这一学期我只是揭开了软件工程的一角,进一步的学习仍需我继续努力。
1.2 投入与产出
在本学期的软件工程实践课程中,我总共编写了约2000至2500行代码。
回忆起第一次作业中期待的代码量(1000),没想到我预测的还是保守了,但当时的我完全没有概念,现在也是对大概多少的代码能完成什么样的成果有了一定的认识,有收获,好!
在团队项目中我参与了( 云译网 )的设计与开发,我在其中承担了前端的开发和接口文档的编写。
因为之前在前端开发上已经有了一定的基础,所以在前端页面的编写上,还算顺利,但是接口文档,我结对作业的时候甚至没有这个概念(晕),我和队友查资料,参考模板,问AI,磕磕绊绊写了一份。然而,在后续开发中,接口文档的问题频频出现,有些问题未被考虑,有些则未能在前后端达成一致,总之,我个人感觉有些失败,换一个角度,我想让我再编写一次,我一定能做得比这次更好!(安慰一下自己,抱抱)
软工实践的各次作业分别花费的时间:
作业 | 花费时间 |
---|---|
第一次个人作业 | 1day |
第二次个人作业 | 2day |
第一次结对作业 | 1day |
第二次结对作业 | 5day |
第一次团队作业 | 5day |
第二次团队作业 | 5day |
现场编程作业 | 6h |
团队作业beta冲刺 | 7day |
在软件工程课程上花费的时间
累计时间 | 实际周均时间 | 预计周均时间 |
---|---|---|
200X(h) | 15X(h) | 10X(h) |
1.3 发布会
在发布会答辩的那次,我印象尤为深刻。无论是激情的演讲还是娓娓道来的介绍,每位同学都自信地展示了自己的成果。项目内容丰富多样,许多项目都让我感到非常有趣,也让我不禁思考自己努力的目标究竟是什么。
二、总结收获
2.1 我的软工实践故事——摸黑而行
首先是个人作业,开发一个“羊了个羊”小程序。虽然游戏本身玩得很开心,但真正动手开发时却感到无从下手。问题之一是开发语言,Java,我对其语法并不熟悉,只能从头学习。问题之二是游戏界面的设计与底层逻辑的实现,例如怎么保证随机生成的卡片满足n的倍数,怎么让卡片随机排布\按某种形状排布,怎么去保存记录等。最终,我只完成了一个较为粗糙的版本,但通过这次作业,我对开发过程有了初步的认识。
之后是结对作业,开发一个允许发布项目寻找合作的论坛应用。我和我的队友都是小白,都不明白一个软件开发流程,我们花了大量时间在网上搜索开发工具和语言,是被安装软件,学习语言折磨的一个国庆啊,但是,当时的我们,没有接口和数据库的概念,两个前端选手,做了一个(我们觉得)美丽的壳子,没有数据支持,显得苍白无力,伤心了。
再后来,是现场编程,真刺激啊,团队成员都不熟悉,但为了同一个目标而努力,但显然光有激情是不够的,团队成员之间的了解和合作还是太重要啦。现在回顾当时的任务,我想如果是现在的我们应该能配合得更好吧,先做什么,后做什么,什么可以并发进行,不明确的任务和流程,大家的实力没能充分发挥出来,我们之间有一层可悲的厚壁障啊(什么,你指望我一个重度i人主动去问问题了解进度,我选择自闭)。
最后,是团队作业,这次作业只能说,感慨良多。但我觉得最重要的还是团队合作,团队成员间的交流合作。面对面交流是最佳的交流方式。语音,文字,总有表达不及时的时候。开会也是必须的。哪些东西需要哪些人员一起交流,进度的推进安排,理论课上的知识以一种事后诸葛亮的姿势冲入到脑子里了。比如,那个接口文档,我认为,或许应该前后端的同学一起确定,而不是单单少数的同学根据原型研究可能需要哪些接口,这样太容易造成意见不合,接口缺失的情况了。失败是成功之母!
2.2 学习到的新技术或生产力工具
-
我学习了基础的Java、Python、HTML、CSS和JavaScript。虽然这些语言之前就有所耳闻,但这是第一次系统学习。尤其是HTML、CSS和JavaScript,让我从一个按下F12后对代码感到迷茫的小白,成长为能够独立编写页面的开发者,就好像一场梦。
-
人工智能(AI)工具。作为一个开发小白,AI的代码分析和问题解决能力对我来说简直是救命稻草。但是,在开心的同时,我也不免感到心慌,我这样做,在赶时间的时候或许是救命稻草,但如果使用成了习惯,我就完全无法从我所完成的任务中获得成长,甚至在不断消磨我学习的热情与耐心和解决问题的能力。出问题了?看不明白,丢给ai。这样,真的好吗,当然不,不可以,ai只是工具,可以适当的使用,但对于我这样的学习者,更应该做的是靠自己,它对我,就像是新型dp,过度的使用,会产生依赖性,会上瘾。大数据时代,ai的发展是必然了,但我的硬实力还不够,该怎么使用,是我当下必须重视的问题。
2.3 技术之外,其他方面的提升
-
沟通能力:在与团队成员合作的过程中,我的沟通能力得到了显著提升。我甚至开始主动与不熟悉的同学交流,了解项目进展。(这对i人是多么大的进步啊)
-
抗压能力:大三在软工和其他多门课的共同施压下,我的抗压能力得到了极大的锻炼。即使感到压力重重,大不了骂几句(),然后调整心态,继续前进(天生干活的命啊)。
2.4 最后的感想
转眼间,一学期的软件工程课程结束了,有遗憾也有收获。我再次想对学弟学妹们说,团队合作与交流至关重要,不要过分依赖AI,注重自身的成长。书山有路勤为径,学海无涯苦作舟,希望你们能够坚持不懈,取得更大的进步!
三、致谢
感谢所有伙伴的共同努力,感谢老师和助教的悉心教导,特别感谢我结对编程的队友,在我感冒的时候,独自一人抗下报告的书写,真是太好了!最后,感谢一下我自己,没有一次放弃,哪怕慢,也在坚持。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了