Você está na página 1de 18

Engenharia de Software

Tema da Aula

Prototipao Exploratria
Prof. Cristiano R R Portella
portella@widesoft.com.br

Engenharia de
Software

Tipos de Prototipao

Tipos Exploratria (throw away - descartvel)


Evolucionria (evolui para o produto final)
Exploratria

Evolucionria

O cliente tem certeza dos


requisitos bsicos ?

No

Sim

Os requisitos so estveis (ou


estabilizveis)?

No

Sim

Existem requisitos ambguos ?

Sim

No

H contradio nos requisitos ?

Sim

No

Tipos de Prototipao

Engenharia de
Software

Prototipao Exploratria (ciclo fechado):


Prototipar durante o processo para descobrir algum detalhe.
Geralmente no incio do ciclo de desenvolvimento, para
obter os requisitos do produto.
Prototipao Evolucionria (ciclo aberto):
Usar a prototipao como parte da anlise (para depois fazer
o projeto e a construo do software). Geralmente um
processo iterativo (espiral) e o prottipo a 1a verso do
produto final (no descartvel).

Distribuio do Esforo

Engenharia de
Software

A Projeto com requisitos incertos


B Projeto com requisitos bem especificados
80
70
60
50
A

40

30
20
10
0
Req

Anlise

Proj

Prog

Teste

Manut

Impacto das Mudanas

Engenharia de
Software

Impacto

60 a 100x

120
100
80
60

Impacto

40

1x

20

1,5 a 6x

0
Def

Desenv

Ps-distrib

Custo das Mudanas

Engenharia de
Software

Custo
1200

40-1000x

1000
800
600
400
200

1x

6x

10x

Custo

30-70x
15-40x

0
Req

Projeto

Codific

Teste
unit

Teste
sist

Operao

Porque e Quando Prototipar


(Prototipao Exploratria)

Engenharia de
Software

Prototipao Exploratria a soluo para casos em que


existe

alto

grau

de

incerteza sobre os

requisitos,

deslocando esforo para as primeiras fases do ciclo de


vida, de maneira a minimizar custos/prazos decorrentes
das mudanas executadas nas fases finais do ciclo de vida
do software.

Engenharia de
Software

Prototipao Exploratria
Conceitos
Prottipo:
Modelo operacional (executvel) de
partes ou do todo, de um sistema de informao, o
qual enfatiza aspectos especficos do sistema.
Vonk-90
No se questiona sua completeza. Sua funo
lanar luz sob aspectos incertos do produto a ser
desenvolvido. So tipicamente incompletos e no
tm a inteno de funcionar sem falhas tolerveis
(quick and durty).

Engenharia de
Software

Prototipao Exploratria
Conceitos

Prototipao:
Um enfoque para estabelecer uma definio de requisitos
de sistemas, caracterizado por um alto grau de iterao,
por um tambm alto grau de participao do usurio no
processo de desenvolvimento e validao e por um uso
intensivo de prottipos.

Engenharia de
Software

Prototipao Exploratria
Conceitos

Prototipao Exploratria
Conceitos

Engenharia de
Software

Sinnimo de prototipao:
Desenvolvimento heurstico
Berrisford & Wetherbe-79
Projeto adaptativo
Alavi-84

Engenharia de
Software

Prototipao Conceitos
No prototipao
1. Desenvolvimento participativo
2. Desenvolvimento incremental

Engenharia de
Software

Prototipao Conceitos
No prototipao
3. Desenvolvimento evolutivo

Engenharia de
Software

Prototipao Evolucionria
Modelo adequado Prototipao Evolucionria

Prototipar

Prototipao Exploratria
Conceitos

Engenharia de
Software

Momento da aplicao de Prototipao (ciclo clssico)

Segue o ciclo
normal

Engenharia de
Software

