SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
CICLO DE VIDA DEL
SOFTWARE
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Concepto de Ciclo de Vida
Procesos del Ciclo de Vida del Software
Modelo en cascada
Modelo incremental
Modelo en espiral
Prototipado
La reutilización en el Ciclo de Vida
Síntesis automática de Software
Comparación de Ciclos de Vida
Modelos para desarrollo de sistemas Orientados a
Objetos.
CICLO DE VIDA DEL SOFTWARE
3.010

CONCEPTO DE CICLO DE VIDA
“Una aproximación lógica a la adquisición, el suministro,
el desarrollo, la explotación y el mantenimiento del software”
IEEE 1074

“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”
ISO 12207-1
CICLO DE VIDA DEL SOFTWARE
3.020

PROCESOS DEL CICLO DE VIDA SOFTWARE
PROCESOS PRINCIPALES
ADQUISICIÓN
SUMINISTRO

EXPLOTACIÓN
DESARROLLO
MANTENIMIENTO

PROCESOS DE SOPORTE

DOCUMENTACIÓN
GESTIÓN DE CONFIGURACIÓN
ASEGURAMIENTO DE CALIDAD
VERIFICACIÓN
VALIDACIÓN
REVISIÓN CONJUNTA
AUDITORÍA
RESOLUCIÓN DE PROBLEMAS

PROCESOS DE LA ORGANIZACIÓN
GESTIÓN

INFRAESTRUCTURA

MEJORA

FORMACIÓN
CICLO DE VIDA DEL SOFTWARE
3.030

PROCESOS PRINCIPALES I

Proceso de Adquisición
Proceso de Suministro
CICLO DE VIDA DEL SOFTWARE
3.040

PROCESOS PRINCIPALES II

Proceso de Desarrollo I
Análisis de Requisitos del Sistema
Diseño de la Arquitectura del Sistema
Análisis de los Requisitos del Software
Diseño de la Arquitectura del Software
Diseño Detallado del Software
Codificación y Prueba del Software
CICLO DE VIDA DEL SOFTWARE
3.050

PROCESOS PRINCIPALES III

Proceso de Desarrollo II
Integración del Software
Prueba del Software
Integración del Sistema
Prueba del Sistema
Instalación del Software
Soporte del proceso de Aceptación del Software
CICLO DE VIDA DEL SOFTWARE
3.060

PROCESOS PRINCIPALES IV

Proceso de Explotación
Proceso de Mantenimiento
CICLO DE VIDA DEL SOFTWARE
3.070

PROCESOS DE SOPORTE I

Proceso de Documentación
Proceso de Gestión de la Configuración
CICLO DE VIDA DEL SOFTWARE
3.080

PROCESOS DE SOPORTE II

Proceso de Aseguramiento de la Calidad
Proceso de Verificación
Proceso de Validación
CICLO DE VIDA DEL SOFTWARE
3.090

PROCESOS DE SOPORTE III

Proceso de Revisión Conjunta
Proceso de Auditoría
Proceso de Resolución de Problemas
CICLO DE VIDA DEL SOFTWARE
3.100

PROCESOS GENERALES

Proceso de Gestión
Proceso de Infraestructura
Proceso de Mejora
Proceso de Formación
CICLO DE VIDA DEL SOFTWARE
3.110
Visión del Contrato

Contrato
Proceso de Adquisición
Emplea

Comprador, Proveedor

Proceso de Suministro
emplea

Visión de la dirección
Dirección

Proceso de Gestión
Emplea
emplea

emplea
emplea

Visión
operativa

Proceso de Explotación

Operador, Usuario

Emplea
Visión de
ingeniería
Proceso de Mantenimiento
Emplea

Proceso de Desarrollo

Desarrollador
Personal mantenimiento

emplea
Soporte

Procesos de Apoyo
-Documentación
-Gestión de Configuración
-Aseguramiento de la Calidad
-Verificación

Comprador, Proveedor
-Validación
-Revisión conjunta
-Auditoría
-Resolver Problemas

Procesos de la Organización
- Infraestructura
- Mejora

-Formación
CICLO DE VIDA DEL SOFTWARE
3.120

MODELO EN CASCADA
CICLO DE VIDA DEL SOFTWARE
3.130

MODELO EN CASCADA
CRITICAS:
No refleja realmente el proceso de desarrollo del software
Se tarda mucho tiempo en pasar por todo el ciclo
Perpetua el fracaso de la industria del software en su
comunicación con el usuario final
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
CICLO DE VIDA DEL SOFTWARE
3.140

MODELO INCREMENTAL

...
CICLO DE VIDA DEL SOFTWARE
3.150

MODELO INCREMENTAL
Se evitan proyectos largos y se entrega “Algo de valor” a los
usuarios con cierta frecuencia
El usuario se involucra más
Difícil de evaluar el coste total
Difícil de aplicar a sistemas transaccionales que tienden a ser
integrados y a operar como un todo
Requiere gestores experimentados
Los errores en los requisitos se detectan tarde.
El resultado puede ser muy positivo
CICLO DE VIDA DEL SOFTWARE
3.160

