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 Métier de domaine de Modèle |
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