Buscar

EC205 Cap 6 Ciclos de Vida A2014 S1 - A

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

www.inatel.br
Ciclos de Vida
Cap. 6 – Ciclos de Vida
Adaptado do material dos professores Guilherme A. B. Marcondes e Valeska P. P. Marcondes
Baseado no livro: Engenharia de Software – Roger S. Pressman – Sexta Edição
Prof. Afonso Celso Soares
EC205 – Engenharia de Software I
www.inatel.br
Ciclos de Vida
Definição IEEE
Ciclo de vida é o período de tempo que começa quando o produto de software é concebido e finaliza quando o produto não está mais disponível para uso.
Introdução
Concepção
Desenvolvimento
Manutenção
Retirada
www.inatel.br
Ciclos de Vida
Introdução
Concepção
Desenvolvimento
Manutenção
Retirada
Uso do Software
- Análise dos Requisitos
- Projeto
- Implementação 
- Testes
 Entrega
 Manutenção
Fases do Ciclo de Vida
www.inatel.br
Ciclos de Vida
Tipicamente, inclui:
Análise dos Requisitos
O que o sistema irá fazer?
Análise/Projeto
Como o sistema irá fazer?
Fases do Ciclo de Vida
www.inatel.br
Ciclos de Vida
Teste
O sistema está 
funcionando
corretamente?
Entrega
Colocação para uso
Manutenção
Mudanças
Retirada 
Aposentadoria
Tipicamente, inclui (cont):
Fases do Ciclo de Vida
www.inatel.br
Ciclos de Vida
Análise dos Requisitos
O que o sistema irá fazer?
Identificação dos problemas existentes
Definição das necessidades dos usuários
Líder de projeto, 
analistas com 
os usuários finais 
e o cliente
Fases do Ciclo de Vida
www.inatel.br
Ciclos de Vida
Importância
Requisitos incompletos, incorretos ou mal
entendidos são as causas mais frequentes da 
baixa qualidade, ultrapassagem dos custos 
previstos e atraso na entrega do produto.
Fases do Ciclo de Vida
Análise dos Requisitos
www.inatel.br
Ciclos de Vida
Análise / Projeto
Como o sistema irá fazer?
Fases do Ciclo de Vida
www.inatel.br
Ciclos de Vida
Implementação
Codificação 
Testes unitários
Fases do Ciclo de Vida
Desenvolvedores
Testadores
Grupo de qualidade
Grupo de Configuração
www.inatel.br
Ciclos de Vida
Testes
O sistema está funcionando corretamente?
Fases do Ciclo de Vida
www.inatel.br
Ciclos de Vida
Entrega
Fases do Ciclo de Vida
www.inatel.br
Ciclos de Vida
Manutenção
Fases do Ciclo de Vida
www.inatel.br
Ciclos de Vida
Conclusão
A maneira pela qual as fases 
apresentadas serão executadas 
varia dependendo do
projeto
É o Modelo de Ciclo de Vida que 
determina a maneira que as fases irão ocorrer
Fases do Ciclo de Vida
www.inatel.br
Ciclos de Vida
Modelos de Ciclos de Vida
Sequencial/Clássico
	Cascata
Incrementais
	Incremental
	RAD	
Evolucionários
	Por Protótipos
	Espiral
	Concorrente	
Processo Unificado
	Iterativo e Incremental (Rational Unified Process)
Especializados
Baseado em componentes
Métodos formais
Orientado a aspectos
www.inatel.br
Ciclos de Vida
O
p
e
r
a
t
i
o
n
 
