Generación de Código para Reglas de Negocios [Guía de Usuario de Enterprise Architect] |
Top Previous 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
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
Aprender más Temas de Centro de aprendizaje
|