Download - 0300_Ciclo de Vida
-
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.
2
-
Ciclo de vida: Definicin
3
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
-
Ciclo de vida: Distribucin del esfuerzo
Distribucin del esfuerzo durante el ciclo de vida
16
8
16 12
36
12
40
35
30
25
20
15
10
5
0 Es
fue
rzo
Re
lati
vo
(%)
4
-
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.
5
-
Ciclo de vida: Funciones (ii)
1. Describir los estados por los que pasa el
producto.
2. Describir las actividades a realizar para
transformar el producto.
3. Definir un esquema que sirve como base para:
Planificar. Organizar. Coordinar.
Desarrollar.
6
-
Ciclo de vida: Situacin Real
Anlisis
Diseo Pruebas
Codificacin
7
-
Modelos de ciclos de Vida
8
SECUENCIAL
CASCADA
ESPIRAL
MODELOS CICLOS DESARROLLO
MODELOS CICLOS DE VIDA DE SISTEMAS
INCREMENTAL
EVOLUTIVO CASCADA
CONCURRENCIA
COMPONENTES COMERCIALES Y REUTILIZAZIN
PROTOTIPADO
MO
DIF
ICA
DO
RES
-
Modelo de desarrollo: LINEAL
9
Requisitos
Diseo
Codificacin
Pruebas
Integracin
Operacin y mantenimiento
-
Modelo de desarrollo: LINEAL
10
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.
-
Modelo de ciclo de vida CASCADA (i)
Anlisis
Diseo
Codificacin
Pruebas
e integracin
Operacin y
Qu
Cm
o
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
ser de inferior calidad. 12
-
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
tiempo Anlisis Entrega
14
-
Modelo de ciclo de vida en cascada: Variaciones
Se aade realimentacin
entre fases.
Anlisis
Diseo
Pruebas
e integracin
Codificacin
Operacin y 22 Mantenimiento
-
Modelo de mejora iteractiva
Anlisis
Diseo
Codificacin
Pruebas
e integracin
Operacin y
Los productos de las
diferentes etapas van
refinando y mejorando.
23 Mantenimiento
-
Iterativo
Rational Unified Process (www.rational.com ).
Diseo
[ms iteraciones]
cliente
[ms iteraciones]
Otras metodologas giles: Extreme Programming (Xp):
24 www.extremeprogramming.org
Iteraccin de A&D
Anlisis Planificacin
Planificacin Anlisis Diseo
Incremento
Prototipo Pruebas Evalua Cliente
-
Modelo de ciclo de vida en espiral (i)
Determinacin de
objetivos, riesgos,
alternativas, restricciones
A. de
riesgo
A. de
riesgo Prototipo 1
requisitos y del Concepto de operacin
Planificacin de
ciclo de vida
Planificacin Validacin del diseo de requisitos
Validacin y
verificacin del diseo
Planificacin de
la codificacin
Simulaciones, modelos, programas de prueba
A. de
riesgo
Prueba Codificacin de unidad Integracin
y prueba
impl
anta
cin
Pru
eba
de
acep
taci
n
Planificacin de
las prximas fases
Evaluacin de alternativas, identificacin y resolucin de riesgos
Desarrollo, verificacin del producto del prximo
Costos acumulados Progreso a travs
de pasos
25 nivel.
-
Modelo de ciclo de vida en espiral (ii)
19
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
-
Modelo de ciclo de vida PROTOTIPADO
20
-
Modelo de PROTOTIPADO
21
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
-
Modelo de PROTOTIPADO
22
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
-
Modelo de PROTOTIPADO: PELIGROS
23
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
-
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 hombre-
mquina, etc.
Ayudan a comprender y validar los requisitos de usuario.
Desarrollo de prototipos y maquetas.
24
-
Desarrollo de productos software
Revisin del Prototipo
Revisin del Prototipo
Divergencia de expectativas
25
tiempo
-
Productos software
Escuchar al cliente El cliente prueba
Construir/revisar
maqueta
33 la maqueta
-
35
Modelo de procesos software IEEE (i)
Proceso de seleccin de un MCVS
Proceso de gestin del Proyecto
Proceso
de Iniciacin
Proceso
de
Segui-
miento
y
control
Proceso de Gestin de
Calidad del SW.
Procesos Orientados al desarrollo de SW.
Procesos de Pre-Desarrollo
Proceso de exploracin de Conceptos
Proceso de asignacin del sistema
Procesos de Desarrollo
Proceso de Requisitos
Proceso de Diseo
Proceso de Implementacin
Procesos de post-desarrollo
Proceso de Instalacin
Proceso de
Operacin y
Soporte
Proceso de
Mantenimiento
Proceso de
Retiro
Procesos Integrales
del Proyecto
Proceso
de Verificacin
y
Validacin
Proceso
de Gestin
de
Configura-
cin del SW
Proceso
de
Documen-
tacin.
Proceso
de
Formacin
-
63
Modelo de procesos software IEEE:
Modelo de ciclo de vida
Actividades Ciclo de vida + =
Ejemplos:
Cascada Incremental Espiral Evolutivo ...
IEEE 1074-1995 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.
-
Modelo de procesos software IEEE:
29
Ej.: Ciclo de Vida en Cascada
Actividades EV AR DI CO PR IN MA RE
Procesos de Gestin de Proyecto Procesos de Iniciacin
Asignar actividades al MCV X Reservar recursos para el proyecto Establecer entorno (estndares,...)
X X
X X
X X
X X X X X
Plan de gestin proyecto X X
Procesos de Seguimiento y Control Analizar riesgos. Realizar planes de contingencia.
X X X X X X
Gestionar el proyecto. X X X
X X
X X
X X
X X
X X
Registrar informacin. X X X X X X X X Implementar sistema de reporte de Problemas. X X X X X X X
-
Creacin de un Modelo de ciclo de vida
30
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.