Diferencia entre Diagrama de Flujo de Datos (DFD) y Diagrama de Flujo (Flowchart)

Ambos modelan procesos, pero con foco, nivel de abstracción y notación distintos. El DFD muestra QUÉ datos fluyen (enfoque datos). El Flowchart muestra CÓMO se procesa la lógica de control (enfoque proceso/algoritmo).

Diagrama de Flujo de Datos (DFD) - Enfoque Estructurado (Yourdon/DeMarco, Gane/Sarson)

Objetivo

Modelar flujo de información a través de un sistema: origen, transformación, destino, almacenamiento. Independiente de secuencia temporal, decisiones o lógica de control. Vista "caja negra" → refinamiento jerárquico (Top-Down).

Símbolos principales (Gane & Sarson - más común)

SímboloNombreSignificado
🟦 Rectángulo redondeadoProcesoTransforma datos de entrada en salida. Numerado jerárquico (1.0, 1.1, 1.1.1).
🟢 Óvalo / Rectángulo con lados curvosEntidad Externa (Terminator)Origen/Destino de datos FUERA del sistema (Cliente, Proveedor, Banco, API externa, Usuario).
🟡 FlechaFlujo de DatosMovimiento de datos (nombre = paquete de datos: "Pedido", "Factura", "Confirmación"). Dirección flecha.
🟠 Rectángulo abierto (dos líneas paralelas)Almacén de Datos (Data Store)Repositorio pasivo: Base de datos, Archivo, Cola, Tabla, Pila. No procesa, solo guarda. Numerado D1, D2...
🟣 Línea con flecha (discontinua a veces)Flujo de Recursos (Resource Flow)Flujo de material físico (papel, mercancía, efectivo) - opcional, menos usado en SW.

Niveles

  1. Diagrama de Contexto (Nivel 0): Un proceso central (Sistema) + Entidades externas + Flujos principales. Vista general.
  2. Nivel 1 (Descomposición): Procesos principales (3-7). Almacenes clave.
  3. Nivel 2, 3...: Detalle hasta nivel elemental (proceso primitivo = una decisión/acción atómica).

Reglas de oro

  • Conservación de datos: Entradas = Salidas (en cada proceso, a nivel de paquetes).
  • No flujos directos Entidad-Entidad ni Almacén-Almacén (siempre via Proceso).
  • Nombrar flujos con sustantivos (datos), procesos con verbo+objeto ("Validar Pedido").

Diagrama de Flujo (Flowchart) - Enfoque Algorítmico / Procedimental

Objetivo

Representar lógica de control paso a paso: secuencia, decisiones, bucles, inicio/fin. Usado para algoritmos, procedimientos, pseudocódigo visual, lógica de programa, flujo de trabajo humano.

Símbolos básicos (ANSI / ISO 5807)

Construcción

  1. Inicio (Óvalo).
  2. Secuencia: Rectángulos + Flechas.
  3. Decisiones: Rombo → Mínimo 2 salidas (Sí/No).
  4. Bucles: Decisión vuelve atrás (flecha retorno).
  5. Fin (Óvalo).
  6. Conectores si no cabe en hoja.

Contraste directo: DFD vs Flowchart

SímboloNombreUso
🟢 Óvalo / StadiumInicio / FinPunto de entrada/salida del algoritmo.
🟦 RectánguloProceso / Acción / OperaciónInstrucción ejecutable: cálculo, asignación, llamada función, imprimir, leer archivo.
🔷 RomboDecisiónPregunta Sí/No (Verdadero/Falso). Múltiples salidas etiquetadas. Rama.
🟡 ParalelogramoEntrada / Salida (I/O)Leer dato (teclado, archivo, sensor) / Escribir resultado (pantalla, archivo, impresora).
🔵 Círculo pequeño / ConectorConector (On-page / Off-page)Salto dentro de misma página (número/letra) o a otra página (número+página). Evita líneas cruzadas.
🟣 Rectángulo con líneas verticalesSubproceso / Función predefinidaLlamada a módulo/función definido en otro diagrama.
AspectoDFD (Data Flow Diagram)Flowchart (Diagrama de Flujo)
Pregunta central¿QUÉ datos se mueven y transforman?¿CÓMO se ejecuta la lógica (pasos, decisiones)?
FocoDatos (Information flow)Control (Control flow)
TemporalidadAtemporal / Estático (estructura)Secuencial / Temporal (orden ejecución)
DecisionesNO se modelan explícitamente (implícitas en proceso)CENTRAL (Rombo = decisión)
BuclesNO se muestranSÍ (flechas retorno)
ParalelismoImplícito (procesos concurrentes)Explícito (hilos, fork/join) o secuencializado
AlmacenamientoExplícito (Data Store)Implícito (variable, archivo, DB en proceso I/O)
Uso típicoAnálisis de requisitos, Diseño de sistemas, Modelo de datos, Especificación funcionalDiseño algoritmo, Lógica de programa, Documentación procedimiento, Depuración
AudienciaAnalistas, Usuarios, Stakeholders, ArquitectosProgramadores, Testers, Analistas técnicos

Cuándo usar cada uno (y juntos)

  • DFD: Inicio proyecto. Entender dominio, alcance, interfaces, datos maestros. Comunicar con negocio. Base para Diccionario de Datos, ERD, API contracts.
  • Flowchart: Detalle lógica compleja (cálculo impuesto, validación multinivel, máquina de estados, algoritmo ordenamiento, flujo trabajo BPMN). Código pseudo-visual.
  • Juntos: DFD Nivel 2/3 (proceso primitivo) ↔ Flowchart de ese proceso. DFD = "Qué", Flowchart = "Cómo".
  • Alternativas modernas: BPMN 2.0 (Business Process Model Notation) = Flowchart estandarizado + eventos + carriles (pools/lanes) + artefactos + ejecución. UML Activity Diagram = Flowchart OO + concurrencia + objetos. Sequence Diagram = Intercambio mensajes temporal.