Download ppt - Ciclo de Vida

Transcript
Page 1: Ciclo de Vida

Ciclo de Vida de

Desenvolvimento

Wagner [email protected]

Page 2: Ciclo de Vida

Agenda

• Importância do ciclo de vida;

• Abordagens para o desenvolvimento de sistemas;

• Entendendo um ciclo de vida padrão;

• Gerenciando o ciclo de vida;

Ciclo de Vida de Desenvolvimento 2

Page 3: Ciclo de Vida

O processo de desenvolvimento de um sistema prevê a realização de diversas atividades por diferentes atores.

Web Designer

Analista Neg. Analista Sist.

Programador

Arquiteto

Testador

Usuário

Patrocinador

Gestor

Ciclo de Vida de Desenvolvimento 3

Page 4: Ciclo de Vida

Ciclo de Vida de Desenvolvimento 4

O agrupamento dessas atividades por características de afinidade técnica ou relacionamento de precedência, implicam na criação dos ciclos de vida.

A importância deles se dá por:

• Permitir a divisão do processo de desenvolvimento em partes menores, favorecendo uma administração mais adequada;

• Permitir analisar a qualidade e os resultados do projeto durante o processo de desenvolvimento;

• Permitir uma flexibilização de papéis da equipe de desenvolvimento no transcorrer do projeto;

• Tornar o processo de desenvolvimento mais previsível e eficiente;

Page 5: Ciclo de Vida

Desenvolver um sistema não significa apenas elaborar um programa!

Desenvolver o Software

Selecionar o hardware

Testar o sistema

Documentar e treinar usuários

Ciclo de Vida de Desenvolvimento 5

Page 6: Ciclo de Vida

Abordagens para o Desenvolvimento

Concepção

Análise

Projeto

Codificação

Testes

Operação

Sequencial

• Cada etapa só se inicia com a realização completa da etapa anterior.

• Podem não representar as ocorrências do mundo real.

Ciclo de Vida de Desenvolvimento 6

Page 7: Ciclo de Vida

• Organiza o desenvolvimento como um processo iterativo em que vários conjuntos se sucedem até se obter o sistema final.

• Permite que ao longo de cada iteração se obter versões do sistema cada vez mais completas.

• Exige considerável experiência na avaliação dos riscos e fia-se nessa experiência para o sucesso.

EspiralAbordagens para o Desenvolvimento

Ciclo de Vida de Desenvolvimento 7

Planejamento

Análise de Riscos Verificação

Execução

Page 8: Ciclo de Vida

• Constroi uma versão “descartável” do sistema.

• Testa os conceitos e requisitos indicados pelo cliente.

PrototipagemAbordagens para o Desenvolvimento

Ciclo de Vida de Desenvolvimento 8

Page 9: Ciclo de Vida

• Utiliza o conceito de iteração.

• É dirigido por casos de uso e centrado na arquitetura.

Concepção Elaboração Construção Transição

Processo Unificado

Fases

Modelagem de Negócio

Elicitação de Requisitos

Análise e Projeto

Implementação

Testes

Implantação/Entrega

Atividades

• Os componentes são refinados sucessivamente até ficarem prontos.

Abordagens para o Desenvolvimento

Ciclo de Vida de Desenvolvimento 9

Page 10: Ciclo de Vida

• Equipes auto-organizadas.

• Sistema evolui por uma série de rápidas iterações.

Processo Ágil

• Os requisitos são capturados como itens em uma lista de backlog do sistema.

• Modelo adaptativo – responde por mudanças até o último momento do desenvolvimento.

Abordagens para o Desenvolvimento

Ciclo de Vida de Desenvolvimento 10

Page 11: Ciclo de Vida

Entendendo um Ciclo de Vida Padrão

Pré-desenvolvimento

Desenvolvimento Pós-desenvolvimento

Ciclo de Vida de Desenvolvimento 11

Page 12: Ciclo de Vida

Entendendo um Ciclo de Vida Padrão

Estudo Preliminar

• Identificar as necessidades funcionais;

• Identificar as necessidades não funcionais (software,

hardware, infra-estrutura, etc.);

• Estimar as necessidades de recursos humanos;

• Estimar tempo de esforço;

• Identificar potenciais riscos;

• Relacionar benefícios do projeto;

• Estimar custo;

• Analisar relação custo/benefício;

• Obter aprovação do projeto;

Pré-desenvolvimento

Ciclo de Vida de Desenvolvimento 12

Page 13: Ciclo de Vida

Planejamento

Desenvolvimento

• Definir os membros da equipe;