a
n
d
m
a
i
n
t
e
n
a
n
c
e
Análise dos
requisitos
Projeto
Implementaçao e 
testes unitários
Integração 
e testes
Operação e 
Manutenção
Cascata (ou Clássico ou Sequencial)
www.inatel.br
Ciclos de Vida
Adequado a situações nas quais os 
requisitos são estáveis e bem conhecidos.
O modelo cascata tem um importante papel na engenharia 
de software....
Ele provê um template no qual as fases de análise, projeto, 
implementação, teste e manutenção podem ser inseridas, 
permanecendo como um amplo modelo para a engenharia 
de software.
Cascata (ou Clássico ou Sequencial)
Lembre-se
www.inatel.br
Ciclos de Vida
Cascata (ou Clássico ou Sequencial)
Vantagens
Fácil de gerenciar: etapas bem definidas e sem sobreposição;
Eficiente em casos nos quais o domínio de aplicação é bem entendido;
Eficiente no desenvolvimento de projetos nos quais vários sistemas similares foram construídos anteriormente.
www.inatel.br
Ciclos de Vida
Cascata (ou Clássico ou Sequencial)
Desvantagens
Dificuldade de adaptação a alterações após o início do processo.
Divisão rígida do projeto em estágios distintos.
Resposta lenta a mudanças.
Em alguns casos, parte da equipe precisa esperar pela conclusão das atividades dos outros. Queda na produtividade.
www.inatel.br
Ciclos de Vida
Objetivo principal:
“Clarear” o 
entendimento
 dos
