Prototipação

Post on 19-May-2015

21.074 views 0 download

description

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

Transcript of 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

Engenhari

a d

e S

oft

ware

I

PrototipaçãoPrototipaçã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.

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.

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

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.

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)

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

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

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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.

Engenhari

a d

e S

oft

ware

I

PrototipaçãoPrototipação

Acessem!