SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Metodologia Para Desenvolvimento de Sistemas

         Aula 3
Modelos de Ciclo de Vida de
    Desenvolvimento
 Prof. André Constantino da Silva
              MDP


               23 de agosto de 2012
Na Aula Anterior...

• Ciclo de Vida do Software



• Ciclo de Vida de Desenvolvimento
  – O modelo Cascata ou Clássico
Críticas
• O modelo Cascata somente possibilita ao
  cliente ver o produto no final do processo

• O cliente pode não saber tudo o que deseja
  no software

• Pode haver problemas na compreensão do
  que o cliente deseja
Prototipação
Vantagens do Modelo Portotipação
• Maior garantia de sucesso técnico e
  psicológico

• Redução no fator tempo: “O usuário gosta de
  ver o sistema funcionando”

• Ideal para sistemas gerenciais e de apoio a
  decisão
Desvantagens do Modelo Prototipação
• O cliente quer resultados
• O cliente não entenderá que um protótipo
  pode estar longe do software ideal
  – A gerência de desenvolvimento cede às
    reclamações e tenta encurtar o prazo de entrega
Desvantagens do Modelo Prototipação
• O desenvolvedor é pressionado a colocar um
  protótipo em funcionamento
  – Usa um SO ou linguagem de programação
    imprópria por simplesmente estar a disposição ou
    estar mais familiarizado
  – Essa atitude poderá levar à um algoritmo
    ineficiente
Espiral
Análise de Riscos
• Risco: fatores que podem impactam no
  andamento do projeto, aumentado seu custo ou
  tempo
• Nessa atividade os riscos são identificados,
  analisados, avaliados e ordenados
  – Se a análise resultante indicar incertezas sobre os
    requisitos, a prototipação pode ser utilizada na
    próxima atividade
  – De acordo com o resultado da Análise de Risco, é
    tomada a decisão de prosseguir ou não com a
    evolução do software.
Vantagens do Espiral
• Reúne características dos modelos Cascata e
  Prototipação acrescentando ainda em sua
  base a análise de riscos
• Quanto mais iterações na espiral, menor serão
  os riscos sobre o projeto
• Execução de atividades de verificação
  presentes ao final de cada iteração
  – permitem um melhor controle gerencial sobre o
    projeto
Desvantagens do Espiral
• Dificuldade em convencer os clientes de que a
  abordagem evolutiva é controlável
• Necessidade de experiência para a identificação e
  avaliação dos riscos técnicos e gerenciais para
  que realmente se possa diminuir o impacto que
  estes possam vir a causar
• Não é adequado para projetos considerados
  simples e os riscos são moderados
  – Muita flexibilidade e alto gerencialmento de riscos
Ciclo de Vida Incremental
Vantagens do Incremental
• Várias versões do software
  – O primeiro incremento é freqüentemente
    chamado de núcleo do produto
• Requisitos podem ser adicionados em novas
  versões futuras do software
• Tempo de entrega de uma nova versão é
  menor devido ao “paralelismo” de atividades
• Possibilita o cliente avaliar o produto que está
  sendo construído
Modelo de Desenvolvimento Rápido
       de Aplicações - RAD
Vantagens do RAD
• O ciclo de desenvolvimento deve ser
  extremamente curto
  – períodos de 60 a 90 dias
  – deve-se utilizar de técnicas de reuso
• Várias versões
  – cada função principal é desenvolvida por uma
    equipe RAD distinta. Ao término da
    implementação de cada função, elas são
    integradas formando o produto final
Desvantagens do RAD
• Exige que os desenvolvedores compreendam
  bem os requisitos e que o objetivo do projeto
  seja restrito
• Nem todos os sistemas são candidatos a
  serem desenvolvidos seguindo esse modelo
  – O sistema necessita ser modularizado
  – Cada função principal precisa ser desenvolvida em
    até 3 meses (90 dias)
• Exige a criação de equipes adequadas
• Modelos estudados:
  – Cascata ou Clássico
  – Prototipação
  – Incremental
  – Espiral
  – RAD


• Esses modelos são chamados tradicionais
Métodos Ágeis
• Ao longo dos anos, a Engenharia de Software
  determinou técnicas e artefatos para o
  desenvolvimento
• Surgiu uma vertente para desenvolver
  software de forma mais rápida e menos
  burocrática
• Métodos Ágeis
  – Manifesto Ágil
