极限挑战---软工总结
题记:小腿一翘,是生死难料👻
一、学期回顾
1.1回顾你对于软件工程课程的想象
-
软工的印象:
软件工程这门课介绍了软件工程从需求分析、设计、编码到测试及维护等一整套完整的流程,让我对软件开发的全貌有了清晰认识。原本我只知道简单的代码编写,通过学习,明白了各个阶段相互配合、相互影响的重要性,这符合我希望全面了解软件开发各环节的预期目标。 -
达到期待和目标的方面
1. 理论与实践相结合:从个人作业到团队作业的进程中,我感觉就像在上高山,下火海。每次看到发布作业要求后我都两眼一黑,听到老师说作业已发布作业,我都瑟瑟发抖。我们有大量的机会去实践所学理论,而且教学内容的先进性和适用性,本课程每次发布的作业,使其不仅符合教育目标,还紧跟业界发展的步伐。如:模仿《羊了个羊》、基于LLM大模型接口的软件2. 团队协作:后期项目是以小组形式开展的,这让我有机会与不同背景和技能水平的同学合作,模拟了真实软件开发场景中的团队协作模式。但其实我最初并不理解为什么要有组队,我们来访学组队时困难重重,一是不认识,二是害怕拖后腿。但真正实践下来,我们共同讨论需求、分配任务、整合代码、排查错误,提升了沟通能力、学会了如何在团队中发挥自己的优势以及包容他人的不足,这与我期待的通过课程提升团队协作能力的目标相符
3. 工具和技术掌握:掌握了一些重要的开发工具和协作工具,如ai的使用、github、码云、飞书等,这些都是原学校没有使用的工具,让我有了初步了解,后续协作将考虑使用。
4.不足:作业难度对我来说难度较大,我的编程能力几乎不能支持我独立完成一个项目或环节,这也是我之后要改进的点,后续原计划系统学一下python开发,争取在下学期团队作业中出一份力。
1.2 回顾的投入与产出
审视自我----无地自容
在对自己进行全面评估的过程中,我清晰地认识到自身的局限性和能力的不足。看了其他同学的技能介绍,我似乎难以找到一项能够称得上的技能。在面对众多复杂且具有挑战性的编程任务时,常常感到自己很无力,这种无力感让我陷入深深的自我怀疑之中,仿佛在众多优秀者面前,我只能黯然失色,无地自容。但我也明白,自我认知是成长的起点,我将以此次反思为契机,努力寻求突破与提升的机会。
革命第一枪----我想发疯
什么!什么!什么!个人编程“羊了个羊”“抓大鹅”,是我认识的那个小游戏吗,是我天天熬夜玩的小游戏吗,让我复刻它,我是个什么啊(没事,我很好)。看到其他同学复刻的一个比一个好,我开始焦虑了,我翻了的各大平台,希望有大神出了视频教学,但是很遗憾根本找不到,最后我们没办法做了一款“月饼消消乐”,为什么叫这个名字,因为这个作业实在中秋节假期做的。对了,此时还没发现老师喜欢在假期布置作业。
我还用ai生成了各种月饼图片,还设置了背景音乐,虽然代码大部分由ai生成,但是做出了的时候,真的很激动,也感谢老师和助教对我的包容。
要露馅了--结对作业
其实这门课让我最害怕的事情之一就是:组队。因为结对编程需要合作,所以我有很多顾虑,拖慢进度怎么办、帮不上忙怎么办、没人和我组队又怎么办....什么墨刀设计原型,真的没用过啊,研究一下怎么制作,啊啊啊啊啊,还要按原型做出来。(着急、走来走去、焦虑、摆烂、挣扎)我的心理路程,ai请你再爱我一次,第二次结对编程时,是再国庆节!国庆节!整整七天。我和我的搭档从早弄到晚,看各种教程,还报错,当时的心态快要爆炸,最后为了不挂科,我们再狠狠挣扎,最后也算是完成了吧。我说我来了这里和我现象的又哪里不一样,说好了出去旅游的呢,啊哈哈哈哈,根本出不去/(ㄒoㄒ)/~~
心如死灰,满血复活---团队作业
妈呀,我一个人要和其他九个人一起编程,打响十月革命第一枪,十月这是你说的会对我好嘛。看到这个作业要求的时候,我感觉我可以收拾收拾回家过年了,还要答辩,还有什么现场编程,我愿称之为--噩梦。这真是一场酣畅淋漓的恶战,战线长,难度大。看来每个组的选题,也确实佩服,坚定了我要提升自己的决心。可幸的是我们组长和队员,对我非常包容,我也非常非常非常感谢他们(x10086)。再其中主要担任制作ppt、编写博客等零活,项目的顺利完成,少不了各位组员的日日夜夜的努力,凌晨还能看见群里的火热讨论。最后多多支持我们的游戏《剑来》
在软工实践课程当中我编写大概6000行代码,大部分利用了AIGC,我反思。
软工实践的各次作业分别花费的时间:
作业 | 花费时间 |
---|---|
第一次个人作业 | 6h |
第二次个人作业 | 20h |
第一次结对作业 | 19h |
第二次结对作业 | 35h |
第一次团队作业 | 8h |
第二次团队作业 | 45h |
现场编程作业 | 3.5h |
团队作业Alpha冲刺 | 36h |
团队作业beta冲刺 | 37h |
在软件工程课程上花费的时间
累计时间 | 实际周均时间 | 预计周均时间 |
---|---|---|
209.5 小时 | 13.09 小时 | 11 小时 |
1.3 令我印象最深刻的作业
最令我印象深刻的作业是:现场编程。
我听到这个消息的时候天都塌了,为什么有现场编程啊?为什么有现场编程?为什么有现场编程!
给我最大的感受是紧张和害怕,在有限时间里合作完成一个记账本,让我感受到了绝无仅有的紧张感和刺激感,不断的推翻重做,数据库连不上等问题竟在最后关键时刻一一解决,真的是有惊无险的一场合作。
二、总结收获
2.1 展开说说你的软工实践故事
个人编程:
- 个人编程最大的好处是比较自由。可以选择自己擅长的编程语言、较高的实现自己的想法,时间也比较自由。但是个人编程在遇到代码错误或技术难题时,只能依靠自己去查阅资料、调试代码。我通过搜索相关论坛和博客,借助AI,逐步排查可能的原因。这种经历让我学会了如何高效地获取有用信息,以及如何运用所学知识解决实际问题,极大地提升了我的自主学习能力。
结对编程:
- 结对编程时需要两人合作,这需要两人都要较好的包容心,意见不一致时需要讨论,并且遇到技术难题时,也可以合力解决,减少了代码出错的机率,但是代码想要对接,还是比较困难,使用github协作,使用不明白,所以还是待在一起写效率高
现场编程:
- 一场堪比世界末日的比赛。现场编程是对编程能力和心理素质的双重考验。
在这种高压环境下,前端组和后端组各司其职,但是在对接时出来问题,但是在不到两小时的时间,大家果断舍弃第一版的内容,尽力赶出来第二版,真是虚惊一场。最后我想说,老师不带这么折磨人的~
团队项目:
- 本次团队项目中,成员们各展所长,分工明确。从需求分析到方案设计,再到代码编写与测试,每个环节都紧密衔接。通过高效的沟通协作,成功攻克技术难题,虽然时间紧迫、需求变更等挑战,但凭借团队的凝聚力与应变能力,最终打造出功能完备、性能稳定的项目成果,为团队积累了宝贵经验,也彰显了团结协作的强大力量。
2.2 得力助手---我不能没有它们
墨刀:能够提升设计效率,操作便捷易上手,有丰富组件库与模板资源及高效复用功能;还可以促进团队协作,支持多角色协同工作,具备实时共享与反馈团队的进度和想法。
飞书:提供了多人同时在线编辑功能,团队成员可以实时看到彼此的编辑内容,并且能够方便地进行评论和协作,并且飞书的即时通讯功能支持多种消息类型,包括文字、语音、图片和文件等,方便团队成员之间快速沟通。
GitHub :作为代码托管和协作平台,通过强大的版本控制、项目管理和自动化工具,极大地提升了我编写、分享和维护代码的效率与质量,同时促进了团队间的无缝协作和快速迭代。
豆包:我的游戏图片和logo等图片都是由他生成的,虽然它有时达不到预期,但是他是相对于其他ai能生成图片的软件了
CSDN:各大教学和一些开源代码供我参考
2.3 技术之外,这门课程还给你带来了哪些方面的提升?
- 团队合作与沟通技巧
通过参与小组项目,我学会了如何在团队中有效地分配任务、协调工作进度以及解决冲突。良好的沟通是确保项目顺利进行的关键,而这些经验极大地增强了我的团队协作能力。 - 问题解决与应变能力
软件开发过程充满了各种不确定性和挑战,课程中的项目实践为我提供了大量锻炼问题解决能力的机会。从技术难题的攻克,如调试复杂的代码逻辑错误、解决不同系统环境下的兼容性问题,到非技术层面的挑战,如团队成员之间的意见分歧、项目进度压力下的资源调配等,我都需要迅速分析问题的本质,提出可行的解决方案,并及时付诸实践。 - 时间管理和自律
为了按时完成作业和项目里程碑,我必须学会合理规划时间和设定优先级。这种自律性帮助我在学业和个人生活中都更加高效地管理各项任务。
2.4 我想说的话!
刚开始对这门的的要求是忧虑万千,经过三个月的学习和实践,我最大的收获是:警醒。为什么这么说,因为体验了两个学校的不同教学方式,我深感到我所掌握的知识和能力不足以支撑我找到工作,我的竞争力太过于渺小。我好像一下子从安逸的生活中惊醒,我觉得我必须做出行动了,我打算在在假期中去系统的学习一下,前端和后端的具体编写过程,希望能够参与到下学期的小组任务中。
三、致谢
在一次重要的项目开发中,我们遇到了一些技术难题,尤其是我编写的代码部分出现了多个逻辑错误,导致整个项目的进度受阻。那时,我感到非常焦虑和无助,担心自己的失误会影响到团队的整体表现。这时,高涛主动提出帮我一起检查代码。他耐心地逐行分析问题所在,并且详细解释了每一步修改的原因,不仅帮助我修复了错误,还教会了我许多有效的调试技巧和编程最佳实践。
在整个学期里,作为团队的一员,我也有很多不足之处,因为我的能力有限,编写代码的能力不强,并且和其他队员的对不上,所以我的组长和其他 同学担任了主要代码的编写。但我的队长和其他组员们从未抱怨过,反而总是给予我鼓励和支持,帮助我理解任务要求,共同寻找解决方案。尤其是在最后冲刺阶段,大家齐心协力,克服了重重困难,最终顺利完成了所有任务。