Diagrama de Contexto y DFD Nivel 0
Ya sabés separar un sistema de su entorno y describir sus ciclos internos de control. Ahora falta un lenguaje más preciso para dibujarlo: el Diagrama de Flujo de Datos (DFD), que empieza viendo al sistema entero como una sola caja negra —el Diagrama de Contexto— y después la abre para mostrar sus procesos principales.
👁 — vistas · Ing. Roy Carrasco, Facultad de Ingeniería de Sistemas · UAB
Scrollea para empezar — el diagrama del proceso de ventas de un almacén de barrio se arma solo, capa por capa, mientras leés.
Ver el sistema desde afuera, antes de abrirlo
Hasta ahora modelaste sistemas con cajas de Entrada-Proceso-Salida, jerarquías y bucles de retroalimentación. Para el sistema real de tu proyecto final —una organización, un proceso de negocio, un servicio, con o sin software de por medio— hace falta un lenguaje más preciso para decir exactamente qué entra, qué sale y quién está afuera. Ese lenguaje es el Diagrama de Flujo de Datos (DFD), y empieza con una sola caja.
Armemos el diagrama en vivo, capa por capa, con el proceso de ventas de un almacén de barrio →
La frontera del sistema
Todo sistema tiene un límite que separa lo que está adentro (lo que vas a modelar) de lo que está afuera (el entorno). En un DFD, esa frontera se dibuja explícitamente alrededor de una única caja que representa, por ahora, todo el sistema como una sola unidad — sin abrir todavía cómo funciona por dentro.
Primer actor: el Cliente
Un actor externo (o entidad externa) es cualquier persona, sistema u organización que está fuera de la frontera pero intercambia información con el sistema. El Cliente manda datos de pedido hacia adentro — sin ser parte del sistema que estás modelando.
Segundo actor: el Administrador
El Administrador (el dueño o encargado del almacén) también está afuera de la frontera, aunque trabaje todos los días con el sistema: actualiza precios y consulta reportes de ventas. Estar "afuera" no significa estar lejos — significa que no es una parte interna del sistema, sino alguien que lo usa desde su entorno.
Tercer actor: otra organización
No todos los actores externos son personas. El Proveedor es otra organización, con su propia frontera, que intercambia información con la tuya: le mandás una solicitud de reposición de mercadería y te devuelve la confirmación de la entrega — todo esto puede pasar por teléfono o papel, sin una sola línea de código de por medio, y sigue siendo perfectamente modelable en un DFD. Con estos tres actores y sus flujos, ya tenés un Diagrama de Contexto completo.
Lo mismo que ya conocías, con otro nombre
Si ya viste diagramas UML, esto te va a sonar conocido: un actor externo del DFD es prácticamente lo mismo que un actor en un diagrama de casos de uso, y la frontera del sistema es el mismo rectángulo que UML dibuja alrededor de los casos de uso. La TGS y UML llegan al mismo concepto —qué es el sistema y qué es su entorno— desde dos vocabularios distintos.
Abrimos la caja: DFD Nivel 0
El Diagrama de Contexto trata al sistema como una sola caja opaca — una caja negra. El siguiente paso es abrirla y mostrar sus procesos principales por dentro: 1 Registrar Pedido, 2 Reponer Stock y 3 Generar Reporte. Cada uno es un proceso más chico, numerado, que transforma parte de los datos que entran — y no tiene por qué estar automatizado: "Reponer Stock" puede ser, en la práctica, el encargado llamando por teléfono al Proveedor.
Los procesos no viven aislados
Adentro de la frontera, los procesos se conectan entre sí y con un almacén de datos —acá, D1: Pedidos— donde queda guardado lo que Registrar Pedido creó, para que Reponer Stock y Generar Reporte lo lean después. Ese almacén tampoco tiene que ser una base de datos: puede ser un cuaderno de pedidos o una planilla de cálculo — lo que importa es el rol que cumple, no la tecnología. Los actores externos siguen mandando y recibiendo los mismos flujos que en el Diagrama de Contexto; lo único que cambió es que ahora ves el mecanismo interno.
El mismo concepto, otro vocabulario: DFD y UML
Si ya trabajaste con diagramas de casos de uso o de actividades en UML, no estás aprendiendo algo nuevo desde cero — estás viendo los mismos conceptos sistémicos (sistema, entorno, frontera) con otro vocabulario.
| Diagrama de Contexto / DFD | UML (Casos de Uso / Actividades) |
|---|---|
| Actor externo / entidad externa | Actor |
| Frontera del sistema | Rectángulo del sistema (límite de los casos de uso) |
| Proceso | Caso de uso (qué hace) o actividad (cómo lo hace, paso a paso) |
| Flujo de datos | Asociación actor–caso de uso, con qué información viaja |
El DFD viene de la TGS aplicada al análisis estructurado de los años 70; UML llegó después, desde el mundo orientado a objetos. Pero ambos resuelven el mismo problema sistémico: distinguir con claridad qué es el sistema, quién está afuera, y qué información cruza esa frontera.
En un diagrama de casos de uso UML, un actor "Cliente" está dibujado fuera del rectángulo que contiene los casos de uso del sistema. ¿Qué representa ese rectángulo, en términos de teoría de sistemas?
Un caso de uso "Reponer Stock" recibe datos desde un actor "Proveedor". En un DFD, ¿qué sería equivalente al caso de uso?
Del Diagrama de Contexto al DFD Nivel 0
El Diagrama de Contexto es la vista más externa posible: todo el sistema como una sola caja. El siguiente nivel abre esa caja y muestra sus procesos principales, numerados.
Distintos libros de texto no siempre coinciden en cómo numerar esto: algunos llaman "Nivel 0" al propio Diagrama de Contexto, y "Nivel 1" a la primera apertura en procesos; otros —como en esta guía— llaman "Diagrama de Contexto" a la caja única y "DFD Nivel 0" a la primera apertura. No te pelees con el número: lo que importa es la idea, siempre en el mismo orden: primero una vista de afuera con una sola caja, después se abre esa caja en sus procesos principales.
Nada en esta notación obliga a que el sistema sea una aplicación o que los procesos estén programados. Un "proceso" puede ser una persona armando un pedido a mano; un "almacén de datos" puede ser un cuaderno, una carpeta de papel o una planilla de cálculo, no necesariamente una base de datos. El DFD describe el sistema —una organización, un proceso de negocio, un servicio— tenga o no tecnología de por medio. Por eso el proyecto final pide modelar un sistema real (organización, proceso o servicio), no necesariamente un programa.
| Elemento | Qué representa |
|---|---|
| Proceso (círculo numerado) | Una transformación de datos: recibe algo, hace algo con eso, entrega algo distinto. |
| Almacén de datos (D1, D2...) | Un lugar donde los datos quedan guardados entre un proceso y otro — no transforma nada por sí solo. |
| Flujo de datos | La información concreta que viaja: no es "una conexión", es un dato con nombre. |
Practiquemos con el proceso de ventas que armamos arriba. Clasifica cada elemento.
Proceso de ventas del almacén: clasifica cada elemento del DFD.
Actividades de repaso
Un repaso integrador de todo el módulo. Cada actividad se corrige al instante; tu progreso se guarda automáticamente en este navegador.
¿Cuál es la diferencia real entre un Diagrama de Contexto y un DFD Nivel 0?
Un almacén de datos, como D1: Pedidos, transforma la información que pasa por él, igual que un proceso.
Un profesor pide, en el proyecto integrador, "un actor por fuera de la frontera que reciba una notificación". ¿Qué tipo de elemento del DFD encaja con esa descripción?
¿Por qué en el proceso de ventas el proceso 2 (Reponer Stock) se conecta con el almacén D1: Pedidos?
Repasemos el proceso de ventas que armamos en esta guía.
1. El Cliente, afuera de la frontera, es una .
2. "Registrar Pedido", numerado como 1 dentro de la frontera, es un .
3. "D1: Pedidos" es un .
4. Ver el sistema entero como una sola caja, antes de abrirla, es el .
📤 Evidencia de la sesión: Diagrama de Contexto + DFD
Con tu equipo, elabora el Diagrama de Contexto y el DFD Nivel 0 del sistema de tu proyecto final —la organización, proceso o servicio real que ya vienen trabajando desde el rich picture y el modelo E-P-S, tenga o no software de por medio— como segundo avance del proyecto.
Arma ambos diagramas en Draw.io (gratuito, funciona desde el navegador, no necesita instalación).
Como mínimo, tus diagramas deben incluir:
- Diagrama de Contexto: el sistema como una única caja, su frontera marcada, y al menos dos entidades externas con sus flujos de datos rotulados (no flechas sin nombre).
- DFD Nivel 0: esa misma caja abierta en al menos dos o tres procesos numerados, con al menos un almacén de datos si tu sistema guarda información entre procesos (puede ser una base de datos, pero también una carpeta, un registro en papel o una planilla — lo que use tu sistema real).
- Los flujos que cruzan la frontera en el DFD Nivel 0 deben ser exactamente los mismos que en el Diagrama de Contexto — abrir la caja no puede inventar ni perder conexiones con el entorno.
Exporta ambos diagramas como imagen (PNG o JPG) desde Draw.io y súbelos a la tarea correspondiente en Classroom antes del inicio de la próxima sesión. No se acepta el link editable de Draw.io en lugar de la imagen: sube los archivos directamente.
Cheat Sheet
| Término | Idea clave |
|---|---|
| Entidad externa | Persona, sistema u organización afuera de la frontera. |
| Frontera del sistema | Límite que separa el sistema de su entorno. |
| Diagrama de Contexto | El sistema entero como una única caja, sin abrir. |
| Proceso | Círculo numerado que transforma datos. |
| DFD Nivel 0 | Esa misma caja, abierta en sus procesos principales. |
| Almacén de datos | Guarda información entre procesos, no la transforma. |
| Flujo de datos | Información concreta y rotulada que viaja por el diagrama. |
| Actor (UML) | Equivalente a una entidad externa en un DFD. |
¿Sabías que...?
⭕ Círculos o rectángulos, según la escuela
La notación clásica de Yourdon-DeMarco dibuja los procesos como círculos ("burbujas"), la que usa esta guía; la notación Gane-Sarson, igual de común en la industria, usa rectángulos con esquinas redondeadas para lo mismo.
🚫 Un DFD nunca dice "cuándo"
A propósito, un DFD no muestra orden de ejecución, condiciones ni bucles — solo qué datos se mueven entre qué partes. Para el "cuándo" y el "cómo" paso a paso existen otros diagramas, como los de actividades.
🪖 El antepasado se llamaba SADT
Douglas Ross desarrolló la Structured Analysis and Design Technique (SADT) a fines de los 60, financiada en parte por el Ejército de EE. UU. para especificar sistemas de software complejos — uno de los ancestros directos del DFD.