Você está na página 1de 46

MODELOS DE

CICLO DE
VIDA DE
SOFTWARE I
MODELOS DE PROCESSO DE SOFTWARE

Existem vários modelos de


processo de software (ou
paradigmas de engenharia de
software)
Cada um representa uma tentativa
de colocar ordem em uma
atividade inerentemente caótica

2
4

MODELOS DE PROCESSO DE SOFTWARE

 O Modelo Cascata (Sequencial Linear)


 O Paradigma da Prototipação
 Modelos Evolutivos de Processo de Software
 O Modelo Incremental
 O Modelo Espiral
 O Modelo de Montagem de Componentes
 O Modelo de Desenvolvimento Concorrente
6

O MODELO CASCATA

 Modelo mais antigo e o mais amplamente usado da engenharia de software no


passado.
 Modelado em função do ciclo da engenharia convencional
 Requer uma abordagem sistemática, sequencial no desenvolvimento de software
 O resultado de uma fase se constitui na entrada da outra
 Trouxe contribuições importantes para o processo de desenvolvimento de software:
 Imposição de disciplina, planejamento e gerenciamento
 a codificação do produto deve ser postergada até que os objetivos e requisitos
tenham sido completamente entendidos
7

O MODELO CASCATA

Engenharia de
Sistemas
Análise de
Requisitos
Projeto

Codificação

Testes

Manutenção
6

O MODELO CASCATA – ENGENHARIA DE SISTEMAS

Envolve a coleta de requisitos em


nível do sistema, com uma
pequena quantidade de projeto e
análise de alto nível
Esta visão é essencial quando o
software deve fazer interface com
outros elementos (hardware,
pessoas e banco de dados)
O MODELO
CASCATA - ANÁLISE
DE REQUISITOS DE
SOFTWARE
o processo de coleta dos requisitos é
intensificado e concentrado
especificamente no software
deve-se compreender o domínio da
informação, a função, desempenho e
interfaces exigidos
os requisitos (para o sistema e para o
software) são documentados e
revistos com o cliente

TEACH A COURSE 7
O MODELO CASCATA - PROJETO

Tradução dos requisitos do


software para um conjunto de
representações que podem ser
avaliadas quanto à qualidade,
antes que a codificação se
inicie
O MODELO
CASCATA -
CODIFICAÇÃO

Tradução das
representações do
projeto para uma
linguagem “artificial”
resultando em
instruções executáveis
pelo computador

TEACH A COURSE 9
O MODELO CASCATA - TESTES

 Concentra-se:
 nos aspectos lógicos internos do
software, garantindo que todas as
instruções tenham sido testadas
 nos aspectos funcionais externos,
para descobrir erros e garantir que
a entrada definida produza
resultados que concordem com os
esperados.
O MODELO
CASCATA -
MANUTENÇÃO

Provavelmente o software
deverá sofrer mudanças depois
que for entregue ao cliente
• Causas das mudanças:
• Erros;
• Adaptação do software
para acomodar mudanças
em seu ambiente externo
• Exigência do cliente para
acréscimos funcionais e de
desempenho
6

O MODELO CASCATA - PROBLEMAS

Projetos reais raramente seguem o fluxo seqüencial


que o modelo propõe
Logo no início é difícil estabelecer explicitamente
todos os requisitos. No começo dos projetos sempre
existe uma incerteza natural
O cliente deve ter paciência, uma versão executável
do software só fica disponível numa etapa avançada
do desenvolvimento
O PARADIGMA DA PROTOTIPAÇÃO
6

O PARADIGMA DA PROTOTIPAÇÃO

 O objetivo é entender os requisitos do cliente e dos usuários e, assim, obter


uma melhor definição dos requisitos do sistema.
 Possibilita que o desenvolvedor crie um modelo (protótipo) do software que
deve ser construído
 Apropriado para quando o cliente não definiu (ou não consegue propriamente
definir) detalhadamente os requisitos.
O PARADIGMA DA PROTOTIPAÇÃO

Obter Requisitos

Elaborar Projeto Rápido


Refinamento do Protótipo

