You are on page 1of 14

Modelos de

desenvolvimento de
software
Paradigmas de engenharia de software
So modelos de processo de desenvolvimento de sistemas que especificam quais atividades
devem ser executadas e em qual ordem (oposta a uma abordagem casual)!
Ciclo de vida
clssico(cascata)
Evolutivo (dep. Prototipao) Espiral
Dividido em etapas ...
* Eng. sistemas
* Anlise de requisitos
* Planejamento de Projeto
* Codificao
* Testes
*Manuteno
Mtodo sequencial - o
resultado de uma fase a
entrada da outra.
Indicado quando os requisitos
esto bem claros.
Prima por um fluxo sequencial
de atividades na tentativa de
manter o processo previsvel e
fcil de monitorar.
Rigidez: no prev dinamismo
nos requisitos ou interaes
entre as etapas, no acomoda
incertezas tpicas do comeo
de muitos projetos.
Exige pacincia do cliente, o
desenvolvimento pode ser
muito longo.
Um produto inicial
desenvolvido e implementado
e vai sendo refinado atravs de
mltiplas verses at que o
sistema almejado tenha sido
obtido. Assim este modelo
atende bem os requisitos do
cliente (gera produto:
desenvolvimento exploratrio) -
um bom mecanismo para
identificar requisitos (no gera
produto, serve s para
esclarecer requisitos - prottipo
descartvel).O processo no
visvel, no compensa
documentar cada verso da
implementao. Sistema
pobremente estruturado dadas
as mudanas constantes.
Distncia entre prottipo e
produto (rapidez) representa
um risco que sacrifica a
qualidade -
Melhor para sist. pequenos !
Combina o ciclo de vida
clssico com o evolutivo
adicionando Anlise de Risco.
O desenvolvimento se organiza
como uma espiral que tem
muitos ciclos - cada ciclo uma
fase do processo de
desenvolvimento.
Parte do princpio de que a
forma do desenvolvimento no
pode ser completamente
determinada de antemo.
Desvantagem: custo.
Ciclo de vida clssico ou modelo em cascata
Observao importante: cada uma das atividades fornecem um feed-back para as fases anteriores, tal feed-back
estimula a melhoria e a evoluo do software.
Eng. Sistemas
Anlise de
requisitos
Planejamento
de Projeto
Codificao Testes Manuteno
O software
sempre
faz parte de
um sistema
mais amplo -
deve fazer
interface
com outros
elementos tais
como
hardware,
pessoas e
bancos de
dados.
Identificao
das restries e
dos servios e
metas a serem
atingidas
(determinar
quais e no
como..). Esta
fase gera um
documento de
especificao
de requisitos
para (a) o
cliente verificar
se satisfaz suas
expectativas (b)
ser usado pelos
desenvolvedore
s de software.
Processo de
mltiplos passos:
estrutura de
dados,
arquitetura de
software,
interface. Como
os requisitos, o
projeto
documentado e
torna-se parte da
configurao do
software:
documento de
especificao do
projeto.
Testes tanto nos
aspectos lgicos
internos do
programa,
quantos nos
aspectos
externos
(entradas e
sadas).Testes
so feitos
progressivamen
te, em
conjuntos cada
vez maiores, a
partir de
pequenos
subsistemas at
que o sistema
inteiro seja
construdo.
Fase em que o
projeto de
software se
transforma em
um conjunto
de programas.
O software
poder sofrer
mudanas
depois de
entregue:
acomodar
mudanas, erros
encontrados,
acrscimos etc.
A manuteno
reaplica cada
uma das etapas
precedentes.Pod
e vir a ser a
etapa mais
longa do ciclo
de vida.
O qu
Como Operao
Modelo Evolutivo
Incio
Fim
Especificaes de requisitos
ou
Produto
Modelo Evolutivo
Prototipao um mtodo rpido de desenvolvimento.
No passado desenvolver por protipao era considerado um
mtodo inferior que exigiria grandes esforos adicionais..
porm muitos sistemas hoje so desenvolvidos pelo mtodo
evolucionrio, ao menos parcialmente.
Prototipao como uma atividade de reduo de riscos.
O uso principal ajudar clientes e desenvolvedores a
compreender requisitos do sistema:
Usurios podem experimentar com um prottipo para
verificar o comportamento do sistema.
O prottipo pode revelar erros e omisses nos requisitos
(validao).
Vantagens do modelo Evolutivo
Diferenas entre percepes do cliente e dos desenvolvedores
so explicitadas.
Um sistema funcional apresentado antecipadamente.
O prottipo pode servir de base para a especificao do sistema.
O prottipo pode entrever necessidade de treinamento de pessoas
e esquema de testes.
Aumento da usabilidade, manutenibilidade e at mesmo da
qualidade do sistema, se tomado para amadurecer o
entendimento dos requisitos.
Prototipao interessante para desenvolver partes do
sistema de difcil especificao como interface do usurio.
Cliente envolve-se na avaliao do prottipo.
Desvantagens do modelo Evolutivo
Questes de gerencimento
Esquema muito menos estruturado
Specialist skills are required which may not be
available in all development teams
Problemas de manuteno
Constantes mudanas tendem a corromper a
estrutura do sistema o que pode repercutir na
necessidade de manuteno (ou retrabalho) mais
cara.
Problemas contratuais (entrega antes do prazo de um
sistema mas com qualidade inferior).
Duas variantes de prototipao:
Prototipao evolucionria
Um prottipo inicial produzido e refinado at que
se tenha um produto final para os usurios finais.
Parte-se dos requisitos melhor compreendidos.
Prototipao descartvel
Um prottipo, usualmente uma implementao do
sistema, produzido para ajudar a compreender os
requisitos do sistema e ento descartado. O sistema
ento desenvolvido usando-se outro processo de
desenvolvimento.
Parte-se dos requisitos pobremente compreendidos.
Modelos de prototipao:
Requisitos
Prototipao
Evolucionria
Prototipao
Descartvel
Sistema
Prottipo
executvel
Modelo Espiral
Processo representado por uma espiral em lugar de uma
sequncia linear.
Cada loop na espiral representa uma fase do processo: loop
mais interno pode representar a viabilidade; o seguinte o
planejamento e assim por diante.
Riscos so regularmente avaliados durante o processo.
Um ciclo da espiral comea com a elaborao de objetivos,
como desempenho, funcionalidade, etc. Meios alternativos
de atingir esses objetivos e suas restries so enumerados.
Cada alternativa examinada em relao a cada objetivo.
Isso resulta na identificao das causas de riscos. A prxima
etapa avaliar esses riscos. Em seguida uma parte
realizada e parte-se para a prxima fase do projeto.
Modelo Espiral (Boehm)
(Verso Pressman/ Peters)
Determinar objetivos,
riscos e restries
Avaliar alternativas entre
prottipos,avaliar e
resolver riscos
Desenvolver, verificar
produto de prximo
nvel
Planejar prximas
fases do ciclo, abort-lo
se necessrio
Setores do modelo Espiral
Determinao de objetivos
So identificados objectivos especficos
Anlise e reduo de riscos
Riscos so detectados e atividades so
acionadas para reduzir riscos
Desenvolvimento e Validao
Um modelo de desenvolvimento escolhido
Planejamento
O projeto revisado e a prxima fase da espiral
planejada
Risk
analys is
Risk
analys is
Risk
analys is
Risk
analysis
Prot o-
ty pe 1
Prot otyp e 2
Prot otyp e 3
Opera-
ti onal
prot oyp e
Concept o f
Operati on
Simul ati ons, models, b en ch marks
S/W
requi rement s
Requi rement
valid ati on
Desi gn
V&V
Prod uct
desi gn
Detail ed
desi gn
Code
Uni t t es t
Integr ati on
test
Accep tance
test
Serv ice
Develop, v erify
next -l evel p rod uct
Ev aluate alt ern atives
id en tify, resol ve risk s
Determine ob jectiv es
alternatives and
cons traint s
Plan next p has e
Integrati on
and t est p lan
Develop ment
pl an
Requi rement s pl an
Li fe-cycle pl an
REVIEW
(Verso Sommerville)
Modelo Espiral (Boehm)
Os pontos fortes de cada um dos paradigmas podem ser utilizados
em um mesmo projeto.
O paradigma espiral j faz isso diretamente, combinando
prototipagem e elementos do ciclo de vida clssico em uma
paradigma evolutivo. Qualquer um pode servir como alicerce no
qual os outros paradigmas podem ser integrados. O processo
sempre comea com a determinao dos objetivos, alternativas e
restries (requisitos). Se os requisitos no estiverem muito claros,
um prottipo pode ser usado para melhor defini-lo. Usando o
prottipo como guia, o desenvolvedor pode retornar aos passos do
ciclo de vida clssico. Alternativamente o prottipo pode evoluir
para um sistema.
A natureza da aplicao que vai determinar o paradigma a ser
utilizado e a combinao de paradigmas s tende a beneficiar o
processo como um todo.
Observaes

You might also like