La ingeniería del software provee métodos de modelado y desarrollo que separan un proyecto en etapas iterativas, esto es, se analiza una parte del problema, se diseña, se codifica y se prueba lo desarrollado para luego volver a analizar otra parte completando la iteración.