1. Universidad Fermín Toro
Vicerrectorado Académico
Facultad De Ingeniería
Cabudare, Edo. Lara
05/05/2023
EL DISEÑO ORIENTADO AL FLUJO DE DATOS
Jorge Celis 27.411.951
Diseño de Software
Profesor: Edecio Freitez
2. EL DISEÑO ORIENTADO AL FLUJO DE DATOS
Podríamos empezar definiendo el diseño como una actividad que consta de
una serie de pasos, y teniendo como ejemplo la especificación del sistema,
obtenemos una representación de su arquitectura, de las estructuras de datos y de
los procedimientos.
Esta etapa de diseño es de suma importancia, ya que sobre él se realizará la
traducción al código que implementan realmente las funciones. El diseño comparte
varios aspectos con la programación, pero recordemos que no son lo mismo, ya que
el nivel de detalle es diferente en ambos casos.
Empezaremos desglosando el método de diseño orientado al flujo de datos,
que tiene como objetivo proporcionar un enfoque sistemático que nos permita
obtener las estructuras de programa.
DISEÑO Y FLUJO DE LA INFORMACIÓN
A partir del Diagrama de contexto (DFD de nivel 0), la información puede
representarse mediante un flujo continuo que sufre una serie de transformaciones
(procesos) conforme se dirige de la entrada a la salida.
El Diagrama de Flujo de Datos (DFD) se utiliza como herramienta gráfica
para la descripción del flujo de la información.
El Diseño Orientado al Flujo de Datos (DOFD) define varias representaciones
que transforman el flujo de la información en la estructura del programa.
El DOFD tiene sus orígenes en los primeros conceptos de diseño que
consideraban la modularidad, el diseño descendente o refinamiento y la
programación estructurada. EL DOFD amplió estas técnicas integrando el flujo
de información en el proceso de diseño.
3. La elección de un método de diseño depende del área de aplicación. El
método de DOFD es particularmente útil cuando la información se procesa de forma
secuencial y no existe una estructura de datos jerárquica. Para las aplicaciones de
tiempo real, conducidas por interrupciones, se realizan con una ampliación del
DOFD, que lo que hacen es una adaptación del método. En el caso en que el flujo
de datos no importe realmente, se suelen utilizar métodos de diseño orientados a
objetos.
CONSIDERACIONES SOBRE EL PROCESO DE DISEÑO
El DOFD permite una traducción sencilla de las representaciones de la
información de los DFD. Dicha traducción consta de cinco pasos:
1. Establecer el tipo de flujo de información.
2. Determinar los límites del flujo.
3. Convertir el DFD en la estructura del programa.
4. Definir la jerarquía de control mediante la factorización.
5. Refinar la estructura resultante mediante heurísticas del diseño
Ahora bien, los tipos de flujo de información son los que determinan como se
realiza la conversión de DFD a la estructura del programa, los tipos de flujo de
información son los siguientes:
Flujo de transformación: Ocurre de manera general, entrando por
caminos que transforman los datos, esto se llama flujo entrante, luego
estos datos pasan por otro camino en el que son transformados para salir,
mediante caminos, estos se llaman flujos salientes.
Flujo de transacción: Se caracteriza por tener un camino entrante y
dependiendo de lo que contenga la información puede tomar otros
caminos, este tipo de flujo puede tener como ejemplo los menús.
4. ANALISIS DE TRANSFORMACIÓN
Es un conjunto de pasos de diseño que permiten convertir un DFD con
características de flujo de transformación, en una estructura de programa,
dichos pasos son los siguientes:
1. Revisión del modelo fundamental del sistema
2. Revisión y refinamiento de los DFD del software
3. Determinar si el DFD tiene características de transformación o de
transacción
4. Aislar el centro de transformación especificando los limites de los flujos
entrantes y salientes
5. Realización del primer nivel de factorización
6. Ejecución del segundo nivel de factorización
7. Refinar la estructura inicial del programa utilizando medidas y
heurísticas de diseño
HEURISTICAS DEL DISEÑO
Una vez tengamos desarrollado una estructura de programa utilizando el
método del DOFD, se puede conseguir una modularidad efectiva aplicando los
principios de diseño y manipulando la estructura resultante que nos muestra este
conjunto de heurísticas:
Evaluar la estructura de programa preliminar para reducir el acoplamiento y
la cohesión.
Intentar minimizar las estructuras con alto grado de salida. Fomentar un alto
grado de entrada conforme aumente la profundidad.
Mantener el efecto de un modulo dentro del ámbito de control de ese modulo.
Evaluar las interfaces de los módulos para reducir complejidad, redundancia
y mejorar la consistencia.
Definir módulos cuyas funciones sean predecibles.
Fomentar módulos con entrada única y salida única.
5. OPTIMIZACIÓN DEL DISEÑO
Algunas pautas para la optimización del diseño:
Desarrollar y refinar la estructura del programa.
Usar herramientas que simulen el rendimiento de nuestro programa en
tiempo de ejecución para aislar las posibles áreas de ineficiencia.
Codificar en un lenguaje apropiado (Mejor si es lenguaje máquina).
Instrumentar el software para aislar módulos que consuman mucha
memoria de procesamiento.
Ejemplo de DOFD
Un claro ejemplo que podemos tener de hacer un DOFD es el de una caja en
un supermercado, pudiendo implementar un flujo de datos de entrada y un flujo de
salida simple de datos (Cuando imprimamos una factura), este ejemplo puede temer
los cambios que el personal quiera, implementando un flujo de transacción podemos
obtener información adicional sobre los datos de un cliente o de la misma factura
(Dirección fiscal/teléfono). Todos estos caminos haciéndolos con flujos de
transformación y con mecanismos de control le implementamos el flujo de
transacción.