Sunteți pe pagina 1din 24

Diagrama de Flujo de

Datos ( DFD s )

Ingenieria de Software
Mtro. Miguel A. Muoz A.

Concepto
Niveles DFD
Caractersticas

Concepto

Simbologa
Componentes
Representacin
Complementos
Gua

Un diagrama de flujo de datos (DFD por sus siglas en


espaol e ingls) es una representacin grfica del "flujo"
de datos a travs de un sistema de informacin.

Ejemplo

Un diagrama de flujo de datos tambin se puede utilizar


para la visualizacin de procesamiento de datos (diseo
estructurado).

Ingenieria de Software
Mtro. Miguel A. Muoz A.

Concepto
Niveles DFD
Caractersticas

Concepto

Simbologa
Componentes
Representacin
Complementos
Gua

Es una prctica comn para un diseador dibujar un


contexto a nivel de DFD que primero muestra la interaccin
entre el sistema y la entidades externas.

Ejemplo

Los diagramas de flujo de datos fueron inventados por


Larry Constantine, el desarrollador original del diseo
estructurado, basado en el modelo de computacin de
Martn y Estrin: "flujo grfico de datos" .

Ingenieria de Software
Mtro. Miguel A. Muoz A.

Concepto
Niveles DFD
Caractersticas

Concepto

Simbologa
Componentes
Representacin
Complementos
Gua

Los diagramas de flujo de datos (DFDs) son una de las tres


perspectivas esenciales de Anlisis de Sistemas
Estructurados

Ejemplo

Con un diagrama de flujo de datos, los usuarios van a


poder visualizar la forma en que el sistema funcione, lo que
el sistema va a lograr, y cmo el sistema se pondr en
prctica

Ingenieria de Software
Mtro. Miguel A. Muoz A.

Concepto
Niveles DFD
Caractersticas

Concepto

Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

Los diagramas de flujo de datos pueden ser usados para


proporcionar al usuario final una idea fsica de cmo
resultarn los datos a ltima instancia, y cmo tienen un
efecto sobre la estructura de todo el sistema.
La manera en que cualquier sistema es desarrollado puede
determinarse a travs de un diagrama de flujo de datos.
El desarrollo de un DFD ayuda en la identificacin de los
datos de la transaccin en el modelo de datos.

Ingenieria de Software
Mtro. Miguel A. Muoz A.

Concepto
Niveles DFD
Caractersticas

Niveles de un DFD

Simbologa
Componentes
Representacin
Complementos

Los diagramas derivados de los procesos principales se


clasifican en niveles, los cuales son:

Gua
Ejemplo

Nivel 0: Diagrama de contexto.


Nivel 1: Diagrama de nivel superior.
Nivel 2: Diagrama de detalle o expansin.

Ingenieria de Software
Mtro. Miguel A. Muoz A.

Concepto
Niveles DFD
Caractersticas

Caractersticas

Simbologa
Componentes
Representacin
Complementos
Gua

Diagrama de Contexto: Nivel 0.


En el diagrama de contexto solo se dibuja el proceso
principal y los flujos entre este y sus entidades externas.

Ejemplo

Diagrama de Nivel Superior: Nivel 1.


En el diagrama de nivel superior se plasman todos los
procesos que describen al proceso principal. En este
nivel los procesos no pueden interrelacionarse
directamente, sino que entre ellos siempre debe existir
algn almacenamiento o entidad externa que los una

Ingenieria de Software
Mtro. Miguel A. Muoz A.

Concepto
Niveles DFD
Caractersticas

Caractersticas

Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

Diagrama de Detalle o Expansin: Nivel 2.


A partir del nivel 2 de detalle, los procesos pueden
interrelacionarse directamente, sin necesidad de
almacenamiento que los una.

Cabe destacar que en el nivel 1 y 2 siempre los


procesos deben tener las entradas y las salidas dadas
en el diagrama de contexto.

Ingenieria de Software
Mtro. Miguel A. Muoz A.

Concepto
Niveles DFD
Caractersticas

Simbologa

Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

Ingenieria de Software
Mtro. Miguel A. Muoz A.

Concepto
Niveles DFD
Caractersticas

Componentes

Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

PROCESOS (burbujas): representan la parte del sistema


que transforma ciertas entradas en ciertas salidas.
Representar la transformacin del flujo de datos.
Muestra cmo una o ms entradas se transforman en
salidas. Su nombre comienza con un verbo y es lo
suficientemente largo y claro para que cualquier persona
entienda de qu se trata.
Dichas funciones van numeradas para diferenciarlas en un
mismo nivel mostrando la jerarqua entre los niveles.
FLUJOS: representan los datos en movimiento. Pueden ser
flujos de entrada o flujos de salida. Los flujos conectan
procesos entre s y tambin almacenes con procesos.
Ingenieria de Software
Mtro. Miguel A. Muoz A.

