Você está na página 1de 80

Processos de

Desenvolvimento de
Software

Ricardo Argenton Ramos


UNIVASF
Engenharia de Software I - Aula 2

A Engenharia de Software
Uma Tecnologia em Camadas
tas
n
e
m
a
ferr
os
mtod
so
proces
de
a
d
i
l
a
u
aq
foco n

Gerenciamento da Qualidade Total e filosofias similares


produzem uma mudana cultural que permite o
desenvolvimento crescente de abordagens mais maduras para
a Engenharia de Software
Modelos de Processos

ENGENHARIA DE SOFTWARE
pode ser vista como uma abordagem dedesenvolvimento
de software elaborada com disciplina e mtodos bem
definidos.

.....a construo por mltiplas pessoas de um


software com mltiplas verses [Parnas 1987]
Modelos de Processos

Introduo


O processo de software visto por uma seqncia


de atividades que produzem uma variedade de
documentos, resultando em um programa
satisfatrio e executvel.
Os nveis e arquitetura do processo de software
formada por:




Nvel Universal: possa utilizar em qualquer projeto;


Nvel Mundial: Especfico para um determinado projeto;
Nvel Atmico: Seqncia algortmica do projeto,
especfico para as tarefas do processo.
Modelos de Processos

Introduo





O desenvolvimento de software tem-se caracterizado por uma


sobreposio de atividades necessrias para especificar,
projetar e testar retorno dos resultados do software que est
sendo criado.
O feedback dessa atividade nos ajuda a compreender o que
necessrio para criar um produto.
A partir do feedback obtido em experincias com prottipos,
podemos efetuar mudanas na forma e na construo conceitual
do software.
O feedback possui quatro formas bsicas:
 Medies da entidade do software: nmero derivado de
resultados produzidos por processos executores;
 Corretiva: erros, faltas e falhas cometidas no software;
 Mudana: Modificar o software para eliminar defeitos;
 Aprimoramento: Aperfeioar o software.
Modelos de Processos

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

Modelos de Processos

Modelos de Processo de
Software


O Modelo Sequencial Linear








O Modelo de Prototipao
O Modelo RAD (Rapid Application Development)
Modelos Evolutivos de Processo de Software




tambm chamado Modelo Cascata

O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes

Tcnicas de Quarta Gerao

Modelos de Processos

Modelos de Processo de
Software


O Modelo Sequencial Linear








O Paradigma de Prototipao
O Modelo RAD (Rapid Application Development)
Modelos Evolutivos de Processo de Software




tambm chamado Modelo Cascata

O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes

Tcnicas de Quarta Gerao

Modelos de Processos

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
Modelos de Processos

O Modelo em Cascata
Verificar Plano
Explorao de
Requisitos de V & V
conceitos
Requisitos

O qu

Projeto de V & V

Projeto
Implementao
Evoluir

Testes

Como

Sistema de V & V
Tarefas de V & V

Operao
Sistema

Instalao e
de V & V
liberao
Operao
Manuteno e
de V & V
operao

Feedback
Modelos de Processos

10

O Modelo em Cascata
Explorao de Conceitos / Informao e
Modelagem

Engenharia de
Sistemas
Anlise de
Requisitosde requisitos do sistema, com uma pequena
 Envolve a elicitao
Projeto


quantidade de projeto e anlise de alto nvel;


Codificao como engenharia
Preocupa-se com aquilo que conhecemos
progressiva de produto de software;
Testes
Iniciar com um modelo conceitual de alto nvel para um sistema e
Manuteno
prosseguir com o projeto, implementao e teste
do modelo fsico do
sistema.

Modelos de Processos

11

O Modelo em Cascata


Anlise de Requisitos de Software


o processo
dede elicitao dos requisitos
Engenharia
Sistemas
intensificado
eAnlise
concentrado
especificamente no
de
Requisitos
software
Projeto
deve-se compreender o domnio
Codificao da informao, a
funo, desempenho e interfaces
exigidos
Testes
os requisitos (para o sistema e para o Manuteno
software) so
documentados e revistos com o cliente
Modelos de Processos

12

O Modelo em Cascata

Projeto
traduo dos requisitos do software para um
conjunto de representaes que podem ser
avaliadas quanto qualidade, antes que a
codificao inicie

Modelos de Processos

13

O Modelo em Cascata

Implementao
traduo das representaes do projeto para uma
linguagem artificial resultando em instrues
executveis pelo computador e implementado
num ambiente de trabalho.

Modelos de Processos

14

O Modelo em Cascata
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.

Modelos de Processos

15

O Modelo em Cascata


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

Modelos de Processos

