El modelo de prototipos permite construir rápidamente parte o la totalidad de un sistema para clarificar los requisitos con el cliente cuando estos son inciertos o no están bien definidos. Este modelo es útil cuando el cliente conoce los objetivos generales pero no los requisitos detallados, o cuando el desarrollador no está seguro de la efectividad de un algoritmo o interfaz. La principal desventaja es que el cliente podría creer que el prototipo es el producto final cuando en realidad requiere reescritura para cumplir con los estándares de calidad y manten