风继续吹

news/2025/1/5 5:39:54/文章来源:https://www.cnblogs.com/fzu-ljs/p/18642431

风继续吹

一、学期回顾

1.1 回顾你对于软件工程课程的想象

在学期初,我对软件工程课程没多少了解,觉得它应该和之前的部分课程一样,老师讲解一些编程语法然后布置作业,后期周末去实验室编程完成实验,期末再复习一下这门课编写代码作答题目这门课也就过去了。但实际上的软工有很大不同,老师不会再给你讲解代码,只是告诉你一些需要使用到的代码语言和工具,让你自行摸索完成编程,老师布置的作业也不仅仅只是代码了,其中融合了许多理论知识,让我们的行动都建立在经过检验的有效方法上,我们的编程工作具体完成思路也从随心所欲转变为有迹可循。后期的实践课比起编程,更多的是我们的软件成果展示。期末考试的内容也基本不会涉及代码。与我的预想相反,软件工程最看重的并非编程实现能力,而是当我们拿到一个项目之后,如何以性价比最高的方式对其进行开发,由于现代软件功能之庞大复杂,一个人完成一个比较有价值的软件已经不太现实,我们需要从个人主义中脱落出来,回归到整个团队的考量之中,思考团队应该如何运作以提高效益、降低风险。

1.2 回顾你在这门课程中的投入与产出

在软工实践课程中,我编写了约7000行代码。在团队项目中,我参与了“剑来”的开发,承担了后端设计开发的角色。从第二次个人作业的小游戏编程开始,编程作业难度步步提高,几乎每一次的编程作业都是我以前所从未接触实践过的。这也就意味着我每一次完成编程作业都是从零开始,了解题目->搜索资料->初步尝试->修改完善->最终结果,这一过程与我而言在一开始是十分痛苦的,光准备工作就需要我投入不少的精力,而且前期的投入工作还未必对后续编程工作产生作用(实际编程与想象中不同,方向有误),过程漫长且正反馈少是痛苦的根源。有时候代码写着写着,错误频出,找不到bug在哪,是什么原因,我也就产生放弃的念头,不想再去完善代码了。但所幸每次经过一段时间的休息,我又能够重新投入精力到项目中去了,就这样反反复复项目就完成了。越到后期,我也就越习惯了,我的抗压能力以及对项目的耐心程度都有了极大的提高。当仿“羊了个羊”成功运行时,我的内心是满足而放松的。项目合作平台是我日夜赶工的铁证,而剑来,则是团队齐心协力的灿烂成果。它们都将永远被铭记于心中,随时间愈发光亮。

软工实践的各次作业分别花费的时间:

作业 花费时间
第一次个人作业 5小时
第二次个人作业 15小时
第一次结对作业 20小时
第二次结对作业 40小时
第一次团队作业 30小时
第二次团队作业 40小时
现场编程作业 10小时
团队作业beta冲刺 50小时

在软件工程课程上花费的时间:

累计时间 实际周均时间 预计周均时间
210小时 14小时 10小时

1.3 令你印象最深刻的是哪一次作业或哪一场答辩?

令我印象最深刻的是第二次结对作业,那时的我还尚未理解何为前端,何为后端,不理解何为服务端,何为客户端,不理解如何搭建数据库,使用数据库,不理解如何搭建网站等等。可以毫不夸张地说,第二次结对作业对于那时的我而言是一场噩梦,慌张而又不知所措。我带着未知的恐惧逐一对作业上提及的编程语言和工具进行了解。于是我便担任了后端的工作,框架已经设计好了,一个个代码文件初步编写完成。但由于是毫无经验的首次网页开发,bug层出不穷,我一遍遍地运行->开发者工具->将错误发给ChatGPT->修改代码->错误依然存在->再次运行,循环往复不知道多少遍。我依然记得,在国庆假期10月2日起,我就没有再出过门,每天都在重复着睡觉,吃饭,洗漱,写作业这几样事。有时候ChatGPT用多了模型使用受限,回答效果不好,然后就又得等几个小时才能继续。国庆假期只有我一个人在宿舍,其他舍友都回家了,我好像成了无情而烦恼的机器人,不说话,只是一味坐在椅子上,电脑前,也不知道疲倦,常常熬到深夜,甚至通宵,第二天两眼一睁又是干。从那次我学到了很多,我开始理解程序员的工作,开始理解现实中的编程是怎样的了。