Extreme Programming - XP
Vantagens do XP
• Desenvolvimento de versões
• Participação do cliente na escrita dos requisitos
  (user stories)
• Cliente avalia cada versão produzida
• Requisitos podem ser adicionados em novas
  versões futuras do software
• Foco na comunicação e não na documentação
• XP pode ser aplicado a projetos de altos riscos e
  requisitos dinâmicos
Desvantagens do XP
• A equipe precisa estar comprometida
• O cliente precisa participar efetivamente
  – Escrevendo as user stories
  – Escolhendo as user stories que serão
    implementadas
  – Avaliando a versão
• A documentação pode ficar comprometida
XP
• Mais que um modelo de Ciclo de Vida, um conjunto de
  técnicas para desenvolvimento:
   – User Stories: características do sistema escritas pelos próprios
     clientes
       • As estimativas de tempo são realizadas pelos programadores
         analisando as user stories
   – Programação em pares
   – Especificação e elaboração de testes antes da codificação
   – Refactoring: melhorar código existente
• Equipes de pequeno e médio porte, sugerindo entre três a
  vinte membros
• São utilizados códigos padrões
• Uma equipe dinâmica e comprometida
A base do XP
• Define valores
  – Os indivíduos e suas interações acima de
    procedimentos e ferramentas
  – O funcionamento do software acima de
    documentação abrangente
  – A colaboração dos clientes acima da negociação
    de contratos
  – A capacidade de resposta à mudanças acima de
    um plano pré-estabelecido
A base do XP
• Define princípios
  – Feedback rápido
  – Simplicidade
  – Mudanças incrementais e apenas quando necessárias
  – Trabalho com qualidade
  – Rápida adaptação às mudanças
  – Projetos surgem através de indivíduos motivados, e
    que deve existir uma relação de confiança
  – ...
Tarefa
• Fazer uma pesquisa e escrever um texto (1
  página) sobre:
  – Documento de Requisitos


  – User Stories


• Foco: diferenças entre esses documentos.
• Data: 30/08
Conclusões
• Desenvolver sistemas computacionais é uma
  atividade complexa
• Devemos empregar metodologias para
  desenvolver
  – Variedade de Metodologias
  – Qual usar?

Mais conteúdo relacionado

Mais procurados

Processo de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoProcesso de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoNatanael Simões
 
Prototipos de Baixa e Alta Fidelidade
Prototipos de Baixa e Alta FidelidadePrototipos de Baixa e Alta Fidelidade
Prototipos de Baixa e Alta FidelidadeErico Fileno
 
Aula 2 - Técnicas de Prototipação I
Aula 2 - Técnicas de Prototipação IAula 2 - Técnicas de Prototipação I
Aula 2 - Técnicas de Prototipação IPaolo Passeri
 
Testes e avaliação de protótipos
Testes e avaliação de protótiposTestes e avaliação de protótipos
Testes e avaliação de protótiposRobson Santos
 
O processo de design de interação
O processo de design de interaçãoO processo de design de interação
O processo de design de interaçãoRobson Santos
 
UX na vida real - Aplicando técnicas na reformulação de um produto
UX na vida real - Aplicando técnicas na reformulação de um produtoUX na vida real - Aplicando técnicas na reformulação de um produto
UX na vida real - Aplicando técnicas na reformulação de um produtoLariane Rossanese
 
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de softwareMarcio Costa
 
Protótipos em Papel
Protótipos em PapelProtótipos em Papel
Protótipos em Papelelliando dias
 
127290035 12-usabilidade-mai-2007
127290035 12-usabilidade-mai-2007127290035 12-usabilidade-mai-2007
127290035 12-usabilidade-mai-2007Marco Guimarães
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLNatanael Simões
 
Ferramentas de prototipação
Ferramentas de prototipaçãoFerramentas de prototipação
Ferramentas de prototipaçãoPaula P.
 
Palestra - Princípios de Usabilidade
Palestra - Princípios de UsabilidadePalestra - Princípios de Usabilidade
Palestra - Princípios de UsabilidadeOtávio Souza
 
Prototipagem
PrototipagemPrototipagem
Prototipagemjwainer
 
MTA1 Aula-01. Introdução
MTA1 Aula-01. IntroduçãoMTA1 Aula-01. Introdução
MTA1 Aula-01. IntroduçãoAlan Vasconcelos
 
