Modelo Basado en Prototipos
por Oh Ha Ni
1. Este modelo consiste en 3 fases:
1.1. Fase 1.
1.1.1. Entrevistar a los usarios para conocer lo que necesitan.
1.2. Fase 2
1.2.1. Construir un prototipo de forma rápida basado en lo que los usuarios necesitan.
1.3. Fase 3
1.3.1. Los usuarios experimentan con los prototipos y estos proveen la retroalimentación sobre lo que a ellos les gustó y no les gustó acerca del prototipo proporcionado
2. En Ingeniería de software, pertenece a los modelos de desarrollo evolutivo. El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar muchos recursos. El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el cliente o el usuario final.
3. Definición
4. Problemas
4.1. El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al sistema final.
4.2. En aras de desarrollar rápidamente el prototipo, el desarrollador suele tomar algunas decisiones de implementación poco convenientes
4.3. A causa de la intención de crear un prototipo de forma rápida, se suelen desatender aspectos importantes, tales como la calidad y el mantenimiento a largo plazo, lo que obliga en la mayor parte de los casos a reconstruirlo una vez que el prototipo ha cumplido su función.
4.4. Es frecuente que el usuario se muestre reacción a ello y pida que sobre ese prototipo se construya el sistema final, lo que lo convertiría en un prototipo evolutivo, pero partiendo de un estado poco recomendado.
5. Ventajas
5.1. Los prototipos constituyen un medio mejor de comunicación que los modelos en papel
5.2. La iteración es necesaria para canalizar, en la dirección correcta, el proceso de aprendizaje
5.3. Este modelo es útil cuando el cliente conoce los objetivos generales para el software, pero no identifica los requisitos detallados de entrada, procesamiento o salida.
5.4. También ofrece un mejor enfoque cuando el responsable del desarrollo del software está inseguro de la eficacia de un algoritmo, de la adaptabilidad de un sistema operativo o de la forma que debería tomar la interacción humano-máquina