MODELO DE PROTOTIPO
CICLO DE VIDA DEL SOFTWARE
3.170

EL PROTOTIPADO “RAPIDO”
CICLO DE VIDA DEL SOFTWARE
3.180

MODELO DE PROTOTIPO
No modifica el flujo del ciclo de vida
Reduce el riesgo de construir productos que no
satisfagan las necesidades de los usuarios
Reduce costos y aumenta la probabilidad de éxito
Exige disponer de las herramientas adecuadas
No presenta calidad ni robustez
Una vez identificados todos los requisitos mediante el
prototipo, se construye el producto de ingeniería.
CICLO DE VIDA DEL SOFTWARE
3.190

EL PROTOTIPADO
PARA QUE SEA EFECTIVO:
Debe ser un sistema con el que se pueda experimentar
Debe ser comparativamente barato (< 10%)
Debe desarrollarse rápidamente
Enfasis en la interfaz de usuario
Equipo de desarrollo reducido
Herramientas y lenguajes adecuados
“El prototipado es un medio excelente para recoger
el ‘feedback’ (realimentación) del usuario final”
CICLO DE VIDA DEL SOFTWARE
3.200

PELIGROS DEL PROTOTIPO

El cliente ve funcionando lo que para el es la
primera versión del prototipo que ha sido construido
con “plastilina y alambres”, y puede desilusionarse
al decirle que el sistema aun no ha sido construido.
El desarrollador puede caer en la tentación de
ampliar el prototipo para construir el sistema final
sin tener en cuenta los compromisos de calidad y de
mantenimiento que tiene con el cliente.
CICLO DE VIDA DEL SOFTWARE
3.210

EL PROTOTIPADO EVOLUTIVO
Construcción de una implementación parcial que cubre los
requisitos conocidos, para ir aprendiendo el resto y,
paulatinamente, incorporarlos al sistema
Reduce el riesgo y aumenta la probabilidad de éxito
No se conocen niveles apropiados de calidad y
documentación
Problemas de gestión de configuración
Construir software para que pueda ser modificado fácilmente
es un “arte desconocido”
CICLO DE VIDA DEL SOFTWARE
3.220

EL PROTOTIPADO OPERACIONAL
CICLO DE VIDA DEL SOFTWARE
3.230

MODELO EN ESPIRAL
Determinar
objetivos,
alternativas,
restricciones

Evaluar alternativas,
identificar y resolver
los riesgos

Análisis
de Riesgos
Análisis
de Riesgos
Análisis
de Riesgos

Prototipo 3

Análisis de
Riesgos
Plan de Requisitos
Plan del Ciclo de Vida

Plan de
Desarrollo
Plan de
Integración
y Pruebas

Planificar las
fases siguientes

Prototipo
Operativo

Prototipo 2
Prototipo 1
Simulaciones, modelos, benchmarks

Concepto de
Operación

Requisitos
Sw

Validación de
Requisitos

Diseño
Producto
Sw

Diseño
detallado
Código

Pruebas
unitarias

V & V del
diseño

Implementación

Prueba de
aceptación

Integración
y prueba

Desarrolar, Verificar el
producto del siguiente nivel
CICLO DE VIDA DEL SOFTWARE
3.240

MODELO EN ESPIRAL
CICLO DE VIDA DEL SOFTWARE
3.250

MODELO EN ESPIRAL
Trata de mejorar los ciclos de vida clásicos y prototipos.
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
Cada ciclo empieza identificando:
Los objetivos de la porción correspondiente
Las alternativas
Restricciones
Cada ciclo se completa con una revisión que incluye todo el
ciclo anterior y el plan para el siguiente
CICLO DE VIDA DEL SOFTWARE
3.260

MODELO EN ESPIRAL
Diferencias entre modelo en espiral y modelos tradicionales

Reconocimiento explícito de las diferentes
alternativas.
Identificación de riesgos para cada alternativa
desde el comienzo.
Al dividir el proyecto en ciclos, al final de cada
uno existe un acuerdo para los cambios que hay
que realizar en el sistema.
El modelo se adapta a cualquier tipo de
actividad adicional
CICLO DE VIDA DEL SOFTWARE
3.270

LA REUTILIZACION EN EL CICLO DE VIDA
BIBLIOTECA
CICLO DE VIDA DEL SOFTWARE
3.280

LA REUTILIZACION EN EL CICLO DE VIDA
Principios de la reutilización:
Existen similitudes entre distintos sistemas de un mismo dominio de aplicación
El software puede representarse como una combinación de módulos
Diseñar aplicaciones = especificar módulos + interrelaciones
Los sistemas nuevos se pueden caracterizar por diferencias respecto a los antiguos

