Home > Engenharia de Software > Sumário > Processo de Software > Modelos Prescritivos de Processo > Modelos Evolucionários
Modelo Prototipagem
Este modelo é recomendado quando o cliente define um conjunto de objetivos gerais para o software, mas não identifica detalhadamente requisitos de entrada, processamento ou saída, ou mesmo, quando o desenvolvedor não está seguro sobre a eficiência de um algoritmo, da adaptabilidade de um sistema operacional ou da forma que a interação homem/máquina deve assumir.
O paradigma de prototipagem, conforme ilustrado na figura 1, começa com a comunicação. O engenheiro de software e o cliente encontram-se e definem os objetivos gerais do software, identificando as necessidades conhecidas e verificam as áreas que necessitam de mais definições. Uma iteração de prototipagem é planejada rapidamente e a modelagem ocorre. O projeto rápido concentra-se na representação daqueles aspectos do software que estarão visíveis para o cliente (exemplo: layout da interface, entre outros). O projeto rápido leva à construção de um protótipo, que é implantado e depois avaliado pelo cliente. O feedback é usado para refinar os requisitos do software. A iteração ocorre à medida que o protótipo é ajustado para satisfazer às necessidades do cliente e, ao mesmo tempo, permite ao desenvolvedor entender melhor o que precisa ser feito.
Figura 1: Modelo de Prototipagem.
Fonte: PRESSMAN (2010).
Idealmente, o protótipo serve como um mecanismo para identificação dos requisitos de software. Brooks (1975) defende que o protótipo deve ser descartado pelos seguintes motivos:
• o cliente vê o que parece ser uma versão executável do software, ignorando que o protótipo apenas consegue funcionar precariamente, sem saber de que na pressa de fazê-lo rodar ninguém considerou a qualidade global ou manutenabilidade a longo prazo;
• o desenvolvedor freqüentemente faz concessões na implementação a fim de conseguir rapidamente um protótipo executável. Um sistema operacional ou uma linguagem de programação inapropriada pode ser usado simplesmente por estar disponível e ser conhecidos;
• um algoritmo ineficiente pode ser implementado simplesmente para demonstrar uma possibilidade.
- Protótipos de viabilidade.
- Protótipos de usuário de baixa fidelidade.
- Protótipos de usuário de alta fidelidade.
- Protótipos de dados ao vivo.
- Híbridos.
Referência Bibliográfica
PRESSMAN, Roger S. Engenharia de Software, Sexta Edição. Editora MCGrawHill: Porto Alegre, 2010.