10

Concepto
Niveles DFD
Caractersticas

Componentes

Simbologa
Componentes
Representacin
Complementos

ALMACENES: representan datos almacenados. Pueden


ser una base de datos, un archivo fsico, etc.

Gua
Ejemplo

TERMINADORES: representan entidades externas que se


comunican con el sistema. Esas entidades pueden ser
personas, organizaciones u otros sistemas, pero no
pertenecen al sistema que se est modelando.

Ingenieria de Software
Mtro. Miguel A. Muoz A.

11

Concepto
Niveles DFD
Caractersticas

Componentes

Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

Existen procesos y flujos especiales llamados procesos de


control y flujos de control. Se emplean para modelar
sistemas en tiempo real.
Los flujos de control son seales o interrupciones, en tanto
los procesos de control son burbujas que coordinan y
sincronizan otros procesos. Los procesos de control slo se
conectan con flujos de control.
Los flujos de control de salida "despiertan" otras burbujas,
en tanto los flujos de control de entrada, especifican que
una tarea termin o se present un evento extraordinario.

Ingenieria de Software
Mtro. Miguel A. Muoz A.

12

Concepto
Niveles DFD
Caractersticas
Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

Representacin de un DFD de
un Sistema
Un sistema puede representarse empleando varios
diagramas de flujos de datos, cada flujo de datos puede
representar una parte "ms pequea" del sistema.
Los DFD permiten una particin por niveles del sistema. El
nivel ms general se representa con un DFD global llamado
diagrama de contexto.
El diagrama de contexto DFD representa a todo el sistema
con una simple burbuja o proceso, las entradas y salidas de
todo el sistema, y las interacciones con los terminadores.

Ingenieria de Software
Mtro. Miguel A. Muoz A.

13

Concepto
Niveles DFD
Caractersticas

Complementos de un DFD

Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

Los DFD suelen servir para comprender fcilmente el


funcionamiento de un sistema. De todas maneras, no es la
nica herramienta para diagramar sistemas, es ms, se
debe complementar con otras herramientas para agregar
comprensin y exactitud al DFD.
Otras herramientas que se complementan con los DFD son
los diccionarios de datos, las especificaciones de procesos,
los diagramas de entidad relacin, los diagramas de
transicin de estados, etc.

Ingenieria de Software
Mtro. Miguel A. Muoz A.

14

Concepto
Niveles DFD
Caractersticas
Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

Gua para la construccin de


DFD.
Las reglas incluyen las siguientes:
Escoger nombres con significado para los procesos,
flujos, almacenes y terminadores.
Numerar los procesos.
Evitar los DFD excesivamente complejos
Redibujar el DFD tantas veces como sea necesario
estticamente.
Asegurarse de que el DFD sea lgicamente consistente
y que tambin sea con cualesquiera DFD relacionados
con l.
Extensiones del DFD para sistemas de tiempo real

Ingenieria de Software
Mtro. Miguel A. Muoz A.

15

Concepto

Nombres Significativos

Niveles DFD
Caractersticas
Simbologa
Componentes
Representacin

Un proceso en un DFD puede representar una funcin que se est


llevando a cabo, o pudiera indicar cmo se est llevando a cabo,
identificando a la persona, grupo o mecanismo involucrado.

Un buen sistema que se puede utilizar para nombrar procesos es usar un


verbo y un objeto. Es decir, escoja un verbo activo (un verbo transitivo que
tenga objeto) y un objeto apropiado para formar una frase descriptiva para
el proceso. Los siguientes son ejemplos de nombres de procesos:

Complementos
Gua
Ejemplo

Calcular trayectoria del proyectil.


Producir informe de inventario.
Validar nmero telefnico.
Asignar estudiante a la clase.

Los nombres de los procesos (al igual que los nombres de flujos y de
terminadores) deben provenir de un vocabulario que tenga algn
significado para el usuario.

Ingenieria de Software
Mtro. Miguel A. Muoz A.

16

Concepto

Numerar los Procesos

Niveles DFD
Caractersticas
Simbologa
Componentes
Representacin

Como una forma conveniente de referirse a los procesos en un DFD, muchos


analistas numeran cada burbuja. No importa mucho como sea haga esto, de
izquierda a derecha, de arriba abajo o de cualquier otra manera servir, mientras
haya constancia en la forma de aplicar los nmeros.

La nica cosa que se debe tener en mente es que el sistema de numeracin