二、总结收获

2.1 展开说说你的软工实践故事

第二次结对作业中,队友意外发烧,我只能为她完成部分本来属于她的工作,实际情况似乎总不能与计划一致。团队实践中,组长总是会投喂我们,让原本疲惫的身心有了一些放松。现场编程中,我们原本已经完成了一个记账功能,但最终由于过于匆忙导致版本运行错乱,功能展示时未能成功,事后重新运行却发现功能能够正常使用,但已经错过了。这些种种都说明我们是人,是普通人,总有一些意料之外的事情发生,但也许我们不应为此懊恼,而应为此庆幸,庆幸经验的积累,庆幸对软件工程有了新的认识。

2.2 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的帮助?

  1. Git
    Git是我在这门课中最早接触到的工具之一。通过Git,我学会了如何进行版本控制,管理代码的变更历史,以及如何与队友协作开发。Git的分支功能让我能够在开发新功能时不影响主代码的稳定性,而Pull Request的机制也让代码审查变得更加规范。可以说,Git是我在团队项目中不可或缺的工具。

  2. GitHub
    GitHub作为Git的远程仓库平台,为我们的团队项目提供了极大的便利。通过GitHub,我们能够轻松地共享代码、管理任务、跟踪问题,并进行代码审查。GitHub的Issue和Project功能帮助我们更好地规划任务和分配工作,而CI/CD集成也让我们的代码能够自动构建和测试,大大提高了开发效率。

  3. 云服务器
    在团队项目中,我们使用了云服务器(如阿里云、腾讯云等)来部署我们的应用。通过云服务器,我们能够快速搭建开发环境,并进行远程协作。云服务器的弹性扩展能力也让我们能够轻松应对流量高峰,确保应用的稳定性。此外,云服务器还提供了丰富的监控和日志功能,帮助我们快速定位和解决问题。

  4. 墨刀
    墨刀是一款原型设计工具,在团队项目的需求分析和设计阶段,我们使用墨刀来快速搭建产品原型。通过墨刀,我们能够直观地展示产品的界面和交互流程,方便与队友和用户进行沟通和反馈。墨刀的拖拽式设计和丰富的组件库让我们能够快速完成原型设计,节省了大量的时间和精力。此外,墨刀还支持多人协作,让我们能够同时编辑和评论原型,进一步提高了团队的工作效率。

  5. Jest
    Jest是一个JavaScript测试框架,我们在前端开发中使用Jest来编写单元测试和集成测试。通过Jest,我们能够确保代码的每个模块都能按照预期工作,减少了Bug的出现。Jest的自动化测试功能让我们能够在每次代码变更后快速运行测试,确保代码的稳定性。此外,Jest还提供了丰富的断言和Mock功能,让我们能够轻松地模拟复杂的测试场景。


2.3 技术之外,这门课程还给你带来了哪些方面的提升?

  • 沟通能力:在与队友和老师的交流中,我的沟通能力得到了显著提升。
  • 时间管理:通过多次项目的实践,我学会了如何更好地管理时间,合理安排任务。
  • 抗压能力:在面对项目压力和挑战时,我学会了如何保持冷静并高效解决问题。

2.4 如果还有什么想记录的或者想说的,就写在这儿吧!

这门课让我对于计算机世界有了一个全新的认知,让我对于未来的工作有了初步的想象,也许从这门课开始,我才算真正地踏入了通往计算机世界的大门,这门课很忙,但忙得有价值。由衷感谢软件工程,我真切地感觉到了成长。我的个人总结不多,但都是肺腑之言。

三、致谢

感谢所有与我协作的人

首先,我要感谢我的队友们。在团队项目中,我们共同面对挑战,互相支持,最终完成了项目。

感谢所有给予我帮助的人

其次,我要感谢那些在课程中给予我帮助的同学和朋友。无论是结对编程中的搭档,还是在我遇到技术难题时伸出援手的同学,你们的支持和鼓励让我在困难中找到了前进的动力。

感谢老师和助教

最后,我要特别感谢老师和助教,你们为我们的作业付出了大量的努力。

四、永远的银河战舰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/861572.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初识Spring -2024/12/30

