SlideShare uma empresa Scribd logo
1 de 29
Modelos de Ciclo de Vida
de Desenvolvimento de
Software
PROF. ALEXANDRE.
Por mais simples ou complexo que possa
parecer, um modelo de ciclo de vida de
um projeto é, de fato, uma versão
simplificada da realidade.
O que vem a ser o ciclo de vida?
 O ciclo de vida de um software é uma
estrutura que indica processos e atividades
envolvidas no desenvolvimento, operação e
manutenção de um software, abrangendo de
fato toda a vida do sistema.
 Neste ciclo, existem modelos que definem
como o software será desenvolvido, lançado,
aprimorado e finalizado.
O que vem a ser o ciclo de vida?
A escolha desse modelo, que definirá a
sequência de etapas das atividades, é feita entre
o cliente e a equipe de desenvolvimento e várias
coisas podem impactá-la, como negócio, tempo
disponível, custo, equipe etc.
A ordem das fases é que vai definir o ciclo de
vida do seu software.
Por que devo criar um ciclo antes de
desenvolver meu software?
 Com um modelo de ciclo de vida você consegue ver a
real necessidade do software e planejá-lo melhor.
 Imagina você entregar um software para um cliente, e
posteriormente precisar lançar várias atualizações para
corrigir falhas?
Por que devo criar um ciclo antes de
desenvolver meu software?
 A finalidade desse ciclo é encontrar erros o mais cedo
possível, pois, além de garantir a qualidade do
software, evita um custo maior caso um erro seja
encontrado tardiamente.
 Com um melhor planejamento você pode, por
exemplo, ter maior disponibilidade para melhorar o
desempenho ou realizar alguma correção.
Quais são as etapas?
Existem 3 fases básicas de um ciclo de software:
definição, desenvolvimento e operação.
 1) Definição
Deve-se conhecer a situação atual e fazer a identificação do
problema para buscar uma resolução do mesmo. É na
definição que você fará a modelagem dos processos e a
análise do sistema. O modelo de ciclo de vida é a primeira
escolha a ser feita no processo de software.
Quais são as etapas?
2) Desenvolvimento
Esta etapa envolve atividades relacionadas a design,
prototipagem, codificação, testes, entre outras
atividades que forem necessárias, como por exemplo,
a integração com um outro sistema.
É importante ressaltar que essas atividades devem
seguir o que foi descrito nas etapas anteriores, pois é
aí que entra as regras de negócio.
Quais são as etapas?
 3) Operação
Nesta etapa o software já estará em produção e você
dará o devido suporte aos usuários e, claro, corrigir
possíveis bugs que possam aparecer.
Aí também entra a continuidade do software se for
preciso, como atender novos requisitos, novas
funcionalidades.
Porém, tudo depende do modelo de ciclo de vida
adotado pelo projeto.
Quais os modelos que podem ser
utilizados?
 Existem diversos modelos de ciclos de vida
para o desenvolvimento de software como:
 Modelo Big Bang / Modelo Constrói e Corrige /
Modelo Cascata / Modelo Espiral / Métodos Ágeis /
Manifesto ágil / Scrum - dentre outros.
Modelo Big Bang
 Como na teoria de criação do universo, o software é produzido a partir de uma
‘explosão’.
 Este modelo não possui planejamento, cronograma ou processo formal de
desenvolvimento.
 Todo o esforço é gasto com codificação.
 Não existe também a fase de teste.
 Quando executado, é feito no final, pouco antes da
entrega.
 O analista de testes tem a missão de encontrar as
falhas e reportar.
 Mas estas falhas não serão necessariamente
corrigidas.
 Muitas vezes o resultado do produto desenvolvido
não será o esperado pelo cliente.
Modelo Big Bang
 Nesse modelo, os desenvolvedores não seguem nenhum processo específico.
 O desenvolvimento começa com os fundos e esforços necessários na forma de
insumos. E o resultado pode ser ou não conforme a necessidade do cliente, pois neste
modelo nem mesmo as necessidades do cliente estão definidas.
 Este modelo é ideal para pequenos projetos como projetos acadêmicos ou projetos
práticos. Um ou dois desenvolvedores podem trabalhar juntos neste modelo.
 Este método também é usado quando o tamanho da equipe de desenvolvedor é
