任重道远

2024秋软工实践个人总结

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

一、学期回顾

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

在学期开始之前,我对软件工程课程的想象是充满了代码、项目和团队合作。我期待能够通过实践学习到如何将理论知识应用到实际项目中,提高我的编程技能,并且学会如何在团队中有效沟通和协作。现在看来,我在后端开发部分达到了我的期待,比如在微信小程序开发上熟练测试云函数编写代码,但在理论知识的深入理解和应用上还有待加强。还有前端涉及内容不多,对前端还不熟悉。

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

在软工实践课程当中我编写了5000行代码。

在团队项目中我参与了Speak With AI的设计与开发,我在其中承担的角色是后端开发

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

作业 花费时间
第一次个人作业 3小时
第二次个人作业 30小时
第一次结对作业 8小时
第二次结对作业 61小时
第一次团队作业 5小时
第二次团队作业 10小时
现场编程作业 3小时
团队作业alpha冲刺 10小时
团队作业beta冲刺 20小时

在软件工程课程上花费的时间

累计时间 实际周均时间 预计周均时间
150(h) 11(h) 10(h)

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

最令我印象深刻的是第二次结对作业。在这次作业有着许多的第一次,第一次写后端代码、第一次学习微信小程序开发、第一次开发项目、第一次合作开发软件等等。因为没有接触过,所以算是离开了舒适圈,也让我收获良多,学习到许多工具,为后面的团队作业打好了基础。

二、总结收获

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

在软件工程实践中,个人编程、结对编程、现场编程和团队项目实践都是不可或缺的环节,它们各自有着独特的价值和挑战。以下是我的一些经验总结和实例分析:

个人编程实践

经验总结:

  • 自我驱动:个人编程时,自我驱动非常重要,因为没有其他人可以依赖。
  • 时间管理:合理安排时间,避免拖延,确保项目按时完成。
  • 持续学习:技术不断更新,个人编程时需要不断学习新技术。

实例分析:

在个人logo设计任务中,我使用了Craiyon工具,并多次修改提示词,引入参考图片来完善设计。

在个人项目中初次接触Python及关联库,并主要依靠AI辅助生成代码。在理解及修改代码的过程中,多次与AI进行互动,虽然过程曲折,但最终取得了满意的成果。
这个过程中,我体会到AI在理解人类需求方面还有局限,需要非常详细的描述才能给出满意的结果。这个实例让我认识到了沟通和明确需求的重要性。

结对编程实践

经验总结:

  • 沟通协作:结对编程中,沟通协作是关键,双方需要不断交流思路和代码。
  • 代码质量:结对编程有助于提高代码质量,因为另一个人可以即时审查代码。
  • 学习互补:结对编程可以让双方学习对方的长处,互补技能。
  • 分工明确:结对项目中,每个成员的分工需要明确,以避免工作重叠或遗漏。
  • 适应变化:在结对项目中,需求和计划可能会变化,需要灵活适应。

实例分析:

在这个结对项目中,我和我的伙伴共同分析了目标用户的需求,并设计了一款校园跨专业合作应用。这个过程让我深刻理解了用户需求分析的重要性,并锻炼了产品设计和原型开发技能。

然而梦想很美好,现实很骨感,在实际实现中时间紧任务重,无法完成预想中的全部功能,只能含泪割弃。

在“福友邦”应用的程序实现中,我和我的结对伙伴分工合作,我负责后端搭建,伙伴负责前端设计。我们通过GitHub进行代码协作。这个过程中,我们遇到了用户聊天平台搭建的挑战,我们通过积极沟通和协调,确保了项目的顺利进行。这个实例让我深刻理解了用户需求分析的重要性,并锻炼了我的产品设计和原型开发技能。这个实例让我认识到了团队协作和适应变化的重要性。

通过这次实践,我学会了如何在不同的编程环境中有效地工作,并且认识到了沟通、协作和持续学习的重要性。这些经验对我未来的软件开发职业生涯有着重要的影响。

现场编程实践

经验总结:

  • 压力管理:现场编程通常有时间限制,需要在压力下保持冷静。
  • 快速思考:现场编程要求快速思考和解决问题。
  • 简洁代码:在有限的时间内,编写简洁且高效的代码至关重要。

实例分析:

在“记账本”项目中,我负责美化应用界面。在有限的时间内,我需要快速理解项目需求,做出对应的合适界面,同时用到了之前接触到的AI来快速完成功能。

团队项目实践

经验总结:

  • 团队合作:在团队项目中,与成员间的有效沟通和协作是推动项目进展的关键。我通过与团队成员的紧密合作,共同解决了数据库设计。
  • 自主学习:在开发语音评测功能时,需要快速学习和应用新技术的能力,这对于适应项目需求和技术变化至关重要。
    实例分析:
    数据库设计:在项目前期,主要参与了数据库的设计工作。这项工作要求理解应用的数据需求。数据库设计是确保应用性能和数据一致性的基础,这将直接影响到应用的数据处理能力。

    语音评测功能开发:在项目后期,负责开发语音评测功能,这涉及到集成第三方API(如讯飞语音评测API)来实现语音识别和评分。需要学习API的接口要求、调用格式和评测结果格式,并将这些技术细节集成到项目中。

    在开发这个功能时学习了讯飞语音评测api的调用包括接口要求、调用格式、评测结果格式
    连接api代码

    解析返回结果

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

  • 微信小程序:帮助我更好学习开发软件,里面自带的一些数据库更好上手。
  • Github desktop:项目管理工具,帮助我跟踪任务进度和团队协作。
  • cursor:AI代码编写工具,提高了开发软件的效率,大大节省了时间。

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

  • 沟通能力:在团队项目中,我学会了如何更有效地与队友沟通。
  • 时间管理:通过管理个人的时间,我提高了工作效率。
  • 解决问题的能力:面对bug和项目挑战时,我学会了如何分析问题并找到解决方案。

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

这门课程不仅提升了我的技术能力,也让我更加明确了未来的职业方向。我特别享受团队合作的过程,我想对所有帮助过我的人说一声感谢。

三、致谢

感谢老师的教导还有伙伴们

posted @ 2024-12-27 20:54  。。。。。。。11  阅读(29)  评论(0)    收藏  举报