Mise à jour (04/09/2019) : Enterprise Architect 15 est disponible en téléchargement à partir du site de SparxSystems.
Sparx Systems a publié Enterprise Architect 15 en version beta.
Voici les principales évolutions et fonctionnalités disponibles :
- Data Miner : création/synchronisation des modèles à partir d’une source de données (SQL, JSON, CSV, Excel…). Remarque : disponible uniquement dans l'édition Unified ou Ultimate EA.
- JavaScript Model Based Add-ins : création d’add-ins dans un projet EA (aucune installation nécessaire).
- Ad-Hoc Tables : création de feuilles de calculs en tant qu’éléments (artefacts) à utiliser dans les diagrammes.
- Browser : nouveaux onglets (diagram, element) et accès à la fonction « Find in… ».
- Améliorations diagrammes
- Custom diagram : option permettant d’afficher une version simplifiée des éléments UML, SysML, BPMN, ArchiMate ou autres.
- Bookmark values.
- Group elements.
- Link to element feature
- Google GCP, Amazon AWS web images.
- Image Assets : options glisser/déposer.
- Nouveaux raccourcis claviers.
Cet article présente ces nouvelles fonctionnalités et évolutions avec Enterprise Architect 15.
Data Miner
Data Miner est une nouvelle fonctionnalité qui permet d’importer ou de synchroniser des éléments ou relations sous Enterprise Architect à partir d’une source de données (base de données, fichier JSON ou XML, etc.). Important : cette fonctionnalité est uniquement disponible avec l'édition Unified ou Ultimate.
Data Miner est accessible via un nouveau type de diagramme dont la toolbox est illustrée ci-dessous.
- Classe DMConnection [1] : propriétés pour se connecter sur une base de données via ODBC, un fichier local, ou une url.
- Classe DMSet [1..*] : requête sur la source de données.
- Classe DMScripts [1] : scripts pour mettre à jour les modèles EA à partir des données disponibles au travers des éléments DMSet.
- Classe Data Source et Harvester relationships: relie les éléments DMSet à la DMConnection, ou l’élément DMScripts aux DMSet.
- Remarque : des patterns permettent de créer facilement un module avec l’ensemble des éléments Data Miner nécessaires.
Exemple d’import depuis un fichier Excel :
Procédure :
- Utiliser le menu Edit Data Miner Connection sur l’élément DMConnection pour définir l’emplacement du fichier (local ou sur une url)..
Le fichier Excel utilisé dans cet exemple contient une feuille de calcul pour chaque type d’information collectée : applications, interfaces, données, flux de données entre applications.
- Le menu contextuel Open Data Miner Visualizer sur les éléments DMSet permet de définir la requête sur la source de données et de vérifier le résultat. Dans l’exemple suivant, la requête porte sur le contenu de l’onglet Excel APPS (un élément DMSet a été créé pour chaque feuille de calcul Excel).
- La manipulation des modèles (éléments, attributs, opérations, relations, diagrammes, etc.) sous Enterprise Architect est définie dans le code JavaScript de l’élément DMScript, accessible via le menu contextuel Edit Data Miner Processor.
- Il est recommandé d’utiliser le pattern proposé dans la boîte à outil Data Miner pour disposer d’un élément DMScript avec un code initial.
- De nouvelles classes dans l’API Interop EA sont disponibles : EA.DataMiner, EA.DataMinerManager, EA.DataSet, EA.DMAction, EA.DMArray, EA.DMConnection, et EA.DMScript.
- Une fois le script défini, l’étape finale consiste à l’exécuter via un clic droit > Run Data Miner Processor.
Resultat :
- Les éléments ArchiMate Application Component, Interface et Data Object ont été générés dans une nouvelle arborescence (spécifique au code réalisé pour cet exemple) :
- Les tagged values définies dans les stéréotypes ont été initialisées avec les valeurs mappées, comme pour l’application suivante :
- Les flux de données entre applications ont été générés avec un lien sur le Data Object (conveyed item). Remarque : cf. la fonction Find in All Diagrams eaUtils pour rechercher les flux sur un data object..
Le DataMiner est une fonction d’import ou de synchronisation avec EA à partir de sources externes. Il est important de préciser qu’il ne gère pas d’export vers la source externe de données. C’est une fonctionnalité très utile pour intégrer facilement de multiples sources de données dans les modèles sans passer par exemple par un fichier CSV ou Excel pivot. JavaScript inclut des parsers adaptés aux formats XML et JSON.
Remarque : j’ai commencé à tester l’import du metadata ODATA en alternative à la procédure partagée ici. Le Data Miner va permettre de générer non seulement les classes et attributs, mais également les associations – à suivre !
JavaScript Model Based Add-ins
Les add-ins traditionnels dans Enterprise Architect sont des applications à installer sur chaque poste client pour disposer de ses fonctionnalités (eaUtils en est un exemple). Enterprise Architect 15 intègre un nouveau type d’add-in dit « Model-Based » à définir dans un projet tout comme les scripts (cf. présentation EA User Group Londres 2018).
Les model-based add-ins sont codés en JavaScript dans Enterprise Architect, alors que la plupart des add-ins traditionnels sont développés en C# ou Java. Comparés aux scripts, ces add-ins se différencient par la gestion des évènements EA (broadcast event) permettant notamment de créer un menu dédié (dans le ruban ou via les menus contextuels).
Des exemples de Model Based Add-ins sont disponibles dans le projet EA Example :
Cet add-in est automatiquement reconnu dans la liste suivante :
Dans l’exemple suivant, le menu de l’add-in permet de générer la liste des attributs d’une classe sélectionnée dans la vue System Output :
Custom Tables
Enterprise Architect permet déjà d’utiliser des tableaux dans un diagramme au travers des artefacts Model View dont le contenu est défini selon une requête SQL.
Exemple avec une liste de tests automatiques eaTests pour l’add-in eaUtils :
Custom table est un nouveau type d’artefact disponible avec Enterprise Architect 15 pour gérer des feuilles de calculs. L’exemple suivant a été défini pour présenter les flux de données entre applications :
Remarques : le mode édition s’utilise assez facilement, néanmoins un menu dédié, similaire au générateur RTF de documents, serait utile. Il n’est pas possible actuellement de copier/coller un contenu depuis Excel ; cela pourrait faciliter le transfert d’une mise en forme sous Excel vers des artefacts ‘custom table’.
La structure de la feuille de calcul est disponible au format XML via la tagged value data :
Les propriétés de mise en forme des cellules sont gérées sous l’onglet dataFormat :
Enfin l’onglet script permet de réaliser les fonctions de mise à jour à partir des modèles.
Le menu contextuel Execute behavior script exécute le script pour mettre à jour les applications source et cible pour chaque échange de donnée :
Evolutions Browser
L’explorateur ou Browser propose désormais 4 onglets :
- 1- Project : contenu du référentiel (éléments, diagrammes)
- 2- Context : vue filtrée sur le contenu du paquetage sélectionné (nouveauté EA 14)
- 3- Diagram : nouvelle vue avec la liste des éléments (triés alphabétiquement) présents dans le diagramme actif, ainsi que les associations entrantes/sortantes. Cette vue est intéressante pour faciliter la gestion des éléments d’un diagramme.
- Un simple clic sur un élément ou connecteur sélectionne celui-ci dans le diagramme.
- Un double clic ouvre la fenêtre de propriétés.
- 4- Element : intégration de la vue element browser sur l’élément sélectionné..
Le Browser propose une nouvelle action : find in… illustrée ci-dessous.
Lorsque l’on travaille sur un diagramme, cette action affiche l’élément sélectionné ou le diagramme dans le Browser. C’est un raccourci à la fonction très utile du Find in Project Browser (disponible via un clic droit), et ainsi une alternative aux raccourcis clavier Alt+G ou Maj+Alt+G.
Nouveautés diagrammes
Custom Diagram Drawing Style
Custom style est une nouvelle option dans les propriétés du diagramme. Celle-ci permet de définir une représentation différente du formalisme lié au langage utilisé (UML, SysML, BPMN, ArchiMate…), ce afin de faciliter la compréhension et la partage avec des publics non techniques.
Représentation personnalisée d’applications :
Représentation standard BPMN :
Représentation personnalisée BPMN :
Cette fonction peut être utile afin d’éviter de créer une vue hors référentiel avec Visio, Powerpoint, etc. De plus le nom des éléments reste cohérent et à jour avec l’état du modèle.
Les options de mise en forme sont présentées dans le diagramme suivant :
Avec la version beta utilisée, j’ai néanmoins rencontré des difficultés à réaliser ce diagramme ; à tester à nouveau dans la release finale.
Bookmark value
La fonction bookmark value permet d’associer une valeur affichée au-dessus d’un élément. Cette information est spécifique au diagramme i.e. différentes valeurs peuvent être définies pour un élément sur chaque diagramme nécessaire.
Cela peut être utile pour indiquer un ordre logique de lecture comme illustré dans le diagramme BPMN suivant :
Pour définir une valeur de bookmark, utiliser le menu contextuel Set Bookmark Value, activer l’option et renseigner la valeur.
Le menu contextuel du diagramme permet d’afficher ou masquer tous les marqueurs (Show/Hide All Bookmark Values).
Group Elements
Il est désormais possible de regrouper une sélection d’éléments dans un diagramme pour les déplacer, changer les couleurs, l’alignement, etc. via le menu contextuel : Group Elements.
Link to Element Feature
Cette fonction permet de relier l’attribut ou l’opération d’une classe par exemple vers un autre élément. Avant la version 15, une fois l’association entre deux classes créée, il fallait réaliser un clic droit sur l’extrémité de l’attribut à mapper, sélectionner Link to Element Feature, puis choisir l’attribut. Cette procédure est rapidement fastidieuse pour mapper plusieurs attributs ou opérations.
Dans la nouvelle version, la sélection de l’attribut ou de l’opération sur la classe propose de créer directement ce type de lien.
Ressources : images, icônes pour les architectures Amazon et Google
Une librairie graphique d’icônes et de visuels pour les architectures AWS (Amazon Web Services) et GCP (Google Cloud Platform).
Quelques-uns des visuels sont illustrés ci-dessous :
Image assets
Les éléments image assets ont été introduits avec Enterprise Architect 13 pour permettre de gérer les images en tant qu’éléments du référentiel.
Ces éléments ne sont pas censés être affichés sur les diagrammes, mais plutôt associés en tant que visuel alternatif à des éléments existants. Enterprise Architect 15 facilite ce fonctionnement via de nouvelles options lors du glisser/déposer d’image asset sur un diagramme.
- Set as Alternate Image : définir l’image asset comme image de l’élément cible (ex : classe Class1).
Add as element with image : créer un nouvel élément (ex : classe, composant…) avec l’image asset comme image associée.
Add as link : ajouter l’image asset dans le diagramme.
Remarque : cette évolution est très utile, néanmoins ce serait parfait si l’option Add as element with image pouvait permettre de créer un Boundary, couramment utilisé pour l’affichage d’images (cf. eaUtils Find in All Diagrams pour plus d'informations).
Nouveaux raccourcis claviers
Raccourci vers les notes : Ctrl+Espace ou touche "n"
L’accès aux notes d’un élément est très utile pour visualiser ou mettre à jour sa description. C’est pourquoi la vue Notes est souvent activée. Un accès rapide via le raccourci clavier Ctrl+Espace ou la touche "n" permet d’afficher temporairement les notes dans une popup.
Raccourci vers les propriétés : Ctrl+Entrée
Le raccourci clavier Ctrl+Entrée sur un élément sélectionné dans le Browser ou un diagramme affiche ses propriétés.
A noter que la vue Tagged Values est désormais intégrée à la vue Properties dans un onglet dédié (Tags).