从个人到团队——软件工程学习与成长之路
在这个学期的《软件工程实践》课程中,我经历了从个人编程到团队合作的完整过程,收获颇丰。💕💕💕
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315 |
这个作业的目标 | 总结这一整个学期 |
学号 | 102201102 |
一、学期回顾
1.1 对软件工程课程的初步想象
在课程开始前,我对软件工程的理解主要停留在编写代码和解决技术问题上。然而,随着课程的深入,我逐渐认识到,软件工程不仅仅是技术的堆砌,更涉及团队协作、需求分析和项目管理等多方面能力的综合体现。我期待在项目管理和团队协作方面有所提升,但实践过程中发现,自己在沟通、协调和时间管理上的能力仍有待提高。
1.2 投入与产出
-
代码量统计: 在本课程中,我共编写了约6000行代码。
-
参与的项目:
- 第二次个人作业: 完成了“羊了个羊”三消小游戏的设计与开发,代码量约700行。
- 结对作业: 与队友合作完成了校园项目管理小程序的设计与开发,我负责前端的设计以及与队友共同完成测试,约3000行代码。
- 团队项目: 我们十光年团队开发了一个基于大语言模型的出行app"行趣",我担任前端组开发成员之一,负责用户界面和交互逻辑的实现,以及部分接口的对接,约2000行代码。
-
作业时间投入:
作业 花费时间 第一次个人作业 2小时 第二次个人作业 28小时 第一次结对作业 12小时 第二次结对作业 50小时 第一次团队作业 10小时 第二次团队作业 15小时 现场编程作业 3.5小时 团队作业Beta冲刺 60小时 -
课程总投入时间:
累计时间 实际周均时间 预计周均时间 180.5小时 15小时 20小时
1.3 印象最深的作业
令我印象最深刻的是团队项目的alpha冲刺阶段。在此期间,我们团队经历了多次磨合与调整,特别是在统一接口规范、调整UI界面和完善功能时,展开了激烈的讨论。最终,通过集体讨论和妥协,确定了最合适的方案。在答辩时,虽然紧张,但我们能够清晰地展示我们项目的成果,感受到在技术和表达上的双重进步。最终我们也惊喜的获得了最佳UML奖,项目成绩在第二梯队。这次展示不仅获得了老师的肯定,也让我体验到了“峰回路转”的喜悦。
二、总结与收获
2.1 与软件工程的故事
- 个人编程: 在个人作业中,我学会了善于运用AI辅助编程。例如,在开发小游戏时,遇到如何判断多个图层卡片遮盖的问题,最终在AI的帮助下成功解决。这让我意识到,AI在编程中是重要的工具,应加以善用。
这是使用ai生成的游戏使用的图片:
在个人项目中,我从0开始,遇到了很多的bug,经过不断的互联网搜索以及ai的不断提问下逐渐解决了大部分的问题,得到了一个阶段性较为满意的结果。💖💖💖💖💖
- 结对编程: 与队友合作开发项目时,我们共同面对挑战,解决问题。特别是在实现模块整合和接口对接时,遇到了一系列错误和问题。通过线上会议和共享屏幕,我们花费了整整两天时间进行调试,最终顺利解决问题。这个过程让我学会了在团队中分担责任,调动资源解决问题,对软件开发流程有了更深刻的理解。
我们使用了摩客原型工具:
在逐渐完善原型之后我们发现实现起来不是那么轻松,所以采取的策略是先实现核心功能,在依次增加完善其他方面的功能模块,这也是软件过程模型中的增量模型。
而后我们获得了一个较为满意的成果:
- 团队项目实践: 在团队项目中,我负责前端开发,包括我的行程功能模块以及ai客服功能模块的实现。最初的开发过程中,遇到了前后端数据同步的问题。经过与后端开发人员的深入讨论,重新审视接口设计,最终确定了合理的数据结构,确保前后端数据的准确传递。通过这一过程,我不仅学到了前后端协作的重要性,也深刻理解了需求文档、接口设计和团队沟通的关键性。
在团队合作中,我们一起经历了数次探讨,每个人都积极且具有创造力,让我觉得我们团队的核心力量非常强大,并且我们的组长很细心周到,鼓励着每位成员,让我们一直保持着进度,最终完成了这次的项目!😏😏🐮
这是我们在某次团队会议时留下的合照(虽然没有我,因为我负责了拍摄):
2.2 新技术与生产工具的学习
- Git与GitHub: 学会了使用Git和GitHub进行代码管理,特别是在团队项目中,合理进行分支管理和代码合并,避免代码冲突,提高协作效率。
- 摩客: 在原型设计阶段,使用墨刀进行界面设计和原型图制作,快速构建可交互的原型,提高需求讨论阶段的效率,确保产品界面的友好性与易用性。
- Uniapp: Uniapp 是一个基于 Vue.js 的多端开发框架,由 DCloud 公司开发,旨在帮助开发者使用一套代码同时生成适配多个平台的应用程序。Uniapp 的核心特点是实现了“一次开发,多端运行”,极大地提升了开发效率,广泛应用于移动端、小程序和 Web 应用的开发。
2.3 软技能的提升
- 团队协作能力: 通过与团队成员的合作,深刻理解了团队协作的重要性。学会了如何有效沟通、分配任务以及协调进度,确保项目顺利进行。
- 沟通与表达能力: 在团队合作中,提升了将想法准确表达给团队成员的能力,学会了倾听他人的意见,并根据讨论结果做出调整。
- 时间管理与压力管理: 课程任务紧张且富有挑战,学会了在有限的时间内优先处理最重要的任务,在高压力下保持冷静、专注并按时完成目标。这让我意识到合理分配时间和规划任务的重要性,也提升了抗压能力。
三、改进与反思
3.1 当前的不足
尽管通过本课程我取得了许多进步,但仍然有一些不足之处需要改进:
- 时间规划: 在团队项目的冲刺阶段,由于前期任务分配不够均衡,导致后期工作量激增,压力较大。未来需要更早制定详细的时间计划并合理分配任务。
- 技术深度不足: 在部分模块的开发中,过于依赖现有库和工具,缺乏对底层实现原理的深入理解,导致在出现问题时排查困难。
- 文档和测试的规范性: 在项目开发中,虽然完成了功能的实现,但在文档编写和测试用例覆盖方面仍有不足。未来需要注重代码的可维护性,强化测试和文档的重要性。
3.2 对未来的展望
- 提升技术能力: 进一步学习和掌握先进的开发技术和框架,例如更深入的前端优化、后端架构设计等,提高开发效率与代码质量。
- 加强项目管理技能: 学习更多关于敏捷开发和项目管理的理论和实践,尤其是如何在团队中合理分工和高效协作。
- 注重持续学习: 软件工程是一个不断发展的领域,我计划通过阅读专业书籍、参与开源项目和技术社区,不断提升自己的专业水平。
四、致谢
致谢坚持的自己
在这个项目的整个过程中,我想对自己说一声感谢。感谢自己在困难面前没有轻易放弃,在繁忙的任务中坚持学习和探索。每一次熬夜调试、每一次不懈努力,都是在为自己积累经验、提升能力。
感谢自己在压力和挑战中依然保持专注与冷静,不断调整心态、寻找解决方案。这段时间,我不仅在技术上有所成长,也在团队合作、时间管理和抗压能力方面有了新的突破。
每一份进步都离不开自己的努力和坚持。无论遇到多少挫折和困难,我都走过来了。未来的路还很长,但我相信,只要继续以这样的态度面对挑战,我一定可以实现更多目标。感谢一路拼搏的自己,期待下一个更优秀的自己!
致谢我的队友
在这个项目的整个开发过程中,我深深感受到了团队合作的重要性。非常感谢我的队友们,正是因为你们的努力和付出,项目才能顺利完成。
感谢你们在遇到困难时的坚持和彼此间的鼓励,每一次的讨论和磨合都让我受益匪浅。在功能开发、代码调试以及项目展示等关键环节,你们展现出的专业精神和责任心让我深受启发。特别是当我遇到问题或犯错时,你们总能给予支持和帮助,让我有信心继续改进。
这段合作经历不仅让我提升了技术能力,更让我学会了倾听与合作,也让我体会到了团队的力量。再次由衷感谢你们的付出与陪伴,希望未来我们还能有更多合作的机会,共同迎接更多挑战!
致谢老师和助教
衷心感谢我们的老师和助教在整个项目过程中给予的指导和帮助。老师耐心的指导和细致的课程作业安排,让我对软件工程有了更深入的理解,也让我从零散的知识逐渐形成了系统的开发思维。在每次课堂上和作业中的严谨要求,不仅让我提升了技术能力,也让我意识到规范和团队协作的重要性。
老师的严谨与助教的支持,也让这段学习旅程充实和有意义,衷心感谢你们的辛勤付出和无私帮助!
五、结语
软件工程实践是一门非常有价值的课程,它让我从零散的个人开发者逐步成长为能够融入团队、解决复杂问题的工程实践者。我深刻体会到了软件工程中技术与沟通、管理相结合的重要性,也收获了从思维方式到专业技能的全面提升。未来的道路上,我将带着这段宝贵的经历,继续探索和进步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架