Prototipação

31.028 visualizações

Publicada em

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

Publicada em: Tecnologia

Prototipação

  1. 1. Engenharia de Software 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
  2. 2. Prototipação
  3. 3. Modelo de Prototipação <ul><li>Objetivos: </li></ul><ul><li>Entender os requisitos do usuário e, assim, obter uma melhor definição dos requisitos do sistema; </li></ul><ul><li>Possibilita que o desenvolvedor crie um modelo (protótipo) do software que deve ser construído; </li></ul><ul><li>Apropriado quando o cliente não definiu detalhadamente os requisitos. </li></ul>
  4. 4. Modelo de Prototipação <ul><li>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. </li></ul>
  5. 5. Modelo de Prototipação Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo Obter Requisitos
  6. 6. Modelo de Prototipação Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo Obter Requisitos 1- 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 .
  7. 7. Modelo de Prototipação Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo Obter Requisitos 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)
  8. 8. Modelo de Prototipação Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo Obter Requisitos 3- CONSTRUÇÃO PROTÓTIPO: Implementação rápida do projeto
  9. 9. Modelo de Prototipação Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo Obter Requisitos 4- AVALIAÇÃO DO PROTÓTIPO: Cliente e desenvolvedor avaliam o protótipo
  10. 10. Modelo de Prototipação Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo Obter Requisitos 5- REFINAMENTO DO PROTÓTIPO: Cliente e desenvolvedor refinam os requisitos do software a ser desenvolvido.
  11. 11. Modelo de Prototipação Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo Obter Requisitos CONSTRUÇÃO DO PRODUTO
  12. 12. Benefícios da Prototipação <ul><li>Equívocos entre os usuários de software e desenvolvedores são expostos. </li></ul><ul><li>Serviços esquecidos podem ser detectados e serviços confusos podem ser identificados. </li></ul><ul><li>Um sistema funcionando está disponível nos primeiros estágios no processo de desenvolvimento. </li></ul><ul><li>O protótipo pode servir como uma base para derivar uma especificação do sistema com qualidade de produção. </li></ul><ul><li>O protótipo pode ser usado para treinamento do usuário e teste de sistema. </li></ul>
  13. 13. Benefícios da Prototipação <ul><li>Melhoria na facilidade de uso do sistema; </li></ul><ul><li>Maior aproximação do sistema com as necessidades dos usuários; </li></ul><ul><li>Melhoria da qualidade do projeto; </li></ul><ul><li>Melhoria na facilidade de manutenção; </li></ul><ul><li>Redução no esforço de desenvolvimento. </li></ul>
  14. 14. Prototipação no Processo de Software <ul><li>Prototipação evolucionária </li></ul><ul><ul><li>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. </li></ul></ul><ul><li>Prototipação descartável </li></ul><ul><ul><li>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. </li></ul></ul>
  15. 15. Objetivos da Prototipação Evolucionária e Descartável <ul><li>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. </li></ul><ul><li>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. </li></ul>
  16. 16. Prototipação Evolucionária <ul><li>Baseada em técnicas que permitem interações rápidas para o desenvolvimento de aplicações. </li></ul><ul><li>Verificação é impossível uma vez que não existe especificação. A validação significa demonstrar a adequação do sistema. </li></ul>
  17. 17. Vantagens da Prototipação Evolucionária <ul><li>Rápido fornecimento do sistema </li></ul><ul><ul><li>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. </li></ul></ul><ul><li>Compromisso do usuário com o sistema </li></ul><ul><li>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. </li></ul>
  18. 18. Problemas Prototipação Evolucionária <ul><li>Problemas de gerenciamento </li></ul><ul><ul><li>Habilidades especialistas são necessárias e podem não estar disponível na equipe de desenvolvimento </li></ul></ul><ul><li>Problemas de manutenção </li></ul><ul><ul><li>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. </li></ul></ul><ul><li>Problemas contratuais </li></ul><ul><li>Os contratos são, geralmente, estabelecidos baseados em uma especificação completa do software. </li></ul>
  19. 19. Prototipação Descartável <ul><li>Usada para reduzir os riscos com os requisitos. </li></ul><ul><li>O protótipo é desenvolvido de uma especificação inicial, entregue para avaliação e então descartado. </li></ul><ul><li>O protótipo descartável NÃO deve ser considerado como um sistema final. </li></ul><ul><ul><li>Características importantes podem ter sido excluídas do protótipo. </li></ul></ul><ul><ul><li>Não existe especificação para manutenção futura </li></ul></ul><ul><li>O sistema será mal estruturado e difícil de manter. </li></ul>
  20. 20. Protótipos Descartáveis Liberáveis <ul><li>Desenvolvedores podem ser pressionados a entregar um protótipo descartável como um produto final </li></ul><ul><li>Isso não é recomendado </li></ul><ul><ul><li>Pode ser impossível ajustar o protótipo para atender os requisitos não funcionais. </li></ul></ul><ul><ul><li>O protótipo é inevitavelmente não documentado e isso é ruim para a manutenção a longo prazo. </li></ul></ul><ul><ul><li>A s mudanças feitas durante o desenvolvimento do protótipo provavelmente terão degradado a estrutura do sistema. </li></ul></ul><ul><li>Os padrões de qualidade organizacional são, normalmente, deixados de lado no desenvolvimento do protótipo. </li></ul>
  21. 21. Protótipos Classificação <ul><li>Protótipos de Baixa Fidelidade: são aqueles que não se assemelham com o produto final (Rogers, Sharp, Preece 2002). </li></ul><ul><ul><li>São úteis para a exploração e testes na fase inicial de desenvolvimento do sistema. </li></ul></ul><ul><ul><li>São simples, baratos e de fácil produção e alteração facilitando deste modo a exploração e teste de idéias. </li></ul></ul><ul><ul><li>Estes tipos de protótipos nunca são desenvolvidos com o objetivo de serem incorporados no produto final. </li></ul></ul>
  22. 22. Protótipos de Baixa Fidelidade <ul><li>Aspectos positivos: </li></ul><ul><ul><li>Custos Reduzidos; </li></ul></ul><ul><ul><li>Menor tempo de desenvolvimento; </li></ul></ul><ul><ul><li>Eficiente para recolha de requisitos de interface; </li></ul></ul><ul><ul><li>Eficiente e facilita múltiplos testes de opções de design. </li></ul></ul><ul><li>Aspectos negativos: </li></ul><ul><ul><li>Reduzida utilidade após a definição do documento de requisitos (ex: na fase de testes do sistema final); </li></ul></ul><ul><ul><li>Definição incompleta (ou limitada) do esquema de navegação; </li></ul></ul><ul><ul><li>Verificação limitada de erros; </li></ul></ul><ul><ul><li>Especificação pobre para codificação; </li></ul></ul><ul><ul><li>Utilidade limitada para testes de usabilidade. </li></ul></ul>
  23. 23. Protótipos Classificação <ul><li>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). </li></ul><ul><ul><li>Utilizam as mesmas técnicas e materiais que o sistema final (Rogers, Sharp, Preece 2002). </li></ul></ul><ul><ul><li>São os protótipos indicados quando os objetos são a venda do sistema ou o teste de problemas técnicos. </li></ul></ul><ul><ul><li>O protótipo ainda deve ter funcionalidades limitadas e os requisitos não funcionais, normalmente, não estão implementados. </li></ul></ul>
  24. 24. Protótipos de Alta Fidelidade <ul><li>Aspectos positivos: </li></ul><ul><ul><li>Possuir funcionalidades semelhantes às do sistema final; </li></ul></ul><ul><ul><li>Permitir a definição completa do esquema de navegação; </li></ul></ul><ul><ul><li>Permitir elevado grau de interatividade com os utilizadores; </li></ul></ul><ul><ul><li>Permitir a exploração e testes diversos com um elevado grau de realismo; </li></ul></ul><ul><ul><li>O Protótipo é um documento de requisitos; </li></ul></ul><ul><ul><li>Facilita a venda da idéia do sistema final; </li></ul></ul><ul><li>Aspectos negativos: </li></ul><ul><ul><li>Custos maiores de desenvolvimento; </li></ul></ul><ul><ul><li>Elevado tempo de desenvolvimento; </li></ul></ul><ul><ul><li>Pode aumentar demais as expectativas dos usuários; </li></ul></ul><ul><ul><li>Não serve para coleta de requisitos, pois os mesmos já estão incluídos no protótipo. </li></ul></ul>
  25. 25. Comparando os Protótipos Tipo Vantagens Desvantagens Baixa-Fidelidade <ul><li>Custos mais Baixos </li></ul><ul><li>Vários conceitos de design </li></ul><ul><li>Problemas de layout de tela </li></ul><ul><li>Identificar requisitos de mercado </li></ul><ul><li>Prova de conceito </li></ul><ul><li>Verificação de erros limitada </li></ul><ul><li>Especificação de código fraca </li></ul><ul><li>Conduzido pelo facilitador </li></ul><ul><li>Utilidade limitada depois da fase de requisitos </li></ul><ul><li>Pouco útil para testes de usabilidade </li></ul><ul><li>Limitações de fluxo e navegacionais </li></ul>Alta-fidelidade <ul><li>Funcionalidade Completa </li></ul><ul><li>Interactivo Completamente </li></ul><ul><li>Conduzido pelo usuário </li></ul><ul><li>Esquema navegacional </li></ul><ul><li>Exploração e Teste </li></ul><ul><li>Look “Produto acabado” </li></ul><ul><li>Especificação “viva” </li></ul><ul><li>Ferramenta de vendas e marketing </li></ul><ul><li>Mais caro para desenvolver </li></ul><ul><li>Consome muito tempo na criação </li></ul><ul><li>Ineficiente para provas de conceito </li></ul><ul><li>Ineficaz para aquisição de requisitos </li></ul>
  26. 26. Vantagens da Prototipação <ul><li>Melhora a qualidade da especificação do software a ser desenvolvido, contribuindo para uma queda nos custos de desenvolvimento e manutenção. </li></ul><ul><li>Antecipa o treinamento dos usuários. </li></ul><ul><li>Partes do protótipo podem ser aproveitadas no desenvolvimento do sistema. </li></ul>
  27. 27. Desvantagens Prototipação <ul><li>O custo na maioria dos casos é considerado muito alto. </li></ul><ul><li>O cliente tende a confundir o protótipo com uma versão do sistema. </li></ul>
  28. 28. Prototipação Acessem!

×