47
Metodologías de Análisis Clase 3 – 28/8/2007 Christian Sifaqui

Clase 3, 28/8/2007

Embed Size (px)

Citation preview

Page 1: Clase 3, 28/8/2007

Metodologías de Análisis

Clase 3 – 28/8/2007

Christian Sifaqui

Page 2: Clase 3, 28/8/2007

Modelos de ciclos de vida

Chomsky (1957)Una persona frente a su experiencia del mundo, forma de éste una representación lingüística bastante completa, variada y rica en detalles. A nivel lingüístico, esto correspondería a la estructura profunda. Sin embargo, al comunicar su experiencia a otro, utiliza expresiones empobrecidas (estructura superficial) que presentan omisiones, generalizaciones y distorsiones.

Page 3: Clase 3, 28/8/2007

Modelos de ciclos de vida

Leer hoja “Caso de estudio Winburg”

Page 4: Clase 3, 28/8/2007

Modelos de ciclos de vida

Leer hoja “Caso de estudio Winburg”

Episodio 1: se encuentra una falla

- el producto es muy lento, por una falla de implementación (se usó doble precisión)

- se inician cambios en la implementación

Page 5: Clase 3, 28/8/2007

Modelos de ciclos de vida

Leer hoja “Caso de estudio Winburg”

Episodio 2: los requerimientos cambian debido a que el algoritmo de reconocimiento de imágenes es muy lento

- se determina un algoritmo más rápido y se utiliza

Page 6: Clase 3, 28/8/2007

Modelos de ciclos de vida

Leer hoja “Caso de estudio Winburg”

Episodio 3: se adopta un nuevo diseño, de tal forma de ahorrar algunos costos vendiendo el sistema de reconocimiento

- el desarrollo está completo

Page 7: Clase 3, 28/8/2007

Modelos de ciclos de vida

Leer hoja “Caso de estudio Winburg”

Epílogo: años más tarde, estos problemas se repiten cuando los sensores se vuelven obsoletos y deben ser reemplazados.

- la administración quiere actualizar el hardware y los programadores quieren usar un nuevo lenguaje

- actualmente 6 meses atrasados y 25% por sobre el presupuesto

Page 8: Clase 3, 28/8/2007

Modelos de ciclos de vida∅

Requerimientos1

Análisis1

Diseño1

Implementación1

DesarrolloMantención

Episodio 1

Page 9: Clase 3, 28/8/2007

Modelos de ciclos de vida∅

Requerimientos1

Análisis1

Diseño1

Implementación1 Implementación2

DesarrolloMantención

Episodio 1 Episodio 2

Page 10: Clase 3, 28/8/2007

Modelos de ciclos de vida∅

Requerimientos1

Análisis1

Diseño1

Implementación1 Implementación2

Requerimientos3

Análisis3

Diseño3

Implementación3

DesarrolloMantención

Episodio 1 Episodio 2 Episodio 3

Page 11: Clase 3, 28/8/2007

Modelos de ciclos de vida∅

Requerimientos1

Análisis1

Diseño1

Implementación1 Implementación2

Requerimientos3

Análisis3

Diseño3

Implementación3 Implementación4

Diseño4

DesarrolloMantención

Episodio 1 Episodio 2 Episodio 3 Episodio 4

Page 12: Clase 3, 28/8/2007

Modelos de ciclos de vida

La figura anterior es un modelo de ciclo de vida “evolución tipo árbol”

Page 13: Clase 3, 28/8/2007

Modelos de ciclos de vida

También se podría aplicar el modelo cascada:

Page 14: Clase 3, 28/8/2007

Modelos de ciclos de vida

También se podría aplicar el modelo cascada:

Requerimientos

Análisis

Diseño

Implementación

DesarrolloMantención

Page 15: Clase 3, 28/8/2007

Modelos de ciclos de vida

Lecciones

