
Comprender cómo la información se mueve a través de un sistema es fundamental para el análisis y diseño de sistemas. Un diagrama de flujo de datos (DFD) proporciona una representación visual de este movimiento. A diferencia de los planos técnicos que se centran en el código o los esquemas de bases de datos, un DFD se enfoca en el flujo de datos y los procesos que lo transforman. Esta guía detalla los símbolos esenciales utilizados para construir estos diagramas, asegurando claridad y precisión en su documentación.
¿Qué es un diagrama de flujo de datos? 🤔
Un diagrama de flujo de datos es una herramienta de análisis estructurado. Representa la secuencia de actividades de procesamiento de información. No describe la lógica del sistema en términos de código de programación. En cambio, ilustra qué datos se mueven, de dónde provienen, a dónde van y cómo cambian. Esta abstracción permite a los interesados comprender los requisitos funcionales sin quedar atrapados en los detalles técnicos de la implementación.
Los DFD son jerárquicos. Comienzan con una visión general de alto nivel y se descomponen progresivamente en vistas más detalladas. Esta descomposición ayuda a gestionar la complejidad. Al definir límites e interacciones, los analistas pueden identificar brechas en los requisitos o cuellos de botella potenciales antes de comenzar el desarrollo.
Los cuatro símbolos fundamentales 🛠️
La notación estándar de DFD se basa en cuatro formas principales. Aunque existen variaciones entre diferentes metodologías (como Yourdon/DeMarco o Gane/Sarson), los conceptos fundamentales permanecen consistentes. Cada símbolo representa una función específica dentro de los límites del sistema.
| Nombre del símbolo | Representación visual | Función |
|---|---|---|
| Entidad externa | Rectángulo | Origen o destino de los datos |
| Proceso | Círculo o rectángulo redondeado | Transformación de datos |
| Almacenamiento de datos | Rectángulo abierto | Almacenamiento de datos en reposo |
| Flujo de datos | Flecha | Movimiento de datos |
1. Entidad externa 📦
Las entidades externas representan fuentes o destinos de datos que se encuentran fuera del sistema que se está modelando. Son los actores que interactúan con el sistema pero no forman parte de su lógica interna. Una entidad puede ser una persona, un grupo, otro sistema informático o un departamento.
Las entidades suelen dibujarse como rectángulos. En algunas notaciones, pueden aparecer como óvalos. La característica clave es que el sistema envía datos a ellas o recibe datos de ellas. Por ejemplo, un Cliente es una entidad. El sistema procesa su pedido, pero el Cliente existe independientemente del software de procesamiento de pedidos.
- Entrada: Los datos entran al sistema desde la entidad.
- Salida: Los datos salen del sistema y van hacia la entidad.
Es importante no confundir las entidades externas con los procesos. Una entidad no transforma datos; simplemente los origina o los consume.
2. Proceso 🔄
Los procesos son los elementos activos del diagrama. Representan funciones que transforman datos de entrada en datos de salida. Un proceso es el trabajo que se realiza. Puede ser un cálculo, una verificación de validación, una decisión o una rutina de manipulación de datos.
Los procesos suelen dibujarse como círculos o rectángulos redondeados. Dentro de la forma, se coloca un nombre que describe la acción, como «Calcular total» o «Validar inicio de sesión». Cada proceso debe tener al menos una entrada y al menos una salida. Un proceso que recibe datos pero no tiene nada que salir es incompleto.
Los procesos se numeran para indicar jerarquía. Por ejemplo, «Proceso 1» podría descomponerse en «Proceso 1.1», «Proceso 1.2», etc. Esta numeración ayuda a rastrear los niveles de detalle entre diferentes diagramas.
3. Almacén de datos 📁
Los almacenes de datos representan lugares donde se guarda la información para su uso futuro. Son repositorios. En un sistema físico, podría tratarse de una tabla de base de datos, un archivo o una carpeta física. En un diagrama lógico, simplemente es donde descansa la información.
Las formas comunes incluyen rectángulos abiertos o líneas paralelas. El nombre dentro del almacén debe estar en plural, indicando una colección de registros, como «Archivos de clientes» o «Registros de pedidos».
- Lectura:Un proceso lee datos desde un almacén para utilizarlos.
- Escritura:Un proceso escribe datos en un almacén para guardados.
Los flujos de datos entran y salen de los almacenes. Es crucial tener en cuenta que los flujos de datos no cruzan sin pasar por un proceso. No puedes dibujar una línea directa entre dos almacenes de datos; debe haber un proceso entre medio para definir por qué los datos se están moviendo.
4. Flujo de datos ➡️
Los flujos de datos son las flechas que conectan los símbolos. Representan el movimiento de datos a través del sistema. A diferencia del flujo de control en programación, el flujo de datos representa paquetes reales de información.
Cada flecha debe estar etiquetada con el nombre de los datos que la atraviesan. Por ejemplo, una flecha desde un Cliente hacia un Proceso podría etiquetarse como «Solicitud de pedido». Una flecha desde un Proceso hacia un Almacén de datos podría etiquetarse como «Registro de nuevo pedido».
Las flechas deben tener una sola dirección. Si los datos se mueven en ambos sentidos entre dos puntos, utiliza dos flechas separadas. La etiqueta debe ser singular o plural de forma consistente. Evita etiquetas ambiguas como «Datos» o «Información». Sé específico, como «Dirección de envío» o «Informe de inventario».
Entendiendo los niveles de los DFD 📈
Los DFD se crean en capas para gestionar la complejidad. Este enfoque se conoce como descomposición.
Nivel 0: El diagrama de contexto
El diagrama del Nivel 0 es el más alto. Muestra todo el sistema como un único proceso. Destaca la relación entre el sistema y las entidades externas. Esta vista responde a la pregunta: «¿Cuál es el límite del sistema?»
En este diagrama solo hay un nodo de proceso. Todos los flujos de datos conectan directamente entidades externas con este proceso central. No se muestran almacenes de datos internos en este nivel, ya que los funcionamientos internos están ocultos.
Nivel 1: Procesos principales
El diagrama del Nivel 1 descompone el único proceso del Nivel 0 en sus subprocesos principales. Esto divide el sistema en partes manejables. Verás múltiples nodos de proceso, almacenes de datos y los flujos específicos que los conectan.
Este nivel define las áreas funcionales principales. Por ejemplo, un sistema de comercio electrónico podría descomponerse en «Gestionar inventario», «Procesar pago» y «Gestionar envíos». Cada uno de estos representa un proceso principal.
Nivel 2: Lógica detallada
Los diagramas del Nivel 2 profundizan en procesos específicos del Nivel 1. Si un proceso del Nivel 1 es complejo, recibe su propio diagrama. Esto permite a los analistas mapear cada paso de una función específica sin ensuciar la vista general.
En esta etapa, la notación se vuelve más detallada. Podrías ver múltiples almacenes de datos y rutas complejas de flujos de datos. Es aquí donde a menudo se visualizan las reglas de negocio específicas.
Reglas y convenciones ✅
Para mantener la claridad, los DFD deben seguir reglas estrictas. Violar estas reglas puede provocar confusión e interpretaciones incorrectas.
Consistencia en la nomenclatura
El mismo flujo de datos debe tener el mismo nombre en todas partes donde aparezca. Si etiquetas un flujo como «ID de usuario» en un diagrama, no puede ser «Número de ID» en otro. La consistencia ayuda a rastrear los datos entre niveles.
Sin agujeros negros ni milagros
Un «agujero negro» es un proceso con entrada pero sin salida. Esto implica que los datos desaparecen, lo cual normalmente es incorrecto. Un «milagro» es un proceso con salida pero sin entrada. Esto implica que los datos aparecen de la nada. Ambos son errores lógicos en el diagrama.
Equilibrio de almacenes de datos
Cuando descompones un proceso, los almacenes de datos conectados al proceso padre deben permanecer conectados a los procesos hijos. No puedes eliminar un almacén de datos en un nivel inferior a menos que cambie significativamente la lógica. El flujo de datos debe equilibrarse entre niveles.
Dirección de las flechas
Las flechas indican la dirección. No dibujes flechas que se crucen innecesariamente. Las líneas que se cruzan dificultan la lectura del diagrama. Usa curvas o interrupciones para mantener los caminos claros. Si dos flujos se cruzan, asegúrate de que los tipos de datos sean distintos para evitar confusiones.
DFD frente a diagrama de flujo 🧩
Es común confundir los Diagramas de Flujo de Datos con los diagramas de flujo. Aunque se parecen, tienen propósitos diferentes.
Un diagrama de flujo describe la lógica y la secuencia de operaciones. Muestra puntos de decisión (diamantes), bucles y el orden exacto de los pasos. Es procedimental. Responde a la pregunta: «¿Cómo ejecuta el sistema?»
Un DFD describe el movimiento de datos. No muestra bucles ni lógica de decisión explícitamente. Se enfoca en el «qué» y el «dónde» de los datos. Responde a la pregunta: «¿Qué datos se mueven y transforman?»
Usar un DFD para lógica de control es un error. No debe contener diamantes de decisión. Si necesitas mostrar lógica, utiliza una tabla de decisiones o una descripción en inglés estructurado junto con el DFD. Esta separación de responsabilidades mantiene el diagrama limpio.
Aplicación práctica 📝
Al construir un diagrama, comience con el diagrama de contexto. Identifique la frontera del sistema. Dibuje las entidades externas. Dibuje el proceso único que representa al sistema. Dibuje los flujos que los conectan.
A continuación, pase al nivel 1. Divida el proceso central en funciones principales. Identifique dónde se almacena la información. Asegúrese de que cada proceso tenga entradas y salidas. Verifique que los flujos coincidan con el diagrama de contexto.
Revise el diagrama con los interesados. Pregunte si los flujos coinciden con su comprensión del negocio. Si un interesado dice: «No almacenamos esos datos aquí», ajuste los almacenes de datos. Si dice: «No enviamos datos a esa persona», ajuste las entidades.
La validación es clave. Un diagrama que no sea comprendido por los usuarios es inútil. Sirve como herramienta de comunicación. Crea un puente entre los equipos técnicos y los propietarios del negocio.
Mejores prácticas para la claridad 🌟
Mantenga el número de símbolos en una sola página manejable. Si un diagrama se vuelve demasiado cargado, pierde su valor. Utilice subdiagramas para dividirlo. No intente mostrar todo el sistema en una sola hoja si excede la capacidad visual.
Use notación estándar. Aunque existen variaciones, mantener un solo estilo (por ejemplo, Yourdon/DeMarco o Gane/Sarson) evita la confusión. No mezcle estilos dentro del mismo documento.
Etiquete todo. Las flechas sin etiquetar carecen de sentido. Los procesos sin etiquetar son ambiguos. Incluso las formas simples necesitan nombres para transmitir significado.
Evite que las líneas se crucen. Genera ruido visual. Si las líneas deben cruzarse, use una «salto» o interrupción en la línea para indicar que no se intersectan.
Resumen de la semántica de los símbolos 📋
Para recapitular los componentes principales:
- Entidad:Fuera del sistema. Fuente o sumidero.
- Proceso:Dentro del sistema. Transforma datos.
- Almacén:Dentro del sistema. Almacena datos.
- Flujo:Conecta lo anterior. Mueve datos.
Dominar estos símbolos le permite documentar sistemas complejos con claridad. Proporciona un lenguaje compartido para analistas y desarrolladores. Al adherirse a las reglas de descomposición y consistencia, crea diagramas que no son solo dibujos, sino especificaciones funcionales.
Comience de forma simple. Construya el contexto. Amplíe los detalles. Verifique con los usuarios. Este proceso iterativo asegura que el diagrama refleje la realidad.











