impacto for cometido e nao detectado, provavelmente so sera descoberto muito tarde, sendo desastroso para o projeto. Tentando resolver os probelmas do processo em cascata surgiu o modelo espiral que divide a tarefa de levantar requisitos em etapas que nao ocorrem todas de uma vez, no inicio do desenvolvimento. Ele mantem as mesmas etapas do modelo Cascata, mas elas sao executadas varias vezes ao longo do processo de desenvolvimento, permitindo revisoes do usuario a medida que o desenvolvimento avanca, pois e mais facil detectar os requisitos a medida que o projeto ganha maturidade. Esse modelo e semelhante as metodologias ageis que sao amplamente discutidas na atualidade e serviu de base para o RUP. Embora esse modelo apresente vantagens significativas se comparado ao processo em cascata, ele apresenta problemas gerenciais para acompanhamento e controle do projeto, uma vez que o modelo em espiral pode levar ao desenvolvimento em paralelo de multiplas partes do projeto, cada uma sendo abordada de modo diferenciado. E necessario o uso de tecnicas especificas para estimar e sincronizar cronogramas, bem como para determinar os indicadores de custo e progresso mais adequados. Baseado no modelo espiral surgiu o RUP, o qual e dividido em quatro fases Inception, onde se define o escopo total do projeto, sua viabilidade economica e se ele atingiria os objetivos esperados, Elaboration, pretende eliminar os principais riscos e definir a arquitetura que o sistema sera desenvolvido, Construction, onde se comeca a codificar o sistema de maneira iterativa e ao final de cada ciclo, pode ser gerada uma versao utilizavel, Transition, e quando se implanta o sistema e o software e passado aos usuarios. Segundo Daniel Teofilo Vasconcelos (2005) em sua publicacao no site Linha de Codigo os beneficios dessa metodologia sao; Desenvolvimento iterativo de software e a realizacao do software em varias iteracoes,identificando riscos para o projeto, desenvolvendo solucoes para os riscos selecionados e verificando a eliminacao dos riscos ao fim de cada iteracao; Gerenciamento de requisitos descreve como extrair, organizar e documentar funcionalidades exigidas. E utilizada nesta etapa a nocao de casos de uso e cenarios para capturar exigencias funcionais; Arquitetura baseada em componentes descreve como projetar uma arquitetura flexivel,que acomode mudancas e seja intuitivamente compreensivel, promovendo efetivamente a reutilizacao de software; Modelagem visual do software e a utilizacao de elementos graficos e diagramas na modelagem de software, isto e, a representacao dos elementos estruturais e comportamentais do sistema atraves de modelos visuais; Verificacao da qualidade de software e a constante preocupacao com a qualidade dos artefatos da aplicacao e o software propriamente dito. Atividades de garantia da qualidade devem ser realizadas durante o processo de desenvolvimento; Controle de mudancas do software normalmente os requisitos de uma aplicacao mudam e controlar as mudancas dos requisitos e do software e importante para o sucesso do processo de desenvolvimento; O RUP tem como uma de suas caracteristicas o incentivo a documentacao do projeto a todo instante, em oposicao a isso nos ultimos anos vem ganhado forca os processos ageis defendendo que o tempo gasto em documentacao e desnecessario diante da necessidade do cliente de ver o software