pequeno e quando os requisitos não são definidos e a data de lançamento não é
confirmada ou fornecida pelo cliente.
Modelo Big Bang
VANTAGENS (PRÓS) DO MODELO BIG BANG:
 Não há necessidade de planejamento.
 Modelo simples.
 São necessários poucos recursos.
 Fácil de gerenciar.
 Flexível para desenvolvedores.
DESVANTAGEM (CONTRAS) DO MODELO DO BIG BANG:
 Existe alto risco e incerteza.
 Não é aceitável para um grande projeto.
 Se os requisitos não forem claros, isso pode ser muito caro.
Modelo Constrói e Corrige
 Derivado do modelo Big Bang, neste modelo é feito um projeto simples do software e
então é iniciado o desenvolvimento.
 Após uma fase de teste onde as falhas são encontradas, existe a fase de correção. Este
ciclo se repete até que o software seja considerado satisfatório para ser entregue.
 Idealmente, deve ser utilizado em projetos pequenos que serão descartados em seguida
tais como protótipos e demos.
 No entanto muitas empresas o utilizam como modelo default, um caso que geralmente
há sucesso na entrega porém alto custo de desenvolvimento.
“Nuca dá tempo de fazer certo, mas sempre
dá tempo de fazer de novo”.
Modelo Constrói e Corrige
 É feito um projeto simples do software e então é iniciado o desenvolvimento. Após uma
fase de testes, normalmente informal, onde as falhas são encontradas, existe a fase de
correção. Este ciclo se repete até que o software seja considerado satisfatório para ser
entregue.
 Idealmente, deve ser utilizado em projetos pequenos que serão descartados em seguida
tais como protótipos e demos.
 Não existe uma fase formal de testes. O testador fica em contato direto com os
desenvolvedores e sempre recebe uma nova versão para os testes, às vezes antes de
terminar os testes da versão anterior. Em algum momento alguém (ou o cronograma)
decidirá que o software está pronto para ser entregue. O software será entregue,
provavelmente, com muitas falhas.
https://guimaraesdani.wordpress.com/
Modelo Cascata / Sequencial
 Primeiro modelo publicado do processo de
desenvolvimento de software.
 Também conhecido como Ciclo de Vida Clássico ou
Modelo Clássico.
 Considera as atividades de especificação,
desenvolvimento, validação e evolução, que são
fundamentais ao processo, e as representa como fases
separadas do processo, como a especificação de
requisitos, o projeto de software, os testes e
assim por diante.
Abordagem de Sommerville
Fases do Modelo Cascata - Abordagem de Sommerville
1. ANALISE E DEFINIÇÃO DE REQUISITOS
(Especificação de requisitos)
 As funções, as restrições e os objetivos do sistema são
estabelecidos por meio da consulta aos usuários do sistema.
 Em seguida, são definidos em detalhes e servem como uma
especificação do sistema.
2. PROJETO DE SISTEMAS E DE SOFTWARE
 Agrupa os requisitos em sistemas de hardware ou de software;
 Estabelece uma arquitetura do sistema geral.
Fases do Modelo Cascata - Abordagem de Sommerville
3. IMPLEMENTAÇÃO E TESTE DE UNIDADES
 Durante esse estágio, o projeto de software e compreendido como um
conjunto de programas ou de unidades de programa;
 O teste de unidade envolve verificar que cada unidade atenda a sua
especificação.
 4. INTEGRAÇÃO E TESTE DE SISTEMAS
 As unidades de programa ou programas individuais são integrados e testados
como um sistema completo a fim de garantir que os requisitos de software
foram atendidos;
 Depois dos testes, o sistema de software e entregue ao cliente.
Fases do Modelo Cascata - Abordagem de Sommerville
5. OPERAÇÃO E MANUTENÇÃO
 Normalmente, está e a fase mais longa do ciclo de vida;
 O sistema e instalado e colocado em operação;
 A manutenção envolve corrigir erros que não foram
descobertos em estágios anteriores do ciclo de vida ou
aumentar as funções desse sistema à medida que novos
requisitos são descobertos.
Modelo Cascata / Sequencial
 Em princípio, o resultado de cada fase envolve um ou mais
