Diagrama de Flujo de Datos ( DFD ‘s )
Ingenieria de Software
1
Concepto
Concepto
Niveles DFD Características Simbología Componentes Representación
•
Un diagrama de flujo de datos (DFD por sus siglas en español e inglés) es una representación gráfica del "flujo" de datos a través de un sistema de información.
•
Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado).
Complementos Guía Ejemplo
Ingenieria de Software
2
Concepto
Concepto
Niveles DFD Características Simbología Componentes Representación
•
Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y la entidades externas.
•
Los diagramas de flujo de datos fueron inventados por Larry Constantine, el desarrollador original del diseño estructurado, basado en el modelo de computación de Martín y Estrin: "flujo gráfico de datos" .
Complementos Guía Ejemplo
Ingenieria de Software
3
Concepto
Concepto
Niveles DFD Características Simbología Componentes Representación
•
Los diagramas de flujo de datos (DFDs) son una de las tres perspectivas esenciales de Análisis 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 cómo el sistema se pondrá en práctica
Complementos Guía Ejemplo
Ingenieria de Software
4
Concepto
Concepto
Niveles DFD Características Simbología Componentes Representación
•
Los diagramas de flujo de datos pueden ser usados para proporcionar al usuario final una idea física de cómo resultarán los datos a última instancia, y cómo tienen un efecto sobre la estructura de todo el sistema.
•
La manera en que cualquier sistema es desarrollado puede determinarse a través de un diagrama de flujo de datos.
•
El desarrollo de un DFD ayuda en la identificación de los datos de la transacción en el modelo de datos.
Complementos Guía Ejemplo
Ingenieria de Software
5
Concepto
Niveles de un DFD
Niveles DFD Características Simbología Componentes Representación Complementos
•
Los diagramas derivados de los procesos principales se clasifican en niveles, los cuales son:
Guía Ejemplo
– Nivel 0: Diagrama de contexto. – Nivel 1: Diagrama de nivel superior. – Nivel 2: Diagrama de detalle o expansión.
Ingenieria de Software
6
Concepto
Características
Niveles DFD Características Simbología Componentes Representación
•
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 algún almacenamiento o entidad externa que los una
Complementos Guía Ejemplo
Ingenieria de Software
7
Concepto
Características
Niveles DFD Características Simbología Componentes Representación Complementos Guía Ejemplo
•
Diagrama de Detalle o Expansión: 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
8
Concepto Niveles DFD Características
Simbología
Simbología Componentes Representación Complementos Guía Ejemplo
Ingenieria de Software
9
Concepto
Componentes
Niveles DFD Características Simbología Componentes Representación
•
PROCESOS (burbujas): representan la parte del sistema que transforma ciertas entradas en ciertas salidas.
•
Representará la transformación del flujo de datos.
•
Muestra cómo una o más 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 jerarquía 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 también almacenes con procesos.
Complementos Guía Ejemplo
Ingenieria de Software
10
Concepto
Componentes
Niveles DFD Características Simbología Componentes Representación
•
ALMACENES: representan datos almacenados. Pueden ser una base de datos, un archivo físico, 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.
Complementos Guía Ejemplo
Ingenieria de Software
11
Concepto
Componentes
Niveles DFD Características Simbología Componentes Representación
•
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 señales o interrupciones, en tanto los procesos de control son burbujas que coordinan y sincronizan otros procesos. Los procesos de control sólo 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.
Complementos Guía Ejemplo
Ingenieria de Software
12
Concepto
Representación de un DFD de un Sistema
Niveles DFD Características Simbología Componentes Representación Complementos
•
Un sistema puede representarse empleando varios diagramas de flujos de datos, cada flujo de datos puede representar una parte "más pequeña" del sistema.
•
Los DFD permiten una partición por niveles del sistema. El nivel más 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.
Guía Ejemplo
Ingenieria de Software
13
Concepto
Complementos de un DFD
Niveles DFD Características Simbología Componentes Representación
•
Los DFD suelen servir para comprender fácilmente el funcionamiento de un sistema. De todas maneras, no es la única herramienta para diagramar sistemas, es más, se debe complementar con otras herramientas para agregar comprensión 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 relación, los diagramas de transición de estados, etc.
Complementos Guía Ejemplo
Ingenieria de Software
14
Concepto Niveles DFD Características Simbología Componentes Representación Complementos Guía Ejemplo
Guía para la construcción 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 estéticamente. – Asegurarse de que el DFD sea lógicamente consistente y que también sea con cualesquiera DFD relacionados con él. – Extensiones del DFD para sistemas de tiempo real
Ingenieria de Software
15
Concepto
Nombres Significativos
Niveles DFD Características Simbología Componentes Representación
•
Un proceso en un DFD puede representar una función que se está llevando a cabo, o pudiera indicar cómo 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 Guía Ejemplo
– – – –
•
Calcular trayectoria del proyectil. Producir informe de inventario. Validar número telefónico. 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 algún significado para el usuario.
Ingenieria de Software
16
Concepto
Numerar los Procesos
Niveles DFD Características Simbología Componentes Representación
•
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 números.
•
La única cosa que se debe tener en mente es que el sistema de numeración implicará, para algunos lectores casuales de su DFD, una cierta secuencia de ejecución. Esto es, cuando se muestre el DFD a un usuario, él pudiera preguntar: ¿Acaso la burbuja número 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 asincrónicos que se intercomunican, lo cual es, de hecho, una representación 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 más fácil en una discusión sobre un DFD decir " burbuja 1" en lugar de " Editar transacción y reportar errores". Pero de mayor importancia aún es el hecho de que los números se convierten en base para la numeración jerárquica.
Complementos Guía Ejemplo
Ingenieria de Software
17
Concepto
Excesivamente Complejo
Niveles DFD Características Simbología Componentes Representación
•
El propósito de un DFD es modelar de manera precisa las funciones que debe llevar a cabo un sistema y las interacciones entre ellas. Pero otro propósito del DFD es ser leído y comprendido, no sólo por el analista que construyó el modelo, sino por los usuarios que sean los expertos en la materia de aplicación.
•
Existe una regla principal para la elaboración de un DFD, que se debe tener en mente: no cree un DFD con demasiados procesos, flujos, almacenes y terminadores. En la mayoría de los casos, esto significa que no debería haber más de media docena de procesos y almacenes, flujos y terminadores relacionados en un solo diagrama.
•
Existe una excepción 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 Guía Ejemplo
Ingenieria de Software
18
Concepto
Redibujar el DFD
Niveles DFD Características Simbología Componentes Representación
•
En un proyecto real de análisis de sistemas el DFD debe dibujarse y volver a dibujar a menudo hasta 10 veces o más, antes de 1) ser técnicamente correcto, 2) ser aceptable para el usuario y 3) estar lo suficientemente bien dibujado como para que no sea embarazoso mostrarlo a las dirección de la organización.
•
¿Qué hace estéticamente agradable a un DFD?. Esto es obviamente una cuestión de gustos y puede determinarse por normas dispuestas por su organización o por las características particulares de cualquier paquete que utilice de diseño de diagramas basado en una estación de trabajo automatizada. Y la opinión de usuario pudiera ser un tanto diferente de la suya; lógicamente, cualesquiera cosas que el usuario encuentre agradable debe determinar la manera de la que se dibuje el diagrama.
Complementos Guía Ejemplo
Ingenieria de Software
19
Concepto
Asegurarse que el DFD sea lógicamente Consistente
Niveles DFD Características Simbología Componentes Representación
•
Las principales reglas de consistencia son:
•
Evite sumideros infinitos, burbujas que tienen entradas pero no salidas.
•
Evite las burbujas de generación espontánea, 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 aún más grave: a veces el analista no etiqueta un flujo o un proceso porque simplemente no se le ocurre algún nombre razonable.
Complementos Guía Ejemplo
Ingenieria de Software
20
Concepto
Extensiones del DFD para sistemas de tiempo real.
Niveles DFD Características Simbología Componentes Representación Complementos
•
Para los sistemas de tiempo real necesitamos alguna manera de modelar flujos de control (es decir señales 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 gráficamente con líneas punteadas en el DFD.
Guía Ejemplo
Ingenieria de Software
21
Concepto Niveles DFD Características
Diagrama de Contexto
Simbología Componentes Representación Complementos Guía Ejemplo
Ingenieria de Software
22
Concepto Niveles DFD Características
Diagrama Nivel 1
Simbología Componentes Representación Complementos Guía Ejemplo
Ingenieria de Software
23
Concepto Niveles DFD Características
Diagrama Nivel 2
Simbología Componentes Representación Complementos Guía Ejemplo
Ingenieria de Software
24