procesos para la ingenierÍa de software - … · pressman, r.s., ingeniería del software. un...

Post on 21-Sep-2018

240 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Facultad de Estadística e Informática

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

Modelos de procesos de desarrollo de software

▪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 EstructuralesC

OM

UN

ICA

CIÓ

NP

LAN

EAC

IÓN

MO

DEL

AD

O

CO

NST

RU

CC

IÓN

DES

PLI

EGU

E

Actividades Sombrilla

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

▪ Flujo del proceso de las actividades estructurales

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

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

▪ 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▪ Los Modelos de proceso prescriben un conjunto de elementos del proceso:

▪ Actividades estructurales

▪ Acciones de ingeniería de software,

▪ Tareas,

▪ Productos del trabajo,

▪ Aseguramiento de la calidad y

▪Mecanismos de control del cambio para cada proyecto.

▪Cada modelo del proceso también prescribe 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 procesos de desarrollo de software

▪ Todos los modelos del proceso del software pueden

incluir las actividades estructurales generales

descritas anteriormente, pero cada una 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

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 softwareModelo 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

▪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

▪ Variante del modelo en cascada “Modelo en V”

▪ Acciones de aseguramiento de la calidad

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelo en cascada o ciclo de vida clásico

Modelo en V

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 softwareModelo 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 hasta revisar 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

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

Modelo incremental

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso incremental

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso incremental

▪Modelo de proceso diseñado para producir el

software en incrementos.

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso incremental

▪Requerimientos iniciales del software

razonablemente bien definidos, pero el alcance

general del esfuerzo de desarrollo imposibilita un

proceso lineal.

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.

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de softwareModelos 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).

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso incremental

▪Como resultado del uso y/o evaluación se desarrolla un plan para el incremento que sigue.

▪El plan incluye la modificación del producto fundamental para cumplir mejor las necesidades del cliente, así como la entrega de características adicionales y más funcionalidad.

▪Este proceso se repite después de entregar cada incremento, hasta terminar el producto final.

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.

▪ Útil en particular cuando no se dispone de personal

para la implementación completa del proyecto en el

plazo establecido por el negocio.

Facultad de Estadística e Informática

Modelo evolutivo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso evolutivos

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

Modelos de proceso evolutivos

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

Modelos de proceso evolutivos

▪ 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

Modelos de proceso evolutivos

oLos 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

Prototipo

✓El cliente define un conjunto de objetivos generales.

✓No identifica los requerimientos detallados para las

funciones y características.

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso evolutivos

Prototipo

✓El desarrollador no está seguro de la eficiencia de

un algoritmo, la adaptabilidad de un sistema

operativo o de la interacción humano-computadora.

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

El ideal es que el prototipo sirva como mecanismo

para identificar los requerimientos del software.

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

Brooks: 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 inicialmente son 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

Ejemplo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Videojuego

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Videojuego Pac-Man

✓Desarrollo Modelo en Cascada

✓Desarrollo Modelo Incremental

(Tiempo de desarrollo, definición de requerimientos, cantidad de personal, producto final)

Facultad de Estadística e Informática

GRACIAS POR SU ATENCIÓN

top related