Engenharia de Software - Desenvolvimento Iterativo e Incremental

858 visualizações

Publicada em

Trabalho para a disciplina de Engenharia de Software sobre desenvolvimento iterativo e incremental.

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
858
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
37
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Engenharia de Software - Desenvolvimento Iterativo e Incremental

  1. 1. Gustavo das Neves
  2. 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. 3. Por que foi criado? • Foi criado em resposta às fraquezas do modelo em cascata, o mais tradicional.
  4. 4. 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.
  5. 5. Base para algumas metodologias • Extreme Programming • Scrum • Kanban • Lean • E outras
  6. 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. 7. 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;
  8. 8. As fases do processo
  9. 9. A Concepção identifica… • Escopo do projeto • Riscos • Requisitos funcionais e não-funcionais
  10. 10. A elaboração cria a arquitetura…
  11. 11. A construção transforma tudo em código e testes (sim, testes)
  12. 12. E a transição coloca tudo em ambiente de produção à medida que são entregues.
  13. 13. Começa com um planejamento e termina com entregas entre as
  14. 14. Iterações no RUP
  15. 15. Como funciona mesmo?

×