La ingeniería de software se basa en tres pilares principales: procesos, métodos y herramientas. Los procesos definen el marco de trabajo del proyecto, los métodos indican cómo construir el software técnicamente, y las herramientas brindan soporte automático o semiautomático. El objetivo es lograr productos de software de alta calidad a través de un proceso apoyado por métodos y herramientas.