Construir Protótipo
Avaliar Protótipo
O PARADIGMA DA PROTOTIPAÇÃO

1- OBTENÇÃO DOS REQUISITOS:


Obter Requisitos
desenvolvedor e cliente definem os
objetivos gerais do software,
identificam quais requisitos são Projet o Rápido
Elaborar
conhecidos
Refinamento do Protótipoe as áreas que
necessitam de definições
adicionais.
Construir Protótipo
Avaliar Protótipo
O PARADIGMA DA PROTOTIPAÇÃO

Obter Requisitos

2- PROJETO RÁPIDO:
Elaborar Projeto Rápido
representação dos aspectos do
Refinamento do Pro tótipo
software que são visíveis ao
usuário (abordagens de entrada
e formatos de saída)
Construir Protótipo
Avaliar Protótipo
O PARADIGMA DA PROTOTIPAÇÃO

Obter Requisitos

Elaborar Projeto Rápido


Refinamento do Protótipo
3- CONSTRUÇÃO PROTÓTIPO:
implementação rápida do
projeto Construir Protótipo
Avaliar Protótipo
O PARADIGMA DA PROTOTIPAÇÃO

Obter Requisitos

Elaborar Projeto Rápido


Refinamento do Protótipo

4- AVALIAÇÃO DO PROTÓTIPO:
cliente e desenvolvedor Construir
avaliamProt
o ótipo
Avaliar Protótipo
protótipo
O PARADIGMA DA PROTOTIPAÇÃO

Obter Requisitos

Elaborar Projeto Rápido


5- REFINAMENTO DO PROTÓTIPO: cliente
Refinamento do Protótipo refinam
e desenvolvedor os requisitos
do software a ser desenvolvido.
Construir Protóti po
Avaliar Protótipo
O PARADIGMA DA PROTOTIPAÇÃO

Obter Requisitos

Elaborar Projeto Rápido

Construir Protótipo
Avaliar Protótipo
O PARADIGMA DA PROTOTIPAÇÃO

Obter Requisitos
6- CONSTRUÇÃO PRODUTO:
identificados os requisitos, o
Elaborar Projeto Rápido
protótipo
CONSTRUÇÃO deve ser descartado ea
ROefiPnRameOde
Dversão DnUtoT do Protótipodeve ser
produção
O
construída considerando os
critérios de qualidade.
Constr ir Protótipo
Avaliar Protótipo u
O PARADIGMA DA PROTOTIPAÇÃO - PROBLEMAS

 clientenão sabe que o software que ele vê não


considerou, durante o desenvolvimento, a qualidade
global e a manutenibilidade a longo prazo
 desenvolvedor frequentemente faz uma
implementação comprometida (utilizando o que está
disponível) com o objetivo de produzir rapidamente um
protótipo
MODELO INCREMENTAL
6

O MODELO INCREMENTAL

 O modelo incremental combina elementos do modelo cascata (aplicado


repetidamente) com a filosofia iterativa da prototipação.
 O objetivo é trabalhar junto do usuário para descobrir seus requisitos, de
maneira incremental, até que o produto final seja obtido.
41

O MODELO INCREMENTAL

Versão Inicial

Análise Projeto

Descrição Engenharia de
sistemas/informação Versões
Descrição
geral Descrição
Intermediárias
geral
geral
Codificação

Versão Final
Teste
6

O MODELO INCREMENTAL

 A versão inicial é frequentemente o núcleo do produto (a parte mais


importante)
 A evolução acontece quando novas características são adicionadas à medida
que são sugeridas pelo usuário
 Este modelo é importante quando é difícil estabelecer a priori uma
especificação detalhada dos requisitos
6

O MODELO INCREMENTAL

 A versão inicial é frequentemente o núcleo do produto (a parte mais


importante)
 A evolução acontece quando novas características são adicionadas à medida
que são sugeridas pelo usuário
 Este modelo é importante quando é difícil estabelecer a priori uma
especificação detalhada dos requisitos
 É mais apropriado para sistemas pequenos
O MODELO ESPIRAL
6