documentos que são aprovados.
 Gera muita documentação, nem sempre utilizada posteriormente.
 A fase seguinte não deve iniciar ate que a fase precedente tenha sido
concluída.
 O processo de software não é um modelo linear simples, pois envolve
uma sequência de iterações das atividades.
 Problema do modelo em cascata é ser inflexível divisão do projeto
nesses estágios distintos.
Modelo Cascata / Sequencial
 O modelo em cascata somente deve ser utilizado quando os requisitos forem
bem compreendidos:
 – Contudo, ele reflete a pratica da engenharia;
 – Consequentemente, os processos de software com base nessa abordagem
ainda são muito
utilizados.
Modelo Espiral
 Foi originalmente proposto por Boehm em 1988.
 Uma maneira simplista de analisar este modelo é considerá-lo
como um modelo cascata onde cada fase é precedida por uma
análise de risco e sua execução é feita revolucionariamente (ou
incrementalmente).
 No início, apenas as funcionalidades importantes são definidas e
testadas. Somente após a finalização dos testes e correção das
falhas o próximo ciclo se inicia definindo-se mais algumas
funcionalidades. Estes ciclos se repetem até que o software
esteja pronto.
Modelo Espiral
Cada ciclo do espiral possui 6 passos:
 Determinar os objetivos, alternativas e restrições;
 Identificar e resolver os riscos;
 Avaliar as alternativas;
 Desenvolver e testar o ciclo atual;
 Planejar o próximo ciclo;
 Definir as técnicas para o próximo ciclo;
Modelo Espiral
 Cada loop na espiral representa uma fase do processo
de software;
 Assim, o loop mais interno pode estar relacionado a
viabilidade do software;
 O loop seguinte, a definição de requisitos para o
software;
 O próximo loop, ao projeto do software, e assim por
diante...
Modelo Espiral
1. DEFINIÇÃO DE OBJETIVOS.
 São definidos os objetivos específicos para essa fase do
projeto.
 São identificados os riscos do projeto e, dependendo
riscos poderão ser planejadas estratégias alternativas.
 2. AVALIAÇÃO E REDUÇÃO DE RISCOS.
 Para cada um dos riscos de projeto identificados, e
realizada uma analise detalhada e são tomadas
providencias para reduzir esses riscos.
 Por exemplo, se houver um risco de os requisitos serem
inadequados, poderá ser desenvolvido um protótipo.
Modelo Espiral
CADA LOOP DA ESPIRAL E DIVIDIDO EM 4 SETORES:
3. DESENVOLVIMENTO E VALIDAÇÃO
 Depois da avaliação dos riscos, e escolhido um modelo
de desenvolvimento para o software.
 Por exemplo, se forem dominantes os riscos
à interface com o usuário, pode ser utilizado o modelo
de desenvolvimento evolucionário (prototipação).
4. PLANEJAMENTO
 O projeto é revisto e é tomada a decisão sobre
com o próximo loop da espiral.
 Se a decisão for continuar, serão traçados os planos
a próxima fase do projeto.
Modelo Espiral
CADA LOOP DA ESPIRAL E DIVIDIDO EM 4 SETORES:
Desenvolvimento em Espiral
 Depois da avaliação dos riscos, e escolhido um modelo
 Não há fases fixas, como especificação ou projeto, no modelo em
espiral.
 O modelo em espiral abrange outros modelos de processo, como
por exemplo, prototipação.
 Diferença do modelo em espiral em relação a outros modelos de
processo de software.
Explicita consideração dos riscos no modelo em espiral.
Prof. Alexandre.lisboa@fmpsc.edu.br
48- 991620209 - whatsapp

Mais conteúdo relacionado

Mais procurados

Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...
Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...
Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...Leinylson Fontinele
 
Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Elaine Cecília Gatto
 
Fundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de RequisitosFundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de RequisitosBarbara Lima
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais okMarcos Morais de Sousa
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasClayton de Almeida Souza
 
Análise, projeto e implementação de sistemas
Análise, projeto e implementação de sistemasAnálise, projeto e implementação de sistemas
Análise, projeto e implementação de sistemasDiego Marek
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de SistemasGuilherme
 
Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercíciosGuilherme
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional AndroidLucas Damasceno
 

