这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315 |
这个作业的目标 | 总结回顾这一学期的收获 |
学号 | 052101418 |
一、学期回顾
在这学期的软工实践课程中,我经历了诸多挑战,也收获了宝贵的经验。从最初的对SE——软件工程这个词的设想,到如今的收获满满,每一步都充满了成长和感悟。回顾这一学期,我想用“遇到困难说明你要进步了”这一句话来总结这一段旅程。
1.1 初见SE👋
学软件工程,你不知道他的缩写SE就完蛋了——来自我的理论课考试名词解释。
刚开始接触软件工程时,我对这门课程的理解较为模糊,只知道它应该与可能与规范地开发一个大型项目有关。如今,回头看,课程不仅让我在技术层面有所提升,更让我在与人沟通、团队合作和项目开发流程上有了更深刻的认识。通过实际参与项目开发,我逐步意识到,软件工程不仅仅是编码,更是一项系统化、团队协作的工作。尽管在一些环节上还存在不足,比如时间管理和沟通协调方面,我相信通过这学期的学习,我已取得了相当的进步。
1.2 软工'心血'表❤️
在这学期的软工实践课程中,我编写了 约3500 行代码,参与了 个人项目以及团队项目 的设计与开发,担任了 后端开发与数据库设计 的角色,同时负责团队项目——EZnote最后的测试检查和部署。通过与团队成员的紧密合作,我们顺利完成了项目的开发,并且达到了预期目标。
软工实践的各次作业分别花费的时间:
作业 | 花费时间 |
---|---|
第一次个人作业 | 10小时 |
第二次个人作业 | 24小时 |
第一次结对作业 | 20小时 |
第二次结对作业 | 48小时 |
第一次团队作业 | 30小时 |
第二次团队作业 | 32小时 |
现场编程作业 | 5小时 |
团队作业beta冲刺 | 32小时 |
在软件工程课程上花费的时间
累计时间 (小时) | 实际周均时间 (小时) | 预计周均时间 (小时) |
---|---|---|
201小时 | 约11.2小时 | 9小时 |
1.3 印象最深的'折磨'(温度和血压最高的一集——部署🌡️
本来觉得项目已经完成,并且能够在本地运行,部署的事几个命令应该就能够解决。但是部署这项工作却占了我beta冲刺过一半的时间。nginx反向代理,pip依赖问题冲突,缺少依赖,甚至前后端访问跨域等等问题都让我的温度飙升。
特别是最后前后端都能正确在阿里云服务器上部署却联调不上,排查问题快排查了我一个下午➕晚上的时间...,最后打开浏览器开发者工具inspect发现是跨域问题,我要化身😈了。
最后发现要在django里配置一下ALLOWED_HOSTS,然后修改前端访问的ip,同时要在阿里云服务器的安全组里开放后端服务的端口访问,然后就能够访问了。短短的几个流程,排查错误却花了我将近半天的时间。真是非常的痛苦~😣
🎉当然,最后结果是好的,成功部署了网站并且核心功能都正常,欢迎访问我们的团队项目http://47.122.50.115
二、总结收获
2.1 我的软工实践来时路
在这学期的软工实践中,我的来时路分为:
个人编程阶段
首先,我利用AIGC工具生成了自己的专属logo,本意是提醒自己远离拖延症,做一个事事有回应,件件有回响的人。(虽然logo效果好像没有很好🤔
此外,我学习了如何快速编写和调试代码,如何解决一些基本的技术难题。通过仿羊了个羊小游戏R了个R的编写,我逐渐提高了自己的编码能力。
R了个R消除小游戏主界面
结对编程阶段
这个阶段中需要与他人结对编程让我深刻体会到了团队协作的重要性。在这个过程中,我学会了如何与队友有效沟通,如何根据需求进行模块分工。
小蓝书app首页
现场编程阶段
这次任务让我体会到了在短时间内解决问题的压力,特别是Git协作前后端对接部分,手忙脚乱的我们连后端接口都没测试就和前端对接,结果当然是不知道为题来源,返工。同时在这次经历后,我建议我的队员们使用接口调试神器Apifox来管理项目,不要让开发过程太混乱。
团队项目阶段
我们团队负责的项目涉及了前后端的合作与协作,这让我了解了项目的全貌,从需求分析到代码实现,再到测试和部署,每一个环节都需要所有团队成员密切配合,才能确保团队项目的顺利完成。
最好的笔记学习网站——EZnote!🎉
2.2 我的好帮手🔨
- Git:在版本控制和多人协作方面,我学会了如何使用 Git 进行代码管理,尤其是如何进行分支操作和解决合并冲突。 虽然Git刚上手是折磨人的,了解多了就发现其实没有Git会更坐牢(。
- Django:通过在团队项目中的实践,我深入了解了 Django 的框架,学习了如何进行后端开发,尤其是在数据库设计和 API 接口的编写上取得了进展。
最重要的是,Django拥有最适配,最好用的宣传语,'perfectionists with deadlines'.😌。(bushi
- Nginx:通过nginx反向代理,成功将服务器ip:80端口的请求代理到本地127.0.0.1的前端服务端口地址。
- Apifox:我们使用 apifox 进行项目管理和接口测试,这样的话后端在和前端联调前就可以先测试接口有没有问题,从而确定问题来源。
2.3 能力进阶,next level!🧑💻
-
心态方面: :在软件工程实践过程中,让我有了一个良好不破防的心态。特别是在面对现场编程和项目部署时,已经锤炼了我的心态。💪
-
沟通与协作能力:通过与结对编程队友、团队成员的协作,我在过程中提升了自己在团队中的沟通能力,同时认识到了沟通是最重要的一环,比如最经典的有什么问题解决不了拉个会。(
-
项目管理能力:在参与项目管理的过程中,我学会了如何合理安排任务,如何在有限的时间内高效完成项目,没错,这就是DDL Killer😈。
-
时间管理和抗压能力:面对紧张的项目进度(特别是现场编程和最后部署),我学会了如何在巨大的压力下保持冷静,如何合理分配时间并优先处理最重要、最紧迫的任务。
2.4 最后的留言👀
这门课程让我从技术、管理到心态都得到了提升,也让我对软件开发的各个环节有了更全面的认识。我相信这些经验将在未来的职业生涯中发挥巨大的作用。
三、致谢👋
非常感谢我们旺仔🥟队的成员们,能够熬同一个夜受同样的苦,最后合力完成一个不错的项目(当然也一起收获了很多)。
在此之中,我要特别感谢我们项目的组长,在整个软件过程中,她真的很负责,也会积极地沟通,合理的安排组员,消息回复也很快。在后期团队项目很多时候能看她熬夜到深夜 🌙。
印象最深的是第一次项目需求分析给每人打印了一份项目需求说明,那时候我就感觉这个组长选对了。看到她整个过程的参与和协调让我感觉到还好我不是组长,不然我感觉我会直接白蓝。(
此外,我要特别感谢软件工程这门课的张栋老师、吴越钟老师,还有助教们,感谢老师们的付出,想出了很多有趣的idea💡,比如仿羊了个羊小游戏,结合LLM的实用项目这些想法,让我切实体验到软件工程和现实生活的紧密性,也帮助我提升了自己。
在最后,我也想对未来会上的学弟学妹们说一句话:无论遇到多大的困难,记住团队合作和持续学习是解决问题的钥匙。希望你们在未来的软工实践中,也能收获满满,成就自我。还是那句话,'当你遇到困难时,说明你要进步了'。