Gustavo das Neves
O que é? 
• O desenvolvimento iterativo e incremental é um 
processo de desenvolvimento cíclico 
! 
• Os 2 padrões mais conhecidos de sistemas 
iterativos de desenvolvimento são o RUP 
(Processo Unificado da Rational) e o 
Desenvolvimento ágil de software.
Por que foi criado? 
• Foi criado em resposta às fraquezas do modelo 
em cascata, o mais tradicional.
Linhas básicas para direcionar a implementação e 
análise incluem: 
• Qualquer dificuldade no projeto, codificação e teste de uma modificação deve ser sinalizada 
para que possa ser re-projetada ou recodificada. 
• Modificações devem ser ajustadas facilmente em módulos isolados e fáceis de encontrar. Se 
não atendem a isso, algum re-projeto deverá ser necessário. 
• Modificações de tabelas devem ser especialmente fáceis de fazer. Se qualquer modificação 
não é rápida e fácil de ser feita, indica-se a realização de um re-projeto. 
• Modificações devem ser fáceis para serem feitas na forma de iterações. Se elas não são, 
haverá um problema básico tal como um projeto falho ou uma proliferação de correções. 
• Correções devem normalmente ser permitidas por somente uma ou duas iterações. Correções 
devem ser necessariamente para evitar re-projeto durante uma fase de implementação. 
• A implementação existente deve ser analisada freqüentemente para determinar quão bem 
estão sendo atingidos os objetivos do projeto. 
• As ferramentas de análise de programa devem ser usadas sempre que necessário para ajudar 
na análise de implementações parciais. 
• Reclamações do usuário devem ser solicitadas e analisadas para registrar as deficiências da 
implementação atual.
Base para algumas 
metodologias 
• Extreme Programming 
• Scrum 
• Kanban 
• Lean 
• E outras
Quais as principais 
vantagens? 
• Desenvolver software incrementalmente, permitindo aprender e 
corrigir as versões entregues anteriormente. 
• Análise antecipada de riscos com a integração progressiva do 
sistema 
• Melhor acomodação de solicitações de mudanças 
• Melhor qualidade devido ao refinamento contínuo do produto 
• Maior facilidade de aprendizagem e amadurecimento do 
processo 
• Aumento da reusabilidade
Desvantagens 
• Durante o processo de desenvolvimento necessita-se adaptar 
e refinar o sistema, com isso pode ser que no final saia 
totalmente diferente da ideia original; 
• Pode acontecer a continuação do sistema e aparacição de 
muitos requisitos novos, esse sistema nunca irá terminar. Isso é 
chamado de aumento de escopo; 
• Gerentes que estão acostumados com a forma linear do 
desenvolvimento de um software pode ter alguns problemas na 
hora de ir para uma forma mais flexível; 
• Inexperiência com a forma de trabalhar do modelo Iterativo 
pode levar a problemas posteriores, por isso é necessário certo 
conhecimento para começar a usar esse modelo;
As fases do processo
A Concepção identifica… 
• Escopo do projeto 
• Riscos 
• Requisitos funcionais e não-funcionais
A elaboração cria a arquitetura…
A construção transforma tudo em 
código e testes (sim, testes)
E a transição coloca tudo em ambiente de 
produção à medida que são entregues.
Começa com um planejamento 
e termina com entregas entre as
Iterações no RUP
Como funciona mesmo?
Engenharia de Software - Desenvolvimento Iterativo e Incremental
Engenharia de Software - Desenvolvimento Iterativo e Incremental
Engenharia de Software - Desenvolvimento Iterativo e Incremental
Engenharia de Software - Desenvolvimento Iterativo e Incremental
Engenharia de Software - Desenvolvimento Iterativo e Incremental
Engenharia de Software - Desenvolvimento Iterativo e Incremental
Engenharia de Software - Desenvolvimento Iterativo e Incremental

Engenharia de Software - Desenvolvimento Iterativo e Incremental

  • 1.
  • 2.
    O que é? • O desenvolvimento iterativo e incremental é um processo de desenvolvimento cíclico ! • Os 2 padrões mais conhecidos de sistemas iterativos de desenvolvimento são o RUP (Processo Unificado da Rational) e o Desenvolvimento ágil de software.
  • 3.
    Por que foicriado? • Foi criado em resposta às fraquezas do modelo em cascata, o mais tradicional.
  • 4.
    Linhas básicas paradirecionar a implementação e análise incluem: • Qualquer dificuldade no projeto, codificação e teste de uma modificação deve ser sinalizada para que possa ser re-projetada ou recodificada. • Modificações devem ser ajustadas facilmente em módulos isolados e fáceis de encontrar. Se não atendem a isso, algum re-projeto deverá ser necessário. • Modificações de tabelas devem ser especialmente fáceis de fazer. Se qualquer modificação não é rápida e fácil de ser feita, indica-se a realização de um re-projeto. • Modificações devem ser fáceis para serem feitas na forma de iterações. Se elas não são, haverá um problema básico tal como um projeto falho ou uma proliferação de correções. • Correções devem normalmente ser permitidas por somente uma ou duas iterações. Correções devem ser necessariamente para evitar re-projeto durante uma fase de implementação. • A implementação existente deve ser analisada freqüentemente para determinar quão bem estão sendo atingidos os objetivos do projeto. • As ferramentas de análise de programa devem ser usadas sempre que necessário para ajudar na análise de implementações parciais. • Reclamações do usuário devem ser solicitadas e analisadas para registrar as deficiências da implementação atual.
  • 5.
    Base para algumas metodologias • Extreme Programming • Scrum • Kanban • Lean • E outras
  • 6.
    Quais as principais vantagens? • Desenvolver software incrementalmente, permitindo aprender e corrigir as versões entregues anteriormente. • Análise antecipada de riscos com a integração progressiva do sistema • Melhor acomodação de solicitações de mudanças • Melhor qualidade devido ao refinamento contínuo do produto • Maior facilidade de aprendizagem e amadurecimento do processo • Aumento da reusabilidade
  • 7.
    Desvantagens • Duranteo processo de desenvolvimento necessita-se adaptar e refinar o sistema, com isso pode ser que no final saia totalmente diferente da ideia original; • Pode acontecer a continuação do sistema e aparacição de muitos requisitos novos, esse sistema nunca irá terminar. Isso é chamado de aumento de escopo; • Gerentes que estão acostumados com a forma linear do desenvolvimento de um software pode ter alguns problemas na hora de ir para uma forma mais flexível; • Inexperiência com a forma de trabalhar do modelo Iterativo pode levar a problemas posteriores, por isso é necessário certo conhecimento para começar a usar esse modelo;
  • 9.
    As fases doprocesso
  • 10.
    A Concepção identifica… • Escopo do projeto • Riscos • Requisitos funcionais e não-funcionais
  • 11.
    A elaboração criaa arquitetura…
  • 12.
    A construção transformatudo em código e testes (sim, testes)
  • 13.
    E a transiçãocoloca tudo em ambiente de produção à medida que são entregues.
  • 14.
    Começa com umplanejamento e termina com entregas entre as
  • 15.
  • 16.