implicar, para algunos lectores casuales de su DFD, una cierta secuencia de
ejecucin. Esto es, cuando se muestre el DFD a un usuario, l pudiera preguntar:
Acaso la burbuja nmero 1 sucede primero, luego la 2 y luego la 3?. Y esto no es
as en absoluto.

El modelo de DFD es una red de procesos asincrnicos que se intercomunican, lo


cual es, de hecho, una representacin precisa de la manera en la que en realidad
muchos sistemas operan.

Un ejemplo de la funcionalidad de enumerar las burbujas es el siguiente: Es ms fcil


en una discusin sobre un DFD decir " burbuja 1" en lugar de "Editar transaccin y
reportar errores". Pero de mayor importancia an es el hecho de que los nmeros
se convierten en base para la numeracin jerrquica.

Complementos
Gua
Ejemplo

Ingenieria de Software
Mtro. Miguel A. Muoz A.

17

Concepto

Excesivamente Complejo

Niveles DFD
Caractersticas
Simbologa
Componentes
Representacin

El propsito de un DFD es modelar de manera precisa las


funciones que debe llevar a cabo un sistema y las interacciones
entre ellas. Pero otro propsito del DFD es ser ledo y
comprendido, no slo por el analista que construy el modelo,
sino por los usuarios que sean los expertos en la materia de
aplicacin.

Existe una regla principal para la elaboracin de un DFD, que se


debe tener en mente: no cree un DFD con demasiados procesos,
flujos, almacenes y terminadores. En la mayora de los casos,
esto significa que no debera haber ms de media docena de
procesos y almacenes, flujos y terminadores relacionados en un
solo diagrama.

Existe una excepcin importante a esto, un diagrama especial


conocido como diagrama de contexto, que representa el sistema
entero como un solo proceso y destaca las interfaces entre el
sistema y los terminadores externos.

Complementos
Gua
Ejemplo

Ingenieria de Software
Mtro. Miguel A. Muoz A.

18

Concepto
Niveles DFD
Caractersticas

Redibujar el DFD

Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

En un proyecto real de anlisis de sistemas el DFD debe


dibujarse y volver a dibujar a menudo hasta 10 veces o
ms, antes de 1) ser tcnicamente correcto, 2) ser
aceptable para el usuario y 3) estar lo suficientemente bien
dibujado como para que no sea embarazoso mostrarlo a las
direccin de la organizacin.
Qu hace estticamente agradable a un DFD?. Esto es
obviamente una cuestin de gustos y puede determinarse
por normas dispuestas por su organizacin o por las
caractersticas particulares de cualquier paquete que utilice
de diseo de diagramas basado en una estacin de trabajo
automatizada. Y la opinin de usuario pudiera ser un tanto
diferente de la suya; lgicamente, cualesquiera cosas que
el usuario encuentre agradable debe determinar la manera
de la que se dibuje el diagrama.

Ingenieria de Software
Mtro. Miguel A. Muoz A.

19

Concepto
Niveles DFD
Caractersticas
Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

Asegurarse que el DFD sea


lgicamente Consistente
Las principales reglas de consistencia son:
Evite sumideros infinitos, burbujas que tienen entradas pero
no salidas.
Evite las burbujas de generacin espontnea, que tienen
salidas sin tener entradas, porque son sumamente
sospechosas y generalmente incorrectas.
Tenga cuidado con los flujos y procesos no etiquetados.
Esto suele ser un indicio de falta de esmero, pero puede
esconder un error an ms grave: a veces el analista no
etiqueta un flujo o un proceso porque simplemente no se le
ocurre algn nombre razonable.

Ingenieria de Software
Mtro. Miguel A. Muoz A.

20

Concepto
Niveles DFD
Caractersticas
Simbologa
Componentes

Extensiones del DFD para


sistemas de tiempo real.

Representacin
Complementos
Gua
Ejemplo

Para los sistemas de tiempo real necesitamos alguna


manera de modelar flujos de control (es decir seales o
interrupciones).

Y se requiere una manera de mostrar procesos de control


(esto es, burbujas cuya nica labor es coordinar y
sincronizar las actividades de otras burbujas del DFD).
Se muestran grficamente con lneas punteadas en el DFD.

Ingenieria de Software
Mtro. Miguel A. Muoz A.

21

Concepto
Niveles DFD
Caractersticas

Diagrama de Contexto

Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

Ingenieria de Software
Mtro. Miguel A. Muoz A.

22

Concepto
Niveles DFD
Caractersticas

Diagrama Nivel 1

Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

Ingenieria de Software
Mtro. Miguel A. Muoz A.

23

Concepto
Niveles DFD
Caractersticas

Diagrama Nivel 2

Simbologa
Componentes
Representacin
Complementos
Gua
Ejemplo

Ingenieria de Software
Mtro. Miguel A. Muoz A.

24