Você está na página 1de 77

Modelos de Processo de

Software

SSC 121 - Engenharia de Software 1
Profa. Dra. Elisa Yumi Nakagawa
2
o
semestre de 2012

3
ENGENHARIA DE SOFTWARE

pode ser vista como uma abordagem de
desenvolvimento de software elaborada
com disciplina e mtodos bem definidos.

.....a construo por
mltiplas pessoas de um
software de mltiplas verses
[Parnas 1987]

4
Modelos de Processo de
Software
Existem vrios modelos de processo de
software (ou paradigmas de engenharia
de software)
Cada um representa uma tentativa de
colocar ordem em uma atividade
inerentemente catica
5
Modelos de Processo de
Software
O Modelo Sequencial Linear
tambm chamado Modelo Cascata
O Modelo de Prototipao
O Modelo RAD (Rapid Application
Development)
Modelos Evolutivos de Processo de Software
O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes
O Modelo de Desenvolvimento Concorrente
Modelo de Mtodos Formais
Tcnicas de Quarta Gerao
6
Modelos de Processo de
Software
O Modelo Sequencial Linear
tambm chamado Modelo Cascata
O Paradigma de Prototipao
O Modelo RAD (Rapid Application
Development)
Modelos Evolutivos de Processo de Software
O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes
O Modelo de Desenvolvimento Concorrente
Modelos de Mtodos Formais
Tcnicas de Quarta Gerao
7
O Modelo Cascata
modelo mais antigo e o mais amplamente
usado da engenharia de software
modelado em funo do ciclo da
engenharia convencional
requer uma abordagem sistemtica,
seqencial ao desenvolvimento de
software
o resultado de uma fase se constitui na
entrada da outra
8
O Modelo Cascata
Engenharia de
Sistemas
Anlise de
Requisitos
Projeto
Codificao
Testes
Manuteno
9
Engenharia de
Sistemas
Anlise de
Requisitos
Projeto
Codificao
Testes
Manuteno
O Modelo Cascata
Engenharia de Sistemas / Informao e
Modelagem
envolve a coleta de requisitos em nvel do
sistema, com uma pequena quantidade de
projeto e anlise de alto nvel
esta viso essencial quando o software deve
fazer interface com outros elementos
(hardware, pessoas e banco de dados)
10
O Modelo Cascata
Engenharia de
Sistemas
Anlise de
Requisitos
Projeto
Codificao
Testes
Manuteno
Anlise de Requisitos de Software
o processo de coleta dos requisitos
intensificado e concentrado especificamente no
software
deve-se compreender o domnio da informao,
a funo, desempenho e interfaces exigidos
os requisitos (para o sistema e para o software)
so documentados e revistos com o cliente
11
O Modelo Cascata
Engenharia de
Sistemas
Anlise de
Requisitos
Projeto
Codificao
Testes
Manuteno
Projeto
traduo dos requisitos do software para um
conjunto de representaes que podem ser
avaliadas quanto qualidade, antes que a
codificao se inicie
12
O Modelo Cascata
Engenharia de
Sistemas
Anlise de
Requisitos
Projeto
Codificao
Testes
Manuteno
Codificao
traduo das representaes do projeto para
uma linguagem artificial resultando em
instrues executveis pelo computador
13
O Modelo Cascata
Engenharia de
Sistemas
Anlise de
Requisitos
Projeto
Codificao
Testes
Manuteno
Testes
Concentra-se:
nos aspectos lgicos internos do software,
garantindo que todas as instrues tenham sido
testadas
nos aspectos funcionais externos, para descobrir
erros e garantir que a entrada definida produza
resultados que concordem com os esperados.
14
O Modelo Cascata
Engenharia de
Sistemas
Anlise de
Requisitos
Projeto
Codificao
Testes
Manuteno
Manuteno
provavelmente o software dever sofrer
mudanas depois que for entregue ao
cliente
causas das mudanas: erros, adaptao do
software para acomodar mudanas em seu
ambiente externo e exigncia do cliente
para acrscimos funcionais e de
desempenho
15
Problemas com o Modelo
Cascata
Projetos reais raramente seguem o fluxo
seqencial que o modelo prope
Logo no incio difcil estabelecer
explicitamente todos os requisitos. No
comeo dos projetos sempre existe uma
incerteza natural
O cliente deve ter pacincia. Uma
verso executvel do software s fica
disponvel numa etapa avanada do
desenvolvimento
16
Problemas com o Modelo
Cascata
Projetos reais raramente seguem o fluxo
seqencial que o modelo prope
Logo no incio difcil estabelecer
explicitamente todos os requisitos. No
comeo dos projetos sempre existe uma
incerteza natural
O cliente deve ter pacincia. Uma verso
executvel do software s fica disponvel
numa etapa avanada do desenvolvimento

