代码中的软件工程学习心得

zhx 2023-07-10 22:53:19

这一学期的课下来,我学到了很多软件工程相关的知识,这段时间的学习经历对我的职业发展产生了重要而深远的影响,为我在软件开发领域取得更好的成绩奠定了坚实的基础。


首先,我学到了许多快捷键以及git的使用。git是一个非常好的版本管理工具,可以保存多个版本的代码以便修正bug,添加功能。它也可以让多人一起开发,每人每次上传自己修改的部分,避免我修改了一点你修改了一点后上传的直接被覆盖掉的故事。

此外我学到了vim,这是一个Linux下较为好用的文本编辑器,它有三种模式可以切换:命令模式,输入模式和底线命令模式。它也可以实现删除、复制粘贴、搜索以及替换等功能。

然后,通过写一个menu的软件,我学到了一个软件是如何产生,如何迭代直到可以高效运行的。我了解到软件生命周期的各个阶段,需求分析,设计,编码,测试和维护等。这些阶段互相依赖,每个阶段都会影响后面的阶段。所以,每个阶段的任务都要保证有效地完成。

接下来的一个章节我学习了需求分析等知识。需求分析本质上就是用户对软件能做什么、有什么功能的分析。我们可以采用原型化方法和建模的方法来进行分析,通过绘制UML图进行分析和描述需求。

接下来的一章我学习到了软件工程的一些基础概念,包括软件的组成部分为变量和函数,软件的基本结构有顺序结构和分支结构,面向对象以及三大特性:继承、封装和多态。也学习到了一些特殊机制,如回调函数,闭包,异步调用等等。这之后,我学到了设计模式相关的知识。设计模式就是面向对象设计原则的运用中总结出来的经验模型。对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解,才能准确理解设计模式。常见的设计模式有单例模式,原型模式,建造者模式,策略模式,命令模式等。设计模式总共有23种,各自的使用场景都有所不同,但是都遵循六中设计原则:开闭原则,Liskov替换原则,依赖导致原则,单一职责原则,迪米特法则,合成复用原则。

接下来的一章我学习了软件危机相关的知识。软件危机无法解决的根本原因是软件概念结构的复杂性无法达成软件概念的完整性和统一性。此外,我也学习了团队过程TSP。团队开发软件需要个部分相互配合,TSP方法告诉我如何开始一个团队项目,这个项目的基本策略是什么,开发计划,开发需求,与团队一起设计,产品实现,继承与系统测试,结项总结。

这学期通过跟随孟宁老师一起学习高级软件工程,我学习到了很多知识,包括基本工具的使用,设计模式,软件架构等等。接下来的学习和工作中,这些知识能让我编写代码更加高效。

 

 

 

 

...全文
196 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

571

社区成员

发帖
与我相关
我的任务
社区描述
软件工程教学新范式,强化专项技能训练+基于项目的学习PBL。Git仓库:https://gitee.com/mengning997/se
软件工程 高校
社区管理员
  • 码农孟宁
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