CICLOS DE VIDA PARA EL DESARROLLO DE SOFTWARE
Enviado por Eric • 18 de Noviembre de 2018 • 1.749 Palabras (7 Páginas) • 524 Visitas
...
- Modelo lineal: Este modelo es el mas sencillo de todos, lo que pretende es dividir el proyecto en actividades que se puedan aplicar linealmente, es decir se realiza una etapa una sola vez y cuando se termina se continúa con la siguiente.
Las actividades de cada fase, deben ser independientes de otras fases, lo que conlleva a que no exista retroalimentación, aunque tiene algunas excepciones de retroalimentación únicamente para correcciones.
[pic 2]
Gráfica 2. Modelo de desarrollo lineal. (Cantone, D. 2006).
Para gestionar proyectos que utilizan este modelo, es necesario conocer muy bien que se va a realizar en cada etapa antes de comenzarla, lo que permite disminuir la posibilidad de errores cuando se codifica, además aminora en gran parte la necesidad de solicitar información del cliente y de los usuarios.
Por su sencillez este modelo lo adoptan mucho para realizar programas de software pequeños, además es económico gestionarlo y administrarlo esto es una gran ventaja, pero a su vez tiene una gran desventaja porque no se puede usar para proyectos de software que requieran retroalimentación, debido a que sale muy costoso tener que retomar fases ya realizadas y terminadas para realizar cambios si se encuentran fallas.
Un ejemplo de donde tiene aplicación este modelo de desarrollo es cuando en una empresa requieren una aplicación pequeña para guardar registros en una base de datos y realizar consultas sencillas sobre ella. Cabe dentro de este ejemplo debido a que las fases para realizar dicha tarea no tienen mayor complejidad además la codificación es muy sencilla.
- Modelo en cascada: Fue planteado por Winston Royce en 1970, este modelo permite iteraciones entre las fases, su funcionamiento se resumen en que después de que se termina una fase se realizan revisiones, con el fin de comprobar que se puede pasar a la siguiente. Este fue uno de los primeros modelos que se adoptaron, el cual sirvió de base para crear otros, a pesar de que es poco flexible.
[pic 3]
Gráfica 3. Modelo de desarrollo en cascada (Cantone, D. 2006).
A pesar de que este modelo permite iteraciones es necesario que se identifiquen los requerimientos al comienzo del mismo.
Ventajas de este modelo es que también es sencillo de planificar, además ayuda a crear un producto de calidad sin necesidad de poseer personal altamente calificado para realizarlo. Pero también tiene desventajas como necesitar de la mayoría de los requerimientos al comienzo del proyecto. También tiene como inconveniente que si no se detectan los errores en la fase siguiente a la que se cometió el error, puede ser muy costosa su corrección al tener que devolverse, además de la perdida de tiempo que requiere arreglar cualquier daño.
- Modelo iterativo: Este se deriva del modelo anterior, lo que se pretende con este modelo es minimizar el riesgo de que no se cumplan los requerimientos al finalizar el proyecto. Esto se hace a través de una serie de entregas al cliente cuando se finaliza una iteración, así se realizan revisiones por cada una de éstas y se puede determinar en el camino si se está cumpliendo con los requerimientos propuestos.
[pic 4]
Gráfica 4. Modelo iterativo (Cantone, D. 2006).
El modelo iterativo es flexible con la definición de requerimientos por parte del usuario, se usa cuando éste no los tiene muy claros, de tal forma que se le pueden presentar varios prototipos para que pueda elegir hasta que quede satisfecho.
Se puede utilizar este modelo en aplicaciones de mediana o gran envergadura, siempre y cuando el cliente no necesite que se trabajen en todas las funcionalidades del proyecto al comienzo de éste, por ejemplo una empresa que quiere migrar un sistema de información ya existente a otra arquitectura y lo quiere hacer gradualmente.
- Modelo incremental: Este modelo es usado para incrementar funcionalidad del programa, es decir se van construyendo módulos que cumplen con las funciones del sistema y a medida que se van construyendo más y más se van sumando a la totalidad del sistema.
Con este modelo, realizar el software tiene muchas ventajas, ya que si existe más de un desarrollador, cada uno puede trabajar en un módulo independiente.
Funciona aplicando el modelo en cascada en cada función del programa que se va a construir, cuando se termina de aplicar éste en cada función se le entrega una versión al cliente, la cual contiene un módulo con su funcionalidad.
[pic 5]
Gráfica 5. Modelo incremental. (Cantone, D. 2006).
Las ventajas de este sistema son varias:
- El poder trabajar en módulos es menos riesgoso que trabajar sobre el programa completo.
- Como se trabaja con funcionalidades del sistema, es más sencillo relevar los requerimientos del usuario.
- Al detectar un error grande, se puede desechar la última iteración realizada, de tal forma que no se generan muchas pérdidas.
- No es necesario identificar todos los requerimientos de las funcionalidades al comienzo del proyecto.
Este modelo de desarrollo se puede aplicar para casi cualquier proyecto, pero está orientado para usarlo cuando los clientes requieren de entregas rápidas así sean parciales.
---------------------------------------------------------------
Bibliografía
Cantone, D. (2006). Implementación y Debugging. La biblia del programador. Ciclo de vida del software. Buenos Aires Argentina: MP Ediciones
SENN, J. (1991). Análisis y diseño de sistemas de información. (2ª Edición). México : McGraw-Hill
...