1
Ciclo de Vida del Desarrollo
de Software
René Guamán-Quinche
Carrera de Ingeniería en Sistemas/Computación
Junio, 2021
Loja, Ecuador
3
1. Ciclo de Vida del Desarrollo de Software
2. Ciclo de Muerte del Software
3. Ciclo de Vida Cascada
4. Ciclo de Vida Espiral
5. Ciclo de Vida Prototipo
6. Ciclo de Vida en V
7. Ciclo de Vida Incremental
8. Ciclo de Vida Evolutivo
Agenda
4
Ciclo de Vida del Desarrollo de Software
Alan Davis define Ingeniería de Software
“La aplicación de principios científicos para la transformación ordenada de
un problema en una solución operativa de software y el subsecuente
mantenimiento de ese sw hasta el final de su vida útil.”
El ingeniero de sw debe realizar una serie de actividades adicionales a la
programación. Adicionalmente introduce un concepto conocido como “vida
útil” del sw
5
Ciclo de Vida del Desarrollo de Software
Alan Davis define Ingeniería de Software
Las actividades requeridas en el proceso de desarrollo, en ocasiones, se
repiten reiteradamente durante toda la “vida útil” del software. Estas
actividades conforman entonces un ciclo, el ciclo de vida del desarrollo del
software
Se podría pensarse que el sw no se “estropea” o “envejece”, los sistemas de
sw sufren grandes transformaciones durante su tiempo de utilización y en
muchas ocasiones es retirado de operación o modificado ampliamente luego
de varios años de trabajo. El sw como un ser vivo, un tiempo de vida
6
Ciclo de Muerte del Software
7

El ciclo de muerte propuesto por Rigby y Norris permite ilustrar
claramente el concepto de vida útil del software

Norris y Rigby plantean el énfasis de los modelos tradicionales a
preocuparse principalmente por las fases de construcción del software
dejando a un lado el proceso de operación y mantenimiento de las
aplicaciones. Curiosamente, las fases de operación y mantenimiento, por lo
general, son mucho más largas y costosas que las etapas iniciales
Ciclo de Muerte del Software
8

El ciclo de muerte del sw se centra en los criterios para dar de “baja” un
sistema: el costo/beneficio de mantener un sistema comparado con el costo/
beneficio de construir uno nuevo

La premisa básica que sostiene el modelo es que el mantenimiento de un
sistema entregado cuesta dinero y tiene que ser compensado con los
beneficios que se obtienen del software

El costo de posesión comienza a sobrepasar el beneficio y el neto se torna
negativo. En este momento el software debe ser retirado de uso
Ciclo de Muerte del Software
9
Ciclo de Vida Cascada

Conocido como ciclo de vida lineal
o básico

Cada fase empieza cuando d termina la fase anterior,
para lo cual es necesario conseguir todos los objetivos
de la etapa previa

Ayuda a prevenir que se sobrepasen las fechas de
entrega y los costes esperados

Al final de cada fase el personal técnico y los usuarios tienen la
oportunidad de revisar el progreso del proyecto.
10
Ciclo de Vida Cascada
Ventajas
• Planificación sencilla
• Calidad de producto alta
Críticas:

No refleja realmente el proceso de desarrollo del software

Se tarda mucho tiempo en pasar por todo el ciclo

Acentúa el fracaso de la industria del software en su comunicación con el usuario
final

Se convierten las especificaciones en implementaciones de manera informal

El mantenimiento se realiza en el código fuente

Las revisiones de proyectos de gran complejidad son muy difíciles

Impone una estructura de gestión de proyectos

