Modélisation UML & SysML

Expertise et articles Blog sur UML, SysML, et Enterprise Architect de Sparx Systems

english versionTwitterUMLChannel SparxSystems EA YouTube videosLinkedIn
lundi, 21 février 2022 13:54

Prolaborate 3.6

Écrit par
Évaluer cet article
(1 Vote)

Prolaborate 3.6

Prolaborate 3.6 est une nouvelle version disponible en téléchargement à partir du site de Sparx Systems pour les utilisateurs détenteurs d'une licence.

Cet article présente les évolutions sur le widget "EA Reports" ainsi qu'une nouvelle fonctionnalité pour créer des connecteurs entre éléments.

Améliorations sur les rapports (widget EA Report)

L'accès sur un projet (repository) publié dans la solution web Prolaborate commence par le dashboard par défaut. Les dashboards sont constitués de widgets organisés et mis en forme dans l'espace de travail.

L'exemple ci-dessous est un dashboard pour un projet utilisant la branche UML d'EAExample, le projet installé avec Enterprise Architect. Celui-ci contient deux widgets : la prévisualisation d'un diagramme (C# Class Model), et une liste de liens pour ouvrir des diagrammes (UML Diagram examples). 

Prolaborate 3.6 dashboard uml

La liste déroulante permet de changer de dashboard, ici pour accéder aux rapports (EA Reports).

Prolaborate 3.6 dashboard list

Le dashboard EA Reports est affiché :

Prolaborate 3.6 dashboard report

Ce dashboard utilise le widget EA Report qui permet de créer un rapport (tableau) pour extraire et afficher des informations issues du modèle, basées sur une configuration personnalisée. Exemple : afficher une liste de classes dans un package avec leur nom, alias, version, et dates de création et modification.

Cette configuration peut être définie via l'assistant "Designer" ou au travers de requêtes SQL spécifiques, similaires à celles utilisées dans le module de recherche Enterprise Architect. Les rapports proposent une vue alternative du contenu des modèles, et permettent d'accéder aux propriétés d'éléments (ex : classes), ainsi qu'aux fonctions de navigation (traçabilité, diagram usage).

Prolaborate 3.6 intègre les améliorations suivantes pour le widget EA Report :

  • Support des espaces dans les en-têtes des rapports. Exemple : "class name" et "modified date/time" dans les résultats ci-dessous.
  • Choix de la colonne "clickable" i.e. permettant d'ouvrir les propriétés d'un élément. Jusqu'à présent ce comportement était réservé à la colonne Name (remarque : ce fonctionnement nécessite d'inclure dans la requête SQL le GUID de l'élément sous le nom "classguid").
  • Personnalisation de l'affichage des résultats en incorporant du code HTML afin d'améliorer le rendu visuel (couleurs, police de caractère, etc.).

Dans l'exemple suivant, le rapport a été créé à l'aide d'une requête SQL personnalisée afin de lister les classes sous un package spécifique, avec un sous-rapport pour afficher les attributs de la classe sélectionnée.

  • "select "Properties" as "clickable_Class Properties" : la première colonne est définie comme "clickable". L'accès aux propriétés de la classe est disponible via le lien "Class Properties" du rapport.
  • "t_object.name as "Class name" : l'en-tête avec le nom des classes est nommée "Class name" i.e. il est possible d'utiliser des espaces (jusqu'à présent il fallait afficher tout attaché ou utiliser des underscore _).

Prolaborate 3.6 dashboard ea report

Une nouvelle zone Modify Look & Feel est visible avec un bouton Add Column. Dans l'exemple suivant, des conditions d'affichage ont été appliquées sur plusieurs valeurs sous la colonne "version" : afficher une puce coloriée suivie de la version 1.0 en bleu, 1.1 en rouge, et 2.0 en vert et en gras.

Prolaborate 3.6 modify look and feel

Des conditions ont été également appliquées sur la colonne class name afin d'afficher certaines classes en gras : stockitem, lineitem, et order.

Prolaborate 3.6 modify look and feel

Résultat :

Prolaborate 3.6 data model report

Cliquer sur un lien sous la colonne Class Properties pour ouvrir les propriétés d'une classe.

Prolaborate 3.6 data model report

De mon point de vue, la possibilité d'utiliser des espaces dans les en-têtes du rapport, ainsi que le choix de la colonne pour accéder aux propriétés d'un élément peuvent être utiles dans certains cas. La mise en forme du contenu est une idée intéressante car le rendu visuel peut être amélioré ; je pense que la gestion de "wildcard" (ex : Order*) pour générer des règles communes à plusieurs valeurs serait intéressante (évolution possible si retenu par l'éditeur). Cela permettrait par exemple de définir des couleurs différentes pour chaque classe selon leur préfixe, suffixe, ou autre.

Créer des connecteurs entre éléments avec Prolaborate

Prolaborate 3.6 permet de créer des connecteurs préconfigurés entre éléments, par exemple générer des liens de dépendance stéréotypés entre classes.

Procédure:

  • Ouvrir la configuration Modeling Languages et créer une configuration "connector custom attribute".

Prolaborate 3.6 modeling language custom attribute connector

  • Sous la configuration Modeling Languages, ouvrir un profile dans le the form designer : Manage Profiles > sélectionner un profil > Edit, sélectionner un élément. Exemple : UML::Class > Form Designer.
  • Déplacer le nouveau "connector custom attribute" : Trace Dependency:

Prolaborate 3.6 modeling language custom attribute connector form designer

Prolaborate 3.6 modeling language custom attribute connector form designer

  • Sauvegarder et mettre à jour le profil (save, update).
  • Ouvrir les propriétés d'une classe ; une nouvelle zone est disponible pour créer des liens de dépendance "trace" avec d'autres classes.

Prolaborate 3.6 add relationship

  • Cliquer sur Add New et sélectionner la classe à associer :

Prolaborate 3.6 add relationship select target class

  • Une fois enregistré, la classe associée est affichée dans la liste :

Prolaborate 3.6 linked class

  • Sous l'onglet traceability, le nouveau lien trace est visible :

Prolaborate 3.6 traceability

L'accès à la mise à jour de connecteurs peut être utile pour permettre à des contributeurs de compléter le référentiel via Prolaborate, ce en complément de le modification de champs textuels (notes, tagged values, etc.) déjà en place.