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

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
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareCamilo de Melo
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosCloves da Rocha
 
Ferramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareFerramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareelliando dias
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareCursoSENAC
 
Introdução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareIntrodução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareLucas Amaral
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de ConfiguraçãoWagner Zaparoli
 
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresMetodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresAragon Vieira
 
Introdução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareIntrodução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareClaudia Melo
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - ResumoDaniel Brandão
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 

Mais procurados (20)

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
 
Modelo cascata
Modelo cascataModelo cascata
Modelo cascata
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Modelo em Espiral
Modelo em EspiralModelo em Espiral
Modelo em Espiral
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
A Linguagem UML
A Linguagem UMLA Linguagem UML
A Linguagem UML
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Modelo Espiral
Modelo EspiralModelo Espiral
Modelo Espiral
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Ferramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareFerramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de software
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Introdução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareIntrodução à Gerência de configuração de Software
Introdução à Gerência de configuração de Software
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresMetodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de Softwares
 
Introdução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareIntrodução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de Software
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - Resumo
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 

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
 
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
 
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
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trataRoni Reis
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANFernando Palma
 

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
 
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
 
Aula 01 engenharia de software
Aula 01   engenharia de softwareAula 01   engenharia de software
Aula 01 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
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
 

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.