Mais procurados (20)

Exemplo do uso de BPMN
Exemplo do uso de BPMNExemplo do uso de BPMN
Exemplo do uso de BPMN
 
Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...
Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...
Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...
 
Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Aula4 levantamento requisitos
Aula4 levantamento requisitosAula4 levantamento requisitos
Aula4 levantamento requisitos
 
Fundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de RequisitosFundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de Requisitos
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
 
UML
UMLUML
UML
 
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
 
A Linguagem UML
A Linguagem UMLA Linguagem UML
A Linguagem UML
 
Análise, projeto e implementação de sistemas
Análise, projeto e implementação de sistemasAnálise, projeto e implementação de sistemas
Análise, projeto e implementação de sistemas
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
 
CMMI
CMMICMMI
CMMI
 
Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercícios
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
A Linguagem sql
A Linguagem sqlA Linguagem sql
A Linguagem sql
 

Semelhante a Aula 7 - Modelos de Ciclo de Vida.pptx

Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individualAdivaldo_badinho
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascatawilsonguns
 
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 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
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentaçãoerysonsi
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentaçãoerysonsi
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentaçãoerysonsi
 
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 01 engenharia de software
Aula 01   engenharia de softwareAula 01   engenharia de software
Aula 01 engenharia de softwareelisanesteilmann
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareCursoSENAC
 
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
 
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfO_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfAthena542429
 
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
 

Semelhante a Aula 7 - Modelos de Ciclo de Vida.pptx (20)

Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
Processos de software
Processos de softwareProcessos de software
Processos de software
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individual
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascata
 
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
 
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
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
 
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
 
Modelo cascata
Modelo cascataModelo cascata
Modelo cascata
 
Aula 01 engenharia de software
Aula 01   engenharia de softwareAula 01   engenharia de software
Aula 01 engenharia de software
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia 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 Modelos de Processos Tradicionais para Desenvolvimento de Software
 
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfO_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
 
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
 
Analise sistemas 05
Analise sistemas 05Analise sistemas 05
Analise sistemas 05
 

Mais de ALEXANDRELISBADASILV

Trabalho de segmentos alexandre.pptx
Trabalho de segmentos alexandre.pptxTrabalho de segmentos alexandre.pptx
Trabalho de segmentos alexandre.pptxALEXANDRELISBADASILV
 
QUALIDADE DE SOFTWARE - AULA 6 - Parte 2 - Qualidade de Produto - NBR ISO 12...
QUALIDADE DE SOFTWARE - AULA 6 - Parte 2 -  Qualidade de Produto - NBR ISO 12...QUALIDADE DE SOFTWARE - AULA 6 - Parte 2 -  Qualidade de Produto - NBR ISO 12...
QUALIDADE DE SOFTWARE - AULA 6 - Parte 2 - Qualidade de Produto - NBR ISO 12...ALEXANDRELISBADASILV
 
Aula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptxAula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptxALEXANDRELISBADASILV
 
Aula 3 - Introdução ao Teste.pptx
Aula 3 - Introdução ao Teste.pptxAula 3 - Introdução ao Teste.pptx
Aula 3 - Introdução ao Teste.pptxALEXANDRELISBADASILV
 

Mais de ALEXANDRELISBADASILV (8)

AULA 02 - TE - CORES.pptx
AULA 02 - TE - CORES.pptxAULA 02 - TE - CORES.pptx
AULA 02 - TE - CORES.pptx
 
AULA 3 - DEFINIÇÃO TURISMO.pptx
AULA 3 - DEFINIÇÃO TURISMO.pptxAULA 3 - DEFINIÇÃO TURISMO.pptx
AULA 3 - DEFINIÇÃO TURISMO.pptx
 
Trabalho de segmentos alexandre.pptx
Trabalho de segmentos alexandre.pptxTrabalho de segmentos alexandre.pptx
Trabalho de segmentos alexandre.pptx
 
QUALIDADE DE SOFTWARE - AULA 6 - Parte 2 - Qualidade de Produto - NBR ISO 12...
QUALIDADE DE SOFTWARE - AULA 6 - Parte 2 -  Qualidade de Produto - NBR ISO 12...QUALIDADE DE SOFTWARE - AULA 6 - Parte 2 -  Qualidade de Produto - NBR ISO 12...
QUALIDADE DE SOFTWARE - AULA 6 - Parte 2 - Qualidade de Produto - NBR ISO 12...
 
