按照《构建之法》的描述,所谓的软件工程就是把系统的,有序的,可量化的方法应用到软件的开发,运营以及维护上的过程。
软件具有的特殊性在于其具有的复杂性,不可见性,易变性,服从性以及非连续性。除此之外,软件还具有许多的特性,例如:
许多的不同的程序设计语言都可以设计同一种软件,并且存在多种软件开发工具和软件开发的平台。
同一软件可能存在着多样的开发流程,每一个人开发同一个软件,源代码肯定是不同的。
软件工程不是单纯的计算机科学。
软件是为人服务的,计算机科学是为软件服务的。