贵州省网站建设_网站建设公司_网站制作_seo优化
2025/12/28 9:38:33 网站建设 项目流程

软件工程课程学期回顾

一、学期回顾

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

在课程开始前,我对软件工程课程的想象是:不仅能系统掌握编程开发的核心技术,还能深入了解一个完整软件项目从需求分析、设计、开发到测试、部署的全流程,学会如何与团队成员高效协作,将理论知识转化为实际可落地的软件产品。我期待通过这门课程,提升自己的实战开发能力和问题解决能力,为未来从事相关工作积累经验。

从目前的学习情况来看,在多个方面我已经达到了预期目标。首先,在项目开发流程上,通过参与协同开发智能体助手项目,我完整经历了需求调研、概要设计、详细设计、编码实现、单元测试和集成测试等环节,清晰掌握了软件项目的标准化开发流程。其次,在团队协作方面,借助协同开发工具,我学会了如何与团队成员进行任务分工、沟通需求、同步进度,以及如何处理开发过程中出现的意见分歧。此外,在编码能力上,通过多次作业和项目开发,我的代码规范性和可读性得到了显著提升,也掌握了多种实用的开发技巧。

但同时也存在一些不足。一方面,在技术深度上还有所欠缺,对于协同开发智能体助手项目中涉及的部分复杂算法和框架,仅仅停留在会使用的层面,对其底层原理理解不够透彻,导致在遇到复杂问题时,解决问题的效率和能力还有待提高。另一方面,在项目管理能力上存在短板,在项目进度把控上不够精准,曾出现个别任务延期的情况,这主要是因为在前期任务评估时,对任务难度和所需时间预估不足,同时缺乏有效的进度跟踪和调整机制。

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

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

在团队项目中,我与其他成员共同参与了“协同开发智能体助手”的设计与开发。我在项目中承担的角色兼具前端与后端开发职责,技术栈以Python为主,主要负责后端登录注册功能及前端合并会议功能的开发,同时参与部分前后端数据对接工作。其他成员分别承担了后端核心服务开发、产品设计、测试等角色(根据实际团队分工填写)。

软工实践的各次作业我花费的时间如下表所示:

作业 花费时间
第一次团队作业 4小时
第二次团队作业 5小时
第一次团队项目作业 10小时
第二次团队项目作业 9小时
第三次团队项目作业 12小时
第四次团队项目作业 10小时

在软件工程课程上花费的时间统计如下:

累计时间 实际周均时间 预计周均时间
50h 7h 8h

1.3 印象最深刻的作业或答辩

令我印象最深刻的是第三次团队项目作业的答辩。这次作业我们的核心任务是完成协同开发智能体助手的核心功能迭代,我主要负责前端合并会议功能的开发,需要实现会议信息的聚合展示、合并操作触发、合并结果反馈等交互逻辑。在开发过程中,我们遇到了诸多难题,尤其是合并会议时的冲突检测(如时间重叠、参会人重复等)以及合并后数据的实时同步问题,多次出现功能触发异常、数据展示错乱的情况。为了解决这些问题,我们团队连续一周利用课余时间开会讨论,查阅前端状态管理相关资料,反复调试代码,最终通过引入Vuex管理全局状态、设计自定义冲突检测算法,在答辩前顺利解决了问题。

这次答辩之所以印象深刻,一方面是因为这次作业的技术难度最大,我们通过团队协作攻克难题的过程让我深刻体会到了团队的力量;另一方面,在答辩过程中,评委老师针对我们的项目提出了很多有针对性的问题和改进建议,比如如何优化用户体验等。这些问题让我意识到自己在项目设计和开发中考虑的还不够全面,也为后续的项目优化指明了方向。同时,通过观看其他团队的答辩,我也学习到了很多优秀的项目开发思路和经验,拓宽了自己的视野。

二、总结收获

2.1 我的软工实践故事