Síndrome del 90%
11
Ciclo de Vida Espiral
Modelo de proceso de software evolutivo
que combina la naturaleza iterativa de
construcción de prototipos con los
aspectos controlados y sistemáticos del
modelo lineal secuencial
El software se desarrolla en una serie de
versiones incrementales
●
Durante las primeras iteraciones, la
versión incremental podría ser un
modelo en papel o un prototipo.
●
Durante las últimas iteraciones, se
producen versiones cada vez más
completas del sistema diseñado
12
Ciclo de Vida Espiral
Diferencias con los métodos más tradicionales (cascada):
●
Existe un reconocimiento explícito de las diferentes alternativas para alcanzar los
objetivos de un proyecto
●
La identificación de riesgos asociados con cada una de las alternativas
●
La división de los proyectos en ciclos.
●
El modelo se adapta a cualquier tipo de actividades
Cada ciclo empieza identificando:
●
Los objetivos de la porción correspondiente
●
Las alternativas
●
Restricciones
13
Ciclo de Vida Espiral
●
Se evalúan las alternativas respecto a los objetivos y restricciones
●
Se formula una estratégia efectiva para devolver la funciones de riesgos (simulación,
prototipo, etc)
●
Se plantea el proximo prototipo
●
Una vez resuelto los riesgos se sigue el ciclo de en cascada
●
Cada ciclo se completa con una revisión que incluye todo el ciclo antererior y el plan
para el siguiente
14
Ciclo de Vida Espiral
Ventajas:
●
Permite acomodar otros modelos
●
Incorpora objetivos de calidad y gestión de riesgos
●
Elimina errores y alternativas no atractivas al comienzo
●
Permite iteraciones, vuelta atrás y finalizaciones rápidas
Inconvenientes:
●
Es difícil de adaptar a los contratos. Más adecuado para desarrollo interno
15
Ciclo de Vida Prototipo
16
Ciclo de Vida Prototipo
Paradigma de construcción de prototipos:
●
Escuchar al cliente
●
Construir/revisar maqueta
●
Probar maqueta
Los prototipos tienen una doble función:
●
El cliente ve el producto y refina sus requisitos
●
El desarrollador comprende mejor lo que necesita hacer
17
Ciclo de Vida en V
Contiene las mismas etapas que el ciclo de
vida en cascada
Modelo V tiene 2 subetapas adicionales de
retroalimentación entre las etapas de
analisis y mantenimiento; y entre diseño y
debugging
18
Ciclo de Vida en V
Ventajas
●
Se ofrece una mayor garantia de corrección al terminar el proyecto
●
La relación entre las etapas de desarrollo y los distintos tipos de pruebas facilitan la
localización de fallos
●
Es un modelo sencillo y de fácil aprendizaje
●
Hace explícito parte de la iteración y trabajo que hay que revisar
●
Especifica bien los roles de los distintos tipos de pruebas a realizar involucra al usuario
de las pruebas
Desventajas
●
Son similares a las del modelo cascada
●
Es difícil que el cliente exponga explícitamente todos los requisitos
●
El cliente debe tener paciencia pués obtendrá el producto al final del cliclo de vida
●
Las pruebas pueden ser caras y, a veces, no lo suficiente efectivas
●
El producto final obtenido puede que no refleje todos los requisitos del usuario
19
Ciclo de Vida Incremental
20
Ciclo de Vida Incremental
●
Se aplican secuencias lineales de forma escalonada mientras progresa el calendario
●
Corrige la necesidad de una secuencia no lineal de pasos de desarrollo
●
El sistema se crea añadiendo componentes funcionales -> incrementos
●
El sistema no se ve como una entidad monolítica con una fecha fija de entrega, sino
que es una integración de resultados sucesivos obtenidos después de cada iteración
●
Se ajusta a entornos de alta incertidumbre
21
Ciclo de Vida Incremental
Ventajas:
●
Se evitan proyectos largos y se entrega “algo de valor” a los usuarios con cierta
frecuencia
●
El usuario se involucra más
●
Mayor retorno de la inversión
Inconvenientes:
●
Difícil de evaluar el coste total
●
Requiere gestores experimentados
●
Difícil de aplicar a sistemas transaccionales que tienden a ser integrados y a operar
como un todo
●
Los errores en los requisitos se detectan tarde y su corrección resulta costosa
22
Ciclo de Vida Evolutivo
23
Cŕeditos
• Transparencias basadas por:
• Christopher Exposito Izquierdo & AiRam Exposito Marquez & otros
• Maria-Isabel, Sanchez Segura & Arturo, Mora-Soto
Networking académico:
Correo electrónico: rguaman@unl.edu.ec
Twitter: @rene5254
SlideShare: https://es.slideshare.net/rene5254
24
Gracias

