¿Qué es un diagrama de flujo de datos?




Un diagrama de flujo de datos (DFD) traza el flujo de la información para cualquier proceso o sistema. Emplea símbolos definidos, como rectángulos, círculos y flechas, además de etiquetas de texto breves, para mostrar las entradas y salidas de datos, los puntos de almacenamiento y las rutas entre cada destino. Los diagramas de flujo de datos pueden variar desde simples panoramas de procesos incluso trazados a mano, hasta DFD muy detallados y con múltiples niveles que profundizan progresivamente en cómo se manejan los datos. Se pueden usar para analizar un sistema existente o para modelar uno nuevo. De forma similar a todos los mejores diagramas y gráficos, un DFD puede con frecuencia "decir" visualmente cosas que serían difíciles de explicar en palabras y funcionan para audiencias tanto técnicas como no técnicas, desde desarrolladores hasta directores. Esa es la razón por la que los DFD siguen siendo tan populares después de todos estos años. Aunque funcionan muy bien para software y sistemas de flujo de datos, en la actualidad no se aplican tanto para visualizar software o sistemas interactivos, en tiempo real u orientados a bases de datos.


Historia del DFD

Los diagramas de flujo de datos se popularizaron a finales de la década de 1970, a partir del libro Structured Design (Diseño estructurado), de los pioneros de la informática, Ed Yourdon y Larry Constantine. Lo basaron en los modelos computacionales de "gráficos de flujo de datos" de David Martin y Gerald Estrin. El concepto de diseño estructurado se popularizó en el campo de la ingeniería de software, y con este también lo hizo el método de DFD. Se volvió más popular en los círculos de negocios que en los círculos académicos, ya que se aplicó al análisis de negocios.

Contribuyeron además dos conceptos relacionados:

  • Análisis y diseño orientados a objetos (OOAD), propuesto por Yourdon y Peter Coad para analizar y diseñar una aplicación o sistema.
  • Análisis de sistemas estructurados y método de diseño (SSADM), un método de cascada para analizar y diseñar sistemas de información. Este riguroso enfoque de documentación contrasta con los ágiles enfoques modernos, tales como Scrum y el Método de desarrollo de sistemas dinámicos (DSDM).

Otros tres expertos que contribuyeron a este ascenso en la metodología de los DFD fueron Tom DeMarco, Chris Gane y Trish Sarson. Colaboraron en diferentes combinaciones y fueron los principales definidores de los símbolos y notaciones usados para un diagrama de flujo de datos.


CARACTERÍSTICAS DE UN DIAGRAMA DE FLUJO 

CAPACIDAD DE COMUNICACIÓN

Los diagramas permiten la puesta de conocimientos en común de diversas personas sobre un determinado proceso. Gracias a esta capacidad de comunicación se facilita la comprensión global.

  • FACILIDAD DE USO
  • ES EFICIENTE 
  • ES HOLÍSTICO
  • ES CODIFICABLE 
  • ES CLARA 
  • ES SINTÉTICA
  • ES VISIBLE A UN PROCESO O SISTEMA

A continuación, enumeramos otros tipos de flujos de trabajo comunes:
  • El diagrama de PERT.
  • El diagrama de flujo de trabajo.
  • El diagrama de flujo de carriles.
  • El diagrama de flujo de datos (DFD)
  • El diagrama de flujo de procesos (PFD)
  • El modelo y notación de procesos de negocios (BPMN 2.0)






Símbolos comunes de los diagramas de flujo

Estas figuras y símbolos para diagramas de flujo son algunos de los más comunes que encontrarás en la mayoría de los diagramas de flujo.

 

Símbolo de diagrama de flujoNombreDescripción
Símbolo de proceso de los diagramas de flujo
Símbolo de proceso

También conocido como "símbolo de acción", esta figura representa un proceso, una acción o una función. Es el símbolo más ampliamente usado en los diagramas de flujo.

