Sie sind auf Seite 1von 43

CICLO DE VIDA DEL

SOFTWARE
1. Concepto de Ciclo de Vida
2. Procesos del Ciclo de Vida del Software
3. Modelo en cascada
4. Modelo incremental
5. Modelo en espiral
6. Prototipado
7. La reutilizacin en el Ciclo de Vida
8. Sntesis automtica de Software
9. Comparacin de Ciclos de Vida
10. Modelos para desarrollo de sistemas Orientados a
Objetos.CICLO DE VIDA DEL SOFTWARE
3.010
CONCEPTO DE CICLO DE VIDA CONCEPTO DE CICLO DE VIDA
Una aproximacin lgica a la adquisicin, el suministro,
el desarrollo, la explotacin 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 explotacin y el
mantenimiento de un producto de software, abarcando la vida del
sistema desde la definicin de los requisitos hasta la finalizacin de
su uso
ISO 12207-1CICLO DE VIDA DEL SOFTWARE
3.020
PROCESOS DEL CICLO DE VIDA SOFTWARE PROCESOS DEL CICLO DE VIDA SOFTWARE
PROCESOS PRINCIPALES PROCESOS DE SOPORTE
ADQUISICIN
SUMINISTRO

DESARROLLO
EXPLOTACIN
MANTENIMIENTO
DOCUMENTACIN
GESTIN DE CONFIGURACIN
RESOLUCIN DE PROBLEMAS
PROCESOS DE LA ORGANIZACIN
GESTIN INFRAESTRUCTURA
MEJORA FORMACIN
ASEGURAMIENTO DE CALIDAD
VERIFICACIN
VALIDACIN
AUDITORA
REVISIN CONJUNTACICLO DE VIDA DEL SOFTWARE
3.030
PROCESOS PRINCIPALES I PROCESOS PRINCIPALES I

Proceso de Adquisicin

Proceso de SuministroCICLO DE VIDA DEL SOFTWARE


3.040
PROCESOS PRINCIPALES II PROCESOS PRINCIPALES II

Proceso de Desarrollo I
Anlisis de Requisitos del Sistema
Diseo de la Arquitectura del Sistema
Anlisis de los Requisitos del Software
Diseo de la Arquitectura del Software
Diseo Detallado del Software
Codificacin y Prueba del SoftwareCICLO DE VIDA DEL SOFTWARE
3.050
PROCESOS PRINCIPALES III PROCESOS PRINCIPALES III

Proceso de Desarrollo II
Integracin del Software
Prueba del Software
Integracin del Sistema
Prueba del Sistema
Instalacin del Software
Soporte del proceso de Aceptacin del SoftwareCICLO DE VIDA DEL SOFTWARE
3.060
PROCESOS PRINCIPALES IV PROCESOS PRINCIPALES IV

Proceso de Explotacin

Proceso de MantenimientoCICLO DE VIDA DEL SOFTWARE


3.070
PROCESOS DE SOPORTE I PROCESOS DE SOPORTE I

Proceso de Documentacin

Proceso de Gestin de la ConfiguracinCICLO DE VIDA DEL SOFTWARE


3.080
PROCESOS DE SOPORTE II PROCESOS DE SOPORTE II

Proceso de Aseguramiento de la Calidad

Proceso de Verificacin

Proceso de ValidacinCICLO DE VIDA DEL SOFTWARE


3.090
PROCESOS DE SOPORTE III PROCESOS DE SOPORTE III

Proceso de Revisin Conjunta

Proceso de Auditora

Proceso de Resolucin de ProblemasCICLO DE VIDA DEL SOFTWARE


3.100
PROCESOS GENERALES PROCESOS GENERALES

Proceso de Gestin

Proceso de Infraestructura

Proceso de Mejora

Proceso de FormacinCICLO DE VIDA DEL SOFTWARE


