ciclo de vida - ::: site de elisio e elaine brito ::: de vida.pdf · ciclo de vida do software...

45
Software Como construir?

Upload: doankhuong

Post on 11-Nov-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

“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

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

“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

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

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

“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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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).