Símbolo de inicio y fin de diagrama de flujo
Símbolo de inicio y fin

También conocido como "símbolo terminador", este símbolo representa el punto de inicio, el punto de fin y los posibles resultados de un camino. A menudo contiene las palabras "Inicio" o "Fin" dentro de la figura.

símbolo de documento de los diagramas de flujo
Símbolo de documento

Más específicamente, representa la entrada o la salida de un documento. Algunos ejemplos de entradas son recibir un informe, un mensaje de correo electrónico o un pedido. Algunos ejemplos de salida que usan un símbolo de documento incluyen generar una presentación, un memo o una carta.

Símbolo de decisión de los diagramas de flujo
Símbolo de decisión

Indican una pregunta que debe responderse —por lo general sí/no o verdadero/falso. El camino del diagrama de flujo puede dividirse en diferentes ramas, según la respuesta o las consecuencias que se sucedan.

Símbolo de conector de los diagramas de flujo
Símbolo de conector

Por lo general, este símbolo se emplea en los diagramas más complejos y conecta elementos separados en una página.

Símbolo de conector fuera de página de los diagramas de flujo
Símbolo de conector/enlace fuera de página

Frecuentemente se emplea en los diagramas más complejos para conectar elementos separados en múltiples páginas, con el número de página colocado sobre o dentro de la propia figura para una referencia sencilla.

Símbolo de entrada y salida de los diagramas de flujo
Símbolo de entrada y salida

Esta figura, que también se conoce como "símbolo de datos", representa los datos que están disponibles como entrada o salida, y también representa los recursos empleados o generados. A pesar de que el símbolo de la cinta de papel también representa la entrada/salida, está obsoleto y ya no se usa en los diagramas de flujo.




VARIABLE
Variable es un espacio en la memoria de la computadora    que permite almacenar temporalmente un dato durante la ejecución del proceso, su contenido puede cambiar durante la ejecución del programa. Para poder reconocer una variable de memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un  algoritmo.
Ejemplo: area=pi*radio ^ 2
Los datos numéricos se almacenan en las variables una vez en el ordenador en forma binaria (base 2), y los datos de caracteres como letras y frases se almacenan según el código ASCII de las letras, que es un código aceptado mundialmente para representar todos los caracteres posibles (Por lo menos en muchos idiomas). Este código es un numero desde 0 hasta 255 por lo que se almacena también en forma binaria. Los nombres de las variables deben seguir unas convenciones generales, que se crearon para evitar confusiones entre las variables y los operadores aritméticos. Estas son:
  • No pueden comenzar con números.
  • No pueden contener símbolos u operadores en ninguna posición del nombre, excepto el carácter "_".
  • No pueden contener espacios.
Como ejemplo aquí hay varios nombres para variables:
  • A : Es un nombre correcto, aunque posiblemente muy poco mnemotécnico.
  • A23: correcto.
  • OJO5MALO : correcto.
  • HOLA# : incorrecto, ya que tiene un símbolo dentro de su nombre.
  • A 23 : incorrecto, porque hay un espacio dentro del nombre.
  • A-23 : incorrecto.
  • A_23 : correcto, ya que el carácter "_" es el único símbolo permitido para nombrar variables; se puede usar para separar palabras dentro del nombre de una misma variable. Otro ejemplo podría ser: PRIMER_NOMBRE o RADIO_CIRCULO.
Una característica de las variables es que son Case Sensitive, es decir que son sensibles al hecho de sí el nombre fué escrito con mayúsculas o minúsculas, por lo que si se llamó a una variable A23, dentro de las demás instrucciones del algoritmo, cuando se haga referencia a ésta variable, no podrá utilizarse a23 ya que se tomarían como dos variables diferentes.

Para almacenar valores a las variables se utilizará el operador de asignación ( < - ) y se lee "a 'variable' se le asigna 'valor'".

