Escrito originalmente en francés. Traducido por IA — se ha preservado el sentido, no la prosa.
Definición corta
Regla de negocio que se cumple en todos los estados de un objeto, sean cuales sean las operaciones a las que se someta.
Definición detallada
En informática, un invariante es una condición que un programa mantiene verdadera en determinados puntos de su ejecución. En los artículos de este blog, el término designa una regla de negocio enunciada en una frase sobre un objeto del dominio —una factura, un abono, un pedido— y consignada en la ontología, con independencia del código que la hace cumplir.
Uso en el ámbito
Redacción de una ontología de negocio, derivación de tests automatizados a partir de reglas, control de coherencia del código producido por un agente.
Sinónimos y variantes
Regla siempre verdadera, restricción de negocio.
No confundir con
- Regla de gestión condicional — regla que solo vale en ciertos casos o ciertos estados; el invariante vale en todos.
- Test — verificación ejecutable de un comportamiento; un invariante puede dar lugar a uno, pero existe sin él.
Ejemplos
Una factura validada ya no puede modificarse. Una factura tiene al menos una línea. Un abono hace referencia a la factura que corrige. Un pedido anulado no puede enviarse.
Ambigüedades / debates
La frontera entre invariante y regla condicional depende de cómo se dividan los estados: "una factura validada ya no puede modificarse" es condicional sobre la factura, pero invariante sobre el estado "validada".