Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software...
-
Upload
doankhuong -
Category
Documents
-
view
217 -
download
0
Transcript of Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software...
![Page 1: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/1.jpg)
Software
• Como construir?
![Page 2: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/2.jpg)
Produção de Software
Hoje, temos normas da ISO 9003 quecertificam o processo de produção desoftware bem como o software pronto.
Normas exigem qualidade no gerenciamentoNormas exigem qualidade no gerenciamentodo projeto e tais exigências são convertidasem benefícios para os usuários edesenvolvedores.
![Page 3: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/3.jpg)
Ciclo de Vida do Software
Desenvolvimento de um software �feito em fases.Fases colocadas em seqüência � Ciclo de Vida
Ciclo de Vida começa quando o usuário solicita oCiclo de Vida começa quando o usuário solicita osoftware e ocorre a concepção do problema etermina quando o software cai em desuso.
Ciclo de Vida:Ciclo de Vida:Ciclo de Vida:Ciclo de Vida:“o modo como fazemos as coisas por aqui”“o modo como fazemos as coisas por aqui”“o modo como fazemos as coisas por aqui”“o modo como fazemos as coisas por aqui”
![Page 4: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/4.jpg)
Ciclo de Vida do Software
O ciclo de vida deve viabilizar:• Definição de pontos de controle;• Planejamento e acompanhamento do progresso;• Planejamento e acompanhamento do orçamento• Planejamento e acompanhamento do orçamento• Estimativas• Gerência de riscoPermite detectar os problemas exatos
na hora exata.
![Page 5: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/5.jpg)
Modelos de processos
• Especificam:– atividades que devem ser executadas– a ordem em que devem ser executadas.
• Objetivo:Objetivo:– auxiliar processo de produção para ter:
• produtos de alta qualidade,• produzidos mais rápido• a um custo menor.
![Page 6: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/6.jpg)
Modelos de processo
• Focalizam:– “o que”– “como”– “mudanças”– “mudanças”
![Page 7: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/7.jpg)
“O que” será desenvolvido
Que informação vai ser processada;
Que função e desempenho são desejados;
Que comportamento pode ser esperado;Que comportamento pode ser esperado;
Que interfaces serão estabelecidas;
Que restrições de projeto existem;
Que critérios de validação são exigidos para
definir um sistema bem sucedido
![Page 8: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/8.jpg)
O que – 3 tarefas
• Engenharia de sistemas – conhecer o sistema como um todo para que o software
possa ter boa interoperabilidade
• Planejamento do projeto de software– seqüência de tarefas, datas, documentos a serem gerados– seqüência de tarefas, datas, documentos a serem gerados
• Análise de requisitos – coleta de dados intensificada e concentrada no software
![Page 9: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/9.jpg)
“Como” será desenvolvido
• Como os dados serão estruturados;• Como a função será implementada;• Como as interfaces serão caracterizadas;• Como o projeto será traduzido em uma• Como o projeto será traduzido em uma
linguagem de programação;• Como os teste serão efetuados.
![Page 10: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/10.jpg)
Como – 3 tarefas
• projeto do software– deve ser documentado
• geração do código – em linguagem de programação
• teste do software• teste do software– Definindo nível de corretude, confiabilidade,
robustez, desempenho, amigabilidade...
![Page 11: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/11.jpg)
Qualidades de Software
• Corretude – de acordo com especificação funcionalmente corretos.
• Confiabilidade – usuário pode depender dele. Até quando?
• Robustez – capacidade de recuperar-se de erros não • Robustez – capacidade de recuperar-se de erros não previsto(falha HD, queda energia)
• Desempenho – performance – uso recurso computacional
![Page 12: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/12.jpg)
“Mudanças”
• Correção de erros;• Adaptações exigidas conforme o ambiente dosoftware evolui;• Melhoramentos funcionais ocorridos por alteraçõesnos requisitos do cliente.nos requisitos do cliente.
A fase de manutenção reaplica os passos das fasesde definição e desenvolvimento no contexto de umsoftware existente.
![Page 13: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/13.jpg)
Manutenção de Software
• Custos Hardware x Software
– 1970 = 8:2
– 1991 = 2:8
– Hoje = 1:9
• Custos com manutenção• Custos com manutenção
– HP-Alemanha 50% engenheiros envolvidos com manutenção
– VW 80% engenheiros envolvidos com manutenção
![Page 14: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/14.jpg)
Exemplo de fases
• Solicitação do Usuário
• Validação da Solicitação
• Proposta de Sistema
• Projeto de Sistema • Projeto de Sistema
• Desenvolvimento de Sistema
• Manutenção de Sistema
![Page 15: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/15.jpg)
Fase O1- Solicitação do Usuário
Atividades:1 - Pedido do Usuário: E uma atividade informal, na qual o
usuário expõe a sua necessidade e a natureza do problema.
2 - Avaliação do Problema: Faz-se por meio de contatos com o solicitante e/ou encarregado, definindo-se, em linhas gerais, solicitante e/ou encarregado, definindo-se, em linhas gerais, as informações necessárias, sua amplitude, envolvimentos e compatibilidade com o exposto pelo usuário.
3 - Formalização da Solicitação: Consiste em sintetizar, no formulário "Pedido do Usuário", as informações obtidas na atividade anterior e submetê-las à aprovação do usuário, formalmente.
![Page 16: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/16.jpg)
Fase 02 - Viabilização da SolicitaçãoAtividades:
1 - Estudo do Problema: Consiste em identificar a amplitude e a
abrangência do problema, bem como as possíveis soluções, através
de reuniões e contatos com o usuário.
2 - Disponibilidade de Recursos: Consiste em identificar os recursos
necessários às soluções encontradas para o problema que estão ou
poderão estar disponíveis.poderão estar disponíveis.
3 - Relações Custo/Benefício: São elaboradas de modo a favorecer a
compreensão da exata dimensão das soluções encontradas, em
termos de custo de desenvolvimento, tempo necessário e benefícios
a obter.
4 - Relatório Formal do "Estudo de Viabilidade": Consiste em sintetizar,
em um relatório, o resultado do estudo do problema e da(s)
solução(ões) encontrada(s), visando demonstrar a viabilidade da
solicitação do usuário.
![Page 17: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/17.jpg)
Fase 03 - Proposta de SistemaAtividades:
1 - Planejamento do Projeto: consiste em estabelecer a organização
necessária ao desenvolvimento do projeto.
2 - Levantamento Preliminar: nesta atividade, deverão ser obtidas as
informações preliminares da situação atual, relacionando-se as
expectativas referentes à resolução dos problemas apresentados.
3 - Análise dos Dados: serão identificados Os aspectos relevantes do
levantamento preliminar, selecionando-se as informações que
possibilitem estabelecer os objetivos a serem atendidos pela solução,
considerando-se as premissas e restrições do projeto.
4 - Estratégia de Desenvolvimento: é a determinação das metas para as
diversas atividades que serão executadas, levando-se em
consideração aspectos como: recursos disponíveis, prioridades,
políticas em vigor e necessidades do usuário.
![Page 18: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/18.jpg)
Fase 03 - Proposta de SistemaAtividades:
5- Definições Gerais: consiste em estabelecer:
– As principais funções "Input's" e "Output's" e o envolvimento do usuário com cada uma;
– A amplitude do projeto (áreas envolvidas, abrangência da solução);
– Os objetivos a serem alcançados com a execução do projeto;
– Filosofias e enfoques que caracterizam a solução;
– Um relacionamento ou integração da sistemática atual com a proposta; e
– Os procedimentos necessários à segurança do processamento do sistema proposto.– Os procedimentos necessários à segurança do processamento do sistema proposto.
6 - Relatório Formal - Proposta de Sistema: é a elaboração do documento-base desta
fase. Este tem por finalidade obter a aprovação do usuário à alternativa de solução
mais conveniente e autorizar o seu projeto.
* Ponto de Verificação: Avaliar se a solução proposta atende as necessidades do
usuário e se a estratégia de desenvolvimento proposta está compatível com a
filosofia atual da empresa.
7 - Apresentação da proposta: é feita didática e objetivamente, aos envolvidos.
8 – Aprovação: para isto é distribuída, após a apresentação, uma cópia do relatório
formal, devidamente encadernado, às pessoas autorizadas.
![Page 19: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/19.jpg)
Fase 04 - Projeto do Sistema
Atividades:
1 - Avaliação da Proposta: é dirigida aos procedimentos da alternativa
aprovada, levando-se em consideração as eventuais recomendações
e/ou ressalvas feitas pelo comitê de sistemas, por ocasião da
apresentação/aprovação da proposta. Elaboração de um plano de
ação.ação.
* Ponto de Verificação: consiste em aprovar o planejamento das
atividades necessárias ao desenvolvimento
2 - Planejamento do Projeto: é a organização da equipe e do sistema.
3 - Levantamento Detalhado: visa determinar as necessidades de
informação de cada setor, no que concebe à coleta, processamento,
armazenamento e recuperação.
4 - Analise dos Dados: é a revisão do levantamento e o desenho do
sistema a ser envolvido.
![Page 20: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/20.jpg)
Fase 04 - Projeto do SistemaAtividades:
• 5 - Procedimentos especiais: visam fornecer subsídios as áreas de DB (Bancos de Dados) e
TP (Teleprocessamento) para definição dos procedimentos por elas requeridos.
• * Ponto de Verificação: avaliar se o conjunto de definições atende as necessidades da área
de DB e/ou TP.
• 6 - Elaboração do Relatório Formal: deve descrever, detalhadamente, o modelo do sistema a
ser desenvolvido, tendo por finalidade dar ao usuário conhecimento exato das suas rotinas e
procedimentos, para a sua aprovação.procedimentos, para a sua aprovação.
• * Ponto de Verificação: avaliar se 0 modelo proposto atende as necessidades do usuário e se
a estratégia de desenvolvimento está compatível com a filosofia atual da empresa.
• 7 - Apresentação do Projeto: é feita didática e objetivamente aos elementos envolvidos e
abrange:
– Planejamento da apresentação;
– Preparação do material didático necessário;
– Apresentação interna;
– Obtenção da aprovação.
• 8 – Aprovação: é distribuída uma cópia do relatório formal, logo após a apresentação,
devidamente encadernado, as pessoas autorizadas.
![Page 21: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/21.jpg)
Fase O5 - Desenvolvimento de SistemasAtividades:
1 - Revisão de Procedimentos: consiste na reavaliação dos procedimentos definidos
no projeto e no detalhamento das necessidades funcionais, operacionais e técnicas
para o desenvolvimento do sistema.
2 - Planejamento das Atividades: consiste em organizar e distribuir todas as atividades
a serem cumpridas nesta etapa.
* Ponto de Verificação: aprovar o planejamento das tarefas necessárias ao
desenvolvimento do sistema.desenvolvimento do sistema.
3 - Consolidação da Estrutura de Dados: trata-se da revisão e estabelecimento
definitivo do conteúdo de toda a base de dados do sistema, qualquer que seja a
sua característica.
* Ponto de Verificação: avaliar a revisão e a consolidação da estrutura de dados.
4 - Definição das Rotinas de Processamento: consiste em agrupar, logicamente, todos
os processos do sistema, visando ao desenvolvimento modular, estabelecer os
meios, características e detalhes.
5 – Programação: é a distribuição, definição e acompanhamento dos serviços de
programação do sistema.
![Page 22: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/22.jpg)
Fase O5 - Desenvolvimento de SistemasAtividades:
6 - Elaboração dos Manuais Operacionais: consiste em agrupar, didaticamente, as
informações necessárias ao perfeito entendimento do sistema e à sua correta
operação.
7 - Rotina de Conversão: trata-se da criação do processo necessário à conversão da
informações (para sistemas existentes) ou iniciarão da base de dados.
8 – Simulação: consiste em proceder-se à simulação de todo o sistema, mediante teste
integrados de todos os programas, com informações, fluxos e mapas de integrados de todos os programas, com informações, fluxos e mapas de
acompanhamento, para verificação do perfeito funcionamento das rotinas.
* Ponto de Verificação: aprovar resultados obtidos na simulação pelo usuário.
9 – Treinamento: consiste em orientar todos os envolvidos na maneira de utilizar,
opera e controlar o sistema a ser implantado.
10 – Implantação: é a colocação em prática do sistema desenvolvido e a efetivação da
mudanças organizacionais requeridas para a sua correta operação.
* Ponto de Verificação: realizar uma reunião para formalizar a aceitação do sistema
pele usuários e áreas diretamente envolvidas.
![Page 23: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/23.jpg)
Fase 06 - Manutenção do Sistema
Atividades:
1 – Avaliação: consiste em verificar, periodicamente, a "performance" do sistema implantado, efetuando-se correções, ajustes e implementações.
2 - Pedido de Alteração: onde se aponta a natureza do problema, a necessidade e a urgência da solução.problema, a necessidade e a urgência da solução.
3 - Diagnóstico da Solicitação: traçam-se considerações sobre as causas do problema e sobre a solução requerida, determinando-se, em função do "porte" da alteração, a atividade necessária ao desenvolvimento da solução, aplicando-se as fases da metodologia, desde a solicitação do usuário até a implantação da solução, passando-se, obrigatoriamente, pela atualização da documentação necessária.
![Page 24: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/24.jpg)
Alguns modelos de processos
• Ciclo de vida clássico,• Modelo Evolutivo• Modelo Iterativo e Incremental• Etc.• Etc.
![Page 25: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/25.jpg)
Ciclo de Vida Clássico (Modelo em Cascata)
• É um método sistemático e seqüencial, em que o resultado de uma fase se constitui na entrada da outra fase
• Propicia: disciplina, planejamento e gerenciamento.gerenciamento.
• Utilizado quando requisitos estão claros no início do desenvolvimento.
![Page 26: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/26.jpg)
Ciclo de Vida Clássico (Modelo em Cascata)
Análise e
especificação de
requisitos
Projeto
Implementação
e
Teste unitário
Integração e
Testes do
sistema
Operação e
manutenção
![Page 27: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/27.jpg)
Problemas do Ciclo de Vida Clássico
• Rigidez– desvios são desencorajados pois requerem replanejamento;
• Planejamento é orientado para entrega do produto desoftware em uma data única;software em uma data única;
• Processo de desenvolvimento pode ser longo– aplicação pode ser entregue quando as necessidades já
tiverem sido alteradas
![Page 28: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/28.jpg)
Paradigma Evolutivo
• Baseado no desenvolvimento e implementação de um produto inicial, que é submetido aos comentários e críticas do usuário.
• O produto vai sendo refinado através de múltiplas versões, até que o produto de múltiplas versões, até que o produto de software almejado tenha sido desenvolvido.
![Page 29: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/29.jpg)
Paradigma Evolutivo
• Desenvolvimento e validação executadas paralelamente• Rápido feedback entre elas• Desenvolvimento exploratório
– trabalhar junto com o usuário– trabalhar junto com o usuário– descobrir requisitos de modo incremental
• Começa com partes que são mais bem entendidas, ea partir delas ocorre a evolução, à medida que novascaracterísticas são adicionadas depois de sugeridaspelo usuário.
![Page 30: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/30.jpg)
Paradigma Evolutivo
Descrição
Atividades Paralelas
Desenvolvimento
Versão Inicial
Versão Intermediária
Validação
Versão Intermediária
Versão Final
![Page 31: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/31.jpg)
Evolutivo usa Protótipo descartável
• Entender os requisitos do usuário• Obter melhor definição dos requisitos• Fazer experimentos com os requisitos do usuário quenão estão bem entendidos• Útil quando usuário não consegue identificar detalhesde entrada, processamento e saída• Útil quando usuário não consegue identificar detalhesde entrada, processamento e saída• Possibilita criar um modelo do software que lhepermitirá perceber as reações iniciais do usuário eobter sugestões para mudanças.
![Page 32: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/32.jpg)
Problemas do Modelo Evolutivo
• Processo não é visível– desenvolvimento ocorre de modo rápido, não produz
documentos de cada versão do produto• Pobremente estruturados
– mudanças constantes tendem a corromper a estrutura do– mudanças constantes tendem a corromper a estrutura dosoftware
• Cliente confunde protótipo com o próprio sistemafuncionando
![Page 33: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/33.jpg)
• Princípios:– dividir o trabalho em pacotes de trabalho menores,– ordenar por prioridades, desenvolvendo e
implantando um pacote por vez.
Processo Unificado Modelo Iterativo e Incremental
implantando um pacote por vez.– como o software é entregue aos poucos para o
cliente, cada entrega significa um aumento, emrelação ao cenário anterior.
![Page 34: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/34.jpg)
Iterativo
Nível de detalhe vai aumentando em iterações sucessivas
![Page 35: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/35.jpg)
Incremental
Aumenta pouco-a-pouco o escopo do sistema.
![Page 36: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/36.jpg)
Processo Unificado
![Page 37: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/37.jpg)
Vantagens dos Processos Iterativos
• Entrega de pacotes possibilita feedbacks mais cedo.• AntecipaAntecipaAntecipaAntecipa mudançasmudançasmudançasmudanças - quanto mais tardiamente uma
alteração for disparada, maior o retrabalho econseqüentemente maior o custo envolvido.conseqüentemente maior o custo envolvido.
tempo
cust
o
Custo de Alteração
![Page 38: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/38.jpg)
Vantagens dos Processos Iterativos
• ControlaControlaControlaControla riscosriscosriscosriscos:– riscos do projeto são avaliados a cada nova iteração– Verifica se eles foram atenuados ou não e como esses
riscos foram aceitos pelo cliente podendo assim reavaliar osriscos para as próximas iterações.
• FocaFocaFocaFoca oooo desenvolvdesenvolvdesenvolvdesenvolv.... nononono produtoprodutoprodutoproduto dodododo clienteclienteclientecliente:• FocaFocaFocaFoca oooo desenvolvdesenvolvdesenvolvdesenvolv.... nononono produtoprodutoprodutoproduto dodododo clienteclienteclientecliente:– além do produto final existe a produção de artefatos
intermediários.– focar esforços no produto final reduz o desperdício do
projeto.
![Page 39: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/39.jpg)
Vantagens dos Processos Iterativos
• AumentaAumentaAumentaAumenta aaaa qualidadequalidadequalidadequalidade dodododo produtoprodutoprodutoproduto finalfinalfinalfinal:– Se, de um lado, as mudanças podem ser um
obstáculo para os que desenvolvem e para os quecontrolam prazo e orçamento, elas podem tambémindicar que o produto de software está passandoindicar que o produto de software está passandopor ajustes e vai se aproximando da solução idealpara o cliente. Mudanças permitem melhorar asolução de software.
![Page 40: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/40.jpg)
Método ágil
• Atualmente vem sendo muito utilizados os conceitos de desenvolvimento de software ágil que utilizam o modelo iterativo e incremental
• Em 2001,grupo de 17 pessoas, referências mundiais em desenvolvimento de software mundiais em desenvolvimento de software lança o manifesto ágil
![Page 41: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/41.jpg)
Manifesto ágil - Princípios
• Indivíduos e interações são mais importantes queprocessos e ferramentas;
• Software funcionando é mais importante do quedocumentação detalhada;
• Colaboração com o cliente é mais importante do que• Colaboração com o cliente é mais importante do quenegociação de contrato;
• Adaptação à mudanças é mais importante do queseguir o plano inicial.
![Page 42: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/42.jpg)
Manifesto ágil - Motivações
• Reação às metodologias pesadas• Menos orientação ao documento e mais
orientação ao código• Métodos claros e adaptáveis• Métodos claros e adaptáveis• Processos ágeis (evitar atividades que
consomem e não produzem ganhos visíveis)
![Page 43: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/43.jpg)
Metodologias ágeis
• São uma atitude, não um processo prescritivo• É um suplemento aos métodos existentes e não umametodologia completa.• É uma forma efetiva de se trabalhar em conjunto paraatingir as necessidades das partes interessadas noprojeto.atingir as necessidades das partes interessadas noprojeto.• O cliente faz parte da equipe de desenvolvimento.
![Page 44: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/44.jpg)
Metodologias ágeis
• As metodologias ágeis não são contra adocumentação, pelo contrário, elasaconselham a criação de documentos queaconselham a criação de documentos quetenham valor.
![Page 45: Ciclo de Vida - ::: Site de Elisio e Elaine Brito ::: de Vida.pdf · Ciclo de Vida do Software Desenvolvimento de um software feito em fases. Fases colocadas em seqüência Ciclo](https://reader031.fdocumentos.tips/reader031/viewer/2022021909/5be7e8b009d3f2f21b8c9c7b/html5/thumbnails/45.jpg)
Exemplos de métodos ágeis:
• Extreme Programing(XP);• Scrum;• Feature Driven Development(FDD);Feature Driven Development(FDD);• Crystal/Clear;• Dynamic System Development Method(DSDM);• Adaptive Software Development(ASD).