Réserver une Démo

SVP notez : Cette page d’aide n’est pas pour la dernière version d’Enterprise Architect. La dernière aide peut être trouvée ici.

Pré. Proc.

Intégrer dans l'élément de classe UML

Après la création et la simulation d'un Modèle Décision , vous pouvez générer un module DMN en Java, JavaScript , C++ ou C# et le tester.

Le module DMN peut être intégré à un élément de classe UML , de sorte que le code généré à partir de cet élément de classe peut réutiliser le module DMN et être bien structuré. Puisqu'un élément Class peut définir une Statemachine , après intégration avec le module DMN, la simulation Statemachine Exécutable pourra de manière générique utiliser la puissance du module DMN.

Dans cette rubrique, nous expliquerons le processus d'intégration d'un Modèle DMN avec un élément de classe UML , en tenant compte de :

  • Exigence de l'élément de classe
  • Modèles DMN
  • Liaison DMN à la classe et Intelli-sense
  • Génération de code sur l'élément Class

Exigence de l'élément de classe

Supposons que nous ayons un demandeur de classe avec une opération AffordabilityForProduct qui évalue si le demandeur peut se permettre un produit de prêt.

Un modèle simplifié ressemble à ceci :

A view of Class element to be used for integration with a DMN model using Sparx Systems Enterprise Architect.

Le demandeur du groupe contient deux attributs, qui sont en fait calculés à partir de données plus basiques telles que le revenu mensuel du demandeur, ses dépenses, ses remboursements existants, son âge et son statut d'emploi.

Dans cet exemple, cependant, nous simplifions le modèle en sautant ces étapes et en fournissant directement le revenu disponible et le score de risque.

Modèles DMN

Dans cet exemple, nous avons deux modèles DMN disjoints pour montrer qu'une classe UML peut intégrer plusieurs modèles DMN.

Calculateur de versement

Ce modèle DMN calcule le remboursement mensuel en fonction du montant, du taux et des conditions. Il est composé d'un InputData, d'un Décision et d'un Métier Knowledge Modèle .

An example of DMN Module showing it in simulation mode using Sparx Systems Enterprise Architect.

Calculatrice du facteur d'éventualité de crédit

Ce modèle DMN calcule le facteur de contingence de crédit en fonction du score de risque du demandeur. Il est composé d'un InputData, de deux Decisions et de deux Métier Knowledge Models.

An example of DMN Module showing it in simulation mode using Sparx Systems Enterprise Architect.

Note : Dans cet exemple, nous nous concentrons sur la manière d'intégrer des modules DMN dans un élément Class ; le détail des éléments DMN n'est pas décrit ici.

Code Générer pour les deux modèles DMN

Cliquez sur l'icône Générer Code, et vérifiez que vous pouvez voir cette string dans la fenêtre System Output, onglet 'DMN' :

Le module DMN est compilé avec succès.

Note : Comme ce modèle utilise une fonction intégrée PMT, la Bibliothèque DMN doit être incluse :

Cliquez sur l'icône Générer Code, et vérifiez que vous pouvez voir cette string dans la fenêtre System Output, page 'DMN' :

Le module DMN est compilé avec succès.

Liaison DMN à la classe et Intelli-sense

Placez les deux artefacts DMNSimConfiguration sur le diagramme de classe .

Integrate a DMN Model and Class Element by placing DMNSimConfiguration artifacts on the class diagram in Sparx Systems Enterprise Architect.

Utilisez le Quick Linker pour créer un connecteur de dépendance du demandeur de classe à chacun des artefacts DMN.

A la création du connecteur, une boîte de dialogue vous prompt de choisir l'opération à lier au module DMN.

Lorsque le module DMN est lié à l'opération :

  • L'opération prend un stéréotype <<dmnBinding>>
  • Le connecteur Dépendance est lié à l'opération
Plusieurs artefacts DMN peuvent être liés à la même opération.

A diagram showing a Class that that is connected to two DMN Simulaiton Artifacts setting the integration of a Class to a DMN module.

Après les liaisons DMN, Intelli-sense pour l'éditeur de code de l'opération prendra en support modules DMN. Pour déclencher l'Intelli-sense, utilisez ces combinaisons de touches :

  • Ctrl+Espace - dans la plupart des cas
  • Ctrl + Maj + Espace - lorsque Ctrl + Espace ne fonctionne pas après une parenthèse '('; par exemple, les arguments d'une fonction ou à l'intérieur des parenthèses d'une condition 'If'
  • Les attributs de classe seront listés - m_RiskScore, m_DisposableIncome
  • Les paramètres de fonctionnement seront listés - Montant, Taux, Terme
  • Les opérations seront listées - AffordabilityForProduct
  • Tous les modules DMN liés seront répertoriés - Contingency_Factor_Calculator, Installment_Calculator
Il est assez facile de composer le code avec le support Intelli-sense. En accédant au module DMN, toutes les données d'entrée, les décisions et les Métier de connaissances de métier seront répertoriés pour la sélection.

Cette illustration montre que nous sélectionnons 'Get_Required_monthly_installment()' à partir de la calculatrice de versement.

Il s'agit de la mise en œuvre finale de l'opération.

Génération de code pour la classe (avec intégration DMN)

'Code Générer sur Classe Demandeur' produit ce code :

  • Le ou les modules DMN sont générés en tant qu'attributs de la classe
  • Le code de l'opération dmnBinding est mis à jour
Note : Que l'option de génération soit 'Remplacer' ou 'Synchroniser', le code de l'opération sera mis à jour s'il a le stéréotype 'dmnBinding'.

Apprenez Plus