Metodologías de Análisis
Clase 3 – 28/8/2007
Christian Sifaqui
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.
Modelos de ciclos de vida
Leer hoja “Caso de estudio Winburg”
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
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
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
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
Modelos de ciclos de vida∅
Requerimientos1
Análisis1
Diseño1
Implementación1
DesarrolloMantención
Episodio 1
Modelos de ciclos de vida∅
Requerimientos1
Análisis1
Diseño1
Implementación1 Implementación2
DesarrolloMantención
Episodio 1 Episodio 2
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
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
Modelos de ciclos de vida
La figura anterior es un modelo de ciclo de vida “evolución tipo árbol”
Modelos de ciclos de vida
También se podría aplicar el modelo cascada:
Modelos de ciclos de vida
También se podría aplicar el modelo cascada:
∅
Requerimientos
Análisis
Diseño
Implementación
DesarrolloMantención
Modelos de ciclos de vida
Lecciones
En la realidad, el desarrollo de software es más caótico que el “Caso de estudio Winburg”
Modelos de ciclos de vida
Lecciones
Siempre se necesitan cambios:
- un producto de software es un modelo de la realidad, la que cambia constantemente
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
Modelos de ciclos de vida
Leer hoja “Caso de estudio tractores Teal”
Modelos de ciclos de vida
Leer hoja “Caso de estudio tractores Teal”
No hay solución al “problema del objetivo móvil”
Modelos de ciclos de vida
Iteración e incremento
En la vida real, no se puede hablar acerca de la “fase de análisis”
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
Modelos de ciclos de vida
Iteración e incremento
El desarrollo básico de software es iterativo
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
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)
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
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)
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
Modelos de ciclos de vida
Ley de Miller (1956)
Es un proceso incremental
Modelos de ciclos de vida
Modelo de ciclo de vida iterativo e incremental
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)
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
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
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
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
Modelos de ciclos de vida
Se desarrolla iteración durante cada incremento
Modelos de ciclos de vida
Se desarrolla iteración durante cada incremento
OBS: el número de iteraciones puede variar (no es tres)
Modelos de ciclos de vida
El modelo evolución tipo árbol se ha superimpuesto al modelo iterativo e incremental
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ó
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
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)
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
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
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
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
Modelos de ciclos de vida
Reporte CHAOS
de 1994 a 2004
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
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
Recommended