procesos para la ingenierÍa de software€¦ · software modelos de proceso evolutivos prototipo....

40
Facultad de Estadística e Informática PROCESOS PARA LA INGENIERÍA DE SOFTWARE

Upload: others

Post on 30-Apr-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

PROCESOS PARA LA INGENIERÍA DE SOFTWARE

Page 2: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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.

▪ Sommerville I., Ingeniería de Software, Addison-Wesley, 6ª. Edición, 2002, México.

Page 3: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

En la clase anterior…

▪ Unidad III.Modelos de procesos de desarrollo de software◦Cascada

◦ Incremental

◦Evolutivo

◦Prototipo

Page 4: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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.

Page 5: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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

Page 6: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

▪Modelo general de

proceso

Page 7: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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

Page 8: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

▪ Flujo del proceso de las actividades estructurales

Page 9: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Page 10: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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

Page 11: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de procesos de desarrollo de

software existentes

Page 12: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelo en cascada

Page 13: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

▪ Modelo en cascada o ciclo de vida clásico

Page 14: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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

Page 15: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelo incremental

Page 16: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso incremental

Page 17: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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 de los incrementos previos 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.

Page 18: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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.

Page 19: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelo evolutivo

Page 20: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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.

Page 21: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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

Page 22: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelo evolutivo. Prototipo

Page 23: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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

Page 24: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El 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.

Page 25: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El 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.

Page 26: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El 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?

Page 27: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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.

Page 28: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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.

Page 29: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

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.

Page 30: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Clase 8. Agenda

▪ Unidad III.Modelos de procesos de desarrollo de software◦Evolutivo

◦Espiral

◦PUDS (Proceso Unificado de Desarrollo de Software)

Page 31: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelo evolutivoESPIRAL

Page 32: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de softwareModelos de proceso evolutivos. Espiral.

▪ Propuesto en primer lugar por Barry Boehm.

▪ Es un modelo con la naturaleza iterativa de hacer prototipos y los aspectos controlados y sistémicos del modelo de cascada.

▪Representa el proceso de desarrollo de software como una espiral.

Page 33: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso evolutivos. Espiral.

Consideración explícita del riesgo.

Page 34: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso evolutivos. Prototipos.

▪ d

Page 35: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso evolutivos. Espiral.

1. Definición de objetivos. • Definen los objetivos específicos. • Identifica las restricciones del proceso y el

producto. • Se traza un plan detallado de gestión. • Se identifican los riesgos del proyecto.

Dependiendo de los riesgos se planean las estrategias.

Page 36: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso evolutivos. Espiral

2. Evaluación y reducción del riesgo. • Análisis detallado de cada riesgo.• Plan para reducir los riesgos. P.e. Si existe

el riesgo de tener requerimientos inapropiados, se puede resolver desarrollando un prototipo del sistema.

Page 37: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso evolutivos. Espiral.

3. Desarrollo y validación.• Se elige un modelo para el desarrollo del

sistema.• Si existen riesgos en la interfaz de usuario

se elige la construcción de prototipo.• Si existe riesgo de integración entre

subsistemas, se podría elegir el modelo en cascada.

Page 38: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Modelos de procesos de desarrollo de software

Modelos de proceso evolutivos. Espiral.

4. Planificación.• El proyecto es revisado.• Se decide si continuar con otro ciclo en la

espiral.• Si se decide continuar se desarrollan

planes para la siguiente fase.

Page 39: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

Un ciclo en espiral empieza con la elaboración de los

objetivos, como el rendimiento y la

funcionalidad. Se enumeran formas alternativas de

alcanzar estos objetivos y sus restricciones.

Cada alternativa se evalúa contra cada objetivo y se identifican las fuentes de

riesgo.

El siguiente paso es resolver el riesgo mediante

actividades como detallar más el análisis, la

construcción de prototipos y la simulación.

Una vez que se han analizado los riesgos se lleva

a cabo cierto desarrollo, seguido de una actividad de

planificación para la siguiente fase.

Modelos de procesos de desarrollo de software

Modelos de proceso evolutivos. Espiral.

Page 40: PROCESOS PARA LA INGENIERÍA DE SOFTWARE€¦ · software Modelos de proceso evolutivos Prototipo. Paradigma exitoso si… Se definen desde el principio las reglas del juego. El prototipo

Facultad de Estadística e Informática

GRACIAS POR SU ATENCIÓN