Prototipação

28
Engenharia de Software I Engenharia de Software Engenharia de Software PROTOTIPAÇÃO PROTOTIPAÇÃO Altieres de Magalhães Silva Altieres de Magalhães Silva Cesar Augusto Couto Santos Cesar Augusto Couto Santos Daniel Pedro dos Santos Fernandes Daniel Pedro dos Santos Fernandes Ednilson Martines de Araujo Ednilson Martines de Araujo Fabio Augusto Azevedo Fabio Augusto Azevedo Hellen de Souza Castro Hellen de Souza Castro Luana Paula de Lima Luana Paula de Lima Lucas Antonio Braz de Morais Lucas Antonio Braz de Morais

description

Trabalho apresentado na disciplina de Engenharia de Software I na Universidade do Vale do Sapucaí.

Transcript of Prototipação

Page 1: Prototipação

Engenhari

a d

e S

oft

ware

I Engenharia de SoftwareEngenharia de SoftwarePROTOTIPAÇÃOPROTOTIPAÇÃO

Altieres de Magalhães SilvaAltieres de Magalhães Silva

Cesar Augusto Couto SantosCesar Augusto Couto Santos

Daniel Pedro dos Santos FernandesDaniel Pedro dos Santos Fernandes

Ednilson Martines de AraujoEdnilson Martines de Araujo

Fabio Augusto AzevedoFabio Augusto Azevedo

Hellen de Souza CastroHellen de Souza Castro

Luana Paula de LimaLuana Paula de Lima

Lucas Antonio Braz de MoraisLucas Antonio Braz de Morais

Page 2: Prototipação

Engenhari

a d

e S

oft

ware

I

PrototipaçãoPrototipação

Page 3: Prototipação

Engenhari

a d

e S

oft

ware

I

Modelo de PrototipaçãoModelo de Prototipação

Objetivos:

• 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.

Page 4: Prototipação

Engenhari

a d

e S

oft

ware

I

Modelo de PrototipaçãoModelo de Prototipação

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.

Page 5: Prototipação

Engenhari

a d

e S

oft

ware

I

Modelo de PrototipaçãoModelo de Prototipação

Elaborar Projeto Rápido

Construir ProtótipoAvaliar Protótipo

Refinamento do Protótipo

Obter Requisitos

Page 6: Prototipação

Engenhari

a d

e S

oft

ware

I

Modelo de PrototipaçãoModelo de Prototipação

Elaborar Projeto Rápido

Construir ProtótipoAvaliar Protótipo

Refinamento do Protótipo

Obter Requisitos

1-1- OBTENÇÃO DOS REQUISITOS: OBTENÇÃO DOS REQUISITOS: Desenvolvedor e cliente definem os objetivos gerais do software, identificam quais requisitos são conhecidos e as áreas que necessitam de definições adicionais.

Page 7: Prototipação

Engenhari

a d

e S

oft

ware

I

Modelo de PrototipaçãoModelo de Prototipação

Elaborar Projeto Rápido

Construir ProtótipoAvaliar Protótipo

Refinamento do Protótipo

Obter Requisitos

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

Page 8: Prototipação

Engenhari

a d

e S

oft

ware

I

Modelo de PrototipaçãoModelo de Prototipação

Elaborar Projeto Rápido

Construir ProtótipoAvaliar Protótipo

Refinamento do Protótipo

Obter Requisitos 3-3- CONSTRUÇÃO CONSTRUÇÃO PROTÓTIPO:PROTÓTIPO: Implementação rápida do projeto

Page 9: Prototipação

Engenhari

a d

e S

oft

ware

I

Modelo de PrototipaçãoModelo de Prototipação

Elaborar Projeto Rápido

Construir ProtótipoAvaliar Protótipo

Refinamento do Protótipo

Obter Requisitos 4- AVALIAÇÃO DO 4- AVALIAÇÃO DO PROTÓTIPO:PROTÓTIPO: Cliente e desenvolvedor avaliam o protótipo

Page 10: Prototipação

Engenhari

a d

e S

oft

ware

I

Modelo de PrototipaçãoModelo de Prototipação

Elaborar Projeto Rápido

Construir ProtótipoAvaliar Protótipo

Refinamento do Protótipo

Obter Requisitos

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

Page 11: Prototipação

Engenhari

a d

e S

oft

ware

I

Modelo de PrototipaçãoModelo de Prototipação

Elaborar Projeto Rápido

Construir ProtótipoAvaliar Protótipo

Refinamento do Protótipo

Obter Requisitos

CONSTRUÇÃO CONSTRUÇÃO DO PRODUTODO PRODUTO

Page 12: Prototipação

Engenhari

