1. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Ciclos de Vida de un
Sistema
2. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
El Ciclo de Vida
Todo proyecto de ingeniería tiene unos fines ligados a la
obtención de un producto, proceso o servicio que es
necesario generar a través de diversas actividades.
Algunas de estas actividades pueden agruparse en fases
porque globalmente contribuyen a obtener un producto
intermedio, necesario para continuar hacia el producto
final y facilitar la gestión del proyecto.
Al conjunto de las fases empleadas se le denomina
“ciclo de vida”.
3. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
El Ciclo de Vida
Sin embargo, la forma de agrupar las actividades, los
objetivos de cada fase, los tipos de productos
intermedios que se generan, etc. pueden ser muy
diferentes dependiendo del tipo de producto o proceso a
generar y de las tecnologías empleadas.
La complejidad de las relaciones entre las distintas
actividades crece exponencialmente con el tamaño, con
lo que rápidamente se haría inabordable si no fuera por
la vieja táctica de “divide y vencerás”.
De esta forma la división de los proyectos en fases
sucesivas es un primer paso para la reducción de su
complejidad, tratándose de escoger las partes de manera
que sus relaciones entre sí sean lo más simples posibles.
4. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
El Ciclo de Vida
La definición de un ciclo de vida facilita el control sobre
los tiempos en que es necesario aplicar recursos de
todo tipo (personal, equipos, suministros, etc.) al
proyecto.
Si el proyecto incluye subcontratación de partes a otras
organizaciones, el control del trabajo subcontratado
se facilita en la medida en que esas partes encajen bien
en la estructura de las fases.
El control de calidad también se ve facilitado si la
separación entre fases se hace corresponder con puntos
en los que ésta deba verificarse (mediante
comprobaciones sobre los productos parciales
obtenidos).
5. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Elementos del Ciclo de Vida
Un ciclo de vida para un proyecto se compone de fases sucesivas
compuestas por tareas planificables. Según el modelo de ciclo de vida,
la sucesión de fases puede ampliarse con ciclos de realimentación,
de manera que lo que conceptualmente se considera una misma fase se
pueda ejecutar más de una vez a lo largo de un proyecto, recibiendo en
cada pasada de ejecución aportaciones de los resultados intermedios
que se van produciendo(realimentación).
6. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Elementos del Ciclo de Vida
Para un adecuado control de la progresión de las fases de un
proyecto se hace necesario especificar con suficiente precisión
los resultados evaluables, o sea, productos intermedios que
deben resultar de las tareas incluidas en cada fase.
Normalmente estos productos marcan los hitos entre fases.
7. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Elementos del Ciclo de Vida
A continuación presentamos los distintos elementos que integran un ciclo de
vida:
Fases: Una fase es un conjunto de actividades relacionadas con un
objetivo en el desarrollo del proyecto.
Se construye agrupando tareas (actividades elementales) que pueden
compartir un tramo determinado del tiempo de vida de un proyecto. La
agrupación temporal de tareas impone requisitos temporales
correspondientes a la asignación de recursos (humanos, financieros o
materiales).
Cuanto más grande y complejo sea un proyecto, mayor detalle se
necesitará en la definición de las fases para que el contenido de cada una
siga siendo manejable.
De esta forma, cada fase de un proyecto puede considerarse un “micro-
proyecto” en sí mismo, compuesto por un conjunto de micro-fases.
8. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Elementos del Ciclo de Vida
Otro motivo para descomponer una fase en subfases menores puede
ser el interés de separar partes temporales del proyecto que se
subcontraten a otras organizaciones, requiriendo distintos procesos de
gestión.
Cada fase viene definida por un conjunto de elementos observables
externamente, como son las actividades con las que se relaciona, los
datos de entrada (resultados de la fase anterior, documentos o
productos requeridos para la fase, experiencias de proyectos
anteriores), los datos de salida (resultados a utilizar por la fase
posterior, experiencia acumulada, pruebas o resultados efectuados) y la
estructura interna de la fase.
9. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Elementos del Ciclo de Vida
Esquema general de operación de una fase
10. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Elementos del Ciclo de Vida
Entregables ("deliverables"). Son los productos
intermedios que generan las fases. Pueden ser
materiales (componentes, equipos) o inmateriales
(documentos, software).
Los entregables permiten evaluar la marcha del proyecto
mediante comprobaciones de su adecuación o no a los
requisitos funcionales y de condiciones de realización
previamente establecidos.
Cada una de estas evaluaciones puede servir, además,
para la toma de decisiones a lo largo del desarrollo del
proyecto
11. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Tipos de Modelo de Ciclo de Vida
Las principales diferencias entre distintos modelos de ciclo
de vida están en:
El alcance del ciclo dependiendo de hasta dónde llegue
el proyecto correspondiente. Un proyecto puede
comprender un simple estudio de viabilidad del
desarrollo de un producto, o su desarrollo completo o,
llevando la cosa al extremo, toda la historia del producto
con su desarrollo, fabricación, y modificaciones
posteriores hasta su retirada del mercado.
12. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Tipos de Modelo de Ciclo de Vida
Las características (contenidos) de las fases en que
dividen el ciclo. Esto puede depender del propio tema al
que se refiere el proyecto (no son lo mismo las tareas
que deben realizarse para proyectar un avión que un
puente), o de la organización (interés de reflejar en la
división en fases aspectos de la división interna o
externa del trabajo).
La estructura de la sucesión de las fases que puede ser
lineal, con prototipado, o en espiral.
13. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Ciclo de Vida Moderno
• Métodos, herramientas y procedimientos que, aplicados
correctamente, conducen a la construcción de un producto
de SW con una perspectiva de ingeniería.
PLANIFICACIÓN
ANÁLISISSOPORTE
IMPLANTACIÓN DISEÑO
14. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Planificación de Sistemas
• Estudiar el objetivo de la empresa
• Definir una arquitectura de información (TI)
• Análisis de áreas de empresa
15. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Análisis de Sistemas
• Estudiar la viabilidad del proyecto
• Estudiar y analizar el sistema actual
• Definir las necesidades de los usuarios y establecer prioridades
16. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Diseño de Sistemas
• Elegir un objetivo de diseño.
• Adquirir HW y SW necesarios.
• Diseñar e integrar el nuevo sistema.
17. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Implantación de Sistemas
• Hacer probar las redes y BD
• Hacer y probar los programas
• Instalar y probar el sistema
• Entregar el sistema para su puesta en marcha
18. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
Soporte de Sistemas
• Corrección de errores.
• Recuperar el sistema.
• Asistir a los usuarios del sistema.
19. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
El Ciclo de Vida de
Sistemas
Metodologías de Desarrollo
20. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
1. Concepto del Ciclo de Vida de
Sistemas
– 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 software, abarcando la vida del sistema desde la
definición hasta la finalización de su uso (ISO 12207)
21. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
1. Concepto del Ciclo de Vida de
Sistemas
– El ciclo de vida de un proyecto especifica el enfoque general del
desarrollo, indicando los procesos, actividades y tareas que se van a
realizar y en qué orden, y los productos que se van a generar, los que
se van a entregar al cliente y en qué orden se van a entregar
22. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
– Cada proceso comienza cuando termina el anterior
– Los desarrollos reales presentan iteraciones
– Es difícil obtener todos los requisitos al comienzo
– Se tarda mucho en disponer del software
– Es mejor que no seguir ningún ciclo de vida
– Es el más fácil de planificar, es el ciclo ideal
2. Ciclo de Vida Clásico
(en cascada)
23. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
2. Ciclo de Vida Clásico
(en cascada)
24. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
2. Ciclo de Vida Clásico
(en cascada)
– En el caso del desarrollo de sistemas, el ciclo de vida tiene dos niveles:
sistema y hardware/software
– El diseño se suele dividir en diseño de la arquitectura y en diseño detallado
25. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
3. Ciclos de vida evolutivos
– Cuanto mayor es un proyecto, menor es su probabilidad de éxito
(Informes CHAOS).
– Conseguir obtener todos los requisitos al comienzo del proyecto es
prácticamente imposible.
– Las necesidades de clientes y usuarios evolucionan durante el desarrollo
y surgen nuevos requisitos.
– Los ciclos de vida evolutivos afrontan estos problemas mediante ciclos
requisitos-desarrollo-evaluación.
– El resultado de la evaluación permite evolucionar hacia la siguiente
versión.
26. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
3. Ciclos de vida evolutivos
27. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
– Es una repetición de varios ciclos de vida en cascada.
– Al final de cada ciclo se entrega una versión parcial del software
incrementada con cierta funcionalidad nueva respecto a las entregas
anteriores.
– Los ciclos se repiten hasta obtener un producto completo.
– Los usuarios disponen antes del software, aunque no sea completo, por
lo que pueden sugerir mejoras.
– Se suele aplicar a desarrollos de gran tamaño.
3. Ciclo de Vida Evolutivo:
a. Ciclo de vida incremental
28. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
3. Ciclo de Vida Evolutivo:
a. Ciclo de vida incremental
29. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
3. Ciclo de Vida Evolutivo:
b. Ciclo de vida iterativo
– Es también una repetición de varios ciclos de vida en cascada.
– Al final de cada ciclo se entrega una versión completa del software
mejorada respecto a la anterior.
– Los ciclos se repiten hasta obtener un producto satisfactorio.
– Los usuarios deben evaluar el producto en cada iteración y proponer
mejoras.
– Se suele aplicar en desarrollos en los que los requisitos no están claros,
las primeras versiones pueden ser prototipos que se desechan
posteriormente.
30. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
3. Ciclo de Vida Evolutivo:
b. Ciclo de vida iterativo
31. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
3. Ciclo de Vida Evolutivo:
c. Prototipos
– El uso de prototipos no es exclusivo del ciclo de vida iterativo.
– Los prototipos se pueden usar como una herramienta para obtener y validar
los requisitos de clientes y usuarios en cualquier ciclo de vida.
– Lo habitual es usar prototipos de interfaz de usuario, que pueden reutilizarse
(ejecutables) o desecharse (papel).
– Siempre se debe evaluar si el esfuerzo de desarrollo del prototipo merece la
pena (coste de errores).
– Es fundamental la implicación de los usuarios.
– Otro tipo de prototipos pueden utilizarse para evaluar diferentes algoritmos
antes de tomar decisiones de diseño.
– Siempre se debe tener en cuenta que el prototipo no es el producto final, ya
que su calidad no suele ser la necesaria.
32. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
4. Componentes software
– Cada vez es más frecuente el ensamblaje de componentes software
desarrollados por terceros en la construcción de nuevos sistemas
software.
– El uso de componentes tiene implicaciones en todas las actividades del
desarrollo desde los requisitos hasta el mantenimiento.
33. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
4. Componentes software
34. AIEP
AIEP
-
CHILE
w w w . i n a c a p . c lw w w . i n a c a p . c l
6. Ingeniería inversa y Reingeniería
Ingeniería inversa
– A veces es necesario mantener sistemas heredados (legacy
systems) que fueron desarrollados sin documentación.
– La ingeniería inversa consiste en analizar el resultado de
una etapa de software para obtener el resultado de la
anterior, normalmente analizar el código para obtener el
diseño.
Reingeniería
– La reingeniería utiliza la información obtenida por la
ingeniería inversa para aplicar cualquier tipo de
mantenimiento (perfectivo, adaptativo, correctivo o
preventivo).
– El mantenimiento preventivo del efecto 2000 ha sido el
mayor esfuerzo de ingeniería inversa, reingeniería y
mantenimiento en la historia de la Ingeniería del Software.