Modelos y Simulación · Tema 21

Representación conceptual

Del problema narrado al esquema ordenado: dibujar el sistema antes de programarlo.

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.

Del relato al esquema, palabra por palabra.
RelatoEsquema
«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

  1. 1
    Subrayá sustantivos y verbos.

    Personas, cosas y lugares son cajas; acciones y movimientos son flechas.

  2. 2
    Dibujá cajas y flechas.

    Sin números todavía: solo qué existe y qué fluye hacia dónde.

  3. 3
    Trazá la frontera.

    Encerrá lo modelado y nombrá lo que cruza: entradas y salidas.

  4. 4
    Validá 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

Relato→Esquema→Diccionario→Programa

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.

EXPERIMENTO 21

El esquema pieza por pieza

3 piezas · 100 % para programar

Los resultados numéricos aparecen debajo.
Completitud100%
Piezas3 de 3
Faltanada
LecturaListo

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

  1. Apagá los flujos. ¿Las cajas solas alcanzan para programar?
  2. Apagá la frontera. ¿Qué pierde el esquema?
  3. ¿Qué pieza validarías primero con el dueño del banco?
Ver respuestas sugeridas
  1. No: sin flechas nadie sabe qué se mueve. Cajas solas no alcanzan para programar.
  2. El marco: qué está dentro y fuera, qué entra y qué sale. Sin frontera no hay alcance.
  3. 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.