Beruflich Dokumente
Kultur Dokumente
Ciclo de vida
Sucesin de etapas por las que atraviesa un producto software a lo largo de su existencia (p.e. durante su desarrollo y explotacin).
Paradigma clsico
Primer modelo empleado (1970). Ejecucin secuencial de una serie de fases. Cada fase genera entradas y documentacin para la siguiente.
Errores de diseo
DISEO
Errores de codificacin
IMPLEMENTACION
MANTENIMIENTO
Paradigma clsico
PLANIFICACION
Errores de anlisis
Errores de diseo
Identificar los requisitos de todos los elementos del sistema. Asignar un subconjunto requisitos al software.
Paradigmas de Ciclo de Vida
de
dichos
Funciones que el software debe realizar. Condicionantes existentes: rendimiento, utilizacin de recursos, etc.
Estructura de los datos. Arquitectura del software. Representaciones de interfaz. Determinar los algoritmos.
10
Generacin de cdigo.
11
Mantenimiento.
El software sufrir cambios despus de que se entregue al cliente
Modelo clsico
Los proyectos reales raramente pueden seguir el flujo secuencial que se propone. Dificultad para establecer todos los requerimientos al principio del proceso. El mantenimiento recae sobre el cdigo.
Paradigmas de Ciclo de Vida 13
Modelo clsico
Retrasos innecesarios
Paradigmas de Ciclo de Vida 14
ANALISIS Y ESPECIFICACION INFORMAL ESPECIFICACION DE REQUERIMIENTOS DISEO DISEO IMPLEMENTACION CODIGO PRUEBAS UNITARIAS MODULOS VALIDADOS PRUEBAS DE INTEGRACION (alfa-test) PROGRAMA VALIDADO SINTONIZACION (beta-test) PRODUCTO CERRADO MANTENIMIENTO
Errores de diseo
Errores de codificacin
15
Crticas
El desarrollo es bastante manual. Las diferentes fases del ciclo van soportadas, en el mejor de los casos, por un conjunto de herramientas software en su mayor parte no relacionadas ni integradas. Los errores de anlisis y diseo son caros de eliminar, y se propagan a las otras etapas con un efecto conocido como bola de nieve. En la prctica, el modelo tiende a deformarse, y todo el peso de la validacin y mantenimiento recae, en su mayor parte, sobre el cdigo fuente. El software va deteriorndose y resulta cada vez ms difcil de mantener.
Paradigmas de Ciclo de Vida 16
ANALISIS Y ESPECIFICACION
DISEO
IMPLEMENTACION
PRODUCTO ACABADO
VALIDACION MANTENIMIENTO
17
Prototipo:
Primera versin de un nuevo tipo de producto, en el que se han incorporado slo algunas caractersticas del sistema final, o no se han realizado completamente.
18
Funcionalidad limitada. Poca fiabilidad. Caractersticas de operacin pobres. Ayuda al cliente a establecer claramente los requerimientos. Ayuda a los desarrolladores a:
Verificar correccin de la especificacin. Aprender sobre problemas que se presentarn durante el diseo e implementacin del sistema. Mejorar el producto. Examinar viabilidad y utildiad de la aplicacin.
Paradigmas de Ciclo de Vida 19
PROTOTIPADO (MANUAL)
IMPLEMENTACION
VALIDACION
MANTENIMIENTO
20
Aspectos bsicos:
Tras el anlisis, se construye el prototipo, que ayudar a refinar la especificacin de requerimientos. El desarrollo posterior prosigue en cascada.
21
Crticas
Elimina el efecto bola de nieve pero no el mantenimiento sobre el cdigo. El cliente ve en funcionamiento una versin preliminar, sin asumir que no es robusta ni completa. Inversin en un producto desechable puede no ser rentable. Es frecuente arrastrar malas decisiones (de diseo, de planificacin ...) que slo eran apropiadas para la obtencin rpida del prototipo. El tiempo invertido en la construccin del prototipo puede hacer que el producto pierda oportunidad.
22
Programacin automtica
(Balzer, 1.983)
Objetivo: Introducir automatizacin en el proceso de desarrollo del software. Idea base: programacin por transformaciones:
Construccin de una primera versin que expresa formalmente el comportamiento deseado. Transformacin en una versin ms eficiente, preservando la funcionalidad.
Adaptamos esta idea para hablar, no ya de dos versiones, sino de la conversin automtica de una especificacin en un prototipo, y luego en el producto definitivo.
23
Prototipado automtico
DECISIONES DESARROLLO FORMAL OPTIMIZACION MECANICA PRODUCTO
ANALISIS
VALIDACION MANTENIMIENTO
SINTONIZACION
24
Paradigma automtico
Aspectos bsicos
Se utilizan lenguajes de especificacin formal. El prototipo es la propia especificacin (o se deriva automticamente de ella). Los requerimientos se perfilan animando la especificacin. La validacin y el mantenimiento recaen sobre la especificacin. El mantenimiento consiste en revisar y reemplazar la especificacin, y rederivar el prototipo. El producto final se obtiene a travs de un proceso mecnico de transformacin.
25
Crticas:
Compromiso entre las ventajas obtenidas y el nivel al que debe elevarse la especificacin. La tecnologa necesaria para cubrir todo el ciclo de vida an no est a punto.
Modelo incremental
Incremento 1
Anlisis
Incremento 2
Prueba
Prueba Cdigo
Incremento 3
Prueba
Incremento 4
Anlisis
Diseo
Cdigo
Prueba
Tiempo
Cada secuencia produce un incremento del software. Con cada incremento, se entrega un producto operacional
Paradigmas de Ciclo de Vida 27
Evaluacin del cliente Evaluacin del cliente Ingeniera Hacia el final del sistema
P la n if ic a c i n
A n lis is d e r ie sg o
E v a lu a c i n d e l c lie n te
In g e n ie r a
E x tra e r c o m p o n e n te s s i e s t n d is p o n ib le s
t. desarrollo, costes
Paradigmas de Ciclo de Vida 29
Ciclo de vida OO
P la n if ic a c i n A n lis is d e r ie sg o
E v a lu a c i n d e l c lie n te
I n g e n ie r a
A a d ir la s n u e v a s c la s e s a la b ib lio te c a
E x tra e r n u e v a s c la s e s s i e x is te n
Hincapi
ESPEC DISREA
DISREA VALGEN
VALGEN
Tiempo ESPEC
Agrupamiento 2
ESPEC
DISREA
VALGEN
Agrupamiento 1
Tiempo
Cluster:
comn
Cada
(Prototipo desechable)
Desarrollar un modelo del comportamiento deseado (anlisis) Crear una arquitectura (diseo)