O MODELO ESPIRAL

 Nesse modelo o problema relatado pelo cliente é abordado em ciclos.


 Une a natureza iterativa da prototipação com os aspectos controlados e
sistemáticos do modelo cascata.
 O modelo espiral é dividido em uma série de atividades de trabalho ou
regiões de tarefa.
 Existem tipicamente de 3 a 6 regiões de tarefa
 Ao final de cada ciclo, temos a liberação de uma versão aprimorada do
software, ou seja, uma versão mais completa (e mais correta) do software que
o cliente necessita.
EXEMPLO DE
MODELO
ESPIRAL
O MODELO ESPIRAL
DETERMINAR OBJETIVOS, AVALIAR ALTERNATIVAS
ALTERNATIVAS E Risk IDENTIFICAR, RESOLVER RISCOS
RESTRIÇÕES analys is
Risk
analys is
Risk
analys is Opera-
Prot otyp e 3 ti onal
Prototyp e 2 prot oyp e
Risk
REVIEW analysis Prot o-
ty pe 1
Requi rement s pl an Sim ul ati ons, m odels, b en ch marks
Li fe-cycle plan Concept o f
Operati on S/W
requi rement s Prod uct
desi gn Detail ed
Requi rement desi gn
Develop ment
pl an valid ati on Code
Unit t es t
Integrati on Desi gn
and t est p lan V&V Integr ati on
Accep tance test
PLANEJAR PRÓXIMA FASE test
Serv ice DESENVOLVER, VERIFICAR O
PRODUTO NO PRÓXIMO NÍVEL
O MODELO ESPIRAL
DETERMINAR OBJETIVOS, AVALIAR ALTERNATIVAS
ALTERNATIVAS E Risk IDENTIFICAR, RESOLVER RISCOS
RESTRIÇÕES analys is
Risk

cada “loop” no Risk


analys is

analys is Opera-
espiral representa Prototyp e 2
Prot otyp e 3 ti onal
prot oyp e
Risk
uma fase do REVI EW analysis Prot o-
ty pe 1

processo de Requi rement s pl an


Li fe-cycle pl an Concept o f
Sim ul ati ons, m odels, b en ch marks

Operati on
software S/W
requi rement s Prod uct
Detail ed
desi gn
Requi rement desi gn
Develop ment
pl an valid ati on Code
Unit t es t
Integrati on Desi gn
and t est p lan V&V Integr ati on
Accep tance test
PLANEJAR PRÓXIMA FASE test
Serv ice DESENVOLVER, VERIFICAR O
PRODUTO NO PRÓXIMO NÍVEL
O MODELO ESPIRAL o “loop” mais interno
está concentrado
nas possibilidades
do sistema
Risk
REVIEW analysis Proto-
ty pe 1
Requi rements plan
Life-cycle plan Concept o f
Operati on
O MODELO ESPIRAL

o próximo “loop”
está concentrado na Risk
analys is
definição dos Prototyp e

requisitos do
Simul ati ons, models, benchmarks
sistema
SW
requi rements

Development Requi rement


plan validati on
O MODELO ESPIRAL

Risk
analys is

o “loop” um pouco
prototype 3

mais externo está


si mul ati ons, models, benchmarks
concentrado no
projeto do sistema Prod uct
desi gn

Integrati on Desi gn
and test plan V&V
O MODELO ESPIRAL
Risk
nalys is

Opera-
ti onal
protoype
um “loop” ainda
mais externo está Simul ati ons, models, benchmarks

concentrado na
Detail ed
construção do desi gn
Code
sistema Unit tes t
Integrati on
Acceptance test
Serv ice test
O MODELO ESPIRAL
DETERMINAR OBJETIVOS, AVALIAR ALTERNATIVAS
ALTERNATIVAS E Risk IDENTIFICAR, RESOLVER RISCOS
RESTRIÇÕES analys is

 não existem fases fixas no modelo Risk


analys is
Risk
 as fases mostradas na figura são analys is Prot otyp e 3
Opera-
ti onal
Prototyp e 2 prot oyp e

meramente exemplos REVIEW


