软件工程实践总结

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315
这个作业的目标 软件工程实践总结
学号 082100170

学期回顾

对于软件工程课程的想象

  • 还未正式上这门课前,我本希望在这门课中学习到一些软件的设计方法,或者类似于软件架构方面的学习和提高。本人本身有一定的软件开发经验,所以希望通过这门课来进一步提升自己关于软件架构和思维方面上的提升。同时也可以和别人组队,学习到如何于他人合作完成一个完整的项目。

软件工程实践给我带来的思考

一开始我是满怀热情去想学好这门课的,但是实际上并不是这样。

  • 首先软件工程的理论课抽象晦涩,严重脱离实际,就算听了也只是停留在听过这一层面,没有进行实践验证,带来的结果就是好像学了又好像什么都没有学到。
  • 第二点关于实践方面。并不是所有人都有软件开发的经验,类比国外的课程(如 cs61a,cs61b,mit6.824)来说,而实践课一上来就是要求成品,缺少一个循序渐进的过程,导致很多同学对于软件开发的过程完全不懂,这一点在完成大作业方面深有体会,整个团队除了本人外没有人有过相关的开发经验,所以想通过开会方式和队友大概普及整个开发流程。但是并不是所有人对软件开发都有兴趣,其结果就是开会和我写的说明文档并没有启动我所期待的效果,大家对软件开发的过程还是处于一知半解的状态。总之,对于这门课目前的教学方式,我认为只适合有一定软件开发基础的人,对于小白完全不合适!!!

在这门课程中的投入与产出

  • 团队前期,主要负责后端开发框架构建和相关的文档说明。后期因为组员对之前的编程语言不感兴趣,所以该换成 Python,本人只负责前后端项目的整合和整个项目的部署
  • 软工实践的各次作业分别花费的时间(回忆版,并不准确):
作业 花费时间
第一次个人作业 4h
第二次个人作业 6h
第一次结对作业 5h
第二次结对作业 6h
第一次团队作业 12h
第二次团队作业 12h
现场编程作业 3h
团队作业beta冲刺 6h

总结收获

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

  • 提到这个,最主要的话题就是 ai 了。通过使用 ai,可以加快我对一些晦涩概念的入门理解,ai 可以较为正确地回答出来,不像以前需要经常 Google。总之,ai 给我的感觉就是一个更加便捷的搜索工具

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

  • 最主要的就是团队合作的过程。上文有大概提及过,由于本人性子急躁,情商低,所以可能导致我的开发流程说明并没有达到我预期的效果。但是从另一方面来讲,对于软件开发的熟悉,并不是只能靠我嘴上和文字所能够完全表达清楚的,实实在在需要相关的开发经验。整个项目的完成难度,我认为有 90% 在人员管理和沟通方面上。虽然结果并不完美,但也让我看清了团队合作的重要性。

题外话

  • 其实在<软件工程实践给我带来的思考>中有大概提及到,绝大部分人对于软件开发是纯小白,加上后期的大作业是需要团队合作的,所以 git,GitHub 的使用非常非常非常重要,绝对不要依赖于例如 GitHub desktop 这类 gui 工具,请通过命令行 git add, git commit,git push 等方式,遇到冲突了该怎么解决,只有这样你才能清楚地知道你目前在做什么,而不是通过 gui 的图标点来点去, 到时候出现了问题你也不知道怎么处理,现在偷懒,以后出现问题了你就没得偷懒了。
  • 过分依赖 ai。如果你对人工智能有一定了解的话,目前大模型的输出结果应该是一个概率分布,这也代表了大模型的输出并不是完全正确的。目前对于大模型的使用,我只认为它只是一个更为简便的搜索引擎而已。我发现越是小白越依赖于 ai 的使用,从而变成了一个完全听信 ai 的工具人。

致谢

  • 整个项目的开发最辛苦的应该是组长了。人员管理的难度比我想象的要高非常多。
posted @ 2024-12-30 16:52  SchwarzSail  阅读(34)  评论(0)    收藏  举报