课程总结

软件工程课程总结

学号:20234068 姓名:张凯军 班级:信 2305-3
一、回顾课程计划
课程初期,我制定了以掌握 Spring Boot 框架和前端 Vue.js 基础为核心的首周学习计划。通过一周实践,我能够独立完成前后端数据交互与基础页面开发,但在复杂业务流程的代码组织上与团队成员存在明显差距。例如,在电商项目的订单结算模块开发中,其他同学能快速构建状态机逻辑,而我因对领域模型理解不深入,导致代码耦合度较高。这让我意识到,仅掌握工具使用远远不够,对业务逻辑的抽象能力和设计模式的应用才是提升开发效率的关键。后续在小学期实践中,我通过拆解开源项目代码结构,逐步强化了对模块化设计的理解。
二、《构建之法》的阅读与感悟
课程初期阅读《构建之法》时,我提出了 5 个核心问题,随着学习深入,这些问题得到了更清晰的解答:

  1. 敏捷开发的落地难点:最初认为敏捷就是 “快速迭代”,但书中强调的 “用户故事拆分” 和 “持续集成” 让我明白,敏捷的核心是通过结构化流程应对需求变化。在团队项目中,我们曾因未严格执行每日站会,导致任务进度脱节,这让我深刻体会到流程规范的重要性。

  2. 代码审查的价值:过去我忽视代码审查,认为是 “浪费时间”。书中案例显示,规范的审查能减少 40% 以上的潜在 bug。在小组互评中,我通过师兄的代码审查意见,修正了接口幂等性设计的漏洞,从此建立了 “代码即文档” 的意识。

  3. 技术债务的管理:项目中期为赶进度采用 “临时方案”,后期维护时发现大量重复代码。书中提到的 “技术债务清单” 方法让我学会定期评估代码质量,通过增量重构逐步优化系统。

  4. 用户需求的转化:需求分析阶段,我常将用户描述直接转化为功能点,导致系统逻辑混乱。书中 “需求金字塔” 理论指导我从业务目标倒推功能设计,例如在校园报修系统中,通过分析 “报修效率” 的核心目标,重新设计了故障分类流程。

  5. 技术选型的权衡:初期盲目追求 “新技术”,在数据库选型时误用 MongoDB 处理强事务场景。书中 “技术适配性” 原则让我明白,选型需结合团队能力与项目场景,后续在二次开发中改用 MySQL 解决了数据一致性问题。
    三、新问题的产生
    学习过程中,我产生了以下需要深入探索的问题:

  6. 低代码平台与传统开发的融合:当前ai工具能快速构建 CRUD 功能,但复杂业务逻辑仍需手写代码。如何在项目中平衡低代码的效率与定制化需求,形成标准化开发流程?
    2.项目管理工具的选择与应用:目前我了解一些项目管理工具(如 Jira、Trello 等),但在实际项目中,如何根据项目特点选择合适的工具,并充分发挥其功能,以提高项目管理效率,是我需要进一步探索的问题
    四、对软件工程文献和事后诸葛亮会议的感想
    通过研读行业案例与参与项目复盘,我对软件开发有了更深认知:

  7. 业务逻辑的重要性:文献中的案例和事后分析都表明,清晰的业务逻辑是软件成功的关键。我们团队在项目中由于对业务逻辑不够明晰,导致开发过程中频繁出现问题。今后,我将更加注重业务逻辑的学习和梳理,通过观摩优秀作品和与团队成员深入交流,提升自己的业务逻辑处理能力。

  8. 技术决策的记录与追溯:在事后诸葛亮会议中,我们发现早期 “跳过单元测试” 的决策导致后期 bug 频发。从此建立 “技术决策日志”,记录每个关键选择的影响,为后续提供参考。

  9. 团队更新机制:在分析其他团队的成功案例时,我发现高效的团队协作是项目成功的重要保障。我们团队在协作过程中存在沟通不畅、任务分配不合理等问题,需要进一步优化协作流程,加强团队成员之间的沟通与信任。
    五、对比技能评价表的收获
    对比课程初始的技能自评,我在以下方面取得显著进步:

  10. 全栈开发能力:从仅能编写后端接口,到独立完成 Vue 组件开发与 Element UI 组件定制。例如,在可视化报表模块中,我使用 ECharts 实现了动态数据渲染与交互效果。

  11. 文档编写能力:过去我常常忽视文档编写的重要性,通过课程学习,我掌握了编写需求规格说明书、设计文档、用户手册等各类文档的技能,能够规范、详细地记录项目相关信息,为团队协作和项目维护提供了有力支持。

  12. 团队协作能力:在课程项目中,我学会了与团队成员有效沟通、合理分工以及协同工作,解决了很多麻烦且棘手的问题。团队协作能力的提升不仅让我能够更好地融入团队,还提高了项目的整体开发效率和质量,提升了合作感。

无法量化的成长包括:

个人能力的提升:在面对困难问题时,不在毛毛躁躁,可以非常冷静且从容的应对,并且在课堂上回答问题也不再十分紧张,叫之前有了很大的进步
六、对王老师的意见
1.课上讲的内容没有太大作用,讲的都是一些本身存在与我们认知的东西,既不新奇又没有作用
2.无用的作业建议取消,我个人认为没有存在的意义,除了浪费时间就是浪费时间
3.上半学期测试太多,建议间隔两周或三周测一次

通过本课程的学习,我编写代码的水平得到了很大的提升,已经能编写一些较为基础的网站与软件了,但内容的表现及业务逻辑仍旧有较大进步空间,在暑假以及之后的学习中,我将进一步去完善自己的开发能力,争取达到甚至超越软件工程的毕业标准。

posted @ 2025-06-09 23:39  skurar  阅读(7)  评论(0)    收藏  举报