En la realidad, el desarrollo de software es más caótico que el “Caso de estudio Winburg”

Page 16: Clase 3, 28/8/2007

Modelos de ciclos de vida

Lecciones

Siempre se necesitan cambios:

- un producto de software es un modelo de la realidad, la que cambia constantemente

Page 17: Clase 3, 28/8/2007

Modelos de ciclos de vida

Lecciones

Siempre se necesitan cambios:

- un producto de software es un modelo de la realidad, la que cambia constantemente

- los profesionales del software son humanos y cometen errores

Page 18: Clase 3, 28/8/2007

Modelos de ciclos de vida

Leer hoja “Caso de estudio tractores Teal”

Page 19: Clase 3, 28/8/2007

Modelos de ciclos de vida

Leer hoja “Caso de estudio tractores Teal”

No hay solución al “problema del objetivo móvil”

Page 20: Clase 3, 28/8/2007

Modelos de ciclos de vida

Iteración e incremento

En la vida real, no se puede hablar acerca de la “fase de análisis”

Page 21: Clase 3, 28/8/2007

Modelos de ciclos de vida

Iteración e incremento

En la vida real, no se puede hablar acerca de la “fase de análisis”

Por el contrario, las operaciones de la fase de análisis se propagan por todo el ciclo de vida

Page 22: Clase 3, 28/8/2007

Modelos de ciclos de vida

Iteración e incremento

El desarrollo básico de software es iterativo

Page 23: Clase 3, 28/8/2007

Modelos de ciclos de vida

Iteración e incremento

El desarrollo básico de software es iterativo

Cada versión sucesiva debe ser más cercana al objetivo que su predecesora

Page 24: Clase 3, 28/8/2007

Modelos de ciclos de vida

Ley de Miller (1956)

En cualquier instante, nos podemos concentrar en sólo 7 ± 2 chunks (unidades de información)

Page 25: Clase 3, 28/8/2007

Modelos de ciclos de vida

Ley de Miller (1956)

En cualquier instante, nos podemos concentrar en sólo 7 ± 2 chunks (unidades de información)

Para manejar cantidades mayores de información, se usa refinamiento sucesivo

Page 26: Clase 3, 28/8/2007

Modelos de ciclos de vida

Ley de Miller (1956)

Concentrarse en los aspectos actualmente más importantes (postergar aspectos que actualmente son menos críticos)

Page 27: Clase 3, 28/8/2007

Modelos de ciclos de vida

Ley de Miller (1956)

Concentrarse en los aspectos actualmente más importantes (postergar aspectos que actualmente son menos críticos)

Cada aspecto será tomado en cuenta, pero en orden de importancia actual

Page 28: Clase 3, 28/8/2007

Modelos de ciclos de vida

Ley de Miller (1956)

Es un proceso incremental

Page 29: Clase 3, 28/8/2007

Modelos de ciclos de vida

Modelo de ciclo de vida iterativo e incremental

Page 30: Clase 3, 28/8/2007

Modelos de ciclos de vida

Iteración e incremento se usan en conjunto

No existe una “fase de requerimientos” o “fase de diseño”

Por el contario, hay múltiples instancias de cada fase

El número de incrementos puede variar (no tienen que ser cuatro)

Page 31: Clase 3, 28/8/2007

Modelos de ciclos de vida

Repaso workflowsFases secuenciales no existen en la realidad

Por el contrario, los cinco workflows se desarrollan en todo el ciclo de vida

Page 32: Clase 3, 28/8/2007

Modelos de ciclos de vida

Repaso workflowsFases secuenciales no existen en la realidad

Por el contrario, los cinco workflows se desarrollan en todo el ciclo de vida

- workflow de requerimientos

- workflow de análisis

- workflow de diseño

- workflow de implementación

- workflow de testing

Page 33: Clase 3, 28/8/2007

Modelos de ciclos de vida

Sin embargo, muchas veces predomina uno:

