Buscar

11. Modelos de Processos de Desenvolvimento

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

1 
Processos de Desenvolvimento 
de Software 
• Modelos de Processo de Desenvolvimento 
• Modelo Cascata 
• Prototipação 
• Espiral 
• Iterativo e Incremental 
• Baseado em Componentes 
 
 
 
 
 
 
Sumário 
3 
• Nas últimas aulas, estudamos as principais 
atividades necessárias na construção de um 
software... 
Modelos de Desenvolvimento 
Levantamento 
de Requisitos 
Análise Projeto 
Implementação Testes Manutenção 
• Processo de Desenvolvimento de Software 
– As atividades podem ser organizadas seguindo 
distintos modelos de desenvolvimento ou 
paradigmas de desenvolvimento; 
 
 
 
“Diferentes tipos de sistemas necessitam de 
diferentes processos de desenvolvimento” 
(Ian Sommerville) 
Modelos de Desenvolvimento 
• Modelo de Desenvolvimento 
– É uma representação abstrata das atividades de 
um processo de software e suas 
interdependências; 
– É uma representação simplificada de um 
processo de software; 
– Modelos de desenvolvimento são divididos em 
fases ou etapas; 
 – Fase: 
• Unidade de decomposição de um processo. 
Modelos de Desenvolvimento 
• Modelo de Desenvolvimento 
– Modelo Cascata ou Ciclo de Vida Clássico; 
– Prototipação; 
– Espiral; 
– Iterativo e Incremental; 
– Engenharia de software baseada em 
componentes. 
Modelos de Desenvolvimento 
• Modelo Cascata 
Levantamento 
de Requisitos 
Análise 
Projeto 
Implementação 
Testes 
Manutenção 
Modelos de Desenvolvimento 
• Modelo Cascata 
– Também chamado de Ciclo de Vida Clássico; 
– Abordagem sistemática e seqüencial; 
– O resultado de uma fase compõe a entrada da 
próxima fase; 
– Foi modelado de acordo com o ciclo da 
engenharia convencional/tradicional; 
– Requer uma especificação completa e bem 
entendida; 
Modelos de Desenvolvimento 
• Modelo Cascata 
– Desvantagens: 
 • Projetos reais raramente seguem o fluxo seqüencial 
que o modelo propõe; 
 • Em geral, o cliente não sabe tudo o que quer no 
início do projeto; 
 • Uma versão funcional para o cliente só estará 
disponível num ponto tardio do cronograma; 
• Erros graves poderão ser detectados no final do projeto.
 
 
• Dificuldade em acomodar mudanças. 
 
Modelos de Desenvolvimento 
• Prototipação 
 
Coleta e 
refinamento 
de requisitos 
Projeto 
rápido 
Construção 
do Protótipo 
Avaliação 
do protótipo 
pelo cliente 
Refinamento 
do protótipo 
Engenharia 
do produto 
Início 
Fim 
Modelos de Desenvolvimento 
• Prototipação 
 
 
– Desenvolvimento de um modelo vivo do 
sistema, no qual enfatiza-se a interface com o 
usuário; 
 
 
– Um protótipo é construído para 
experimentação, para se obter requisitos dos 
usuários e para se obter uma confirmação 
sobre os mesmos; 
 
 
Modelos de Desenvolvimento 
• Prototipação 
– 02 tipos: 
• Prototipação Transitória 
– Utilizada como uma maneia de se obter informações e 
apresentar tais informações aos usuários/clientes; 
– Após a aceitação do sistema, o protótipo é deixado de 
lado. 
• Prototipação Evolutiva 
– Utilizada como uma maneia de se obter informações e 
apresentar tais informações aos usuários/clientes; 
– O protótipo é melhorado até atingir o objetivo final. 
Modelos de Desenvolvimento 
• Prototipação 
– Desvantagens 
• Pode encorajar a análise superficial; 
• O usuário vê aquilo que pensa ser o software, mas 
não é; 
• O desenvolvedor pode fazer concessões de 
implementação a fim de colocar um protótipo em 
funcionamento rapidamente. 
Modelos de Desenvolvimento 
• Espiral 
 Análise dos Riscos Planejamento 
