Title: Diseo Orientado al Flujo de Datos
1Diseño Orientado al Flujo de Datos
- M.C. Juan Carlos Olivares Rojas
2Agenda
- Diseño y Flujo de Información
- Tipos de Flujo de Información
- Análisis de Transformación
- Análisis de Transacción
3Agenda
- Heurísticas del Diseño
- Optimización del Diseño
4Diseñ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 - Se establece el tipo de flujo de información.
- Se indican los límites del flujo.
- Se convierte el DFD en la estructura del
programa.
5Diseño y Flujo de Información
- Se define la jerarquía de control.
- Se refina la estructura resultante usando medidas
y heurísticas de diseño. - 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.
6Tipos 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
7Tipos 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.
8Aná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.
9Aná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.
10Aná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.
11Análisis de Transformación
12Análisis de Transformación
13Análisis de Transformación
14Analisis de Transformación
15Aná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
16Aná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.
17Aná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.
18Análisis de Transacción
19Análisis de Transacción
20Heurí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
21Heurí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.
22Heurí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.
23Heurística del Diseño
24Optimizació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.
25Optimizació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.
26Optimizació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.
27Preguntas, dudas y comentarios?