AULA 02 - USABILIDADE.pptx
AULA 02 - USABILIDADE.pptxAULA 02 - USABILIDADE.pptx
AULA 02 - USABILIDADE.pptx
 
Aula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptxAula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptx
 
Aula 8 - Gestão de Defeitos.pptx
Aula 8 - Gestão de Defeitos.pptxAula 8 - Gestão de Defeitos.pptx
Aula 8 - Gestão de Defeitos.pptx
 
Aula 3 - Introdução ao Teste.pptx
Aula 3 - Introdução ao Teste.pptxAula 3 - Introdução ao Teste.pptx
Aula 3 - Introdução ao Teste.pptx
 

Aula 7 - Modelos de Ciclo de Vida.pptx

  • 1. Modelos de Ciclo de Vida de Desenvolvimento de Software PROF. ALEXANDRE.
  • 2. Por mais simples ou complexo que possa parecer, um modelo de ciclo de vida de um projeto é, de fato, uma versão simplificada da realidade.
  • 3. O que vem a ser o ciclo de vida?  O ciclo de vida de um software é uma estrutura que indica processos e atividades envolvidas no desenvolvimento, operação e manutenção de um software, abrangendo de fato toda a vida do sistema.  Neste ciclo, existem modelos que definem como o software será desenvolvido, lançado, aprimorado e finalizado.
  • 4. O que vem a ser o ciclo de vida? A escolha desse modelo, que definirá a sequência de etapas das atividades, é feita entre o cliente e a equipe de desenvolvimento e várias coisas podem impactá-la, como negócio, tempo disponível, custo, equipe etc. A ordem das fases é que vai definir o ciclo de vida do seu software.
  • 5. Por que devo criar um ciclo antes de desenvolver meu software?  Com um modelo de ciclo de vida você consegue ver a real necessidade do software e planejá-lo melhor.  Imagina você entregar um software para um cliente, e posteriormente precisar lançar várias atualizações para corrigir falhas?
  • 6. Por que devo criar um ciclo antes de desenvolver meu software?  A finalidade desse ciclo é encontrar erros o mais cedo possível, pois, além de garantir a qualidade do software, evita um custo maior caso um erro seja encontrado tardiamente.  Com um melhor planejamento você pode, por exemplo, ter maior disponibilidade para melhorar o desempenho ou realizar alguma correção.
  • 7. Quais são as etapas? Existem 3 fases básicas de um ciclo de software: definição, desenvolvimento e operação.  1) Definição Deve-se conhecer a situação atual e fazer a identificação do problema para buscar uma resolução do mesmo. É na definição que você fará a modelagem dos processos e a análise do sistema. O modelo de ciclo de vida é a primeira escolha a ser feita no processo de software.
  • 8. Quais são as etapas? 2) Desenvolvimento Esta etapa envolve atividades relacionadas a design, prototipagem, codificação, testes, entre outras atividades que forem necessárias, como por exemplo, a integração com um outro sistema. É importante ressaltar que essas atividades devem seguir o que foi descrito nas etapas anteriores, pois é aí que entra as regras de negócio.
  • 9. Quais são as etapas?  3) Operação Nesta etapa o software já estará em produção e você dará o devido suporte aos usuários e, claro, corrigir possíveis bugs que possam aparecer. Aí também entra a continuidade do software se for preciso, como atender novos requisitos, novas funcionalidades. Porém, tudo depende do modelo de ciclo de vida adotado pelo projeto.
  • 10. Quais os modelos que podem ser utilizados?  Existem diversos modelos de ciclos de vida para o desenvolvimento de software como:  Modelo Big Bang / Modelo Constrói e Corrige / Modelo Cascata / Modelo Espiral / Métodos Ágeis / Manifesto ágil / Scrum - dentre outros.
  • 11. Modelo Big Bang  Como na teoria de criação do universo, o software é produzido a partir de uma ‘explosão’.  Este modelo não possui planejamento, cronograma ou processo formal de desenvolvimento.  Todo o esforço é gasto com codificação.  Não existe também a fase de teste.  Quando executado, é feito no final, pouco antes da entrega.  O analista de testes tem a missão de encontrar as falhas e reportar.  Mas estas falhas não serão necessariamente corrigidas.  Muitas vezes o resultado do produto desenvolvido não será o esperado pelo cliente.
  • 12. Modelo Big Bang  Nesse modelo, os desenvolvedores não seguem nenhum processo específico.  O desenvolvimento começa com os fundos e esforços necessários na forma de insumos. E o resultado pode ser ou não conforme a necessidade do cliente, pois neste modelo nem mesmo as necessidades do cliente estão definidas.  Este modelo é ideal para pequenos projetos como projetos acadêmicos ou projetos práticos. Um ou dois desenvolvedores podem trabalhar juntos neste modelo.  Este método também é usado quando o tamanho da equipe de desenvolvedor é pequeno e quando os requisitos não são definidos e a data de lançamento não é confirmada ou fornecida pelo cliente.
  • 13. Modelo Big Bang VANTAGENS (PRÓS) DO MODELO BIG BANG:  Não há necessidade de planejamento.  Modelo simples.  São necessários poucos recursos.  Fácil de gerenciar.  Flexível para desenvolvedores. DESVANTAGEM (CONTRAS) DO MODELO DO BIG BANG:  Existe alto risco e incerteza.  Não é aceitável para um grande projeto.  Se os requisitos não forem claros, isso pode ser muito caro.
  • 14. Modelo Constrói e Corrige  Derivado do modelo Big Bang, neste modelo é feito um projeto simples do software e então é iniciado o desenvolvimento.  Após uma fase de teste onde as falhas são encontradas, existe a fase de correção. Este ciclo se repete até que o software seja considerado satisfatório para ser entregue.  Idealmente, deve ser utilizado em projetos pequenos que serão descartados em seguida tais como protótipos e demos.  No entanto muitas empresas o utilizam como modelo default, um caso que geralmente há sucesso na entrega porém alto custo de desenvolvimento. “Nuca dá tempo de fazer certo, mas sempre dá tempo de fazer de novo”.
  • 15. Modelo Constrói e Corrige  É feito um projeto simples do software e então é iniciado o desenvolvimento. Após uma fase de testes, normalmente informal, onde as falhas são encontradas, existe a fase de correção. Este ciclo se repete até que o software seja considerado satisfatório para ser entregue.  Idealmente, deve ser utilizado em projetos pequenos que serão descartados em seguida tais como protótipos e demos.  Não existe uma fase formal de testes. O testador fica em contato direto com os desenvolvedores e sempre recebe uma nova versão para os testes, às vezes antes de terminar os testes da versão anterior. Em algum momento alguém (ou o cronograma) decidirá que o software está pronto para ser entregue. O software será entregue, provavelmente, com muitas falhas. https://guimaraesdani.wordpress.com/
  • 16. Modelo Cascata / Sequencial  Primeiro modelo publicado do processo de desenvolvimento de software.  Também conhecido como Ciclo de Vida Clássico ou Modelo Clássico.  Considera as atividades de especificação, desenvolvimento, validação e evolução, que são fundamentais ao processo, e as representa como fases separadas do processo, como a especificação de requisitos, o projeto de software, os testes e assim por diante. Abordagem de Sommerville
  • 17. Fases do Modelo Cascata - Abordagem de Sommerville 1. ANALISE E DEFINIÇÃO DE REQUISITOS (Especificação de requisitos)  As funções, as restrições e os objetivos do sistema são estabelecidos por meio da consulta aos usuários do sistema.  Em seguida, são definidos em detalhes e servem como uma especificação do sistema. 2. PROJETO DE SISTEMAS E DE SOFTWARE  Agrupa os requisitos em sistemas de hardware ou de software;  Estabelece uma arquitetura do sistema geral.
  • 18. Fases do Modelo Cascata - Abordagem de Sommerville 3. IMPLEMENTAÇÃO E TESTE DE UNIDADES  Durante esse estágio, o projeto de software e compreendido como um conjunto de programas ou de unidades de programa;  O teste de unidade envolve verificar que cada unidade atenda a sua especificação.  4. INTEGRAÇÃO E TESTE DE SISTEMAS  As unidades de programa ou programas individuais são integrados e testados como um sistema completo a fim de garantir que os requisitos de software foram atendidos;  Depois dos testes, o sistema de software e entregue ao cliente.
  • 19. Fases do Modelo Cascata - Abordagem de Sommerville 5. OPERAÇÃO E MANUTENÇÃO  Normalmente, está e a fase mais longa do ciclo de vida;  O sistema e instalado e colocado em operação;  A manutenção envolve corrigir erros que não foram descobertos em estágios anteriores do ciclo de vida ou aumentar as funções desse sistema à medida que novos requisitos são descobertos.
  • 20. Modelo Cascata / Sequencial  Em princípio, o resultado de cada fase envolve um ou mais documentos que são aprovados.  Gera muita documentação, nem sempre utilizada posteriormente.  A fase seguinte não deve iniciar ate que a fase precedente tenha sido concluída.  O processo de software não é um modelo linear simples, pois envolve uma sequência de iterações das atividades.  Problema do modelo em cascata é ser inflexível divisão do projeto nesses estágios distintos.
  • 21. Modelo Cascata / Sequencial  O modelo em cascata somente deve ser utilizado quando os requisitos forem bem compreendidos:  – Contudo, ele reflete a pratica da engenharia;  – Consequentemente, os processos de software com base nessa abordagem ainda são muito utilizados.
  • 22. Modelo Espiral  Foi originalmente proposto por Boehm em 1988.  Uma maneira simplista de analisar este modelo é considerá-lo como um modelo cascata onde cada fase é precedida por uma análise de risco e sua execução é feita revolucionariamente (ou incrementalmente).  No início, apenas as funcionalidades importantes são definidas e testadas. Somente após a finalização dos testes e correção das falhas o próximo ciclo se inicia definindo-se mais algumas funcionalidades. Estes ciclos se repetem até que o software esteja pronto.
  • 23. Modelo Espiral Cada ciclo do espiral possui 6 passos:  Determinar os objetivos, alternativas e restrições;  Identificar e resolver os riscos;  Avaliar as alternativas;  Desenvolver e testar o ciclo atual;  Planejar o próximo ciclo;  Definir as técnicas para o próximo ciclo;
  • 24. Modelo Espiral  Cada loop na espiral representa uma fase do processo de software;  Assim, o loop mais interno pode estar relacionado a viabilidade do software;  O loop seguinte, a definição de requisitos para o software;  O próximo loop, ao projeto do software, e assim por diante...
  • 26. 1. DEFINIÇÃO DE OBJETIVOS.  São definidos os objetivos específicos para essa fase do projeto.  São identificados os riscos do projeto e, dependendo riscos poderão ser planejadas estratégias alternativas.  2. AVALIAÇÃO E REDUÇÃO DE RISCOS.  Para cada um dos riscos de projeto identificados, e realizada uma analise detalhada e são tomadas providencias para reduzir esses riscos.  Por exemplo, se houver um risco de os requisitos serem inadequados, poderá ser desenvolvido um protótipo. Modelo Espiral CADA LOOP DA ESPIRAL E DIVIDIDO EM 4 SETORES:
  • 27. 3. DESENVOLVIMENTO E VALIDAÇÃO  Depois da avaliação dos riscos, e escolhido um modelo de desenvolvimento para o software.  Por exemplo, se forem dominantes os riscos à interface com o usuário, pode ser utilizado o modelo de desenvolvimento evolucionário (prototipação). 4. PLANEJAMENTO  O projeto é revisto e é tomada a decisão sobre com o próximo loop da espiral.  Se a decisão for continuar, serão traçados os planos a próxima fase do projeto. Modelo Espiral CADA LOOP DA ESPIRAL E DIVIDIDO EM 4 SETORES:
  • 28. Desenvolvimento em Espiral  Depois da avaliação dos riscos, e escolhido um modelo  Não há fases fixas, como especificação ou projeto, no modelo em espiral.  O modelo em espiral abrange outros modelos de processo, como por exemplo, prototipação.  Diferença do modelo em espiral em relação a outros modelos de processo de software. Explicita consideração dos riscos no modelo em espiral.