收获颇丰的一次美妙代码旅行
一、学期回顾
1.1 回顾对于软件工程课程的想象
在刚接触软件工程课程时,我对它的期待是全面了解软件开发的过程、方法和工具,学习如何从需求分析到代码实现,再到项目的维护和迭代,形成一套系统的思维框架。除此之外,我也希望通过团队协作,模拟实际的开发环境,从中积累实际经验,提升自己在软件开发中的专业性。
我期望了解软件开发全生命周期,包括需求分析、系统设计、编码实现、测试和维护等环节。
希望通过实践学习版本控制工具(如 Git)、敏捷开发方法(如 Scrum)、以及各种现代开发框架。
期望在团队合作中体会角色分工、任务协作和沟通的重要性,模拟真实的工作场景。
希望不仅能完成理论学习,还能通过项目实践将理论应用到真实场景,提升解决问题的能力。
目前所学所练所得的回顾,达到的期待和目标:
在课程中,我学习了软件开发的主要阶段,如需求分析、设计文档编写、编码实现和测试等。尤其在分阶段的课程任务中,每个环节都得到了一定的锻炼,逐渐形成了对软件工程整体流程的认识。
在实践中,我们学习并应用了工具如 Git 进行版本控制和团队协作,体验了实际项目中代码管理的重要性。另外,也了解了一些项目管理工具(如 Jira 或 Trello),对敏捷开发有了初步的认识。
团队合作体验
在小组项目中,通过角色分工(如产品经理、开发人员、测试人员),我更好地理解了团队合作的重要性,同时也提高了沟通和协作的能力。这部分让我感受到一个项目并非单靠个人努力就能完成,而是需要团队的协调和共同努力。
解决实际问题的能力提升
课程项目,从需求到设计再到实现的完整流程,让我能够将理论应用于实践中。在问题排查和代码调试中,我逐步掌握了一些解决实际问题的技巧,比如如何优化代码、如何设计合理的系统架构等。
不足之处和改进方向:
理论与实践的结合还不够深入,尽管学习了软件工程的理论知识,但在项目实践中,如何更高效地将理论应用到实际开发中还存在困难。例如,需求分析阶段容易忽略细节,导致后续开发中频繁修改需求。
改进方向:需要更多练习需求分析和设计环节,尤其是学习如何从用户需求中提炼出可实现的功能点。测试能力薄弱。
1.2 回顾你在这门课程中的投入与产出
在软工实践课程当中我编写了( n)行代码。
在团队项目中我参与了( 福小旅 )的设计与开发,我在其中所承担的角色是连接api接口以及少量前端页面。
软工实践的各次作业分别花费的时间:
各次作业花费的时间统计:
作业 | 花费时间 |
---|---|
第一次个人作业 | 10h |
第二次个人作业 | 12h |
第一次结对作业 | 16h |
第二次结对作业 | 16h |
第一次团队作业 | 16h |
第二次团队作业 | 16h |
现场编程作业 | 8h |
总时间统计
时间 | 累计时间 | 实际周均时间 | 预计周均时间 |
---|---|---|---|
软件工程课程总耗时 | 136 小时 | 9.7 小时/周 | 8 小时/周 |
1.3 令你印象最深刻的是哪一次作业或哪一场答辩?为什么这次作业或这场答辩令你印象深刻?
最后一次团队作业答辩,这次作业答辩与我的队友一起sale软件,非常紧张,富有团队荣誉感!
二、总结收获
2.1 展开说说你的软工实践故事
个人编程:在个人作业中,我的任务是独立完成一个小型功能模块的开发。这一阶段让我学会了如何从需求中提炼核心功能,并通过迭代优化代码质量。例如,在第一次个人作业中,我编写了一个简单的任务管理工具,虽然功能实现基本完整,但缺乏合理的错误处理机制。在后续的优化中,我学习了异常处理的最佳实践,并对代码进行了重构。这让我明白,软件开发不仅是完成功能,更是追求代码的鲁棒性和可维护性。
结对编程:学会了如何与同学合作进行编程,相互探索原型以及原型如何实现,非常有意义。
现场编程:在现场感受时间压力下的编程任务,十分有趣和富有挑战性。
团队项目实践中的经验总结:我负责福小旅的api连接一部分以及一部分前端页面,学习了许多新知识。
2.2 学习到的新技术或生产力工具
-
Axure
软件原型开发工具,可以通过内置的组件设计软件原型。 -
HBuilder X
软件开发工具,支持多平台编程,能够较系统和方便地完成程序的编写。 -
GitHub Desktop
团队编程工具,可以实时更新团队的编程内容并进行版本管理和汇总。
2.3软件工程除了技术还给我带来的提升
-
系统化的思维方式
学会从全局的角度看待问题,逐步掌握从需求分析到设计、开发、测试和维护的完整流程,形成了更有条理和结构化的思维习惯。 -
团队协作能力
通过结对编程和团队项目,我学会了如何与他人有效沟通、分工合作,以及在团队中处理分歧和解决问题的能力。 -
时间管理能力
多次作业和团队冲刺的压力让我学会了如何高效分配时间,明确优先级,按时完成任务,提升了对时间的掌控能力。 -
抗压能力
在面对现场编程或团队项目的紧张进度时,学会了如何在高压环境下保持冷静,集中精力完成任务。 -
文档写作能力
在需求文档、设计文档和测试报告的编写过程中,我提升了对专业文档的表达和逻辑整理能力,更能清晰地传达信息。 -
问题解决能力
遇到实际开发中的技术难题,学会了如何分析问题、查找资料,并通过调试和优化解决问题。 -
对职业发展的启发
通过这门课程,我更清楚地认识到自己的兴趣点和未来职业方向,对软件工程师的实际工作有了更深刻的理解。
三、致谢
1. 团队成员
在团队项目中,我的队友们一直给予我支持和帮助。在完成团队项目的Beta 冲刺阶段时,我们遇到了一个严重的问题。当时我们已经接近截止日期,压力很大。但队友们并没有埋怨,而是一起讨论问题,从算法逻辑到数据处理一步步排查,最终找到了解决办法。当问题被解决时,我们都松了一口气,那种团队齐心协力克服困难的感觉让我终生难忘。
2. 课程老师
老师在课程中不仅教会了我们软件工程的理论知识,还通过实际案例和作业设计让我们亲身体验到了工程实践的挑战。
3. 结对编程的伙伴
在完成结对作业时,我的编程搭档是一个特别耐心的人。一直积极沟通帮助我!
最后想对大家说的话:
"感谢一路相伴,无论是老师、队友还是伙伴,正是有了你们,这门课程才变得充实而难忘。希望我们都能在未来的学习和工作中创造更多精彩的故事!"