Generación de Código para Reglas de Negocios [Guía de Usuario de Enterprise Architect]

Top Previous Next

Generación de Código para Reglas de Negocios

button_main button_prev button_next

Después de que ha modelado reglas para todos los elementos de Tarea de Regla en el diagrama de Flujo de Regla, el modelo de Dominio de Negocios está listo para la transformación de código. Las plantillas de código interno previstas para la generación del trabajo de código de regla de tecnología específica de la mano con las plantillas de código EASL para generar el código desde la Clase de procesamiento de reglas y su estructura de Flujo de Regla.

Devolver un valor desde el comportamiento de Flujo de Regla

Paso

Acción

Ver También

1

Haga doble clic en el último elemento de Tarea de Regla antes de el nodo final del diagrama de Flujo de Regla.

Se muestra la ventana Propiedades del Elemento.

 

Crear un Modelo de Dominio de Negocios

2

Haga clic en el pestaña Efecto.

 

 

3

En el campo Efecto , escriba la declaración de devolución ; por ejemplo, devolver verdadero.

 

 

4

Haga clic en el botón Guardar y en el botón Aceptar para cerrar la ventana.

Generar código para la Clase conteniendo el comportamiento de flujo de regla (en nuestro ejemplo inicial, Sistema de Alquileres); el código para lógica de reglas de negocios es generado, con las declaraciones de regla expresados en lenguaje natural como comentarios.

 

 

Generar código para una única Clase

Ejemplo

El siguiente fragmento de código fue generado del elemento de Clase Sistema de Alquileres en el modelo EAExample :

 

///////////////////////////////////////////////////////////

// RentalSystem.cs

// Implementación del RentalSystem de Clase

// Generado por Enterprise Architect

// Creado el: 08-Mayo-2012 2:39:23 PM

///////////////////////////////////////////////////////////

 

 

public class RentalSystem {

 

public Customer m_Customer;

public Car m_Car;

public Rent m_Rent;

 

public RentalSystem(){

 

}

 

~RentalSystem(){

 

}

 

public virtual void Dispose(){

 

}

 

/* Comenzar - Código generado de EA para Actividades e Interacciones */

 

public bool ProcessApplication(Rent m_rent,Application m_application)

{

// comportamiento es una Actividad

 

/*EL AUTO NO DEBE SER ALQUILADO A CLIENTES SI UN NÚMERO DE LICENCIA VÁLIDO*/

if( m_Customer.ValidLicenceNumber == "FALSE" )

{

m_application.Status = "Reject";

m_Customer.Eligibile = false;

}

/*EL AUTO NO DEBE SER ALQUILADO A CLIENTES MENORES DE 18 AÑOS*/

if( m_Customer.age < 18 )

{

m_application.Status = "Reject";

m_Customer.Eligibile = false;

}

/*EL AUTO NO DEBE SER ALQUILADO A CLIENTES CON HISTORIAL MALO DE NIVEL 3*/

if( m_Customer.BadHistoryLevel == 3 )

{

m_application.Status = "Reject";

m_Customer.Eligibile = false;

}

if (Customer.Eligible == true)

{

 

/*EL ALQUILER PARA PEQUEÑOS AUTOS ES DE 80 AUD POR DÍA*/

if( m_Car.type == Small )

{

m_rent.RentPerDay = 80;

}

/*EL ALQUILER PARA AUTOS AWD ES DE 100 AUD POR DÍA*/

if( m_Car.type == AWD )

{

m_rent.RentPerDay = 100;

}

/*EL ALQUILER PARA AUTOS DE LUJO ES DE 150 AUD POR DÍA*/

if( m_Car.type == Luxury )

{

m_rent.RentPerDay = 150;

}

/*EL ALQUILER PARA PAGAR SE CALCULA COMO EL PRODUCTO DE ALQUILER POR DIA Y PERIODO DE ALQUILER EN DÍAS*/

m_rent.RentPayable = m_rent.RentPerDay * m_rent.No_of_rent_days;

if (CustomerBadHistoryLevel > 0)

{

 

/*LA PENALIDAD DE 20 % DE ALQUILER DEBE SER APLICADA PARA CLIENTES CON UN HISTORIAL MALO DE NIBEL 2*/

if( m_Customer.BadHistoryLevel == 2 )

{

m_rent.PenaltyFee = m_rent.RentPayable * 0.2;

}

/*LA PENALIDAD DE 10 % DE ALQUILER DEBE SER APLICADA PARA CLIENTES CON UN HISTORIAL MALO DE NIBEL 1*/

if( m_Customer.BadHistoryLevel == 1 )

{

m_rent.PenaltyFee = m_rent.RentPayable * 0.1;

}

}

else

{

 

}

 

/*LA CANTIDAD TOTAL DE PAGO SE CALCULA COMO LA SUMA DE ALQUILER DE PAGO Y PENALIDAD SI.*/

m_rent.TotalAmountPayable = m_rent.RentPerDay + m_rent.PenaltyFee;

}

else

{

 

}

return m_application.Status;

}

 

/* Final- Código generado de EA para Actividades e Interacciones */

 

}//end RentalSystem

 

 

Notas

El Modelado de Reglas de Negocios está disponible en la Ingeniería de Negocios y Software y en las Últimas ediciones de Enterprise Architect

Aprender más

Plantillas de código EASL

Componer Reglas de Negocios

Validar Reglas de Negocios

 

Temas de Centro de aprendizaje

(Alt+F1) | Enterprise Architect | Modelado de Negocios | Reglas de Negocio | Reglas de Negocio Ejecutables