• Definir o papel de cada membro da equipe;

• Definir o cronograma oficial do projeto;

• Definir o ambiente de desenvolvimento;

Entendendo um Ciclo de Vida Padrão

Ciclo de Vida de Desenvolvimento 13

Page 14: Ciclo de Vida

Concepção

Desenvolvimento

• Elicitar os requisitos;

• Elaborar modelo conceitual de dados;

• Elaborar modelo conceitual da arquitetura;

• Especificar ambientes para o projeto;

• Inspecionar os produtos da etapa;

• Obter aprovação do cliente sobre produtos gerados;

Entendendo um Ciclo de Vida Padrão

Ciclo de Vida de Desenvolvimento 14

Page 15: Ciclo de Vida

Análise

Desenvolvimento

• Elaborar o diagrama de casos de uso;

• Especificar os casos de uso;

• Especificar as integrações;

• Especificar o tratamento de erros;

• Elaborar o modelo lógico de dados;

• Elaborar o diagrama de classes;

• Inspecionar os produtos da etapa;

• Obter aprovação do cliente sobre produtos gerados;

Entendendo um Ciclo de Vida Padrão

Ciclo de Vida de Desenvolvimento 15

Page 16: Ciclo de Vida

Projeto

Desenvolvimento

• Especificar as classes;

• Especificar métodos e atributos;

• Elaborar o modelo físico de dados;

• Especificar a arquitetura do sistema;

• Especificar telas/relatórios;

• Planejar os testes de construção;

• Inspecionar os produtos da etapa;

• Obter aprovação do cliente sobre produtos gerados;

Entendendo um Ciclo de Vida Padrão

Ciclo de Vida de Desenvolvimento 16

Page 17: Ciclo de Vida

Construção

Desenvolvimento

• Criar a estrutura física do banco de dados;

• Construir os componentes de negócio;

• Efetuar a carga inicial para os testes;

• Realizar os testes unitários;

• Planejar os testes de integração/sistema;

• Inspecionar os produtos da etapa;

Entendendo um Ciclo de Vida Padrão

Ciclo de Vida de Desenvolvimento 17

Page 18: Ciclo de Vida

Testes/Docum.

Desenvolvimento

• Realizar os testes de integração;

• Realizar os testes de sistema;

• Elaborar manuais;

• Planejar os testes de homologação;

• Inspecionar os produtos da etapa;

Entendendo um Ciclo de Vida Padrão

Ciclo de Vida de Desenvolvimento 18

Page 19: Ciclo de Vida

Homologação

Desenvolvimento

• Realizar os testes de homologação;

• Realizar os testes de aceitação (cliente);

• Elaborar o plano de implantação;

• Planejar os testes de implantação;

• Realizar treinamentos;

• Preparar infra-estrutura de produção;

• Inspecionar os produtos da etapa;

Entendendo um Ciclo de Vida Padrão

Ciclo de Vida de Desenvolvimento 19

Page 20: Ciclo de Vida

Implantação

Desenvolvimento

• Montar as rotinas de produção;

• Efetuar as cargas devidas;

• Inspecionar as cargas;

• Realizar testes de produção;

• Formalizar aceite final;

• Elaborar “lições aprendidas”;

• Realizar acompanhamento;

Entendendo um Ciclo de Vida Padrão

Ciclo de Vida de Desenvolvimento 20

Page 21: Ciclo de Vida

Manutenção

Pós-desenvolvimento

• Elicitar requisitos de manutenção;

• Definir necessidades, riscos e impactos;

• Realizar estudo de viabilidade;

• Planejar manutenção;

• Executar manutenção;

• Realizar testes de manutenção;

• Realizar testes de aceitação;

• Colocar em produção;

• Realizar acompanhamento;

Entendendo um Ciclo de Vida Padrão

Ciclo de Vida de Desenvolvimento 21

Page 22: Ciclo de Vida

Ciclo de Vida de Desenvolvimento 22

INICIAÇÃO

EXECUÇÃO

FINALIZAÇÃO

SUPORTE

ADMINISTRAÇÃO

Desenvolvimento doProjeto

Apoio ao Desenvolvimento

Gerenciando o Ciclo de Vida

Page 23: Ciclo de Vida

Gerenciando o Ciclo de Vida

Ciclo de Vida de Desenvolvimento 23

Atividades Preliminares

Atividades de Planejamento

INICIAÇÃO

Executadas quando há necessidade de se desenvolver um novo projeto

Executadas após a solicitação de um novo projeto ter sido aprovada

Page 24: Ciclo de Vida

Gerenciando o Ciclo de Vida

