engenharia de software - desenvolvimento iterativo e incremental

23
Gustavo das Neves

Upload: gustavo-neves

Post on 01-Dec-2014

106 views

Category:

Technology


3 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Engenharia de Software - Desenvolvimento Iterativo e Incremental

Gustavo das Neves

Page 2: Engenharia de Software - Desenvolvimento Iterativo e Incremental

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.

Page 3: Engenharia de Software - Desenvolvimento Iterativo e Incremental

Por que foi criado?• Foi criado em resposta às fraquezas do modelo

em cascata, o mais tradicional.

Page 4: Engenharia de Software - Desenvolvimento Iterativo e Incremental

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.

Page 5: Engenharia de Software - Desenvolvimento Iterativo e Incremental

Base para algumas metodologias

• Extreme Programming

• Scrum

• Kanban

• Lean

• E outras

Page 6: Engenharia de Software - Desenvolvimento Iterativo e Incremental

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

Page 7: Engenharia de Software - Desenvolvimento Iterativo e Incremental

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;

Page 8: Engenharia de Software - Desenvolvimento Iterativo e Incremental
Page 9: Engenharia de Software - Desenvolvimento Iterativo e Incremental

As fases do processo

Page 10: Engenharia de Software - Desenvolvimento Iterativo e Incremental

A Concepção identifica…

• Escopo do projeto

• Riscos

• Requisitos funcionais e não-funcionais

Page 11: Engenharia de Software - Desenvolvimento Iterativo e Incremental

A elaboração cria a arquitetura…

Page 12: Engenharia de Software - Desenvolvimento Iterativo e Incremental

A construção transforma tudo em código e testes (sim, testes)

Page 13: Engenharia de Software - Desenvolvimento Iterativo e Incremental

E a transição coloca tudo em ambiente de produção à medida que são entregues.

Page 14: Engenharia de Software - Desenvolvimento Iterativo e Incremental

Começa com um planejamento e termina com entregas entre as 

Page 15: Engenharia de Software - Desenvolvimento Iterativo e Incremental

Iterações no RUP

Page 16: Engenharia de Software - Desenvolvimento Iterativo e Incremental

Como funciona mesmo?

Page 17: Engenharia de Software - Desenvolvimento Iterativo e Incremental
Page 18: Engenharia de Software - Desenvolvimento Iterativo e Incremental
Page 19: Engenharia de Software - Desenvolvimento Iterativo e Incremental
Page 20: Engenharia de Software - Desenvolvimento Iterativo e Incremental
Page 21: Engenharia de Software - Desenvolvimento Iterativo e Incremental
Page 22: Engenharia de Software - Desenvolvimento Iterativo e Incremental
Page 23: Engenharia de Software - Desenvolvimento Iterativo e Incremental