Ciclo de Vida de
Desenvolvimento
Wagner Zaparoli
wzaparoli@gmail.com
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
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
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;
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
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
• 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
• 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
• 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
• 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
Entendendo um Ciclo de Vida Padrão
Pré-
desenvolvimento
Desenvolvimento
Pós-
desenvolvimento
Ciclo de Vida de Desenvolvimento 11
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
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
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
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
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
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
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
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
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
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
Ciclo de Vida de Desenvolvimento 22
INICIAÇÃO
EXECUÇÃO
FINALIZAÇÃO
SUPORTE
ADMINISTRAÇÃO
Desenvolvimento do
Projeto
Apoio ao Desenvolvimento
Gerenciando o 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
Gerenciando o Ciclo de Vida
Ciclo de Vida de Desenvolvimento 24
Atividades de
Controle do
Progresso
Atividades de
Controle
Testes/Homolo
gaçã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
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
Gerenciando o Ciclo de Vida
Ciclo de Vida de Desenvolvimento 26
Atividades
de Controle
de
Mudança
Atividades de
Controle de
Riscos
SUPORTE
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
Gerenciando o Ciclo de Vida
Ciclo de Vida de Desenvolvimento 27
Atividades de
Controle de
Recursos/Custos
ADMINISTRAÇÃO
Executadas no
transcorrer do
desenvolvimento do
projeto com o objetivo de
conhecer e monitorar os
recursos e custos de um
projeto
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
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
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
Ciclo de Vida de
Desenvolvimento
Wagner Zaparoli
wzaparoli@gmail.com

Ciclo de Vida

  • 1.
    Ciclo de Vidade Desenvolvimento Wagner Zaparoli wzaparoli@gmail.com
  • 2.
    Agenda • Importância dociclo 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
  • 3.
    O processo dedesenvolvimento 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
  • 4.
    Ciclo de Vidade 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;
  • 5.
    Desenvolver um sistemanã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
  • 6.
    Abordagens para oDesenvolvimento 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
  • 7.
    • Organiza odesenvolvimento 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
  • 8.
    • Constroi umaversão “descartável” do sistema. • Testa os conceitos e requisitos indicados pelo cliente. PrototipagemAbordagens para o Desenvolvimento Ciclo de Vida de Desenvolvimento 8
  • 9.
    • Utiliza oconceito 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
  • 10.
    • 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
  • 11.
    Entendendo um Ciclode Vida Padrão Pré- desenvolvimento Desenvolvimento Pós- desenvolvimento Ciclo de Vida de Desenvolvimento 11
  • 12.
    Entendendo um Ciclode 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
  • 13.
    Planejamento Desenvolvimento • Definir osmembros 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
  • 14.
    Concepção Desenvolvimento • Elicitar osrequisitos; • 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
  • 15.
    Análise Desenvolvimento • Elaborar odiagrama 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
  • 16.
    Projeto Desenvolvimento • Especificar asclasses; • 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
  • 17.
    Construção Desenvolvimento • Criar aestrutura 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
  • 18.
    Testes/Docum. Desenvolvimento • Realizar ostestes 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
  • 19.
    Homologação Desenvolvimento • Realizar ostestes 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
  • 20.
    Implantação Desenvolvimento • Montar asrotinas 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
  • 21.
    Manutenção Pós-desenvolvimento • Elicitar requisitosde 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
  • 22.
    Ciclo de Vidade Desenvolvimento 22 INICIAÇÃO EXECUÇÃO FINALIZAÇÃO SUPORTE ADMINISTRAÇÃO Desenvolvimento do Projeto Apoio ao Desenvolvimento Gerenciando o Ciclo de Vida
  • 23.
    Gerenciando o Ciclode 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
  • 24.
    Gerenciando o Ciclode Vida Ciclo de Vida de Desenvolvimento 24 Atividades de Controle do Progresso Atividades de Controle Testes/Homolo gaçã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
  • 25.
    Gerenciando o Ciclode 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
  • 26.
    Gerenciando o Ciclode Vida Ciclo de Vida de Desenvolvimento 26 Atividades de Controle de Mudança Atividades de Controle de Riscos SUPORTE 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
  • 27.
    Gerenciando o Ciclode Vida Ciclo de Vida de Desenvolvimento 27 Atividades de Controle de Recursos/Custos ADMINISTRAÇÃO Executadas no transcorrer do desenvolvimento do projeto com o objetivo de conhecer e monitorar os recursos e custos de um projeto
  • 28.
    Quadro Resumo Gestão Ciclode 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
  • 29.
    Ciclo de Vidade 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
  • 30.
    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
  • 31.
    Ciclo de Vidade Desenvolvimento Wagner Zaparoli wzaparoli@gmail.com