当前位置: 首页 > news >正文

旅程终章,星光满载:我的软件工程实践总结

旅程终章,星光满载:我的软件工程实践总结

敲下最后一个句号,也意味着这段充满挑战与收获的软工实践之旅,即将画上终点。回望这一路,从对软件工程的模糊想象,到亲手构建出可运行的项目,这段旅程带给我的,远不止是技术上的提升。

一、学期回顾:从懵懂到笃定的成长轨迹

1.1 期待与现实的交响曲

在课程伊始,我怀揣着对“工程化”开发的好奇与敬畏。我期待的不只是学会写几行代码,而是真正体验一个软件产品从无到有、从雏形到迭代的全过程。

令我欣喜的是,这门课完全超出了我的期待:

  • 目标达成方面: 我真正理解了团队协作的价值。从最初的“单人作战”思维,到后来熟练使用Git进行团队协作、在站会上面红耳赤地讨论接口设计、为了一个用户体验细节与队友反复沟通,我深刻体会到,软件工程的核心是“人”的工程。我们学习的敏捷开发方法论、Git分支管理策略等,都让我对现代软件开发流程有了直观且深刻的认识。
  • 存在的不足与反思: 如果说有遗憾,那便是在项目前期,我们对需求的分析和架构的设计还可以做得更深入。在开发行程规划功能时发现前期对地图API的调用复杂度预估不足,导致后期需要重构代码结构的情况下,我们才真正体会到“磨刀不误砍柴工”的真谛。这让我明白,扎实的前期工作,是后续高效开发的基石,这也是我未来需要不断加强的地方。

1.2 汗水与代码:我的投入清单

  • 代码行数: 在本课程的个人编程作业和团队项目中,我累计编写了约1600行代码。这每一行代码,都是我思考和解决问题的见证。
  • 团队角色: 在团队项目TravelMate中,我主要承担了前端开发工程师和测试工程师的角色。我不仅负责了用户界面开发、交互逻辑实现、跨端兼容性调试,还制定了详细的测试用例,完成了系统的功能测试和性能测试。在团队陷入技术瓶颈时,主动调研并引入了ECharts实现数据可视化,为项目的顺利推进贡献了自己的力量。
  • 时间投入表:
作业 花费时间
第一次团队作业(团队组建与选题) 10小时
第二次团队作业(需求分析与原型设计) 12小时
第一次团队项目作业(编码实现阶段一) 25小时
第二次团队项目作业(编码实现阶段二) 25小时
第三次团队项目作业(测试与部署) 30小时
第四次团队项目作业(最终答辩与总结) 30小时
累计时间 实际周均时间 预计周均时间
132小时 13小时 9小时

1.3 最深刻的印记:那次彻夜不眠的发布前夜

令我印象最深刻的,无疑是第三次团队项目作业——项目部署与测试答辩的前夜。

那天晚上,我们团队全员在线,为了解决云服务器上Nginx配置错误导致的前端资源加载失败问题,从傍晚一直调试到凌晨三点。我们不断查阅文档、在技术社区寻求帮助、一遍遍重试。当最终看到TravelMate首页完整展现在生产环境时,我们在语音频道里激动地欢呼起来。那一刻,所有的疲惫和焦虑都烟消云散,取而代之的是一种巨大的成就感和团队凝聚力。这次经历让我深刻体会到,软件工程的魅力不仅在于创造,更在于解决问题时那份与同伴并肩作战的温暖与坚持。

二、总结收获:知识、工具与心灵的全面升级

2.1 我们的软工故事:从“Hello World”到“Hello Product”

  • 故事一:原型设计阶段——学会倾听与共情。 在设计TravelMate的原型时,我们自以为设计了一个完美的流程。但在第一次内部评审时,扮演“挑剔用户”的队友却提出了行程拖拽功能操作不够直观的问题。这让我们意识到,技术人员的思维与真实用户的需求之间存在鸿沟。于是,我们重新访谈了目标用户,将原型修改了三个版本,最终采用了更符合用户心智模型的时间轴设计。这个过程教会我,好的产品不是技术的堆砌,而是对用户需求的深刻理解和体贴入微的关怀。
  • 故事二:测试阶段——细节决定成败。 在进行兼容性测试时,我发现TravelMate在iOS Safari浏览器上出现布局错乱。通过仔细排查,发现是Flex布局的兼容性问题。这次经历让我明白,测试不仅是找bug,更是对用户体验的极致追求。我们建立了详细的浏览器兼容性矩阵,确保每个用户都能获得一致的体验。

