DFD
DFD
DFD
4.1 Concepto
Los diagramas de flujos de datos (DFD), es una técnica de modelización, que nos
muestra un sistema como una red de procesos conectados entre ellos por flujos y
almacenamientos de datos.
Página -1-
Diagramas de Flujo de Datos
Los métodos para el análisis de flujo de datos fueron desarrollados y promovidos por
dos organizaciones al mismo tiempo, Yourdon Inc (compañía de consultoría) y Mc
Donnell-Douglas (Gane and Sarson). En nuestro libro la notación utilizada será la de
Yourdon . Los DFD’s se pueden dibujar con sólo cuatro elementos gráficos sencillos, que
son:
♦ Procesos: El primer componente del DFD. El proceso muestra una parte del
sistema que transforma entradas en salidas, suelen ser personas,
procedimientos o dispositivos que utilizan o transforman datos. El proceso se
representa gráficamente como un círculo. Los sinónimos comunes son
burbuja, función o transformación.
figura 1: Proceso
♦ Flujo de datos: Se representa gráficamente por medio de una flecha que entra
o sale de un proceso. El flujo se usa para describir el movimiento de bloques
de información de una parte del sistema a otra. Por ello, los flujos representan
datos en movimiento, mientras que los almacenes representan datos en reposo.
En algún módelo puede representar movimiento de material. Los flujos
muestran la dirección; según si los datos se está moviendo hacia adentro o
hacia afuera de un proceso (o ambas cosas).
Página -2-
Diagramas de Flujo de Datos
◊ Salida.
Generar
Itinerario Itinerario Conductor
Conductor
◊ Divergente, Convergente.
Cuando una misma información se envía a procesos diferentes, o cuando una
información compleja se descompone en varios datos mas sencillos cada uno
de los cuales va a un proceso diferente (divergente). Varios paquetes de datos
se juntan para formar parte de paquetes de datos mas complejos
(convergente).
Página -3-
Diagramas de Flujo de Datos
Código Postal
Domicilio del
usuario
Número telefónico
Calle
figura 7: Almacenamiento
Página -4-
Diagramas de Flujo de Datos
◊ Son externos al sistema que se está modelando ; los flujos que conectan
los terminadores a diversos procesos (o almacenes) en el sistema
representan la interfaz entre él y el mundo externo.
◊ El analista de sistemas no puede modificar los contenidos, la
organización ni los procedimientos internos asociados en posibilidades
de cambiar los contenidos de un terminador o la manera en que trabaja.
El terminador con lo que representa está fuera del dominio.
◊ Las relaciones existentes entre los terminadores no se muestran en el
modelo DFD. Si existen relaciones entre los terminadores y si es
esencial para el analista modelarlos para poder documentar los
requerimientos y si es esencial para el analista modelarlos para poder
documentar los requerimientos del sistema, entonces ,por definición ,los
terminadores son en realidad parte del sistema y debieran modelarse
como procesos.
Deberemos respondernos una serie de preguntas como ¿cómo se piden los datos?,
¿en qué secuencia se reciben los datos?, ¿en qué secuencia se generan?, no deben ser
respuesta de los DFD´s, estas respuestas forman parte del procedimiento.
Cada componente en un diagrama de flujo de datos tiene una etiqueta con un nombre
descriptivo. Los nombres de los procesos también reciben un número para poder
identificarlo.
FLUJO 2 FLUJO 5
FLUJO 3
PROCESO 2
ALMACEN DE DATOS
Página -5-
Diagramas de Flujo de Datos
Página -6-
Diagramas de Flujo de Datos
PROCESO(1/2)
PROCESO(2/2)
La respuesta es organizar el DFD global en una serie de niveles de modo que cada
uno proporcione sucesivamente más detalles sobre una porción del nivel anterior. Esto es
Página -7-
Diagramas de Flujo de Datos
análogo a la organización de mapas en una atlas, de modo que un mapa global nos muestra
un país completo, pero los mapas subsecuentes mostrarían los detalles de los países
individuales, los estados individuales dentro de los países.
De modo que se construirá una jerarquía de diagramas, en donde cada nivel inferior
es una expansión de un proceso del nivel superior.
1. ¿ Cómo saber cúantos niveles debe haber en un DFD ? No hay ninguna regla
para decidir cuantos niveles ha de tener un DFD. Pero dado que un DFD es
aconsejable que no tenga mas de media docena de burbujas y almacenes
relacionados, si nos aparece un nivel que contenga un número muy superior
deberemos insertar un nuevo nivel a los que hubiere. Hay que procurar que
haya equilibrio en la distribución de todos los elementos gráficos entre todos
los niveles del DFD.
2. ¿Deberemos de dividir todas las partes del sistema con el mismo nivel de
detalle ? La respuesta será que no. Algunas partes del sistema pueden ser más
complejas que otras y pueden requerir uno o más niveles de partición. En el
caso que nos encontremos con desigualdades respecto a la división de un
procesos respecto a otros, deberemos nivelar el DFD para lograr un
equilibrio.
3. ¿Cómo nos aseguraremos que los niveles del DFD son consistentes entre sí ?
Esta cuestión es importante, ya que normalmente existe un desarrollo entre
distintas personas en un proyecto real, así como una división del trabajo. Para
asegurarse que cada figura es consistente con su figura de más alto nivel se
sigue una regla sencilla : los flujos entrantes y salientes de una burbuja en un
nivel dado deben corresponder con los que entran y salen de toda la figura en
Página -8-
Diagramas de Flujo de Datos
1 2
X Y
3 4
Z
(n)
Página -9-
Diagramas de Flujo de Datos
2. Se representa una caja de proceso grande para ver con mas detalle su
funcionamiento.
3. Todos los procesos a que da lugar la explosión del proceso n, se van
numerando como n.1, n.2, n.3, n.4, etc.
4. Todos los flujos de datos que llegaban al proceso n tienen que llegar al
conjunto n.1, n.2, n.3, etc. Aplicando estas normas a la explosión del proceso
3 obtendríamos el resultado de la figura 12.
3.1
3.2
3.3
3.4
Z
Y
5. Todos los flujos de datos que salían del proceso n tienen que salir del conjunto
n.1, n.2, n.3, etc.
6. Al estudiar en más detalle el funcionamiento del proceso n, y tener en cuenta
el tratamiento de errores y excepciones es posible que surjan nuevos flujos de
datos del conjunto del procesos explosionados con el exterior.
Si estos flujos son fruto del tratamiento de errores figura 11 y excepciones se
marcan con una X para resaltar el hecho de que no tienen que aparecer en el
DFD original (donde se definió el proceso n).
Si hay otros flujos adicionales con el exterior se tendrían que reflejar en el
DFD original.
7. En la explosión pueden aparecer almacenamientos de datos privados, es decir
que son utilizados exclusivamente por los procesos n.1, n.2, n.3, etc. Estos
almacenamientos quedan reflejados dentro del marco del proceso n y se
identifican como Dn.1, Dn.2, Dn.n, etc.
8. Todas las entidades externas han de estar fuera del marco de la explosión.
Página -10-
Diagramas de Flujo de Datos
Página -11-
Diagramas de Flujo de Datos
Una vez superada esta primera fase de conocimiento del sistema actual, es necesario
descifrar los aspectos más importantes de cada actividad. Los diagramas lógicos nos
permiten describir los datos, procesos y eventos de forma abstracta, ya que el analista debe
conocer el trabajo que debe realizarse mas que las personas que en la actualidad lo
realizan. Los analistas generalmente comienzan por la construcción de un modelo físico
por que los componentes físicos se pueden identificar realmente durante el análisis y
después lo convierten a un modelo lógico. Pero veamos como podemos hacer esto con un
ejemplo:
Partamos del siguiente DFD físico de la figura 13, donde podemos apreciar dos
componentes físicos:
♦ el encargado de recepción, que recibe un pedido y lo verifica para determinar
si es del tipo que fabrica la organización. Si la respuesta es no, el pedido no se
acepta; si es sí, pasa a la sección de producción.
♦ sección de producción, que comprueba si la máquina para hacer el pedido
está disponible. Si no, el pedido no se acepta; en otro caso, se encargan los
recursos para la producción del pedido.
Página -12-
Diagramas de Flujo de Datos
Clasificar
por áreas
Pedido
2
Pedido no comprobado
aceptado
CLIENTES
Encargado
Pedidos
de
Pedido clasificados
Recepción
1
Imposible
servir pedido Enviar a
Pedidos sección de
despachados producción
3
Sección de
producción
4
Durante la conversión, primero se pasan todos los procesos que hacen referencia a
actividades físicas, en el ejemplo y enviar a la sección de
producción.
El resto de los procesos físicos se expanden después dentro de sus funciones lógicas.
Para ello se toma cada proceso físico, se busca qué es lo que hace y se reemplaza por un
DFD de funciones lógicas expandido que represente las actividades de un objeto físico. En
la figura 19 podemos apreciar como el encargado de recepción se reemplaza por dos
funciones que son registrar pedido y comprobar tipo de pedido. De la misma forma
sección de producción es reemplazado por sus dos funciones comprobar recursos
disponibles y encargar recursos a producción.
Página -13-
Diagramas de Flujo de Datos
Pedido no aceptado
Pedido
comprobado
PEDIDOS
Comprobar
Pedido aceptado recursos
disponibles
4.1
Encargar
recursos a Imposible
producción servir
4.2 pedido
RECURSOS
CLIENTES
Página -14-
Diagramas de Flujo de Datos
Imposible producir
Pedido
aceptado
PEDIDOS RECURSOS
Encargar
Recursos a
Producción
3
Los diagramas físicos de flujo de datos son un medio para alcanzar un fin, no un fin
en sí mismos. Se elaboran para describir la implantación del sistema existente, con el
objetivo de tener la comprensión correcta de la implantación real del sistema existente.
Las reglas a tener en cuenta, para el dibujo de los diagramas lógicos de flujo de
datos:
Página -15-
Diagramas de Flujo de Datos
1. Cualquier flujo de datos que abandone un proceso debe estar basado en los
datos que entran al proceso.
2. Todos los flujos de datos reciben un nombre, el nombre refleja los datos que
fluyen entre procesos, almacenes de datos, fuentes o destinos.
3. Sólo deben entrar al proceso los datos necesarios para llevarlo a cabo.
4. Un proceso no debe saber nada de ningún otro en el sistema, es decir debe ser
independiente, la única dependencia que debe existir es aquella que esté
basada en sus propios datos de entrada y salida.
5. Los procesos siempre están en continua ejecución, no se inician, ni tampoco
se detienen.
6. La salida de los procesos puede tomar una de las siguientes formas:
♦ Flujo de datos con información añadida por el proceso (v.gr
anotación en la factura).
♦ Una respuesta o cambio en la forma de los datos (v.gr cambio en
la forma de expresar los datos).
♦ Un cambio de condición (v.gr de no autorizado a autorizado).
♦ Un cambio de contenido (v.gr integración o separación de la
información contenida en uno o mas flujos entrantes de datos).
♦ Cambios en la organización (v.gr separación física o reacomodo
de datos).
Para identificar los procesos utilizamos los números 1.0, 2.0 y 3.0. Podemos hacer
referencia por su número (1.0) o por su nombre (Autorización de facturas).
Lo importante es entender que los diagramas de flujo de datos lógicos son una
herramienta de ayuda para ayudar la comprensión del sistema de la Organización. De
modo que un diagrama deja de ser útil cuando no es comprensible. Por lo tanto, debe
primar el sentido común, y no determinar normas estrictas para su construcción.
Página -16-
Diagramas de Flujo de Datos
Los errores mas comunes cometidos al incluir los controles físicos en los diagramas
lógicos de flujo de datos. Por ejemplo: El copiado de números para documentos (copia
1,copia 2, copia para contabilidad), de instrucciones (encontrar el registro, revisar el
registro), o días para el inicio de actividades (hacerlo el lunes) no tienen nada que ver con
los aspectos lógicos y de datos de determinación de requerimientos.
Página -17-
Diagramas de Flujo de Datos
Todos los flujos de datos deben tener un nombre que refleje con exactitud su
contenido. Los nombres dados a los flujos de datos deben reflejar los datos de interés para
los analistas, no los documentos o el lugar donde residen. Por ejemplo, una factura
contiene varios elementos diferentes de información. Los analistas están interesados en
aquellos que son importantes para un proceso en particular. Estos pueden ser el número de
la factura y la fecha de expedición, o la firma de autorización de la factura. Lo importante
no es la hoja de papel. Los datos que fluyen hacia los procesos experimentan cambios. Por
consiguiente, el flujo de datos de salida tiene un nombre diferente al de entrada.
Se deben asignar nombre a todos los procesos que les digan a los usuarios algo
específico con respecto a la naturaleza de las actividades del proceso. Los nombres Control
de Inventarios, Compras y Ventas, es mejor utilizar Ajustar cantidad, preparar orden de
compra o corregir pedido de ventas.
También hemos hablado de numerar los procesos con los números 1, 2, 3, 4 y 5. Los
procesos generados con la expansión de cada uno de ellos sen los niveles inferiores se les
asigna un decimal para indicar que son descripciones detalladas de un proceso de nivel
superior.
Es fundamental verificar con cuidado todos los diagrmas de flujo para determinar si
son correctos. La presencia de lo que parece ser un error señale una deficiencia en el
sistema. Debemos hacernos una serie de preguntas, que nos sirvan de ayuda para evaluar
los diagramas de flujo de datos:
1. ¿Existen en el diagrama de flujo de datos componentes que no tienen nombre
Página -18-
Diagramas de Flujo de Datos
Página -19-
Página -21-