软件工程导论学习心得
软件工程导论学习心得
软件工程导论的意义何在?我们在专业课中只学习了一点皮毛,大概很难领悟软件工程导论的精神所在。随着在软件实训等课程的开展,对其中的奥秘也有了体悟。最近我去表哥的礼炮厂参观了一下,加深对了软件等高新技术改变世界的理解。
对软件工程导论课程的印象
我感觉课程的**总体特点是老师多,内容广度大**。课程的前半部分是《软件工程导论》,特点是**宏观抽象,偏于理论**。课程的后半部分是各老师介绍研究的前沿技术,特点是**各具特色,跟进前沿**。
对于前半部分,虽然讲课内容是一致的,但是有几个老师来讲课,每个老师的讲课风格都有所不同。不过整体上来说老师负责的内容并不是自己专攻的方向,所以整体上来说老师讲的时候没有太多实践感悟。不过老师们准备还是十分充分的,一般来说两节课讲不完准备的课程内容。在印象上,毛明志老师应该是在这方面有一些研究的。就我个人来说,让人最感兴趣的不是课程本身的内容,而是老师们对这门课程自己的理解和观点。
对于后半部分,我对各个老师所讲的研究领域都有兴趣。不过大概很多东西是听不懂的,只是有个轮廓和想法。从中也认识了学院一些陌生的老师,我想这点是重要的,万一以后遇到一些相关方面的问题,但是自己解决不了,有可能想起来以前在软工导论听过某某老师讲过相关的内容,就可以去咨询请教。虽然老师讲的内容各具特色,在总体上是和人工智能相关,可见人工智能是软件领域的热点,我想软件工程学院和人工智能学院是很紧密的(实际上我特地去跟进了解了人工智能学院开设的课程,看一下和我们学院的区别在哪)。我感觉老师讲自己的东西更给力,因为能更多得讲到自己的一些观点和立即。
软件工程实训与软件工程导论
在讲软件工程导论的时候我就想着能不能把其中的一些理论用在软件工程实训上,这样就可以学以致用。比如用画各种图来描述编写的程序的流程,在完成软件工程实训的第一个小项目《五子棋》的时候,我就想着用《软件工程导论》里面的一些方法来描述。可惜一拖再拖,最终耽搁了,没搞成。
软件工程实训的第三个项目是图书管理系统,需要多个人合作来完成。之前的两个项目都是自己单打独斗的,在软件工程发展史上只是属于“程序设计阶段”,而到了第三个项目起码算是“软件作坊阶段”了。我又想着能不能把软件工程导论的一些知识运用,因为我印象中软件工程的许多理论是和多人协作相关的,也就是围绕如何协调多个人合作编写一个软件这一问题来开展。然而实际上也没有成功,虽然我们一开始就在github平台上开展,但是由于没有经验无法进行软件设计(特别是详细的软件设计),所以对于分工也是模棱两可。在一个晚上,两个同学就通宵把主体框架搭好了,这和预先的安排有所出入,我也放弃了运用软件工程导论进行“干涉”的想法,只能任由软件自由成长了。不过完成这个项目之后,就有一些经验了,也切实感受到了不写注释带来的一些问题(不过由于我们的软件系统比较小,而且随时可以问,所以也没有特别大的问题)。除此之外,我们还切实感受到了越到软件开发后期,修改软件的成本越大。我们在图书管理系统中就因修改几个功能要修改一连窜的东西,甚至产生了一些bug,以至于到最后甚至有一些“怕产生bug而不敢增改程序”。这种忧虑是有道理的,我们的软件系统比较小,所以我还可以把各个部分都搞清楚,所以修改程序的时候可以考虑到各个方面,但是当软件比较大的时候可能就麻烦了。我并没有在运用软件工程导论的方法上取得很大进展,只是通过结合软件工程实训对软工导论的意义有了更深的理解,而要想恰当运用其中方法,只能是“路漫漫其修远兮,吾将上下而求索”了。
工厂与科研
我怀着“技术改变世界”的想法进厂打了几天工,想看看软件技术在实业生产中能有些什么作用。工厂厂主认为技术可以赚钱,主要在于知道某种秘方用来生产某种产品,能够以很低的成本卖出很高的价钱。其次,就是在于可以让相同的机器在一定时间内生产出更多的产品。可惜我没有什么知识,在厂打工的几天并没有成功改进生产。我想着用计算机视觉等技术来清点生产过程中的货物数量,但是工厂主似乎并不在意这些,因为他觉得并不需要特别准确的数目,只要大概估计一下就好。这实际是有道理的,因为厂里只有五个员工,生产流程也不是很复杂,所以遇到什么问题可以直接进行调整。然后我再想想在软件工程导论(后半部分)中学到什么技术可以运用,可惜都是要么没想法,要么有想法但是没有能力实现。尽管如此,我也体悟到了一点:基础知识是实现想法的能力基础,了解各个研究领域是产生灵感的前提。
软件工程导论学习心得
http://thinkerhui.site/2023/01/15/课程学习/软件工程导论学习心得/