Processo Incremental e Iterativo Disciplina: Estudo do RUP Autor: Sérgio C. B. Soares Orientação: Augusto Sampaio Paulo Borba Desenvolvimento incremental e iterativo Terceiro ponto chave – Dirigido a use cases – Centrado na arquitetura Baseado em fases (milestones) – – – – Concepção (Inception) Elaboração (Elaboration) Construção (Construction) Transição (Transition) RUP - DI / UFPE 1999 Desenvolvimento incremental e iterativo Desenvolvimento em pequenos passos Um pouco de planejamento Um pouco de especificação, projeto e implementação Um pouco de integração e teste Ajustes entre as iterações (feedback) RUP - DI / UFPE 1999 Fase 1 Concepção Identificar e reduzir riscos críticos (viabilidade do projeto) A partir de um subconjunto chave de requisitos propor uma arquitetura Elaborar um cronograma inicial (custo, recursos, tempo e qualidade do produto) Iniciar o business case (viabilidade econômica do projeto) RUP - DI / UFPE 1999 Fase 2 Elaboração Reduzir riscos (construção do sistema) Especificar a maioria dos use cases que especificam a funcionalidade Validar a arquitetura proposta Preparar um plano de projeto (guiar a fase de construção) Finalizar o business case RUP - DI / UFPE 1999 Fase 3 Construção O sistema deve ser capaz de operar no ambiente do usuário Iterações e incrementos que ao longo da fase torna evidente a viabilidade do sistema Desenvolver o sistema RUP - DI / UFPE 1999 Fase 4 Transição Atingir a capacidade final de operação Modificar o produto para “aliviar” problemas não detectados nas fases anteriores Corrigir defeitos Garantir que o produto está pronto para ser entregue ao usuário RUP - DI / UFPE 1999 Fase vs. Iteração Fase Iteração Iteração Fase Uma iteração é um miniprojeto Requisitos, análise, projeto, implementação e teste Miniwaterfall RUP - DI / UFPE 1999 Iteração Iteração = “Desenvolvedores não sabem o que estão fazendo” (mito) Construção incremental durante o processo Mudanças no final são caras Resulta numa versão do sistema, que pode se validada pelo usuário Auxilia gerenciamento, organização, acompanhamento e o controle do projeto RUP - DI / UFPE 1999 O Incremento Diferença entre versões de iterações consecutivas RUP - DI / UFPE 1999 Iteração - Vantagens Riscos podem ser identificados e reduzidos mais eficientemente (no inicio o processo) RUP - DI / UFPE 1999 Iteração - Vantagens Obtenção de uma arquitetura robusta Propor uma arquitetura que satisfaça os requisitos (concepção) Estabelece-se a linha-base da arquitetura que guia o desenvolvimento (elaboração) Pequeno investimento inicial Validação da arquitetura RUP - DI / UFPE 1999 Iteração - Vantagens A cada versão do sistema, os usuários podem validar o mesmo e propor mudanças nos requisitos Mudanças no final do projeto são caras Mudanças táticas RUP - DI / UFPE 1999 Iteração - Vantagens Síndrome dos 90% RUP - DI / UFPE 1999 Iteração - Vantagens Melhor entendimento dos workflows O que deve ser feito após os requisitos e após a análise (evita perda de tempo) Menor gravidade dos erros Facilidade de treinar novas pessoas Melhor entendimento de novas tecnologias RUP - DI / UFPE 1999 Iteração Dirigida a Riscos Variável que pode determinar o sucesso ou insucesso de um projeto Identificar Priorizar Lidar (replanejamento ou Evitar, eliminar mudança de requisitos) Confinar, restringir o efeito Amenizar, diminuir a seriedade (implementação) Monitorar (plano de contingência) } } RUP - DI / UFPE 1999 Uma Iteração Elementos genéricos de uma iteração (workflows) RUP - DI / UFPE 1999 Planejando as Iterações Planejamento em poucos passos (mudanças táticas) Ordenar as iterações onde os resultados de uma devem ser a entrada para a seguinte Maior conhecimentos dos requisitos, dos problemas, dos riscos e do domínio da aplicação RUP - DI / UFPE 1999 Planejando as Iterações Sobreposição das iterações RUP - DI / UFPE 1999 Iterações e o Ciclo de vida RUP - DI / UFPE 1999 Iterações e o Ciclo de vida RUP - DI / UFPE 1999 Evolução dos modelos RUP - DI / UFPE U - Modelo de use case A - Modelo de análise D - Modelo de projeto D - Modelo de implantação I - Modelo de implementação T - Modelo de testes 1999