Usabilidade aula-01 Introdução
Usabilidade aula-01 IntroduçãoUsabilidade aula-01 Introdução
Usabilidade aula-01 IntroduçãoAlan Vasconcelos
 
Avaliação de interfaces com o usuário atraves de prototipação
Avaliação de interfaces com o usuário atraves de prototipaçãoAvaliação de interfaces com o usuário atraves de prototipação
Avaliação de interfaces com o usuário atraves de prototipaçãoLivia Gabos
 
Teste de Usabilidade - Expandindo a usabilidade na sua empresa
Teste de Usabilidade - Expandindo a usabilidade na sua empresaTeste de Usabilidade - Expandindo a usabilidade na sua empresa
Teste de Usabilidade - Expandindo a usabilidade na sua empresaLuiz Agner
 

Mais procurados (20)

Interface Homem Computador - Aula01- Introdução a IHC
Interface Homem Computador - Aula01- Introdução a IHCInterface Homem Computador - Aula01- Introdução a IHC
Interface Homem Computador - Aula01- Introdução a IHC
 
Processo de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoProcesso de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de Definição
 
Prototipos de Baixa e Alta Fidelidade
Prototipos de Baixa e Alta FidelidadePrototipos de Baixa e Alta Fidelidade
Prototipos de Baixa e Alta Fidelidade
 
Aula 2 - Técnicas de Prototipação I
Aula 2 - Técnicas de Prototipação IAula 2 - Técnicas de Prototipação I
Aula 2 - Técnicas de Prototipação I
 
Testes e avaliação de protótipos
Testes e avaliação de protótiposTestes e avaliação de protótipos
Testes e avaliação de protótipos
 
O processo de design de interação
O processo de design de interaçãoO processo de design de interação
O processo de design de interação
 
UX na vida real - Aplicando técnicas na reformulação de um produto
UX na vida real - Aplicando técnicas na reformulação de um produtoUX na vida real - Aplicando técnicas na reformulação de um produto
UX na vida real - Aplicando técnicas na reformulação de um produto
 
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de software
 
Protótipos em Papel
Protótipos em PapelProtótipos em Papel
Protótipos em Papel
 
127290035 12-usabilidade-mai-2007
127290035 12-usabilidade-mai-2007127290035 12-usabilidade-mai-2007
127290035 12-usabilidade-mai-2007
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UML
 
Avaliação de Interface
Avaliação de InterfaceAvaliação de Interface
Avaliação de Interface
 
Ferramentas de prototipação
Ferramentas de prototipaçãoFerramentas de prototipação
Ferramentas de prototipação
 
Palestra - Princípios de Usabilidade
Palestra - Princípios de UsabilidadePalestra - Princípios de Usabilidade
Palestra - Princípios de Usabilidade
 
Prototipagem
PrototipagemPrototipagem
Prototipagem
 
MTA1 Aula-01. Introdução
MTA1 Aula-01. IntroduçãoMTA1 Aula-01. Introdução
MTA1 Aula-01. Introdução
 
Interface Humano Computador - Aula03 - design de experiência de usuário e aná...
Interface Humano Computador - Aula03 - design de experiência de usuário e aná...Interface Humano Computador - Aula03 - design de experiência de usuário e aná...
Interface Humano Computador - Aula03 - design de experiência de usuário e aná...
 
Usabilidade aula-01 Introdução
Usabilidade aula-01 IntroduçãoUsabilidade aula-01 Introdução
Usabilidade aula-01 Introdução
 
Avaliação de interfaces com o usuário atraves de prototipação
Avaliação de interfaces com o usuário atraves de prototipaçãoAvaliação de interfaces com o usuário atraves de prototipação
Avaliação de interfaces com o usuário atraves de prototipação
 
Teste de Usabilidade - Expandindo a usabilidade na sua empresa
Teste de Usabilidade - Expandindo a usabilidade na sua empresaTeste de Usabilidade - Expandindo a usabilidade na sua empresa
Teste de Usabilidade - Expandindo a usabilidade na sua empresa
 

Destaque

UnP Eng. Software - Aula 3
UnP Eng. Software - Aula 3UnP Eng. Software - Aula 3
UnP Eng. Software - Aula 3Hélio Medeiros
 
Es capítulo 2 - processos de software
Es   capítulo 2  - processos de softwareEs   capítulo 2  - processos de software
Es capítulo 2 - processos de softwareFelipe Oliveira
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascatawilsonguns
 
01- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.001- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.0César Augusto Pessôa
 
