Вы находитесь на странице: 1из 16

El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida
1. Concepto de
ciclo de vida
2. Ciclo de vida
clásico

del Software
3. Ciclos de vida
evolutivos
4. Ciclos de vida
ágiles
5. Ciclo de vida del
Proceso
Unificado
6. Ciclo de vida en
Métrica 3
7. Pruebas en el
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software
Grupo de Ingeniería del Software y Bases de Datos
Departamento de Lenguajes y Sistemas Informáticos
Universidad de Sevilla

© Diseño de Amador Durán Toro, 2011


septiembre 2013

El Ciclo de Vida del Software

• Objetivos de este tema


– Conocer el concepto de ciclo de vida del software.
1. Concepto de
ciclo de vida – Conocer los ciclos de vida más habituales.
2. Ciclo de vida
clásico
3. Ciclos de vida – Conocer cómo plantean el ciclo de vida las
evolutivos
4. Ciclos de vida propuestas metodológicas más relevantes.
ágiles
5. Ciclo de vida del
Proceso
Unificado
6. Ciclo de vida en
Métrica 3
7. Pruebas en el
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software
© Diseño de Amador Durán Toro, 2011

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 1

IISSI 1
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• ¿Qué es el ciclo de vida del software?


– Un marco de referencia que contiene los procesos,
1. Concepto de
ciclo de vida
las actividades y las tareas involucradas en el
2. Ciclo de vida
clásico
desarrollo, la explotación y el mantenimiento de
3. Ciclos de vida
evolutivos
un producto software, abarcando la vida del
4. Ciclos de vida
ágiles
sistema desde la definición hasta la finalización de
5. Ciclo de vida del
Proceso
su uso (ISO 12207).
Unificado
6. Ciclo de vida en
Métrica 3
7. Pruebas en el
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software

© Diseño de Amador Durán Toro, 2011


septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 2

El Ciclo de Vida del Software

• ¿Qué es el ciclo de vida del software?


– El ciclo de vida de un proyecto especifica el
1. Concepto de
ciclo de vida
enfoque general del desarrollo, indicando los
2. Ciclo de vida
clásico
procesos, actividades y tareas que se van a
3. Ciclos de vida
evolutivos
realizar y en qué orden, y los productos que se
4. Ciclos de vida
ágiles
van a generar, los que se van a entregar al cliente
5. Ciclo de vida del
Proceso
y en qué orden se van a entregar.
Unificado
6. Ciclo de vida en
Métrica 3
7. Pruebas en el
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software
© Diseño de Amador Durán Toro, 2011

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 3

IISSI 2
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• Ciclo de vida clásico (en cascada)


– Cada fase comienza cuando termina la anterior.
1. Concepto de
ciclo de vida – Asume que se conocen todos los requisitos.
2. Ciclo de vida
clásico
3. Ciclos de vida – Se tarda mucho en disponer del software.
evolutivos
4. Ciclos de vida
ágiles
– Es mejor que no seguir ningún ciclo de vida.
5. Ciclo de vida del
Proceso
Unificado
– Es el más fácil de planificar, es el ciclo ideal.
6. Ciclo de vida en
Métrica 3
7. Pruebas en el
ciclo de vida
8. Ingeniería Requisitos Análisis
inversa
9. Reingeniería del
software Diseño

Implementación

Pruebas

© Diseño de Amador Durán Toro, 2011


Mantenimiento

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 4

El Ciclo de Vida del Software

• ¿Por qué evolutivo?


– Cuanto mayor es un proyecto, menor es la
1. Concepto de
ciclo de vida
probabilidad de éxito (informe CHAOS).
2. Ciclo de vida
clásico – Obtener todos los requisitos al comienzo es
3. Ciclos de vida
evolutivos
prácticamente imposible, las necesidades de clientes
4. Ciclos de vida
ágiles
5. Ciclo de vida del
y usuarios evolucionan durante el desarrollo.
Proceso
Unificado – Ciclos requisitos-desarrollo-evaluación
6. Ciclo de vida en
Métrica 3
7. Pruebas en el
• El resultado de la evaluación
ciclo de vida
8. Ingeniería
permite evolucionar hacia la
inversa
9. Reingeniería del
siguiente versión.
software
Versiones
© Diseño de Amador Durán Toro, 2011

