Conceito: Protótipos
Um protótipo é um versão inicial, reduzida proporcionalmente, da solução de sistema ou de parte de uma solução de sistema construída em um curto período de tempo e aprimorada em várias iterações para testar e avaliar a eficácia do design global utilizado para resolver um problema específico.
Relacionamentos
Descrição Principal

Como Utilizar

Os protótipos são usados de uma maneira direta para reduzir o risco. Eles podem reduzir a incerteza sobre:

  • A viabilidade de negócio de um produto que está sendo desenvolvido
  • A estabilidade ou o desempenho da tecnologia-chave
  • Compromisso do projeto ou provisão de fundos: construindo um pequeno protótipo de prova de conceito
  • O entendimento de requisitos
  • A aparência do produto, sua usabilidade.

Um protótipo pode ajudar a criar o suporte do produto, mostrando algo concreto e executável aos usuários, clientes e gerentes.

A natureza e a meta do protótipo devem permanecer claras, entretanto, durante toda a vida útil. Se você não pretende desenvolver o protótipo até o produto real, não pressuponha repentinamente que, como o protótipo funciona, deve tornar-se o produto final. Um protótipo exploratório e comportamental, que pretenda experimentar muito rapidamente alguma interface de usuário, raramente evolui para um produto forte e flexível.

Tipos de Protótipos

Você pode visualizar protótipos de duas maneiras: o que eles exploram e como são desenvolvidos ou qual é sua saída.

No contexto da primeira visão - o que eles exploram - há dois tipos principais de protótipos:

  • Um protótipo comportamental, que tem o foco na exploração de um comportamento específico do sistema.
  • Um protótipo estrutural, que explora algumas preocupações arquiteturais ou tecnológicas.

No contexto da segunda visão - seu resultado - há também dois tipos de protótipos:

  • Um protótipo exploratório, que é descartado quando concluído, também chamado de protótipo descartado.
  • Um protótipo evolutivo, que é gradualmente desenvolvido para tornar-se o verdadeiro sistema.

Protótipos Exploratórios

Um protótipo exploratório é projetado para ser parecido com um pequeno "experimento" para testar algumas principais premissas sobre o projeto, funcionalidade, tecnologia ou ambas. Ele pode ser tão pequeno quanto algumas centenas de linhas de código, criadas para testar o desempenho de um software-chave ou componente de hardware. Ou pode ser uma maneira de esclarecer os requisitos, um pequeno protótipo desenvolvido para examinar se o desenvolvedor entende um determinado requisito comportamental ou técnico.

Os protótipos exploratórios tendem a ser intencionalmente "descartados"; e o teste tende a ser informal. O design dos protótipos exploratórios tende a ser muito informal e também a ser o trabalho de um ou dois desenvolvedores no máximo.

Protótipos Evolutivos

Os protótipos evolutivos, como o nome sugere, evoluem de uma iteração para a próxima. Enquanto não houver qualidade de produção inicialmente, o código tende a ser retrabalhado conforme o produto é desenvolvido. Para manter o retrabalho gerenciável, eles tendem a ser projetados mais formalmente e testados com uma certa formalidade mesmo nos estágios iniciais. Conforme o desenvolvimento do produto, o teste torna-se formalizado, como normalmente é o design.

Protótipos Comportamentais

Os protótipos comportamentais tendem a ser protótipos exploratórios, não tentam reproduzir a arquitetura do sistema a ser desenvolvido, mas em vez disso, têm o foco em que o sistema fará quando visto pelos usuários (a "skin"). Freqüentemente, esse tipo de protótipo é "rápido e obscuro", não construído para padrões de projeto. Por exemplo, o Visual Basic pode ser usado como a linguagem de protótipo, enquanto o C++ destina-se ao projeto de desenvolvimento. Os protótipos exploratórios são temporários, realizados com o mínimo de esforço e descartados depois de servirem ao seu propósito.

Protótipos Estruturais

Os protótipos estruturais tendem a ser protótipos evolutivos, são mais suscetíveis à utilização da infra-estrutura do sistema final (os "ossos") e provavelmente serão desenvolvidos para se tornarem o verdadeiro sistema. Se o protótipo for feito utilizando a linguagem de "produção" e o conjunto de ferramentas, há a vantagem agregada de ser capaz de testar o ambiente de desenvolvimento e permitir que algumas se familiarizem com novas ferramentas e procedimentos.