16

Problemas com o Modelo em


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 (na
instalao);
Difcil identificao de sistemas legados (no
acomoda a engenharia reversa).
Modelos de Processos

17

Problemas com o Modelo em


Cascata

 Embora o Modelo em
Cascata tenha
fragilidades, ele
significativamente melhor
do que uma abordagem
casual de desenvolvimento
de software.
Modelos de Processos

18

O Modelo em Cascata


O Modelo de processo em 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;
Permite gerncia do baseline, que identifica um conjunto
fixo de documentos produzidos ao longo do processo de
desenvolvimento;

Modelos de Processos

19

Modelos de Processo de
Software


O Modelo Sequencial Linear








O Paradigma de Prototipao
O Modelo RAD (Rapid Application Development)
Modelos Evolutivos de Processo de Software




tambm chamado Modelo Cascata

O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes

Tcnicas de Quarta Gerao

Modelos de Processos

20

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.

Modelos de Processos

21

O Paradigma de Prototipao
para obteno dos requisitos
Obter Requisitos

Elaborar Projeto Rpido


Refinamento do Prottipo

Construir Prottipo
Avaliar Prottipo
Modelos de Processos

22

O Paradigma de Prototipao
para obteno dos requisitos

1- OBTEN
O DOS REQUISITOS:
Obter Requisitos
desenvolvedor e cliente definem os
objetivos gerais do software,
identificam quais requisitos
so Projeto Rpido
Elaborar
conhecidos e as reas que
Refinamento do Prottipo
necessitam de definies adicionais.

Construir Prottipo
Avaliar Prottipo
Modelos de Processos

23

O Paradigma de Prototipao
para obteno dos requisitos

Obter Requisitos

2- PROJETO RPIDO:
Elaborar Projeto Rpido
representao dos aspectos do
Refinamento do Prottipo
software que so visveis ao usurio
(abordagens de entrada e formatos
de sada)
Construir Prottipo
Avaliar Prottipo
Modelos de Processos

24

O Paradigma de Prototipao
para obteno dos requisitos

Obter Requisitos

Elaborar Projeto Rpido


Refinamento do Prottipo

3- CONSTRUO DO PROTTIPO:

implementao rpida do
projeto
Construir Prottipo
Avaliar Prottipo
Modelos de Processos

25

O Paradigma de Prototipao
para obteno dos requisitos

Obter Requisitos

Elaborar Projeto Rpido


Refinamento do Prottipo

4- AVALIAO DO PROTTIPO: cliente


Prottipo
e desenvolvedor avaliam Construir
o prottipo
Avaliar Prottipo
Modelos de Processos

26

O Paradigma de Prototipao
para obteno dos requisitos

Obter Requisitos

Elaborar
Projeto
5- REFINAMENTO DO PROTTIPO:
cliente
e Rpido
Refinamento
do Prottipo
desenvolvedor
refinam

os requisitos do
software a ser desenvolvido.
Construir Prottipo
Avaliar Prottipo
Modelos de Processos

27

O Paradigma de Prototipao
para obteno dos requisitos

Obter Requisitos

CONSTRUO
Refinamento
do Prottipo
DO
PRODUTO

Elaborar Projeto Rpido

Construir Prottipo
Avaliar Prottipo
Modelos de Processos

28

O Paradigma de Prototipao
para obteno dos requisitos

Obter Requisitos

6- CONSTRUO PRODUTO:

identificados os requisitos, o
Elaborar
Projeto Rpido
prottipo
deve
ser
descartado
e
a
CONSTRUO
verso
de do
produo
Refinamento
Prottipo deve ser
DO
PRODUTO
construda considerando os
critrios de qualidade.
Construir Prottipo
Avaliar Prottipo
Modelos de Processos

29

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
Modelos de Processos

30

Comentrios sobre o
Paradigma de Prototipao


ainda que possam ocorrer problemas, a


prototipao um ciclo de vida eficiente.
a chave definir 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 para definir
os requisitos
Modelos de Processos

31

Modelos de Processo de
Software


O Modelo Sequencial Linear








O Paradigma de Prototipao
O Modelo RAD (Rapid Application Development)
Modelos Evolutivos de Processo de Software








tambm chamado Modelo Cascata

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

Modelos de Processos

32

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.

Modelos de Processos

33

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.

Modelos de Processos

34

O Modelo RAD
Equipe #3
Equipe #1

Equipe #2

Modelagem
do Negcio

Modelagem
do Negcio

