diseño orientado al flujo de datos m.c. juan carlos olivares rojas

Post on 03-Feb-2016

222 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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?

top related