第一次团队项目作业是项目的初始化阶段,核心任务是完成需求分析和概要设计。在这个阶段,我们进行了需求分析和梳理,明确了项目的核心功能的范围。在概要设计阶段,我们采用了模块化设计思想,将项目分为前端展示层、后端服务层、数据存储层和智能算法层四个模块,并确定了各模块之间的接口关系。这次实践让我学会了如何进行系统的需求分析和概要设计,掌握了用例图、类图等设计工具的使用方法。例如,在需求分析过程中,我们通过绘制用例图清晰地展示了不同用户角色与系统的交互关系,为后续的开发工作奠定了坚实的基础。

第二次团队项目作业进入了详细设计和编码实现的初步阶段。我负责基于Python的简单后端登录注册功能开发,核心是实现用户信息的验证、存储与会话管理。在开发过程中,我采用了Flask框架快速搭建后端接口,通过SQLite数据库存储用户数据,并利用JWT完成身份认证。期间遇到了用户密码加密存储、跨域请求处理等问题,通过查阅Flask官方文档和相关技术博客,最终采用bcrypt加密算法保障密码安全,借助CORS库解决了跨域问题。这次实践让我提升了Python后端开发能力,掌握了基础的用户认证与数据存储实现方法,也学会了如何高效解决后端开发过程中遇到的技术问题。

第三次团队项目作业的重点是核心功能的开发和优化,我负责的核心任务是前端合并会议功能的实现与优化。在功能开发初期,合并会议的冲突检测逻辑不完善,经常出现漏检、误检的情况,且合并操作后页面数据无法实时刷新,影响用户体验。我们团队多次召开技术研讨会,分析问题根源,最终我负责设计了基于会议时间、参会人、会议主题的多维度冲突检测算法,并通过Vue的响应式特性结合WebSocket技术,实现了合并后数据的实时同步展示。在这个过程中,我不仅深化了对Vue3框架及Vuex状态管理的使用理解,还提升了前端复杂交互逻辑的设计与实现能力,同时加强了与后端开发人员的协作对接效率,确保合并会议功能与后端数据服务的顺畅联动。

第四次团队项目作业主要是项目的测试和部署。我们采用了黑盒测试和白盒测试相结合的方式,对项目的所有功能进行了全面测试,发现并修复了多个潜在的bug。在部署阶段,我们遇到了服务器配置复杂、项目部署后响应速度慢等问题。通过查阅资料和请教老师,我们优化了服务器配置,采用了负载均衡技术,提升了项目的稳定性和响应速度。这次实践让我掌握了软件测试的基本方法和项目部署的流程,也深刻认识到了软件测试和部署在整个项目生命周期中的重要性。

2.2 学习到的新技术或生产力工具及帮助

  • Vue3框架:学习并使用Vue3框架进行前端开发,其组件化思想和响应式数据绑定特性,大大提高了前端开发的效率和代码的可维护性。尤其是在合并会议功能开发中,通过组件化将功能拆分为会议列表组件、冲突检测提示组件、合并操作组件等,便于分工开发和后期维护;借助Vuex管理合并会议相关的全局状态,确保了数据的一致性。

  • Python及Flask框架:系统学习并使用Python语言,借助Flask框架完成后端登录注册功能开发。Flask的轻量性和灵活性让我能够快速搭建后端接口,结合Python丰富的库资源(如bcrypt、JWT、SQLite3等),高效实现了用户认证、数据存储等核心功能,显著提升了后端开发效率。

  • Git版本控制工具:熟练掌握Git版本控制工具的使用,包括代码提交、分支管理、合并冲突解决等功能。在团队协作开发中,Git工具确保了代码的版本管理和团队成员之间的代码同步,避免了代码冲突和丢失问题,提高了团队协作的效率。例如,在项目开发过程中,我们每个成员都在自己的分支上进行开发,完成后通过合并请求将代码合并到主分支,确保了代码的安全性和稳定性。

  • Postman接口测试工具:利用Postman工具对后端接口进行测试,能够快速发送请求,查看响应结果,验证接口的正确性和可用性。在前后端对接过程中,Postman工具帮助我们及时发现并解决了接口设计和实现中的问题,确保了前后端数据交互的顺畅。

