La ingeniería de software se basa en una combinación de arte, programación, gestión de proyectos y matemáticas. Se utilizan varios modelos de desarrollo, como el iterativo e incremental, el modelo en cascada, el desarrollo concurrente, RAD, el modelo en espiral, RUP, el proceso unificado, el desarrollo por etapas y el modelo de prototipos.
Aplicación de un enfoque sistemático,disciplinado y cuantificable al desarrollo,operación y mantenimiento de software.
Objetivo
Encontrar procesos y metodologías, que sean sistemáticas, predecibles y repetibles, a fin de mejorar la productividad en el desarrollo y la calidad del producto software.
La ingeniería de software dispone de varios modelos:
RUP (Proceso Unificado de Rational)
Proceso Unificado
Desarrollo concurrente
RAD (Rapid Application Development)
Desarrollo iterativo y creciente o Iterativoe Incremental