Cuando analizamos entrevistas, documentos, requerimientos y casos de uso, encontramos muchas palabras. Algunas nombran cosas importantes del dominio, otras describen acciones, otras expresan restricciones y otras solo son detalles secundarios. Para construir un buen modelo de dominio necesitamos separar esos elementos con criterio.
Una técnica inicial consiste en observar sustantivos, verbos y frases de regla. Los sustantivos pueden sugerir conceptos. Los verbos pueden sugerir acciones, procesos o eventos. Las reglas indican condiciones, restricciones, cálculos o políticas del negocio. Esta técnica no resuelve todo por sí sola, pero ayuda a organizar el análisis.
La siguiente imagen resume la idea general: a partir del lenguaje del negocio se separan candidatos a conceptos, acciones y reglas. Luego esos candidatos se revisan, se validan y se incorporan al modelo de dominio solo cuando tienen significado real.
Los sustantivos suelen señalar elementos del dominio. En un sistema de turnos, términos como Paciente, Profesional, Agenda, Turno, Especialidad, Franja horaria, Reserva y Cancelación son candidatos naturales a conceptos. Sin embargo, no todo sustantivo debe convertirse en entidad o clase conceptual.
Algunos sustantivos representan atributos simples, valores, documentos, estados o incluso detalles técnicos. Por ejemplo, "color", "botón" o "pantalla" pueden aparecer en una conversación, pero normalmente no pertenecen al modelo de dominio de turnos. En cambio, "turno" y "agenda" sí tienen reglas, relaciones y significado central.
Los verbos muestran lo que ocurre en el dominio. Palabras como reservar, cancelar, confirmar, atender, facturar, aprobar, rechazar, asignar, bloquear o reprogramar indican acciones relevantes. Algunas acciones serán operaciones del sistema; otras describirán procesos manuales, eventos o cambios de estado.
Por ejemplo, "reservar un turno" puede ser una acción iniciada por un paciente. "Cancelar un turno" puede cambiar el estado del turno y liberar una franja horaria. "Confirmar asistencia" puede registrar que el paciente fue notificado o que aceptó concurrir. Cada verbo importante debe analizarse junto con sus reglas.
Las reglas de negocio explican qué está permitido, qué está prohibido, qué debe calcularse o qué decisión debe tomarse bajo determinadas condiciones. Suelen aparecer en frases como "solo si", "siempre que", "no se puede", "debe tener", "como máximo", "al menos", "excepto cuando" o "depende de".
En el dominio de turnos, una regla podría ser: "Un paciente no puede reservar dos turnos con el mismo profesional en el mismo horario". Otra regla podría indicar: "Una cancelación fuera de término registra una inasistencia". Estas reglas no son detalles menores; definen el comportamiento esperado del negocio.
Una acción expresa una intención o una operación que alguien realiza. Un evento expresa algo que ya ocurrió y que tiene importancia para el dominio. "Cancelar turno" es una acción; "Turno cancelado" es un evento. "Confirmar reserva" es una acción; "Reserva confirmada" es un evento.
Esta diferencia ayuda a modelar mejor. Las acciones suelen estar vinculadas con casos de uso, comandos o servicios. Los eventos ayudan a describir consecuencias, historial, integración con otros procesos y cambios de estado.
En etapas iniciales no hace falta formalizar todo, pero sí conviene distinguir si estamos hablando de una intención futura o de un hecho ocurrido.
Una regla de negocio pertenece al dominio. Una validación de pantalla es una forma técnica de aplicar o prevenir algo en la interfaz. Por ejemplo, "el nombre del paciente es obligatorio" puede tener una validación visual, pero la regla real es que no se puede registrar un paciente sin identificación suficiente.
Si una regla se expresa solo como validación de pantalla, puede perderse cuando se agregan otras interfaces, como una API, una carga masiva o una aplicación móvil. Por eso conviene formular primero la regla del dominio y luego decidir dónde se implementará.
Analicemos la frase: "El paciente puede reservar un turno disponible con un profesional, pero no puede hacerlo si ya tiene otro turno pendiente para la misma especialidad".
Podemos separar:
Esta separación permite transformar una frase de requerimiento en material útil para el modelo de dominio.
Al analizar sustantivos y adjetivos, es común confundir conceptos, atributos y estados. "Turno" puede ser un concepto. "Fecha" y "hora" pueden ser atributos del turno o de una franja horaria. "Reservado", "cancelado" o "atendido" pueden ser estados del turno.
La decisión depende de las reglas. Si un elemento tiene identidad, relaciones y reglas propias, probablemente sea concepto. Si solo describe una característica simple, puede ser atributo. Si representa una situación en la que se encuentra un concepto durante su ciclo de vida, puede ser estado.
Una política del negocio es una regla o conjunto de reglas que expresa una decisión organizacional. Puede cambiar con el tiempo y muchas veces depende de criterios comerciales, legales, operativos o administrativos.
Por ejemplo, una clínica puede decidir que una cancelación debe realizarse con 24 horas de anticipación. Otra puede exigir 48 horas. Esa política no define qué es un turno, pero sí condiciona cómo se puede cancelar. Identificar políticas permite separar reglas que podrían cambiar sin alterar todos los conceptos del dominio.
Una forma práctica de trabajar con textos del dominio es seguir estos pasos:
Esta heurística debe usarse como guía, no como regla automática.
La siguiente tabla muestra ejemplos de cómo clasificar términos encontrados durante el análisis:
| Elemento encontrado | Posible clasificación | Pregunta de validación |
|---|---|---|
| Paciente | Concepto del dominio | ¿Tiene reglas, datos y relaciones propias? |
| Reservar | Acción del dominio | ¿Quién la realiza y qué cambia después? |
| Turno cancelado | Estado o evento | ¿Describe una situación actual o un hecho ocurrido? |
| Máximo dos reservas activas | Regla o política | ¿Qué condición debe cumplirse y cuándo se evalúa? |
| Botón confirmar | Detalle de interfaz | ¿Pertenece al negocio o a la solución técnica? |
La clasificación inicial debe validarse con ejemplos concretos. Si creemos que "Confirmación" es un concepto importante, debemos preguntar: ¿qué datos tiene?, ¿quién la realiza?, ¿puede fallar?, ¿genera historial?, ¿modifica el estado del turno?, ¿tiene reglas propias?
Si la confirmación solo es una marca simple en el turno, quizá sea un atributo o estado. Si tiene fecha, responsable, canal, reglas de vencimiento y consecuencias, puede merecer un lugar más explícito en el modelo.
Al separar sustantivos, verbos y reglas, suelen aparecer estos errores:
Separar sustantivos, verbos y reglas ayuda a transformar lenguaje natural en conocimiento útil para el modelo de dominio. Los sustantivos orientan hacia conceptos, los verbos muestran acciones y eventos, y las reglas revelan restricciones y políticas que el sistema deberá respetar.
En este tema vimos una técnica práctica para analizar entrevistas, documentos y requerimientos. En el próximo tema comenzaremos a estudiar las entidades, prestando atención a identidad, ciclo de vida y continuidad en el tiempo.