La ingeniería de software es la aplicación de un proceso sistemático, métodos y herramientas para el desarrollo de software de alta calidad. Incluye actividades como la planificación, modelado, construcción, pruebas y despliegue. El software se puede definir como instrucciones que cuando se ejecutan proporcionan las características, funciones y rendimientos deseados. Existen diferentes tipos de modelos de desarrollo de software como la cascada, evolutivo y prototipado.