- al inicio del ciclo de vida, predomina el workflow de requerimientos

- al final del ciclo de vida, predominan los workflows de implementación y test

Page 34: Clase 3, 28/8/2007

Modelos de ciclos de vida

Sin embargo, muchas veces predomina uno:

- al inicio del ciclo de vida, predomina el workflow de requerimientos

- al final del ciclo de vida, predominan los workflows de implementación y test

OBS: la actividades de planificación y documentación se desarrollan durante todo el ciclo de vida

Page 35: Clase 3, 28/8/2007

Modelos de ciclos de vida

Se desarrolla iteración durante cada incremento

Page 36: Clase 3, 28/8/2007

Modelos de ciclos de vida

Se desarrolla iteración durante cada incremento

OBS: el número de iteraciones puede variar (no es tres)

Page 37: Clase 3, 28/8/2007

Modelos de ciclos de vida

El modelo evolución tipo árbol se ha superimpuesto al modelo iterativo e incremental

Page 38: Clase 3, 28/8/2007

Modelos de ciclos de vida

Cada episodio corresponde a un incremento

No se incluyen todos los worklfows en cada incremento

Incremento B no se completó

Page 39: Clase 3, 28/8/2007

Modelos de ciclos de vida

Un proyecto puede ser visto como un conjunto de mini proyectos (incrementos)

Artefacto: componente de un producto de software

Cada mini proyecto extiende:

- artefactos de requerimientos

- artefactos de análisis

- artefactos de diseño

- artefactos de implementación

- artefactos de testing

Page 40: Clase 3, 28/8/2007

Modelos de ciclos de vida

El conjunto final de artefactos es el producto completo

Durante cada mini proyecto se:

- extienden los artefactos (incremento)

- chequean los artefactos (workflow de test)

- si es necesario, se cambian los artefactos relevantes (iteración)

Page 41: Clase 3, 28/8/2007

Modelos de ciclos de vida

Cada iteración puede ser vista como un pequeño pero completo modelo de ciclo de vida cascada

Durante cada iteración se selecciona una porción del producto de software

En esa porción se desarrolla:

fase clásica de requerimientos

fase clásica de análisis

fase clásica de diseño

fase clásica de implementación

Page 42: Clase 3, 28/8/2007

Modelos de ciclos de vida

Hay múltiples oportunidades de chequear que el producto de sofware esté correcto

- cada iteración incorpora un workflow de test

- las fallas pueden ser detectadas o corregidas

La robustez de la arquitectura puede determinarse temprano en el ciclo de vida

- arquitectura: módulos de componentes y cómo calzan entre ellos

- robustez: la propiedad de ser capaz de administrar extensiones y cambios sin desbaratarse

Page 43: Clase 3, 28/8/2007

Modelos de ciclos de vida

Se pueden mitigar riesgos tempranamente

Se tiene una versión funcional del producto desde del inicio

Variación: se pueden entregar versiones parciales para suavizar la introducción del nuevo producto en la organización del cliente

Page 44: Clase 3, 28/8/2007

Modelos de ciclos de vida

Hay evidencia que este modelo de ciclo de vida funciona

El reporte CHAOS de Standish Group, muestra que el porcentaje de productos exitosos se ha incrementado

Page 45: Clase 3, 28/8/2007

Modelos de ciclos de vida

Reporte CHAOS

de 1994 a 2004

Page 46: Clase 3, 28/8/2007

Modelos de ciclos de vida

Hubo un decremento el 2004 por:

- proyectos más grandes

- se usó modelo cascada

- no se involucró al usuario

- no hubo apoyo de los ejecutivos senior

Page 47: Clase 3, 28/8/2007

Modelos de ciclos de vida

En resumen:

el modelo de ciclo de vida iterativo e incremental es tan reglamentado como el modelo cascada

este modelo es el modelo cascada aplicado sucesivamente

cada incremento es un mini proyecto cascada