2.2 技术兵器谱:新工具带来的效率革命

  1. Vue.js + Vite: 掌握了现代前端框架的开发模式,体验了Vite带来的极速热更新,大大提升了开发效率。
  2. Jest + Testing Library: 学会了编写单元测试和集成测试,构建了前端测试体系,确保了代码质量。
  3. ESLint + Prettier: 配置了代码规范和自动格式化,培养了良好的编码习惯,减少了团队协作的摩擦。
  4. Docker + Nginx: 掌握了容器化部署和反向代理配置,实现了开发环境与生产环境的一致性。

2.3 超越代码:软实力潜移默化的提升

  • 沟通协作能力: 学会了在每日站会上清晰汇报进度,在代码审查中温和地提出建议,在需求讨论中平衡技术实现与用户体验。
  • 项目管理能力: 使用看板管理任务,学会了合理估算工时,识别项目风险,确保迭代按时交付。
  • 解决问题能力: 从遇到bug时的手足无措,到能够系统性地分析问题根源,制定解决方案,并总结预防措施。

2.4 想说的话

最遗憾的事,是由于时间限制,我们设想中的智能推荐功能没能完全实现。但正是这种遗憾,让我更加明白软件工程是一个持续迭代的过程,没有完美的产品,只有不断进步的自己。

给未来Z班的学弟学妹们:请珍惜这次从0到1打造产品的机会!不要害怕犯错,每一个bug都是成长的阶梯;不要畏惧沟通,每一次讨论都是思维的碰撞。当你们看到自己亲手打造的产品真正运行时,那种成就感将是无与伦比的。

深夜调试时共享的代码片段和互相鼓励的聊天记录,将成为我最珍贵的回忆

三、致谢:感谢一路同行的你们

​ 首先,我要衷心感谢我的团队成员:张蔡涵,李泽聿,陈溢滨。特别要感谢后端开发工程师,记得在对接用户认证接口时,我遇到了跨域问题,是你耐心地陪我一遍遍调试CORS配置,直到深夜两点问题解决。没有你们的支持、包容与共同努力,我们无法完成这个倾注心血的项目。

​ 其次,感谢老师和助教们的辛勤付出。每一次细致的作业批改都让我们及时发现不足,每一次答疑解惑都为我们扫清了技术障碍。

最后,也要感谢那个没有轻言放弃的自己。记得在测试阶段发现一个难以复现的偶发bug时,我曾一度想要妥协,但最终坚持通过添加详细日志定位并解决了问题。这种坚持的精神将伴随我未来的职业生涯。

软工实践的课程虽已结束,但我们用代码编织梦想的旅程,才刚刚开始。带着这份收获、这份情谊,我们江湖再见!

http://www.gsyq.cn/news/177106.html

相关文章:

  • Anaconda配置PyTorch环境并安装OpenCV图像处理库
  • Anaconda配置PyTorch环境并集成JupyterLab操作指南
  • CipherScan终极指南:快速检测SSL/TLS配置的强大工具
  • Anaconda配置PyTorch环境并安装torchvision全流程
  • 大规模向量检索优化:Binary Quantization 让 RAG 系统内存占用降低 32 倍
  • Java毕设项目:基于springboot的家政服务撮合与评价平台家政需求、筛选服务人员、查看评价记录,服务人员接收订单(源码+文档,讲解、调试运行,定制等)
  • 基于Java的基础数据维护智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 基于Java的基础服务智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 计算机Java毕设实战-基于springboot的家政服务撮合与评价平台保洁、月嫂、养老护理、家电维修等多个领域【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Jupyter Notebook界面操作指南:基于PyTorch-CUDA-v2.8实战教学
  • 清华镜像源加速PyTorch相关依赖安装,配合CUDA镜像更流畅
  • 别急着算距离——聊聊《最短单词距离 II》背后的工程思维
  • Conda与Pip共存环境下PyTorch的安装注意事项
  • 如何通过SSH访问PyTorch-CUDA-v2.8镜像进行远程调试?
  • 图腾柱PFC算法,仿真
  • Markdown插入公式与图表:增强技术博客专业度
  • PyTorch-CUDA-v2.8镜像持久化存储方案设计与实现
  • 基于Java的塑料膜进销存智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • YOLOv5 Test-time Augmentation推理增强技巧
  • 全面详解LwIP协议栈及其实现应用
  • PyTorch Weight Initialization权重初始化策略详解
  • SSH批量执行命令:统一管理多台PyTorch服务器
  • PyTorch混合精度训练:AMP机制降低GPU显存消耗
  • Markdown Emoji表情符号:增添技术博客趣味性
  • CSRF漏洞概述和原理【黑客渗透测试零基础入门必知必会】零基础入门到精通,收藏这篇就够了
  • C#之如何添加其他项目
  • 无线真机自动化测试全攻略-appium+phthon
  • GitHub热门推荐:PyTorch-CUDA-v2.8镜像开源项目实践
  • 2025必备10个降AIGC工具,继续教育者必看!
  • 《代码大全2》前三分之一观后感