En Ingeniería de software el
desarrollo con prototipación, también llamado modelo de prototipos que
pertenece a los modelos de desarrollo evolutivo, se inicia con la definición de
los objetivos globales para el software, luego se identifican los requisitos
conocidos y las áreas del esquema en donde es necesaria más definición.
Entonces se plantea con rapidez una iteración de construcción de prototipos y
se presenta el modelado (en forma de un diseño rápido).
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 (por ejemplo, la configuración de la interfaz con el
usuario y el formato de los despliegues de salida). El diseño rápido conduce a
la construcción de un prototipo, el cual es evaluado por el cliente o el
usuario para una retroalimentación; gracias a ésta se refinan los requisitos
del software que se desarrollará. La interación ocurre cuando el prototipo se
ajusta para satisfacer las necesidades del cliente. Esto permite que al mismo
tiempo el desarrollador entienda mejor lo que se debe hacer y el cliente vea
resultados a corto plazo.
Ventajas
- 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.
- 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.
La construcción de
prototipos se puede utilizar como un modelo del proceso independiente, se
emplea más comúnmente como una técnica susceptible de implementarse dentro del
contexto de cualquiera de los modelos del proceso expuestos. Sin importar la
forma en que éste se aplique, el paradigma de construcción de prototipos ayuda
al desarrollador de software y al cliente a entender de mejor manera cuál será
el resultado de la construcción cuando los requisitos estén satisfechos. De
esta manera, este ciclo de vida en particular, involucra al cliente más
profundamente para adquirir el producto.
- El usuario tiende a crearse unas expectativas
cuando ve el prototipo de cara al sistema final. 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. Es frecuente que el usuario se muestre reacio 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.
- En aras de desarrollar rápidamente el prototipo, el
desarrollador suele tomar algunas decisiones de implementación poco
convenientes (por ejemplo, elegir un lenguaje de programación incorrecto porque
proporcione un desarrollo más rápido). Con el paso del tiempo, el desarrollador
puede olvidarse de la razón que le llevó a tomar tales decisiones, con lo que
se corre el riesgo de que dichas elecciones pasen a formar parte del sistema
final.
No hay comentarios:
Publicar un comentario