软件工程课程个人总结作业

轻舟已过万重山——2024秋软工实践个人总结博客

一、学期回顾

1.1 回顾你对于软件工程课程的想象

怀着满心的期待与憧憬,我踏入了软件工程课程的大门。起初,它在我想象中是一片充满无限可能的梦幻天地。我幻想自己能像电影中的超级黑客一样,指尖在键盘上飞舞,代码如灵动的音符,迅速组合成一个个超酷炫、超实用的软件。仿佛只要我掌握了这门技艺,就能随心所欲地创造出改变世界的工具,无论是智能的学习辅助软件,还是趣味横生的游戏,都不在话下。
可真正开启学习之旅后,才发现现实给了我重重一击。复杂的编程语法就像一道道难以跨越的沟壑,理论知识如厚重的迷雾,让我晕头转向。在实践时,一个小小的程序错误,就能耗费我大半天的时间去排查。那些原以为简单的功能实现,背后竟隐藏着如此多的逻辑陷阱。
但我并不气馁,虽然想象与现实差距甚远,可每一次攻克难题后的成长,都让我愈发坚定。我知道,这条软件工程之路布满荆棘,却也藏着无限惊喜,我要怀揣勇气,一步一个脚印地走下去。

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

在软工实践课程中,我编写了数千行代码,主要负责后端的AI集成、用户登录以及战斗力计算模块的开发。

  • 项目名称:剑来
  • 角色:后端开发
作业 花费时间
第一次个人作业 10小时
第二次个人作业 15小时
第一次结对作业 35小时
第二次结对作业 35小时
第一次团队作业 80小时
第二次团队作业 80小时
现场编程作业 5小时
团队作业beta冲刺 40小时

累计时间:300小时,实际周均时间:30小时,预计周均时间:10小时

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

在这一学期的软件工程实践中,最令我印象深刻的作业莫过于使用Python开发了一款名为“羊了个羊”的游戏。这款游戏曾经因其独特的魅力和挑战性火遍全网,我从未想过自己能够亲手复刻这样一个游戏,它曾是我眼中遥不可及的高峰。

这个项目不仅仅是一个编程练习,它是一次深刻的自我挑战和自我超越。在动手之前,我曾无数次想象那些游戏开发者是如何构建出这样一个引人入胜的游戏世界的。而现在,我竟然也成为了这个创造过程的一部分,这让我感到无比的兴奋和自豪。

在开发过程中,我深入理解了游戏逻辑的设计,学习了如何使用Python和相关库来实现游戏界面和交互。我遇到了无数的困难和挑战,比如如何优化算法以提高游戏性能,如何设计用户界面以提升用户体验,以及如何调试复杂的游戏逻辑。每一个问题解决的过程都是对我的编程能力和解决问题能力的极大锻炼。

完成这款游戏的开发,对我来说是一个巨大的成就。它不仅证明了我作为一个软件工程师的技术能力,更重要的是,它增强了我的自信心,让我相信只要有足够的热情和努力,就没有什么是不可能实现的。

这次作业让我深刻体会到了软件开发的乐趣和挑战,也让我对成为一名优秀的软件工程师充满了期待。在未来的学习和职业生涯中,我将继续保持这种勇于挑战、不断探索的精神,去创造更多的可能性。

二、总结收获

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

在这一学期的软件工程实践中,我深刻体会到了从理论到实践的转变,尤其是在个人编程、结对编程、现场编程和团队项目中的体验。

个人编程实践

使用Pygame库开发游戏界面是我技术成长的一个重要里程碑。我开始只是对Pygame有一个基本的了解,但随着项目的深入,我逐渐掌握了如何创建游戏窗口、加载图像和响应事件。此外,我还学习了如何使用排序和搜索算法来更新高分排行榜,以及如何通过随机算法增加游戏的可玩性。

结对编程经验

在结对编程阶段,我和我的搭档郑冰智共同完成了一个跨学科学术交流小程序的需求分析和原型设计。我们使用墨刀工具设计了原型,并进行了多次迭代以满足用户需求。这个过程中,我学会了如何与他人有效沟通和协作,以及如何在设计中平衡用户需求和技术支持。

现场编程体验

在现场编程作业中,我们团队需要在有限的时间内开发一个个人记账本应用。这个过程中,我深刻体会到了时间管理和快速问题解决的重要性。例如,我们需要快速决定技术栈,并在几小时内完成前后端的开发和整合。我们选择了使用Flask作为后端框架,并使用HTML和JavaScript构建前端界面。在开发过程中,我们遇到了数据同步的问题,通过引入WebSocket来实现实时数据更新,确保了应用的响应性和用户体验。

团队项目实践