Modelagem
Modelagem
dos Dados
do Negcio
Modelagem
Modelagem
Modelagem
do Processo
dos Dados
Gerao da
dos Dados
Modelagem
Aplicao
do Processo
Modelagem
Teste e
Gerao da
Modificao
do Processo
Aplicao
Teste e
Gerao da
Modificao
Aplicao

60 a 90 dias

Teste e
Modificao
Modelos de Processos

35

O Modelo RAD
Desvantagens:


Exige recursos humanos suficientes para todas


as equipes
Exige que desenvolvedores e clientes estejam
comprometidos com as atividades de fogorpido a fim de terminar o projeto num prazo
curto

Modelos de Processos

36

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

Modelos de Processos

37

Modelos de Processo de
Software


O Modelo Sequencial Linear








O Paradigma de Prototipao
O Modelo RAD (Rapid Application Development)
Modelos Evolutivos de Processo de Software




tambm chamado Modelo Cascata

O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes

Tcnicas de Quarta Gerao

Modelos de Processos

38

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.

Modelos de Processos

39

Modelos Evolutivos de
Processo


quando os requisitos de produto e de


negcio mudam conforme o
desenvolvimento prossegue
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
Modelos de Processos

40

Modelos Evolutivos de
Processo



modelos evolutivos so iterativos


possibilitam o desenvolvimento de verses
cada vez mais completas do software

Modelos de Processos

41

Modelos de Processo de
Software


O Modelo Sequencial Linear








O Paradigma de Prototipao
O Modelo RAD (Rapid Application Development)
Modelos Evolutivos de Processo de Software




tambm chamado Modelo Cascata

O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes

Tcnicas de Quarta Gerao

Modelos de Processos

42

O Modelo Incremental


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.

Modelos de Processos

43

O Modelo Incremental
Verso
Inicial
Anlise
Anlise

Descrio
geral

Projeto
Projeto

Engenharia de
sistemas/informao

Verses
Descrio
Descrio
Intermedirias
geral

geral

Codificao
Codificao

Teste
Teste
Modelos de Processos

Verso
Final
44

O Modelo Incremental


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

Modelos de Processos

45

O Modelo Incremental


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)

Modelos de Processos

46

Modelos de Processo de
Software


O Modelo Sequencial Linear








O Modelo de Prototipao
O Modelo RAD (Rapid Application Development)
Modelos Evolutivos de Processo de Software




tambm chamado Modelo Cascata

O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes

Tcnicas de Quarta Gerao

Modelos de Processos

47

O Modelo Espiral (Boehm,


1986)





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.
Combina as caractersticas positivas da gerncia
baseline (documentos associados ao processo);

Modelos de Processos

48

O Modelo Espiral (com 4 regies)


AVALIAR ALTERNATIVAS
IDENTIFICAR, RESOLVER RISCOS

DETERMINAR OBJETIVOS,
ALTERNATIVAS E
RESTRIES

Risk
analys is
Risk
analys is
Risk
analys is

REVIEW
Requirements plan
Life-cycle plan

Develop ment
plan
Integrati on
and test p lan
PLANEJAR PRXIMA FASE

Prot otyp e 3

Prot otyp e 2
Risk
analysis Prot oty pe 1

Operati onal
protoyp e

Sim ul ati ons, m odels, b en ch marks


Concept o f
Operati on

S/W
requi rement s

Requi rement
valid ati on

Prod uct
desi gn

Detail ed
desi gn

Code
Uni t tes t
Desi gn
V& V
Integr ati on
test
Accep tance
test
Serv ice
DESENVOLVER, VERIFICAR O
PRODUTO NO PRXIMO NVEL

Modelos de Processos

49

O Modelo Espiral (com 4 regies)


AVALIAR ALTERNATIVAS
IDENTIFICAR, RESOLVER RISCOS

DETERMINAR OBJETIVOS,
ALTERNATIVAS E
RESTRIES

Risk
analys is
Risk
analys is

cada ciclo na espiral


representa uma
REVIEW
fase do processo
de
Requirements plan
Life-cycle plan
software
Develop ment
plan
Integrati on
and test p lan
PLANEJAR PRXIMA FASE

Risk
analys is

Prot otyp e 3

Prot otyp e 2
Risk
analysis Prot oty pe 1

Operati onal
protoyp e

Sim ul ati ons, m odels, b en ch marks


Concept o f
Operati on

S/W
requi rement s

Requi rement
valid ati on

Prod uct
desi gn

Detail ed
desi gn

Code
Uni t tes t
Desi gn
V& V
Integr ati on
test
Accep tance
test
Serv ice
DESENVOLVER, VERIFICAR O
PRODUTO NO PRXIMO NVEL

Modelos de Processos

50

O Modelo Espiral de Processo de


