Вы находитесь на странице: 1из 28

Engenharia de Software

Engenharia de Software I

PROTOTIPAÇÃO

Altieres de Magalhães Silva


Cesar Augusto Couto Santos
Daniel Pedro dos Santos Fernandes
Ednilson Martines de Araujo
Fabio Augusto Azevedo
Hellen de Souza Castro
Luana Paula de Lima
Lucas Antonio Braz de Morais
Engenharia de Software I

Prototipação
Modelo de Prototipação

Objetivos:
Engenharia de Software I

• Entender os requisitos do usuário 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 quando o cliente não definiu
detalhadamente os requisitos.
Modelo de Prototipação
Engenharia de Software I

Utilizada como uma maneira de se


obter informações e apresentar essas
informações aos usuários.O protótipo
vai sendo melhorado até atingir o
objetivo final, ou seja,até que o mesmo
atinja o sistema.
Modelo de Prototipação

Obter Requisitos
Engenharia de Software I

Elaborar Projeto
Rápido

Refinamento do Protótipo

Avaliar Protótipo
Construir Protótipo
Modelo de Prototipação

Obter Requisitos
Engenharia de Software I

1- OBTENÇÃO DOS REQUISITOS: Elaborar Projeto Rápido


Desenvolvedor e cliente definem os
objetivos gerais do software,
Refinamento doidentificam
Protótipo quais requisitos são
conhecidos e as áreas que necessitam
de definições adicionais.

Avaliar Protótipo
Construir Protótipo
Modelo de Prototipação

Obter Requisitos
Engenharia de Software I

Elaborar Projeto Rápido

2- PROJETO RÁPIDO:
Refinamento do Protótipo
Representação dos aspectos do
software que são visíveis ao
usuário (abordagens de entrada
e formatos de saída)
Avaliar Protótipo
Construir Protótipo
Modelo de Prototipação

Obter Requisitos
Engenharia de Software I

3- CONSTRUÇÃO
PROTÓTIPO: Elaborar Projeto Rápido
Implementação rápida do projeto

Refinamento do Protótipo

Avaliar Protótipo
Construir Protótipo
Modelo de Prototipação

Obter Requisitos
4- AVALIAÇÃO DO
Engenharia de Software I

PROTÓTIPO: Cliente Elaborar


e Projeto
desenvolvedor avaliam oRápido
protótipo

Refinamento do Protótipo

Avaliar Protótipo
Construir Protótipo
Modelo de Prototipação

5- REFINAMENTO DO PROTÓTIPO:
Cliente e desenvolvedor refinam os
requisitos do software a ser desenvolvido.
Engenharia de Software I

Obter Requisitos

Elaborar Projeto Rápido

Refinamento do Protótipo

Avaliar Protótipo
Construir Protótipo
Modelo de Prototipação

CONSTRUÇÃO
DO PRODUTO
Engenharia de Software I

Obter Requisitos

Elaborar Projeto
Rápido

Refinamento do Protótipo

Avaliar Protótipo
Construir Protótipo
Benefícios da Prototipação

• Equívocos entre os usuários de software e


desenvolvedores são expostos.
Engenharia de Software I

• Serviços esquecidos podem ser detectados e


serviços confusos podem ser identificados.
• Um sistema funcionando está disponível nos
primeiros estágios no processo de
desenvolvimento.
• O protótipo pode servir como uma base para
derivar uma especificação do sistema com
qualidade de produção.
• O protótipo pode ser usado para treinamento do
usuário e teste de sistema.
Benefícios da Prototipação

• Melhoria na facilidade de uso do sistema;


Engenharia de Software I

• Maior aproximação do sistema com as


necessidades dos usuários;
• Melhoria da qualidade do projeto;
• Melhoria na facilidade de manutenção;
• Redução no esforço de desenvolvimento.
Prototipação no Processo de
Software

• Prototipação evolucionária
Engenharia de Software I

– Uma abordagem para o desenvolvimento do sistema


onde um protótipo inicial é produzido e refinado através
de vários estágios até atingir o sistema final.

• Prototipação descartável
– Um protótipo o qual é usualmente uma implementação
prática do sistema é produzida para ajudar a levantar
os problemas com os requisitos e depois descartado. O
sistema é então desenvolvido usando algum outro
processo de desenvolvimento.
Objetivos da Prototipação Evolucionária e
Descartável

• O objetivo da prototipação evolucionária é


fornecer aos usuários finais um sistema
Engenharia de Software I

funcionando. O desenvolvimento começa com


aqueles requisitos que são melhores
compreendidos.

• O objetivo da prototipação descartável é


validar ou derivar os requisitos do sistema. O
processo de prototipação começa com aqueles
requisitos que não são bem compreendidos.
Prototipação Evolucionária

• Baseada em técnicas que permitem


Engenharia de Software I

interações rápidas para o


desenvolvimento de aplicações.
• Verificação é impossível uma vez
que não existe especificação. A
validação significa demonstrar a
adequação do sistema.
Vantagens da Prototipação Evolucionária

• Rápido fornecimento do sistema


– Em alguns casos, o rápido fornecimento e a
Engenharia de Software I

facilidade de uso são mais importantes do que os


detalhes de funcionalidade ou a facilidade de
manutenção de software a longo prazo.
• Compromisso do usuário com o sistema
• O envolvimento do usuário com o sistema significa
maior possibilidade de atender aos seus requisitos e
um maior empenho para que o sistema funcione de
acordo.
Problemas Prototipação Evolucionária