☺ Reduce tiempos y costes de desarrollo
☺ Aumenta la fiabilidad
Dificultad para reconocer los componentes potencialmente
reutilizables
Dificultad de catalogación y recuperación
Problemas de motivación
Problemas de gestión de configuración
CICLO DE VIDA DEL SOFTWARE
3.290

SÍNTESIS AUTOMÁTICA DE SOFTWARE
CICLO DE VIDA DEL SOFTWARE
3.300

SINTESIS AUTOMATICA DEL SOFTWARE
Se define el sistema utilizando un lenguaje formal
La implementación es automática, asistida por el
ordenador
La documentación se genera de forma automática
El mantenimiento se realiza “por sustitución” no mediante
“parches”
Dificultad en la participación del usuario
Diseños poco optimizados
CICLO DE VIDA DEL SOFTWARE
3.310

COMPARACION DE CICLOS DE VIDA (Clásico)

Tiempo
CICLO DE VIDA DEL SOFTWARE
3.320

COMPARACION DE CICLOS DE VIDA (Clásico)

Tiempo
CICLO DE VIDA DEL SOFTWARE
3.330

COMPARACION DE CICLOS DE VIDA (Prototipo rápido)

Tiempo
CICLO DE VIDA DEL SOFTWARE
3.340

COMPARACION DE CICLOS DE VIDA (Incremental)

Tiempo
CICLO DE VIDA DEL SOFTWARE
3.350

COMPARACION DE CICLOS DE VIDA
(Prototipado evolutivo)

Tiempo
CICLO DE VIDA DEL SOFTWARE
3.360

COMPARACION DE CICLOS DE VIDA
(Reutilización)

Tiempo
CICLO DE VIDA DEL SOFTWARE
3.370

COMPARACION DE CICLOS DE VIDA (Síntesis automática)

Tiempo
CICLO DE VIDA DEL SOFTWARE
3.380

MODELOS PARA DESARROLLO DE SISTEMAS
ORIENTADOS A OBJETOS
MODELO DE AGRUPAMIENTO
Agrupamiento n

TIEMPO

ESPEC

ESPEC

ESPEC

Especificación

Diseño-Realización

DISREA

DISREA

DISREA

VALGEN

VALGEN

Validación-Generalización

VALGEN

Agrupamiento 2

Agrupamiento 1

TIEMPO
CICLO DE VIDA DEL SOFTWARE
3.390

MODELO REMOLINO

Amplitud
Profundidad
Madurez
Alternativas
Alcance
CICLO DE VIDA DEL SOFTWARE
3.400

MODELO PINBALL
La pelota representa un proyecto completo o un subproyecto.
El jugador es el equipo de desarrollo.
Se procede de forma iterativa a encontrar clases, atributos
métodos e interrelaciones y definir colaboraciones, herencia,
agregación y subsistemas.
Por último se pasa a la programación, prueba e
implementación.
Hay dos estilos a la hora de “jugar”:
Seguro
Al límite

tecnologías y métodos probados.
Mayor riesgo, más ventajas.
CICLO DE VIDA DEL SOFTWARE
3.410

MODELOS OO: FUENTE
CICLO DE VIDA DEL SOFTWARE
3.420

CONSIDERACIONES SOBRE MODELOS OO

Se eliminan fronteras entre fases debido a la
naturaleza iterativa del desarrollo orientado al
objeto.
Aparece una nueva forma de concebir los
lenguajes de programación y su uso al
incorporarse bibliotecas de clases y otros
componentes reutilizables.
Hay un alto grado de iteración y solapamiento, lo
que lleva a una forma de trabajo muy dinámica.
CICLO DE VIDA DEL SOFTWARE
3.430

EJERCICIOS
Ejercicio 1
¿Qué factores influyen a la hora de elegir un ciclo de vida para
resolver un problema dado?
¿Qué ciclo de vida elegiría para resolver un problema que se
comprende bien desde el principio y está muy
estructurado? Una vez elegido el ciclo de vida, ¿qué
procesos escogería para dicho ciclo de vida, teniendo en
cuenta que el desarrollo informático para resolver el
problema anterior lo realiza una única persona?
CICLO DE VIDA DEL SOFTWARE
3.440

EJERCICIOS
Ejercicio 2
Se supone que se va desarrollar una aplicación relativa a la
gestión de pedidos de una empresa. En este caso el cliente
no tiene todavía muy claro qué es lo que quiere. Además,
el personal informático va a utilizar un tecnología que le
resulta completamente nueva. Discútase qué tipo de ciclo
de vida es más apropiado y qué procesos se deberían
utilizar para desarrollar esta aplicación.
CICLO DE VIDA DEL SOFTWARE
3.450

