学业之船航海记录——软工篇

news/2025/1/1 11:55:24/文章来源:https://www.cnblogs.com/syylh/p/18639074
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315
这个作业的目标 软工课程总结
学号 102201118

引言

上回说道,我的学业之船已在大学的海洋上行驶了一半的航程,这期间也遇到一些危险情况(遥想那次一个名为大学物理的巨型风暴,卷起的狂风巨浪险些将我这艘单桅帆船吹散架,但最终还是驶出了危险),正当我庆幸又逃过一劫,憧憬未来的风和日丽时,我的占卜师又向我预言:一场名为软件工程的超级风暴又横在我的航线上,看来避无可避。那是一个清朗的夜晚,天上没有一点云,繁星漫天,海风微凉,我驾着小船,向风暴驶去......

一,学期回顾

1.1 对软工的印象

当还未接触软工课程时,我以为软工是从代码层面教我们如何写一个软件,后来发现是从更高的理论层面分析问题。
在开学之前,我先买回了课本,看着像砖头一项厚重的黑皮大书,我对这门课有一点点点畏惧。
经过查询,我知道了软工这门课介绍了编写软件从需求分析、设计、编码到测试及维护等一整套完整的流程,是实际开发软件过程的理论依据,于是我又对这课程有点期待,在此之前,我接触到的编程主要是偏向刷题的小题,没有接触过写出一个可运行软件这种大项目,我想通过这门课学习这方面的知识。
结果这门课程确实达到了我的期待,在几次大作业中,我逐步了解了是如何编写出一个可运行软件的,在编写前期,应该归纳需求,原型设计,项目设计,我初步了解了开发一个软件的流程。
在编程技能学习方面,我也有一些进步。由于在此之前只学习了C和C++,对于前后端开发完全不知道,所以不得不利用课余时间学习,丰富了我的技能,同时,对其他非编程的开发工具,我也有了一些使用经验,如GITHUB,码云,飞书等等。

1.2 投入与产出

  • 编写的代码行数:没计算过,2000+吧
  • 团队作业我参与了行趣的开发,主要担任测试
  • 各次作业花费的时间
任务 花费时间(天数)
第一次个人作业 1
第二次个人作业 3
第一次结对作业 3
第二次结对作业 5
第一次团队作业 6
第二次团对作业 8
现场编程作业 1
团队作业beta冲刺 6
  • 累积花费时间
累积时间 实际周均 预计周均
300 20 15

1.3 印象最深的答辩

对我来说,印象最深的是第一次答辩,因为在此之前,我以为答辩就会想往常的大作业汇报那样,主要是给老师听,当成一个评分标准罢了。但是在那场答辩会上,大家热烈地讨论着,唇枪舌剑,各种观点和灵感迸发,百花齐放,这给我挺大的震撼的,重新思考了组队的意义,通过沟通讨论汇聚智慧,激发思考。

二,总结收获

今已驶出风暴,海面归于平静,在一个风和日丽的下午,我坐在甲板上,晒着暖阳,翻开了写在羊皮纸上的航海日志,回顾这一路的历程。

2.1 航行日志

2.1.1 个人编程————初涉浪端

天色阴沉,大块的黑色乌云像巨石一般悬在头顶,海变成了深灰色,不安地躁动着,像狮子烦躁地用尾巴驱动背上的蚊虫。
通过AI生成个人logo,发布第一篇博客。在此前对博客就早有耳闻,相当于程序猿的日志,但是从来懒得发,希望能够养成写博客的习惯吧。
学习了markdowm的基本语法和GITHUB搭建主页。
有点后悔应该趁前期空闲多的时候好好装饰一下博客主页和背景,看一些同学的博客背景优美,有的还有背景飘雪,音乐之类的装饰。相比之下我的博客就像是毛坯房中间摆了一张床。

通过AI辅助开发一个类似羊了个羊的小游戏,刚接到这个作业的时候,心里一阵恐惧,对怎么开发游戏一点概念都没有,这可怎么办啊。通过不断与ai对话询问,发现果然不简单,AI给的代码总是错的,就算我详细描述了需求,但是给出的代码逻辑还是有问题,不得不自己也开始学习,发现尽量让AI实现较少的功能和较小的代码块,正确率有显著提升。但是还是花费了三天时间,勉强做出来。
经过这次小作业,启发了我看待游戏的另一个视角,之前对于游戏,只是以玩家的视角看,注重游戏内容与画面,好似游戏的那些画面,那些动作时开发公司用“阿巴阿巴”之类的魔法变出来的,没有考虑实现方式。经过这次实践,我发现即使是简单的消除游戏也有背后的一套逻辑,要仔细思考才能想明白,以后我可以从另一个角度看待游戏,思考是如何实现的,背后的代码可能是怎样的逻辑(不知道对于提高游戏水平有没有帮助)。

2.1.2 结对编程————逆浪奋进

我的帆在灰黑的天地之间成了唯一的白,它呼呼作响。大块的雨滴一滴一滴砸了下来,大风吹起一个个浪潮,向我袭卷,第一波攻势开始了。
第二次结对作业是和舍友一起完成的。老师给定了场景,我们需要首先分析需求,然后根据分析报告来实现项目,我们还使用了原型开发工具,画出了原型。
这次作业让我们知道了需求分析的重要性,以往一直因为编码实现是最重要的,忽略了前面的设计和分析任务,其实这些才是最终要的,这些决定了任务的方向与正确性。老师在后面讲评时候,我发现了许多没有考虑到的问题。
这次作业还使用了原型开发工具,我们选用的是墨刀,首先设计出了界面。这让我们对界面设计与原型模式有了更好的认识。期间遇到了一个困难就是墨刀的团队协作要钱,而且限制原型页面数,造成了一些麻烦。