Embora o Modelo Cascata
tenha fragilidades, ele
significativamente melhor
do que uma abordagem
casual ao desenvolvimento
de software
17
O Modelo Cascata
O modelo Cascata trouxe contribuies
importantes para o processo de
desenvolvimento de software:
Imposio de disciplina, planejamento e
gerenciamento
a implementao do produto deve ser
postergada at que os objetivos tenham sido
completamente entendidos
18
Modelos de Processo de
Software
O Modelo Sequencial Linear
tambm chamado Modelo Cascata
O Modelo de Prototipao
O Modelo RAD (Rapid Application
Development)
Modelos Evolutivos de Processo de Software
O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes
O Modelo de Desenvolvimento Concorrente
Modelos de Mtodos Formais
Tcnicas de Quarta Gerao
19
O Modelo de Prototipao
o objetivo entender os requisitos do
usurio e, assim, obter uma melhor
definio dos requisitos do sistema.
possibilita que o desenvolvedor crie um
modelo (prottipo)do software que deve
ser construdo
apropriado para quando o cliente no
definiu detalhadamente os requisitos.
20
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
Elaborar Projeto Rpido
Construir Prottipo
Avaliar Prottipo
Refinamento do Prottipo
21
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
Elaborar Projeto Rpido
Construir Prottipo
Avaliar Prottipo
Refinamento do Prottipo
1- OBTENO DOS REQUISITOS:
desenvolvedor e cliente definem os
objetivos gerais do software,
identificam quais requisitos so
conhecidos e as reas que
necessitam de definies
adicionais.
22
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
Elaborar Projeto Rpido
Construir Prottipo
Avaliar Prottipo
Refinamento do Prottipo
2- PROJ ETO RPIDO:
representao dos aspectos do
software que so visveis ao
usurio (abordagens de entrada
e formatos de sada)
23
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
Elaborar Projeto Rpido
Construir Prottipo
Avaliar Prottipo
Refinamento do Prottipo
3- CONSTRUO PROTTIPO:
implementao rpida do
projeto
24
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
Elaborar Projeto Rpido
Construir Prottipo
Avaliar Prottipo
Refinamento do Prottipo
4- AVALIAO DO PROTTIPO:
cliente e desenvolvedor avaliam o
prottipo
25
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
Elaborar Projeto Rpido
Construir Prottipo
Avaliar Prottipo
Refinamento do Prottipo
5- REFINAMENTO DO PROTTIPO: cliente
e desenvolvedor refinam os requisitos
do software a ser desenvolvido.
26
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
Elaborar Projeto Rpido
Construir Prottipo
Avaliar Prottipo
Refinamento do Prottipo
CONSTRUO
DO PRODUTO
27
O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos
Elaborar Projeto Rpido
Construir Prottipo
Avaliar Prottipo
Refinamento do Prottipo
CONSTRUO
DO PRODUTO
6- CONSTRUO PRODUTO:
identificados os requisitos, o
prottipo deve ser descartado e a
verso de produo deve ser
construda considerando os
critrios de qualidade.
28
Problemas com a Prototipao
cliente no sabe que o software que ele
v no considerou, durante o
desenvolvimento, a qualidade global e a
manutenibilidade a longo prazo
desenvolvedor freqentemente faz uma
implementao comprometida (utilizando
o que est disponvel) com o objetivo de
produzir rapidamente um prottipo
29
Comentrios sobre o
Paradigma de Prototipao
ainda que possam ocorrer problemas, a
prototipao um ciclo de vida eficiente.
a chave definir-se as regras do jogo
logo no comeo.
o cliente e o desenvolvedor devem
ambos concordar que o prottipo seja
construdo para servir como um
mecanismo a fim de definir os requisitos
30
Modelos de Processo de
Software
O Modelo Sequencial Linear
tambm chamado Modelo Cascata
O Paradigma de Prototipao
O Modelo RAD (Rapid Application
Development)
Modelos Evolutivos de Processo de Software
O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes
O Modelo de Desenvolvimento Concorrente
Modelos de Mtodos Formais
Tcnicas de Quarta Gerao
31
O Modelo RAD
RAD ( Rapid Application Development)
um modelo sequencial linear que enfatiza
um ciclo de desenvolvimento
extremamente curto
O desenvolvimento rpido obtido
usando uma abordagem de construo
baseada em componentes.
32
O Modelo RAD
Os requisitos devem ser bem entendidos
e o alcance do projeto restrito
O modelo RAD usado principalmente
para aplicaes de sistema de
informao
Cada funo principal pode ser
direcionada para uma equipe RAD
separada e ento integrada para formar o
todo.
33
O Modelo RAD
Modelagem
do Negcio
Modelagem
dos Dados
Modelagem
do Processo
Gerao da
Aplicao
Teste e
Modificao
Equipe #1
Modelagem
do Negcio
Modelagem
dos Dados
Modelagem
do Processo
Gerao da
Aplicao
Teste e
Modificao
Equipe #2
Modelagem
do Negcio
Modelagem
dos Dados
Modelagem
do Processo
Gerao da
Aplicao
Teste e
Modificao
Equipe #3
60 a 90 dias
34
O Modelo RAD
Desvantagens:
Exige recursos humanos suficientes para
todas as equipes
Exige que desenvolvedores e clientes
estejam comprometidos com as atividades
de fogo-rpido a fim de terminar o projeto
num prazo curto
35
O Modelo RAD
Nem todos os tipos de aplicao so
apropriadas para o RAD:
Deve ser possvel a modularizao efetiva
da aplicao
se alto desempenho uma caracterstica e o
desempenho obtido sintonizando as
interfaces dos componentes do sistema, a
abordagem RAD pode no funcionar
36
Modelos de Processo de
Software
O Modelo Sequencial Linear
tambm chamado Modelo Cascata
O Paradigma de Prototipao
O Modelo RAD (Rapid Application
Development)
Modelos Evolutivos de Processo de Software
O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes
O Modelo de Desenvolvimento Concorrente
Modelos de Mtodos Formais
Tcnicas de Quarta Gerao
37
Modelos Evolutivos de
Processo
Existem situaes em que a engenharia
de software necessita de um modelo de
processo que possa acomodar um
produto que evolui com o tempo.
38
Modelos Evolutivos de
Processo
quando os requisitos de produto e de
negcio mudam conforme o
desenvolvimento procede
quando uma data de entrega apertada
(mercado) - impossvel a concluso de
um produto completo
quando um conjunto de requisitos
importantes bem conhecido, porm os
detalhes ainda devem ser definidos
39
Modelos Evolutivos de
Processo
modelos evolutivos so iterativos
possibilitam o desenvolvimento de
verses cada vez mais completas do
software
40
Modelos de Processo de
Software
O Modelo Sequencial Linear
tambm chamado Modelo Cascata
O Paradigma de Prototipao
O Modelo RAD (Rapid Application
Development)
Modelos Evolutivos de Processo de Software
O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes
O Modelo de Desenvolvimento Concorrente
Modelos de Mtodos Formais
Tcnicas de Quarta Gerao
41
O Modelo I ncremental
o modelo incremental combina elementos
do modelo cascata (aplicado
repetidamente) com a filosofia iterativa da
prototipao
o objetivo trabalhar junto do usurio
para descobrir seus requisitos, de
maneira incremental, at que o produto
final seja obtido.
42
O Modelo I ncremental
Verso Inicial
Descrio
geral Descrio
geral
Descrio
geral
Verses
Intermedirias
Verso
Final
Anlise Projeto
Codificao
Teste
Engenharia de
sistemas/informao
43
O Modelo I ncremental
a verso inicial frequentemente o
ncleo do produto (a parte mais
importante)
a evoluo acontece quando novas
caractersticas so adicionadas medida
que so sugeridas pelo usurio
Este modelo importante quando difcil
estabelecer a priori uma especificao
detalhada dos requisitos
44
O Modelo I ncremental
o modelo incremental mais apropriado
para sistemas pequenos
As novas verses podem ser planejadas
de modo que os riscos tcnicos possam
ser administrados (Ex. disponibilidade de
determinado hardware)
45
Modelos de Processo de
Software
O Modelo Sequencial Linear
tambm chamado Modelo Cascata
O Modelo de Prototipao
O Modelo RAD (Rapid Application
Development)
Modelos Evolutivos de Processo de Software
O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes
O Modelo de Desenvolvimento Concorrente
Modelos de Mtodos Formais
Tcnicas de Quarta Gerao
46
O Modelo Espiral
O modelo espiral acopla a natureza
iterativa da prototipao com os aspectos
controlados e sistemticos do modelo
cascata.
O modelo espiral dividido em uma srie
de atividades de trabalho ou regies de
tarefa.
Existem tipicamente de 3 a 6 regies de
tarefa
47
O Modelo Espiral (com 4 regies)