Ciclo de Vida de Desenvolvimento 24

Atividades de Controle do Progresso

Atividades de Controle

Testes/Homologação

EXECUÇÃO

Executadas no transcorrer do desenvolvimento de todo o projeto

Executadas em pontos específicos do projeto, como nas etapas de Projeto, Construção e Homologação

Page 25: Ciclo de Vida

Gerenciando o Ciclo de Vida

Ciclo de Vida de Desenvolvimento 25

Atividades de Controle de Entrega

FINALIZAÇÃO

Executadas no transcorrer do desenvolvimento do projeto, de acordo com os tipos de entregas existentes

Page 26: Ciclo de Vida

Gerenciando o Ciclo de Vida

Ciclo de Vida de Desenvolvimento 26

Atividades de Controle

de Mudança

Atividades de Controle de

RiscosSUPORTE

Executadas no transcorrer do desenvolvimento do projeto com o objetivo de identificar e monitorar os riscos

Atividades de Controle

Performance/Qualidade

Executadas no transcorrer do desenvolvimento do projeto sempre que houver mudanças no escopo ou indícios de mudanças

Executadas no transcorrer do desenvolvimento do projeto com o objetivo de manter um histórico do tempo investido na elaboração dos artefatos, bem como na melhoria do processo de desenvolvimento

Page 27: Ciclo de Vida

Gerenciando o Ciclo de Vida

Ciclo de Vida de Desenvolvimento 27

Atividades de Controle de

Recursos/CustosADMINISTRAÇÃO

Executadas no transcorrer do desenvolvimento do projeto com o objetivo de conhecer e monitorar os recursos e custos de um projeto

Page 28: Ciclo de Vida

Quadro Resumo Gestão

Ciclo de Vida de Desenvolvimento 28

Atividades de Controle de

Recursos/Custos

INICIAÇÃO EXECUÇÃO FINALIZAÇÃO SUPORTE ADMINISTRAÇÃO

Atividades Preliminares

Atividades de Planejamento

Atividades de Controle do Progresso

Atividades de Controle Testes/

Homologação

Atividades de Controle de

Entrega

Atividades de Controle de Mudança

Atividades de Controle de

Riscos

Atividades de Controle Performance/Qualidade

Page 29: Ciclo de Vida

Ciclo de Vida de Desenvolvimento

A escolha da abordagem para o desenvolvimento de um sistema depende de algumas características, como tempo

de esforço/duração, nível de complexidade, recursos disponíveis, perfil do cliente/usuário e impacto do sistema

na organização, entre outras

Page 30: Ciclo de Vida

Sugestões Bibliográficas

• Batista, E. – Sistemas de Informação, São Paulo, Saraiva, 2004;• Carvalho, A.R., Chiossi, T.S. – Introdução à Engenharia de Software, Campinas, Ed. Unicamp, 2001;• Davis, W. S. – Análise e Projeto de Sistemas, Rio de Janeiro, LTC, 1987;• De Marco, T. – Análise Estruturada e Especificação de Sistemas, Rio de Janeiro, Campus, 1989;• Gane, C., Sarson, T. – Análise Estruturada de Sistemas, Rio de Janeiro, LTC, 1984;• Gustafson, D. – Engenharia de Software, Porto Alegre, Bookman, 2003;• Melendez, R. – Prototipação de Sistemas de Informações, Rio de Janeiro, LTC, 1990;• Pádua, W. – Engenharia de Software, Rio de Janeiro, LTC, 2001;• Peters, J. F., Pedrycz, W. – Engenharia de Sofware, Rio de Janeiro, Campus, 2001;• Pfleeger, Shari, L. – Engenharia de Software, São Paulo, Prentice Hall, 2004;• Pressman, R. S. – Engenharia de Software, São Paulo, McGrawHill, 2002;• Rocha, A.R.C. – Qualidade de Software, São Paulo, Prentice Hall, 2001;• Rosini, A. M. – Administração de Sistemas de Informação e a Gestão do conhecimento, São Paulo, Thomson, 2003;• Sommerville, I. Engenharia de Software, São Paulo, Addison Wesley, 2003;• Yourdon, E. Análise Estruturada Moderna, Rio de Janeiro, Campus, 1990;• Yourdon, E. – Projeto Estruturado de Sistemas, Rio de Janeiro, 1992;• Yourdon, E. – Projetos Virtualmente Impossíveis, Makron, 1999;

Ciclo de Vida de Desenvolvimento 30

Page 31: Ciclo de Vida

Ciclo de Vida de

Desenvolvimento

Wagner [email protected]