Buscar

ESII-2Processos_de_Software

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Engenharia de Software
Processos de Software
Engenharia de Software 
Engenharia de Software: Processo 
e Produto
“Não se pode deduzir ou entender toda a 
ferramenta, seu contexto, uso, 
significado e valor se a virmos somente 
como um processo ou somente como 
um produto...”
“Não se pode deduzir ou entender toda a 
ferramenta, seu contexto, uso, 
significado e valor se a virmos somente 
como um processo ou somente como 
um produto...”
(PRESSMAN, 2006)
Engenharia de Software 
Modelos Genéricos
� Cascata
� Incremental
� Evolucionário
Engenharia de Software 
Modelo em Cascata
(PRESSMAN, 2006)
COMUNICAÇÂO
PLANEJAMENTO
MODELAGEM
CONSTRUÇÃO
IMPLANTAÇÃO
Iniciação do projeto
Levantamento de requisitos
Estimativas
Cronogramas
Monitoração
Codificação
Testes
Entrega
Manutenção
Análise
Projeto
Engenharia de Software 
Modelos em Cascata
� Ciclo de vida clássico
� Uma fase só começa quando termina a outra
� Fluxo seqüencial (modelo linear) é o mais adequado?
� Etapas se sobrepõem e trocam informações
� Documentos são gerados em cada etapa
� Requisitos podem ser definidos explicitamente?
� “Retrabalho”
� Quanto tempo é necessário até a primeira versão?
� ... E a dependência entre as atividades?
� ... Projetos podem ser mal-estruturados(PRESSMAN, 2006)(SOMMERVILLE, 2007)
Engenharia de Software 
Modelos em Cascata
� Inflexibilidade na divisão do projeto em seus
estágios
� Difícil adaptação a mudanças de requisitos
� Apropriado, somente, quando todos os
requisitos estão bem definidos
Engenharia de Software 
Modelo Incremental
(PRESSMAN, 2006)
COMUNICAÇÂO
PLANEJAMENTO
MODELAGEM
CONSTRUÇÃO
IMPLANTAÇÃO
COMUNICAÇÂO
PLANEJAMENTO
MODELAGEM
CONSTRUÇÃO
IMPLANTAÇÃO
COMUNICAÇÂO
PLANEJAMENTO
MODELAGEM
CONSTRUÇÃO
IMPLANTAÇÃO
Tempo
F
u
n
c
i
o
n
a
l
i
d
a
d
e
 
e
 
C
a
r
a
c
t
e
r
í
s
t
i
c
a
s
 
d
o
 
S
o
f
t
w
a
r
e
Incremento 1
Incremento 2
Incremento n
Engenharia de Software 
Modelo Incremental
� O desenvolvimento é dividido em incrementos
� Cada incremento corresponde a um conjunto de 
funcionalidades requeridas. 
� Requisitos são priorizados e, antecipando os de 
maior prioridade. 
� Uma vez iniciado o desenvolvimento de um 
incremento, seus requisitos não devem sofrer
mudanças, ficando para uma nova versão
Engenharia de Software 
Modelo Incremental
Engenharia de Software 
Modelo Incremental
� Clientes podem usufruir do sistema sem esperar
que esteja totalmente desenvolvido. 
� Incrementos iniciais servem de protótipo e 
ajudam a definir novos requisitos.
� Menor risco de insucesso global.
� Funções prioritárias são entregues primeiro, 
passando por mais testes
Incrementos devem ser pequenos e devem produzir alguma
funcionalidade�
maior necessidade de controle – mapeamento e rastreabilidade.
Engenharia de Software 
Modelo Evolucionário
� Desenvolvimento de uma versão inicial 
� Expor resultados ao usuário
� Refinar por meio de várias versões
� Sistema Final
Engenharia de Software 
Modelo Evolucionário
Validation Final
version
Development Intermediate
versions
Specification Initial
version
Outline
description
Concurrent
activities
Engenharia de Software 
Modelo Evolucionário
� Desenvolvimento Exploratório
� Trabalhar com o cliente, explorando os requisitos e 
entregar o sistema final.
� Sistema evolui com o acréscimo de novas características, 
à medida em que são propostas pelo cliente.
� Protótipos Descartáveis
� Compreender os requisitos do cliente e, então, 
desenvolver uma melhor definição de requisitos
� Realizar experimentos com partes dos requisitos que
estejam mal compreendidas.
Engenharia de Software 
Modelo Evolucionário
� Prototipagem
� Cliente define os objetivos gerais, mas não identifica detalhadamente 
requisitos de entrada, processamento e saída
� Desenvolvedor pode estar inseguro da eficiência do algoritmo, da
adaptabilidade e da interação.
� Pode ser implementada dentro de outros processos
� Protótipo identifica requisitos
� Dois tipos de desenvolvimento evolucionário: desenvolvimento exploratório e 
protótipos descartáveis.
(PRESSMAN, 2006)(SOMMERVILLE, 2007)
Engenharia de Software 
Modelo Evolucionário
� Desenvolvimento exploratório
� Cliente participa definindo os requisitos. Sistema evolui à medida que novas 
funcionalidades são acrescentadas.
� Protótipos descartáveis
� Protótipos são utilizados para experimentos com o intuito de revelar os 
requisitos
� Produtos são construídos gradativamente (mão-de-obra especializada?)
� Problemas:
� Visibilidade do processo (medidas?)
� Modificações freqüentes podem gerar sistemas mal-estruturados
Recomendado para sistemas de pequeno ou médio porte ou para partes de sistemas de 
maior porte. (SOMMERVILLE, 2007)
Engenharia de Software 
Modelo Evolucionário
� O Modelo Espiral
� Combina prototipagem (iteração) com o modelo em cascata (controle e 
sistematização)
� Software é desenvolvido através de uma série de versões evolucionárias
� Desenvolvedor e cliente entendem melhor e reagem aos riscos de cada 
nível evolucionário
� Prototipagem como um mecanismo de redução de risco
� Exige a consideração dos riscos em todos os estágios do projeto
� Problemas: (i) abordagem é controlável?; (ii) controle de riscos é
fundamental.
(PRESSMAN, 2006)
Engenharia de Software 
Modelo Evolucionário
� O Modelo Espiral
Determinar objetivos, 
alternativas e restrições
Avaliar alternativas, 
identificar, resolver riscos
Desenvolver, verificar 
produto
Planejar a próxima fase

Outros materiais