R i s k
a n a l y s i s
R i s k
a n a l y s i s
R i s k
a n a l y s i s
Risk
anal ysis
P r o t o -
t y p e 1
P r o t o t y p e 2
P r o t o t y p e 3
O p e r a -
t i o n a l
p r o t o y p e
C o n c e p t o f
O p e r a t i o n
S i m u l a t i o n s , m o d e l s , b e n c h m a r k s
S / W
r e q u i r e m e n t s
R e q u i r e m e n t
v a l i d a t i o n
D e s i g n
V & V
P r o d u c t
d e s i g n
D e t a i l e d
d e s i g n
C o d e
U n i t t e s t
I n t e g r a t i o n
t e s t
A c c e p t a n c e
t e s t
S e r v i c e
I n t e g r a t i o n
a n d t e s t p l a n
D e v e l o p m e n t
p l a n
R e q u i r e m e n t s p l a n
L i f e - c y c l e p l a n
R E V I E W
DETERMINAR OBJETIVOS,
ALTERNATIVAS E
RESTRIES
PLANEJAR PRXIMA FASE
AVALIAR ALTERNATIVAS
IDENTIFICAR, RESOLVER RISCOS
DESENVOLVER, VERIFICAR O
PRODUTO NO PRXIMO NVEL
48
O Modelo Espiral (com 4 regies)

