Está en la página 1de 33

Reglas de Negocio,

Enunciados declarativos
explícitos

V3.0
OCTUBRE 2021
Regla de negocio
Es una expresión clara y definida de las políticas y procedimientos
de una organización, aplicada a personas, procesos,
comportamiento corporativo y/o sistemas informáticos.

Ejemplos:

• Pagar factura al proveedor SOLO SI su estado es


"Aprobado".

• SIEMPRE DEBE CUMPLIRSE QUE un Producto solicitado a un


Proveedor sea ofrecido por ese Proveedor.

• CUANDO se solicite surtir un Pedido SI el Cliente que


solicita ese Pedido es un Deudor ENTONCES colocar su Pedido
en Lista de espera. 2
Regla de negocio
Ejemplos:

• CUANDO un Cliente deja de ser un Deudor ENTONCES procesar


sus pedidos.

• Un Cliente es un Deudor SI, Y SOLO SI, el número de facturas


no pagadas es mayor que 3.

Las reglas deben ser rigurosas, ya que son la base de generación


de código.

3
Enunciados declarativos explícitos
Una regla de negocio debe ser establecida de manera explícita, sin
ambigüedad, y escrita en un lenguaje llano.

Los enunciados declarativos explícitos son la mejor forma, en mi opinión, para


establecer reglas de negocio sin ambigüedad. Estos enunciados usan
expresiones tales como:

Reglas de estímulo y respuesta

CUANDO … ENTONCES …
CUANDO … SI … ENTONCES …
CUANDO … SI … ENTONCES … EN OTRO CASO …

Reglas de restricción previa de operación

… SOLO SI …
Enunciados declarativos explícitos
Reglas de restricción de estructura

SIEMPRE DEBE CUMPLIRSE QUE …

Reglas de inferencia

SI … ENTONCES …

… SI Y SOLO SI …

Reglas de cálculo

… SE CALCULA COMO SIGUE …


Enunciados declarativos explícitos
Reglas de estimulo y respuesta
Las reglas de estimulo y respuesta limitan el comportamiento
especificando las condiciones CUANDO y SI que deben cumplirse para
activar una operación.

Ejemplos de estas reglas son:

CUANDO el nivel de existencia de un Producto sea menor que el


señalado para realizar un nuevo pedido
ENTONCES realizar un nuevo pedido de ese Producto.

CUANDO sea solicitado un Libro de la Biblioteca por un Suscriptor SI


la Copia del Libro está disponible en la Biblioteca
ENTONCES prestar la Copia al Suscriptor
EN OTRO CASO colocar en reserva la siguiente copia disponible de
ese libro de la biblioteca.
Enunciados declarativos explícitos
Reglas de estimulo y respuesta (continuación)

Las reglas de estimulo y respuesta restringen el


comportamiento dentro del contexto de un evento. La
condición SI de la regla es verificada solo CUANDO ocurre
un tipo de evento particular. Por lo tanto, la condición SI
para una operación puede diferir según el estimulo de un
evento. Por ejemplo, se puede Llamar a una operación
Cerrar Pedido bajo las siguientes condiciones:

CUANDO ocurran los eventos Pedido enviado o Pedido


pagado SI el Pedido es pagado y ha sido enviado
ENTONCES Cerrar Pedido.
Enunciados declarativos explícitos
Reglas de estimulo y respuesta (continuación)

CUANDO ocurra un evento Pedido cancelado


SI el Pedido es cancelado y no ha sido enviado
ENTONCES Cerrar Pedido.

Cuando se requiere que una condición SI deba cumplirse


para que una operación se ejecute correctamente (sin
importar que tipo de evento ocurra), se necesita un tipo de
regla diferente.
Enunciados declarativos explícitos
Reglas de restricción de operación

Las reglas de restricción de operación especifican las


condiciones que deben cumplirse antes y después de una
operación para garantizar su correcta ejecución. Tales
restricciones son vitales para que se ejecute la operación y
son completamente independientes del contexto del evento
bajo el cual es llamada la operación. Dos tipos:

• Reglas de condición previa de operación

• Reglas de condición posterior de operación


Enunciados declarativos explícitos
Reglas de condición previa de operación

Las reglas de condición previa de operación expresan las


restricciones bajo las que una operación se ejecutará en
forma correcta. La operación no puede continuar si no se
cumplen estas restricciones.

Ejemplo:

Promover un Empleado de base a Gerente


SOLO SI ese Empleado no es un Gerente.
Enunciados declarativos explícitos
Reglas de condición previa de operación

Casar a un Hombre y a una Mujer


SOLO SI esa Mujer no esta casada y ese Hombre no esta
casado.

un Hombre y una Mujer CONCLUYE EN FORMA CORRECTA


