Investigación de metodología: Prototipo
¿Qué es un prototipo?
Definición por la rae: Ejemplar original o primer molde en que se fabrica una figura u otra cosa.
Pero también: Un original a gran escala y, usualmente funcional, modelo de un nuevo producto o nueva versión de un producto ya existente.
Los objetivos para desarrollar un prototipo son generalmente los mismos: Proporcionar una capacidad temprana o continua para observar algo sobre la naturaleza de un producto.
Modelo de Prototipos
También conocido
como desarrollo con prototipación o modelo 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.
Es básicamente prueba y error dado que si al usuario no le gusta una
parte del prototipo significa que la prueba fallo por lo cual se debe corregir el error
que se tenga hasta que el usuario quede satisfecho. Además debe ser construido
en poco tiempo, usando los programas adecuados y no se debe utilizar mucho
dinero pues a partir de que este sea aprobado se puede iniciar el verdadero
desarrollo del software. Pero eso si al
construir el prototipo nos asegura que nuestro software sea de mejor calidad,
además de que su interfaz sea de agrado
para el usuario.
Comienzos
En los años 70s, surgieron proyectos grandes pero con requisitos
inestables. En los 80s, la Ingeniería de Software solucionaron este problema
dando lugar a la “construcción de prototipos”, el modelo de de ciclo de vida de
dichos prototipos fue propuesto por Hassan Gomaa en 1984.
Etapas de la IS cubiertas en el modelo de
prototipos:
- Descripción: Recolección de requisitos, Diseño rápido.
- Desarrollo: Construcción del prototipo, Evaluación, Refinamiento, Producto.
- Mantenimiento: Operación y mantenimiento.
Esta metodología es no
secuencial, basado en la construcción de simulaciones o modelos ejecutables de
aplicaciones más extensos, requiere de la participación directa del cliente en
la construcción del software requerido.
Objetivo
Lograr brindarle al usuario una vista preliminar por parte del software , el cual se obtiene gracias al diseño rápido con el que se
conduce la construcción del prototipo, será evaluado constantemente por el
cliente o usuario para una retroalimentación, y esto brindara un gran aporte
para lograr refinar los requisitos del software que se desea desarrollar.
El
prototipo sirve como mecanismo para identificar los requisitos del software, y
su construcción suele llevar las siguientes etapas:
·
Recolección
de requisitos: El programador/ingeniero de software y el cliente definen los
objetivos globales del software, y aquéllos más específicos que se desean
destacar con el prototipo.
·
Diseño rápido: Centrado en los aspectos del
software visible al usuario (por ejemplo, interfaz de usuario, entradas y
salidas…).
·
Construcción del prototipo.
·
Evaluación: Se realiza por el cliente y
usuarios, lo que permitirá concretar y refinar los requisitos del software a desarrollar.
·
Refinamiento: Se produce un proceso iterativo
en el que el prototipo es refinado para que satisfaga las necesidades del
cliente, al tiempo que facilita al ingeniero de software un mejor conocimiento
del sistema.
·
Producto: En la mayoría de los casos este
sistema refinado (piloto) hay que desecharlo y hacer uno nuevo. Por ello, el
desarrollo de un prototipo se debe planificar con el acuerdo expreso del
cliente.
·
Operación y mantenimiento: En esta fase se realiza ya la
instalación y mantención del software, la complejidad en este caso resulta
menor ya que en las etapas anteriores los usuarios han trabajado con el sistema
al momento de hacer las pruebas de prototipos. Si existiese el caso en el cual
se requiera mantenimiento entonces el proceso de prototipado es repetido y se
definirá un nuevo conjunto de requerimientos.
Roles:
Los roles u intervinientes que se
encuentran en este metodología de investigación son el programador/ingeniero de
software, el usuario o cliente según sea correspondiente.
Ventajas:
·
Permite la construcción del sistema con
requisitos poco claros o cambiantes
·
El cliente recibe una versión del sistema en
muy poco tiempo, por lo que lo puede evaluar, probar e, incluso, empezar a
utilizarlo
·
Se pueden introducir cambios en las
funcionalidades del sistema en cualquier momento
·
Involucra al usuario en la evaluación de la
interfaz de usuario
·
Se reduce el riesgo y la incertidumbre sobre
el desarrollo
·
Los cambios iníciales durante el desarrollo de un proyecto son menos
costosos que si se realizan en etapas tardías
·
Genera signos visibles de progreso, que se
utilizan cuando existe una demanda en la velocidad del desarrollo
·
Permite entender bien el problema antes de la
implementación final
Desventajas:
·
Administración
difícil: Dicha dificultad radica en manejar el prototipo como un proyecto
dentro del Ciclo de Desarrollo de Sistema sin perder de vista cual era su
propósito.
·
Adoptarlo
como el sistema final: Los usuarios y profesionales de sistemas pueden
considerar al prototipo como el sistema final cuando aún es incompleto e
inadecuado.
·
El desarrollador y el
cliente tienen poca comunicación al inicio del proceso.
·
Surgen cambios imprevistos que retrasan
el progreso del prototipo.
Herramientas que soportan la metodología Prototipo
Axure RP; Prepaga; Uso Local
Axure RP; Prepaga; Uso Local
Es
una herramienta muy completa, orientada a diseñar wireframes y prototipos
básicos o avanzados de forma fácil, dirigido a aplicaciones web y de
escritorio.
Balsamiq;
Paga; Uso en la Nube o Uso Local
Es una herramienta que permite crear borradores (prototipos) de la
interfaz de usuario de nuestra aplicación.Ejercicio Práctico
Un cliente desea un
programa donde pueda digitalizar las ventas de su kiosco.
Se decide utilizar
la metodología de prototipo, se comienza realizando la recolección de
requisitos.
Se realiza una
entrevista con el cliente en la cual se ponen de acuerdo en cuanto a que funciones
integrará el programa.
Se sigue con la
etapa de diseño rápido donde el programador empieza a hacer un boceto de cómo será
la interfaz de usuario, que productos se ingresarán y ventas totales en un
periodo de tiempo determinado.
El programador
procede a construir el prototipo según las especificaciones ya mencionadas.
A medida que se
van agregando funcionalidades al programa se las va presentando al cliente de modo
de que este pueda dar el visto bueno o no de lo que se está desarrollando. Con
el correr del tiempo el cliente se da cuenta que tener un control de ingreso y
egreso de stock es fundamental para su negocio, por lo que el programador se ve
obligado a agregar dicha funcionalidad al programa para satisfacer la necesidad
del cliente.
Una ves terminado
el desarrollo del producto se procede a la instalación del software en el
negocio del cliente para que lo pueda utilizar.
Ejemplo de Empresas que lo utilizan:
Epic Games; Link: https://www.epicgames.com/store/es-ES/
Utilizan la metodología prototipo especialmente en su videojuego "Fortnite" actualizándolo constantemente y realizando cambios en el balance del mismo, por ejemplo, suelen implementar objetos nuevos que terminan sacándolos a los pocos días por ser demasiado “poderosos” es decir, tener una ventaja injusta frente a otros usuarios.
Conclusiones
La elaboración de prototipos es un enfoque de construir un poco y probar un poco, antes de construir el sistema final.
El profesional de sistema se encuentra ante una excelente técnica de relevamiento de información, obteniendo Reacciones del Usuario, Sugerencias, Innovaciones, Prioridades.
Los resultados de un acoplamiento estrecho entre el usuario, el profesional de sistema y los modelos reducen el vacío entre lo que los usuarios piensan de los sistemas y lo que realmente obtiene. Al usuario se lo introduce directamente en el desarrollo de manera que la aplicación se convierta en su proyecto, comunicando mejor sus requerimientos, reduciendo la habilidad del profesional de sistema en traducir los requerimientos.
El usuario prueba algo, ve lo que sucede, luego lo modifica, esta interacción proporciona una retroalimentación instantánea y le permite ver al usuario ver inmediatamente sus resultados y modificar el modelo tantas veces como sea necesario antes de su terminación. Los pasos de análisis, diseño y construcción se combinan en un flujo interactivo que es el paso clave.
Los resultados de un acoplamiento estrecho entre el usuario, el profesional de sistema y los modelos reducen el vacío entre lo que los usuarios piensan de los sistemas y lo que realmente obtiene. Al usuario se lo introduce directamente en el desarrollo de manera que la aplicación se convierta en su proyecto, comunicando mejor sus requerimientos, reduciendo la habilidad del profesional de sistema en traducir los requerimientos.
El usuario prueba algo, ve lo que sucede, luego lo modifica, esta interacción proporciona una retroalimentación instantánea y le permite ver al usuario ver inmediatamente sus resultados y modificar el modelo tantas veces como sea necesario antes de su terminación. Los pasos de análisis, diseño y construcción se combinan en un flujo interactivo que es el paso clave.
Bibliografía:
http://segundomodelo.blogspot.com/2013/05/modelo-de-prototipos-este-modelo-no.html
http://marich.blogspot.es/1459397526/metodologia-de-prototipos/
https://www.ecured.cu/Modelo_de_prototipos
http://pages.cpsc.ucalgary.ca/~saul/pmwiki/uploads/Main/topic-neumann.pdf
En cuanto al blog de que es un prototipo y para que sirve
ResponderEliminartengamos siempre en cuenta que podemos conocer y aprender de muchos temas.