R i s k
a n a l y s i s
R i s k
a n a l y s i s
R i s k
a n a l y s i s
Risk
anal ysis
P r o t o -
t y p e 1
P r o t o t y p e 2
P r o t o t y p e 3
O p e r a -
t i o n a l
p r o t o y p e
C o n c e p t o f
O p e r a t i o n
S i m u l a t i o n s , m o d e l s , b e n c h m a r k s
S / W
r e q u i r e m e n t s
R e q u i r e m e n t
v a l i d a t i o n
D e s i g n
V & V
P r o d u c t
d e s i g n
D e t a i l e d
d e s i g n
C o d e
U n i t t e s t
I n t e g r a t i o n
t e s t
A c c e p t a n c e
t e s t
S e r v i c e
I n t e g r a t i o n
a n d t e s t p l a n
D e v e l o p m e n t
p l a n
R e q u i r e m e n t s p l a n
L i f e - c y c l e p l a n
R E V I E W
DETERMINAR OBJETIVOS,
ALTERNATIVAS E
RESTRIES
PLANEJAR PRXIMA FASE
AVALIAR ALTERNATIVAS
IDENTIFICAR, RESOLVER RISCOS
DESENVOLVER, VERIFICAR O
PRODUTO NO PRXIMO NVEL
cada loop no
espiral representa
uma fase do
processo de
software
49
O Modelo Espiral de Processo
de Software
Risk
anal ysis
P r o t o -
t y p e 1
C o n c e p t o f
O p e r a t i o n
R e q u i r e m e n t s p l a n
L i f e - c y c l e p l a n
R E V I E W
o loop mais
interno est
concentrado nas
possibilidades do
sistema
50
O Modelo Espiral de Processo
de Software
R i s k
a n a l y s i s
P r o t o t y p e
S i m u l a t i o n s , m o d e l s , b e n c h m a r k s
SW
r e q u i r e m e n t s
R e q u i r e m e n t
v a l i d a t i o n
D e v e l o p m e n t
p l a n
o prximo loop
est concentrado na
definio dos
requisitos do
sistema
51
O Modelo Espiral de Processo
de Software
R i s k
a n a l y s i s
prot o t y p e 3
si m u l a t i o n s , m o d e l s , b e n c h m a r k s
D e s i g n
V & V
P r o d u c t
d e s i g n
I n t e g r a t i o n
a n d t e s t p l a n
o loop um pouco
mais externo est
concentrado no
projeto do sistema
52
O Modelo Espiral de Processo
de Software
R i s k
n a l y s i s
O p e r a -
t i o n a l
p r o t o y p e
S i m u l a t i o n s , m o d e l s , b e n c h m a r k s
D e t a i l e d
d e s i g n
C o d e
U n i t t e s t
I n t e g r a t i o n
t e s t
A c c e p t a n c e
t e s t
S e r v i c e
um loop ainda
mais externo est
concentrado na
construo do
sistema
53
R i s k
a n a l y s i s
R i s k
a n a l y s i s
R i s k
a n a l y s i s
Risk
anal ysis
P r o t o -
t y p e 1
P r o t o t y p e 2
P r o t o t y p e 3
O p e r a -
t i o n a l
p r o t o y p e
C o n c e p t o f
O p e r a t i o n
S i m u l a t i o n s , m o d e l s , b e n c h m a r k s
S / W
r e q u i r e m e n t s
R e q u i r e m e n t
v a l i d a t i o n
D e s i g n
V & V
P r o d u c t
d e s i g n
D e t a i l e d
d e s i g n
C o d e
U n i t t e s t
I n t e g r a t i o n
t e s t
A c c e p t a n c e
t e s t
S e r v i c e
I n t e g r a t i o n
a n d t e s t p l a n
D e v e l o p m e n t
p l a n
R e q u i r e m e n t s p l a n
L i f e - c y c l e p l a n
R E V I E W
DETERMINAR OBJETIVOS,
ALTERNATIVAS E
RESTRIES
PLANEJAR PRXIMA FASE
AVALIAR ALTERNATIVAS
IDENTIFICAR, RESOLVER RISCOS
DESENVOLVER, VERIFICAR O
PRODUTO NO PRXIMO NVEL
no existem fases fixas no modelo
as fases mostradas na figura so
meramente exemplos
a gerncia decide como estruturar o
projeto em fases
O Modelo Espiral (com 4 regies)

