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

Exemple - Calcul du versement d'un prêt

Le calcul des versements du Métier Knowledge Modèle (BKM) est mis en œuvre en tant que Boxed Context.

  • Le BKM définit quatre paramètres : Type de produit, Taux, Durée et Montant
  • Le Boxed Context définit deux entrées de paire d'expression variable ; ces variables servent de 'variables locales' qui peuvent être utilisées dans des expressions ultérieures
  • valeur de retour : L'expression peut utiliser la valeur de 'variables locales'
  • Toutes les expressions dans un Boxed Context peuvent utiliser des fonctions intégrées, qui sont définies dans le Gabarit personnalisable — DMN Bibliothèque ; les fonctions PMT(...) et decimal(...) sont utilisées dans cet exemple

Spécifier le Type de variable d'entrée de contexte

En général, l'expression et les variables n'ont pas à spécifier de type, qui est déduit de la valeur fournie. Cette fonctionnalité est prise en charge de manière générique par JavaScript , qui est utilisé pour la Simulation DMN d' Enterprise Architect .

Cependant, si vous souhaitez générer du code à partir d'un modèle DMN vers des langages compilés tels que Java, C++ ou C# , vous devrez spécifier le type de chaque variable d'entrée de contexte. Sinon, si vous validez le modèle, vous verrez des avertissements tels que :

Cliquez-droit sur la variable d'entrée de contexte (frais mensuels, remboursement mensuel) dans ce modèle.

Sélectionnez l'option "Afficher le Type de variable".

Tapez maintenant le type de variable, en l'ajoutant au nom de la variable et en le séparant par deux-points, comme illustré ici.

Cliquez ensuite sur le bouton Enregistrer de la barre d'outils pour enregistrer l'expression, puis cliquez sur le bouton pour valider à nouveau le modèle.

Éditeur d'expressions et prise en Support d'Intelli-sense

Le nom de variable du paramètre et de l'entrée de contexte peut contenir des espaces, selon la spécification du langage FEEL. Cette fonctionnalité rend l'expression facile à lire. Afin de vous aider à éditer les expressions avec moins de frappe et en faisant moins d'erreurs, Enterprise Architect fournit le support Intelli-sense pour l'édition des expressions :

Pour éditer une expression, cliquez-droit sur l'expression (dans le champ de droite) et sélectionnez l'option de menu 'Edit Expressions'. La boîte de dialogue 'Expression' s'affiche. Cliquez sur la ligne requise et appuyez sur Ctrl+Espace pour afficher le menu Intelli-sense :

  • Toutes les variables d'entrée de contexte antérieures à l'actuelle seront incluses (les variables d'entrée de contexte postérieures à l'actuelle sont exclues)
  • Pour un Métier Knowledge Modèle (BKM), tous les paramètres seront inclus
  • Pour une Décision , toutes les décisions requises seront incluses
Le modèle DMN peut être généré en tant que code source pour JavaScript , Java, C# et C++. Étant donné que certaines langues peuvent avoir une syntaxe différente pour certaines expressions, Enterprise Architect fournit des pages de substitution de langue pour chaque langue. Si aucun code de remplacement n'est spécifié pour une langue, l'expression définie pour la langue FEEL sera utilisée.

Dans le code généré, l'espace à l'intérieur d'un nom de variable sera remplacé par un trait de soulignement.

Simulation du Métier Knowledge Modèle

Sélectionnez l'onglet "Valeurs des paramètres d'entrée pour la Simulation " et remplissez chaque champ.

Cliquez sur le bouton Enregistrer puis sur le bouton Simulation de la barre d'outils ; le résultat du test sera présenté dans l'expression Boxed Context.

  • La valeur paramètre d'exécution sera affichée ; par exemple, 'Taux = 0,00375'
  • La valeur d'exécution de la variable 'Context Entry' sera affichée ; par exemple, 'Remboursement mensuel = 1520,06'
  • Le résultat du Métier Knowledge Modèle (BKM) sera évalué par la dernière saisie et les valeurs affichées sur la ligne de déclaration ; par exemple, 'retour = 1540.06'
Vous pouvez utiliser cette fonctionnalité pour tester unitairement un BKM sans connaître le contexte afin qu'il puisse ensuite être invoqué par un Décision ou un autre BKM.