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

Aula 10 - Modelos de Ciclo de vida

Disciplina:Processos de Desenvolvimento de Software2.376 materiais10.030 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 – Modelos de ciclo de vida de software

Processos de Desenvolvimento de Software – Prof. David Falcão

Modelos de ciclo de vida de software

 Representação abstrata de um processo de software. Cada
modelo representa um processo a partir de uma perspectiva
particular

 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 – Prof. David Falcão

Modelos de ciclo de vida de software

Constrói e Conserta

Modelo Cascata

– Fases separadas e distintas de especificação, projeto e
desenvolvimento

 Desenvolvimento evolucionário
– Especificação e desenvolvimento são intercalados

Modelos iterativos
– O sistema é desenvolvido em iterações (ciclos)

Processos de Desenvolvimento de Software – Prof. David Falcão

Modelos de ciclo de vida de software

Constrói e Conserta

– O produto é construído sem qualquer especificação ou
projeto;

– O produto é retrabalhado quantas vezes for necessário para
satisfazer o cliente.

Processos de Desenvolvimento de Software – Prof. David Falcão

Modelos em cascata

 Modelo Cascata
– modelo mais antigo e o mais amplamente usado da

engenharia de software
– modelado em função do ciclo da engenharia convencional
– 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 – Prof. David Falcão

Modelos em cascata

 Problemas:
– Projetos reais raramente seguem o fluxo seqüencial que o

modelo propõe;

– Em geral, é difícil para o cliente estabelecer todos os

requisitos explicitamente;

– Uma versão executável do sistema não vai estar disponível
até o período final do projeto;

– A natureza linear do modelo leva a “estados de bloqueios”:
membros da equipe devem esperar que outros membros
completem suas tarefas

Processos de Desenvolvimento de Software – Prof. David Falcão

Rapid Application Development (RAD)

Modelo 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 – Prof. David Falcão

Rapid Application Development (RAD)

Quando usar?
– As restrições de tempo impostas pelo projeto demandam um

escopo de escala;

– Quando a aplicação pode ser modularizada de forma que
cada grande função possa ser completada em menos de 3
meses;

– Cada grande função pode ser alocada para uma equipe
distinta e, depois são integradas para formar o todo;

– Requisitos bem definidos.

Processos de Desenvolvimento de Software – Prof. David Falcão

Desenvolvimento evolucionário

 Desenvolvimento evolucionário:
– 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;

– A especificação, desenvolvimento e validação são executados
concorrentemente para gerar um retorno rápido;

Processos de Desenvolvimento de Software – Prof. David Falcão

Desenvolvimento evolucionário

 Desenvolvimento evolucionário:

Processos de Desenvolvimento de Software – Prof. David Falcão

Desenvolvimento evolucionário

 Pode ser:
– 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.

– 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 – Prof. David Falcão

Desenvolvimento evolucionário

 Problemas:
– O processo não é visível: como o sistema é desenvolvido

rapidamente, não há tempo de documentar as versões;

– Os sistemas são mal estruturados: mudanças constantes
podem corromper a estrutura do software;

– 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 – Prof. David Falcão

Modelos Iterativos

 Requisitos de sistema sempre evoluem ao longo de um projeto
de software;

Duas abordagens (relacionadas):
– Desenvolvimento Espiral
– Desenvolvimento Incremental

Processos de Desenvolvimento de Software – Prof. David Falcão

Modelos Iterativos: Espiral

Acrescenta aspectos gerenciais ao processo de desenvolvimento
de software:

– Análise de riscos em intervalos regulares;
– Planejamento e Controle;
– Tomada de Decisão.

Processo representado por um espiral em vez de uma sequencia
de atividades

– Cada volta no espiral representa uma fase do processo.

Não há fases fixas como especificação ou projeto: voltas no
espiral são realizadas de acordo com as necessidades;

Riscos são avaliados explicitamente e resolvidos ao longo dos
projetos

Processos de Desenvolvimento de Software – Prof. David Falcão

Modelos Iterativos: Espiral

Processos de Desenvolvimento de Software – Prof. David Falcão

Modelos Iterativos: Incremental

Combina elementos do modelo em cascata com prototipação
aplicado de maneira iterativa;

Cada sequência linear produz “incrementos” (miniprojetos) do
software passíveis de serem entregues ao cliente;

Primeiro incremento é frequentemente chamado de “núcleo do
produto”;

O processo se repete até que um produto completo seja
produzido;

Difere da Prototipação pois a cada incremento produz uma
versão operacional do software;

Processos de Desenvolvimento de Software – 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