54
O Modelo Espiral (com 4 regies)

R i s k
a n a l y s i s
R i s k
a n a l y s i s
R i s k
a n a l y s i s
Risk
anal ysis
P r o t o -
t y p e 1
P r o t o t y p e 2
P r o t o t y p e 3
O p e r a -
t i o n a l
p r o t o y p e
C o n c e p t o f
O p e r a t i o n
S i m u l a t i o n s , m o d e l s , b e n c h m a r k s
S / W
r e q u i r e m e n t s
R e q u i r e m e n t
v a l i d a t i o n
D e s i g n
V & V
P r o d u c t
d e s i g n
D e t a i l e d
d e s i g n
C o d e
U n i t t e s t
I n t e g r a t i o n
t e s t
A c c e p t a n c e
t e s t
S e r v i c e
I n t e g r a t i o n
a n d t e s t p l a n
D e v e l o p m e n t
p l a n
R e q u i r e m e n t s p l a n
L i f e - c y c l e p l a n
R E V I E W
DETERMINAR OBJETIVOS,
ALTERNATIVAS E
RESTRIES
PLANEJAR PRXIMA FASE
AVALIAR ALTERNATIVAS
IDENTIFICAR, RESOLVER RISCOS
DESENVOLVER, VERIFICAR O
PRODUTO NO PRXIMO NVEL
COLOCAO DE
OBJETIVOS
AVALIAO E
REDUO DE
RISCOS
Cada loop do espiral dividido em 4
setores
DESENVOLVIMENTO
E VALIDAO
PLANEJAMENTO
55
O Modelo Espiral de Processo
de Software
COLOCAO DE
OBJETIVOS
so definidos objetivos especficos
para a fase do projeto
so identificadas restries sobre o
processo e o produto
projetado um plano de
gerenciamento detalhado
so identificados riscos do projeto
dependendo dos riscos, estratgias
alternativas podem ser planejadas
56
O Modelo Espiral de Processo
de Software
AVALIAO E
REDUO DE
RISCOS
COLOCAO DE
OBJETIVOS
para cada um dos riscos
identificados, uma anlise
detalhada executada.
passos so tomados para reduzir o
risco
57
O Modelo Espiral de Processo
de Software
AVALIAO E
REDUO DE
RISCOS
COLOCAO DE
OBJETIVOS
depois da avaliao do risco, um
modelo de desenvolvimento
escolhido para o sistema
DESENVOLVIMENTO
E VALIDAO
58
O Modelo Espiral de Processo
de Software
AVALIAO E
REDUO DE
RISCOS
COLOCAO DE
OBJETIVOS
DESENVOLVIMENTO
E VALIDAO
PLANEJAMENTO
o projeto revisto e tomada
uma deciso de continuidade
se decidido continuar, so
projetados planos para a prxima
fase do projeto (prximo loop
)