Ciclo de vida software

  • 1.
  • 2.
    Ciclo de Vidadel Desarrollo de Software René Guamán-Quinche Carrera de Ingeniería en Sistemas/Computación Junio, 2021 Loja, Ecuador
  • 3.
    3 1. Ciclo deVida del Desarrollo de Software 2. Ciclo de Muerte del Software 3. Ciclo de Vida Cascada 4. Ciclo de Vida Espiral 5. Ciclo de Vida Prototipo 6. Ciclo de Vida en V 7. Ciclo de Vida Incremental 8. Ciclo de Vida Evolutivo Agenda
  • 4.
    4 Ciclo de Vidadel Desarrollo de Software Alan Davis define Ingeniería de Software “La aplicación de principios científicos para la transformación ordenada de un problema en una solución operativa de software y el subsecuente mantenimiento de ese sw hasta el final de su vida útil.” El ingeniero de sw debe realizar una serie de actividades adicionales a la programación. Adicionalmente introduce un concepto conocido como “vida útil” del sw
  • 5.
    5 Ciclo de Vidadel Desarrollo de Software Alan Davis define Ingeniería de Software Las actividades requeridas en el proceso de desarrollo, en ocasiones, se repiten reiteradamente durante toda la “vida útil” del software. Estas actividades conforman entonces un ciclo, el ciclo de vida del desarrollo del software Se podría pensarse que el sw no se “estropea” o “envejece”, los sistemas de sw sufren grandes transformaciones durante su tiempo de utilización y en muchas ocasiones es retirado de operación o modificado ampliamente luego de varios años de trabajo. El sw como un ser vivo, un tiempo de vida
  • 6.
    6 Ciclo de Muertedel Software
  • 7.
    7  El ciclo demuerte propuesto por Rigby y Norris permite ilustrar claramente el concepto de vida útil del software  Norris y Rigby plantean el énfasis de los modelos tradicionales a preocuparse principalmente por las fases de construcción del software dejando a un lado el proceso de operación y mantenimiento de las aplicaciones. Curiosamente, las fases de operación y mantenimiento, por lo general, son mucho más largas y costosas que las etapas iniciales Ciclo de Muerte del Software
  • 8.
    8  El ciclo demuerte del sw se centra en los criterios para dar de “baja” un sistema: el costo/beneficio de mantener un sistema comparado con el costo/ beneficio de construir uno nuevo  La premisa básica que sostiene el modelo es que el mantenimiento de un sistema entregado cuesta dinero y tiene que ser compensado con los beneficios que se obtienen del software  El costo de posesión comienza a sobrepasar el beneficio y el neto se torna negativo. En este momento el software debe ser retirado de uso Ciclo de Muerte del Software
  • 9.
    9 Ciclo de VidaCascada  Conocido como ciclo de vida lineal o básico  Cada fase empieza cuando d termina la fase anterior, para lo cual es necesario conseguir todos los objetivos de la etapa previa  Ayuda a prevenir que se sobrepasen las fechas de entrega y los costes esperados  Al final de cada fase el personal técnico y los usuarios tienen la oportunidad de revisar el progreso del proyecto.
  • 10.
    10 Ciclo de VidaCascada Ventajas • Planificación sencilla • Calidad de producto alta Críticas:  No refleja realmente el proceso de desarrollo del software  Se tarda mucho tiempo en pasar por todo el ciclo  Acentúa el fracaso de la industria del software en su comunicación con el usuario final  Se convierten las especificaciones en implementaciones de manera informal  El mantenimiento se realiza en el código fuente  Las revisiones de proyectos de gran complejidad son muy difíciles  Impone una estructura de gestión de proyectos  Síndrome del 90%
  • 11.
    11 Ciclo de VidaEspiral Modelo de proceso de software evolutivo que combina la naturaleza iterativa de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial El software se desarrolla en una serie de versiones incrementales ● Durante las primeras iteraciones, la versión incremental podría ser un modelo en papel o un prototipo. ● Durante las últimas iteraciones, se producen versiones cada vez más completas del sistema diseñado
  • 12.
    12 Ciclo de VidaEspiral Diferencias con los métodos más tradicionales (cascada): ● Existe un reconocimiento explícito de las diferentes alternativas para alcanzar los objetivos de un proyecto ● La identificación de riesgos asociados con cada una de las alternativas ● La división de los proyectos en ciclos. ● El modelo se adapta a cualquier tipo de actividades Cada ciclo empieza identificando: ● Los objetivos de la porción correspondiente ● Las alternativas ● Restricciones
  • 13.
    13 Ciclo de VidaEspiral ● Se evalúan las alternativas respecto a los objetivos y restricciones ● Se formula una estratégia efectiva para devolver la funciones de riesgos (simulación, prototipo, etc) ● Se plantea el proximo prototipo ● Una vez resuelto los riesgos se sigue el ciclo de en cascada ● Cada ciclo se completa con una revisión que incluye todo el ciclo antererior y el plan para el siguiente
  • 14.
    14 Ciclo de VidaEspiral Ventajas: ● Permite acomodar otros modelos ● Incorpora objetivos de calidad y gestión de riesgos ● Elimina errores y alternativas no atractivas al comienzo ● Permite iteraciones, vuelta atrás y finalizaciones rápidas Inconvenientes: ● Es difícil de adaptar a los contratos. Más adecuado para desarrollo interno
  • 15.
  • 16.
    16 Ciclo de VidaPrototipo Paradigma de construcción de prototipos: ● Escuchar al cliente ● Construir/revisar maqueta ● Probar maqueta Los prototipos tienen una doble función: ● El cliente ve el producto y refina sus requisitos ● El desarrollador comprende mejor lo que necesita hacer
  • 17.
    17 Ciclo de Vidaen V Contiene las mismas etapas que el ciclo de vida en cascada Modelo V tiene 2 subetapas adicionales de retroalimentación entre las etapas de analisis y mantenimiento; y entre diseño y debugging
  • 18.
    18 Ciclo de Vidaen V Ventajas ● Se ofrece una mayor garantia de corrección al terminar el proyecto ● La relación entre las etapas de desarrollo y los distintos tipos de pruebas facilitan la localización de fallos ● Es un modelo sencillo y de fácil aprendizaje ● Hace explícito parte de la iteración y trabajo que hay que revisar ● Especifica bien los roles de los distintos tipos de pruebas a realizar involucra al usuario de las pruebas Desventajas ● Son similares a las del modelo cascada ● Es difícil que el cliente exponga explícitamente todos los requisitos ● El cliente debe tener paciencia pués obtendrá el producto al final del cliclo de vida ● Las pruebas pueden ser caras y, a veces, no lo suficiente efectivas ● El producto final obtenido puede que no refleje todos los requisitos del usuario
  • 19.
    19 Ciclo de VidaIncremental
  • 20.
    20 Ciclo de VidaIncremental ● Se aplican secuencias lineales de forma escalonada mientras progresa el calendario ● Corrige la necesidad de una secuencia no lineal de pasos de desarrollo ● El sistema se crea añadiendo componentes funcionales -> incrementos ● El sistema no se ve como una entidad monolítica con una fecha fija de entrega, sino que es una integración de resultados sucesivos obtenidos después de cada iteración ● Se ajusta a entornos de alta incertidumbre
  • 21.
    21 Ciclo de VidaIncremental Ventajas: ● Se evitan proyectos largos y se entrega “algo de valor” a los usuarios con cierta frecuencia ● El usuario se involucra más ● Mayor retorno de la inversión Inconvenientes: ● Difícil de evaluar el coste total ● Requiere gestores experimentados ● Difícil de aplicar a sistemas transaccionales que tienden a ser integrados y a operar como un todo ● Los errores en los requisitos se detectan tarde y su corrección resulta costosa
  • 22.
  • 23.
    23 Cŕeditos • Transparencias basadaspor: • Christopher Exposito Izquierdo & AiRam Exposito Marquez & otros • Maria-Isabel, Sanchez Segura & Arturo, Mora-Soto
  • 24.
    Networking académico: Correo electrónico:rguaman@unl.edu.ec Twitter: @rene5254 SlideShare: https://es.slideshare.net/rene5254 24 Gracias