2.3 技术之外的提升

  • 团队协作能力:通过多次团队项目实践,我学会了如何与不同角色的团队成员进行有效沟通和协作。在项目开发过程中,我们需要定期召开团队会议,同步项目进度,讨论遇到的问题,每个人都能积极发表自己的意见和建议,共同寻找解决方案。这让我深刻认识到团队协作的重要性,也提升了自己的沟通协调能力和团队合作意识。

  • 问题解决能力:在项目开发过程中,遇到了各种各样的技术问题和项目管理问题。通过不断地查阅资料、请教老师和团队讨论,我逐渐学会了如何快速定位问题、分析问题根源,并采取有效的措施解决问题。这种问题解决能力的提升,不仅对软件开发有帮助,也对今后的学习和工作具有重要意义。

  • 时间管理能力:由于课程任务繁重,需要合理安排时间完成各项作业和项目任务。在实践过程中,我逐渐学会了制定详细的学习和开发计划,根据任务的优先级和难度合理分配时间,提高了时间管理效率。例如,在面对多个截止日期相近的任务时,我会先梳理每个任务的核心需求和所需时间,制定详细的时间表,确保各项任务都能按时完成。

  • 抗压能力:在项目开发的关键阶段,经常需要在短时间内完成大量的工作,面临较大的压力。通过这些经历,我的抗压能力得到了显著提升,能够在压力下保持冷静,合理安排工作,确保项目的顺利推进。

  • 创新思维能力:在项目开发过程中,我们需要不断探索新的技术和方法,提升项目的性能和用户体验。例如,在智能代码审查模块的开发中,我们尝试引入机器学习模型,这需要我们具备创新思维能力,勇于尝试新的思路和方法。通过这个过程,我的创新思维能力得到了锻炼和提升。

2.4 自由记录与分享

这门软件工程课程对我未来的专业道路选择产生了重要的影响。在课程学习和项目实践之前,我对自己未来的职业方向还比较模糊,通过参与协同开发智能体助手项目,我深深感受到了软件开发的魅力,也明确了自己未来想要从事前端开发相关的工作。在项目开发过程中,每一个功能的实现、每一个问题的解决,都让我充满了成就感。

这学期最有趣的课程片段是第三次团队项目作业完成后的团队分享会。在分享会上,每个团队成员都分享了自己在项目开发过程中的收获和感悟,还讲述了很多开发过程中发生的趣事。比如,有成员为了解决一个技术难题,连续熬了两个晚上,最终在凌晨找到了解决方案,那种兴奋和激动的心情感染了在场的每一个人。通过这次分享会,我们不仅加深了对彼此的了解,也增进了团队的凝聚力。

这学期最遗憾的一件事情是,在第二次团队项目作业开发后端登录注册功能时,由于对Python后端的异常处理考虑不周,初期版本未完善用户重复注册、登录失败等场景的错误提示,导致后续测试阶段需要重新修改接口逻辑。虽然后来成功解决了问题,但耽误了部分团队对接进度。如果当时能够在前期设计阶段更全面地梳理用户使用场景,就不会出现这样的问题。

三、致谢

一个学期过去了,我特别想要感谢的人是我们团队的组长薛刚。

在协同开发智能体助手项目开发过程中,组长薛刚给了我很多帮助。尤其是在我遇到前端响应式布局适配困难的时候,他主动过来帮我分析问题,给我推荐了相关的技术文档和学习资源,还牺牲自己的休息时间和我一起调试代码。记得有一次,我们为了解决一个页面交互的bug,一直调试到晚上十一点多,最终成功解决了问题。他严谨的工作态度、扎实的技术能力和无私的帮助,让我深受感动,也帮助我快速提升了自己的技术水平。我想对他说:“薛刚,谢谢你这学期的帮助和照顾,和你一起合作真的很愉快。你的严谨和专注值得我学习,希望未来我们还有机会一起合作开发项目!”

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询