Diagrama de Flujo de
Datos (DFD)
Ingeniería de Software I
M.Sc. Idalia Maldonado Castillo
Diagrama de Flujo de Datos

Técnica de análisis estructurado en la cual
se hace una representación gráfica de los
procesos de los datos el cual enfatiza la
lógica del sistema.
Caracterizan gráficamente los procesos de
los datos y el flujo del sistema.
 Dan una visión amplia de la entrada,
procesos y la salida del sistema

Simbología (Gane & Sarson)
Entidad
Flujo de Datos
Almacén de Información
Proceso

Símbolos usados para dibujar el movimiento de los DFD.
Ejemplo
Entidad
EJEMPLO
DESCRIPCION
Estudiante
Persona, departamento o equipo que puede
mandar o recibir datos del sistema.
Interactua con el sistema y muestra el
recurso inicial y el recipiente final de la
informacion.
Flujo de Datos
Informacion del
Nuevo estudiante
2.1
Proceso
Almacén de Información
Crear
expediente
estudiante
D3 Expediente estudiante
Muestra el movimiento de datos de un punto
a otro con la punta hacia el destino de la
informacion (datos).
Representa datos sobre una persona,
departamento.
Refleja el proceso de un cambio o
transformacion de los datos. Los datos que
entran son diferentes a los que entran. Se le
asigna un numero unico para identificar su
nivel en el diagrama.
Almacena datos que puede ser un lugar,
archivo, base de datos, etc.
Se le asigna un numero de referencia unico
para identificar su nivel.
Desarrollando un DFD de alto a bajo nivel
(Top-Down)
1.
2.
3.
4.
5.
6.
Crear un Diagrama de Contexto.
Crear un Diagrama de Nivel 0.
Crear un diagrama hijo para cada uno de
los procesos del Diagrama 0.
Verificar posibles errores.
Desarrollar un DFD físico a partir del DFD
lógico.
Dividir el DFD físico, agrupando partes
que facilitan la programación.
Diagrama de Contexto
Entidad
1
Entrada A
0
Entrada B
Nombre
del
Sistema
Salida C
Entidad
3
Entidad
2



Incluye entradas básicas, el sistema general y las salidas.
El proceso tiene el numero 0.
Es el diagrama de mas alto nivel en un DFD y contiene solo
un proceso, representando el sistema entero.
Diagrama 0
1
Entidad
1
Entrada A
Proceso
General
AAA
Flujo de
Datos B
Flujo de
Datos C
Registro A
D1
Almacen de Datos 1
D2
Almacen de Datos 2
Registro E
3
Entrada B
Proceso
General
BBB
Registro E
Registro A
Entidad
2
2
Proceso
General
CCC
Flujo de
Datos D
4
Proceso
General
DDD
Salida C
Entidad
3
Diagrama 0




Las entradas y salidas especificadas en el diagrama de
contexto se mantienen.
El diagrama se detalla en acercamientos que envuelven de
3 a 9 procesos, mostrando almacenes de información.
El manejo de excepciones o errores se ignoran.
Cada proceso esta numerado con un entero, generalmente
empezando de izquierda a derecha.
Diagrama 0







Sugerencias para la creación del diagrama 0
Para crear este diagrama se sugiere preguntar:
Que pasa con la información que entra al sistema?, es
almacenado? Es entrada para varios procesos?.
Para una salida preguntar: de donde viene? Se calculo o
viene de un archivo?
Para el flujo de datos y almacenes de información: que
procesos usan estos datos?, que procesos pusieron esa
información en el almacén de datos?
Buscar que entrada necesita el proceso y la salida que
genera. Luego conecta la entrada con la salida a los
almacenes de información y entidades.
Tomar nota sobre áreas que son imprecisas, esto ayuda
para futuras entrevistas.
Diagrama Padre
D1
Almacen de Datos 1
Registro A
Entidad
2
3
Entrada B
Proceso
General
CCC
Diagrama Hijo
4
Flujo de
Datos D
Proceso
General
DDD
D1
Almacen de Datos 1
Registro A
3.1
Entrada B
Proceso
Detallado
XXX
3.2
Registro de
Transaccion 1
D5
Archivo de
Transaccion 1
Registro de
Transaccion 1
Proceso
Detallado
YYY
Flujo de Datos
Detallado Z
3.3
Proceso
Detallado
ZZZ
Flujo de
Datos D
Diagrama Hijo





La regla principal es que el hijo debe tener las mismas
entradas y salidas que el padre, a esto se le llama Balance
Vertical.
El diagrama hijo tendrá el mismo numero que el padre y los
procesos del diagrama hijo tienen un numero decimal, por
ejemplo el padre es 3 y los hijos serán 3.1, 3.2 y así
sucesivamente.
Las entidades generalmente no se muestran en los
diagramas hijo debajo de un Diagrama 0 (es decir las
entidades que van o que salen del hijo).
Almacenes de información se pueden incluir en el diagrama
hijo.
Errores se pueden incluir en el diagrama hijo pero no en el
diagrama padre.
Verificar Errores
2
1
3
Todos los flujos de datos
deben originarse o terminar
en un proceso.
Flujos de datos no deben
Dividirse en dos o mas
flujos de datos diferentes.
3
Los procesos necesitan
tener al menos una
entrada y una salida.
Verificar Errores

Error: conectar almacenes de datos y entidades externas
directamente una a otra.

