diseño orientado al flujo de datos m.c. juan carlos olivares rojas
TRANSCRIPT
Diseño Orientado al Flujo de Datos
M.C. Juan Carlos Olivares Rojas
Agenda
Diseño y Flujo de Información
Tipos de Flujo de Información
Análisis de Transformación
Análisis de Transacción
Agenda
Heurísticas del Diseño
Optimización del Diseño
Diseño y Flujo de Información
• La transición desde el flujo de información (representado como DFD) a una estructura del programa se realiza en un proceso de seis pasos:
1. Se establece el tipo de flujo de información.
2. Se indican los límites del flujo.
3. Se convierte el DFD en la estructura del programa.
Diseño y Flujo de Información
4. Se define la jerarquía de control.
5. Se refina la estructura resultante usando medidas y heurísticas de diseño.
6. Se refina y elabora la descripción arquitectónica.
• El tipo de flujo de información es lo que determina el método de conversión requerido en el paso 3.
Tipos de Flujo de Información
• Los Flujos de Información determinan la forma en como debe de ser conducido el programa dado que nos representa las entradas y salidas del sistema.
• Los tipos de flujos de información se clasifican básicamente en dos de Transformación y de Transacción
Tipos de Flujo de Información
• El flujo de Transformación ocurre de manera general con las entradas y las salidas.
• El flujo de transacción es aquel que se tiene cuando a partir de éste se derivan otros flujos de información.
• El flujo de transacción suele asociarse con menú de opciones.
Análisis de Transformación
• El análisis de transformación es un conjunto de pasos de diseño que permite convertir un DFD, con características de flujo de transformación, en una plantilla predefinida para la estructura del programa. Los pasos a seguir son los siguientes:
• Revisar el modelo fundamental del sistema
• Revisar y refinar los diagramas de flujo de datos del software.
Análisis de Transformación
• Determinar si el DFD tiene características de flujo de transformación o de transacción.
• Aislar el centro de transformación especificando los límites de los flujos de entrada y salida.
• Realizar una descomposición de primer nivel.
Análisis de Transformación
• Realizar descomposición de segundo nivel.
• Refinar la estructura inicial del programa utilizando heurísticas para mejorar la calidad del software.
Análisis de Transformación
Análisis de Transformación
Análisis de Transformación
Analisis de Transformación
Análisis de Transacción
• Para realizar el análisis de transacción se siguen los siguientes pasos:
• Revisar el modelo fundamental del sistema
• Revisar y refinar los diagramas de flujo de datos para el software
Análisis de Transacción• Determinar si el DFD tiene características del
flujo de transformación o de transacción.
• Identificar el centro de transacción y las características de flujo a lo largo de cada camino de acción.
• Transformar el DFD en una estructura de programa adecuada al procesamiento de la transacción.
Análisis de Transacción
• Descomponer y refinar las estructuras de transacción y la estructura de todos los caminos de acción.
• Refinar la primera arquitectura del programa usando heurísticas de diseño para mejorar la calidad del software.
Análisis de Transacción
Análisis de Transacción
Heurísticas del Diseño
• A continuación se muestra un conjunto de heurísticas a seguir para obtener mejores resultados:
• Evaluar la primer iteración de la estructura de programa para reducir el acoplamiento y mejorar la cohesión.– Explosión– Implosión
Heurísticos del Diseño
• Intentar minimizar las estructuras con un alto grado de salida; esforzarse por la entrada a medida que aumenta la profundidad.
• Mantener el ámbito del efecto de un módulo dentro del ámbito de control de ese módulo.
• Evaluar las interfaces de los módulos para reducir la complejidad, la redundancia, y la consistencia.
Heurísticos del Diseño
• Definir módulos cuya función pueda predecir, pero evitar módulos que sean demasiado restrictivos.
• Intentar conseguir módulos de entrada controlada evitando conexiones patológicas.
Heurística del Diseño
Optimización del Diseño
• Se recomienda las siguientes acciones para tener un diseño óptimo:
• Desarrollar y refinar la estructura del programa sin preocuparse de la optimización.
• Usar herramientas CASE que simulen el rendimiento en tiempo de ejecución para aislar áreas de ineficiencia.
Optimización del Diseño
• Durante iteraciones posteriores del diseño, seleccionar los módulos sospechosos de “devorar tiempo” y desarrollar cuidadosamente procesamientos que mejoren la eficiencia en el empleo de tiempo.
• Codificar en un lenguaje de programación apropiado.
Optimización del Diseño
• Instrumentar el software para aislar módulos que consuman mucho tiempo de procesador.
• Si es necesario, rediseñar o recodificar en lenguaje máquina para mejorar la eficiencia.
¿Preguntas, dudas y comentarios?