Software
o ciclo mais interno
est concentrado
nas possibilidades
do sistema
REVIEW
Requirements plan
Life-cycle plan

Risk
analysis Prototy pe 1
Concept o f
Operati on

Modelos de Processos

51

O Modelo Espiral de Processo de


Software
o prximo ciclo est
concentrado na
definio dos
requisitos do
sistema

Risk
analys is
Prototype

Simul ati ons, models, benchmarks


SW
requi rements

Development
plan

Requi rement
validati on

Modelos de Processos

52

O Modelo Espiral de Processo de


Software
Risk
analys is

o ciclo um pouco
mais externo est
concentrado no
projeto do sistema
Integrati on
and test plan

prototype 3

si mul ati ons, models, benchmarks


Product
desi gn

Desi gn
V&V

Modelos de Processos

53

O Modelo Espiral de Processo de


Software
Risk
nalys is

um ciclo ainda mais


externo est
concentrado na
construo do
sistema

Operati onal
protoype

Simul ati ons, models, benchmarks

Detail ed
desi gn

Code
Uni t tes t
Integrati on
test
Acceptance
test
Serv ice

Modelos de Processos

54

O Modelo Espiral (com 4 regies)


AVALIAR ALTERNATIVAS
IDENTIFICAR, RESOLVER RISCOS

DETERMINAR OBJETIVOS,
ALTERNATIVAS E
RESTRIES




Risk
analys is

no existem fases fixas no modelo


as fases mostradas na figura so meramente
exemplos
a gerncia decide como estruturar o projeto
em fases
Risk
analys is

Risk
analys is

REVIEW

Requirements plan
Life-cycle plan

Develop ment
plan
Integrati on
and test p lan
PLANEJAR PRXIMA FASE

Prot otyp e 3

Prot otyp e 2
Risk
analysis Prot oty pe 1

Operati onal
protoyp e

Sim ul ati ons, m odels, b en ch marks

Concept o f
Operati on

S/W
requi rement s

Requi rement
valid ati on

Prod uct
desi gn

Detail ed
desi gn

Code
Uni t tes t
Desi gn
V& V
Integr ati on
test
Accep tance
test
Serv ice
DESENVOLVER, VERIFICAR O
PRODUTO NO PRXIMO NVEL

Modelos de Processos

55

Cada loopEspiral
do espiral(com
dividido
O Modelo
4 regies)em 4
setores
AVALIAR ALTERNATIVAS
IDENTIFICAR, RESOLVER RISCOS

DETERMINAR OBJETIVOS,
ALTERNATIVAS E
RESTRIES

Risk
analys is
Risk
analys is

ESTABELECIMENTO DE
OBJETIVOS

Risk
analys is

REVIEW
Requirements plan
Life-cycle plan

PLANEJAMENTO
Develop ment
plan
Integrati on
and test p lan
PLANEJAR PRXIMA FASE

AVALIAO E
REDUO DE
RISCOS OperaProt otyp e 3
ti onal
protoyp e

Prot otyp e 2
Risk
analysis Prot oty pe 1

Sim ul ati ons, m odels, b en ch marks


Concept o f
Operati on

S/W
requi rement s

Detail ed
desi gn

DESENVOLVIMENTO E
Code
VALIDA

O
Uni t tes t

Requi rement
valid ati on
Desi gn
V& V

Prod uct
desi gn

Integr ati on
test
Accep tance
test
Serv ice
DESENVOLVER, VERIFICAR O
PRODUTO NO PRXIMO NVEL

Modelos de Processos

56

O Modelo Espiral de Processo de


Software
so definidos objetivos

ESTABELECIMENTO DE
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

Modelos de Processos

57

O Modelo Espiral de Processo de


Software
para cada um dos riscos
identificados,
AVALIAO E
COLOCA
O DEuma anlise
detalhada executada.
REDUO DE
OBJETIVOS
passos so tomados para reduzir o
RISCOS
risco

Modelos de Processos

58

O Modelo Espiral de Processo de


Software
AVALIAO E
REDUO DE
RISCOS

ESTABELECIMENTO DE
OBJETIVOS

depois da avaliao do risco, um


modelo de desenvolvimento
escolhido para o sistema

DESENVOLVIMENTO
E VALIDAO

Modelos de Processos

59

O Modelo Espiral de Processo de


Software
AVALIAO E
COLOCAO DE
REDUO DE
OBJETIVOS
RISCOS
o projeto revisto e tomada
uma deciso de continuidade
se decidido continuar, so
projetados planos
para a prxima
DESENVOLVIMENTO
PLANEJAMENTO
fase do projeto (prximo
loop
)
E VALIDA
O