Dr. Barry Boehm


Creador del modelo espiral Evaluación

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 5

IISSI 3
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• Ciclo de vida incremental (I)


– Repetición de varios ciclos de vida en cascada.
1. Concepto de
ciclo de vida – Se suele aplicar a desarrollos de gran tamaño.
2. Ciclo de vida
clásico
3. Ciclos de vida – Al final de cada ciclo se entrega una versión
evolutivos
4. Ciclos de vida parcial del software incrementada con cierta
ágiles
5. Ciclo de vida del
Proceso Requisitos funcionalidad nueva respecto a las anteriores.
Unificado
6. Ciclo de vida en
Métrica 3 Análisis Análisis Análisis
7. Pruebas en el
ciclo de vida
Diseño Diseño Diseño
8. Ingeniería
inversa
Implementación Implementación Implementación
9. Reingeniería del
software
Pruebas Pruebas Pruebas

Requisitos Requisitos

© Diseño de Amador Durán Toro, 2011


1 1 2 1 2 3
Versión 1 Versión 2 Versión 3
Funcionalidad 1 Funcionalidad 2 Funcionalidad 3

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 6

El Ciclo de Vida del Software

• Ciclo de vida incremental (II)


– Los ciclos se repiten hasta obtener un producto
1. Concepto de
ciclo de vida completo.
2. Ciclo de vida
clásico
3. Ciclos de vida
– Los usuarios disponen antes del software, aunque
evolutivos
4. Ciclos de vida no sea completo y pueden sugerir mejoras
ágiles
5. Ciclo de vida del
Requisitos
(nuevos requisitos).
Proceso
Unificado
6. Ciclo de vida en
Métrica 3 Análisis Análisis Análisis
7. Pruebas en el
ciclo de vida
Diseño Diseño Diseño
8. Ingeniería
inversa
Implementación Implementación Implementación
9. Reingeniería del
software
Pruebas Pruebas Pruebas

Requisitos Requisitos
© Diseño de Amador Durán Toro, 2011

1 1 2 1 2 3
Versión 1 Versión 2 Versión 3
Funcionalidad 1 Funcionalidad 2 Funcionalidad 3

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 7

IISSI 4
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• Ciclo de vida iterativo (I)


– Repetición de varios ciclos de vida en cascada.
1. Concepto de
ciclo de vida – Se suele aplicar a desarrollos en los que los
2. Ciclo de vida
clásico
3. Ciclos de vida
requisitos no están claros.
evolutivos
4. Ciclos de vida
ágiles
– Al final de cada ciclo se entrega una versión
5. Ciclo de vida del
Proceso
completa del software mejorada respecto a la
Unificado
6. Ciclo de vida en
Requisitos anterior.
Métrica 3
7. Pruebas en el
ciclo de vida Análisis Análisis Análisis
8. Ingeniería
inversa Diseño Diseño Diseño
9. Reingeniería del
software
Implementación Implementación Implementación

Pruebas Pruebas Pruebas

© Diseño de Amador Durán Toro, 2011


Requisitos Requisitos

Versión 1 Versión 2 Versión 3


Iteración 1 Iteración 2 Iteración 3

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 8

El Ciclo de Vida del Software

• Ciclo de vida iterativo (II)


– Las primeras versiones pueden ser prototipos que
1. Concepto de
ciclo de vida se desechan posteriormente.
2. Ciclo de vida
clásico
3. Ciclos de vida
– Los ciclos se repiten hasta obtener un producto
evolutivos
4. Ciclos de vida satisfactorio.
ágiles
5. Ciclo de vida del
Proceso
– Los usuarios deben evaluar el producto en cada
Unificado
6. Ciclo de vida en
Requisitos iteración y proponer mejoras.
Métrica 3
7. Pruebas en el
ciclo de vida Análisis Análisis Análisis
8. Ingeniería
inversa Diseño Diseño Diseño
9. Reingeniería del
software
Implementación Implementación Implementación

