构建之法阅读笔记(二)

2021年1月26日:
前一篇了解了关于软件的一些基本概念,引用了航空产业的发展阶段来类比软件的建构阶段,这一篇主要讲述软件工程是什么。

什么是软件工程?按照《构建之法》的描述,所谓的软件工程就是把系统的,有序的,可量化的方法应用到软件的开发,运营以及维护上的过程。

软件具有的特殊性在于其具有的复杂性,不可见性,易变性,服从性以及非连续性。除此之外,软件还具有许多的特性,例如:

许多的不同的程序设计语言都可以设计同一种软件,并且存在多种软件开发工具和软件开发的平台。

同一软件可能存在着多样的开发流程,每一个人开发同一个软件,源代码肯定是不同的。

一个软件开发团队会有不同的角色共同进行开发一款软件。

软件可以存储在磁带上,也可以存储在CD/DVD上。

但是文章也提到那就是这些并不能决定软件工程的本质问题,因为软件的种种原因,例如有人发明了一种新的程序设计语言或者出现了一种新的软件开发流程这些都并不能改变软件的根本难度和挑战,因此,做一款好的软件是有难度的,这也是软件工程的特殊魅力和巨大的挑战。

其次,文章还阐述了软件工程与计算机科学的关系并指出了计算机科学的研究大多是以形式为主并且与数理逻辑有关,而软件工程则更多地与人有关,这也是计算机科学与软件工程的本质区别。

最后,我们学软件工程的目的就是为了能够做出好的软件,让顾客拥有好的软件体验,这才是我们软工人学习软件工程的初衷。

原文地址:https://www.cnblogs.com/yitiaokuailedexiaojingyu/p/14330651.html