Modelos de Processos

60

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 sistemticos do
Ciclo de Vida Clssico incorporando-os numa
estrutura iterativa que reflete mais realisticamente
o mundo real
 usa a Prototipao em todas as etapas da
evoluo do produto, como mecanismo de reduo
de riscos


Modelos de Processos

61

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

Modelos de Processos

62

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

Modelos de Processos

63

O Modelo Espiral (com 6 regies)


(win win)

Planejamento
Anlise de Riscos
Comunicao
com Cliente
Engenharia

Avaliao do Cliente
Construo e Liberao
Modelos de Processos

64

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.

Modelos de Processos

65

Modelos de Processo de
Software


O Modelo Sequencial Linear








O Modelo de Prototipao
O Modelo RAD (Rapid Application Development)
Modelos Evolutivos de Processo de Software




tambm chamado Modelo Cascata

O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes

Tcnicas de Quarta Gerao

Modelos de Processos

66

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.

Modelos de Processos

67

O Modelo de Montagem de
Componentes
Planejamento
Anlise de Riscos
Comunicao
com Cliente

Avaliao do Cliente
Engenharia
Construo e Liberao

Modelos de Processos

68

O Modeloidentificar
de Montagem de
componentes
Componentes
candidatas
procurar Planejamento
Construir a na
componentes
iterao do
na biblioteca
sistema
extrair
Comunicao
componentes
com
Cliente

se disponveis

Anlise de Riscos

colocar os
novos
componentes
na biblioteca

construir os
componentes
no
Avaliao do Cliente
disponveis

Engenharia
Construo e Liberao

Modelos de Processos

69

O Modelo de Montagem de
Componentes


O modelo de montagem de componentes conduz ao


reuso do software
a reusabilidade fornece uma srie de benefcios:




reduo de at 70% no tempo de desenvolvimento


reduo de at 84% no custo do projeto
ndice de produtividade de at 26.2 (normal da indstria de
16.9)

esses resultados dependem da robustez da biblioteca


de componentes

Modelos de Processos

70

Modelos de Processo de
Software


O Modelo Sequencial Linear








O Modelo de Prototipao
O Modelo RAD (Rapid Application Development)
Modelos Evolutivos de Processo de Software




tambm chamado Modelo Cascata

O Modelo Incremental
O Modelo Espiral
O Modelo de Montagem de Componentes

Tcnicas de Quarta Gerao

Modelos de Processos

71

Tcnicas de 4a Gerao


Concentra-se na capacidade de se
especificar o software para 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
Modelos de Processos

72

Ferramentas do Ambiente das


Tcnicas de 4a Gerao


O ambiente de desenvolvimento de software


que sustenta o ciclo de vida de 4a 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
Modelos de Processos

73

Tcnicas de 4a Gerao
Obteno dos
Requisitos
Estratgia do
Projeto
Implementao
usando 4GL
Testes

Modelos de Processos

74

Tcnicas de 4a Gerao
OBTENO DOS REQUISITOS:
Obteno dos
oRequisitos
cliente descreve os requisitos, que so

traduzidosEstratgia
para um prottipo
operacional
do
Projeto
o cliente pode
estar inseguro
quanto aos
Implementao
requisitos
usando 4GL
Testes
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"Modelos de Processos

75

Tcnicas de 4a Gerao
Obteno
dos
ESTRATGIA
DO "PROJETO":
Requisitos

Para pequenas aplicaes possvel moverEstratgia do


se do passo
de Obteno dos Requisitos
Projeto
Implementao usando uma
para o passo de Implementao
4GL
linguagem de quartausando
gerao
Testes

Para grandes projetos necessrio


desenvolver uma estratgia de projeto. De
outro modo ocorrero os mesmos problemas
encontrados quando se usa abordagem
convencional (baixa qualidade)
Modelos de Processos

76

Tcnicas de 4a Gerao
Obteno dos
Requisitos
Estratgia do
IMPLEMENTAO
USANDO 4GL :
Projeto
Os resultados
desejados
so representados de
Implementao
modo que haja gerao
automtica
usando
4GL de cdigo .
Deve existir uma estrutura de dados com
Testes
informaes relevantes e que seja acessvel
pela 4GL

Modelos de Processos

77

Tcnicas de 4a 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.
Modelos de Processos

78

Comentrios sobre as
Tcnicas de 4a Gerao


PROPONENTES:


reduo dramtica no tempo de desenvolvimento


do software (aumento de produtividade)

OPONENTES:
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
4GL ainda questionvel
Modelos de Processos

79

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

Modelos de Processos

80

Você também pode gostar