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 Simbologa Componentes Representacin Complementos Gua Ejemplo

Concepto
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. 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 Simbologa Componentes Representacin Complementos Gua Ejemplo

Concepto
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. 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 Simbologa Componentes Representacin Complementos Gua Ejemplo

Concepto
Los diagramas de flujo de datos (DFDs) son una de las tres perspectivas esenciales de Anlisis de Sistemas Estructurados 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 Simbologa Componentes Representacin Complementos Gua Ejemplo

Concepto
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 Simbologa Componentes Representacin Complementos Gua Ejemplo

Niveles de un DFD
Los diagramas derivados de los procesos principales se clasifican en niveles, los cuales son: 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 Simbologa Componentes Representacin Complementos Gua Ejemplo

Caractersticas
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. 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 Simbologa Componentes Representacin Complementos Gua Ejemplo

Caractersticas
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 Componentes Representacin Complementos Gua Ejemplo

Simbologa

Ingenieria de Software Mtro. Miguel A. Muoz A.

Concepto Niveles DFD Caractersticas Simbologa Componentes Representacin Complementos Gua Ejemplo

Componentes
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 Simbologa Componentes Representacin Complementos Gua Ejemplo

Componentes
ALMACENES: representan datos almacenados. Pueden ser una base de datos, un archivo fsico, etc. 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 Simbologa Componentes Representacin Complementos Gua Ejemplo

Componentes
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 Simbologa Componentes Representacin Complementos Gua Ejemplo

Complementos de un DFD
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 Niveles DFD Caractersticas Simbologa Componentes Representacin Complementos Gua Ejemplo

Nombres Significativos
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:
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 Niveles DFD Caractersticas Simbologa Componentes Representacin Complementos Gua Ejemplo

Numerar los Procesos


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.

Ingenieria de Software Mtro. Miguel A. Muoz A.

17

Concepto Niveles DFD Caractersticas Simbologa Componentes Representacin Complementos Gua Ejemplo

Excesivamente Complejo
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.
Ingenieria de Software Mtro. Miguel A. Muoz A. 18

Concepto Niveles DFD Caractersticas Simbologa Componentes Representacin Complementos Gua Ejemplo

Redibujar el DFD
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 Representacin Complementos Gua Ejemplo

Extensiones del DFD para sistemas de tiempo real.


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 Simbologa Componentes Representacin Complementos Gua Ejemplo

Diagrama de Contexto

Ingenieria de Software Mtro. Miguel A. Muoz A.

22

Concepto Niveles DFD Caractersticas Simbologa Componentes Representacin Complementos Gua Ejemplo

Diagrama Nivel 1

Ingenieria de Software Mtro. Miguel A. Muoz A.

23

Concepto Niveles DFD Caractersticas Simbologa Componentes Representacin Complementos Gua Ejemplo

Diagrama Nivel 2

Ingenieria de Software Mtro. Miguel A. Muoz A.

24