Como se dijo anteriormente, una variable puede contener números, letras, frases, etc., por lo que en un lenguaje de programación, sería necesario al principio del algoritmo definir que clase de datos se van a almacenar y en que variables, pero en el caso del diagrama de flujo esto no es necesario y suponemos que una variable puede ser de cualquier "tipo", pero al asignarle un valor que no sea numerico (una letra, o una frase) debemos tener en cuenta que dicho valor debe estar entre comillas simples (ej.: 'frase').

Los tipos de datos que el DFD soporta son tres: Real que van desde -1*1020002000 Ejemplo: 1998, 1.00007, 0, 328721, -3247781; los de cadena de caracteres que es una secuencia de caracteres encerrada entre comillas simples. Por ejemplo: 'Diagramar es fácil', 'México', '1995'; y los de tipo lógico

En DFD las variables son tratadas sin diferenciar a las mayúsculas de las minúsculas; es decir, CASA equivale a casa. Cuando una variable recibe un valor por primera vez, el tipo de dato de ésta será igual al tipo de dato del valor.
hasta el 1*10 que indican valores de verdadero y falso y se representan por una V o F encerradas entre puntos. Ejemplos: .V., .F., .f., .v.

En los diagramas de flujo, las asignaciones a variables se encierran en RECTANGULOS para diferenciarlas de los demás tipos de instrucciones. Aqui tenemos varios ejemplos de asignaciones en diagramas de flujo:


d

Como se puede ver en el segundo rectángulo se le asignó a otra variable (Edad2) el valor de Edad (el cual contenía 23), por lo que obviamente Edad2 termina valiendo 23, pero que pasaría si a Edad no se le hubiera asignado nada antes?

En este caso, la variable Edad vale lo que se conoce como BASURA, es decir, cualquier valor no controlado en el algoritmo.

DEFINICIÓN - BASURA.- Cuando se hace uso de una variable, se debe ver si se le ha asignado un valor antes de usarla, ya que de lo contrario contiene lo que se denomina BASURA. La basura simplemente aparece cuando a una variable se le asigna espacio en la memoria del ordenador. Dicho espacio no está en blanco ya que como los datos internamente en el ordenador se manejan en forma binaria hay una cantidad determinada de unos y ceros en ese espacio (Estados aleatorios que se crean cada vez que se enciende el ordenador). Si no se asigna a dicha variable un valor y simplemente se utiliza en una operación aritmética o una asignación, el valor de la variable dependerá de los unos y ceros que había cuando se le asignó el espacio, es decir, no se sabrá con seguridad cual es el valor de esa variable en ese momento, por lo que podría producir graves errores en las siguientes instrucciones del algoritmo.

EJEMPLO EN DFD:

Para implementar el ejemplo anterior en DFD, ejecutamos el programa DFD.EXE e inmediatamente aparecerá un "algoritmo" con las etiquetas de inicio y final, pero sin instrucciones intermedias.
En la parte superior izquierda se verá un menú con botones los cuales tienen los simbolos para los diferentes tipos de instrucciones en un algoritmo.
Para asignación se elige el rectángulo:

m

Luego se coloca el cursor del MOUSE sobre la posición en la cual se va a colocar la instrucción de asignación (en este caso, entre las etiquetas de inicio y fin) hasta que aparezca el dibujo de una "mano".

a

Se hace click e inmediatamente aparece el rectángulo de asignación.
Ahora, para colocar las variable se hace doble click sobre el nuevo rectángulo y voalá, ya podemos colocar las variables y los valores a asigarles.

a

En el programa DFD, se hace un pequeño control a las variables que contengan BASURA.
Esto se puede apreciar ya que si implementamos el ejemplo en el que a "Edad" no se le asignaba ningun valor, sale un error como el siguiente:

a

NOTA: Para verificar si un algoritmo está correcto se presion el botón de EJECUTAR.

a









Comentarios

Entradas más populares de este blog