我们还学习了使用画图工具画一些UML图

这是使用微信开发者工具开发的页面

2.1.3 团队编程————搏击骇浪

一道明亮的闪电划破天际,一声炸雷发出了总攻命令,巨浪以排山倒海之势压来,决战,开始了。
团队作业是是十个人组队一起开发,团队有明确的分工,在组长的带领下运作得不错。我属于测试组,在前期也负责画一些UML图,等工作,在测试工作到来前,主要学习测试工具的使用。

我画的图

GITHUB协作记录

测试记录

团队合照

2.2 学习到的工具

  • GITHUB
    它是很好的代码管理工具,团队协作使用虽然有点难度,但还是很好用的。里面很多技术大佬贡献的资源也很有用。学到这个对我帮助很大。
  • 微信开发者工具
    这是结对作业时使用到的,里面自带的云函数工具很好用,省去了自己配置后端服务器的工作,对新手很友好。

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

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

相关文章

这是篇博客

博客:软件工程实践课程回顾与总结 一、学期回顾 1.1 回顾你对于软件工程课程的想象 在学期开始之前,我对软件工程课程的期望在于提升编程能力。我想通过这门课程,能够深入了解软件开发流程中的实际操作,能够自主或协作实现开发出软件产品。 我原以为软件工程会是一个手把手…

苦尽甘来

一、学期回顾 1.1 回顾对于软件工程课程的想象 软件工程(实践者的研究方法)是一门研究如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,并运用计算机科学理论和技术以及工程管理原则和方法,按预算和进度要求开发和维护满足用户要求的软件产品的学科‌。‌在…

【杂谈】Kafka的日志段为什么不用内存映射?

什么是内存映射(Memory-Mapped File)? 内存映射(mmap)是一种将文件内容映射到内存中的技术,应用程序可以像操作内存一样对文件内容进行读写,而不需要显式地进行磁盘 I/O 操作。修改的内容会自动由操作系统同步到磁盘。 内存映射需要读取磁盘文件吗? 需要。毕竟,内存中…

【WEB安全】利用shuji还原webpack打包源码

一、前言二、webpack简介三、怎么确定是webpack打包站点呢四、shuji(周氏)配置4.1 安装nodejs环境4.2 安装shuji工具4.3 .js.map文件存放位置4.4 运行shuji 反编译.js.map文件获取源码4.5 代码审计五、实战记录免责声明 本公众号所分享内容仅用于网络安全技术讨论,切勿用于违…

万兴PDF专家绿色便携版

点击上方蓝字关注我 前言 万兴PDF一款非常实用的国产软件,它就像是一个超级工具箱,里面装满了处理PDF文件的各种工具。你可以用它来新建PDF、修改PDF里的内容、把PDF转成其他格式,还能给PDF签名、压缩大小、合并多个PDF,甚至比较两个PDF文件的不同。 这款软件的中文版设计得…

2024 第一届Solar应急响应

Tw0队伍 writeup 一、简介 欢迎有更好的解题思路一起交流学习。最好能来点写自动化一把梭工具的代码思路,哈哈哈! 二、 解题情况三、CTF题 签到题目描述: 本题作为签到题,请给出邮服发件顺序。 Received: from mail.da4s8gag.com ([140.143.207.229]) by newxmmxszc6-1.qq.co…

Python深度学习(第2版)PDF免费下载

流行深度学习框架Keras之父执笔,涵盖Transformer架构等进展,文字生,简单方式解释复杂概念,不用一个数学公式,利用直觉自然入门深度学习适读人群 :想要学习深度学习的学生、职业开发者。 流行深度学习框架Keras之父执笔,涵盖Transformer架构等进展,文字生,简单方式解释…

尝试 vmware 16.0.0 过虚拟化 过xf虚拟机检测

前言最新想在vmware虚拟机上玩xf,网上找了不少教程,于是打算自己尝试下。 如果可以修改成功的话,其价值嘛不可估量。 环境 vmware版本是16.0.0,已安装VMware Tools vmware版本是16.1.2,已安装VMware Tools 虚拟镜像cn_windows_7_professional_with_sp1_vl_build_x64_dvd_u…

【OpenGL ES】GLSL基础语法

1 前言 ​ 本文将介绍 GLSL 中数据类型、数组、结构体、宏、运算符、向量运算、矩阵运算、函数、流程控制、精度限定符、变量限定符(in、out、inout)、函数参数限定符等内容,另外提供了一个 include 工具,方便多文件管理 glsl 代码,实现代码的精简、复用。 ​ Unity…

[GPT] LangChain : `LLM` 编程框架

概述:LangChain : LLM (大语言模型)编程框架 基本介绍:LangChainLangChain 就是一个 LLM (大语言模型)编程框架你想开发一个基于 LLM 应用,需要什么组件它都有,直接使用就行; 甚至针对常规的应用流程,它利用链(LangChain中Chain的由来)这个概念已经内置标准化方案了。 本…

[Python/GPT/AI] Ollama指南

概述:Ollama 基本介绍: OllamaOllama是一个支持在Windows、Linux和MacOS上本地运行大语言模型的工具。它允许用户非常方便地运行和使用各种大语言模型,比如Qwen模型等。 用户只需一行命令就可以启动大语言模型。主要特点跨平台支持Windows、Linux、MacOS系统。 提供了丰富的模…

空间曲线的线性参数插值

空间曲线的线性参数插值 ​ 在断层曲面拟合的过程中,发现当解释的空间数据点过于稀疏的化,其断层面拟合的效果较差,我们采用空间曲线线性插值加密的算法,增加插值控制点的数量,改善插值的效果。 1.1 问题描述即算法描述 已知空间三维离散折线 \(l=(p_1,p_2,...,p_i…