Cap 6 O Processo De Design De InteraçãO
Cap 6 O Processo De Design De InteraçãOCap 6 O Processo De Design De InteraçãO
Cap 6 O Processo De Design De InteraçãOMarcelo Bitencourt
 
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
Apresentação - Uniararas - JEE e Desenvolvimento ÁgilApresentação - Uniararas - JEE e Desenvolvimento Ágil
Apresentação - Uniararas - JEE e Desenvolvimento ÁgilMarcio Garcia
 
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...Rogério Almeida
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Cláudio Amaral
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentaçãoerysonsi
 
03 Modelo de processo de software
03 Modelo de processo de software03 Modelo de processo de software
03 Modelo de processo de softwareWaldemar Roberti
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01Franklin Matos Correia
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
Cobit 5 Parte 03 - 3º princípio- aplicar um modelo único integrado
Cobit 5 Parte 03 -  3º princípio- aplicar um modelo único integradoCobit 5 Parte 03 -  3º princípio- aplicar um modelo único integrado
Cobit 5 Parte 03 - 3º princípio- aplicar um modelo único integradoFernando Palma
 

Destaque (20)

UnP Eng. Software - Aula 3
UnP Eng. Software - Aula 3UnP Eng. Software - Aula 3
UnP Eng. Software - Aula 3
 
Aula2 processos sw
Aula2 processos swAula2 processos sw
Aula2 processos sw
 
Es capítulo 2 - processos de software
Es   capítulo 2  - processos de softwareEs   capítulo 2  - processos de software
Es capítulo 2 - processos de software
 
Mesopredadores
MesopredadoresMesopredadores
Mesopredadores
 
Under engineer
Under engineerUnder engineer
Under engineer
 
Modelo em Cascata
Modelo em CascataModelo em Cascata
Modelo em Cascata
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascata
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
01- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.001- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.0
 
Cap 6 O Processo De Design De InteraçãO
Cap 6 O Processo De Design De InteraçãOCap 6 O Processo De Design De InteraçãO
Cap 6 O Processo De Design De InteraçãO
 
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
Apresentação - Uniararas - JEE e Desenvolvimento ÁgilApresentação - Uniararas - JEE e Desenvolvimento Ágil
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
 
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...
 
1 introdução
1  introdução1  introdução
1 introdução
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002
 
Modelo cascata
Modelo cascataModelo cascata
Modelo cascata
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
 
03 Modelo de processo de software
03 Modelo de processo de software03 Modelo de processo de software
03 Modelo de processo de software
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
Cobit 5 Parte 03 - 3º princípio- aplicar um modelo único integrado
Cobit 5 Parte 03 -  3º princípio- aplicar um modelo único integradoCobit 5 Parte 03 -  3º princípio- aplicar um modelo único integrado
Cobit 5 Parte 03 - 3º princípio- aplicar um modelo único integrado
 

Semelhante a Modelos de Ciclo de Vida para Desenvolvimento de Sistemas

Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppCloves da Rocha
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Cloves da Rocha
 
Aula 2 modelo de processo de software1
Aula 2   modelo de processo de software1Aula 2   modelo de processo de software1
Aula 2 modelo de processo de software1Tiago Vizoto
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de softwareYuri Garcia
 
Métodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareMétodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareJerônimo Medina Madruga
 
FES_SENAIPR_Processos.pdf
FES_SENAIPR_Processos.pdfFES_SENAIPR_Processos.pdf
FES_SENAIPR_Processos.pdfFChico2
 
Engenharia de Software: Processos de Software
Engenharia de Software: Processos de SoftwareEngenharia de Software: Processos de Software
Engenharia de Software: Processos de Softwaregabriel-colman
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixCris Fidelix
 
Aula 3 - Processos de Software.pdf
Aula 3 - Processos de Software.pdfAula 3 - Processos de Software.pdf
Aula 3 - Processos de Software.pdfFChico2
 
Es2 modelo de processo de software
Es2 modelo de processo de softwareEs2 modelo de processo de software
Es2 modelo de processo de softwareluacal
 

Semelhante a Modelos de Ciclo de Vida para Desenvolvimento de Sistemas (20)

Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
 
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
 
Aula 2 modelo de processo de software1
Aula 2   modelo de processo de software1Aula 2   modelo de processo de software1
Aula 2 modelo de processo de software1
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de software
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Métodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareMétodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de software
 
