Réserver une Démo
Pré. Proc.

Génération de code pour Règles Métier

Une fois que vous avez modélisé les règles pour tous les éléments de tâche de règle dans le diagramme de flux de règles, le modèle de domaine Métier est prêt pour la transformation du code. Les gabarits de code internes fournis pour générer le code de règle spécifique à la technologie fonctionnent de concert avec les gabarits de code EASL pour générer le code à partir de la classe de traitement des règles et de sa structure de flux de règles.

Renvoyer une valeur à partir du comportement du flux de règles

Étape

Action

Voir aussi

1

Double-cliquez sur le dernier élément de tâche de règle avant le nœud de fin du diagramme de flux de règles.

La dialogue ' Propriétés ' de l'élément s'affiche.

Créer un Modèle de domaine Métier

2

Cliquez sur l'onglet « Effet ».

3

Dans le champ « Effet », saisissez l’instruction de retour ; par exemple, return True.

4

Cliquez sur le bouton Enregistrer, puis sur le bouton OK pour fermer le dialogue .

Générer du code pour la classe contenant le comportement du flux de règles (dans notre exemple initial, Rental System) ; le code pour la logique des règles métier est généré, avec les instructions de règle exprimées en langage naturel sous forme de commentaires.

Générer une classe unique

Exemple

Cet extrait de code a été généré à partir de l'élément Rental System Class dans le modèle EAExample :

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

// RentalSystem.cs

// Implémentation de la classe RentalSystem

// Généré par Enterprise Architect

// Créé le : 26-juillet-2016 14:39:23

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

en utilisant le système ;

en utilisant System . Collections . Generic ;

en utilisant System .Text ;

en utilisant System . IO ;

classe publique RentalSystem

{

Client public m_Customer;

Voiture publique m_Car;

Loyer public m_Rent;

système de location public()

{

}

~Système de location()

{

}

public virtuel void Dispose()

{

}

/* Début - Code généré par EA pour les activités et les interactions */

public bool ProcessApplication(Loyer m_rent,Application m_application)

{

// le comportement est une activité

/*LA VOITURE NE DOIT PAS ÊTRE LOUÉE À DES CLIENTS SANS UN NUMÉRO DE PERMIS VALIDE*/

si(m_Customer.ValidLicenseNumber == "FAUX")

{

m_application.Status = "Rejeter";

m_Customer.Eligible = faux;

}

/*LA VOITURE NE DOIT PAS ÊTRE LOUÉE À DES CLIENTS ÂGÉS DE MOINS DE 18 ANS*/

si(m_Customer.age < 18)

{

m_application.Status = "Rejeter";

m_Customer.Eligible = faux;

}

/*LA VOITURE NE DOIT PAS ÊTRE LOUÉE À DES CLIENTS AYANT UN MAUVAIS HISTOIRE DE NIVEAU 3*/

si(m_Customer.BadHistoryLevel == 3)

{

m_application.Status = "Rejeter";

m_Customer.Eligible = faux;

}

si (Client.Eligible == vrai)

{

/*LA LOCATION POUR LES PETITES VOITURES EST DE 80 AUD PAR JOUR*/

si(m_Car.type == Petit)

{

m_rent.LoyerParJour = 80;

}

/*LA LOCATION DE VOITURES AWD EST DE 100 AUD PAR JOUR*/

si(m_Car.type == AWD)

{

m_rent.LoyerParJour = 100;

}

/*LA LOCATION DE VOITURES DE LUXE EST DE 150 AUD PAR JOUR*/

si(m_Car.type == Luxe)

{

m_rent.LoyerParJour = 150;

}

/*LE LOYER À PAYER EST CALCULÉ COMME LE PRODUIT DU LOYER PAR JOUR AND LA PÉRIODE DE LOCATION EN JOURS*/

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

si (CustomerBadHistoryLevel > 0)

{

/*UNE PÉNALITÉ DE 20 % DU LOYER DOIT ÊTRE APPLIQUÉE POUR LES CLIENTS AYANT UN MAUVAIS HISTOIRE DE NIVEAU 2*/

si(m_Customer.BadHistoryLevel == 2)

{

m_rent.PenaltyFee = m_rent.RentPayable * 0.2;

}

/*UNE PÉNALITÉ DE 10 % DU LOYER DOIT ÊTRE APPLIQUÉE POUR LES CLIENTS AYANT UN MAUVAIS HISTOIRE DE NIVEAU 1*/

si(m_Customer.BadHistoryLevel == 1)

{

m_rent.PenaltyFee = m_rent.RentPayable * 0.1;

}

}

autre

{

}

/*LE MONTANT TOTAL À PAYER EST CALCULÉ COMME LA SOMME DU LOYER À PAYER AND DE LA PÉNALITÉ LE CAS ÉCHÉANT.*/

m_rent.MontantTotalPayable = m_rent.LoyerParJour + m_rent.FraisDePénalité;

}

autre

{

}

retourner m_application.Status;

}

/* Fin - Code généré par EA pour les activités et les interactions */

}

//fin du système de location

Notes

  • Métier Rule Modélisation est disponible dans l'édition Unified et l'édition Ultimate d' Enterprise Architect

Apprenez Plus