学习总结
软件工程实践周总结(2025年3月3日-3月7日)
一、本周学习与实践内容回顾
本周是软件工程课程学习的关键一周,我通过博客记录了完整的学习轨迹和实践心得,主要围绕以下几个核心内容展开:
1. 软件测试与质量保障(3月3日)
- 系统学习了单元测试的核心概念与JUnit框架的实际应用
- 实践了测试驱动开发(TDD)方法在项目中的运用
- 探索了Mockito在模拟对象测试中的使用技巧
- 分析了代码覆盖率工具JaCoCo的集成与应用场景
2. 敏捷开发方法实践(3月4日)
- 深入研究了Scrum框架的核心要素与实施流程
- 创建了个人看板管理开发任务,实践每日站会形式
- 通过用户故事拆分技术优化了需求分析方法
- 评估了敏捷度量指标(如燃尽图)对项目管控的价值
3. 软件设计原则应用(3月5日)
- 实践SOLID原则在Android项目中的具体应用案例
- 重构了地铁购票APP的部分代码结构
- 分析了设计模式在解耦组件中的实际效果
- 探讨了架构清晰度与维护成本的关系
4. 前后端协作开发(3月7日)
- 实现了Spring Boot与Vue.js的完整交互流程
- 解决了跨域请求和安全验证等实际问题
- 优化了RESTful API设计规范
- 完善了运维管理子系统的文件上传功能
二、技术突破与实践成果
1. 测试驱动开发能力的提升
通过3月3日的实践,我成功将JUnit单元测试覆盖率从最初的35%提升至68%,特别是在地铁购票APP的核心业务逻辑部分建立了完整的测试套件。其中最大的突破是掌握了边界条件测试方法,发现了3处潜在的业务逻辑缺陷。
2. 敏捷实践的真实体验
3月4日开始的敏捷实践让我首次体验了完整的Scrum流程。我们小组通过Trello看板管理任务,将运维管理系统开发拆分为12个用户故事,完成了3个冲刺周期。虽然初期估算不准确,但通过不断调整,最终冲刺速度提高了40%。
3. 设计模式的实际应用
在3月5日的设计原则实践中,我重构了课程管理系统的通知模块,采用观察者模式解耦了消息发送与接收逻辑,使扩展新通知渠道的时间从原来的2小时缩短至30分钟,同时使相关代码的可测试性显著提高。
4. 全栈协作问题解决
3月7日的技术博客记录了前后端联调过程中的关键问题解决方案,特别是文件上传进度显示和水印生成功能的实现。通过优化axios拦截器和Spring Multipart处理,上传成功率从85%提升至99%,同时解决了大文件上传的内存溢出问题。
三、遇到的典型问题与解决方案
-
测试隔离问题
在编写单元测试时,发现测试用例之间存在依赖关系导致随机失败。通过学习使用@BeforeEach和@AfterEach注解,建立了独立的测试环境,使测试结果稳定性达到100%。 -
用户故事拆分争议
团队对"工单管理"功能的粒度划分产生分歧。通过请教老师和重新梳理用户旅程,最终将其合理拆分为创建、分配、处理、反馈4个独立故事,每个可在1-2天内完成。 -
跨域认证难题
开发运维管理系统时遇到Vue前端与Spring Boot后端的CORS和JWT验证问题。通过配置Spring Security的CORS过滤器和自定义axios请求拦截器,建立了安全可靠的前后端通信机制。 -
性能优化瓶颈
政策搜索功能在数据量增大后响应变慢。通过添加数据库索引、引入缓存机制和优化查询语句三重手段,使查询性能提升8倍,10000条记录的搜索时间从1200ms降至150ms。
四、经验总结与反思
取得的进步
- 建立了完整的质量保障意识,从"只求功能实现"转变为"质量内建"的思维方式
- 掌握了现代前端框架与后端服务的协作开发模式
- 提升了代码设计能力,能够识别并应用适当的设计模式
- 初步具备了敏捷团队的协作经验
存在的不足
- 测试覆盖率仍不理想,特别是UI层和集成测试部分
- 对敏捷估算技术的掌握不够熟练,常出现乐观估计
- 技术决策有时过于理想化,忽略项目时间和资源约束
- 团队沟通效率仍有提升空间,部分会议缺乏有效产出
改进方向
- 学习行为驱动开发(BDD)方法,提升端到端测试能力
- 实践规划扑克等敏捷估算技术,提高任务评估准确性
- 建立技术方案评估矩阵,平衡理想方案与现实约束
- 采用结构化会议方法(如Google Design Sprint)提升团队协作效率
五、下周学习计划
-
深入研究持续集成
计划搭建Jenkins自动化构建管道,实现代码提交触发测试、构建和部署的全流程自动化 -
性能优化专项
针对现有项目的性能瓶颈,学习并应用缓存策略、数据库优化和懒加载技术 -
用户体验提升
研究Material Design规范,优化移动端APP的交互设计和视觉呈现 -
团队流程改进
在小组内试行代码评审制度,建立更规范的质量管控流程
本周的密集学习和实践使我深刻体会到软件工程不仅是技术活,更是需要系统思维和团队协作的系统工程。通过记录和反思,我不仅巩固了技术知识,更培养了工程化的思维方式,这将是未来职业发展中的宝贵财富。

浙公网安备 33010602011771号