SOLO SI esa Mujer esta casada y ese Hombre esta
casado y esa Mujer esta casada con ese Hombre.
Enunciados declarativos explícitos
Reglas de condición posterior de operación

Garantizan los resultados. Este tipo de regla indica que, al


ejecutar una operación, debe resultar cierto estado.
Ejemplos :

Promover Empleado de base a Gerente CONCLUYE EN


FORMA CORRECTA
SOLO SI ese Empleado no es un Gerente.

Casar un Hombre y una Mujer CONCLUYE EN FORMA


CORRECTA
SOLO SI esa Mujer esta casada y ese Hombre esta
casado y esa Mujer esta casada con ese Hombre.
Enunciados declarativos explícitos
Reglas de condición posterior de operación

Garantizan los resultados. Este tipo de regla indica que, al


ejecutar una operación, debe resultar cierto estado.
Ejemplos :

Promover Empleado de base a Gerente CONCLUYE EN


FORMA CORRECTA
SOLO SI ese Empleado es un Gerente.

Promover Empleado de base a Gerente CONCLUYE EN


FORMA CORRECTA
SOLO SI ese Empleado no es un Gerente.
Enunciados declarativos explícitos
Reglas de restricción de estructura

Las reglas de restricción de estructura especifican políticas o condiciones


con respecto a los tipos de objeto y sus asociaciones; estas reglas no deben
ser violadas. Una regla puede restringir la estructura de un objeto en varias
formas.

• Una regla puede restringir el valor de un atributo:

SIEMPRE DEBE CUMPLIRSE QUE


el salario de un Empleado no pueda ser mayor que el de su Gerente.

• Una regla puede restringir la población de un tipo de objeto:


SIEMPRE DEBE CUMPLIRSE QUE
el numero de Jueces de la Suprema Corte en Estados Unidos no sea
mayor que 9.
Enunciados declarativos explícitos
Reglas de restricción de estructura –cont-

Las reglas de restricción de estructura omiten referencias a las


operaciones, ya que deben cumplirse bajo cualquier circunstancia
operacional. En otras palabras, siempre que cambie el estado del objeto
(aunque dicho cambio sea su creación, terminación o modificación),
debe cumplir su regla de restricción de estructura.

Por ejemplo, al añadir un empleado o cambiar su edad, se exige la regla


siguiente:

SIEMPRE DEBE CUMPLIRSE QUE


la edad de un Empleado no sea mayor de 75 años.
Enunciados declarativos explícitos
Reglas de restricción de estructura – continuación-

• Una regla puede restringir la cardinalidad de una relación:

SIEMPRE DEBE CUMPLIRSE QUE


un Cliente Provisional no efectúe mas de 7 Pedidos.
Enunciados declarativos explícitos
Más ejemplos de reglas de restricción de estructura:

SIEMPRE CEDE CUMPLIRSE QUE


el número de Empleados
(que son Gerentes y que ganan un Salario mayor a
100,000) sea menor o igual a 3.

SIEMPRE DEBE CUMPLIRSE QUE


para una Póliza de seguro de vida el Asegurado no sea
igual al Beneficiario.
Enunciados declarativos explícitos
Más ejemplos de reglas de restricción de estructura:

SIEMPRE DEBE CUMPLIRSE QUE


toda Persona sea Persona del sexo femenino o Persona
del sexo masculino.

SIEMPRE DEBE CUMPLIRSE QUE


todo Vuelo programado para salir de una Ciudad no sea
programado para llegar a esa misma Ciudad.
Enunciados declarativos explícitos
Más ejemplos de reglas de restricción de estructura:

SIEMPRE DEBE CUMPLIRSE QUE


La suma de los salarios de los empleados que trabajan en un
Departamento sea menor que 60 % del presupuesto de
ese Departamento.
Enunciados declarativos explícitos
Reglas de inferencia

Las reglas de inferencia especifican que, si se cumplen


ciertos hechos, puede llegarse a una conclusión, por lo
general tienen la forma SI... ENTONCES, y se asocian con
sistemas expertos.
La inferencia es el proceso por
el cual se derivan
Ejemplos de reglas de inferencia: conclusiones a partir de
premisas
SI un objeto es un Empleado
ENTONCES ese objeto es una Persona.

SI el Polígono tiene perímetro


ENTONCES un Cuadrado tiene perímetro.
Enunciados declarativos explícitos
Reglas de inferencia

Las reglas con inferencias en dos sentidos también pueden


especificarse en forma de SI, Y SOLO SI.

Una regla de inferencia puede derivar subtipos de objetos:

Una Persona es un Empleado SI, Y SOLO SI, esa


Persona trabaja para una Organización.

Un Cliente es un Deudor SI, Y SOLO SI, el número de


Facturas (enviadas a ese Cliente y con fecha de
vencimiento anterior a hoy) es mayor que 3.
Enunciados declarativos explícitos
Reglas de inferencia

