这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315 |
这个作业的目标 | 总结软工实践整个过程 |
学号 | 102202154 |
一、学期回顾
1.1 回顾你对于软件工程课程的想象
软件工程,在我对这门课程的想象中,它不仅仅是理论与实践的结合,更是创新思维与严谨态度的碰撞。
在踏入软件工程课程开始,我揣着对软件开发流程、代码编写、团队协作以及项目管理的深切期待。我希望通过这门课程,能够系统地学习如何运用软件工程的方法,将复杂的问题拆解为可管理的模块。同时,我也期待能够掌握一些先进的开发工具和技术,以提升自己的开发效率和代码质量。
经过alpha冲刺、beta冲刺的学习与实践,我在多个方面取得了显著的进步。在软件开发流程方面,我深入了解了需求分析、设计、编码、测试以及维护等各个阶段的任务和要点。此外,在团队协作方面,我也学会了如何与团队成员有效沟通,共同解决问题,以及如何在团队中发挥自己的优势,为项目的成功贡献力量。
然而,在学习的过程中,我也发现了自己的一些不足之处。首先,在项目管理方面,我虽然在理论上有所了解,但在实际操作中仍然缺乏足够的经验,导致在项目进度控制和风险管理上存在一定的困难。
总的来说,软件工程课程让我在实践中不断积累经验、提升技能。虽然我在某些方面还存在不足,但我相信通过不断的学习和实践,我一定能够克服这些困难。未来,我将继续努力提升自己的专业素养和实践能力。
1.2 回顾你在这门课程中的投入与产出
-
在软工实践课程当中我编写了(1500)行代码。
-
在团队项目中我参与了( Eznote)的设计与开发,我在其中承担的后端设计。
-
软工实践的各次作业分别花费的时间:
作业 | 花费时间 |
第一次个人作业 | 6个小时 |
第二次个人作业 | 24个小时 |
第一次结对作业 | 7小时 |
第二次结对作业 | 34个小时 |
第一次团队作业 | 7个小时 |
第二次团队作业 | 67个小时 |
现场编程作业 | 3个小时 |
团队作业beta冲刺 | 41个小时 |
- 在软件工程课程上花费的时间
累计时间 | 实际周均时间 | 预计周均时间 |
181小时X(h) | 18小时X(h) | 10小时X(h) |
1.3 令你印象最深刻的是哪一次作业或哪一场答辩?为什么这次作业或这场答辩令你印象深刻?
令我印象最深刻的是现场编程作业。这次的现场团队编程对我们来说是一次比较大的挑战,以下是我们认为收获最大的三个事件:
一、接口设计与定义的讨论补救
由于项目初期讨论不足,导致前后端的接口设计不够明确,埋下了后续 Bug 的隐患。后期我们投入大量时间重新审视接口定义,梳理数据格式、字段命名和响应结构,甚至一度引发争论。经过反复沟通,我们决定使用统一的接口管理工具来规范接口定义,并制定了统一的命名和数据格式标准。这次补救让我们深刻意识到,充分的初期讨论和标准化接口管理工具对避免项目混乱至关重要。
二、前后端交互 Bug 排查与修复
由于前期接口定义不清晰,导致前后端数据交互出现频繁的 Bug,尤其在数据格式和结构方面不一致。
我们花费大量时间逐步排查、分析日志、进行数据验证,最终找出问题所在。这一过程强化了我们对调试流程和工具的掌握,也让我们明白,在开发前期进行全面、准确的接口定义是减少交互错误的关键。
三、代码复审与优化
为了解决前期问题带来的代码冗余和结构混乱,我们在后期进行了一次彻底的代码复审。团队花费大量时间对代码结构、命名规范和功能实现进行了详尽讨论和优化。复审不仅纠正了潜在 Bug,还大幅提升了代码的可读性和性能。这次复审让我们认识到,代码的清晰结构和规范的编码习惯可以显著提升开发质量,并为后续的团队项目提供了宝贵的经验。
二、总结收获
2.1 展开说说你的软工实践故事
- 首先是个人编程,在这种模式下,我学会了如何高效地利用时间、如何调试代码以及如何保持代码的可读性和可维护性。在开发一个简单的类似于“羊了个羊”消除类游戏时,我遇到了很多的问题。为了解决这些问题,我花费了大量时间研究解决问题的处理技巧。这个过程不仅锻炼了我的编程技能,还让我深刻体会到了自我学习和解决问题的重要性。然后就是结对编程,我和我的搭档设计了一个跨域交流平台既可以解决我的需求,也可以解决其他同学的困扰。在建模初期,我和我的搭档深入探讨了跨域交流的核心需求,包括创建项目、个人信息的管理、实时沟通交流等多方面的挑战。总之,这次跨域交流平台原型设计模型项目是一次宝贵的经历。它不仅让我在专业技能和团队协作能力上得到了提升,也让我在创新思维和用户导向思维方面有了更深刻的认识和体会。最后就是团队编程,在本次团队项目实践过程中,我不仅掌握了软件开发的核心技术和方法,还学会了如何与团队成员有效沟通和协作。我相信,这次经历将对我未来的学习和工作产生深远的影响。
2.2 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的帮助?
-
墨刀:一款在线原型设计与协同工具,具有丰富的功能,简单拖拽就可实现页面跳转,用户还可通过交互面板实现复杂交互,多种手势和转场效果,能够实现一个媲美真实产品体验的原型。
-
Github:是一个基于Web的版本控制和协作平台,专门为软件开发设计.GitHub促进了开发者之间的协作。通过“拉取请求”(Pull Request)的机制,开发者可以请求其他人审核和讨论代码变更,然后将这些更改合并到主分支中。此外,GitHub还支持问题跟踪(Issues)、代码审查等功能,进一步加强项目协作。
2.3 技术之外,这门课程还给你带来了哪些方面的提升?
- 需求分析:在软件工程项目中,准确理解并把握用户需求是至关重要的。我学会了如何进行需求分析、制定项目计划和时间表,以确保项目能够按时、按质完成。
- 沟通能力:在软件工程项目中,团队成员之间的有效沟通至关重要。我学会了如何清晰、准确地表达自己的观点和想法,同时也学会了倾听他人的意见和建议,以促进团队内部的和谐与协作。
2.4 如果还有什么想记录的或者想说的,就写在这儿吧!
- 学软工 感觉和学了三个专业课一样的感受。
三、致谢
- 我要感谢我的团队成员。我们一同面对了无数技术挑战,共同熬过了无数个加班的夜晚。正是凭借着大家的团结协作、相互激励,我们才能克服重重困难,最终将这个项目从概念变为现实。这段经历不仅加深了我们之间的友谊,更让我们学会了如何在团队中发挥自己的长处,共同成就一番事业。作为一名来自宁夏的访学生,很荣幸有机会到贵校体验访学,第一次感受到了学校教学模式的不同,我来这边感觉压力倍增,老师授课的方式、学习的方法、教学的模式,都发生的巨大的变大。再次感谢所有给予我帮助和支持的人,你们的付出让我更加坚定地走在这条充满挑战与机遇的软件工程之路上。终于熬到头了,拜拜嘞,软工!!!