3.110
Proceso de Adquisicin
Proceso de Mantenimiento Proceso de Desarrollo
Proceso de Explotacin
Proceso de Gestin
Proceso de Suministro
Contrato
emplea
emplea emplea
emplea
emplea
Comprador, Proveedor
Comprador, Proveedor
Desarrollador
Personal mantenimiento
Operador, Usuario
Direccin
Visin de la direccin
Visin
operativa
Visin de
ingeniera
Procesos de Apoyo
-Documentacin
-Gestin de Configuracin
-Aseguramiento de la Calidad
-Verificacin
-Validacin

-Revisin conjunta
-Auditora
-Resolver Problemas
Soporte
Procesos de la Organizacin
- Infraestructura
- Mejora
-Formacin
Emplea
Emplea
Emplea
Emplea
Visin del ContratoCICLO DE VIDA DEL SOFTWARE
3.120
MODELO EN CASCADA MODELO EN CASCADACICLO DE VIDA DEL SOFTWARE
3.130
MODELO EN CASCADA 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
comunicacin con el usuario final
/ El mantenimiento se realiza en el cdigo fuente
/ Las revisiones de proyectos de gran complejidad son muy
difciles
/ Impone una estructura de gestin de proyectos CICLO DE VIDA DEL SOFTWARE
3.140
MODELO INCREMENTAL MODELO INCREMENTAL
...CICLO DE VIDA DEL SOFTWARE

3.150
MODELO INCREMENTAL MODELO INCREMENTAL
Se evitan proyectos largos y se entrega Algo de valor a los
usuarios con cierta frecuencia
El usuario se involucra ms
Difcil de evaluar el coste total
Difcil 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 positivoCICLO DE VIDA DEL SOFTWARE
3.160
MODELO DE PROTOTIPO MODELO DE PROTOTIPOCICLO DE VIDA DEL SOFTWARE
3.170
EL PROTOTIPADO RAPIDO EL PROTOTIPADO RAPIDOCICLO DE VIDA DEL SOFTWARE
3.180
MODELO DE PROTOTIPO 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 ingeniera.CICLO DE VIDA DEL SOFTWARE
3.190
EL PROTOTIPADO EL PROTOTIPADO
PARA QUE SEA EFECTIVO:
Debe ser un sistema con el que se pueda experimentar
Debe ser comparativamente barato (< 10%)
Debe desarrollarse rpidamente
Enfasis en la interfaz de usuario
Equipo de desarrollo reducido
Herramientas y lenguajes adecuados
El prototipado es un medio excelente para recoger
el feedback (realimentacin) del usuario finalCICLO DE VIDA DEL SOFTWARE
3.200
PELIGROS DEL PROTOTIPO PELIGROS DEL PROTOTIPO
V El cliente ve funcionando lo que para el es la
primera versin del prototipo que ha sido construido
con plastilina y alambres, y puede desilusionarse
al decirle que el sistema aun no ha sido construido.
V El desarrollador puede caer en la tentacin 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 EL PROTOTIPADO EVOLUTIVO
Construccin de una implementacin 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


documentacin
Problemas de gestin de configuracin
Construir software para que pueda ser modificado fcilmente
es un arte desconocidoCICLO DE VIDA DEL SOFTWARE
3.220
EL PROTOTIPADO OPERACIONAL EL PROTOTIPADO OPERACIONALCICLO DE VIDA DEL SOFTWARE
3.230
MODELO EN ESPIRAL MODELO EN ESPIRAL
Plan de Requisitos
Plan del Ciclo de Vida
Plan de
Desarrollo
Plan de
Integracin
y Pruebas
Planificar las
fases siguientes
Determinar
objetivos,
alternativas,
restricciones
Evaluar alternativas,
identificar y resolver
Anlisis los riesgos
de Riesgos
Anlisis
Anlisis
Anlisis de

de Riesgos
de Riesgos
Riesgos Prototipo 1
Prototipo 2
Prototipo 3
Prototipo
Operativo
Concepto de
Operacin Requisitos
Sw
Validacin de
Requisitos
Diseo
Producto
Sw
V & V del
diseo
Simulaciones, modelos, benchmarks
Diseo
detallado
Cdigo
Pruebas
unitarias
Integracin
y prueba Prueba de
aceptacin Imple- mentacin
Desarrolar, Verificar el
producto del siguiente nivelCICLO DE VIDA DEL SOFTWARE
3.240

MODELO EN ESPIRAL MODELO EN ESPIRALCICLO DE VIDA DEL SOFTWARE


3.250
MODELO EN ESPIRAL MODELO EN ESPIRAL

Trata de mejorar los ciclos de vida clsicos y prototipos.

Permite acomodar otros modelos

Incorpora objetivos de calidad y gestin de riesgos

Elimina errores y alternativas no atractivas al comienzo

Permite iteraciones, vuelta atrs y finalizaciones rpidas

Cada ciclo empieza identificando:


Los objetivos de la porcin correspondiente
Las alternativas
Restricciones

Cada ciclo se completa con una revisin que incluye todo el


ciclo anterior y el plan para el siguienteCICLO DE VIDA DEL SOFTWARE
3.260
MODELO EN ESPIRAL MODELO EN ESPIRAL
Diferencias entre modelo en espiral y modelos tradicionales
a Reconocimiento explcito de las diferentes
alternativas.
a Identificacin de riesgos para cada alternativa
desde el comienzo.
a Al dividir el proyecto en ciclos, al final de cada
uno existe un acuerdo para los cambios que hay
que realizar en el sistema.
a El modelo se adapta a cualquier tipo de
actividad adicionalCICLO DE VIDA DEL SOFTWARE
3.270
LA REUTILIZACION EN EL CICLO DE VIDA LA REUTILIZACION EN EL CICLO DE VIDA
BIBLIOTECACICLO DE VIDA DEL SOFTWARE
3.280
LA REUTILIZACION EN EL CICLO DE VIDA LA REUTILIZACION EN EL CICLO DE VIDA
. Principios de la reutilizacin:
Existen similitudes entre distintos sistemas de un mismo dominio de aplicacin
El software puede representarse como una combinacin de mdulos
Disear aplicaciones = especificar mdulos + 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 catalogacin y recuperacin

/ Problemas de motivacin
/ Problemas de gestin de configuracinCICLO DE VIDA DEL SOFTWARE
3.290
SNTESIS AUTOMTICA DE SOFTWARE SNTESIS AUTOMTICA DE SOFTWARECICLO DE VIDA DEL
SOFTWARE
3.300
SINTESIS AUTOMATICA DEL SOFTWARE SINTESIS AUTOMATICA DEL SOFTWARE
Se define el sistema utilizando un lenguaje formal
La implementacin es automtica, asistida por el
ordenador
La documentacin se genera de forma automtica
El mantenimiento se realiza por sustitucin no mediante
parches
Dificultad en la participacin del usuario
Diseos poco optimizadosCICLO DE VIDA DEL SOFTWARE
3.310
COMPARACION DE CICLOS DE VIDA (Clsico) COMPARACION DE CICLOS DE VIDA (Clsico)
TiempoCICLO DE VIDA DEL SOFTWARE
3.320
COMPARACION DE CICLOS DE VIDA (Clsico) COMPARACION DE CICLOS DE VIDA (Clsico)
TiempoCICLO DE VIDA DEL SOFTWARE
3.330
COMPARACION DE CICLOS DE VIDA (Prototipo rpido) COMPARACION DE CICLOS DE VIDA
(Prototipo rpido)
TiempoCICLO DE VIDA DEL SOFTWARE
3.340
COMPARACION DE CICLOS DE VIDA ( COMPARACION DE CICLOS DE VIDA (Incremental
Incremental))
TiempoCICLO DE VIDA DEL SOFTWARE
3.350

COMPARACION DE CICLOS DE VIDA COMPARACION DE CICLOS DE VIDA


((Prototipado Prototipado evolutivo) evolutivo)
TiempoCICLO DE VIDA DEL SOFTWARE
3.360
COMPARACION DE CICLOS DE VIDA COMPARACION DE CICLOS DE VIDA
(Reutilizacin) (Reutilizacin)
TiempoCICLO DE VIDA DEL SOFTWARE
3.370
COMPARACION DE CICLOS DE VIDA (Sntesis automtica) COMPARACION DE CICLOS DE VIDA
(Sntesis automtica)
TiempoCICLO DE VIDA DEL SOFTWARE
3.380
MODELO DE AGRUPAMIENTO MODELO DE AGRUPAMIENTO
Agrupamiento n ESPEC DISREA VALGEN
ESPEC DISREA VALGEN Agrupamiento 2
VALGEN Agrupamiento 1 ESPEC DISREA
TIEMPO
TIEMPO
MODELOS PARA DESARROLLO DE SISTEMAS MODELOS PARA DESARROLLO DE SISTEMAS
ORIENTADOS A OBJETOS ORIENTADOS A OBJETOS
Especificacin Diseo-Realizacin Validacin-GeneralizacinCICLO DE VIDA DEL SOFTWARE
3.390
MODELO REMOLINO MODELO REMOLINO
Amplitud
Profundidad
Madurez
Alternativas
AlcanceCICLO DE VIDA DEL SOFTWARE
3.400

MODELO PINBALL 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
mtodos e interrelaciones y definir colaboraciones, herencia,
agregacin y subsistemas.
Por ltimo se pasa a la programacin, prueba e
implementacin.
Hay dos estilos a la hora de jugar:

Seguro
tecnologas y mtodos probados.

Al lmite
Mayor riesgo, ms ventajas.CICLO DE VIDA DEL SOFTWARE
3.410
MODELOS OO: FUENTE MODELOS OO: FUENTECICLO DE VIDA DEL SOFTWARE
3.420
CONSIDERACIONES SOBRE MODELOS OO 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 programacin y su uso al
incorporarse bibliotecas de clases y otros
componentes reutilizables.
Hay un alto grado de iteracin y solapamiento, lo
que lleva a una forma de trabajo muy dinmica.CICLO DE VIDA DEL SOFTWARE
3.430
EJERCICIOS EJERCICIOS
Ejercicio 1

Qu factores influyen a la hora de elegir un ciclo de vida para


resolver un problema dado?
Qu ciclo de vida elegira para resolver un problema que se
comprende bien desde el principio y est muy
estructurado? Una vez elegido el ciclo de vida, qu
procesos escogera para dicho ciclo de vida, teniendo en
cuenta que el desarrollo informtico para resolver el
problema anterior lo realiza una nica persona?CICLO DE VIDA DEL SOFTWARE
3.440
EJERCICIOS EJERCICIOS
Ejercicio 2
Se supone que se va desarrollar una aplicacin relativa a la
gestin de pedidos de una empresa. En este caso el cliente
no tiene todava muy claro qu es lo que quiere. Adems,
el personal informtico va a utilizar un tecnologa que le
resulta completamente nueva. Disctase qu tipo de ciclo
de vida es ms apropiado y qu procesos se deberan
utilizar para desarrollar esta aplicacin.CICLO DE VIDA DEL SOFTWARE
3.450
EJERCICIOS 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 ningn estndar que describa sus procesos y actividades.
c)No se trata slo de realizar el anlisis, diseo, codificacin y pruebas;
tambin incluye, entre otros, procesos de soporte.
d)El mantenimiento lo constituyen las actividades para mantener sin

cambios el sistema.
e)En la actividad de anlisis de los requisitos software los desarrolladores
obtienen de los futuros usuarios los requisitos que piden al sistema.

Das könnte Ihnen auch gefallen