轻舟已过万重山——智能旅游助手开发总结
一、学期回顾
1.1 回顾你对于软件工程课程的想象
在学期开始前,我对软件工程课程的想象是:这是一门教授软件开发流程和方法的课程,会学习到如何将一个想法转化为可运行的软件产品。我期待能够学习到团队协作开发的经验,掌握实际项目开发的流程和工具,以及如何解决开发过程中遇到的各种问题。
经过一个学期的学习,我发现实际的软件工程课程比我想象的更加全面和深入。我们不仅学习了软件开发的理论知识,还通过团队项目实践了完整的软件开发流程,从需求分析、设计、开发到测试和部署。在这个过程中,我学会了如何与团队成员协作,如何使用各种开发工具和技术,以及如何解决实际开发中遇到的各种问题。
1.2 回顾你在这门课程中的投入与产出
在软工实践课程当中,我编写了约2000行代码,主要参与了TravelMate智能旅游助手项目的后端开发工作,负责AI旅游搭子、多模态规划和学生专属线路库等功能模块的设计与实现。
软工实践的各次作业花费时间:
- 第一次团队作业:8小时
- 第二次团队作业:10小时
- 第一次团队项目作业:15小时
- 第二次团队项目作业:20小时
- 第三次团队项目作业:25小时
- 第四次团队项目作业:30小时
在软件工程课程上花费的时间:
- 累计时间:108小时
- 实际周均时间:10.8小时
- 预计周均时间:8小时
1.3 令你印象最深刻的是哪一次作业或哪一场答辩?为什么这次作业或这场答辩令你印象深刻?
令我印象最深刻的是第三次团队项目作业的答辩。在这次答辩中,我们团队展示了TravelMate智能旅游助手的核心功能,包括AI规划行程、价格锁定行程和实时智能纠错行程等。
这次答辩印象深刻的原因有两点:首先,我们团队在项目开发过程中遇到了很多技术难题,比如AI接口调用、多模态数据处理等,经过团队成员的共同努力,最终成功实现了这些功能;其次,在答辩过程中,评委老师提出了很多有建设性的意见和建议,帮助我们认识到项目中存在的不足和改进方向,这对我们后续的项目优化非常有帮助。
二、总结收获
2.1 展开说说你的软工实践故事
在TravelMate智能旅游助手项目的开发过程中,我经历了从需求分析到最终部署的完整软件开发流程。以下是一些关键的实践经验:
-
需求分析阶段:我们团队通过头脑风暴和用户调研,确定了智能旅游助手的核心功能和杀手功能,如AI规划行程、价格锁定行程和实时智能纠错行程等。在这个阶段,我学会了如何从用户需求出发,分析和定义软件功能。
-
设计阶段:我们采用了前后端分离的架构设计,后端使用Java Spring Boot框架,前端使用Vue框架。在这个阶段,我学会了如何进行系统架构设计,以及如何设计RESTful API接口。
-
开发阶段:在开发过程中,我们遇到了很多技术难题,比如AI接口调用、多模态数据处理等。通过查阅资料、团队讨论和反复调试,我们最终成功解决了这些问题。在这个阶段,我学会了如何使用各种开发工具和技术,以及如何解决实际开发中遇到的各种问题。
-
测试阶段:我们对项目进行了单元测试、集成测试和系统测试,确保了系统的稳定性和可靠性。在这个阶段,我学会了如何编写测试用例,以及如何进行软件测试。
-
部署阶段:我们将项目部署到了云服务器上,确保了系统的可访问性和可用性。在这个阶段,我学会了如何进行软件部署和运维。
2.2 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的帮助?
-
Spring Boot框架:学习了Spring Boot框架的使用,包括自动配置、依赖管理、RESTful API开发等。Spring Boot框架简化了Java后端开发的流程,提高了开发效率。
-
Vue框架:学习了Vue框架的使用,包括组件化开发、路由管理、状态管理等。Vue框架简化了前端开发的流程,提高了开发效率。
-
AI接口调用:学习了如何调用AI接口,如OpenAI API、高德地图API等。AI接口的使用为智能旅游助手提供了强大的功能支持。
-
Redis缓存:学习了Redis缓存的使用,包括数据存储、缓存管理等。Redis缓存的使用提高了系统的性能和响应速度。
-
Maven构建工具:学习了Maven构建工具的使用,包括依赖管理、项目构建等。Maven构建工具简化了项目的构建流程,提高了开发效率。
-
Git版本控制:学习了Git版本控制的使用,包括代码提交、分支管理、合并等。Git版本控制的使用方便了团队协作开发,确保了代码的安全性和可追溯性。
2.3 技术之外,这门课程还给你带来了哪些方面的提升?
-
团队协作能力:通过团队项目实践,我学会了如何与团队成员协作,包括沟通交流、任务分配、冲突解决等。团队协作能力是软件开发过程中非常重要的一项能力。
-
问题解决能力:在项目开发过程中,我们遇到了很多技术难题,通过查阅资料、团队讨论和反复调试,我们最终成功解决了这些问题。这提高了我的问题解决能力和抗压能力。
-
文档编写能力:在项目开发过程中,我们需要编写各种文档,如需求文档、设计文档、接口文档等。这提高了我的文档编写能力和表达能力。
-
时间管理能力:在项目开发过程中,我们需要合理安排时间,确保项目能够按时完成。这提高了我的时间管理能力和计划能力。
-
创新能力:在项目开发过程中,我们需要不断创新,提出新的功能和想法。这提高了我的创新能力和思维能力。
2.4 如果还有什么想记录的或者想说的,就写在这儿吧!
经过一个学期的软件工程学习和实践,我收获了很多,不仅学习了新技术和生产力工具,还提高了团队协作能力、问题解决能力等。这些收获将对我未来的专业道路产生积极的影响。
我觉得最有趣的课程片段是团队头脑风暴的过程,大家在一起讨论项目的功能和设计,提出各种有趣的想法和建议。这是一个非常愉快和有意义的过程。
我最遗憾的一件事情是,由于时间和技术限制,我们没有实现所有计划中的功能,比如AI旅行搭子聊天模式的完整功能。希望在未来的学习和实践中,我能够继续完善这些功能。
给未来Z班的学弟学妹们留下一句鼓励:软件工程是一门非常有趣和实用的课程,只要你们认真学习和实践,一定能够收获很多。加油!
三、致谢
一个学期过去了,我特别想要感谢的人有很多,包括我的团队成员、TA和老师。
首先,我要感谢我的团队成员。在项目开发过程中,我们一起克服了很多困难,共同完成了TravelMate智能旅游助手项目。特别是在遇到技术难题的时候,大家一起讨论、一起查找资料,最终成功解决了问题。感谢你们的陪伴和支持,让我在这个学期的软件工程学习和实践中收获了很多。
其次,我要感谢我们的TA。在项目开发过程中,TA给了我们很多有建设性的意见和建议,帮助我们解决了很多问题。特别是在项目答辩的时候,TA的点评让我们认识到了项目中存在的不足和改进方向。感谢TA的指导和帮助,让我们的项目能够不断完善和优化。
最后,我要感谢我们的老师。老师在课堂上讲解了很多软件工程的理论知识和实践经验,帮助我们建立了完整的软件工程知识体系。老师的教学方式生动有趣,让我们能够轻松愉快地学习软件工程知识。感谢老师的辛勤付出和教导,让我们在这个学期的软件工程学习中收获了很多。
写到这里,本学期的软工实践之旅就真的落下帷幕了。一路走来,风雨兼程,一篇篇博客见证了我们的泪水与汗水。希望我们能够带着从这门课程中获得的一切,继续向前!