Pruebas Pruebas Pruebas


© Diseño de Amador Durán Toro, 2011

Requisitos Requisitos

Versión 1 Versión 2 Versión 3


Iteración 1 Iteración 2 Iteración 3

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 9

IISSI 5
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• Sobre los prototipos...


– Su uso no es exclusivo del ciclo de vida iterativo.
1. Concepto de
ciclo de vida – Se pueden usar como una herramienta para
2. Ciclo de vida
clásico
3. Ciclos de vida
obtener y validar los requisitos de clientes y
evolutivos
4. Ciclos de vida usuarios en cualquier ciclo de vida.
ágiles
5. Ciclo de vida del
Proceso − Lo habitual es usar
Unificado
6. Ciclo de vida en
Métrica 3
prototipos de interfaz de
7. Pruebas en el
ciclo de vida
usuario, que pueden
8. Ingeniería
inversa reutilizarse (ejecutables) o
9. Reingeniería del
software desecharse (usualmente
en papel, denominados
mockups).

© Diseño de Amador Durán Toro, 2011


septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 10

El Ciclo de Vida del Software

• Sobre los prototipos...


– Siempre se debe evaluar si el esfuerzo de
1. Concepto de
ciclo de vida desarrollo del prototipo merece la pena.
2. Ciclo de vida
clásico
3. Ciclos de vida
– Es fundamental la implicación de los usuarios.
evolutivos
4. Ciclos de vida – Siempre se debe tener en cuenta que el prototipo
ágiles
5. Ciclo de vida del
Proceso
no es el producto final, ya que su calidad no suele
Unificado
6. Ciclo de vida en ser la necesaria.
Métrica 3
7. Pruebas en el
ciclo de vida – Otro tipo de prototipos, los funcionales, se utilizan
8. Ingeniería
inversa para evaluar diferentes algoritmos antes de tomar
9. Reingeniería del
software decisiones de diseño.
© Diseño de Amador Durán Toro, 2011

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 11

IISSI 6
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• Ciclo de vida en los métodos ágiles


– Son ciclos de vida evolutivos con iteraciones de
1. Concepto de
ciclo de vida corta duración (2 semanas a 2 meses) para
2. Ciclo de vida
clásico favorecer la comunicación con clientes y usuarios.
3. Ciclos de vida
evolutivos
4. Ciclos de vida – En cada iteración se incorporan nuevas peticiones
ágiles
5. Ciclo de vida del de clientes y usuarios (requisitos).
Proceso
Unificado
6. Ciclo de vida en
Requisitos
Métrica 3
7. Pruebas en el
ciclo de vida Análisis Análisis Análisis
8. Ingeniería
inversa Diseño Diseño Diseño
9. Reingeniería del
software
Implementación Implementación Implementación

Pruebas Pruebas Pruebas

© Diseño de Amador Durán Toro, 2011


Requisitos Requisitos

Versión 1 Versión 2 Versión 3


Iteración 1 Iteración 2 Iteración 3

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 12

El Ciclo de Vida del Software

• El manifiesto ágil de 2001...

1. Concepto de
ciclo de vida
2. Ciclo de vida
clásico
3. Ciclos de vida
evolutivos
4. Ciclos de vida
ágiles
5. Ciclo de vida del
Proceso
Unificado
6. Ciclo de vida en
Métrica 3
7. Pruebas en el
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software
© Diseño de Amador Durán Toro, 2011

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 13

IISSI 7
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• El manifiesto ágil de 2001...


– Individuos e interacciones sobre procesos y
1. Concepto de
ciclo de vida herramientas
2. Ciclo de vida
clásico
3. Ciclos de vida
– Software que funcione sobre documentación
evolutivos
4. Ciclos de vida detallada
ágiles
5. Ciclo de vida del
Proceso
– Colaboración con el cliente sobre negociación de
Unificado
6. Ciclo de vida en contratos
Métrica 3
7. Pruebas en el
ciclo de vida – Respuesta al cambio sobre seguimiento de un plan
8. Ingeniería
inversa
9. Reingeniería del
software

© Diseño de Amador Durán Toro, 2011


septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 14

El Ciclo de Vida del Software

• Individuos e interacciones sobre procesos y


herramientas
1. Concepto de
ciclo de vida – La gente es el principal factor de éxito de un
2. Ciclo de vida
clásico
3. Ciclos de vida
proyecto software.
evolutivos
4. Ciclos de vida
ágiles
– Es más importante construir un buen equipo que
5. Ciclo de vida del
Proceso
construir el entorno.
Unificado
6. Ciclo de vida en
Métrica 3
– Muchas veces se comete el error de construir
7. Pruebas en el
ciclo de vida primero el entorno y esperar que el equipo se
8. Ingeniería
inversa adapte automáticamente.
9. Reingeniería del
software
– Es mejor crear el equipo y que éste configure su
propio entorno de desarrollo en base a sus
necesidades.
© Diseño de Amador Durán Toro, 2011

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 15

IISSI 8
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• Software que funcione sobre documentación


detallada
1. Concepto de
ciclo de vida – La regla a seguir es “no producir documentos a
2. Ciclo de vida
clásico
3. Ciclos de vida
menos que sean necesarios de forma inmediata
evolutivos
4. Ciclos de vida para tomar un decisión importante”.
ágiles
5. Ciclo de vida del
Proceso
– Estos documentos deben ser cortos y centrarse en
Unificado
6. Ciclo de vida en lo fundamental.
Métrica 3
7. Pruebas en el
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software

© Diseño de Amador Durán Toro, 2011


septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 16

El Ciclo de Vida del Software

• Colaboración con el cliente frente a


negociación de contratos
1. Concepto de
ciclo de vida – Se propone que exista una interacción constante
2. Ciclo de vida
clásico
3. Ciclos de vida
entre el cliente y el equipo de desarrollo.
evolutivos
4. Ciclos de vida
ágiles
– Esta colaboración entre ambos será la que
5. Ciclo de vida del
Proceso
marque la marcha del proyecto y asegure su éxito.
Unificado
6. Ciclo de vida en
Métrica 3
7. Pruebas en el
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software
© Diseño de Amador Durán Toro, 2011

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 17

IISSI 9
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• Respuesta al cambio sobre seguimiento de


un plan
1. Concepto de
ciclo de vida – La habilidad de responder a los cambios que
2. Ciclo de vida
clásico
3. Ciclos de vida
puedan surgir a los largo del proyecto (cambios en
evolutivos
4. Ciclos de vida los requisitos, en la tecnología, en el equipo, etc.)
ágiles
5. Ciclo de vida del
Proceso
determina también el éxito o fracaso del mismo.
Unificado
6. Ciclo de vida en – Por lo tanto, la planificación no debe ser estricta
Métrica 3
7. Pruebas en el
ciclo de vida
sino flexible y abierta.
8. Ingeniería
inversa
9. Reingeniería del
software

© Diseño de Amador Durán Toro, 2011


septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 18

El Ciclo de Vida del Software

• Desarrollo ágil vs. desarrollo tradicional


Ágil Tradicional
1. Concepto de
ciclo de vida Basadas en heurísticas Basadas en normas provenientes
2. Ciclo de vida provenientes de prácticas de de estándares seguidos por el
clásico
producción de código entorno de desarrollo
3. Ciclos de vida
evolutivos
Especialmente preparados para Presenta cierta resistencia al
4. Ciclos de vida
ágiles cambios durante el proyecto cambio
5. Ciclo de vida del
Proceso Impuesta internamente Impuesta externamente
Unificado
6. Ciclo de vida en Proceso menos controlado, con Proceso muy controlado, con
Métrica 3 pocos principios numerosas políticas y normas
7. Pruebas en el
ciclo de vida El contrato es flexible Contrato prefijado
8. Ingeniería
inversa El cliente es parte del equipo de El cliente interactúa formalmente
9. Reingeniería del desarrollo en reuniones
software
Equipos pequeños y/o en contacto Grupos grandes y/o distribuidos
físico
Pocos artefactos Numerosos artefactos
Pocos roles Numerosos roles
© Diseño de Amador Durán Toro, 2011

