Para la construcción de software se desarrollan actividades fundamentales que nos orientan a realizar un software limpio, organizado y de calidad, para esto se debían desarrollar numerosas actividades en lo cual quedaron agrupadas en planeación, diseño , construcción y despliegue, sin embargo cada día los sistemas exigían diferentes funcionalidades y estas actividades se fueron actualizando y agregando o incluso cambiando la metodología de crear software, al conjunto de estas actividades se le denomina ciclo de vida del software.
Concepto de ciclo de vida :
según ISO es “Un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso”
Debido a la gran demanda y necesidad de crear software para usuarios en especifico surgieron nuevos enfoques metodológicos, los mas generales son los siguientes:
- Modelo en cascada: Framework lineal
- Prototipado: Framework iterativo.
- Modelo en cascada Incremental: Combinación de Framework lineal e iterativo
- Espiral: Combinación de Framework lineal e iterativo
MODELO EN CASCADA
Este es el enfoque que ordena rigurosamente las etapas del ciclo de vida del software, de forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior.
VENTAJAS
- Permite un mejor control de cada actividad, en cuanto a fecha de entrega, costos y revisiones.
DESVENTAJAS
- Se tarda mucho tiempo en pasar por todo el ciclo
- Las revisiones de proyectos de gran complejidad son muy difíciles
MODELO DE PROTOTIPO
Permite desarrollar modelos de aplicaciones de software que permiten ver la funcionalidad básica de la misma, sin necesariamente incluir toda la lógica o características del modelo terminado.
VENTAJAS:
- Permite la Retroalimentación por parte del usuario y se siente parte del grupo
- Desarrollo rápido
DESVENTAJAS
- El desarrollador debe dar forma prematuramente a un sistema, incluso antes de comprender de manera básica el problema y su funcionamiento.
- No se conocen niveles apropiados de calidad y documentación
MODELO INCREMENTAL
Este modelo se permite añadir componentes funcionales mediante incremento pero para comenzar una nueva etapa se debe terminar la anterior ,este se usa cuando el usuario no sabe que software que va a obtener, a medida que el usuario requieran funciones se le van aplicando mas procesos, a estos procesos se les llama incrementos.
MODELO ESPIRAL
Este ciclo de vida incorpora un análisis de riesgo en los aspectos económicos, este nos indica cuanto se puede costar, se divide en 4 etapas planificación, analisis de riesgo, ingenieria y evaluación, este ciclo es iterativo y creciente cada etapa es mas compleja e indica que estamos mas cerca de terminar el producto.
VENTAJAS
- El usuario hace parte del equipo, conoce y descubre nuevas necesidades y se pueden implementar durante el desarrollo
- Pruebas (testing) durante todo el proceso.
METODOLOGIAS AGILES
Scrum es una de las metodologías actualmente utilizadas ya que se pueden definir conjunto de eventos, prácticas y roles para definir el proceso de producción que usará un equipo de trabajo o dentro de un proyecto. Este es un modelo iterativo e incremental, donde cada incremento es llamado Sprints. Estos Sprints deben representar una característica pequeña o mediana y tiene una duración de 1 a 4 semanas tienen que ser totalmente funcionales y ser probadas para realizar la entrega de este.
en la siguiente grafica veremos como funciona esta metodología
Comentarios
Publicar un comentario