EJERCICIOS
Ejercicio 3
Indicar la(s) respuesta(s) correcta(s) y razonar la respuesta:
El ciclo de vida:
a)Comienza con una idea o necesidad que satisfacer y acaba con las
pruebas satisfactorias del producto.
b)No existe ningún estándar que describa sus procesos y actividades.
c)No se trata sólo de realizar el análisis, diseño, codificación y pruebas;
también incluye, entre otros, procesos de soporte.
d)El mantenimiento lo constituyen las actividades para mantener sin
cambios el sistema.
e)En la actividad de análisis de los requisitos software los desarrolladores
obtienen de los futuros usuarios los requisitos que piden al sistema.

Más contenido relacionado

La actualidad más candente

Cuadro comparativo metodos
Cuadro comparativo metodosCuadro comparativo metodos
Cuadro comparativo metodosivansierra20
 
Modelo de desarrollo concurrente
Modelo de desarrollo concurrenteModelo de desarrollo concurrente
Modelo de desarrollo concurrentesamuel ospino
 
3.5.1 Tipos-de-riesgos
3.5.1 Tipos-de-riesgos3.5.1 Tipos-de-riesgos
3.5.1 Tipos-de-riesgosKike Lopez
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicaslandeta_p
 
Análisis coste - beneficio en Software
Análisis coste - beneficio en SoftwareAnálisis coste - beneficio en Software
Análisis coste - beneficio en SoftwareVictor Samaniego Neyra
 
BPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de SoftwareBPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de SoftwareJohan Robles Solano
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrolloitsarellano
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de RequerimientosUTPL UTPL
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del softwareTensor
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwareJose Patricio Bovet Derpich
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositóriorehoscript
 
Introducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosIntroducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosWilfredo Mogollón
 
Diagrama de actividades inscripcion, evaluacion, Asistencia
Diagrama de actividades inscripcion, evaluacion, AsistenciaDiagrama de actividades inscripcion, evaluacion, Asistencia
Diagrama de actividades inscripcion, evaluacion, AsistenciaRobert Rodriguez
 
Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)marianela0393
 

La actualidad más candente (20)

Cuadro comparativo metodos
Cuadro comparativo metodosCuadro comparativo metodos
Cuadro comparativo metodos
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
Modelo de desarrollo concurrente
Modelo de desarrollo concurrenteModelo de desarrollo concurrente
Modelo de desarrollo concurrente
 
3.5.1 Tipos-de-riesgos
3.5.1 Tipos-de-riesgos3.5.1 Tipos-de-riesgos
3.5.1 Tipos-de-riesgos
 
Caracteristicas rup
Caracteristicas rupCaracteristicas rup
Caracteristicas rup
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicas
 
Análisis coste - beneficio en Software
Análisis coste - beneficio en SoftwareAnálisis coste - beneficio en Software
Análisis coste - beneficio en Software
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
BPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de SoftwareBPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de Software
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de Requerimientos
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del software
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del software
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
 
Introducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosIntroducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a Objetos
 
Diagrama de actividades inscripcion, evaluacion, Asistencia
Diagrama de actividades inscripcion, evaluacion, AsistenciaDiagrama de actividades inscripcion, evaluacion, Asistencia
Diagrama de actividades inscripcion, evaluacion, Asistencia
 
Desarrollo de aplicaciones con rup y uml
Desarrollo de aplicaciones con rup y umlDesarrollo de aplicaciones con rup y uml
Desarrollo de aplicaciones con rup y uml
 
Conceptos basicos arquitectura de software
Conceptos basicos arquitectura de softwareConceptos basicos arquitectura de software
Conceptos basicos arquitectura de software
 
Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)
 

Destacado

Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Tuyo Mio
 
5 ciclos de vida del software(fixed)
5   ciclos de vida del software(fixed)5   ciclos de vida del software(fixed)
5 ciclos de vida del software(fixed)rockrlos
 
Trastorno histriónico de la personalidad - Cluster B
Trastorno histriónico de la personalidad - Cluster BTrastorno histriónico de la personalidad - Cluster B
Trastorno histriónico de la personalidad - Cluster BTamara Chávez
 
La Reproducción
La Reproducción La Reproducción
La Reproducción Juan-Arango
 
Tipos de ciclos de vida
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vidasandrasig
 
Planificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaPlanificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaErick Domínguez Canseco
 
Modelos de Ciclos de Vida
Modelos de Ciclos de VidaModelos de Ciclos de Vida
Modelos de Ciclos de Vidamadpitbull_99
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiraljuanksi28
 
Ciclo de vida del desarrollo de sistemas
Ciclo de vida del desarrollo de sistemasCiclo de vida del desarrollo de sistemas
Ciclo de vida del desarrollo de sistemasMILUGO
 
Desarrollo iterativo e incremental
Desarrollo iterativo e incrementalDesarrollo iterativo e incremental
Desarrollo iterativo e incrementalnoriver
 

Destacado (15)

Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)
 
5 ciclos de vida del software(fixed)
5   ciclos de vida del software(fixed)5   ciclos de vida del software(fixed)
5 ciclos de vida del software(fixed)
 
