O documento discute os principais aspectos relacionados ao ciclo de vida de desenvolvimento de sistemas, incluindo abordagens como sequencial, espiral, prototipagem e ágil. Ele explica as fases típicas de um ciclo de vida padrão como pré-desenvolvimento, desenvolvimento e pós-desenvolvimento e como o gerenciamento adequado do ciclo de vida é importante para o sucesso de um projeto.
1. Ciclo de Vida de
Desenvolvimento
Wagner Zaparoli
wzaparoli@gmail.com
2. 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
3. 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
4. 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;
5. 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
6. 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
7. • 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
8. • 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
9. • 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
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 Ciclo de Vida Padrão
Pré-
desenvolvimento
Desenvolvimento
Pós-
desenvolvimento
Ciclo de Vida de Desenvolvimento 11
12. 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
13. 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
14. 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
15. 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
16. 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
17. 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
18. 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
19. 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
20. 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
21. 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
22. 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
23. 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
24. 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
25. 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
26. 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
27. 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
28. 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
29. 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
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 Vida de
Desenvolvimento
Wagner Zaparoli
wzaparoli@gmail.com