这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315 |
这个作业的目标 | 总结软件工程这门课程,并且写下课程过程中的心得体会和经验总结 |
学号 | 112200629 |
一、学期回顾
1.1 回顾你对于软件工程课程的想象
在学期初,我对软件工程的认识还相当模糊,但内心却充满了对这门课程的期待。随着课程的深入和实践的积累,我不仅获得了显著的进步,也对软件工程有了更深刻的理解。
在理论课程的学习中,我接触到了软件工程的多个方面的知识,包括各种软件开发过程模型、需求分析、统一建模语言UML、软件设计、软件测试、项目管理以及风险管理等。这些知识让我对软件工程的重要性有了全新的认识,并且对这些理论知识有了更加深刻的理解和掌握。
实践课程更是让我将理论知识转化为实际操作,体验了从个人编程到结对编程、现场编程、再到团队编程等多种开发模式。这对于之前的编程经验主要是做算法题的我来说,是一次全新的挑战和体验。通过这些实践,我感觉自己离成为一名真正的软件工程师更近了一步。
在团队协作方面,我也有了很大的提升。我们小组负责开发“云译网”项目,在这一过程中,我们完成了目标用户群体的确定、功能需求分析、杀手级功能讨论,以及编码、部署和测试等一系列工作。每个环节都让我对软件开发流程有了更深入的理解和认识。同时,我也在编程能力和实践技能上得到了提升,更重要的是,我学会了如何与团队成员进行有效沟通、分工合作、互相帮助以及共同协作。
然而,在软件工程的实践过程中,我也意识到自己还存在一些不足。例如,在讨论“云译网”项目的杀手级功能时,我发现自己并没有提出太多有价值的想法。这反映出我在对目标用户特点和需求的深刻理解上还有所欠缺,因此在需求分析这一领域,我还需要进一步地学习和提高。
1.2 回顾你在这门课程中的投入与产出
在软工实践课程当中我大概编写了3000行代码。
在团队项目中,我参与了 “云译网” 的设计与开发,我在其中所承担的角色主要是后端开发和前后端接口的对接使用。
软工实践的各次作业分别花费的时间
作业 | 花费时间 |
---|---|
第一次个人作业 | 2h |
第二次个人作业 | 21h |
第一次结对作业 | 16.5h |
第二次结对作业 | 75h |
第一次团队作业 | 5h |
第二次团队作业 | 22h |
现场编程作业 | 3h |
团队作业alpha冲刺 | 34h |
团队作业beta冲刺 | 42h |
在软件工程课程上花费的时间
累计时间 | 实际周均时间 | 预计周均时间 |
---|---|---|
220.5h | 18.375h | 12h |
1.3 令你印象最深刻的是哪一次作业或哪一场答辩?为什么这次作业或这场答辩令你印象深刻?
令我印象最深的是第一次团队作业的答辩。我对此印象最深是因为这次作业与需求分析有关,而我之前没有做过需求分析的相关工作。此外,这次作业我也制作了PPT并答辩。那次的经历让我认识到需求分析的重要性,也提升了我的团队协作、沟通交流和表达能力。
二、总结收获
2.1 展开说说你的软工实践故事
在软工实践的过程中,我学习到了不少新的技术和新知识,提升了我的能力,受益匪浅。
在第二次个人作业中,我学习了pygame的相关知识并编写了一个“羊了个羊”小游戏,对AIGC工具的使用也更为熟练。我在游戏的开发中完成了排行榜、撤回、难度设计、关卡通过和失败的设计等内容,提高了代码能力。
在结对编程作业中,我学习了墨刀的使用,完成了如登录界面、首页、项目详情、个人主页、备忘录等界面的原型设计,对原型设计有了更深刻的理解。而设计的原型也在一定程度上提高了之后开发的效率。在具体的编码过程中,我主要完成了微信小程序前端界面的开发,学习了微信小程序开发和前端开发的相关知识。
现场编程对我来说也是一次全新的体验和挑战,因为时间十分紧迫,而且需要综合考虑队员们的技能和特长,确定好技术框架,并分配好任务和分工。每个团队成员写好各自的代码后各模块的集成也是一大挑战。团队现场编程是一次宝贵的体验,不仅提升了我的技术能力,还提升了我与团队成员之间的沟通和协作能力。
在团队作业中,我们小组做的是“云译网” ,我们共同讨论并确定了功能需求。在开发中,我主要负责即时翻译、图片翻译、文档翻译以及查询翻译记录等的后端编写。在这一过程中,我学习并使用了flask框架、paddleocr、数据库等等。beta冲刺对我来说也是一大挑战。beta冲刺我们主要完成的是对自己代码的一些修改和改进,以及更重要的是前后端对接以及部署。刚开始时尽管我与对接的前端成员在双方单独测试都能通过,但在对接上还是出现了一些问题,经过沟通和修改后成功解决这个问题。此外,我还与前端同学讨论了接口返回的数据结构的修改,使其更符合需求。beta冲刺是一次宝贵的体验,不仅提升了我的技术能力,还提升了我与团队成员之间的沟通和协作能力。
总的来说,我在软工实践的过程中学习到了不少新的知识和技术,巩固了理论课上学习到的知识并运用到实践中,对软件工程有了更深的理解,提高了学习能力、编程能力和团队沟通与协作能力,受益匪浅。
2.2 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的帮助?
1.墨刀:完成原型设计的工具。可以帮助我们完成高质量的软件原型设计,对于之后关于前端界面的编码也有巨大的帮助。
2.微信小程序开发:在结对编程、现场编程中,我都接触了微信小程序开发的知识并完成了相应的开发工作。我对微信小程序前端的编写和前后端衔接都有了更深刻的理解,提升了编程能力。
3.apifox:完成api文档的编写和测试工作,极大的方便了测试工作以及前后端的协作工作。
4.AI辅助编码:利用AI确实可以较大地提高编程效率,AI也可以提供一些建议和参考。
5.pygame:学习了使用pygame编写小游戏。
6.paddleocr:因为团队作业做的“云译网”需要完成图片翻译工作,我学习了paddleocr的使用。
7.飞书:使用飞书进行团队协作和沟通和任务进度记录,方便协调任务进度,提高了团队的协作和沟通效率。
2.3 技术之外,这门课程还给你带来了哪些方面的提升?
1.团队协作和交流沟通能力:在这门课程中,尤其是通过现场编程和团队作业,我提升了团队协作、交流沟通等能力。
2.工作效率:我提升了协调安排好各项工作,提高工作效率的能力。
3.学习能力:在软工实践中,我学习了一些新知识和新技术,使用了一些之前没用过的工具,提升了我的学习能力和实践能力。
2.4 如果还有什么想记录的或者想说的,就写在这儿吧!
这门课程对于提升我们的能力是很有帮助的,可以让我们离成为一个合格的软件工程师更进一步。在课程实践中我收获了不少经验,也认识到了需求分析、原型设计等等的重要性。在之后的学习和实践中,我也要继续提升自己的编程能力和综合能力,在软件开发时也能更好地运用软工课程中学习到的知识。
三、致谢
感谢上课的老师们和同组的队友们。
标签:总结,个人,软工,编程,作业,学习,课程,团队 From: https://www.cnblogs.com/Actung/p/18636759