Spring优点Spring FrameworkCore Container:核心容器 AOP:面向切面编程 Aspects: AOP思想实现 Data Access :数据访问 Data Integration: 数据集成IoC,IoC容器,Bean,DI导入依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring…

【Leetcode】链表

链表 160. 相交链表 206. 反转链表 234. 回文链表 141. 环形链表 142. 环形链表 II 21. 合并两个有序链表 2. 两数相加 19. 删除链表的倒数第 N 个结点 25. K 个一组翻转链表 138. 随机链表的复制 148. 排序链表 23. 合并 K 个升序链表 146. LRU 缓存 160. 相交链表 方法一:模…

The end-软工实践之旅

一、学期回顾 1.1 回顾你对于软件工程课程的想象 在学期初,我眼中的软件工程课程是一门教大家如何从零开始开发软件,实际上大部分知识都需要自己学习掌握,软工课着重系统地学习软件开发流程,掌握从需求分析、设计、编码到测试的全套本领,雕琢出实用且受欢迎的软件作品。 如…

‍禁止蕉绿——软件工程个人总结

这个作业属于哪个课程 软件工程这个作业要求在哪里 软件工程2024秋——个人总结作业这个作业的目标 学期总结学号 102202150🙅‍禁止焦虑——2024秋软工实践个人总结博客 一、🎞️学期回顾🎞️ 1.1 💭回顾你对于软件工程课程的想象💭 刚开始我对软件工程的理解只局限…

《计算机组成及汇编语言原理》阅读笔记:p133-p159

《计算机组成及汇编语言原理》学习第 11 天,p133-p159 总结,总计 27 页。 一、技术总结 1.segment (1)定义 Broadly speaking, a contiguous section of memory. More specifically, a section of memory referenced by one of the segment registers of the 80x86 family.…

并非银河战舰,皮划艇也能启航

目录标题一、学期回顾1.1 回顾对软工课程的想象1.2 回顾在这门课程中的投入与产出1.3 最印象深刻的答辩二、总结收获2.1 自己的人月神话2.2 学习到的新技术和生产力工具2.3 除了技术之外,还得到了哪些提升2.4 对下一届实践的建议三、致谢这个作业属于哪个课程 https://edu.cnb…

GitHub Copilot免费上线!快速上手指南与功能解析

GitHub Copilot在12月宣布免费订阅,不再限制学生和开源项目的维护者了,对于习惯白嫖的开发者来说无疑多了一个选择。 价格和功能 免费版目前可以选择Claude 3.5 Sonnet或GPT-4o模型,每月可以调用 2000 次生成和补全代码,以及 50 次聊天信息。快速开始注册一个GIthub账号 VS…

C#/.NET/.NET Core技术前沿周刊 | 第 19 期(2024年12.23-12.29)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等…

Notepad – – (文本编辑器) v3.0.0 官方版

这是一个使用C++编写的文本编辑器Notepad- -,可以支持Win/Linux/Mac平台。 我们的目标是要替换Notepad++,重点在国产Uos系统、Mac 系统上发展。 一个支持windows/linux/mac的文本编辑器,目标是要替换notepad++,来自中国。 对比Notepad++而言,我们的优势是可以跨平台,支持l…

【Node.js编程】实现GETPOST请求

创建基本的服务器 const express = require(express); const indexRouter = require(./router); // 引入路由 const app = express(); const port = 3000; // 挂载路由 app.use(/api, indexRouter); app.listen(port, () => {console.log(`Server is running on http://loca…

openEuler RISC-V上磁盘I/O性能测试的IOZone实例

IOZone 是一个广泛使用的文件系统性能基准测试工具,旨在评估磁盘 I/O 性能。它能够测试各种类型的文件操作,包括顺序读写、随机读写、重载(re-write)、读取已写入的数据等。通过这些测试,IOZone 可以帮助用户了解不同文件系统和存储设备的性能特点,从而为选择合适的硬件和…

Android 编译刷机刷入镜像img到手机

前言全局说明一、说明 1.1 环境准备: 下载和手机设备相同的驱动: https://developers.google.com/android/drivers?hl=zh-cn二、安装驱动 下载对应设备驱动后,是 sh 后缀文件,运行,按照提示安装即可。 (如果是虚拟机则不用装驱动,手机则需要)三、编译 3.1 环境生效 sou…