La ingeniería de "software", con el fin de ordenar el caos que era anteriormente el desarrollo de "software", dispone de varios modelos, paradigmas y , estos los conocemos principalmente como modelos o ciclos de vida del desarrollo de "software", esto incluye el proceso que se sigue para construir, entregar y hacer evolucionar el "software", desde la concepción de una idea hasta la entrega y el retiro del sistema y representa todas las actividades y artefactos (productos intermedios) necesarios para desarrollar una aplicación.