Prototipação de Software
O que é um protótipo? É uma versão inicial de um sistema de software, que é utilizada para mostrar conceitos, experimentar opções de projeto e, em geral, para conhecer mais sobre os problemas e suas possíveis soluções. Deve ser rapidamente elaborado para validar com o cliente o software esperado, além de ser com custo eficiente.
Protótipo Faz parte do desenvolvimento de software em vários momentos: Levantamento de Requisitos; Avaliação de Requisitos; Análise e redução de risco.
Protótipo Benefícios: Possíveis equívocos entre desenvolvedores de software e usuários podem ser identificados à medida que as funções do sistema são apresentadas; A equipe de desenvolvimento de software pode encontrar requisitos incompletos e/ou inconsistentes quando o protótipo é desenvolvido;
Protótipo Benefícios Um sistema operante, embora limitado, se torna rapidamente disponível, a fim de mostrar viabilidade e a utilidade da aplicação para a gerência; O protótipo pode ser utilizado como uma base para escrever a especificação para um sistema com qualidade de produção.
Processo de Prototipação
Desenvolvimento Evolucionário Tem com base a idéia de desenvolver uma implementação inicial, expor o resultado ao comentário do usuário e fazer seu aprimoramento por meio de muitas versões, até que tenha sido desenvolvido; A especificação, desenvolvimento e validação são executados concorrentemente para gerar um retorno rápido;
Abordagens do Desenvolvimento de Protótipos
Prototipação Evolucionária Se baseia na idéia de desenvolver uma implementação inicial, expondo-a aos comentários do usuários e aperfeiçoando-a ao longo de muitos estágios, até que um sistema adequado tenha sido desenvolvido. É utilizada em sistemas difíceis ou impossíveis de especificar.
Prototipação Evolucionária
Prototipação Evolucionária Características O processo de especificação, projeto e implementação são intercalados. Não existe especificação detalhada do sistema e a documentação de projeto depende das ferramentas usadas no projeto. O sistema é desenvolvido em uma série de estágios. Cada estágio é avaliado pela empresa, que pode demandar novos requisitos, os quais virão na próxima versão.
Prototipação Evolucionária Características São usadas linguagens e ferramentas para desenvolvimento rápido; As interfaces com o usuário do sistema são, geralmente, desenvolvidas utilizando-se um sistema de desenvolvimento interativo, que permite que o projeto de interface seja criado rapidamente.
Prototipação Evolucionária Problemas Problemas de gerenciamento: não controle da documentação, difícil avaliação; Problemas de manutenção: corrupção da estrutura do sistema, decorrente das mudanças, mudança de mantenedor, falta de documentos; Problemas contratuais: Como cobrar pelo sistema? Por horas, o cliente fica insatisfeito. Por preço fixo não será viável para o desenvolvedor.
Prototipação Evolucionária Variação: Prototipação incremental
Prototipação Descartável Amplia o processo de análise de requisitos, com a intenção de reduzir os custos totais do ciclo de vida; O protótipo vem para esclarecer requisitos e produzir informações para os gerentes avaliarem o risco do projeto; Depois da avaliação, o protótipo é descartado, não sendo mais usado no desenvolvimento do sistema.
Prototipação Descartável
Prototipação Descartável Problemas Diferença entre o protótipo e a implementação: falta de requisitos não funcionais, características faltando, falta de apoio legal (contrato); Pressão para empurrar o protótipo: inconsistência do sistema, falta de documentação, baixa qualidade.
Avaliação Em dupla Faça um levantamento de requisito para um software empreendedor em uma determinada empresa. Produza o documento de requisitos bem especificado. Entrega: 12/04/2007