Trastorno histriónico de la personalidad - Cluster B
Trastorno histriónico de la personalidad - Cluster BTrastorno histriónico de la personalidad - Cluster B
Trastorno histriónico de la personalidad - Cluster B
 
Modelo V
Modelo VModelo V
Modelo V
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
La Reproducción
La Reproducción La Reproducción
La Reproducción
 
Tipos de ciclos de vida
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vida
 
Modelo Espiral
Modelo EspiralModelo Espiral
Modelo Espiral
 
Ciclo de vida angiospermas
Ciclo de vida angiospermasCiclo de vida angiospermas
Ciclo de vida angiospermas
 
Planificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaPlanificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteria
 
Modelos de Ciclos de Vida
Modelos de Ciclos de VidaModelos de Ciclos de Vida
Modelos de Ciclos de Vida
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiral
 
Ciclo de vida del desarrollo de sistemas
Ciclo de vida del desarrollo de sistemasCiclo de vida del desarrollo de sistemas
Ciclo de vida del desarrollo de sistemas
 
Desarrollo iterativo e incremental
Desarrollo iterativo e incrementalDesarrollo iterativo e incremental
Desarrollo iterativo e incremental
 

Similar a CicloVidaSW

Ciclo de vida del sofware
Ciclo de vida del sofwareCiclo de vida del sofware
Ciclo de vida del sofwareADRIAN ROMERO
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De VidaJgperez
 
Trabajo ciclo de vida del software
Trabajo ciclo de vida del softwareTrabajo ciclo de vida del software
Trabajo ciclo de vida del softwareagtagt
 
Ciclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARECiclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWAREJ Martin Luzon
 
Modelos de ciclo de vida del software
Modelos de ciclo de vida del softwareModelos de ciclo de vida del software
Modelos de ciclo de vida del softwareIEO Santo Tomás
 
Ciclosdevidadelsoftware 120724112952-phpapp02gt
Ciclosdevidadelsoftware 120724112952-phpapp02gtCiclosdevidadelsoftware 120724112952-phpapp02gt
Ciclosdevidadelsoftware 120724112952-phpapp02gtDoris Aguagallo
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vidaFSILSCA
 
Lineas de productos de software y el metodo de watch
Lineas de productos de software y el metodo de watchLineas de productos de software y el metodo de watch
Lineas de productos de software y el metodo de watchOscar Muñoz
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREAlejandro Leon
 
Procesos de calidad software
Procesos de calidad softwareProcesos de calidad software
Procesos de calidad softwareAlejandro Leon
 
PROCESOS DE CALIDAD SOFTWARE
PROCESOS DE CALIDAD  SOFTWAREPROCESOS DE CALIDAD  SOFTWARE
PROCESOS DE CALIDAD SOFTWAREAlejandro Leon
 
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/Julio Pari
 
Metodo wacth
Metodo wacthMetodo wacth
Metodo wacthaluricio
 
Ciclo Vida Sw
Ciclo Vida SwCiclo Vida Sw
Ciclo Vida Swmsc080277
 
Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Bruno
 

Similar a CicloVidaSW (20)

Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
 
ciclo de vida del sofware
ciclo de  vida del sofwareciclo de  vida del sofware
ciclo de vida del sofware
 
Ciclo de vida del sofware
Ciclo de vida del sofwareCiclo de vida del sofware
Ciclo de vida del sofware
 
Ciclo de vida software
Ciclo de vida softwareCiclo de vida software
Ciclo de vida software
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De Vida
 
Trabajo ciclo de vida del software
Trabajo ciclo de vida del softwareTrabajo ciclo de vida del software
Trabajo ciclo de vida del software
 
7iSF-1 ingeniería de software
7iSF-1   ingeniería de software7iSF-1   ingeniería de software
7iSF-1 ingeniería de software
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Ciclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARECiclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARE
 
Modelos de ciclo de vida del software
Modelos de ciclo de vida del softwareModelos de ciclo de vida del software
Modelos de ciclo de vida del software
 
Ciclosdevidadelsoftware 120724112952-phpapp02gt
Ciclosdevidadelsoftware 120724112952-phpapp02gtCiclosdevidadelsoftware 120724112952-phpapp02gt
Ciclosdevidadelsoftware 120724112952-phpapp02gt
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
Lineas de productos de software y el metodo de watch
Lineas de productos de software y el metodo de watchLineas de productos de software y el metodo de watch
Lineas de productos de software y el metodo de watch
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWARE
 
Procesos de calidad software
Procesos de calidad softwareProcesos de calidad software
Procesos de calidad software
 
PROCESOS DE CALIDAD SOFTWARE
PROCESOS DE CALIDAD  SOFTWAREPROCESOS DE CALIDAD  SOFTWARE
PROCESOS DE CALIDAD SOFTWARE
 
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
 
Metodo wacth
Metodo wacthMetodo wacth
Metodo wacth
 
Ciclo Vida Sw
Ciclo Vida SwCiclo Vida Sw
Ciclo Vida Sw
 
Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3
 

