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

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

Une fois que vous avez modélisé des 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 gabarits fournis pour générer le code de règle spécifique à la technologie fonctionnent main dans la main avec les gabarits de code gabarits pour générer le code à partir de la classe de traitement des règles et de sa structure de flux de règles.

Renvoie une valeur du comportement Rule Flow

Marcher

Action

Voir également

1

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

La boîte de 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, renvoie True.

4

Cliquez sur le bouton Enregistrer, puis sur le bouton OK pour fermer la boîte de le dialogue .

Code Générer de 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 du 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 Système ;

à l'aide de Système . Collections . Générique ;

à l'aide de Système . Texte ;

à l'aide de Système . IO ;

classe publique RentalSystem

{

Client public m_Client ;

voiture publique m_Car ;

Loyer public m_Rent ;

public RentalSystem()

{

}

~Système de location()

{

}

Vide virtuel public Dispose()

{

}

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

public bool ProcessApplication(Rent m_rent,Application m_application)

{

// le comportement est une activité

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

if(m_Customer.ValidLicenseNumber == "FALSE")

{

m_application.Status = "Rejeter" ;

m_Customer.Eligible = faux ;

}

/*LA VOITURE NE DOIT PAS ÊTRE LOUÉE AUX CLIENTS DE MOINS DE 18 ANS*/

if(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 HISTORIQUE DE NIVEAU 3*/

if(m_Customer.BadHistoryLevel == 3)

{

m_application.Status = "Rejeter" ;

m_Customer.Eligible = faux ;

}

si (Client.Eligible == vrai)

{

/*LE LOYER POUR LES PETITES VOITURES EST DE 80 AUD PAR JOUR*/

if(m_Car.type == Petit)

{

m_rent.RentPerDay = 80 ;

}

/*LE LOYER POUR LES VOITURES AWD EST DE 100 AUD PAR JOUR*/

if(m_Car.type == AWD)

{

m_rent.RentPerDay = 100 ;

}

/*LE LOYER POUR LES VOITURES DE LUXE EST DE 150 AUD PAR JOUR*/

if(m_Car.type == Luxe)

{

m_rent.RentPerDay = 150 ;

}

/*LE LOYER À PAYER EST CALCULÉ COMME LE PRODUIT DU JOUR DE LOYER AND DE 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 AVEC BAD HISTORY NIVEAU 2*/

if(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 AVEC BAD HISTORY NIVEAU 1*/

if(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.TotalAmountPayable = m_rent.RentPerDay + m_rent.PenaltyFee ;

}

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