Avaliação do cliente Engenharia 
Coleta inicial dos requisitos 
e planejamento do projeto 
Planejamento baseado 
nos comentários do 
cliente 
Análise dos riscos baseada 
nos requisitos iniciais 
Análise dos riscos baseada 
na reação do cliente 
Protótipo inicial 
Protótipo no nível seguinte 
Sistema construído 
pela engenharia 
Avaliação do cliente 
Modelos de Desenvolvimento 
• Espiral 
– As atividades são organizadas como uma espiral 
que tem vários ciclos; 
 – Cada ciclo representa uma fase; 
 – Foi desenvolvido para incorporar as melhores 
características do modelo clássico e do modelo 
de prototipação; 
 – Acrescenta um novo elemento, a análise de 
riscos; 
 
Modelos de Desenvolvimento 
• Espiral 
– Vantagens: 
 • Riscos são resolvidos ao longo do processo; 
 • Eliminação precoce de erros; 
 • Foco em reuso; 
 
 
• Qualidade desde o início do projeto; 
 • Integra desenvolvimento e manutenção. 
 
Modelos de Desenvolvimento 
• Iterativo e Incremental 
 
Descrição 
inicial 
Validação 
Desenvolvimento 
Especificação 
Atividades 
Iterativas 
Versão 
inicial 
Versão 
final 
Versões 
intermediárias 
Incrementos 
Modelos de Desenvolvimento 
• Iterativo e Incremental 
– Adaptação do modelo espiral; 
 
 
– O desenvolvimento e a entrega são divididos em 
pequenos pedaços (incrementos); 
 
 
– Cada incremento corresponde a parte da 
funcionalidade requisitada pelo cliente; 
 
 
– A especificação evolui junto com o 
desenvolvimento do sistema; 
 
 
– Dá suporte a requisitos parcialmente definidos; 
 
 
Modelos de Desenvolvimento 
• Iterativo e Incremental 
 
Modelos de Desenvolvimento 
• Iterativo e Incremental 
– Vantagens: 
• O sistema é posto em funcionamento mais 
rapidamente. Sempre tem algo para entregar para o 
cliente (a última iteração); 
 
 
 
• Diminui o risco de falha do projeto como um todo; 
 
 
 
 
• Como os requisitos mudam, um processo iterativo 
mantém freqüentes contatos com o cliente o que 
ajuda a manter os requisitos sincronizados; 
 
 
 
• Motivador para a equipe de desenvolvimento e para 
o cliente ver o software funcionando cedo; 
 
 
 
Modelos de Desenvolvimento 
• Cascata X Iterativo 
 
 
 
Análise 
Implementação 
+ Testes 
Projeto Transição 
Modelo Cascata Modelo Iterativo 
Modelos de Desenvolvimento 
• Desenvolvimento baseado em 
Componentes 
– CBSE (Component-Based Software Engineering); 
 
 
– O sistema é montado a partir de componentes 
existentes; 
 
 
– Baseado em reuso sistemático onde sistemas 
são integrados a partir de componentes 
existentes; 
 
 
– Esta abordagem está se tornando cada vez mais 
usada à medida que padrões de componentes 
têm surgido. 
 
 
Modelos de Desenvolvimento 
• Desenvolvimento baseado em 
Componentes 
– Estágios do processo: 
 
 
• Análise de componentes; 
 
 
• Modificação de requisitos; 
 
 
• Projeto de sistema com reuso; 
 
 
• Desenvolvimento e integração. 
 
 
Modelos de Desenvolvimento 
• Desenvolvimento baseado em 
Componentes 
 
 
Modelos de Desenvolvimento 
• Como os custos são divididos? 
– Não existe uma resposta única. 
– Em geral: 
• 60% para desenvolvimento; 
• 40% para testes. 
 – Para software produzido sob encomenda: 
• Os custos de evolução/manutenção serão bem 
maiores do que os custos de desenvolvimento. 
Modelos de Desenvolvimento 
Especificação 
Modelo Cascata 
Especificação Desenvolvimento Integração e Teste Projeto 
Especificação Desenvolvimento Iterativo Teste de Sistema 
Desenvolvimento Iterativo 
Engenharia de Software Baseada em Componentes 
Especificação Desenvolvimento Integração e Teste 
Modelos de Desenvolvimento 
Dúvidas ? 
44 
• SOMMERVILLE, I. Engenharia de Software. 8ª Edição. Editora 
Pearson, 2007. 
• PRESSMAN, R. S. Engenharia de Software. 6ª Edição. Editora 
McGraw Hill, 2006. 
 
 
Referências 
45

Outros materiais