Risk
analysis Prot o-
ty pe 1
Requi rement s pl an Sim ul ati ons, m odels, b en ch marks
 a gerência decide como estruturar o
Li fe-cycle pl an Concept o f
Operati on S/W
requi rement s Prod uct
projeto em fases Develop ment Requi rement
desi gn Detail ed
desi gn
pl an valid ati on Code
Unit t es t
Integrati on Desi gn
and t est p lan V&V Integr ati on
Accep tance test
PLANEJAR PRÓXIMA FASE test
Serv ice DESENVOLVER, VERIFICAR O
PRODUTO NO PRÓXIMO NÍVEL
53

O Cada
Modelo
“loop”Espiral
do espiral(com 4 regiões)
é dividido em 4
setores
DETERMINAR OBJETIVOS, AVALIAR ALTERNATIVAS
ALTERNATIVAS E IDENTIFICAR, RESOLVER RISCOS
RESTRIÇÕES Risk
analys is
Risk AVALIAÇÃO E
COLOCAÇÃO DE Risk
analys is
REDUÇÃO DE
analys is Opera-
OBJETIVOS RISCOS
Prot otyp e 3 ti onal
Prototyp e 2 prot oyp e
Risk
REVIEW analysis Prot o-
ty pe 1
Requi rement s pl an Sim ul ati ons, m odels, b en ch marks
Li fe-cycle plan Concept o f
Operati on S/W
requi rement s Prod uct
desi gn Detail ed
PLANEJAMENTO
Develop ment DESENVOLVIMENTO E
Requi r ement
valid ati on
desi gn
pl an Code
Desi gn
VALIDAÇÃO
Unit t es t
Integrati on
and t est p lan V&V Integr ati on
Accep tance test
PLANEJAR PRÓXIMA FASE test
Serv ice DESENVOLVER, VERIFICAR O
PRODUTO NO PRÓXIMO NÍVEL
são definidos objetivos específicos
O MODELO ESPIRAL para a fase do projeto
são identificadas restrições sobre o
processo e o produto
COLOCAÇÃO DE é projetado um plano de
OBJETIVOS gerenciamento detalhado
são identificados riscos do projeto
dependendo dos riscos, estratégias
alternativas podem ser planejadas
O MODELO ESPIRAL
para cada um dos riscos
identificados, uma análise AVALIAÇÃO E
COLOCAÇÃO
detalhada DE
é executada. REDUÇÃO DE
passos OBJETIVOS
são tomados para reduzir o RISCOS
risco
O MODELO ESPIRAL
AVALIAÇÃO E
COLOCAÇÃO DE REDUÇÃO DE
OBJETIVOS RISCOS

depois da avaliação do risco, um


modelo de desenvolvimento é DESENVOLVIMENTO
escolhido para o sistema E VALIDAÇÃO
O MODELO ESPIRAL

AVALIAÇÃO E
COLOCAÇÃO DE REDUÇÃO DE
OBJETIVOS RISCOS
o projeto é revisto e é tomada
uma decisão de continuidade
se é decidido continuar, são
projetados planos para a próxima NTO
DESENVOLVIME
PLANEJAMENTO
fase do projeto (próximo
E VALIDAÇÃO
“loop” )
O MODELO ESPIRAL

 engloba as melhores características do ciclo de vida


Clássico e da Prototipação, adicionando um novo elemento:
a Análise de Risco
 segue a abordagem de passos sistemáticos do Modelo
Cascata, incorporando-os numa estrutura iterativa que reflete
mais o mundo real
 usa a Prototipação, em qualquer etapa da evolução do
produto, como mecanismo de redução de riscos
6

O MODELO ESPIRAL - DESVANTAGENS

As principais desvantagens desse modelo são:


O processo é mais difícil de gerenciar, pois o modelo espiral não se
“encaixa” bem com as ferramentas de gerência de projetos tradicionais,
tais como gráfico de Gantt, PERT, etc.;
Pode ocorrer precipitação e entrega de código, sem que seja feita análise
completa do alcance dos seus objetivos.
OBRIGADO!

Você também pode gostar