Logo Studenta

Clase8-Modelos-de-procesos-de-desarrollo-de-softwareI

¡Este material tiene más páginas!

Vista previa del material en texto

Facultad de Estadística e Informática
PROCESOS PARA LA 
INGENIERÍA DE 
SOFTWARE
Facultad de Estadística e Informática
Bibliografía
▪ Pressman, R.S., Ingeniería del Software. Un enfoque práctico, quinta 
edición, 2002, España. Parte 2
▪Sommerville I., Ingeniería de Software, Addison-Wesley, 6ª. Edición, 
2002, México.
Facultad de Estadística e Informática
Agenda
▪ Unidad III.
Modelos de procesos de desarrollo de software
◦Cascada
◦ Incremental
◦Evolutivo
◦Espiral
◦Prototipos
◦PUDS (Proceso Unificado de Desarrollo de Software)
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
▪ Proceso de software
Se define proceso del software como una 
estructura para las actividades, acciones 
y tareas que se requieren a fin de 
construir software de alta calidad.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
¿Por qué es importante? 
Porque da estabilidad, control y organización a una 
actividad que puede volverse caótica si se 
descontrola. 
Sin embargo, un enfoque moderno de ingeniería de 
software debe ser “ágil”. 
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
¿Por qué es importante? 
Debe incluir sólo aquellas actividades, controles y 
productos del trabajo que sean apropiados para el 
equipo del proyecto y para el producto que se busca 
obtener.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
▪ Proceso de software
Se define proceso del software como una 
estructura para las actividades, acciones 
y tareas que se requieren a fin de 
construir software de alta calidad.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
▪ Cada una de las actividades, acciones y tareas se 
encuentra dentro de una estructura o modelo que 
define su relación tanto con el proceso como entre sí.
Facultad de Estadística e Informática
▪Modelo general de 
proceso
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
▪ La estructura general para la ingeniería de software 
define cinco actividades estructurales: 
Comunicación, Planeación, Modelado, 
Construcción y Despliegue.
Facultad de Estadística e Informática
Modelos de procesos de 
desarrollo de software
Actividades Estructurales
C
O
M
U
N
IC
A
C
IÓ
N
P
LA
N
EA
C
IÓ
N
M
O
D
EL
A
D
O
C
O
N
ST
R
U
C
C
IÓ
N
D
ES
P
LI
EG
U
E
Actividades Sombrilla
Facultad de Estadística e Informática
Modelos de procesos de 
desarrollo de software
▪ Los Modelos de proceso 
describen:
▪Actividades estructurales.
▪Acciones de ingeniería de software.
▪Tareas.
▪Productos del trabajo.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
▪ Los Modelos de proceso 
describen:
▪Aseguramiento de la calidad y 
▪Puntos de referencia del proyecto.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
▪Cada modelo del proceso también 
describe un flujo del proceso 
(también llamado flujo de trabajo) 
(la manera en la que los elementos 
del proceso se relacionan entre sí)
Facultad de Estadística e Informática
Modelos de proceso de desarrollo de 
software
▪ Flujo del proceso de las actividades estructurales
Un flujo del proceso describe la manera en que 
están organizadas las actividades estructurales y 
las acciones y tareas que ocurren dentro de cada 
una con respecto de la secuencia y el tiempo.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
▪ Flujo del proceso lineal
Ejecuta cada una de las cinco actividades estructurales en 
secuencia, comenzando por la comunicación y terminando 
con el despliegue.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
▪ Flujo del proceso iterativo
Repite una o más de las actividades antes de pasar a la 
siguiente.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Realiza las actividades en 
forma “circular”. A través de 
las cinco actividades, cada 
circuito lleva a una versión 
más completa del software 
Flujo de proceso evolutivo 
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Ejecuta una o más actividades en 
paralelo con otras (por ejemplo, 
el modelado de un aspecto del 
software tal vez se ejecute en 
paralelo con la construcción de 
otro aspecto del software).
Flujo de proceso paralelo 
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
¿Por qué se crearon los Modelos de
Proceso?
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
▪modelo
Del it. modello.
1. m. Arquetipo o punto de referencia para imitarlo o 
reproducirlo.
2. m. En las obras de ingenio y en las acciones morales, 
ejemplar que por su perfección se debe seguir e imitar.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
▪ Los modelos de proceso fueron propuestos originalmente 
para poner orden en el caos del desarrollo de software. 
▪ Otorgan cierta estructura útil al 
trabajo de ingeniería de software y 
constituyen un mapa
razonablemente eficaz para los 
equipos de software.
Facultad de Estadística e Informática
Modelos de procesos 
de desarrollo de 
software
▪ Todos los modelos del proceso 
del software pueden incluir las 
actividades estructurales generales 
descritas anteriormente.
▪Cada uno pone distinto énfasis en 
ellas y define en forma diferente el 
flujo de proceso que invoca cada 
actividad estructural (así como 
acciones y tareas de ingeniería de 
software).
Facultad de Estadística e Informática
Modelos de 
procesos de 
desarrollo de 
software 
existentes
Facultad de Estadística e Informática
Modelo en cascada
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
▪ Modelo en cascada o ciclo de vida clásico
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Modelo en cascada o ciclo de vida clásico
▪Enfoque sistemático y secuencial.
▪ Comienza con la especificación de los requerimientos por parte del cliente 
y avanza a través de planeación, modelado, construcción y despliegue, para 
concluir con el apoyo del software terminado
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Modelo en cascada o ciclo de vida clásico
¿Cuándo se usa?
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Modelo en cascada o ciclo de vida clásico
▪Los requerimientos para cierto problema se 
comprenden bien. 
▪El trabajo desde la comunicación hasta el despliegue 
fluye en forma razonablemente lineal.
Adaptaciones o mejoras bien definidas a un sistema ya 
existente
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Modelo en cascada o ciclo de vida clásico
Problemas:
1. Es raro que los proyectos reales sigan el flujo secuencial 
propuesto por el modelo. Aunque el modelo lineal acepta 
repeticiones, lo hace en forma indirecta. Como resultado, 
los cambios generan confusión conforme el equipo del 
proyecto avanza.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Modelo en cascada o ciclo de vida clásico
Problemas:
2. Es difícil para el cliente enunciar en forma explícita 
todos los requerimientos.
El modelo en cascada necesita que se haga y tiene 
dificultades para aceptar la incertidumbre natural que 
existe al principio de muchos proyectos.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Modelo en cascada o ciclo de vida clásico
Problemas:
3. El cliente debe tener paciencia. No se dispondrá de una 
versión funcional del(de los) programa(s) hasta que el 
proyecto esté muy avanzado. Un error grande sería 
desastroso si se detectara hastarevisar el programa en 
funcionamiento.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Modelo en cascada o ciclo de vida clásico
Problemas:
4. La naturaleza lineal del ciclo de vida clásico llega a 
“estados de bloqueo” en los que ciertos miembros del 
equipo de proyecto deben esperar a otros a fin de 
terminar tareas interdependientes
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Modelo en cascada o ciclo de vida clásico
El trabajo de software es acelerado y está sujeto a una 
corriente sin fin de cambios (en las características, 
funciones y contenido de información). 
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Modelo en cascada o ciclo de vida clásico
▪ Variante del modelo en cascada “Modelo en V”
▪ Acciones de aseguramiento de la calidad
Facultad de Estadística e Informática
Modelo en cascada o ciclo de 
vida clásico. MODELO EN V
❖ No hay diferencias 
fundamentales entre el ciclo 
de vida clásico y el modelo 
en V. 
❖ Proporciona una forma de 
visualizar el modo de 
aplicación de las acciones de 
verificación y validación al 
trabajo de ingeniería inicial.
Facultad de Estadística e Informática
Modelo incremental
Facultad de Estadística e Informática
Modelos de proceso incremental
o Aplica secuencias lineales en forma escalonada a medida que avanza el calendario de 
actividades.
o Cada secuencia lineal produce “incrementos” de software para entregarse.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelo de proceso incremental
Diseñado para producir el software en incrementos.
Requerimientos iniciales del software 
razonablemente bien definidos.
Necesidad imperiosa de dar rápidamente cierta 
funcionalidad limitada de software a los usuarios y 
aumentarla en las entregas posteriores de software.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelo de proceso incremental
El primer 
incremento es el 
producto 
fundamental.
Se abordan los 
requerimientos básicos, 
pero no se proporcionan 
muchas características 
suplementarias (algunas 
conocidas y otras no). 
El cliente usa el 
producto 
fundamental (o lo 
somete a una 
evaluación 
detallada). 
Como resultado del 
uso y/o evaluación 
se desarrolla un 
plan para el 
incremento que 
sigue.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelos de proceso 
incremental
Modificación 
del producto 
fundamental 
para cumplir 
mejor las 
necesidades 
del cliente
Características 
adicionales y 
más 
funcionalidad
Plan
Facultad de Estadística e Informática
Modelos de procesos de 
desarrollo de software. 
Modelos de proceso 
incremental
En cada incremento 
se entrega un 
producto que ya 
opera.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Modelo de proceso incremental
¿Cuándo se usa?
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelos de proceso incremental
Necesidad imperiosa de dar rápidamente 
cierta funcionalidad limitada de software a 
los usuarios y aumentarla en las entregas 
posteriores de software.
Útil en particular cuando no se dispone de 
personal para la implementación completa del 
proyecto en el plazo establecido por el 
negocio.
1
2
Facultad de Estadística e Informática
Modelo evolutivo
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelo de proceso evolutivo
Modelo de proceso diseñado explícitamente para 
adaptarse a un producto que evoluciona con el tiempo.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelo de proceso evolutivo
Los sistemas complejos evolucionan.
Es frecuente que los requerimientos del negocio y del 
producto cambien conforme avanza el desarrollo.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelo de proceso evolutivo
Plazos apretados
Se comprende bien el conjunto de 
requerimientos o el producto básico
Los detalles del producto o extensiones del 
sistema aún están por definirse.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelo de proceso evolutivo
Los modelos evolutivos 
son iterativos.
Prototipo Espiral
Facultad de Estadística e Informática
Modelo evolutivo. 
Prototipo
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelos de proceso evolutivos
El cliente define un conjunto de objetivos generales.
No identifica los requerimientos detallados para las funciones y 
características.
El desarrollador no está seguro de la eficiencia de un algoritmo, 
la adaptabilidad de un sistema operativo o de la interacción 
humano-computadora.
Prototipo
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelos de proceso evolutivos
Prototipo
En la construcción, pueden utilizarse 
fragmentos de programas existentes o 
aplicar herramientas que permitan 
generar rápidamente programas que 
funcionen.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelos de proceso evolutivos
Prototipo
El modelado se centra en la 
representación de aquellos 
aspectos del software que 
serán visibles para los usuarios 
finales.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Modelos de proceso evolutivos
Prototipo
1. Comienza con la comunicación.
Reunión con participantes para definir 
objetivos generales , requerimientos 
conocidos, áreas por definir mejor.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software
Modelos de proceso evolutivos
Prototipo
2. Plan rápido, modelado y diseño 
rápido.
Se planea rápidamente una iteración 
para hacer el prototipo, y se lleva a cabo 
el modelado (en forma de un “diseño 
rápido”).
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software.Modelos de proceso evolutivos
Prototipo
3. Construcción y Despliegue
El diseño rápido lleva a la construcción 
de un prototipo. Éste se entrega y es 
evaluado por los participantes, que dan 
retroalimentación para mejorar los 
requerimientos. 
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelos de proceso evolutivos
Prototipo
La iteración ocurre a medida 
que el prototipo es afinado
para satisfacer las necesidades 
de distintos participantes, y al 
mismo tiempo permite 
entender mejor lo que se 
necesita hacer.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelos de proceso evolutivos
El ideal es que el prototipo sirva 
como mecanismo para 
identificar los requerimientos 
del software.
Prototipo
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelos de proceso evolutivos
Prototipo
¿Qué hacer con el prototipo cuando ya sirvió para el 
propósito descrito?
Facultad de Estadística e Informática
Modelos de procesos de 
desarrollo de software. 
Modelos de proceso evolutivos
Prototipo
En la mayoría de proyectos es raro que el 
primer sistema elaborado sea utilizable. 
Muy lento, muy grande, difícil de usar o todo 
a la vez. 
No hay más alternativa que comenzar de 
nuevo.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelos de proceso evolutivos
Prototipo. 
Problemas
✓Los participantes ven lo que parece ser una versión 
funcional del software, pero no se consideró la calidad, la 
facilidad de mantenimiento, por la prisa. Los usuarios 
exigen el prototipo como producto funcional.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software.Modelos de proceso evolutivos
Prototipo. 
Problemas
✓Se toman decisiones que inicialmenteson las adecuadas 
(con el fin de lograr el prototipo rápidamente): Lenguaje 
de programación conocido, algoritmo ineficiente. Esta 
elección formará parte del sistema final.
Facultad de Estadística e Informática
Modelos de procesos de desarrollo de 
software. Modelos de proceso evolutivos
Prototipo. 
Paradigma exitoso si…
Se definen desde el principio las reglas del juego.
El prototipo sirve como el mecanismo para definir los requerimientos. 
Después se descartará (al menos en parte) y se hará la ingeniería del 
software real con la mirada puesta en la calidad.
Facultad de Estadística e Informática
GRACIAS POR SU ATENCIÓN

Continuar navegando