requisitos
Prototipação
Fonte:http://www.diegomacedo.com.br/modelos-de-ciclo-de-vida/
www.inatel.br
Ciclos de Vida
Prototipação
O paradigma de prototipagem começa com a definição dos requisitos. Um projeto rápido é realizado e concentra-se na representação daqueles aspectos que ficarão visíveis pelo cliente. 
O protótipo é criado e avaliado e é ajustado para satisfazer as necessidades do cliente.
www.inatel.br
Ciclos de Vida
A principal desvantagem do modelo é que o cliente, 
muitas vezes, quer transformar o protótipo no sistema.
Ele não entende que, no desenvolvimento do protótipo, a 
questão “qualidade” não foi considerada.
Falta de visibilidade do processo.
O resultado pode ser um sistema mal estruturado.
Adequado quando há o acordo do cliente no uso de 
protótipos para a definição dos requisitos.
Prototipação
www.inatel.br
Ciclos de Vida
Aplicabilidade:
Partes de sistemas de grande porte (ex. interface 
de usuário).
Sistemas de vida curta.
Quando o cliente tem as necessidades, mas não os
detalhes.
Prototipação
www.inatel.br
Ciclos de Vida
Espiral
Combina conceitos do desenvolvimento por protótipos com o ciclo de vida em cascata.
A cada ciclo (volta na espiral) o software é incrementado e fica mais completo.
Cada final de ciclo (volta) pode gerar uma entrega.
Permite o uso de protótipos para redução de riscos em qualquer etapa.
www.inatel.br
Ciclos de Vida
Espiral
Fonte: Engenharia de Software – Roger S. Pressman – Sexta Edição
Estimativa e cronograma
Análise do projeto
Codificação e teste
Entrega e feedback
Objetivos, restrições
www.inatel.br
Ciclos de Vida
Espiral
O modelo espiral é, atualmente a abordagem mais realística para desenvolvimento de software em grande escala, e usa uma abordagem que capacita a empresa que presta o serviço, e o cliente a entender e reagir aos riscos em cada etapa evolutiva. 
Porém esse tipo de modelo exige considerável experiência na determinação de riscos e depende dessa experiência para ter sucesso.
www.inatel.br
Ciclos de Vida
Espiral
Desvantagens:
Pode ser difícil convencer cliente de usá-lo. Da a sensação de não ser controlado.
Exige competência na avaliação de riscos.
Riscos não descobertos podem causar problemas no projeto.
Vantagens:
Possibilidade de combinar o modelo espiral com outros modelos de ciclo de vida;
Ajuda a aumentar a qualidade pelo planejamento e análise dos riscos em cada fase;
Maior visibilidade para a gerência, sobretudo na gerência de riscos.
www.inatel.br
Ciclos de Vida
Liberação do software em pequenos “pedaços”
chamados de INCREMENTOS.
Incremental
www.inatel.br
Ciclos de Vida
Incremental
Incremento 1
Entrega do Incremento 1
Incremento 2
Entrega do Incremento 2
Incremento N
Entrega do Incremento N
Funcionalidade e Recursos do Software
Tempo decorrido do Projeto
www.inatel.br
Ciclos de Vida
Incremental
Foco voltado para entrega de um produto operacional em cada incremento;
Geralmente o 1° incremento é um produto essencial onde requisitos básicos são atendidos;
Útil quando não há equipe disponível para implementação completa no prazo estabelecido;
Os incrementos podem ser planejados para administrar riscos técnicos;
www.inatel.br
Ciclos de Vida
Vantagens:
O cliente consegue avaliar a funcionalidade do sistema
logo nas primeiras versões.
Redução dos riscos de projeto.
Facilidade no processo de mudança dos requisitos
Facilidade em melhorar e refinar o produto, obtendo 
um produto mais robusto.
Os serviços do sistema considerados mais prioritários 
tendem a ser testados por mais tempo.
Incremental
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Processo Unificado
Proposto por Jacobson, Booch e Rumbaugh (autores da UML).
Processo Unificado da Rational
Dá maior importância à comunicação com o cliente e mecanismos para registrar sua visão (Casos de Uso).
A UML daria apoio às atividades de engenharia de software, mas não ao processo. Por isto, foi proposto o Processo Unificado.
www.inatel.br
Ciclos de Vida
Fases
Fases
Gráfico das baleias
RUP® - Processo Unificado da Rational
Processo Unificado
www.inatel.br
Ciclos de Vida
Concepção
Elaboração
Construção
Transição
Especificação
dos
Requisitos
(Escopo definido)
Tempo
Arquitetura
definida e 
estável
Funcionalidades
implementadas
e testadas
Primeira versão
do 
produto
Marcos
FASES
Iteração
1
Iteração
2
Iterações
preliminares
Iteração
n
Iteração
n+1
Iteração
n+2
Iteração
m
Iteração
m+1
RUP® - Processo Unificado da Rational
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Concepção
Requisitos identificados (em colaboração com cliente e usuários finais).
Proposta de rascunho da arquitetura.
Proposta do plano a ser seguido no projeto.
Descrição dos requisitos fundamentais de negócio por meio de casos de uso.
Planejamento do projeto: recursos, riscos, cronograma e base para os incrementos (o que em cada um).
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Concepção
Critérios para avaliação da fase:
Entendimento de todos os requisitos?
Acordo sobre as estimativas de custo, cronograma,
prioridades, riscos e o processo de desenvolvimento?
Todos os riscos foram identificados e existe um plano 
de contingência para eliminá-los ou reduzí-los?
Arquitetura candidata?
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Concepção
Exemplos de Artefatos :
Documento de requisitos do sistema.
Plano de desenvolvimento do sistema.
Protótipos para eliminação de riscos.
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Elaboração
Refina e expande os casos de uso preliminares.
Modelagem completa do software.
Revisão detalhada do plano elaborado.
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Elaboração
Critérios para avaliação da fase:
Estabilidade dos requisitos e da arquitetura?
Os testes dos protótipos demonstram a solução para os principais riscos?
Há o acordo do cliente com relação ao Documento de 
Requisitos, ao plano de desenvolvimento e a arquitetura
Adotada?
Recursos gastos versus o planejado ainda são aceitos?
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Elaboração
Exemplos de Artefatos :
Documento de arquitetura
Protótipos para eliminação de riscos (arquitetura)
Modelo de projeto e de dados
Documento de requisitos contendo mais detalhes
Plano de desenvolvimento revisado e atualizado
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Construção
Codificação dos componentes de software.
Testes unitários.
Integração dos componentes e módulos.
Testes de integração.
Testes de aceitação baseado nos casos de uso.
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Construção
Critérios para avaliação da fase:
A release do produto está estável e madura o suficiente
para ser entregue ao cliente e usuários finais?
Recursos gastos versus o planejado ainda são aceitos?
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Construção
Exemplos de Artefatos :
A release do sistema pronta para o teste “beta”
Os testes realizados e documentados para garantir a 
funcionalidade do sistema
Rascunho de manuais e sistema de ajuda (Help)
Modelo de projeto atualizado
Modelo de dados atualizado
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Transição
Entrega do software aos usuários finais.
Testes realizados pelos usuários.
Relatórios de feedback – defeitos e modificações.
Criação/finalização das informações de apoio necessárias: manuais, guias de instalação, guias de solução de problemas, etc.).
Na conclusão desta fase, o software torna-se uma versão utilizável.
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Transição
Critérios para avaliação da fase:
Objetivos foram alcançados?
Deve ser começado um novo ciclo?
A release disponibilizada atende às necessidades de negócio?
O usuário está satisfeito?
Recursos gastos versus o planejado ainda são aceitos?
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Transição
Exemplos de Artefatos :
O código fonte completo de acordo com os requisitos
Manuais e/ou sistema de ajuda completos e revisados
Toda a documentação atualizada e revisada
Material de treinamento
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Após a Transição (Produção)
Software é monitorado.
Relatórios de defeitos e modificações.
Pode envolver um novo ciclo de desenvolvimento ou algumas releases adicionais para a manutenção.
Processo Unificado
www.inatel.br
Ciclos de Vida
RUP® - Processo Unificado da Rational
Observações importantes:
As fases não são exclusivamente sequenciais.
Elas podem acontecer de forma simultânea. Pro exemplo, ainda na fase de construção, algumas atividades de transição já foram iniciadas.
Nem tudo se aplica a todos os projetos. Sempre é necessária uma avaliação caso a caso.
Processo Unificado
www.inatel.br
Ciclos de Vida
O produto está sendo utilizado e a fase de 
manutenção é iniciada.
Pode envolver um novo ciclo de desenvolvimento ou 
algumas releases adicionais para a manutenção
 Avaliação da fase de Transição