Prototipao Exploratria
Conceitos
A prototipao tem um ciclo de vida prprio,
portanto um ciclo (micro) dentro do ciclo de vida
do paradigma escolhido.
Em que momento do ciclo de vida escolhido podese aplicar prototipao:
Def. Requisitos: Prototipao exploratria
Implementao: Prototipao evolucionria

Prototipao Exploratria
Conceitos

Engenharia de
Software

1- Incio:
Durante a fase de extrao dos requisitos, detectouse que existe um alto nvel de incerteza sobre os
requisitos do produto de software a ser construdo,
que justifica a aplicao de prototipao (esforo
extra).

Prototipao Exploratria
Conceitos

Engenharia de
Software

2- Prosseguindo:
Explicar para o(s) usurio(s) algumas regras bsicas
para aplicao de prototipao:
1. Necessidade da presena dos usurios (tempo)
2. Papel ativo dos usurios nesse processo
3. O que um prottipo
4. Por que no tomar o prottipo como produto final

Incio

Engenharia de
Software

Especificaes
Iniciais

3- Ciclo da
prototipao:

Projeto e
Realizao

c
Avaliao

Aceitvel /
concludo
?

SIM

Fim

NO

d
Projetar
Modificar

Engenharia de
Software

3- Ciclo da Prototipao Exploratria

a) Especificaes Iniciais:
Buscar um ponto de partida para a construo do
prottipo inicial (aplicar PIECES ?).
Ateno: Diferente do desenvolvimento clssico,
no estamos buscando especificaes completas.
Comear logo o prottipo cria o canal de
comunicao necessrio e diminui o nvel de
ansiedade/incerteza do usurio. Todavia, quanto
melhor a especificao, mais produtiva ser a
prototipao (e a confiana do usurio no
processo).

10

Engenharia de
Software

3- Ciclo da Prototipao Exploratria

b) Projeto e Realizao:
Definir ferramentas
trabalho.

preparar

ambiente

de

Ateno: Geralmente no 1o prottipo preciso


criar as bases de dados e configurar parmetros
de ambiente. Se a ferramenta no tiver
produtividade nesses trabalhos, pode ser melhor
faz-lo sem a presena do usurio.
No se preocupar com a estrutura de dilogos,
navegao e detalhes secundrios das interfaces.

Engenharia de
Software

3- Ciclo da Prototipao Exploratria

c) Avaliar o prottipo:
Usurio juntamente com o desenvolvedor, avaliam
o prottipo e propem mudanas.
Ateno: A ferramenta escolhida deve ter
produtividade de modo a permitir que essas
mudanas sejam feitas de imediato (junto com o
usurio); isso melhora a confiana do usurio
sobre o processo e a eficincia da prototipao.
Ao final da sesso, o usurio pode levar o prottipo
para sua rea, a fim de melhor avalia-lo.

11

Engenharia de
Software

3- Ciclo da Prototipao Exploratria

d) Projetar/Modificar:
Pela rapidez do processo, nas iteraes seguintes,
praticamente no existe uma avaliao a rigor,
mas apenas um levantamento de necessidades e
uma estimativa (palpite) sobre o tempo que ser
gasto (adequar com a disponibilidade do usurio).
Ateno: Esse ciclo termina quando o nvel de
incertezas sobre os requisitos iniciais for aceitvel,
voltando o desenvolvedor para o modelo escolhido.

Engenharia de
Software

Custos e Benefcios da Prototipao

12

Engenharia de
Software

Custos e Benefcios da Prototipao

Concluses:
9 A prototipao antecipa os custos de manuteno e reduz
seu montante, em 60% na mdia.

9 Projeto com prototipao mais caro que o convencional

(viso simplista). preciso considerar que trata-se de um


projeto com alto nvel de incerteza, logo ficaria mais caro
se fosse desenvolvido pelo mtodo convencional.
Obs.: Existem poucos estudos comparativos desenvolvidos
em campo (com e sem prototipao); existem diferentes
conotaes do termo prototipao.

Engenharia de
Software

Custos e Benefcios da Prototipao

