Aula 10 - Modelos de Ciclo de vida
17 pág.

Aula 10 - Modelos de Ciclo de vida


DisciplinaProcessos de Desenvolvimento de Software2.883 materiais19.407 seguidores
Pré-visualização1 página
PROCESSOS DE DESENV. DE SOFTWARE
CURSO DE ANÁLISE E DESENVOLVIMENTO
DE SISTEMAS
Professor: David Falcão, M.Sc.
davidfalcaoprof@gmail.com
Aula 10 \u2013 Modelos de ciclo de vida de software
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Modelos de ciclo de vida de software
\uf071 Representação abstrata de um processo de software. Cada 
modelo representa um processo a partir de uma perspectiva 
particular
\uf071 Não são descrições definitivas de processo de software, mas 
sim abstrações úteis, que podem ser usadas para explicar 
diferentes abordagens de desenvolvimento de software.
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Modelos de ciclo de vida de software
\uf071Constrói e Conserta
 
\uf071Modelo Cascata
\u2013 Fases separadas e distintas de especificação, projeto e 
desenvolvimento
\uf071 Desenvolvimento evolucionário
\u2013 Especificação e desenvolvimento são intercalados
\uf071Modelos iterativos
\u2013 O sistema é desenvolvido em iterações (ciclos)
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Modelos de ciclo de vida de software
\uf071Constrói e Conserta
\u2013 O produto é construído sem qualquer especificação ou 
projeto; 
\u2013 O produto é retrabalhado quantas vezes for necessário para 
satisfazer o cliente.
 
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Modelos em cascata
\uf071 Modelo Cascata
\u2013 modelo mais antigo e o mais amplamente usado da 
engenharia de software 
\u2013 modelado em função do ciclo da engenharia convencional
\u2013 utilizam uma abordagem sistemática, sequencial ao 
desenvolvimento de software
Requisitos Requisitos Requisitos Requisitos 
Projeto Projeto Projeto Projeto 
Construção Construção Construção Construção 
Testes Testes Testes Testes 
ManutençãoManutenção ManutençãoManutenção 
Projetos reais 
raramente seguem 
um fluxo sequencial 
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Modelos em cascata
\uf071 Problemas:
\u2013 Projetos reais raramente seguem o fluxo seqüencial que o 
modelo propõe;
 
\u2013 Em geral, é difícil para o cliente estabelecer todos os 
requisitos explicitamente;
\u2013 Uma versão executável do sistema não vai estar disponível 
até o período final do projeto;
\u2013 A natureza linear do modelo leva a \u201cestados de bloqueios\u201d: 
membros da equipe devem esperar que outros membros 
completem suas tarefas
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Rapid Application Development (RAD)
\uf071Modelo sequencial, mas que enfatiza um desenvolvimento 
extremamente rápido
modelagem 
do negócio
modelagem 
dos dados
modelagem 
do processo
geração 
da 
aplicação
teste e 
modificação
modelagem 
do negócio
modelagem 
dos dados
modelagem 
do processo
geração 
da 
aplicação
teste e 
modificação
equipe # 3equipe # 2equipe # 1
60-90 dias
modelagem 
do negócio
modelagem 
dos dados
modelagem 
do processo
geração 
da 
aplicação
teste e 
modificação
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Rapid Application Development (RAD)
\uf071Quando usar?
\u2013 As restrições de tempo impostas pelo projeto demandam um 
escopo de escala;
\u2013 Quando a aplicação pode ser modularizada de forma que 
cada grande função possa ser completada em menos de 3 
meses;
\u2013 Cada grande função pode ser alocada para uma equipe 
distinta e, depois são integradas para formar o todo;
\u2013 Requisitos bem definidos.
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Desenvolvimento evolucionário
\uf071 Desenvolvimento evolucionário:
\u2013 Tem com base a ideia de desenvolver uma implementação 
inicial, expor o resultado ao comentário do usuário e fazer 
seu aprimoramento por meio de muitas versões, até que 
tenha sido desenvolvido;
\u2013 A especificação, desenvolvimento e validação são executados
concorrentemente para gerar um retorno rápido;
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Desenvolvimento evolucionário
\uf071 Desenvolvimento evolucionário:
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Desenvolvimento evolucionário
\uf071 Pode ser:
\u2013 Exploratório: tem como objetivo trabalhar com o cliente a 
fim de explorar seus requisitos e entregar um sistema final. 
São feitas partes inicias e acrescentadas novas de acordo 
com o desenvolvimento.
\u2013 Protótipos descartáveis: tenta compreender os melhor os 
requisitos a partir de protótipos e então desenvolver uma 
especificação de requisitos completa.
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Desenvolvimento evolucionário
\uf071 Problemas:
\u2013 O processo não é visível: como o sistema é desenvolvido 
rapidamente, não há tempo de documentar as versões;
\u2013 Os sistemas são mal estruturados: mudanças constantes 
podem corromper a estrutura do software;
\u2013 Requer ferramentas e técnicas especiais: que nem 
sempre estão disponíveis ou são aplicáveis ao caso.
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Modelos Iterativos
\uf071 Requisitos de sistema sempre evoluem ao longo de um projeto 
de software; 
\uf071Duas abordagens (relacionadas):
\u2013 Desenvolvimento Espiral
\u2013 Desenvolvimento Incremental
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Modelos Iterativos: Espiral
\uf071Acrescenta aspectos gerenciais ao processo de desenvolvimento 
de software: 
\u2013 Análise de riscos em intervalos regulares;
\u2013 Planejamento e Controle;
\u2013 Tomada de Decisão.
\uf071Processo representado por um espiral em vez de uma sequencia 
de atividades
\u2013 Cada volta no espiral representa uma fase do processo.
\uf071Não há fases fixas como especificação ou projeto: voltas no 
espiral são realizadas de acordo com as necessidades;
\uf071Riscos são avaliados explicitamente e resolvidos ao longo dos 
projetos
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Modelos Iterativos: Espiral
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Modelos Iterativos: Incremental
\uf071Combina elementos do modelo em cascata com prototipação 
aplicado de maneira iterativa;
\uf071Cada sequência linear produz \u201cincrementos\u201d (miniprojetos) do 
software passíveis de serem entregues ao cliente;
\uf071Primeiro incremento é frequentemente chamado de \u201cnúcleo do 
produto\u201d; 
\uf071O processo se repete até que um produto completo seja 
produzido;
\uf071Difere da Prototipação pois a cada incremento produz uma 
versão operacional do software;
Processos de Desenvolvimento de Software \u2013 Prof. David Falcão 
Modelos Iterativos: Incremental
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17