Al modelar dominios distintos, aparecen estructuras que se repiten. Un comercio tiene productos y pedidos. Una clínica tiene turnos y reservas. Un banco tiene cuentas y movimientos. Un sistema educativo puede tener cursos, inscripciones y evaluaciones. Estas estructuras recurrentes pueden verse como patrones frecuentes de modelado.
Un patrón no debe copiarse mecánicamente. Sirve como orientación para hacer mejores preguntas, reconocer conceptos habituales y evitar empezar desde cero cada vez. El modelo final siempre debe validarse con el dominio concreto.
Un patrón de modelado es una estructura conceptual que aparece con frecuencia en distintos dominios. No es una solución cerrada, sino una forma de reconocer problemas parecidos y formular preguntas útiles.
Por ejemplo, el patrón Pedido sugiere conceptos como Pedido, Ítem de pedido, Producto, Cliente, Total y Estado. Pero cada negocio define sus propias reglas: descuentos, impuestos, cancelaciones, entregas, pagos y autorizaciones.
El patrón Catálogo aparece cuando el dominio mantiene una lista organizada de elementos disponibles para consulta, selección o uso. Puede ser un catálogo de productos, servicios, especialidades, cursos, prestaciones, habitaciones o recursos.
Sus conceptos frecuentes son Catálogo, Ítem de catálogo, Categoría, Precio, Vigencia, Disponibilidad y Estado. Las reglas pueden incluir publicación, baja, clasificación, versiones, precios históricos o restricciones de visibilidad.
En un sistema de turnos médicos, puede existir un catálogo de Especialidades y Prestaciones. Cada prestación puede tener nombre, duración, requisitos, precio de referencia y profesionales habilitados.
El catálogo no es solo una tabla de opciones. Puede tener reglas: una prestación puede estar vigente o inactiva, puede requerir autorización previa o puede tener duración distinta según el profesional.
El patrón Pedido aparece cuando alguien solicita un conjunto de elementos, servicios o acciones. Es común en ventas, compras, logística, soporte, trámites y solicitudes internas.
Sus conceptos frecuentes son Pedido, Ítem de pedido, Cliente, Producto o Servicio, Cantidad, Precio, Total, Estado, Pago y Entrega. Sus reglas suelen incluir confirmación, cancelación, cálculo de total, disponibilidad, autorización y cambios permitidos según estado.
En un comercio, un Pedido puede contener Ítems de pedido. Cada ítem referencia un Producto y define cantidad, precio aplicado y subtotal. El Pedido puede pasar por estados como creado, confirmado, pagado, enviado, entregado o cancelado.
Un invariante típico es que un pedido confirmado debe tener al menos un ítem. Otra regla puede indicar que no se puede modificar un pedido ya enviado.
El patrón Reserva aparece cuando un recurso se bloquea, asigna o aparta para una persona o finalidad durante un período. Es común en turnos, hoteles, vuelos, alquileres, aulas, vehículos y eventos.
Sus conceptos frecuentes son Reserva, Recurso, Solicitante, Período, Disponibilidad, Confirmación, Cancelación y Estado. Las reglas suelen incluir superposición, vencimiento, anticipación, penalización y liberación del recurso.
Un Turno puede verse como una reserva de una franja horaria con un profesional. El recurso reservado puede ser una agenda, un horario, un consultorio o una combinación de esos elementos.
Las preguntas importantes son: ¿qué se reserva exactamente?, ¿quién reserva?, ¿por cuánto tiempo?, ¿cuándo se confirma?, ¿qué ocurre si se cancela?, ¿qué pasa si el solicitante no asiste?
El patrón Cuenta aparece cuando el dominio necesita mantener una posición, saldo, estado o relación continua con una persona, organización o recurso. Es común en bancos, billeteras, créditos, suscripciones, puntos, deudas y cuotas.
Sus conceptos frecuentes son Cuenta, Titular, Saldo, Movimiento, Límite, Estado, Período y Regla de actualización. Las reglas pueden incluir saldo mínimo, bloqueo, acumulación, vencimiento, conciliación y autorizaciones.
En facturación, una Cuenta corriente de paciente puede registrar cargos, pagos, descuentos y deudas. El saldo no debería modificarse sin dejar movimientos que expliquen el cambio.
La cuenta permite ver continuidad en el tiempo. No representa una operación aislada, sino una relación que acumula efectos.
El patrón Movimiento aparece cuando se necesita registrar cambios sobre una cuenta, stock, saldo, historial o estado acumulado. Un movimiento explica qué cambió, cuándo, por qué y con qué importe o cantidad.
Sus conceptos frecuentes son Movimiento, Tipo de movimiento, Fecha, Importe o Cantidad, Origen, Destino, Motivo y Referencia. Las reglas pueden incluir reversión, conciliación, signo, autorización y trazabilidad.
En una cuenta corriente, un Movimiento puede representar un cargo por atención, un pago, una anulación o un ajuste. En inventario, puede representar entrada, salida, transferencia o corrección de stock.
Los movimientos suelen ser importantes para auditoría. En lugar de cambiar un saldo sin explicación, se registra cada movimiento y el saldo se deriva o se mantiene coherente con ellos.
Los patrones no viven aislados. Un Pedido puede generar Movimientos de stock. Una Reserva puede convertirse en una Prestación facturable. Una Cuenta puede acumular Movimientos derivados de Pedidos o Facturas. Un Catálogo puede alimentar Pedidos, Reservas o Servicios.
Combinar patrones requiere cuidado para no crear un modelo genérico sin significado. Cada combinación debe responder a reglas reales del dominio.
La siguiente tabla resume los patrones tratados:
| Patrón | Idea principal | Preguntas clave |
|---|---|---|
| Catálogo | Lista organizada de elementos disponibles. | ¿Qué se publica, clasifica o selecciona? |
| Pedido | Solicitud compuesta por ítems. | ¿Qué se solicita, confirma, calcula o entrega? |
| Reserva | Asignación temporal de un recurso. | ¿Qué recurso se bloquea y bajo qué condiciones? |
| Cuenta | Relación continua con saldo, estado o posición. | ¿Qué se acumula y cómo se mantiene consistente? |
| Movimiento | Registro de un cambio con trazabilidad. | ¿Qué cambió, cuándo, por qué y con qué efecto? |
Antes de aplicar un patrón, conviene preguntar:
Al usar patrones de modelado, suelen aparecer estos errores:
Los patrones frecuentes de modelado permiten aprovechar experiencia acumulada. Ayudan a reconocer estructuras como catálogos, pedidos, reservas, cuentas y movimientos, y ofrecen preguntas iniciales para explorar reglas. Sin embargo, cada dominio tiene particularidades que deben descubrirse y validarse.
En el próximo tema estudiaremos la representación con diagramas de clases conceptuales de UML, una forma visual muy útil para expresar conceptos, asociaciones y multiplicidades del modelo de dominio.