[I.3] 个人作业:结课总结
| 项目 | 内容 | 
|---|---|
| 这个作业属于哪个课程 | 2025年春季软件工程(罗杰、任健) | 
| 这个作业的要求在哪里 | [I.3] 个人作业:结课总结 | 
| 我在这个课程的目标是 | 提升前后端开发能力,掌握软件工程方法,强化团队协作和项目管理能力,实现高效的软件开发实践。 | 
| 这个作业在哪个具体方面帮助我实现目标 | 理解软件工程核心概念,培养批判性思维,提高对需求分析、软件设计、测试及团队协作的理解 | 
本文为《软件工程(2025春季)》的结课博客总结,旨在回顾自己在课程初期提出的几个问题,并结合个人项目、结对编程和团队开发的实践经历进行反思与总结。
🔗 回顾:起点与问题链接
在课程初期的 I.1 阅读和提问 中,我提出了如下五个问题:
- 如何在实际项目中平衡敏捷开发与传统软件工程方法?
- 如何在需求分析阶段有效减少需求变更带来的影响?
- 在结对编程中,如何确保两人高效协作而不是相互依赖?
- 在团队开发中,如何有效管理代码版本以减少合并冲突?
- 如何在软件测试中权衡自动化测试与手动测试的投入?
🧠 解答与反思:问题的回顾与新认识
✅ 问题 1:如何在实际项目中平衡敏捷开发与传统方法?
- 在第一次团队项目中我们尝试了以 Scrum 为核心的敏捷方法,制定短周期目标,快速迭代开发。
- 但在第二阶段面对功能复杂度提升和团队规模扩大后,我们也引入了部分传统软件工程方法(如详细设计文档、任务评审机制)。
📘 我的收获:
敏捷和传统方法并非对立,而是互补。前期用敏捷快速验证需求,中后期用规范流程保证质量和进度,是实际项目中的常态做法。
✅ 问题 2:如何在需求分析阶段减少需求变更带来的影响?
- 在结对项目中,由于初期未明确用户角色和边界,后续频繁修改接口。
- 在团队项目中,我们尝试使用 用户画像 + 用户故事地图 + 原型图 来明确需求,提前做了功能边界管理,变更率明显下降。
📘 我的收获:
需求变更不可避免,但可以“预留空间 + 分阶段锁定需求”来降低其对开发节奏的破坏。
✅ 问题 3:如何在结对编程中避免相互依赖、提升协作效率?
- 我和搭档采用了“驾驶员-导航员”角色轮换制度,每两个 commit 互换角色。
- 每次编程前进行了 10 分钟的 mini 设计讨论,明确目标与分工。
📘 我的收获:
高效结对的关键是“同步目标 + 轮换角色 + 独立思考”,避免“一个写一个看”的低效模式。
✅ 问题 4:如何在团队开发中有效管理代码版本,减少合并冲突?
- 第一次合并时出现多人修改同一模块的情况,严重冲突。
- 后来我们采用 Git 分支模型(主干 + feature 分支),配合每晚 code review 与每日 stand-up 会议。
📘 我的收获:
合并冲突多半是沟通问题的技术表现,做好分支策略与任务分配是预防冲突的关键。
✅ 问题 5:如何在测试中权衡自动化与手动测试?
- 第二阶段团队项目中,我们为核心模块(如用户认证、支付系统)编写了自动化测试,但 UI 和边缘功能仍采用手动测试。
- 使用 pytest+GitHub Actions进行了 CI 流程配置。
📘 我的收获:
核心路径自动化,边缘场景手动;前期重点在功能,后期强调回归。自动化不是取代,而是放大测试价值。
❓ 仍未完全解决的问题与新问题
❌ 仍然困惑:
如何在大型项目中系统地做“技术债务管理”?
后期我们发现很多“能用但不优雅”的代码,是否重构、何时重构仍然是个需要权衡的问题。
🆕 新的问题:
在跨地域/异步协作的开发中,如何更好地进行“非同步协作”设计?
如何设计流程以适应成员时间错开的协作方式,仍需进一步探索。
🛠 知识点总结:六大阶段收获
| 阶段 | 所学知识点 | 
|---|---|
| 需求 | 用户画像和用户故事有助于明确边界与功能优先级 | 
| 设计 | 原型图 + 类图帮助我们把“想法”转化为“结构” | 
| 实现 | 代码规范与模块化设计提升了协作效率和可维护性 | 
| 测试 | 单元测试 + 手动测试形成互补,提高测试覆盖率 | 
| 发布 | 使用 GitHub Actions 实现自动化部署流程 | 
| 维护 | bug 复现日志 + 标签分类机制有效提升了问题追踪效率 | 
💡 总结与心得
软件工程不仅仅是写代码,更是一种“协作、抽象、验证、复盘”的能力建设。通过本学期的个人项目、结对编程与团队开发,我深刻体会到了“做中学”的价值:
- 个人开发训练了自律和全栈意识;
- 结对编程提升了沟通与代码质量;
- 团队合作让我理解了项目管理和协同的真正意义。
回看最初的问题,我找到了不少答案,也发现了更多值得思考的新问题。这,正是成长的意义所在。

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号