01 · Punto de partida
Del relato al esquema
«A la mañana se llena de gente y los cajeros no dan abasto» es un relato: verdadero pero inútil para programar. La representación conceptual lo convierte en esquema: componentes nombrados, flujos flechados y frontera trazada, todavía sin números.
- ¿Cuáles son los sustantivos (componentes) del relato?
- ¿Cuáles son los verbos (flujos) que los conectan?
- ¿Qué queda dentro de la frontera y qué afuera?
- ¿El dueño del problema reconoce su sistema en mi dibujo?
02 · Definiciones
Piezas del esquema
Componentes
Las cajas: clientes, fila, cajeros. Sustantivos del relato.
Flujos
Las flechas: llegadas, atenciones, salidas. Verbos del relato.
Frontera
El marco: qué entra, qué sale y qué se ignora.
| Relato | Esquema |
|---|---|
| «viene mucha gente» | Flujo de llegada con tasa |
| «se hace fila» | Componente cola con capacidad |
| «atienden dos cajeros» | Dos servidores con tiempo de atención |
| «a la mañana» | Frontera temporal: 9 a 13 |
03 · Técnica
Cómo esquematizar en 4 pasos
- 1Subrayá sustantivos y verbos.
Personas, cosas y lugares son cajas; acciones y movimientos son flechas.
- 2Dibujá cajas y flechas.
Sin números todavía: solo qué existe y qué fluye hacia dónde.
- 3Trazá la frontera.
Encerrá lo modelado y nombrá lo que cruza: entradas y salidas.
- 4Validá con el dueño.
Si quien vive el problema no se reconoce, el esquema está mal.
Relato
Rico y ambiguo
Cuenta todo mezclado: causas, anécdotas y horarios en un párrafo.
Esquema
Pobre y preciso
Solo cajas, flechas y marco: lo justo para programar sin adivinar.
- Modelo conceptual
- Esquema sin números del sistema y su frontera.
- Diccionario
- Lista que define cada caja y flecha en una línea.
- Alcance
- Lo que el esquema promete cubrir y lo que deja fuera.
- Validación temprana
- Chequeo del esquema con el dueño antes de codificar.
04 · En el código
El esquema como dato
El esquema se escribe como diccionario: componentes, flujos y frontera. Un validador revisa que no falte nada antes de programar el modelo.
05 · En Python
Esquemas que se revisan solos
Python en tu navegador. El esquema es un diccionario y su revisión, una función.
esquema = {
"componentes": ["clientes", "fila", "cajeros"],
"flujos": ["llegadas -> fila", "fila -> cajeros", "cajeros -> salida"],
"frontera": "sucursal de 9 a 13",
}
for clave, valor in esquema.items():
print(clave, ":", valor)
Validador de completitud
def faltantes(esquema):
# Todo esquema necesita las tres piezas no vacías.
return [k for k in ("componentes", "flujos", "frontera") if not esquema.get(k)]
print("completo:", faltantes(esquema))
print("vacío:", faltantes({"componentes": [], "flujos": [], "frontera": ""}))
06 · Exploración
Laboratorio: armar el esquema
Activá las tres piezas del esquema de la fila del banco: componentes, flujos y frontera. El medidor muestra la completitud: sin las tres, no se programa.
El esquema pieza por pieza
3 piezas · 100 % para programar
Esquema completo: se puede programar.
Las cajas son componentes, las flechas son flujos y el marco es la frontera. Lo apagado no existe para el programador.
Preguntas para explorar
- Apagá los flujos. ¿Las cajas solas alcanzan para programar?
- Apagá la frontera. ¿Qué pierde el esquema?
- ¿Qué pieza validarías primero con el dueño del banco?
Ver respuestas sugeridas
- No: sin flechas nadie sabe qué se mueve. Cajas solas no alcanzan para programar.
- El marco: qué está dentro y fuera, qué entra y qué sale. Sin frontera no hay alcance.
- La frontera (alcance y horarios): si el recorte está mal, todo lo demás sobra.
07 · Comprensión
Confusiones frecuentes
«Esquema es lo mismo que dibujo lindo»
No: es un contrato con piezas obligatorias. Lo lindo ayuda, lo completo decide.
«Con código alcanza, el esquema sobra»
El código sin esquema esconde decisiones. El esquema las expone antes de que cuesten.
«La frontera se define después»
Después es tarde: sin marco no se sabe qué modelar ni cuándo terminar.
«Validar con el dueño es perder tiempo»
Es el test más barato del proyecto: un «eso no es así» a tiempo vale semanas.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: dictar el esquema
Escribí el esquema del tanque (componentes, flujos, frontera) e imprimilo.
esquema = {
"componentes": ["agua", "tanque", "bomba"],
"flujos": ["entrada -> tanque", "tanque -> salida"],
"frontera": "patio, 12 pasos",
}
print(len(esquema["componentes"]), "componentes")
print(esquema["frontera"])
Ver solución razonada
Tres componentes y una frontera de 12 pasos: el esquema ya dice qué programar sin haber escrito el modelo.
Ejercicio 2: detectar el faltante
¿Qué le falta a este esquema para estar completo?
def faltantes(esquema):
return [k for k in ("componentes", "flujos", "frontera") if not esquema.get(k)]
print(faltantes({"componentes": ["stock"], "flujos": [], "frontera": "mes"}))
Ver solución
Faltan los ['flujos']: hay cajas y marco pero nadie dice qué se mueve. Sin flechas no hay programa.
Ejercicio 3: validar con el dueño
Agregá al esquema una pregunta abierta para el dueño del sistema. ¿Cuál y por qué?
Ver una posible respuesta
esquema = {
"componentes": ["clientes", "fila", "cajeros"],
"flujos": ["llegadas -> fila", "fila -> cajeros"],
"frontera": "sucursal de 9 a 13",
"pregunta": "¿Hay horario pico distinto adentro?",
}
print(esquema["pregunta"])
La pregunta ataca la frontera temporal: si hay pico, el esquema necesita horarios y el modelo, escenarios. Validar temprano, programar tranquilo.
09 · Síntesis
Ideas para recordar
- El esquema ordena el relato en cajas, flechas y marco.
- Sin las tres piezas no se programa: el validador lo exige.
- La frontera se traza al principio, no al final.
- El dueño valida el dibujo antes que el código.
- En Python: el esquema es un diccionario versionado.
En el próximo tema conectaremos las cajas: las relaciones entre componentes.