59
O Modelo Espiral
engloba as melhores caractersticas do ciclo
de vida Clssico e da Prototipao,
adicionando um novo elemento: a Anlise de
Risco
segue a abordagem de passos sistemti-cos
do Ciclo de Vida Clssico incorporando-os
numa estrutura iterativa que reflete mais
realisticamente o mundo real
usa a Prototipao, em qualquer etapa da
evoluo do produto, como mecanismo de
reduo de riscos
60
Comentrios sobre o Ciclo de
Vida em Espiral
, atualmente, a abordagem mais
realstica para o desenvolvimento de
software em grande escala.
usa uma abordagem que capacita o
desenvolvedor e o cliente a entender e
reagir aos riscos em cada etapa evolutiva
pode ser difcil convencer os clientes que
uma abordagem "evolutiva" controlvel
61
Comentrios sobre o Ciclo de
Vida em Espiral
exige considervel experincia na
determinao de riscos e depende dessa
experincia para ter sucesso
o modelo relativamente novo e no tem
sido amplamente usado. Demorar
muitos anos at que a eficcia desse
modelo possa ser determinada com
certeza absoluta
62
Planejamento
Anlise de Riscos
Engenharia
Construo e Liberao
Avaliao do Cliente
Comunicao
com Cliente
O Modelo Espiral (com 6 regies)
63
O Modelo Espiral
adiciona um novo elemento: a Anlise de Risco
usa a Prototipao, em qualquer etapa da
evoluo do produto, como mecanismo de
reduo de riscos
exige considervel experincia na
determinao de riscos e depende dessa
experincia para ter sucesso
o modelo relativamente novo e no tem sido
amplamente usado.
64
Modelos de Processo de
Software
O Modelo Sequencial Linear
tambm chamado Modelo Cascata
O Modelo de Prototipao
O Modelo RAD (Rapid Application
Development)
Modelos Evolutivos de Processo de Software
O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes
O Modelo de Desenvolvimento Concorrente
Modelos de Mtodos Formais
Tcnicas de Quarta Gerao
65
O Modelo de Montagem de
Componentes
Utiliza tecnologias orientadas a objeto
Quando projetadas e implementadas
apropriadamente as classes orientadas a
objeto so reutilizveis em diferentes
aplicaes e arquiteturas de sistema
O modelo de montagem de componentes
incorpora muitas das caractersticas do
modelo espiral.
66
O Modelo de Montagem de
Componentes
Planejamento
Anlise de Riscos
Avaliao do Cliente
Comunicao
com Cliente
Engenharia
Construo e Liberao
67
O Modelo de Montagem de
Componentes
Planejamento
Anlise de Riscos
Avaliao do Cliente
Comunicao
com Cliente
Engenharia
Construo e Liberao
identificar
componentes
candidatas
procurar
componentes
na biblioteca
extrair
componentes
se disponveis
construir os
componentes
no
disponveis
colocar os
novos
componentes
na biblioteca
Construir a n
a