Error: data stores y entidades se pueden conectar solo con
un proceso intermedio.

2 entidades no se comunican entre ellas a menos que el
sistema sea intermediario en la comunicacion

Para nombrar los procesos y flujo de datos.

Procesos: verbo + sustantivo + adjetivo
Flujo de datos: sustantivo

Diagrama de Contexto
0
Cliente
articulos
Sistema
para una
tienda
miscelanea
Total
Cliente
Diagrama 0
D1
Precios
Precios
Pago
Cliente
Artículos
a comprar
1
2
3
4
Identificar
artículo
Buscar
precios
Calcular
total
Completar
transacción
y emitir
recibo
Identificador
de artículo
Artículos
y precios
Total a
pagar
Cliente
Recibo
DFD Lógico
D1
Cliente
Artículos
a comprar
1
Identificar
artículo
Precios
Cliente
Precios
2
Identificador
de artículo
Buscar
precios
Recibo
Pago
4
3
Artículos
y precios
Calcular
total
Total a pagar
Completar
transacción
y emitir
recibo
DFD Lógico y Físico.
Lógico: se enfoca en el negocio y como
opera el negocio, en este punto del
diagrama no interesa como se va a
construir. Se describen los eventos que
ocurren y los datos necesarios y producidos
por el evento.
 Físico: muestra como se va a implementar
el sistema incluyendo hardware, archivos y
personas involucradas en el sistema.

DFD Lógico
Precios
D1
Cliente
Artículos
a comprar
Precios
1
Identificar
artículo
Cliente
Pago
2
4
3
Buscar
precios
Identificador
de artículo
Artículos
y precios
Recibo
Calcular
total
Total a pagar
Completar
transacción
y emitir
recibo
DFD Físico
D1 Archivo de Precios
Cliente
Artículos
a comprar
1
Pasar
artículos
por el
escaner
(manual)
Código
de barras
Descripción
de artículos
y precios
D2
Articulos
y precios
2
Código de
Barras del
artículo
Buscar
código y
precio en
archivo
Archivo de
Transaccion Temporal
Articulos,
precios y
subtotales
Cliente
Efectivo,
tarjeta
débito
3
Artículos
y precios
Calcular
costo
total
Total a pagar
Recibo de
caja
registradora
4
Recibir
dinero y
dar el
recibo
(manual)
Ventajas de DFD Lógico





Mejor comunicación con usuarios.
Sistemas mas estables (esta basado en
eventos del negocio y no en una tecnología
particular o método de implementación).
Mejor entendimiento del negocio por los
desarrolladores.
Flexibilidad y mantenimiento (el negocio no
cambia pero si los aspectos físicos del
sistema).
Eliminar redundancia y fácil creación del
modelo físico.
Ventajas de DFD Físico





Clarifica cuales procesos son manuales y
cuales son automáticos.
Describe procesos en mas detalle que los DFD
lógicos.
Hace secuencia de procesos que tienen que
ser hechos en un orden particular.
Identifica almacenes de datos temporales.
Especifica nombres de archivos reales.
Dividir el DFD físico (partitioning)



Partitioning es el proceso de analizar el DFD
y dividir/distinguir los procesos manuales y
los automáticos.
Una línea punteada se dibuja alrededor de
los procesos que deben incluirse en un
mismo proceso manual o automático.
Los procesos automáticos se agrupan en un
mismo programa, estos pueden ser Batch o
en linea.
Procesos Manuales, Batch y en Linea



Procesos manuales: son ejecutados por
personas.
Batch: es cuando el proceso recibe y
produce información que es generada y
accesada por una computadora sin requerir
intervención humana.
La interfaz en linea es usada cuando el flujo
de datos liga un proceso manual o una
entidad externa a un proceso automático y
requiere de una interfaz de usuario(reporte,
ventana, menus, etc.)
Razones para dividir un DFD
Diferentes grupos de usuarios
 Tiempo (si dos procesos se ejecutan en diferentes

tiempos no pueden ser agrupados)

Tareas similares

Eficiencia

Consistencia de la información
(se agrupan si tienen tareas
similares y ambos son procesos Batch)
(se pueden agrupar varios procesos Batch en
uno solo, cuando tienen que usar el mismo achivo de
entrada)
(procesos que
usan y/o actualizan la misma información)

Seguridad
(por ejemplo cuando un sistema procesa el
alta de un nuevo cliente y el proceso de cambiar la
información confidencial)
Ventajas de un DFD
Sencillez en la notación.
 No requiere implementación física o
técnica (antes de tiempo).
 Mejor comprensión entre el sistema y sus
subsistemas.
 Mayor facilidad para transmitir el
conocimiento del sistema a los usuarios.
 Facilidad para determinar si todos los
datos y procesos necesarios para el
sistema han sido definidos.

Limitantes de los DFD

No son buenos para mostrar el manejo de
errores o casos especiales.

No especifica como se usan las entradas y
como se producen las salidas.
A
B
C
A
B
C
E
D
F
E
F
Limitantes de los DFD
A
B
A
B
C
E
D
F
E
F
C


El proceso D necesita todas o solo un dato A, B o C para
ejecutarse?
El proceso D genera un solo dato o E y F al mismo tiempo?
Simbología de Yourdon & Coad
Entidad
Flujo de Datos
Almacén de Información
Proceso
Descargar

dfd