RUP® - Processo Unificado da Rational
Processo Unificado
www.inatel.br
Ciclos de Vida
 Conheça os vários modelos existentes.
 Conheça bem o que o projeto propõe.
 Escolha o modelo que mais se adapte ao projeto.
Dicas para Escolha
www.inatel.br
Ciclos de Vida
Considerações
De acordo com a NBR ISO/IEC 12207:1998, o ciclo de vida é a “Estrutura contendo processos, atividades e tarefas envolvidas no desenvolvimento, operação e manutenção de um produto de software, abrangendo a vida do sistema, desde a definição de seus requisitos até o término de seu uso.”
 O modelo de ciclo de vida é a primeira escolha a ser feita no processo de software. A partir desta escolha definir-se-á desde a maneira mais adequada de obter as necessidades do cliente, até quando e como o cliente receberá sua primeira versão operacional do sistema.
 Não existe um modelo ideal. O perfil e complexidade do negócio do cliente, o tempo disponível, o custo, a equipe, o ambiente operacional são fatores que influenciarão diretamente na escolha do ciclo de vida de software a ser adotado. 
*
*
*
*
Análise dos Requisitos - Esta fase focaliza o "o quê" o sistema irá fazer. Envolve o levantamento dos requisitos junto ao cliente e usuários finais e planejamento inicial do projeto de software. 
Projeto - Focaliza-se o "como" será feito. Envolve o projeto de software. 
Implementação - Envolve a codificação do sistema e testes unitários.
*
Teste - Envolve o teste de integração, teste do sistema e teste de aceitação.
Entrega - Entrega do software desenvolvido e testado para o cliente.
Manutenção - Esta fase começa a partir da entrega. Concentra-se nas "mudanças" (correção de defeitos, adaptação e melhoramento funcional).
As fases do ciclo de vida podem se sobrepor, ou seja, elas não precisam acontecer
sequencialmente. A maneira que estas fases irão ocorrer, depende do modelo de ciclo de vida adotado para o projeto.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais