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

INGENIERA DE SOFTWARE I

CICLO DE VIDA

ING. VCTOR ANCAJIMA MIN

Ciclo de vida: Definicin


Conjunto

de fases por las que pasa el sistema que se est


desarrollando desde que nace la idea inicial hasta que el
software es retirado o reemplazado (muere).

Se denomina a veces paradigma.

Dos puntos de vista

Transformacin del producto.


Proceso que transforma el producto.

Ciclo de vida: Definicin


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-1
3

Ciclo de vida: Distribucin del esfuerzo

Esfuerzo
Relativo(%)

Distribucin del esfuerzo durante el ciclo de vida

40
35
30
25
20
15
10
5
0

36

16

16
8

12

12

Ciclo de vida: Funciones (i)

Un ciclo de vida debe:


1.

Determinar el orden de las fases del proceso


software.

2.

Establecer los criterios de transicin para


pasar de una fase a la siguiente.

3.

Definir las entradas y salidas de cada fase.

Ciclo de vida: Funciones (ii)


1.

Describir los estados por los que pasa el


producto.

2.

Describir las actividades


transformar el producto.

3.

realizar

para

Definir un esquema que sirve como base para:

Planificar.

Organizar.

Coordinar.

Desarrollar.
6

Ciclo de vida: Situacin Real

Anlisis

Pruebas

Diseo
Codificacin

MODIFICADORES

Modelos de ciclos de Vida


MODELOS
CICLOS DESARROLLO

SECUENCIAL
CASCADA

MODELOS CICLOS DE
VIDA DE SISTEMAS

INCREMENTAL
EVOLUTIVO
CASCADA

ESPIRAL

PROTOTIPADO

CONCURRENCIA

COMPONENTES COMERCIALES Y REUTILIZAZIN

Modelo de desarrollo: LINEAL


Requisitos
Diseo
Codificacin
Pruebas
Integracin
Operacin y
mantenimiento

Modelo de desarrollo: LINEAL


Este modelo refleja un desarrollo marcado por la sucesin escalonada de las
etapas que lo componen : requisitos, diseo, codificacin, pruebas e integracin.
Es necesario terminar por completo cada etapa para pasar a la siguiente.
Este modelo, identificado ya a principios de la dcada de los 50, resulta muy rgido
porque cada fase requiere como elemento de entrada el resultado completo de la
anterior.
Al aplicarlo en situaciones reales su rigidez genera problemas, porque muchas veces
resulta difcil poder disponer de requisitos completos o del diseo pormenorizado del
sistema en las fases iniciales, creando una barrera que impide avanzar.
Resulta apropiado para:

Desarrollar nuevas versiones de sistemas ya veteranos en los que el


desconocimiento de las necesidades de los usuarios, o del entorno de
operacin no plantea riesgos.
Sistemas pequeos, sin previsin de evolucin a corto plazo.
10

Modelo de ciclo de vida CASCADA (i)


Qu

Anlisis

Cmo

Diseo
Codificacin
Pruebas
e integracin
Operacin y
Mantenimiento

18

Modelo de ciclo de vida en cascada (ii)


Caractersticas:

Es el ms utilizado.

Es una visin del proceso de desarrollo de software


como una sucesin de etapas que producen productos
intermedios.
Para que el proyecto tenga xito deben desarrollarse
todas las fases.
Las fases continan hasta que los objetivos se han
cumplido.
Si se cambia el orden de las fases, el producto final
12
ser de inferior calidad.

Modelo de ciclo de vida en cascada (iii)


Limitaciones:

No se permiten las iteraciones.


Los requisitos se congelan al principio
del proyecto.
No existe un proyecto enseable hasta
el final del proyecto.

13

Modelo de ciclo de vida en cascada (iv)

Divergencia de
expectativas

Anlisis

tiempo

Entrega
14

Modelo de ciclo de vida en cascada: Variaciones

Anlisis
Diseo

Codificacin
Pruebas
e integracin
Se

aade realimentacin
entre fases.

Operacin y
Mantenimiento

22

Modelo de mejora iteractiva


Anlisis

Diseo

Los productos de las


diferentes etapas van
refinando y mejorando.

Codificacin
Pruebas
e integracin
Operacin y
Mantenimiento

23

Iterativo

Rational Unified Process (www.rational.com ).


[ms iteraciones]

Iteraccin de A&D

Planificacin

Anlisis

Diseo

Incremento
Planificacin

Anlisis

Diseo

Prototipo

Pruebas

Evalua
cliente
Cliente
[ms iteraciones]

Otras metodologas giles:


Extreme Programming (Xp):
www.extremeprogramming.org

24

Modelo de ciclo de vida en espiral (i)


Determinacin de
objetivos, riesgos,
alternativas, restricciones

Costos acumulados

Progreso a travs
de pasos
A. de
riesgo

Evaluacin de alternativas,
identificacin y resolucin
de riesgos

A. de
riesgo
A. de
riesgo

Prototipo 1
Simulaciones, modelos, programas de prueba
Planificacin de
requisitos y del Concepto
ciclo de vida
de operacin
Planificacin Validacin
del diseo de requisitos

Prueba de
aceptacin

Planificacin de Validacin y
la codificacin verificacin del diseo
implantacin

Planificacin de
las prximas fases

Prueba Codificacin
de
Integracin unidad
Desarrollo, verificacin
y
prueba
del producto del prximo
25
nivel.

Modelo de ciclo de vida en espiral (ii)


Se

usa en proyectos en los que se prevn riesgos.

Representa

un enfoque dirigido por el riesgo para el anlisis y


estructuracin del proceso software.

Ventajas:
Utiliza las fases de modelos tradicionales.
Se centra en la eliminacin de errores y alternativas poco
atractivas.
Su orientacin a detectar y prevenir el riesgo evita muchas
dificultades.

Desventajas:
Complicado: Consume muchos recursos.
Las etapas y sus E/S no estn claramente definidas
19

Modelo de ciclo de vida PROTOTIPADO

20

Modelo de PROTOTIPADO
1. No modifica el flujo del ciclo de vida
2. Reduce el riesgo de construir productos que no satisfagan las
necesidades de los usuarios
3. Reduce costos y aumenta la probabilidad de xito
4. Exige disponer de las herramientas adecuadas
5. No presenta calidad ni robustez
6. Una vez identificados todos los requisitos mediante el prototipo, se construye el
producto de ingeniera

21

Modelo de 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 final
22

Modelo de PROTOTIPADO: PELIGROS


1. 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.

2. 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

23

Modelos de desarrollo de productos software (i)


El

cliente no suele tener una idea clara de lo que quiere, o no sabe


explicarlo bien.
El

responsable de desarrollo puede no estar seguro de la eficacia de


un algoritmo, del enfoque a tomar en la interaccin hombremquina, etc.

Ayudan a comprender y validar los requisitos de usuario.

Desarrollo de prototipos y maquetas.

24

Desarrollo de productos software

Divergencia de
expectativas

Revisin del
Prototipo

Revisin del
Prototipo

tiempo
25

Productos software

Construir/revisar
maqueta

Escuchar al cliente

El cliente prueba
la maqueta

33

Modelo de procesos software IEEE (i)


Procesos Orientados al desarrollo de SW.
Proceso de seleccin
de un MCVS

Procesos de Pre-Desarrollo
Proceso de exploracin de Conceptos
Proceso de asignacin del sistema

Proceso de gestin
del Proyecto
Proceso
de
Proceso
Seguide
miento
Iniciacin
y
control

Procesos de Desarrollo
Proceso de Requisitos
Proceso de Diseo

Proceso
de
Verificacin
y
Validacin

Proceso
de Gestin
de
Configuracin del
SW

Proceso
de
Documentacin.

Proceso
de
Formacin

Proceso de Implementacin

Procesos de post-desarrollo

Proceso
de Gestin de
Calidad del SW.

Procesos Integrales
del Proyecto

Proceso de Instalacin
Proceso de
Operacin y
Soporte

Proceso de
Mantenimiento

Proceso de
Retiro
35

Modelo de procesos software IEEE:


Modelo de ciclo
de vida

Actividades

= Ciclo de vida

IEEE 1074-1995
Ejemplos:

Cascada
Incremental
Espiral
Evolutivo
...

Gestin.

Iniciacin, Seguimiento y Control, Gestin


de calidad.

Pre-desarrollo.

Exploracin de conceptos, Asignacin del


sistema.

Desarrollo.

Requisitos, diseo, implementacin.

Post-desarrollo.

Instalacin, Operacin, Soporte, Mantenimiento,


Retiro.

Integrales.

Verificacin y Validacin, Gestin de Config.,


Documentacin,Formacin.

63

Modelo de procesos software IEEE:


Ej.: Ciclo de Vida en Cascada
Actividades

EV

AR

DI

CO

PR

IN

MA

RE

Reservar recursos para el proyecto


Establecer entorno (estndares,...)

X
X
X

X
X

X
X

Plan de gestin proyecto

Procesos de Seguimiento y Control


Analizar riesgos.
Realizar planes de contingencia.
Gestionar el proyecto.

X
X
X
X

X
X
X
X

X
X
X
X

X
X
X
X

Registrar informacin.

X
X
X
X

X
X

X
X

Procesos de Gestin de Proyecto

Procesos de Iniciacin

Asignar actividades al MCV

Implementar sistema de reporte de Problemas.

29

Creacin de un Modelo de ciclo de vida


Al iniciar el proyecto, el responsable de la arquitectura de procesos debe realizar los
siguientes pasos:
Anlisis de las circunstancias ambientales del proyecto.
Diseo del modelo especfico de ciclo de vida para el proyecto (sobre las bases
de los diseos ms apropiados, para el desarrollo y la evolucin del sistema de
software.
Mapeo de las actividades sobre el modelo.
Desarrollo del plan para la gestin del ciclo de vida del proyecto.
Debe considerar aspectos como:
Posibilidad de descomposicin del sistema en subsistemas de software, con
agendas y entregas diferenciadas.
Estabilidad esperada de los requisitos.
Novedad del proceso o procesos gestionados por el sistema en el entorno del
cliente.
Criticidad de las agendas y presupuestos.
Grado de complejidad del interfaz de operacin, criticidad de la usuabilidad.
Grado de conocimiento y familiaridad con el entorno de desarrollo, componentes
externos empleados, etc.
30

Вам также может понравиться