DSDM
DSDMDSDM
DSDM
 
Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3
 
Outras Metodologias Ágeis Parte 2
Outras Metodologias Ágeis Parte 2Outras Metodologias Ágeis Parte 2
Outras Metodologias Ágeis Parte 2
 
FES_SENAIPR_Processos.pdf
FES_SENAIPR_Processos.pdfFES_SENAIPR_Processos.pdf
FES_SENAIPR_Processos.pdf
 
Engenharia de Software: Processos de Software
Engenharia de Software: Processos de SoftwareEngenharia de Software: Processos de Software
Engenharia de Software: Processos de Software
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 
Aula 3 - Processos de Software.pdf
Aula 3 - Processos de Software.pdfAula 3 - Processos de Software.pdf
Aula 3 - Processos de Software.pdf
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Es2 modelo de processo de software
Es2 modelo de processo de softwareEs2 modelo de processo de software
Es2 modelo de processo de software
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Feature Driven Development - FDD
Feature Driven Development - FDDFeature Driven Development - FDD
Feature Driven Development - FDD
 

Mais de André Constantino da Silva

Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...
Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...
Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...André Constantino da Silva
 
Aula sobre texto academico - elaboração do desenvolvimento
Aula sobre texto academico - elaboração do desenvolvimentoAula sobre texto academico - elaboração do desenvolvimento
Aula sobre texto academico - elaboração do desenvolvimentoAndré Constantino da Silva
 
Aula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAndré Constantino da Silva
 
Como fazer citações e referências bibliográficas
Como fazer citações e referências bibliográficasComo fazer citações e referências bibliográficas
Como fazer citações e referências bibliográficasAndré Constantino da Silva
 
Introdução ao ambiente virtual de aprendizagem TelEduc
Introdução ao ambiente virtual de aprendizagem TelEducIntrodução ao ambiente virtual de aprendizagem TelEduc
Introdução ao ambiente virtual de aprendizagem TelEducAndré Constantino da Silva
 
Aula 5 - Fatores Humanos - Parte 2 - Disciplina de IHC
Aula 5 - Fatores Humanos - Parte 2 - Disciplina de IHCAula 5 - Fatores Humanos - Parte 2 - Disciplina de IHC
Aula 5 - Fatores Humanos - Parte 2 - Disciplina de IHCAndré Constantino da Silva
 
Aula 4 Fatores Humanos - parte 1 - Disciplina de IHC
Aula 4   Fatores Humanos - parte 1 - Disciplina de IHCAula 4   Fatores Humanos - parte 1 - Disciplina de IHC
Aula 4 Fatores Humanos - parte 1 - Disciplina de IHCAndré Constantino da Silva
 
InkBlog: A Pen-Based Blog Tool for e-Learning Environments
InkBlog: A Pen-Based Blog Tool for e-Learning EnvironmentsInkBlog: A Pen-Based Blog Tool for e-Learning Environments
InkBlog: A Pen-Based Blog Tool for e-Learning EnvironmentsAndré Constantino da Silva
 
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAndré Constantino da Silva
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...André Constantino da Silva
 
Aula 6 – linguagem HTML - Endereço absoluto e relativo
Aula 6 – linguagem HTML - Endereço absoluto e relativoAula 6 – linguagem HTML - Endereço absoluto e relativo
Aula 6 – linguagem HTML - Endereço absoluto e relativoAndré Constantino da Silva
 
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAndré Constantino da Silva
 
Aula 3 – Linguagem HTML - formatação de texto
Aula 3 – Linguagem HTML -  formatação de textoAula 3 – Linguagem HTML -  formatação de texto
Aula 3 – Linguagem HTML - formatação de textoAndré Constantino da Silva
 
Aula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estruturaAula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estruturaAndré Constantino da Silva
 

Mais de André Constantino da Silva (20)

Introdução ao TelEduc
Introdução ao TelEducIntrodução ao TelEduc
Introdução ao TelEduc
 
Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...
Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...
Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...
 
Aula sobre texto academico - elaboração do desenvolvimento
Aula sobre texto academico - elaboração do desenvolvimentoAula sobre texto academico - elaboração do desenvolvimento
Aula sobre texto academico - elaboração do desenvolvimento
 
Aula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de Usuário
 
Como fazer citações e referências bibliográficas
Como fazer citações e referências bibliográficasComo fazer citações e referências bibliográficas
Como fazer citações e referências bibliográficas
 
