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ímbolo | Nombre | Significado |
|---|---|---|
| 🟦 Rectángulo redondeado | Proceso | Transforma datos de entrada en salida. Numerado jerárquico (1.0, 1.1, 1.1.1). |
| 🟢 Óvalo / Rectángulo con lados curvos | Entidad Externa (Terminator) | Origen/Destino de datos FUERA del sistema (Cliente, Proveedor, Banco, API externa, Usuario). |
| 🟡 Flecha | Flujo de Datos | Movimiento 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
- Diagrama de Contexto (Nivel 0): Un proceso central (Sistema) + Entidades externas + Flujos principales. Vista general.
- Nivel 1 (Descomposición): Procesos principales (3-7). Almacenes clave.
- 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)
| Símbolo | Nombre | Uso |
|---|---|---|
| 🟢 Óvalo / Stadium | Inicio / Fin | Punto de entrada/salida del algoritmo. |
| 🟦 Rectángulo | Proceso / Acción / Operación | Instrucción ejecutable: cálculo, asignación, llamada función, imprimir, leer archivo. |
| 🔷 Rombo | Decisión | Pregunta Sí/No (Verdadero/Falso). Múltiples salidas etiquetadas. Rama. |
| 🟡 Paralelogramo | Entrada / Salida (I/O) | Leer dato (teclado, archivo, sensor) / Escribir resultado (pantalla, archivo, impresora). |
| 🔵 Círculo pequeño / Conector | Conector (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 verticales | Subproceso / Función predefinida | Llamada a módulo/función definido en otro diagrama. |
| Aspecto | DFD (Data Flow Diagram) | Flowchart (Diagrama de Flujo) |
|---|---|---|
| Pregunta central | ¿QUÉ datos se mueven y transforman? | ¿CÓMO se ejecuta la lógica (pasos, decisiones)? |
| Foco | Datos (Information flow) | Control (Control flow) |
| Temporalidad | Atemporal / Estático (estructura) | Secuencial / Temporal (orden ejecución) |
| Decisiones | NO se modelan explícitamente (implícitas en proceso) | CENTRAL (Rombo = decisión) |
| Bucles | NO se muestran | SÍ (flechas retorno) |
| Paralelismo | Implícito (procesos concurrentes) | Explícito (hilos, fork/join) o secuencializado |
| Almacenamiento | Explícito (Data Store) | Implícito (variable, archivo, DB en proceso I/O) |
| Uso típico | Análisis de requisitos, Diseño de sistemas, Modelo de datos, Especificación funcional | Diseño algoritmo, Lógica de programa, Documentación procedimiento, Depuración |
| Audiencia | Analistas, Usuarios, Stakeholders, Arquitectos | Programadores, 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.
- ·Diferencia entre tecnología 2G y 3G
- ·Diferencia entre Bluetooth 2.0 y 2.1
- ·Diferencia entre amplificadores AC y DC
- ·Diferencias entre HDMI 1.2 y 1.3: Audio 1-bit, CEC, ancho de banda y conectores
- ·Diferencia entre proyectores de presentación (datos) y home theater
- ·Diferencia entre tarjetas xD y SD: Historia y por qué ganó SD
- ·Diferencias entre tarjetas SD: capacidad, velocidad y tamaño
- ·Diferencia entre GPRS y EGPRS (EDGE)