Concluses:

9 Existem outros

benefcios de difcil quantificao, no uso


da prototipao, como por exemplo a atitude positiva dos
usurios em relao ao sistema, aos desenvolvedores e ao
CI.

13

Custos e Benefcios da Prototipao

Engenharia de
Software

Concluses:
Percepo dos usurios com relao a:

Facilidade de comunicao c/ desenvolvedores


Satisfao com o nvel de participao
Percepo de atritos/conflitos
Entendimento sobre o projeto
Comunicao

Participao

Conflitos

Entendimentos

Prototipao

3,86

4,20

1,36

3,66

Clssico

3,00

3,21

2,86

2,78

Desvio

0,13

0,0014

0,0019

0,11

Modelo

Engenharia de
Software

Incerteza

Nvel de incerteza
1-Conceitual (regras)
2-Funcional e de dados
3-Aspectos externos

Obs: As alteraes mais caras so do tipo 1 e 2.


Geralmente o alto nvel de incerteza acontece quando:
a) O sistema tem como alvo:

Processo mal estruturado e mal definido


Processo novo
rea da organizao instvel na estrutura
rea da organizao instvel na operao

14

Nvel de incerteza

Engenharia de
Software

Geralmente o alto nvel de incerteza acontece quando:


b) Usurios e desenvolvedores no tm experincia:

Na rea da aplicao
Com sistemas similares
Com sistemas de informao em geral

c) Quando o sistema tem escopo muito amplo


d) Quando o sistema tem grande complexidade
e) Excees perigosas:

Vamos contratar o usurio


um sistema de todos ...
Usurio que no quer a informatizao

Ferramentas adequadas

Engenharia de
Software

CASE

9
9
9
9
9
9

Tem opo de prottipo (maioria)


Repositrio
facilita
a
construo
reaproveitamento

Linguagens RAD
Utilizao de componentes (COTS)
L4G (linguagens no procedurais)
Geradores de cdigo fonte
Aplicativos genricos (de usurio final)
Qualquer linguagem de programao que d
produtividade na construo e iterao de
mudanas.

15

Capacitao/motivao dos usurios

Engenharia de
Software

9
9
9

Ter conhecimento do problema


Ser representativo da comunidade de usurios
Ter autoridade para tomar decises a respeito dos
requisitos desejados

Ser capaz de tomar decises corretas sobre os


requisitos

Introduo da Prototipao na equipe

Engenharia de
Software

1. Preparao dos prototipadores:

Conhecer a tcnica

Conhecer as ferramentas

Entender a necessidade de muitas iteraes e


respeitar a posio do cliente-usurio

16

Introduo da Prototipao na equipe

Engenharia de
Software

2. Preparao da gerncia/direo:

Engenharia de
Software

Viso errada: construir-revisar-descartar uma


forma refinada de jogar dinheiro fora.

Se a prototipao for justificada apenas por razes


econmicas, preciso escolher uma ferramenta que
possibilite o reaproveitamento do prottipo como
base para o produto final (repositrio) e
desenvolvimentos com nveis muito alto de
incerteza (reconhecido por todos os envolvidos).

Introduo da Prototipao na equipe

3. Perigos de assumir o prottipo como produto final


(sem ferramenta/tcnicas adequadas):

9
9
9
9
9
9
9

Desempenho
Segurana
Tratamento de situaes de exceo/erro
Manutebilidade
Integraes
Documentao
Custos da operao e futuras manutenes

17

Introduo da Prototipao na equipe

Engenharia de
Software

4. Outros cuidados:

9
9
9
9

Engenharia de
Software

Nvel do usurio e disponibilidade de tempo


Comits
Excesso de ateno aos detalhes
Insuficiente ateno s integraes entre sistema e
tecnologia da informao que ser utilizada no
produto final.

Introduo da Prototipao na equipe

4. Outros cuidados:
9 Anlise inicial inadequada

18

Você também pode gostar