Menor énfasis en la arquitectura Arquitectura y modelos


fundamentales

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 19

IISSI 10
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• Técnicas de apoyo para los métodos ágiles


– Refactorización (refactoring)
1. Concepto de
ciclo de vida • Mejoras sobre el código fuente sin cambiar su
2. Ciclo de vida
clásico funcionalidad.
3. Ciclos de vida
evolutivos
4. Ciclos de vida
– Pruebas automáticas
ágiles
5. Ciclo de vida del • Pruebas programadas en lugar de realizadas a
Proceso
Unificado
mano.
6. Ciclo de vida en
Métrica 3
7. Pruebas en el – Integración continua
ciclo de vida
8. Ingeniería
inversa
• Automatización de la compilación y ejecución de
9. Reingeniería del
software
pruebas automáticas.
– Gestión de configuración
• Especialmente diseñada para apoyar la interacción y

© Diseño de Amador Durán Toro, 2011


la integración continua.

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 20

El Ciclo de Vida del Software

• Metodología Scrum
– Metodología ágil más usada actualmente.
1. Concepto de
ciclo de vida – Se basa en iteraciones de 30 días, sprints :
2. Ciclo de vida
clásico
3. Ciclos de vida
• Producen código potencialmente entregable.
evolutivos
4. Ciclos de vida • No se admiten cambios ni de requisitos ni de
ágiles
5. Ciclo de vida del miembros del equipo de desarrollo
Proceso
Unificado
6. Ciclo de vida en
Métrica 3
7. Pruebas en el
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software
© Diseño de Amador Durán Toro, 2011

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 21

IISSI 11
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• Metodología Scrum
– Agile meeting: reuniones cortas y frecuentes
1. Concepto de
ciclo de vida donde cada miembro del equipo expone:
2. Ciclo de vida
clásico • Qué ha hecho desde la última reunión
3. Ciclos de vida
evolutivos
4. Ciclos de vida
• Qué problemas ha tenido
ágiles
5. Ciclo de vida del • Qué va a desarrollar hasta la próxima reunión
Proceso
Unificado
6. Ciclo de vida en – Backlog: lista priorizada de tareas
Métrica 3
7. Pruebas en el
ciclo de vida
• Reemplaza a los diagramas de Gantt
8. Ingeniería
inversa • Backlogs de producto y backlogs de iteración
9. Reingeniería del
software

© Diseño de Amador Durán Toro, 2011


septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 22

El Ciclo de Vida del Software

• Modelo de procesos de Scrum

1. Concepto de
ciclo de vida
2. Ciclo de vida
clásico
3. Ciclos de vida
evolutivos
4. Ciclos de vida
ágiles
5. Ciclo de vida del
Proceso
Unificado
6. Ciclo de vida en
Métrica 3
7. Pruebas en el
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software
© Diseño de Amador Durán Toro, 2011

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 23

IISSI 12
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• Ciclo de vida del Proceso Unificado


– Proceso iterativo e incremental propuesto por los
1. Concepto de
ciclo de vida creadores de UML.
2. Ciclo de vida
clásico
3. Ciclos de vida
– Define 6 fases: inicio, elaboración, construcción,
evolutivos
4. Ciclos de vida transición, producción y retirada.
ágiles
5. Ciclo de vida del
Proceso
Unificado
6. Ciclo de vida en
Métrica 3
7. Pruebas en el
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software

© Diseño de Amador Durán Toro, 2011


septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 24

El Ciclo de Vida del Software

• Ciclo de vida del Proceso Unificado


– En cada fase del desarrollo se producen una o más
1. Concepto de
ciclo de vida iteraciones y se obtiene una versión evaluable del
2. Ciclo de vida
clásico software.
3. Ciclos de vida
evolutivos Desarrollo
4. Ciclos de vida
ágiles
5. Ciclo de vida del
Proceso
Unificado
6. Ciclo de vida en
Métrica 3
7. Pruebas en el
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software
© Diseño de Amador Durán Toro, 2011

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 25

IISSI 13
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• Ciclo de vida en Métrica 3