a d

e S

oft

ware

I

Benefícios da PrototipaçãoBenefícios da Prototipação

• Equívocos entre os usuários de software e desenvolvedores são expostos.

• 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.

Page 13: Prototipação

Engenhari

a d

e S

oft

ware

I

Benefícios da PrototipaçãoBenefícios da Prototipação

• Melhoria na facilidade de uso do sistema;

• 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.

Page 14: Prototipação

Engenhari

a d

e S

oft

ware

IPrototipação no Processo de Prototipação no Processo de

SoftwareSoftware

• Prototipação evolucionária– 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.

Page 15: Prototipação

Engenhari

a d

e S

oft

ware

IObjetivos da Prototipação Evolucionária e Objetivos da Prototipação Evolucionária e

DescartávelDescartável

• O objetivo da prototipação evolucionária é fornecer aos usuários finais um sistema 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.

Page 16: Prototipação

Engenhari

a d

e S

oft

ware

I

Prototipação EvolucionáriaPrototipação Evolucionária

• Baseada em técnicas que permitem 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.

Page 17: Prototipação

Engenhari

a d

e S

oft

ware

I

Vantagens da Prototipação EvolucionáriaVantagens da Prototipação Evolucionária

• Rápido fornecimento do sistema

– Em alguns casos, o rápido fornecimento e a 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.

Page 18: Prototipação

Engenhari

a d

e S

oft

ware

I

Problemas Prototipação EvolucionáriaProblemas Prototipação Evolucionária

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

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.

Page 19: Prototipação

Engenhari

a d

e S

oft

ware

I

Prototipação DescartávelPrototipação Descartável

• Usada para reduzir os riscos com os requisitos.

• O protótipo é desenvolvido de uma especificação 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.

Page 20: Prototipação

Engenhari

a d

e S

oft

ware

IProtótipos Descartáveis Protótipos Descartáveis

LiberáveisLiberáveis

• Desenvolvedores podem ser pressionados a entregar um protótipo descartável como um produto final

• Isso não é recomendado

– 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.

Page 21: Prototipação

Engenhari

a d

e S

oft

ware

I

Protótipos ClassificaçãoProtótipos Classificação

• Protótipos de Baixa Fidelidade: são aqueles que não se assemelham com o produto final (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.

Page 22: Prototipação

Engenhari

a d

e S

oft

ware

I

Protótipos de Baixa FidelidadeProtótipos de Baixa Fidelidade

• Aspectos positivos:– Custos Reduzidos; – 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.

Page 23: Prototipação

Engenhari

a d

e S

oft

ware

I

Protótipos ClassificaçãoProtótipos Classificação

• Protótipos de Alta Fidelidade: Os protótipos de alta fidelidade são aqueles que mais se assemelham com 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.

Page 24: Prototipação

Engenhari

a d

e S

oft

ware

I

Protótipos de Alta FidelidadeProtótipos de Alta Fidelidade

• Aspectos positivos:– Possuir funcionalidades semelhantes às do sistema final; – Permitir a definição completa do esquema de navegação; – 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.

Page 25: Prototipação

Engenhari

a d

e S

oft

ware

I

Comparando os ProtótiposComparando os Protótipos

Tipo Vantagens Desvantagens

Baixa-Fidelidade

•Custos mais Baixos

•Vários conceitos de design

•Problemas de layout de tela

•Identificar requisitos de mercado

•Prova de conceito

•Verificação de erros limitada

•Especificação de código fraca

•Conduzido pelo facilitador

•Utilidade limitada depois da fase de requisitos

•Pouco útil para testes de usabilidade

•Limitações de fluxo e navegacionais

Alta-fidelidade

•Funcionalidade Completa

•Interactivo Completamente

•Conduzido pelo usuário

•Esquema navegacional

•Exploração e Teste

•Look “Produto acabado”

•Especificação “viva”

•Ferramenta de vendas e marketing

•Mais caro para desenvolver

•Consome muito tempo na criação

•Ineficiente para provas de conceito

•Ineficaz para aquisição de requisitos

Page 26: Prototipação

Engenhari

a d

e S

oft

ware

I

Vantagens da PrototipaçãoVantagens da Prototipação

• Melhora a qualidade da especificação do software a ser desenvolvido, 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.

Page 27: Prototipação

Engenhari

a d

e S

oft

ware

I

Desvantagens PrototipaçãoDesvantagens Prototipação

• O custo na maioria dos casos é considerado muito alto.

• O cliente tende a confundir o protótipo com uma versão do sistema.

Page 28: Prototipação

Engenhari

a d

e S

oft

ware

I

PrototipaçãoPrototipação

Acessem!