En esta entrada les voy a hablar del ciclo de vida basado en prototipos, como ya sabéis el ciclo de vida es un proceso por el cual, los analistas, programadores, ingenieros e inclusive los usuarios (clientes), elaboran sistemas de información y aplicaciones informáticas.
El ciclo de vida basado en prototipos lo encuadraríamos dentro de los ciclos de vida evolutivos, estos ciclos corrigen las carencias más obvias de los ciclos de vida en cascada, ya que no existe el problema de volver atrás en el ciclo de vida de un programa suponiendo esto tanto grandes pérdidas tanto de tiempo como económicas incluso llegando al fracaso del proyecto.
Los ciclos de vida evolutivos se basan en ir aproximándose a la consecución del producto software deseado, a tandas, desde las partes más simples e ir iterando fase a fase hasta llegar a un producto software final que deje al cliente satisfecho.
La idea en que se basa el ciclo de vida basado en prototipos es realizar varias iteraciones durante las fases de análisis y diseño global.
En el esquema siguiente queda claramente expresado como seria el proceso:
El ciclo de vida en si sería como el ciclo de vida en cascada pero con la característica de que tiene una especie de “bucle” el cual es el que se reitera dejando una buena base desde un principio.
El ciclo de vida basado en prototipos seria así:
1º Se haría un buen análisis de los requisitos junto con el cliente.
2º Se procedería a la ejecución del diseño y construcción del prototipo.
3º Una vez validado el prototipo por el cliente, si este decide que el producto ya cumple la función deseada, se pasaría a la elaboración detallada del software, en caso contrario se volvería al análisis de requisitos en el cual definiríamos los nuevos requisitos a añadir o los viejos a modificar.
Los prototipos pueden ser prototipo horizontal o vertical:
Los prototipos horizontales son los que exhiben un amplio espectro de las características del sistema pero sin un respaldo de amplia funcionalidad.
Por ejemplo: un prototipo horizontal de un programa de contabilidad, sería implementar un programa que implementara todas las interfaces de ventana, pero sin ninguna funcionalidad.
Los prototipos verticales son los que muestran la funcionalidad exacta de una pequeña parte del conjunto completo de funcionalidades que tendría sistema final.
Por Ejemplo: Un prototipo vertical de un procesador de textos podría mostrar todas las funciones de comprobación de ortografía y gramática, pero ninguna función relacionada con la entrada de texto o su formato.
Las herramientas para desarrollar este tipo de programas serian como las de cualquier otro, si el programa se hace con un lenguaje interpretado seria más que suficiente un editor de texto y un navegador como por ejemplo firefox. Para programas escritos en lenguajes compilados se requeriría de un editor de texto y un programa compilador como por ejemplo: dev++, NetBeans, Borland C++ Builder.
Los ciclos de vidas basados en prototipos como todas las cosas tiene tanto sus ventajas como sus inconvenientes:
Ventajas:
- Los cilos de vida basados en prototipos permiten identificar los requisitos de forma incremental.
- Permite probar herramientas a los desarrolladores.
- Mejora la comunicación entre desarrolladores y clientes.
- Mejora la administración de los proyectos.
Inconvenientes:
- Los desarrolladores confunden el prototipo con el sistema real. Esto puede derivar en la producción de SW final de baja calidad.
- El cliente pude confundir el prototipo con el sistema real. Por eso no entienden que las fases de codificación e integración son tan largas.
- No es posible aplicar la metodología a todos los proyectos software y, finalmente, la mala interpretación puede confundir con el sistema terminado.
-------------------------------------------------------------------------------------------
Fuentes:
- Apuntes Profesor.

Muy interesante, lo he leído y la verdad es que la idea se entiende clara.
ResponderEliminarYo creo que tengo que profundizar un poco más.
Saludos.