– Metodología oficial de las Administraciones
1. Concepto de
ciclo de vida Públicas en España.
2. Ciclo de vida
clásico
3. Ciclos de vida
– Métrica 3 permite aplicar diferentes ciclos de vida.
evolutivos
4. Ciclos de vida
ágiles
– Sus procesos básicos son:
5. Ciclo de vida del
Proceso • Plan de Sistemas de Información (PSI)
Unificado
6. Ciclo de vida en • Desarrollo de Sistemas de Información
Métrica 3
7. Pruebas en el
ciclo de vida
– Estudio de Viabilidad del Sistema (EVS)
8. Ingeniería
inversa
– Análisis del Sistema de Información (ASI)
9. Reingeniería del
software – Diseño del Sistema de Información (DSI)
– Construcción del Sistema de Información (CSI)
– Implantación y Aceptación del Sistema (IAS)
• Mantenimiento de Sistemas de Información (MSI)

© Diseño de Amador Durán Toro, 2011


septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 26

El Ciclo de Vida del Software

• Ciclo de vida en Métrica 3


– También incluye procesos de apoyo
1. Concepto de
ciclo de vida • Gestión de proyectos
2. Ciclo de vida
clásico
• Seguridad
3. Ciclos de vida
evolutivos
4. Ciclos de vida • Gestión de la Configuración
ágiles
5. Ciclo de vida del • Aseguramiento de la Calidad
Proceso
Unificado
6. Ciclo de vida en – Puede descargarse desde
Métrica 3
7. Pruebas en el
ciclo de vida
http://administracionelectronica.gob.es
8. Ingeniería
inversa
9. Reingeniería del
software
© Diseño de Amador Durán Toro, 2011

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 27

IISSI 14
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• El modelo en V
– Asocia un tipo de pruebas a cada producto de
1. Concepto de
ciclo de vida cada fase según su nivel de abstracción.
2. Ciclo de vida
clásico
3. Ciclos de vida
evolutivos
4. Ciclos de vida
ágiles Requisitos de Pruebas de
Cliente
validan Aceptación
5. Ciclo de vida del
Proceso
Unificado
6. Ciclo de vida en
Métrica 3 Requisitos Pruebas de
Software validan Sistema
7. Pruebas en el
ciclo de vida
8. Ingeniería
inversa
Diseño Pruebas de
9. Reingeniería del
Arquitectura
validan Integración
software

Implementación Pruebas
Componentes
validan Unitarias

© Diseño de Amador Durán Toro, 2011


septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 28

El Ciclo de Vida del Software

• Ingeniería inversa
– A veces es necesario mantener sistemas
1. Concepto de
ciclo de vida heredados (legacy systems) de los que no se
2. Ciclo de vida
clásico dispone de documentación.
3. Ciclos de vida
evolutivos
4. Ciclos de vida – Consiste en analizar el resultado de una fase del
ágiles
5. Ciclo de vida del desarrollo de software para obtener el resultado
Proceso
Unificado
6. Ciclo de vida en
de la anterior, normalmente analizar el código
Métrica 3
7. Pruebas en el para obtener el diseño.
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software
© Diseño de Amador Durán Toro, 2011

septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 29

IISSI 15
El Ciclo de Vida del Software 26/09/2013

El Ciclo de Vida del Software

• Reingeniería
– La reingeniería utiliza la información obtenida por
1. Concepto de
ciclo de vida la ingeniería inversa para aplicar cualquier tipo de
2. Ciclo de vida
clásico mantenimiento.
3. Ciclos de vida
evolutivos
4. Ciclos de vida – El mantenimiento preventivo del efecto 2000 ha
ágiles
5. Ciclo de vida del sido el mayor esfuerzo de ingeniería inversa y
Proceso
Unificado
6. Ciclo de vida en
reingeniería en la historia de la Ingeniería del
Métrica 3
7. Pruebas en el Software hasta la fecha.
ciclo de vida
8. Ingeniería
inversa
9. Reingeniería del
software

© Diseño de Amador Durán Toro, 2011


septiembre 2013 Introducción a la Ingeniería del Software y los Sistemas de Información 30

IISSI 16