iterao do
sistema
68
O modelo de montagem de componentes
conduz ao reuso do software
a reusabilidade fornece uma srie de
benefcios:
reduo de 70% no tempo de desenvolvimento
reduo de 84% no custo do projeto
ndice de produtividade de 26.2 (normal da
indstria de 16.9)
esses resultados dependem da robustez da
biblioteca de componentes
O Modelo de Montagem de
Componentes
69
Modelos de Processo de
Software
O Modelo Sequencial Linear
tambm chamado Modelo Cascata
O Modelo de Prototipao
O Modelo RAD (Rapid Application
Development)
Modelos Evolutivos de Processo de Software
O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes
O Modelo de Desenvolvimento Concorrente
Modelos de Mtodos Formais
Tcnicas de Quarta Gerao
70
Tcnicas de 4
a
Gerao
Concentra-se na capacidade de se
especificar o software a uma mquina em
um nvel que esteja prximo linguagem
natural
Engloba um conjunto de ferramentas de
software que possibilitam que:
o sistema seja especificado em uma
linguagem de alto nvel e
o cdigo fonte seja gerado automaticamente
a partir dessas especificaes
71
Ferramentas do Ambiente das
Tcnicas de 4
a
Gerao
O ambiente de desenvolvimento de
software que sustenta o ciclo de vida de
4
a
gerao inclui as ferramentas:
linguagens no procedimentais para consulta de
banco de dados
gerao de relatrios
manipulao de dados
interao e definio de telas
gerao de cdigos
capacidade grfica de alto nvel
capacidade de planilhas eletrnicas
72
Tcnicas de 4
a
Gerao
Obteno dos
Requisitos
Estratgia do
Projeto
Implementao
usando 4GL
Testes
73
Tcnicas de 4
a
Gerao
Obteno dos
Requisitos
Estratgia do
Projeto
Implementao
usando 4GL
Testes
OBTENO DOS REQUISITOS:
o cliente descreve os requisitos os quais so
traduzidos para um prottipo operacional
o cliente pode estar inseguro quanto aos
requisitos
o cliente pode ser incapaz de especificar as
informaes de um modo que uma ferramenta
4GL possa consumir
as 4GLs atuais no so sofisticadas
suficientemente para acomodar a verdadeira
"linguagem natural"
74
Tcnicas de 4
a
Gerao
Obteno dos
Requisitos
Estratgia do
Projeto
Implementao
usando 4GL
Testes
ESTRATGIA DO "PROJETO":
Para pequenas aplicaes possvel mover-
se do passo de Obteno dos Requisitos
para o passo de Implementao usando uma
linguagem de quarta gerao
Para grandes projetos necessrio
desenvolver uma estratgia de projeto. De
outro modo ocorrero os mesmos problemas
encontrados quando se usa abordagem
convencional (baixa qualidade)
75
Tcnicas de 4
a
Gerao
Obteno dos
Requisitos
Estratgia do
Projeto
Implementao
usando 4GL
Testes
IMPLEMENTAO USANDO 4GL :
Os resultados desejados so representados de
modo que haja gerao automtica de cdigo .
Deve existir uma estrutura de dados com
informaes relevantes e que seja acessvel
pela 4GL
76
Tcnicas de 4
a
Gerao
Obteno dos
Requisitos
Estratgia do
Projeto
Implementao
usando 4GL
Testes TESTES:
O desenvolvedor deve efetuar testes e
desenvolver uma documentao significativa.
O software desenvolvido deve ser construdo
de maneira que a manuteno possa ser
efetuada prontamente.
77
Comentrios sobre as Tcnicas
de 4
a
Gerao
PROPONENTES:
reduo dramtica no tempo de
desenvolvimento do software (aumento de
produtividade)
OPONENTES:
as 4GL atuais no so mais fceis de usar
do que as linguagens de programao
o cdigo fonte produzido ineficiente
a manutenibilidade de sistemas usando
tcnicas 4G ainda questionvel
78
Para escolha de um Modelo de
Processo de Software:
natureza do projeto e da aplicao
mtodos e ferramentas a serem
usados
controles e produtos que precisam
ser entregues