• Problemas de gerenciamento
– Habilidades especialistas são necessárias e podem não estar disponível
Engenharia de Software I

na equipe de desenvolvimento

• Problemas de manutenção
– A continuidade de mudanças tende a corromper a estrutura do
protótipo do sistema, assim a manutenção a longo prazo pode ser cara.

• Problemas contratuais
• Os contratos são, geralmente, estabelecidos
baseados em uma especificação completa do
software.
Prototipação Descartável

• Usada para reduzir os riscos com os requisitos.


• O protótipo é desenvolvido de uma especificação
Engenharia de Software I

inicial, entregue para avaliação e então


descartado.
• O protótipo descartável NÃO deve ser
considerado como um sistema final.
– Características importantes podem ter sido excluídas do
protótipo.
– Não existe especificação para manutenção futura
• O sistema será mal estruturado e difícil de manter.
Protótipos Descartáveis
Liberáveis

• Desenvolvedores podem ser pressionados a entregar


um protótipo descartável como um produto final
• Isso não é recomendado
Engenharia de Software I

– Pode ser impossível ajustar o protótipo para atender os requisitos não


funcionais.
– O protótipo é inevitavelmente não documentado e isso é ruim para a
manutenção a longo prazo.
– A s mudanças feitas durante o desenvolvimento do protótipo
provavelmente terão degradado a estrutura do sistema.
• Os padrões de qualidade organizacional são,
normalmente, deixados de lado no desenvolvimento
do protótipo.
Protótipos Classificação

• Protótipos de Baixa Fidelidade: são aqueles


que não se assemelham com o produto final
Engenharia de Software I

(Rogers, Sharp, Preece 2002).

– São úteis para a exploração e testes na fase inicial de


desenvolvimento do sistema.
– São simples, baratos e de fácil produção e alteração
facilitando deste modo a exploração e teste de idéias.
– Estes tipos de protótipos nunca são desenvolvidos com o
objetivo de serem incorporados no produto final.
Protótipos de Baixa Fidelidade

• Aspectos positivos:
– Custos Reduzidos;
Engenharia de Software I

– Menor tempo de desenvolvimento;


– Eficiente para recolha de requisitos de interface;
– Eficiente e facilita múltiplos testes de opções de design.
• Aspectos negativos:
– Reduzida utilidade após a definição do documento de
requisitos (ex: na fase de testes do sistema final);
– Definição incompleta (ou limitada) do esquema de
navegação;
– Verificação limitada de erros;
– Especificação pobre para codificação;
– Utilidade limitada para testes de usabilidade.
Protótipos Classificação

• Protótipos de Alta Fidelidade: Os protótipos de alta


fidelidade são aqueles que mais se assemelham com
Engenharia de Software I

o produto final (Rogers, Sharp, Preece 2002).


– Utilizam as mesmas técnicas e materiais que o sistema
final (Rogers, Sharp, Preece 2002).
– São os protótipos indicados quando os objetos são a venda
do sistema ou o teste de problemas técnicos.
– O protótipo ainda deve ter funcionalidades limitadas e os
requisitos não funcionais, normalmente, não estão
implementados.
Protótipos de Alta Fidelidade

• Aspectos positivos:
– Possuir funcionalidades semelhantes às do sistema final;
– Permitir a definição completa do esquema de navegação;
Engenharia de Software I

– Permitir elevado grau de interatividade com os utilizadores;


– Permitir a exploração e testes diversos com um elevado grau de
realismo;
– O Protótipo é um documento de requisitos;
– Facilita a venda da idéia do sistema final;

• Aspectos negativos:
– Custos maiores de desenvolvimento;
– Elevado tempo de desenvolvimento;
– Pode aumentar demais as expectativas dos usuários;
– Não serve para coleta de requisitos, pois os mesmos já estão incluídos
no protótipo.
Comparando os Protótipos

Tipo Vantagens Desvantagens


Baixa- •Custos mais Baixos •Verificação de erros limitada
Engenharia de Software I

Fidelidade •Vários conceitos de design •Especificação de código fraca


•Problemas de layout de tela •Conduzido pelo facilitador
•Identificar requisitos de mercado •Utilidade limitada depois da fase de
•Prova de conceito requisitos
•Pouco útil para testes de usabilidade
•Limitações de fluxo e navegacionais
Alta- •Funcionalidade Completa •Mais caro para desenvolver
fidelidade •Interactivo Completamente •Consome muito tempo na criação
•Conduzido pelo usuário •Ineficiente para provas de conceito
•Esquema navegacional •Ineficaz para aquisição de requisitos
•Exploração e Teste
•Look “Produto acabado”
•Especificação “viva”
•Ferramenta de vendas e marketing
Vantagens da Prototipação

• Melhora a qualidade da especificação do


software a ser desenvolvido,
Engenharia de Software I

contribuindo para uma queda nos custos


de desenvolvimento e manutenção.
• Antecipa o treinamento dos usuários.
• Partes do protótipo podem ser
aproveitadas no desenvolvimento do
sistema.
Desvantagens Prototipação

• O custo na maioria dos casos é


Engenharia de Software I

considerado muito alto.

• O cliente tende a confundir o


protótipo com uma versão do
sistema.
Engenharia de Software I

Acessem!
Prototipação

Вам также может понравиться