Las reglas de negocio son políticas, condiciones o restricciones propias del dominio que el sistema debe respetar. No son decisiones técnicas, sino normas que provienen del negocio, la organización, la ley, el proceso o los acuerdos con los usuarios.
En los casos de uso, las reglas de negocio ayudan a explicar por qué el sistema permite, bloquea, calcula, valida o deriva ciertas acciones. Si no se documentan, los flujos pueden parecer arbitrarios o incompletos.
Por ejemplo, en un sistema de turnos médicos, una regla puede indicar que un paciente solo puede cancelar un turno hasta 24 horas antes de la consulta. Esa regla afecta el flujo de Cancelar turno y también las pruebas.
Una regla de negocio es una afirmación que define o restringe el comportamiento permitido dentro del dominio. Expresa una condición que debe cumplirse independientemente de cómo se implemente el sistema.
Ejemplos:
Una regla de negocio no debe confundirse con una decisión técnica. "La contraseña se guarda con hash seguro" es una decisión o requisito de seguridad técnico. "Un usuario bloqueado no puede iniciar sesión" es una regla de negocio o política de acceso.
Ambas pueden ser importantes, pero cumplen funciones diferentes en la especificación.
Una regla de negocio puede condicionar un paso del flujo principal, activar un flujo alternativo o generar una excepción. Por eso conviene identificarla y referenciarla claramente dentro de la especificación del caso de uso.
Las reglas de negocio pueden documentarse de varias maneras:
En proyectos pequeños, puede alcanzar con incluirlas en el caso de uso. En proyectos grandes, suele convenir mantener un catálogo para evitar duplicación.
Cuando hay muchas reglas, conviene identificarlas con códigos. Por ejemplo:
Luego, el caso de uso puede referenciar estas reglas sin repetirlas por completo en varios lugares.
Algunas reglas definen qué datos son válidos. Por ejemplo:
Estas reglas suelen aparecer en pasos donde el sistema valida información ingresada o seleccionada.
Otras reglas definen quién puede hacer qué. Por ejemplo:
Estas reglas se relacionan con seguridad, privacidad y control de acceso.
Algunas reglas establecen cálculos o decisiones automáticas. Por ejemplo:
Cuando una regla define un cálculo importante, debe ser precisa para evitar interpretaciones diferentes.
Una regla puede activar un flujo alternativo. Por ejemplo, si un paciente intenta cancelar un turno con menos de 24 horas de anticipación, el sistema puede mostrar una política especial o requerir intervención de recepción.
En ese caso, el flujo alternativo debe indicar qué regla lo activa y qué resultado se espera.
Una regla también puede generar una excepción cuando impide continuar el caso de uso. Por ejemplo, si el médico ya tiene un turno en el mismo horario, el sistema debe rechazar la reserva.
La excepción debe explicar qué informa el sistema, si existe recuperación y qué estado final queda garantizado.
Para el caso de uso Solicitar turno, algunas reglas podrían ser:
| Código | Regla de negocio | Impacto en el caso de uso |
|---|---|---|
| RN-01 | Un horario solo puede reservarse si está disponible. | El sistema valida disponibilidad antes de confirmar. |
| RN-02 | Un paciente no puede tener dos turnos activos con el mismo profesional el mismo día. | Puede bloquear una reserva duplicada. |
| RN-03 | Los turnos de primera consulta requieren datos de contacto completos. | Puede solicitar completar datos antes de confirmar. |
| RN-04 | El sistema debe enviar confirmación cuando el turno queda reservado. | Afecta la postcondición y las pruebas. |
Una regla de negocio debe redactarse de forma precisa. Conviene evitar frases vagas como "se debe validar correctamente" o "se aplican las políticas habituales".
Mejor redacción:
Esta regla permite diseñar comportamiento y pruebas de manera más clara.
Las reglas de negocio deben poder rastrearse. Si una regla cambia, el equipo necesita saber qué casos de uso, pantallas, servicios y pruebas se ven afectados.
Por eso conviene asignar identificadores y referenciar las reglas desde los casos de uso donde se aplican.
Cada regla importante debe tener pruebas asociadas. Si la regla dice que un médico no puede tener dos turnos en el mismo horario, debe existir una prueba que intente generar esa situación y verifique que el sistema la rechaza.
Las reglas suelen ser una fuente directa de casos de prueba, especialmente en sistemas con muchas restricciones de negocio.
Al documentar reglas de negocio, suelen aparecer estos errores:
Antes de cerrar las reglas de negocio, conviene revisar:
Las reglas de negocio explican restricciones esenciales del dominio y dan sentido a muchas decisiones del sistema. Sin ellas, los casos de uso pueden describir pasos, pero no las razones por las que el sistema permite o impide ciertas acciones.
Documentar reglas con claridad mejora la especificación, facilita pruebas y reduce ambigüedades. En el próximo tema estudiaremos datos de entrada, datos de salida y mensajes del sistema.