在团队项目中,我作为后端负责人,参与了整个项目的规划和开发。我们项目的目标是开发一个基于LLM大模型接口的修仙游戏,为传统的软件赋予全新的体验和功能。在这个项目中,我不仅需要负责后端代码的编写,还需要协调前后端的工作,并与AI团队合作以集成智能对话系统。一个特别的挑战是如何处理AI生成的剧情与玩家选择的同步问题。我们通过设计一个事件驱动的架构来解决这个问题,使得玩家的每一个选择都能即时反馈到AI模型中,并生成相应的剧情。

通过这些实践,我不仅提升了自己的技术能力,也学会了如何在团队中有效沟通和协作,以及如何在压力下快速做出决策。这些经验对我未来的职业发展无疑是宝贵的财富。

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

  1. Craiyon(AI绘画工具)

    • 帮助:在个人logo文生图任务中,Craiyon帮助我快速生成具有特定理念的图像,提高了设计效率和创造力的表达。
  2. Github(代码托管平台)

    • 帮助:通过搭建个人主页和项目管理,Github帮助我实现了代码的版本控制和团队协作,提高了代码管理的效率和项目的协作性。
  3. Markdown编辑器

    • 帮助:在撰写博客和文档时,Markdown编辑器使我能够快速创建格式化文本,提高了文档编写的效率和可读性。
  4. Pygame(Python游戏库)

    • 帮助:在开发“羊了个羊”游戏项目时,Pygame库使我能够创建游戏窗口、加载图像和响应事件,简化了游戏开发的流程。
  5. 墨刀(原型设计工具)

    • 帮助:在跨学科学术交流APP的需求分析和原型设计中,墨刀帮助我快速构建交互式原型,提高了设计的直观性和用户体验的测试效率。
  6. Jest

    • 帮助:在学习单元测试时,Jest作为测试工具,帮助我编写和执行单元测试,提高了代码质量的保障和开发效率。
  7. Flask(Python Web框架)

    • 帮助:在个人记账本项目中,Flask框架帮助我快速搭建后端服务,简化了API的开发和前后端的分离。
  8. axios

    • 帮助:在个人记账本项目中,axios库帮助我在前端实现与后端的实时数据交互,提升了用户体验和开发效率。
  9. JSON(数据交换格式)

    • 帮助:在个人记账本项目中,使用JSON文件作为数据存储,简化了数据的存储和读取操作,降低了开发的复杂性。

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

  1. 团队协作能力

    • 通过与不同背景的同学合作,提升了沟通和协调能力,学会了如何在团队中发挥各自的优势。
  2. 项目管理技能

    • 学习了如何规划项目进度,分配任务,以及如何跟踪项目状态,确保按时交付。
  3. 问题解决能力

    • 在面对开发中遇到的各种问题时,学会了如何分析问题,寻找解决方案,并有效执行。
  4. 自我管理能力

    • 通过自我评估和时间管理,提高了个人效率和自我驱动力,学会了如何在紧张的学习中保持平衡。
  5. 创新思维

    • 课程中的项目鼓励创新和实验,激发了探索新思路和解决方案的能力。
  6. 用户体验意识

    • 在设计和开发过程中,更加注重用户体验,学会了从用户的角度出发思考问题。
  7. 持续学习的习惯

    • 课程要求不断学习新技术和工具,培养了持续学习和自我提升的习惯。
  8. 跨学科知识整合

    • 通过涉及不同领域的项目,学会了如何整合跨学科知识,增强了综合应用能力。
  9. 表达与沟通技巧

    • 在项目展示和讨论中,提高了口头和书面表达能力,学会了如何更有效地传达想法。

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

对未来专业道路的影响

通过这门软件工程课程的学习,我深刻体会到了软件开发不仅是技术实现的过程,更是团队协作和创新思维的结合。这门课程让我更加坚定了未来成为一名技术与创新并重的开发者的决心。它让我意识到,除了编程技能外,项目管理和团队协作同样重要,这些都是我未来职业道路上不可或缺的技能。

三、致谢

亲爱的队友们,

这一个学期以来,我们一起经历了许多难忘的时刻。在每一个项目中,我们共同探讨、设计、编码,甚至争论。每一次的挑战都让我们的团队更加团结,每一次的成功都让我们的友谊更加深厚。

我想对你们说,感谢你们在我最需要帮助的时候伸出援手,感谢你们在我迷茫时给予的鼓励和支持。我们的团队之所以能够取得今天的成就,离不开每一个人的努力和付出。你们的才华、智慧和热情是我最宝贵的财富。

在未来的日子里,无论我们是否还能继续并肩作战,我都会珍惜我们共同度过的时光,并期待在人生的下一个阶段,我们还能有机会再次合作。请记住,无论你们走到哪里,都有我这个队友的支持和祝福。

再次感谢你们,我的队友们。让我们的未来更加辉煌!

posted @ 2024-12-30 20:38  PZn  阅读(13)  评论(0编辑  收藏  举报