CicloVidaSW

  • 1. CICLO DE VIDA DEL SOFTWARE 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Concepto de Ciclo de Vida Procesos del Ciclo de Vida del Software Modelo en cascada Modelo incremental Modelo en espiral Prototipado La reutilización en el Ciclo de Vida Síntesis automática de Software Comparación de Ciclos de Vida Modelos para desarrollo de sistemas Orientados a Objetos.
  • 2. CICLO DE VIDA DEL SOFTWARE 3.010 CONCEPTO DE CICLO DE VIDA “Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software” IEEE 1074 “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” ISO 12207-1
  • 3. CICLO DE VIDA DEL SOFTWARE 3.020 PROCESOS DEL CICLO DE VIDA SOFTWARE PROCESOS PRINCIPALES ADQUISICIÓN SUMINISTRO EXPLOTACIÓN DESARROLLO MANTENIMIENTO PROCESOS DE SOPORTE DOCUMENTACIÓN GESTIÓN DE CONFIGURACIÓN ASEGURAMIENTO DE CALIDAD VERIFICACIÓN VALIDACIÓN REVISIÓN CONJUNTA AUDITORÍA RESOLUCIÓN DE PROBLEMAS PROCESOS DE LA ORGANIZACIÓN GESTIÓN INFRAESTRUCTURA MEJORA FORMACIÓN
  • 4. CICLO DE VIDA DEL SOFTWARE 3.030 PROCESOS PRINCIPALES I Proceso de Adquisición Proceso de Suministro
  • 5. CICLO DE VIDA DEL SOFTWARE 3.040 PROCESOS PRINCIPALES II Proceso de Desarrollo I Análisis de Requisitos del Sistema Diseño de la Arquitectura del Sistema Análisis de los Requisitos del Software Diseño de la Arquitectura del Software Diseño Detallado del Software Codificación y Prueba del Software
  • 6. CICLO DE VIDA DEL SOFTWARE 3.050 PROCESOS PRINCIPALES III Proceso de Desarrollo II Integración del Software Prueba del Software Integración del Sistema Prueba del Sistema Instalación del Software Soporte del proceso de Aceptación del Software
  • 7. CICLO DE VIDA DEL SOFTWARE 3.060 PROCESOS PRINCIPALES IV Proceso de Explotación Proceso de Mantenimiento
  • 8. CICLO DE VIDA DEL SOFTWARE 3.070 PROCESOS DE SOPORTE I Proceso de Documentación Proceso de Gestión de la Configuración
  • 9. CICLO DE VIDA DEL SOFTWARE 3.080 PROCESOS DE SOPORTE II Proceso de Aseguramiento de la Calidad Proceso de Verificación Proceso de Validación
  • 10. CICLO DE VIDA DEL SOFTWARE 3.090 PROCESOS DE SOPORTE III Proceso de Revisión Conjunta Proceso de Auditoría Proceso de Resolución de Problemas
  • 11. CICLO DE VIDA DEL SOFTWARE 3.100 PROCESOS GENERALES Proceso de Gestión Proceso de Infraestructura Proceso de Mejora Proceso de Formación
  • 12. CICLO DE VIDA DEL SOFTWARE 3.110 Visión del Contrato Contrato Proceso de Adquisición Emplea Comprador, Proveedor Proceso de Suministro emplea Visión de la dirección Dirección Proceso de Gestión Emplea emplea emplea emplea Visión operativa Proceso de Explotación Operador, Usuario Emplea Visión de ingeniería Proceso de Mantenimiento Emplea Proceso de Desarrollo Desarrollador Personal mantenimiento emplea Soporte Procesos de Apoyo -Documentación -Gestión de Configuración -Aseguramiento de la Calidad -Verificación Comprador, Proveedor -Validación -Revisión conjunta -Auditoría -Resolver Problemas Procesos de la Organización - Infraestructura - Mejora -Formación
  • 13. CICLO DE VIDA DEL SOFTWARE 3.120 MODELO EN CASCADA
  • 14. CICLO DE VIDA DEL SOFTWARE 3.130 MODELO EN CASCADA CRITICAS: No refleja realmente el proceso de desarrollo del software Se tarda mucho tiempo en pasar por todo el ciclo Perpetua el fracaso de la industria del software en su comunicación con el usuario final 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
  • 15. CICLO DE VIDA DEL SOFTWARE 3.140 MODELO INCREMENTAL ...
  • 16. CICLO DE VIDA DEL SOFTWARE 3.150 MODELO INCREMENTAL Se evitan proyectos largos y se entrega “Algo de valor” a los usuarios con cierta frecuencia El usuario se involucra más Difícil de evaluar el coste total Difícil de aplicar a sistemas transaccionales que tienden a ser integrados y a operar como un todo Requiere gestores experimentados Los errores en los requisitos se detectan tarde. El resultado puede ser muy positivo
  • 17. CICLO DE VIDA DEL SOFTWARE 3.160 MODELO DE PROTOTIPO
  • 18. CICLO DE VIDA DEL SOFTWARE 3.170 EL PROTOTIPADO “RAPIDO”
  • 19. CICLO DE VIDA DEL SOFTWARE 3.180 MODELO DE PROTOTIPO No modifica el flujo del ciclo de vida Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios Reduce costos y aumenta la probabilidad de éxito Exige disponer de las herramientas adecuadas No presenta calidad ni robustez Una vez identificados todos los requisitos mediante el prototipo, se construye el producto de ingeniería.
  • 20. CICLO DE VIDA DEL SOFTWARE 3.190 EL PROTOTIPADO PARA QUE SEA EFECTIVO: Debe ser un sistema con el que se pueda experimentar Debe ser comparativamente barato (< 10%) Debe desarrollarse rápidamente Enfasis en la interfaz de usuario Equipo de desarrollo reducido Herramientas y lenguajes adecuados “El prototipado es un medio excelente para recoger el ‘feedback’ (realimentación) del usuario final”
  • 21. CICLO DE VIDA DEL SOFTWARE 3.200 PELIGROS DEL PROTOTIPO El cliente ve funcionando lo que para el es la primera versión del prototipo que ha sido construido con “plastilina y alambres”, y puede desilusionarse al decirle que el sistema aun no ha sido construido. El desarrollador puede caer en la tentación de ampliar el prototipo para construir el sistema final sin tener en cuenta los compromisos de calidad y de mantenimiento que tiene con el cliente.
  • 22. CICLO DE VIDA DEL SOFTWARE 3.210 EL PROTOTIPADO EVOLUTIVO Construcción de una implementación parcial que cubre los requisitos conocidos, para ir aprendiendo el resto y, paulatinamente, incorporarlos al sistema Reduce el riesgo y aumenta la probabilidad de éxito No se conocen niveles apropiados de calidad y documentación Problemas de gestión de configuración Construir software para que pueda ser modificado fácilmente es un “arte desconocido”
  • 23. CICLO DE VIDA DEL SOFTWARE 3.220 EL PROTOTIPADO OPERACIONAL
  • 24. CICLO DE VIDA DEL SOFTWARE 3.230 MODELO EN ESPIRAL Determinar objetivos, alternativas, restricciones Evaluar alternativas, identificar y resolver los riesgos Análisis de Riesgos Análisis de Riesgos Análisis de Riesgos Prototipo 3 Análisis de Riesgos Plan de Requisitos Plan del Ciclo de Vida Plan de Desarrollo Plan de Integración y Pruebas Planificar las fases siguientes Prototipo Operativo Prototipo 2 Prototipo 1 Simulaciones, modelos, benchmarks Concepto de Operación Requisitos Sw Validación de Requisitos Diseño Producto Sw Diseño detallado Código Pruebas unitarias V & V del diseño Implementación Prueba de aceptación Integración y prueba Desarrolar, Verificar el producto del siguiente nivel
  • 25. CICLO DE VIDA DEL SOFTWARE 3.240 MODELO EN ESPIRAL
  • 26. CICLO DE VIDA DEL SOFTWARE 3.250 MODELO EN ESPIRAL Trata de mejorar los ciclos de vida clásicos y prototipos. 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 Cada ciclo empieza identificando: Los objetivos de la porción correspondiente Las alternativas Restricciones Cada ciclo se completa con una revisión que incluye todo el ciclo anterior y el plan para el siguiente
  • 27. CICLO DE VIDA DEL SOFTWARE 3.260 MODELO EN ESPIRAL Diferencias entre modelo en espiral y modelos tradicionales Reconocimiento explícito de las diferentes alternativas. Identificación de riesgos para cada alternativa desde el comienzo. Al dividir el proyecto en ciclos, al final de cada uno existe un acuerdo para los cambios que hay que realizar en el sistema. El modelo se adapta a cualquier tipo de actividad adicional
  • 28. CICLO DE VIDA DEL SOFTWARE 3.270 LA REUTILIZACION EN EL CICLO DE VIDA BIBLIOTECA
  • 29. CICLO DE VIDA DEL SOFTWARE 3.280 LA REUTILIZACION EN EL CICLO DE VIDA Principios de la reutilización: Existen similitudes entre distintos sistemas de un mismo dominio de aplicación El software puede representarse como una combinación de módulos Diseñar aplicaciones = especificar módulos + interrelaciones Los sistemas nuevos se pueden caracterizar por diferencias respecto a los antiguos ☺ Reduce tiempos y costes de desarrollo ☺ Aumenta la fiabilidad Dificultad para reconocer los componentes potencialmente reutilizables Dificultad de catalogación y recuperación Problemas de motivación Problemas de gestión de configuración
  • 30. CICLO DE VIDA DEL SOFTWARE 3.290 SÍNTESIS AUTOMÁTICA DE SOFTWARE
  • 31. CICLO DE VIDA DEL SOFTWARE 3.300 SINTESIS AUTOMATICA DEL SOFTWARE Se define el sistema utilizando un lenguaje formal La implementación es automática, asistida por el ordenador La documentación se genera de forma automática El mantenimiento se realiza “por sustitución” no mediante “parches” Dificultad en la participación del usuario Diseños poco optimizados
  • 32. CICLO DE VIDA DEL SOFTWARE 3.310 COMPARACION DE CICLOS DE VIDA (Clásico) Tiempo
  • 33. CICLO DE VIDA DEL SOFTWARE 3.320 COMPARACION DE CICLOS DE VIDA (Clásico) Tiempo
  • 34. CICLO DE VIDA DEL SOFTWARE 3.330 COMPARACION DE CICLOS DE VIDA (Prototipo rápido) Tiempo
  • 35. CICLO DE VIDA DEL SOFTWARE 3.340 COMPARACION DE CICLOS DE VIDA (Incremental) Tiempo
  • 36. CICLO DE VIDA DEL SOFTWARE 3.350 COMPARACION DE CICLOS DE VIDA (Prototipado evolutivo) Tiempo
  • 37. CICLO DE VIDA DEL SOFTWARE 3.360 COMPARACION DE CICLOS DE VIDA (Reutilización) Tiempo
  • 38. CICLO DE VIDA DEL SOFTWARE 3.370 COMPARACION DE CICLOS DE VIDA (Síntesis automática) Tiempo
  • 39. CICLO DE VIDA DEL SOFTWARE 3.380 MODELOS PARA DESARROLLO DE SISTEMAS ORIENTADOS A OBJETOS MODELO DE AGRUPAMIENTO Agrupamiento n TIEMPO ESPEC ESPEC ESPEC Especificación Diseño-Realización DISREA DISREA DISREA VALGEN VALGEN Validación-Generalización VALGEN Agrupamiento 2 Agrupamiento 1 TIEMPO
  • 40. CICLO DE VIDA DEL SOFTWARE 3.390 MODELO REMOLINO Amplitud Profundidad Madurez Alternativas Alcance
  • 41. CICLO DE VIDA DEL SOFTWARE 3.400 MODELO PINBALL La pelota representa un proyecto completo o un subproyecto. El jugador es el equipo de desarrollo. Se procede de forma iterativa a encontrar clases, atributos métodos e interrelaciones y definir colaboraciones, herencia, agregación y subsistemas. Por último se pasa a la programación, prueba e implementación. Hay dos estilos a la hora de “jugar”: Seguro Al límite tecnologías y métodos probados. Mayor riesgo, más ventajas.
  • 42. CICLO DE VIDA DEL SOFTWARE 3.410 MODELOS OO: FUENTE
  • 43. CICLO DE VIDA DEL SOFTWARE 3.420 CONSIDERACIONES SOBRE MODELOS OO Se eliminan fronteras entre fases debido a la naturaleza iterativa del desarrollo orientado al objeto. Aparece una nueva forma de concebir los lenguajes de programación y su uso al incorporarse bibliotecas de clases y otros componentes reutilizables. Hay un alto grado de iteración y solapamiento, lo que lleva a una forma de trabajo muy dinámica.
  • 44. CICLO DE VIDA DEL SOFTWARE 3.430 EJERCICIOS Ejercicio 1 ¿Qué factores influyen a la hora de elegir un ciclo de vida para resolver un problema dado? ¿Qué ciclo de vida elegiría para resolver un problema que se comprende bien desde el principio y está muy estructurado? Una vez elegido el ciclo de vida, ¿qué procesos escogería para dicho ciclo de vida, teniendo en cuenta que el desarrollo informático para resolver el problema anterior lo realiza una única persona?
  • 45. CICLO DE VIDA DEL SOFTWARE 3.440 EJERCICIOS Ejercicio 2 Se supone que se va desarrollar una aplicación relativa a la gestión de pedidos de una empresa. En este caso el cliente no tiene todavía muy claro qué es lo que quiere. Además, el personal informático va a utilizar un tecnología que le resulta completamente nueva. Discútase qué tipo de ciclo de vida es más apropiado y qué procesos se deberían utilizar para desarrollar esta aplicación.
  • 46. CICLO DE VIDA DEL SOFTWARE 3.450 EJERCICIOS Ejercicio 3 Indicar la(s) respuesta(s) correcta(s) y razonar la respuesta: El ciclo de vida: a)Comienza con una idea o necesidad que satisfacer y acaba con las pruebas satisfactorias del producto. b)No existe ningún estándar que describa sus procesos y actividades. c)No se trata sólo de realizar el análisis, diseño, codificación y pruebas; también incluye, entre otros, procesos de soporte. d)El mantenimiento lo constituyen las actividades para mantener sin cambios el sistema. e)En la actividad de análisis de los requisitos software los desarrolladores obtienen de los futuros usuarios los requisitos que piden al sistema.