Aula 3 - Fatores Humanos
Aula 3 - Fatores HumanosAula 3 - Fatores Humanos
Aula 3 - Fatores Humanos
 
Aula 2 - A área de IHC
Aula 2 - A área de IHCAula 2 - A área de IHC
Aula 2 - A área de IHC
 
Introdução ao ambiente virtual de aprendizagem TelEduc
Introdução ao ambiente virtual de aprendizagem TelEducIntrodução ao ambiente virtual de aprendizagem TelEduc
Introdução ao ambiente virtual de aprendizagem TelEduc
 
Aula 5 - Fatores Humanos - Parte 2 - Disciplina de IHC
Aula 5 - Fatores Humanos - Parte 2 - Disciplina de IHCAula 5 - Fatores Humanos - Parte 2 - Disciplina de IHC
Aula 5 - Fatores Humanos - Parte 2 - Disciplina de IHC
 
Aula 4 Fatores Humanos - parte 1 - Disciplina de IHC
Aula 4   Fatores Humanos - parte 1 - Disciplina de IHCAula 4   Fatores Humanos - parte 1 - Disciplina de IHC
Aula 4 Fatores Humanos - parte 1 - Disciplina de IHC
 
InkBlog: A Pen-Based Blog Tool for e-Learning Environments
InkBlog: A Pen-Based Blog Tool for e-Learning EnvironmentsInkBlog: A Pen-Based Blog Tool for e-Learning Environments
InkBlog: A Pen-Based Blog Tool for e-Learning Environments
 
Aula 1 final
Aula 1 finalAula 1 final
Aula 1 final
 
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
 
Aula 6 – linguagem HTML - Endereço absoluto e relativo
Aula 6 – linguagem HTML - Endereço absoluto e relativoAula 6 – linguagem HTML - Endereço absoluto e relativo
Aula 6 – linguagem HTML - Endereço absoluto e relativo
 
Aula 7 – linguagem HTML - Frames
Aula 7 – linguagem HTML - FramesAula 7 – linguagem HTML - Frames
Aula 7 – linguagem HTML - Frames
 
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
 
Aula 4 – Linguagem HTML - Imagens e links
Aula 4 – Linguagem HTML - Imagens e linksAula 4 – Linguagem HTML - Imagens e links
Aula 4 – Linguagem HTML - Imagens e links
 
Aula 3 – Linguagem HTML - formatação de texto
Aula 3 – Linguagem HTML -  formatação de textoAula 3 – Linguagem HTML -  formatação de texto
Aula 3 – Linguagem HTML - formatação de texto
 
Aula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estruturaAula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estrutura
 

