La ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software; esto es, la aplicación de ingeniería al software (IEEE, 2004).

 En la ingeniería de software se integra el conocimiento teórico y práctico que el ingeniero de sistemas requiere para realizar de forma exitosa cualquier proyecto de producción de software. El proyecto de producción de software se realiza con la guía del proceso de ingeniería de software. El proceso de ingeniería de software incluye actividades estructurales y de protección. Las actividades estructurales van desde la especificación hasta el mantenimiento después de que el producto software se pone en operación. Las actividades de protección (por ejemplo, gestión del proyecto y gestión de la calidad), son aquellas que permiten garantizar procesos y productos software de alta calidad.