Ingeniería de software
La ingeniería de "software" se puede considerar como la ingeniería aplicada al "software", esto es, por medios sistematizados y con herramientas preestablecidas, la aplicación de ellos de la manera más eficiente para la obtención de resultados óptimos; objetivos que siempre busca la ingeniería. No es solo de la resolución de problemas, sino más bien teniendo en cuenta las diferentes soluciones, elegir la más apropiada.
Arquitectura de software
La arquitectura a nivel de software es el diseño de más alto nivel de la estructura de un sistema. En los años 1960 ya se acercaba el concepto de arquitectura de software en los círculos de investigación (por ejemplo, por Edsger Dijkstra). No obstante, toma popularidad en los años 1990 tras reconocerse la denominada "crisis del software" y como tema de interés de la incipiente disciplina de la ingeniería del software.