Modelos de Ciclo de Vida para Desenvolvimento de Sistemas

  • 1. Metodologia Para Desenvolvimento de Sistemas Aula 3 Modelos de Ciclo de Vida de Desenvolvimento Prof. André Constantino da Silva MDP 23 de agosto de 2012
  • 2. Na Aula Anterior... • Ciclo de Vida do Software • Ciclo de Vida de Desenvolvimento – O modelo Cascata ou Clássico
  • 3. Críticas • O modelo Cascata somente possibilita ao cliente ver o produto no final do processo • O cliente pode não saber tudo o que deseja no software • Pode haver problemas na compreensão do que o cliente deseja
  • 5. Vantagens do Modelo Portotipação • Maior garantia de sucesso técnico e psicológico • Redução no fator tempo: “O usuário gosta de ver o sistema funcionando” • Ideal para sistemas gerenciais e de apoio a decisão
  • 6. Desvantagens do Modelo Prototipação • O cliente quer resultados • O cliente não entenderá que um protótipo pode estar longe do software ideal – A gerência de desenvolvimento cede às reclamações e tenta encurtar o prazo de entrega
  • 7. Desvantagens do Modelo Prototipação • O desenvolvedor é pressionado a colocar um protótipo em funcionamento – Usa um SO ou linguagem de programação imprópria por simplesmente estar a disposição ou estar mais familiarizado – Essa atitude poderá levar à um algoritmo ineficiente
  • 9. Análise de Riscos • Risco: fatores que podem impactam no andamento do projeto, aumentado seu custo ou tempo • Nessa atividade os riscos são identificados, analisados, avaliados e ordenados – Se a análise resultante indicar incertezas sobre os requisitos, a prototipação pode ser utilizada na próxima atividade – De acordo com o resultado da Análise de Risco, é tomada a decisão de prosseguir ou não com a evolução do software.
  • 10. Vantagens do Espiral • Reúne características dos modelos Cascata e Prototipação acrescentando ainda em sua base a análise de riscos • Quanto mais iterações na espiral, menor serão os riscos sobre o projeto • Execução de atividades de verificação presentes ao final de cada iteração – permitem um melhor controle gerencial sobre o projeto
  • 11. Desvantagens do Espiral • Dificuldade em convencer os clientes de que a abordagem evolutiva é controlável • Necessidade de experiência para a identificação e avaliação dos riscos técnicos e gerenciais para que realmente se possa diminuir o impacto que estes possam vir a causar • Não é adequado para projetos considerados simples e os riscos são moderados – Muita flexibilidade e alto gerencialmento de riscos
  • 12. Ciclo de Vida Incremental
  • 13. Vantagens do Incremental • Várias versões do software – O primeiro incremento é freqüentemente chamado de núcleo do produto • Requisitos podem ser adicionados em novas versões futuras do software • Tempo de entrega de uma nova versão é menor devido ao “paralelismo” de atividades • Possibilita o cliente avaliar o produto que está sendo construído
  • 14. Modelo de Desenvolvimento Rápido de Aplicações - RAD
  • 15. Vantagens do RAD • O ciclo de desenvolvimento deve ser extremamente curto – períodos de 60 a 90 dias – deve-se utilizar de técnicas de reuso • Várias versões – cada função principal é desenvolvida por uma equipe RAD distinta. Ao término da implementação de cada função, elas são integradas formando o produto final
  • 16. Desvantagens do RAD • Exige que os desenvolvedores compreendam bem os requisitos e que o objetivo do projeto seja restrito • Nem todos os sistemas são candidatos a serem desenvolvidos seguindo esse modelo – O sistema necessita ser modularizado – Cada função principal precisa ser desenvolvida em até 3 meses (90 dias) • Exige a criação de equipes adequadas
  • 17. • Modelos estudados: – Cascata ou Clássico – Prototipação – Incremental – Espiral – RAD • Esses modelos são chamados tradicionais
  • 18. Métodos Ágeis • Ao longo dos anos, a Engenharia de Software determinou técnicas e artefatos para o desenvolvimento • Surgiu uma vertente para desenvolver software de forma mais rápida e menos burocrática • Métodos Ágeis – Manifesto Ágil
  • 20. Vantagens do XP • Desenvolvimento de versões • Participação do cliente na escrita dos requisitos (user stories) • Cliente avalia cada versão produzida • Requisitos podem ser adicionados em novas versões futuras do software • Foco na comunicação e não na documentação • XP pode ser aplicado a projetos de altos riscos e requisitos dinâmicos
  • 21. Desvantagens do XP • A equipe precisa estar comprometida • O cliente precisa participar efetivamente – Escrevendo as user stories – Escolhendo as user stories que serão implementadas – Avaliando a versão • A documentação pode ficar comprometida
  • 22. XP • Mais que um modelo de Ciclo de Vida, um conjunto de técnicas para desenvolvimento: – User Stories: características do sistema escritas pelos próprios clientes • As estimativas de tempo são realizadas pelos programadores analisando as user stories – Programação em pares – Especificação e elaboração de testes antes da codificação – Refactoring: melhorar código existente • Equipes de pequeno e médio porte, sugerindo entre três a vinte membros • São utilizados códigos padrões • Uma equipe dinâmica e comprometida
  • 23. A base do XP • Define valores – Os indivíduos e suas interações acima de procedimentos e ferramentas – O funcionamento do software acima de documentação abrangente – A colaboração dos clientes acima da negociação de contratos – A capacidade de resposta à mudanças acima de um plano pré-estabelecido
  • 24. A base do XP • Define princípios – Feedback rápido – Simplicidade – Mudanças incrementais e apenas quando necessárias – Trabalho com qualidade – Rápida adaptação às mudanças – Projetos surgem através de indivíduos motivados, e que deve existir uma relação de confiança – ...
  • 25. Tarefa • Fazer uma pesquisa e escrever um texto (1 página) sobre: – Documento de Requisitos – User Stories • Foco: diferenças entre esses documentos. • Data: 30/08
  • 26. Conclusões • Desenvolver sistemas computacionais é uma atividade complexa • Devemos empregar metodologias para desenvolver – Variedade de Metodologias – Qual usar?