Una regla de inferencia puede derivar asociaciones de


objetos:

Por ejemplo:

Un Empleado informa a un Gerente SI, Y SOLO SI, ese


Empleado trabaja para el Departamento
encabezado por ese Gerente.
Enunciados declarativos explícitos
Reglas de cálculo

Las reglas de calculo derivan sus resultados procesando


algoritmos.

La regla de calculo esta concebida como una ecuación.

Ejemplos de reglas de cálculo:


Enunciados declarativos explícitos
Reglas de cálculo

Ejemplos de reglas de cálculo:

Especificar el calculo de valores:

El precio neto de un Producto SE CALCULA COMO SIGUE


precio del producto *( 1.0 - % descuento/100 + %
impuesto/100 )
Enunciados declarativos explícitos
Reglas de cálculo –continuación-

Una regla puede especificar el cálculo de tipos de objeto:

El tipo de objeto Mujer SE CALCULA COMO SIGUE


la intersección de todos los Seres Humanos mujeres y
Seres Humanos adultos.

Una regla puede especificar el calculo de asociaciones:

La asociación padre SE CALCULA COMO SIGUE


la unión de las asociaciones madre y padre.
Enunciados declarativos explícitos
Reglas de cálculo –continuación-

Las reglas de cálculo y las reglas de restricción de estructura


se implementan como métodos en una clase.

Más ejemplos :

Ver docx FORMULA PRECIO COMBUSTIBLES en C:\525


VIRTUAL BK 25062021-20210626T215143Z-001\INF525
VIRTUAL BK\DIAS-CLASE\06-24.
Enunciados declarativos explícitos
APLICACION GLOBAL, LOCAL Y TEMPORAL DE REGLAS

Algunas reglas pueden tener ciertas restricciones sobre el


alcance del proceso al cual se aplican.

Global, a menos que se anule localmente :

SIEMPRE DEBE CUMPLIRSE QUE un Pedido tenga uno o


más Elementos. (al aceptar el Pedido)
Enunciados declarativos explícitos
La regla de aplicabilidad también puede depender de las
políticas culturales y legales validas en ciertos lugares:

(En Omaha, Nebraska)


Casar a un Hombre y una Mujer SOLO SI esa Mujer no
esta casada y ese Hombre no esta casado.

(En el Tibet)
Casar un Hombre y una Mujer SOLO SI esa Mujer no está
casada.
Enunciados declarativos explícitos
La aplicabilidad de una regla también puede depender del
tiempo.

(Antes del 8-Ene-2020)


CUANDO un Pedido sea enviado y el Pedido sea pagado
ENTONCES Cerrar Pedido.

(Desde del 8-Ene-2020)


CUANDO un Pedido sea enviado, y el Pedido sea pagado y
hayan transcurrido 60 días
ENTONCES Cerrar Pedido.
Fuentes de reglas de negocio
• Fuentes de las reglas de negocio:

• Los altos ejecutivos


• Los responsables de las políticas,
• Los directores de departamento,
• La documentación escrita,
• Los procedimientos,
• Las normas o regulaciones (privadas o gubernamentales)
• Los manuales de operación,
• Las entrevistas con los usuarios finales.

30
Nombrando reglas de negocio
• En general, un nombre de una regla negocio:

• Es una secuencia de caracteres ordenados en la siguiente


forma:
• RN<departamento afectado> número de regla.
• Describe un solo concepto,
• Está escrito en lenguaje sencillo
• Es de una sola fuente.

• Por ejemplo:

• RNcon111: en este caso, esta regla de negocios está


directamente relacionada con el departamento de
contabilidad y es la número 111.

31
Reglas de negocio
• Formato a usar:
NEGOCIO <nombre del negocio>
DESCRIPCIÓN <breve descripción del negocio>
DEL NEGOCIO
Reglas de negocio
NOMBRE DESCRIPCIÓN
RN<depto>ddd
RNcon111 <descripción de ésta regla de negocio>
RNhr200 <descripción de ésta regla de negocio>
... ...

32
Referencias
• Métodos Orientados a Objetos: Conceptos fundamentales; James Martin, James J.
Odell; PHH, 1997.

• Business Rules and Database


http://www.databaseanswers.org/tutorial4_db_schema/tutorial_business_rules.htm

• What Are Business Rules?


http://etutorials.org/SQL/Database+design+for+mere+mortals/Part+II+The+Design+Pro
cess/Chapter+11.+Business+Rules/What+Are+Business+Rules/

• Business Rules and Object Orientation


https://www.paragoncorporation.com/ArticleDetail.aspx?ArticleID=15Introduction

• Business rules
http://en.wikipedia.org/wiki/Business_rule

33

También podría gustarte