urbanisation-si.com

urbanisation-si.com

Modélisation de système


Visual Paradigm : l’eldorado du consultant en quête de présentations dorées, mais est-il un bon outil de modélisation pour l’architecte d’entreprise, voici notre test

Cet outil gratuit, en français, en mode SaaS dans le cloud, accessible à partir de nombreux appareils mobiles (iOS, Android…), offre un panorama hétéroclite de modèles de visuels, dont voici une liste à la Prévert : cartes cadeaux, anniversaire, menus, albums photos, tableaux de bord, graphiques statistiques, bande dessinée… et ce qui nous intéresse tout particulièrement les diagrammes ArchiMate, BPMN, et UML. 

 

visual-paradigm-diagramme-archimate-architecture-entreprise-hexagonale

 

 

Visual Paradigm propose pêle-mêle des cartes cadeaux,
mais aussi des diagrammes d'architecture d'entreprise

 

Pourquoi Visual Paradigm est le couteau suisse du consultant pressé de rédiger sa présentation PowerPoint

Installation

Un mail valide suffit à créer un compte permettant d’accéder aux outils de dessin et aux innombrables templates.

Tous les formats d’export sont proposés : JPEG, PNG, SVG, PDF et même directement comme image vers Microsoft Office, très pratique par exemple pour les présentations PowerPoint.

 

ArchiMate

Pour ArchiMate, Visual Paradigm propose 168 templates. Ces exemples couvrent toutes les couches : Stratégie, Métier, Application, Technologique & Physique, Motivation,  Implementation & Migration.

Le consultant trouvera certainement une vue similaire à ce qu’il désire modéliser. 

Quant aux étudiants, ils trouveront là des illustrations pratiques des concepts théoriques d’ArchiMate en complément de cours plus didactique.

 

visual-paradigm-diagramme-archimate-168-templates

 

Visual Paradigm propose 168 exemples de diagrammes ArchiMate

 

BPMN

visual-paradigm-diagramme-bpmn-4-templates-bpmn

 

Visual Paradigm propose 4 exemples de diagrammes BPMN

 

La prise en main est immédiate, tout est à portée de souris, bravo l’ergonomie.

 

visual-paradigm-diagramme-bpmn-order-process

 

Exemple d'un processus avec Visual Paradigm



UML

 

visual-paradigm-diagramme-uml-8-diagrammes

 

Visual Paradigm propose 8 types de diagrammes UML, il en manque 5 !

 

Manque 5 diagrammes pour couvrir la norme de l'OMG : object, communication, composite structure, interaction overview et timing, ce qui peut être rédhibitoire dans certains cas comme ne pas pouvoir mettre des contraintes de temps sur des transitions d’états.

 

visual-paradigm-diagramme-uml-component

 

Exemple de diagramme UML de composants avec Visual Paradigm

 

Le diagramme de composants permettant de modéliser les connexions, grâce aux interfaces requises et fournies est complet et encore une fois l’élaboration se fait de manière très intuitive.

 

Bravo pour le partage d’écran

Pour partager son écran, il suffit d’aller dans le menu “Share” puis “Collaboration”, de saisir le mail d’un collègue et les permissions par défaut des membres de l'équipe, à choisir entre : édition, visualisation, ou accès seulement au créateur.

 

visual-paradigm-partage-ecran-droits-permissions

 

 

Partage de document et affectation des droits avec Visual Paradigm

 

Le coéquipier reçoit dans sa boîte mail un lien demandant confirmation. Une fois le mail validé, un autre mail est envoyé avec un lien permettant d’accéder au document qui a été partagé. 

 

Un utilisateur qui vient de créer un diagramme peut partager son écran avec un collègue qui a été dûment référencé.

 

visual-paradigm-partage-ecran-activer-partage-ecran

 

Activation du partage écran avec Visual Paradigm

 

Un membre d’une équipe peut demander la permission pour voir l’écran d’un autre qui recevra une notification demandant l'autorisation.

 

visual-paradigm-partage-ecran-voir-ecran-autre-collaborateur

 

Demande de visualisation d'un écran d'un autre membre de l'équipe

 

Les actions d’un utilisateur distant sont répercutées en temps réel.

 

visual-paradigm-outil-collaboratif-partage-ecran-1

 

Un autre membre distant à qui l’on a autorisé l'accès au diagramme, est en train de déplacer sa souris indiquée ici en vert avec son nom

 

visual-paradigm-outil-collaboratif-partage-ecran

 

Un membre d'une équipe est en train de regarder l'écran distant d'un autre, apparaissant entouré d'un cadre violet avec le nom du membre distant

 

Pourquoi Visual Paradigm n’est pas un outil destiné
à l'architecte d’entreprise

Un outil d’architecture d’entreprise doit gérer un référentiel d'objets (acteur métier, rôle métier, processus métier…), leur cycle de vie ainsi que les méta-informations pour la gouvernance. Rien de tout cela ici, Visual Paradigm, se contente uniquement de stocker les diagrammes dans un Cloud comme VP Online (celui de Visual Paradigm), Google Drive… ou sur un support local de persistance.

 

Exemples de fonctionnalités essentielles manquantes et indispensables dans un outil d’architecture d’entreprise :

  • Pas de traçabilité pour les mesures d’impact
  • Pas d’analyses, de génération de documentation, de rapports, de tableau de bord
  • Pas de vérification des diagrammes
  • Pas d’audit
  • Pas de métamodèle
  • Pas de scripts
  • Pas de support MDA
  • Pas d’interopérabilité avec les autres outils
  • Pas de support XMI

 

Conclusion

Ce logiciel hyper généraliste conviendra aux infographiste, intégrateur web, designer, business analyst, AMOA… sauf à l’architecte d’entreprise pour qui l’absence de référentiel, de système de traçabilité, de navigation entre les artefacts de modélisation, de méta-modèle, de génération de rapports… sera rédhibitoire.

Par contre, sa gratuité, sa facilité d’installation en mode SaaS ne demandant aucune connaissance technique, la possibilité de partager son écran à des coéquipiers et les nombreux exemples ArchiMate, BPMN, UML, prêts à être adaptés, font de Visual Paradigm un excellent outil pédagogique pour mettre en pratique l’art de la modélisation. 

 

Note : 3/5  

Nous regrettons :

  • Que ce soit uniquement un outil de dessin.

 

Nous aimons :

  • Le mode SaaS

  • Le partage d’écran permettant le travail en équipe

  • Les innombrables exemples ArchiMate, BPMN et UML

  • Son excellente ergonomie

 

 

urbanisation-si_logo

 

Rhona Maxwel

urbanisation-si.com

@rhona_helena

 

“Celui qui, par quelque alchimie sait extraire de son cœur, pour les refondre ensemble, compassion, respect, besoin, patience, regret, surprise et pardon crée cet atome qu'on appelle l'amour.”

Khalil Gibran

 

Compléments de lecture

Outils de Modélisation et comparatifs

 

Apprendre ArchiMate

  1. ArchiMate pour les nuls : les fondamentaux - 1

  2. ArchiMate la synthèse : les éléments de motivation - 2

  3. ArchiMate en condensé : les éléments de stratégie - 3

  4. ArchiMate l’essentiel : les éléments de la couche métier - 4

  5. ArchiMate mémento : les éléments de la couche application - 5

  6. ArchiMate aide mémoire : les éléments de la couche technologique - 6

  7. ArchiMate en abrégé : les éléments physiques de modélisation - 7

  8. ArchiMate mémento : Alignement de la couche métier avec les couches inférieures - 8

  9. ArchiMate : modélisation de l’alignement des couches d'application et de technologie - 9

  10. ArchiMate : les éléments d'implémentation et de migration - 10

  11. ArchiMate : vues et points de vue - 11

  12. ArchiMate : guide complet des éléments de modélisation - 12

 

BPMN

  1. BPMN 2 : les concepts de base des processus métiers

  2. BPMN pour les nuls : les collaborations

  3. BPMN pour les nuls : les chorégraphies (Choreographies)

  4. BPMN pour les nuls : les conversations

  5. BPMN : norme OMG - synthèse des éléments graphiques

  6. BPMN : l'antisèche pour rester incollable en modélisation de processus

  7. BPMN l’exemple type pour tout comprendre sans prendre d’aspirine

  8. BPMN : la norme, toute la norme rien que la norme. L'exemple à lire en attendant une pizza

  9. BPMN : mais que dit la norme sur les sous-processus et la gestion des événements d'interruption et de remontée d'incidents ?

  10. BPMN : processus exécutables, comment s'y prendre ? (1/3)

  11. BPMN : processus exécutables, comment s'y prendre ? (2/3)

  12. BPMN : processus exécutables, comment s'y prendre ? (3/3)

  13. Comment identifier, simuler, améliorer et modéliser les processus métiers ?

  14. Comment mettre en place un jeu de rôles pour modéliser un processus métier ?

 

Pour devenir expert en UML

 


22/02/2022
0 Poster un commentaire

Essai et évaluation de Modelio : est-il un bon outil de modélisation ?

Ce test concerne Modelio, le seul outil open source fonctionnant sur Windows, Linux, Mac OS, supportant ArchiMate, TOGAF, BPMN, UML, SysML, MDA et offrant, pour tous ces artefacts de modélisation, un référentiel commun assurant la traçabilité depuis la stratégie jusqu’à la couche technologique. Mais est-il fiable en usage intensif dans les entreprises ou doit-il être plutôt réservé à l’apprentissage de la modélisation ?  

store-modelio-org

Sur le store, on trouve des extensions gratuites : import/export Excel, générateur de code Java et reverse engineering Java en UML, concepteur de patterns, modélisateur de base de données SQL… Malheureusement le module collaboratif est payant. https://store.modelio.org/

 

Installation

Ici, point de SaaS, mais une application on premise qui se télécharge à partir du site https://www.modelio.org/ en fonction de l’OS cible. Des utilisateurs de Mac nous ont avertis que des dysfonctionnements sans gravité étaient survenus pendant l’installation. La version installée est en français. La désinstallation ne laissera aucune trace sur votre machine.

 

Modelio open source est gratuit et sous licence GNU GPL (General Public License). Il est développé par Softeam, une filiale de Docaposte, société de conseils en transformation numérique. Développé en Java, il est basé sur Eclipse, qui est un environnement de production de logiciel libre, extensible, universel et polyvalent.

 

Les habitués d’Eclipse retrouveront le système de personnalisation redessinant entièrement l’écran, basé sur les perspectives regroupant un certain nombre de vues déjà prédisposées : Gestion des projets, Modèle, ArchiMate, Diagramme, Développement et une dernière perspective globale.  

 

Si Modelio gère bien un référentiel d’objets d’entreprise, il ne permet pas de le partager entre plusieurs utilisateurs autorisés. On peut juste exporter le projet pour le transmettre à un autre utilisateur qui pourra l’importer. 

 

N’importe quel objet d’entreprise, sous n’importe quel formalisme parmi ceux cités précédemment, peut être intégré dans un diagramme et être lié à un autre par des liens de traçabilité. Un projet doit être créé, qui contiendra automatiquement un package dans lequel, on peut créer un diagramme. Modelio propose alors les diagrammes BPMN et UML. 

 

modelio-open-source-diagramme-bpmn-uml

 

L’ensemble des diagrammes UML/BPMN supportés par Modelio

 

Sur les 13 diagrammes de la norme UML 2, 10 sont présents, les diagrammes : Timing Diagram, Interaction Overview Diagram sont absents de la liste, il est vrai que leur utilisation est beaucoup plus rare. Le "Component Diagram" avec les interfaces fournies et requises, indispensables pour la modélisation d’architecture distribuée SOA, se trouve dans la toolbox du diagramme de classe, nous trouvons ce choix un peu surprenant, car c'est bien un diagramme à part entière de la norme UML de l'OMG.

 

ArchiMate

Mais où est passé ArchiMate, promis sur le site ?

 

modelio-open-source-installation-archimate

 

Ajout gratuit du plugin Modelio ArchiMate

 

Pour installer ArchiMate, il faut aller dans le menu Aide, puis dans Page d’accueil, on apprend que l’on peut télécharger le support d’ArchiMate gratuitement et c’est une nouveauté. Une alerte de sécurité s’affiche, et l’on est redirigé sur le site commercial Modeliosoft qui propose le téléchargement pour les 3 OS du marché. 

 

modelio-open-source-archimate-alerte-de-securite

 

Quelques messages d'alertes plus tard, l'installation s'est bien déroulée

 

Si l’on a échappé jusque-là au traditionnel formulaire à remplir, aucune issue, il vous faudra bien consacrer un peu de temps à la saisie des informations habituelles pour obtenir le module convoité.

Fermer Modelio avant de lancer l’installateur que vous venez de télécharger. Rouvrez le projet créé précédemment, clic droit sur le projet ArchiMate, allez dans Sous-projets puis Sous-projet ArchiMate.

 

Très surprenant, les couches d’architecture sont classées par ordre alphabétique et non pas dans l’ordre habituel comme le font tous les autres outils à savoir : Strategy, Business, Application, Technology & Physical, Motivation, Implementation & Migration. Impossible de les déplacer, malgré la présence de flèches haut et bas qui restent désespérément grisées.

 

modelio-open-source-archimate-layered-viewpoint

 

Test du module gratuit ArchiMate

 

Pour avoir l’affichage d’un élément en icône ou en symbole complet, il faut faire apparaître la fenêtre Symbole sur le côté droit, sélectionner l’élément dans le diagramme, puis dans la propriété Mode de représentation, cliquer sur Simple ou Structuré. 

 

On trouve les fonctionnalités standards des autres outils du marché, rangement automatique des éléments dans leur niveau d’architecture, zoom, options d’affichage, éditeur de liens, audit pour les erreurs et les conseils.

 

L’outil vérifie la conformité avec le méta-modèle ArchiMate. Cela se concrétise par un encadré rouge et un panneau interdit sur l’élément cible lorsqu’on tente de le relier à un autre élément avec un lien dont la sémantique ne correspond pas à leur nature. Malheureusement, lors de la sélection d’un élément, on regrette qu’il n’y ait pas comme dans l’outil Archi (https://www.archimatetool.com/), une aide qui s’affiche rappelant la définition détaillée, la catégorie et des exemples. 

 

modelio-test-archimate-vue-en-couches

 

Vue des couches d’architecture métier, applicative et technologique
d’un processus de prestation d’assurance

 

BPMN

La procédure n’est pas des plus simples.

Créez un Diagramme de collaboration BPMN dans le package du sous-projet avec l’icône UML regroupant ces 2 notations comme vu précédemment.

Dans ce diagramme, créez par exemple 2 processus qui seront créés spécifiquement par ailleurs. 

Ouvrez l’icône d’un processus, puis en cliquant sur l’icône de diagramme, vous aurez accès à la toolbox avec l’ensemble des artefacts BPMN. 

Mais il est alors impossible de modifier le diagramme de collaboration, on est obligé de faire des allers-retours dans chacun des diagrammes de processus, ce qui devient très vite fastidieux. 

 

modelio-open-source-diagramme-bpmn-collaboration-conseils

 

Modélisation BPMN d’un processus de prestation d’assurance

 

L’ergonomie pourrait être améliorée, par exemple on ne peut pas changer la nature d’une tâche (sans, user, manual…) : on est obligé de la supprimer puis de la recréer en la modifiant.

 

modelio-open-source-bpmn-internal-error

 

Au cours de la conception de notre BPMN, nous avons rencontré plusieurs erreurs internes, heureusement sans impact visible

 

En cas de non-respect d’une règle de la norme BPMN, une erreur ou un avertissement est généré. L’explication s'affiche en français, une correction est même proposée. 

 

modelio-open-source-bpmn-conseil-correction-erreur

 

Détails et conseils sur une erreur BPMN

 

Modelio va encore plus loin en ajoutant des conseils et des bonnes pratiques sur les points ambigus de la norme. Ces fonctionnalités permettent de mieux assimiler les concepts BPMN et procurent donc un gros avantage pédagogique. 

 

modelio-open-source-bpmn-bonnes-pratiques

 

Les bonnes pratiques de Modelio pour lever les ambiguïtés laissées par la norme BPMN

  

En sélectionnant le diagramme BPMN de collaboration, on peut créer un pattern à partir du modèle, puis l’exporter afin qu’il soit réutilisable pour créer un autre modèle. 

 

modelio-bpmn-export-pattern-erreur

 

Si l’on a pu créer un pattern à partir de notre modèle BPMN,

quand on a voulu l'exporter, on a eu une erreur bloquante

 

UML

Diagramme de cas d’utilisation

Dans un diagramme de cas d’utilisation UML, nous avons récupéré à partir du référentiel commun, des objets processus métier ArchiMate comme des rôles métier ArchiMate, des objets BPMN comme des user tasks BPM, ainsi que des lanes BPMN représentant les rôles métier.

Le processus métier ArchiMate peut être lié au processus BPMN, les user tasks BPMN aux use cases UML, de même que les rôles ArchiMate peuvent liés aux lanes BPMN, elles-mêmes liées aux acteurs des use cases.

 

modelio-test-uml-use-case-liens-bpmn-archimate

 

Traçabilité entre objets de modélisation stockés dans le référentiel commun
et provenant de différentes notations

 

Modelio propose une vue “Editeur de liens” montrant, quand on sélectionne un objet dans le référentiel, tous les endroits où il apparaît, l’ensemble des objets auxquels il est lié, quel que soit le formalisme de modélisation.

 

modelio-editeur-de-lien

 

La vue “Editeur de liens” pour la traçabilité des objets de l’entreprise

 

modelio-liens-archimate-bpmn-uml

Zoom sur les liens et les potentielles transformations entre par exemple
un sous-processus ArchiMate lié à un "User Task" BPMN et enfin à un "Use Case" UML

 

Diagramme de classe

La norme UML du diagramme de classe est bien respectée et la réalisation d'un modèle ne pose aucun problème.

Dans la toolbox du diagramme de classe, nous trouvons les éléments de modélisation pour les composants, les interfaces fournies et requises.

 

modelio-open-source-uml-diagramme-composant

 

La réalisation d'un diagramme de composant avec les branchements est d'une grande facilité. Ici le composant "Gestion des Prestations" doit, pour calculer une prestation, interface requise, se connecter au composant "Gestion des Contrats" pour récupérer les garanties, interface fournie.

 

A noter que le raccourci Ctrl S pour sauvegarder ne fonctionne pas, contrairement aux autres diagrammes déjà créés, on est obligé de cliquer sur l'icône de sauvegarde.

 

SysML

Dans le menu Configuration, on a accès au catalogue de modules où se trouve SysML Architect. Dans le menu Modules, nous pouvons l'ajouter à la configuration du projet. Les diagrammes SysML sont alors disponibles. 

Aussi étrange que cela puisse paraître, le diagramme d'exigences, pourtant primordial, manque à l’appel. Nous n’avons pas de chance, car c’est justement celui que l’on voulait faire, pour ensuite tracer les exigences dans notre diagramme de use case.

Les procédures de réalisation des 8 autres diagrammes (la norme de l'OMG en compte 9) sont identiques à ceux déjà testés.

 

modelio-open-source-sysml-manque-exigences

 

Les 8 diagrammes SysML supportés ; il manque le diagramme d’exigences, pourtant très utilisé.

 

TOGAF

De la même manière que précédemment, on peut ajouter au projet le module TOGAF Architect :

Modelio a conçu un profil UML pour le cadre d’architecture TOGAF. Rappelons par exemple que SysML et SOAML sont des profils UML, c'est-à-dire une surcouche de personnalisation, constituée de stéréotypes, tagged value et contraintes OCL. 

Nous disposons alors de tous les diagrammes constituant leur profil TOGAF.

 

modelio-open-source-togaf-diagrammes

 

Liste des diagrammes du module TOGAF Architect

 

Pour chaque diagramme du profil TOGAF de Modelio, une note très pédagogique est générée, expliquant les objectifs du diagramme, la sémantique des différents artefacts entrant en jeu et la procédure à réaliser dans Modelio.

 

Import/Export de modèles

Des modèles .bpmn au format XML de la norme de l’OMG, réalisés avec d’autres outils, ont parfaitement été importés dans Modelio.

 

modelio-test-import-bpmn

 

L’exemple de la norme OMG représentant la commande d’une pizza, réalisé avec l’outil bpmn.io,
l’outil open source de Camunda, a été importé avec succès sans aucune retouche dans Modelio.

 

De même, après avoir vérifié la conformité avec la norme dans le menu contextuel d'un modèle, vous pourrez l’exporter au format .bpmn standard. 

 

MDA

Avec Modelio, on peut créer des stéréotypes UML et des profils c'est-à-dire un ensemble de stéréotypes, tagged value et contraintes OCL.

 

Audit

Modelio offre une vue audit permettant de détecter en temps réel ou en mode manuel les erreurs et de sélectionner les éléments s’y rapportant.

 

Scripts

Les scripts permettent à l’utilisateur d’écrire et d’exécuter du code stocké sous forme de macros réutilisables, qui pourront être lancées à partir du menu contextuel. Pour ce faire, Modelio utilise Jython, qui est un ensemble de bibliothèques Java implémentant le langage Python et directement intégrable dans une application Java. 

 

Génération de rapports

Le module Excel Exchange permet d’exporter des cas d'utilisation ou des exigences, de Modelio vers Excel, puis de les modifier dans Excel et de les synchroniser dans Modelio. Cela signifie que vous pouvez choisir l'outil d'édition que vous préférez, Modelio ou Excel.

Pour générer des rapports au format HTML, il est possible d’installer le module gratuit Web Model Publisher. 

 

Documentation

On trouve en français toutes les règles UML (OCL) implémentées dans l’outil. 

Par exemple, la R1450 : ”Si une association est une composition, alors la multiplicité max de l’autre extrémité doit être de 1”. Des détails et des conseils accompagnent les règles, ce qui renforce le côté pédagogique de l’outil.

Bon nombre d’outils de modélisation ne proposent pas l’intégration de ces règles, permettant au débutant d’introduire des incohérences.

Les métamodèles complets BPMN et ArchiMate sont documentés en anglais.

Le manuel en français consacré à BPMN est complet, avec des explications sur les concepts et les procédures pour réaliser des diagrammes.

La documentation SysML est en anglais, ainsi que le profil dédié à TOGAF, qui est particulièrement bien expliqué et accompagné de nombreux exemples concrets.  

 

Fiabilité

Des utilisateurs ont signalé qu’après une utilisation poussée, les artefacts de modélisation s’étaient retrouvés superposés faisant perdre de longues heures de travail.

Un projet Modelio n’est malheureusement pas contenu dans un seul fichier, mais dans une arborescence complexe de répertoires, portant préjudice à un partage et à la synchronisation via par exemple OneDrive.

 

Conclusion

De nombreux éditeurs d’outils d’architecture d’entreprise proposent des versions open source ou community, intégrant uniquement quelques fonctionnalités pour constituer un produit d’appel gratuit, comme ArchiMate, et dès que vous aurez besoin d’un référentiel partagé ou de BPMN et UML, il faudra payer des abonnements, qui peuvent être conséquents.

 

Cette version multi-OS offre gratuitement, en français, le support d’ArchiMate, BPMN, UML, SysML, TOGAF et MDA. Cet outil conviendra donc parfaitement à toute personne désirant se familiariser avec ces techniques de modélisation et notamment pourra servir comme outil pédagogique de base aux étudiants et à leur professeur, pour l’enseignement de la modélisation. 

 

Pour les professionnels qui voudraient une version SaaS, un référentiel collaboratif, une génération de rapports personnalisables, la simulation, l’analyse d’impacts, une évaluation de chaque application du portefeuille, du Master Data Management…, le site de la société Softeam, éditeur de Modelio (https://www.modeliosoft.com/fr/), propose d’évaluer Modelio BA Business Architecture, mais après la période d'essai, il faudra contacter le département commercial pour acheter une version complètement fonctionnelle. 

 

A cause des messages d’erreurs rencontrés lors de notre test et des remontées de problèmes qui nous ont été communiqués, Modelio obtient la note plus qu'honorable de 3,5/5.

 

Note : 3,5/5 

 

Nous regrettons : 

  • Trop de problèmes sont survenus.

  • L’ergonomie n’est pas au niveau de ce qui se fait aujourd’hui.

  • Des diagrammes sont absents, par exemple le diagramme d’exigences pour la norme SysML.

  • Le profil UML pour le framework TOGAF créé par Modelio n’est pas un standard (spécifique à l’outil).

 

Nous aimons :

  • Un outil de modélisation open source supportant ArchiMate, BPMN, UML, SysML, TOGAF et MDA et disponible sur Windows, Linux et Mac OS.

  • La possibilité de lier n’importe quels objets du référentiel pour assurer la traçabilité.

  • La validation des diagrammes, avec la description détaillée des erreurs et des propositions de solutions pédagogiques.

  • Nous pensons que le profil UML pour le framework TOGAF créé par Modelio est intéressant d’un point de vue uniquement pédagogique, mais en entreprise, il faudra passer au standard ArchiMate.

 

urbanisation-si_logo

 

 

Rhona Maxwel

urbanisation-si

@rhona_helena

“Si c'est une bonne idée, allez-y et faites-la.
Il est beaucoup plus facile de s'excuser que d'obtenir la permission.”

Grace Hopper

 

Compléments de lecture

Outils de Modélisation et comparatifs

Pour devenir expert en UML

 

Diagramme d'exigences SysML

 

TOGAF

 

  1. TOGAF pour les nuls.

  2. Le processus des itérations ADM (Architecture Development Method), le moteur de la transformation d’entreprise TOGAF (The Open Group Architecture Framework)

  3. La phase A Vision du cycle de la méthode ADM (Architecture Development Method) de la transformation d’entreprise TOGAF (The Open Group Architecture Framework)

  4. Comment mettre en œuvre la phase B Métier de la méthode ADM (Architecture Development Method) du framework d’Architecture d’Entreprise TOGAF (The Open Group Architecture Framework)

  5. Comment mettre en œuvre la phase C Système d’Information et la phase D Technique de la méthode ADM (Architecture Development Method) du framework d’Architecture d’Entreprise TOGAF (The Open Group Architecture Framework)

  6. Comment mettre en œuvre la phase E Opportunités et Solutions de la méthode ADM (Architecture Development Method) de la transformation d’entreprise TOGAF (The Open Group Architecture Framework)

  7. Comment mettre en œuvre la phase F Planning de migration de la méthode ADM (Architecture Development Method) de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  8. Comment mettre en œuvre la phase G Gouvernance de la méthode ADM (Architecture Development Method) de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  9. Les objectifs de la phase H « Gestion de la maintenance et des évolutions » de la méthode ADM (Architecture Development Method) de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  10. La vision dynamique des exigences de la méthode ADM (Architecture Development Method) de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  11. La structure de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  12. Les concepts du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  13. Le diagramme de classe UML du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  14. L’extension « Gouvernance » du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  15. L’extension « Services » du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  16. L’extension « Modélisation de processus métier » du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  17. L’extension « Modélisation des données » du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  18. L’extension « Consolidation d’infrastructure » du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  19. L’extension « Motivation » du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)

  20. Le référentiel TOGAF sous toutes ses coutures : le « Continuum d'Entreprise » et la réutilisation de l'architecture

  21. Le référentiel TOGAF, le patrimoine des informations et des bonnes pratiques pour toute l’entreprise

  22. Gouvernance d’entreprise, Gouvernance technologique, Gouvernance informatique et Gouvernance de l’architecture : mais où se situe la Gouvernance TOGAF ?

  23. Le cadre de gouvernance de l'architecture : identifier les processus et les structures organisationnelles efficaces

  24. Gouvernance de l'architecture en pratique : principaux facteurs de succès et éléments d'une stratégie efficace

ArchiMate

 

  1. ArchiMate pour les nuls : les fondamentaux - 1

  2. ArchiMate la synthèse : les éléments de motivation - 2

  3. ArchiMate en condensé : les éléments de stratégie - 3

  4. ArchiMate l’essentiel : les éléments de la couche métier - 4

  5. ArchiMate mémento : les éléments de la couche application - 5

  6. ArchiMate aide mémoire : les éléments de la couche technologique - 6

  7. ArchiMate en abrégé : les éléments physiques de modélisation - 7

  8. ArchiMate mémento : Alignement de la couche métier avec les couches inférieures - 8

  9. ArchiMate : modélisation de l’alignement des couches d'application et de technologie - 9

  10. ArchiMate : les éléments d'implémentation et de migration - 10

  11. ArchiMate : vues et points de vue - 11

  12. ArchiMate : guide complet des éléments de modélisation - 12

 

BPMN

 

  1. BPMN 2 : les concepts de base des processus métiers

  2. BPMN pour les nuls : les collaborations

  3. BPMN pour les nuls : les chorégraphies (Choreographies)

  4. BPMN pour les nuls : les conversations

  5. BPMN : norme OMG - synthèse des éléments graphiques

  6. BPMN : l'antisèche pour rester incollable en modélisation de processus

  7. BPMN l’exemple type pour tout comprendre sans prendre d’aspirine

  8. BPMN : la norme, toute la norme rien que la norme. L'exemple à lire en attendant une pizza

  9. BPMN : mais que dit la norme sur les sous-processus et la gestion des événements d'interruption et de remontée d'incidents ?

  10. BPMN : processus exécutables, comment s'y prendre ? (1/3)

  11. BPMN : processus exécutables, comment s'y prendre ? (2/3)

  12. BPMN : processus exécutables, comment s'y prendre ? (3/3)

  13. Comment identifier, simuler, améliorer et modéliser les processus métiers ?

  14. Comment mettre en place un jeu de rôles pour modéliser un processus métier ?

 


25/01/2022
3 Poster un commentaire

ADOIT:CE pour la gestion de l’Architecture d’Entreprise

Much ado about something

adult-1822449_1920_lite.jpg

 

Architecture d’Entreprise et outillage

Comme le suggère le titre de notre blog, la mise en œuvre de l’Urbanisation du Système d’Information et de l’Architecture d’Entreprise doit se faire avec méthode. Mais sans outil adéquat, l’application d’une méthode s’avère vite laborieuse.

 

Rappelons qu’il s’agit de mettre en place un référentiel d’architecture (généralement stocké dans une base de données) contenant des objets, qui seront ensuite utilisés pour créer des modèles (diagrammes, matrices, listes et rapports).

 

Les articles de notre blog concernant les outils rencontrant généralement un grand succès, en voici un concernant un outil intéressant, et pas seulement parce qu’il est gratuit.

 

ADOIT:CE (Community Edition) du groupe BOC

Le groupe autrichien BOC, spin-off de l’université de Vienne, propose des solutions pour la gestion de processus métier (ADONIS), la gestion de l’Architecture d’Entreprise (ADOIT) et la gestion des risques (GRC-Suite). Nous nous intéressons aujourd’hui à la solution de gestion de l’Architecture d’Entreprise ADOIT:CE. Il s’agit ici d’une première prise en main, en utilisant le contenu fourni comme exemple.

 

Depuis plusieurs années, l’édition communautaire ADOIT:CE Classic était disponible gratuitement au téléchargement pour une installation locale, mais celle-ci commençait à dater (2013) et s’appuyait sur une version encore plus ancienne du SGBD SQL Server (Microsoft). En outre, la cohabitation avec d’autres applications utilisant également ce SGBD s’avérait délicate.

 

Après quelques années de patience, la nouvelle édition communautaire ADOIT:CE est enfin disponible depuis le mois de septembre 2020, pour une utilisation en ligne uniquement. Seuls un accès à l’internet et un navigateur web sont nécessaires. Mais nous vous recommandons également d’utiliser un grand écran, afin de pouvoir afficher des modèles en entier et lire les noms des objets.

 

Le SGBD SQL Server est, cette fois-ci, chez BOC (ou son prestataire cloud). La Community Edition est une édition gratuite, mais allégée, de l’édition payante Enterprise, qui, elle, peut être utilisée en ligne ou bien installée sur un serveur local (on-premise). Ces deux éditions gratuite et payante semblent alignées sur la même version, la version 11.0.4 la date de publication de cet article. Utiliser une application en ligne (SaaS), c’est l’assurance de disposer automatiquement de la dernière version, sans aucun effort de mise à jour.

 

Pour information, il existe également une application mobile optionnelle nommée « Ask ADOIT », disponible sur Apple Store et Google Play, qui permet de consulter son référentiel d’architecture ou son smartphone ou mieux, sur sa tablette.

 

Initialisation et présentation de l’environnement

Un navigateur web et une adresse électronique valide, pour recevoir le mot de passe, suffisent pour s’inscrire sur https://www.adoit-community.com/account-registration/ avant d’utiliser ADOIT:CE. Lors de la première connexion, quelques minutes de patience sont nécessaires pendant la création de l’environnement, qui est dédié à chaque utilisateur. Car l’édition communautaire d’ADOIT est mono-utilisateur, c’est là sa principale restriction. Après leur mise en mémoire cache initiale, l’affichage des pages est rapide. Il faut indiquer que l’interface utilisateur est sobre, voire dépouillée, en noir et blanc essentiellement. Quelques touches de couleur verte viennent l’égayer légèrement.

 

L’utilisateur n’est pas « agressé » par une multitude de menus et de fonctions, comme il pourrait l’être par d’autres outils concurrents, aux abords beaucoup plus dissuasifs. Mais derrière cette apparente simplicité, se cachent des menus contextuels à deux niveaux, accessibles en cliquant sur le bouton droit de la souris, sur un modèle, un objet, voire un groupe d’objets sélectionnés, et permettent d’accéder à de nombreuses fonctions, qu’il conviendra d’apprivoiser.

 

Des objets et des modèles

Cet environnement est créé avec des objets et des modèles à des fins de démonstration. Le nombre d’objets est limité à 2.000 et 568 objets et artefacts de démonstration sont déjà fournis. Cette limite peut sembler un peu juste à long terme. Le nombre de modèles est, quant à lui, limité à 1.000 et 25 modèles de démonstration sont déjà fournis. Cette fois-ci, cette limite semble très élevée (qui, parmi nos fidèles lecteurs, ont plus de 1.000 modèles pour représenter l’architecture de leur entreprise ?).

 

Deux toutes petites jauges, de couleur verte également, rappellent les ratios d’utilisation des objets et des modèles, par rapport à leurs limites. Sans doute passeront-elles au rouge à l’approche des limites ? Un accès direct et rapide aux objets et modèles récemment ouverts est possible par un menu dédié.

 

Pour créer un nouvel objet, il faut sélectionner son type (61 types différents) et son groupe d’appartenance, c.-à-d. avoir déjà une idée précise de son utilisation ultérieure. L’outil de recherche permet de retrouver facilement un objet ou un modèle. Il est possible d’indiquer un type d’objets uniquement, afin d’obtenir la liste de tous les composants, par exemple, et générer ensuite un diagramme de dépendances.

 

Image2.png 

 

La sauvegarde des objets et des modèles, sur le cloud donc, est automatique, toutes les 20 modifications par défaut. Si vos données d’architecture sont hautement confidentielles ou si vous devez respecter la souveraineté numérique, il faudra donc préférer l’édition Enterprise payante, que vous pourrez alors installer on-premise.

 

Traduction partielle en français

Il est possible de choisir le français comme langue d’utilisation. La traduction est de qualité. Certaines listes sont toutefois restées en anglais (propriétés des objets et des modèles). La documentation, un manuel utilisateur de 213 pages au format Acrobat PDF, à télécharger à la première consultation ainsi que les vidéos, disponibles au centre de connaissances en ligne, sont, elles, en anglais uniquement. Ce n’est pas très grave, car il s’agit d’une documentation de référence, à ne consulter qu’en cas de besoin, et de vidéos peu instructives. En effet, ces vidéos trop courtes, réparties en deux catégories Débutant et Expert, répondent essentiellement aux questions Comment, mais pas aux questions Pourquoi.

 

La documentation, en anglais donc, concerne l’édition complète Enterprise et décrit quelques fonctionnalités qui ne sont pas disponibles dans l’édition communautaire allégée. En effet, l’édition CE d’ADOIT permet essentiellement de Cartographier et Documenter (ce qui constitue la base du travail de l’architecte d’entreprise, bien sûr), tandis que l’édition Enterprise propose en plus de :

 

- Contrôler et Publier, ce qui a du sens avec cette édition multi-utilisateurs,
pour passer en revue les objets créés par ses collègues, avant de les publier,

 

- Gouverner et gérer, pour obtenir la big picture de l’entreprise (statistiques,
évaluation des capacités, roadmap).

 

Forte orientation ArchiMate

Parmi les modèles fournis, figure le métamodèle d’ArchiMate, reproduit ci-dessous. D’autres standards internationaux sont simplement cités dans la documentation : ITIL, COBIT, TOGAF et RiskIT. N.B. ArchiMate est le langage de modélisation recommandé par le cadre d’architecture TOGAF.

 

Image3.png 

 

Restitutions

35 vues différentes sont proposées par ADOIT:CE. Par défaut, ces vues sont listées par type et dans l’ordre alphabétique :

 

- Diagrammes de composition et de dépendances,

- Graphiques à barres et à bulles,

- Listes et matrices,

- Rapports bureautiques.

 

A l’usage, il faudra préférer la liste de ces vues regroupées par couche (Reports by Layer), dans l’ordre top-down. Un type de vue peut être utilisé dans plusieurs couches, ce qui permet à ADOIT:CE de proposer une soixantaine de restitutions :

 

- Motivation,

- Stratégie,

- Métier*,

- Application*,

- Technologie*,

- Physique

- Implémentation & Migration.

 

*On retrouve donc, parmi ces 7 couches, 3 couches du POS (Plan d’Occupation des Sols) pour l’Urbanisation du Système d’Information (CIGREF) : seule la couche fonctionnelle entre la couche Métier et la couche Application n’y figure pas.

 

 Image4.png

 

Cycle de vie des objets

La date de début de validité (facile) et la date de fin de validité (beaucoup plus difficile à estimer) du cycle de vie de chaque objet peuvent être renseignées. Par défaut, tous les objets s’affichent, mais il est possible d’indiquer une date dans le filtre temporel optionnel. Ainsi, en indiquant la date du jour, c’est l’architecture As-Is qui s’affichera, tandis qu’en indiquant une date dans le futur, ce sera l’architecture To-Be. Cette approche, qui ne nécessite qu’un seul référentiel pour stocker les objets du passé, du présent et du futur, est habile. On peut également comparer le modèle To-Be avec le modèle As-Is, mais pour que cette fonctionnalité soit pratique, il faudrait disposer d’un écran encore plus grand.

 

Contenu de démonstration

Le contenu de démonstration fourni en exemple concerne l’architecture d’une banque fictive « ADOmoney Bank ». 24 modèles répartis dans 4 catégories (Gouvernance, Architecture d’Entreprise, Service Management et Gestion des Risques) sont fournis. Les modèles de la catégorie Architecture d’Entreprise sont répartis en 4 sous-catégories d’architecture : Transformation, Métier, Système d’information et Technologie.

 

 Image5.png

La complexité de cet exemple est similaire à celle d’une architecture réelle. Voici un extrait de l’architecture des composants constituant une application et notamment leurs interfaces. Une vue miniature, mais panoramique (en bas à droite), permet d’ajuster automatiquement l’affichage d’un modèle à la taille de la fenêtre ou de zoomer en avant et en arrière. L’écran de 13 pouces d’un notebook est clairement trop petit pour avoir une vue globale du diagramme.

 

 Image6.png

 

Vous noterez qu’ADOIT:CE dessine automatiquement des petits ponts sur les connecteurs, lorsque ceux-ci se croisent : cela peut sembler être un détail, mais cette simple fonctionnalité contribue grandement à la clarté des diagrammes.

 

Evaluation du portefeuille d’applications

Il est possible d’évaluer chaque application du portefeuille, selon trois critères, dans l’exemple ci-dessous, de satisfaction du métier du métier (axe horizontal), de coût (axe vertical) et d’importance stratégique (taille des points).

 

 Image7.png

Gestion des données de référence

Il est possible de faire du Master Data Management : une matrice entre les composants et des objets métiers peut ainsi révéler que plusieurs composants écrivent dans un même objet métier, ce qui peut révéler des conflits, surlignés en orange dans l’exemple ci-dessous.

 Image8.png

 

Importation et exportation

Les objets uniquement peuvent être importés au format Excel, ce qui est, en théorie, utile pour récupérer l’existant. Un classeur « ADOIT 11 ArchiMate Excel Import Template (FR).xlsx » est téléchargeable avec 61 feuilles différentes, une pour chaque type d’objet. Rien n’indique si chaque champ est obligatoire ou facultatif… Plusieurs types d’objets possèdent plus de 500 champs ! En pratique, cela ne sera pas très facile à utiliser.

 

Chaque modèle est exportable dans un document autonome, au format Acrobat PDF, ou comme un graphique, au format bitmap PNG ou au format vectoriel SVG, pour être inséré dans un document bureautique, au format Word ou PowerPoint par exemple.

 

La portabilité des données d’un outil vers un autre est un point important également. Il est possible d’importer et d’exporter modèles et objets via des fichiers au format (The Open Group). L’application Archi (www.archimatetool.com) au moins supporte également ce format.

 

Avantages                                     

ü Rien à installer, toujours la dernière version en ligne

ü Interface utilisateur relativement simple

ü Support complet d’ArchiMate

ü Gratuit pour toujours

ü Nombreuses fonctionnalités, pour une version gratuite

 

Inconvénients

û Différences entre modèles, rapports, vues et restitutions peu claires

û Rien pour supporter les diagrammes UML

û Pas d’aide méthodologique, lorsque l’on part de rien

û Les connaissances (ressources) ne sont pas en français

 

N.B. Les diagrammes BPMN sont supportés par l’autre outil ADONIS.

 

Conclusion

En guise de conclusion, si vous utilisez déjà le langage de modélisation ArchiMate ou si vous envisagez de l’utiliser, n’hésitez pas à essayer cet outil lors d’un vrai projet d’Architecture d’Entreprise, puis à partager vos impressions sous la forme de commentaires à la fin de cet article.

 

Thierry BIARD

 

« La rumeur est la fumée du bruit. »
Victor Hugo

10/11/2020
2 Poster un commentaire

ADOIT:CE (compléments d’information)

Voici quelques compléments d’information intéressants qui ont été donnés par l’éditeur BOC Group.

 

La version payante de l’application ADOIT peut être complétée par des modules optionnels UML et BPMN. Le module UML propose les 4 diagrammes les plus courants : cas d’utilisation, classes, paquetages et activités, tandis que la module BPMN propose l’emblématique diagramme de collaboration (une alternative plus qu’intéressante au diagramme d’activités UML). Ces deux modules partagent le même référentiel d’objets, unique par définition.

 

L’article principal ci-dessus concernait la prise en main de la version 11 d’ADOIT:CE. La prochaine version 12, disponible en décembre 2020, promet encore plus de ressources en français, notamment le métamodèle d’ArchiMate. Cette traduction s’appuiera sur le glossaire officiel anglais-français de The Open Group, qui publie ce langage de notation standard.

 

Enfin, légèrement effrayé par le nombre conséquent de champs importables pour chaque objet (souvent plus de 500), il convient de signaler que ces champs ne concernent pas uniquement les propriétés des objets, mais permettent également de décrire les relations entre eux.

 

Thierry BIARD


19/11/2020
0 Poster un commentaire

Le meilleur du meilleur des outils de modélisation de Systèmes d’Information pour 2017 : les « Modsars » de « urbanisation-si.com » récompensent les plus innovants

Les Modsars de « urbanisation-si.com » récompensent les meilleurs logiciels de modélisation de Systèmes d’Information.

Nos critères sont sans commune mesure avec les récompenses de références comme par exemple celles du Gartner.

Nous privilégions l’open source, la communauté et le partage d’informations, l’innovation, la fiabilité en production, la documentation.

 

meilleur-du-meilleur-des-outils-de-modelisation-de-systemes-d-information-2017-les-plus-innovants.png

 

Les domaines concernés sont ceux des catégorie du site de « urbanisation-si.com » :

 

  • les normes de l’OMG comme UML, BPMN, SysML, DMN, BMM, OCL, MDA, QVT, XMI,
  • les architecture d’entreprise comme TOGAF, l'urbanisation du SI, Praxeme,
  • l’Ingénierie Dirigée par les Modèles avec MDE, ATL, Ecore, ….,
  • les processus métiers et le BPM
  • les règles métiers et les BRMS
  • la simulation et la validation de modèles
  • la génération de code à partir de modèles
  • la gestion de projet avec les méthodes agiles, les méthodes d’estimation et de recettes.

 

A la 1ère place : Eclipse Modeling Tools, un « killer » avant d’être un « winner »

Pour commencer je rappellerais que l’open source Eclipse a d’abord été financé par IBM pour couler, ou devrais-je dire pour éclipser JBuilder de Borland qui fut longtemps le standard des IDEs Java qui a effectivement disparu dès la sortie d’Eclipse, plus personne ne voulant payer des licences alors qu’il y avait sur la marché un outil similaire et gratuit.

 

Avec Eclipse Modeling Tools vous modélisez gratis en UML, BPMN, SysML, OCL et si cela ne vous suffit pas, vous pouvez concevoir vos propres outils de modélisation pour le langage de votre choix ( DMN, BMM, …, et créez votre propre DSL ) avec Sirius, générer le code avec Acceleo, mettre en pratique MDA avec ATL et même QVTo/QVTd, pour dériver les modèles sémantiques et pragmatiques en modèles logiques.

 

Avec Eclipse Modeling Tools, vous avez une documentation (dans la langue de Shakespeare) complète sur tous les langages ainsi que des tutoriaux et des exemples qui fonctionnent !

Une communauté de jeunes innovateurs passionnés qui répondent rapidement à vos questions.

 

Je vois déjà les experts métiers, dire oui mais cela reste un environnement réservé aux développeurs.

Croyez-moi, l’organisation Eclipse a énormément progressé sur le plan ergonomie et rigueur.

C’est un gros avantage pour une entreprise d’avoir un socle commun que ce soit pour les outils MOA ou MOE.

Ainsi les experts métiers pourront modéliser leurs règles métiers avec DMN et leurs processus métiers avec BPMN et générer les codes qui sont récupérés par les développeurs utilisant Eclipse avec les plugins DROOLS et jBPM.

 

Il faudra bien sûr installer un outil de gestion de version pour travailler en équipe (Git, …).

 

A la 2ème place : Signavio, en rupture avec les approches et outils BPM traditionnels qui ne répondent plus à la réalité d’aujourd’hui

Attention, là vous sortez du monde gratuit pour entrer dans celui du payant.

La bonne surprise, l’outil s’exécute dans un navigateur, rien à télécharger, et tout est dans la langue de Molière.

 

Vous pouvez modéliser vos processus métiers avec BPMN, vos règles métiers avec DMN et votre architecture avec Archimate, le langage de modélisation de TOGAF de plus en plus remplacé par EAP (Enterprise Architecture Planning) qui intègre les normes UML et BPMN.

 

J’ai bien apprécié les exemples très représentatifs comme les processus de support, par exemple le processus en BPMN de la « Réception de la candidature » et le modèles DMN de règles métiers qui est lié : « Vérifier le candidat ».

 

En sélectionnant l’icône du modèle DMN, puis le menu « Importer/Exporter », l’option « Exporter en DROOLS », Signavio produit un zip contenant le fichier source DRL pour l’exécution dans le moteur open source de règles métiers DROOLS.

Signavio Process Manager génère aussi un JAR( exécutable Java).

Pour l’utiliser, les développeurs doivent se reporter à la section « 10. Decision Model and Notation » de la documentation en ligne de DROOLS ( https://docs.jboss.org/drools/release/7.5.0.Final/drools-docs/html_single/index.html#drools.DMN )

 

Dans le menu « Importer/Exporter » on peut aussi choisir « Exporter en XML ».

On obtient un fichier RDF.

Vous vous demandez surement comme moi qu’est-ce qu’un fichier RDF ?

Un fichier « Resource Description Framework » est un modèle de graphe destiné à décrire de façon formelle les ressources Web et leurs métadonnées, de façon à permettre le traitement automatique. Développé par le W3C, RDF est le langage de base du Web sémantique.

Ce fichier RDF, au format technique XML, peut être analysé par un programme qu’il faut écrire à moins qu’il existe un outil capable d’interpréter un tel RDF ? Si quelqu’un à la réponse, je suis preneuse.

La documentation, là encore en français, est complète et opérationnelle.

 

Je trouve l’interface web très ergonomique, la traduction française excellente, les outils de modélisation BPMN et DMN de bonne facture ainsi que la fonctionnalité de génération de code DROOLS pour les modèles DMN très innovante.

 

D’autres modules concernant la collaboration, le workflow, et le process mining sont disponibles.

 

La liste des clients (SAP, Société Générale, BNP, MNT, Valéo, Véolia, …) montre la maturité du produit.

 

Pour ceux qui veulent installer une version d’essai de 30 jours :

https://www.signavio.com/fr/

Il faudra passer par l’épreuve de remplissage d’un formulaire et plusieurs aller retours avec votre mail, pour arriver à vous connectez à l’outil Process Manager.

 

A la 3ème place :  Sparx Systems Enterprise Architect, un univers composé de clickodromes

Enterprise Architect de Sparx Systems est aux outils de modélisation ce que Stars Wars est aux films de science-fiction c’est-à-dire un univers intergalactique avec une pluralité de mondes.

 

Je vous laisse juger :

 

  • Modélisation UML
  • Domain Specific Modeling, User Interface Modeling, WSDL, Entity Relationship, profils UML, ecosystems
  • Traçabilité
  • Architecture d’Entreprise, UAF (Unified Architecture Framework), Archimate, TOGAF, Zachman Framework
  • Outils d’analyse des capacités métiers, matrice de capacités
  • Modélisation du domaine
  • Modélisation de la structure de l’organisation
  • Planning
  • Processus métiers, BPMN
  • Gestion de projet : calendrier, audit, Gantt, Kanban, gestion d’équipe, métriques, estimations, gestion des ressources
  • Tests
  • Reporting
  • Modélisation de base de données, DDL, génération SQL
  • Génération de XSD (XML Schema)
  • Modélisation de System, SysML
  • Développement, génération de code Microsoft C#, C++, Java, à partir des modèles UML
  • Transformation de modèles (MDA)
  • Simulation de modèles, diagrammes d’activité UML, processus BPMN, diagrammes d’interactions UML, diagrammes d’états UML

 

L’outil peut s’exécuter en version standalone, ou bien s’intégrer entièrement à Eclipse ou Microsoft Visual Studio

 

Comme clickodrome, on ne fait pas mieux.

L’outil est très ergonomique pour celui qui sait le dompter.

Cela fait plus de 10 ans que je connais Enterprise Architecte.

Cependant je suis obligée de le réapprendre à chaque nouvelle version tellement il y a de nouvelles fonctionnalités ajoutées, des réorganisations de menus et le look constamment modifié.

 

Je n’aime pas du tout leur technologie propriétaire MDG (Model Driven Generator) de transformation de modèles, mais tout le monde n’est pas forcément intéressé par l’Ingénierie Dirigée par les Modèles.

 

Vous pouvez installer une version d'essai gratuite pendant 30 jours :

http://www.sparxsystems.com/

 

4 ème place : Modeliosoft

J’ai bien aimé les 5 exemple fournis sur l’architecture TOGAF que j’ai trouvés très pédagogiques.

 

Vous pouvez installer une version gratuite pendant seulement 10 jours :

https://www.modeliosoft.com/fr/telecharger/telechargez-produits.html

 

5 ème place : BOC-GROUP ADOIT

En décembre 2016 lors de la parution de l'article :

 

Les meilleurs outils de modélisation UML, SysML, BPMN, DMN de l'année 2016 et les gagnants sont ... 

 

« phoforjob », un membre assidu de notre communauté, nous proposait d’évaluer les produits BOC GROUP.

Voilà qui est fait.

 

Ce produit devrait intéresser les « corporate » peut être en remplacement d’institution comme « MEGA » nouvellement renommé « HOPEX » (voir ci-après).

Pour ceux qui veulent installer une version d’essai de 30 jours :

https://fr.boc-group.com/

Il faudra passer par l’épreuve de remplissage d’un formulaire et plusieurs aller retours avec votre mail, pour arriver à vous connectez à l’outil qui s’exécute entièrement dans un navigateur ce qui est bon point.

 

Et les autres, les mamouths (en voie d’extinction ?) de la modélisation

MEGA est mort vive HOPEX

HOPEX est une offre complète de logiciels intégrés, qui fait converger en une plateforme unique les meilleures pratiques dans les domaines de l’architecture d’entreprise (EA), la gestion de portefeuille IT (ITPM), l’analyse de processus métier (BPA) et l’activité de Gouvernance, risques et conformité (GRC).

  • HOPEX ArchiMate
  • HOPEX Business Architecture
  • HOPEX Business Process Analysis
  • HOPEX Enterprise Architecture for TOGAF
  • HOPEX IT Architecture
  • HOPEX UML

J’ai eu l’occasion de travailler avec pendant des années pour établir les cartographies applicatives existantes et concevoir les cartographies fonctionnelles cibles de SI de grandes mutuelles.

A l’époque chaque module était vendu séparément pour un nombre d’utilisateurs donnés.

MEGA possède tout un environnement propriétaire et très fermé, personnalisable avec un langage.

Ici point de version d’essai, aucune documentation téléchargeable, le fonctionnement doit rester entre les mains de quelques experts qui gardent jalousement leurs secrets !

 

Voir les articles que j’avais consacrés à cet outil :

 

A titre indicatif voici le site :

http://www.mega.com/fr/produit/produits-z

 

Je terminerais avec 2 ancêtres : PowerAMC (renommé SAP PowerDesigner) et Rational Rose (maintenant IBM Rational Software Architect).

 

SAP PowerDesigner

Commençons par SAP PowerDesigner avec lequel j’ai fait plusieurs missions, connu à l’époque pour générer les MCD, MLD et autres modèles de notre méthode antédiluvienne franco- française MERISE !

SAP PowerDesigner : Enterprise Architecture tools

https://www.sap.com/products/powerdesigner-data-modeling-tools.html )

 

IBM Rational Software Architect

Et enfin, pour ceux qui comme moi ont connu Rational Rose avec ses 3 salariés célèbres Grady Booch, James Rumbaugh et Ivar Jacobson qui ont eu la juteuse idée d’unifier leurs méthodes pour faire la norme UML avec la bénédiction de leur société qui fut racheter des années plus-tard par IBM.

IBM Rational Software Architect

https://www.ibm.com/developerworks/downloads/r/architect/index.html )

 

Conclusion

Vous vous en doutez, l’idéal est d’utiliser les 3 :

  • Signavio Process Manager pour modéliser ses processus métiers BPMN et règles métiers DMN et éventuellement générer le code DROOLS,
  • Eclipse Modeling Tool : avec le plugin Papyrus pour modéliser en UML et SysML, avec le plugin Sirius pour avoir la totale liberté de concevoir votre propre DSL, avec le plugin ATL pour transformer vos modèles en conformité avec MDA et avec le plugin DROOLS pour exécuter le code générer par Signavio Process Manager et le plugin jBPM pour exécuter les processus métiers en BPMN.
  • Sparx Systems Enterprise Architect : pour modéliser vos modèles d’architecture d’entreprise TOGAF et gérer vos projets IT.

Et pour finir, je suis sûr que tout au long de cet article, vous vous êtes demandé qui a eu les médailles d’or et d’argent du Gartner pour les logiciels de modélisation de Système d’Information ...

 

La médaille d’or revient à Orbus Software ( https://www.orbussoftware.com/ ) et la médaille d’argent pour celui qui est la 3ème place de notre classement des « Modsars urbanisation-si.com », Sparx Systems Enterprise Architect ( http://www.sparxsystems.com/ ).

 

Annexe : voici comment installer le meilleur outil entièrement gratuit de modélisation, et vous allez voir comme c’est simple !

Comment installer Eclipse Modeling Tools ?

Le site :  

http://www.eclipse.org/downloads/packages/eclipse-modeling-tools/oxygen2

Vous téléchargez, dézippez et c’est tout (après toutefois avoir installé Java dans les règles de l’art https://www.oracle.com/java/technologies/java-se.html  ).

Par défaut EMF (Eclipse Modeling Framework) et Ecore sont installés

 

Comment installer les plugins : Papyrus, Sirius, Acceleo, Xpand, ATL, QVTo et OCL ?

Allez encore un petit effort, dans la page « Welcome » cliquer sur « Install more Modeling Tools »

Voici les plugins que je recommande d'installer, il suffit de les sélectionner.

 

Papyrus

Papyrus, pour modéliser en UML et SysML

Voici les principaux articles consacrés  à UML et SysML :

UML

SysML

 

Sirius

Sirius ( vous pouvez aussi télécharger « Obeo Designer Community » https://www.obeodesigner.com ) pour concevoir vos propres DSL (Domain Specific Language). Souvenez-vous, pour nous familiariser avec le métamodèle DMN, on avait créé notre propre outil de modélisation DMN, il manquait juste la génération de code DROOLS qu’on aurait pu réaliser avec l’outil Acceleo. 
Voici quelques articles sur DMN et Sirius :

 

Acceleo

Acceleo : permet de transformer des modèles en texte (code)

 

Xpand

Xpand : un autre bon plugin qui permet aussi de transformer des modèles en texte (code)

 

ATL

ATL (Atlas Transform Language) : le meilleur outil MDA (Model Driven Architecture), 
Voici les articles constituant  un cours complet sur ATL en français :

 

QVTo

Operational QVT : qui fait la même chose qu’ATL mais d’une manière impérative, mais c’est la norme de l’OMG

Voici un tutorial :

  

OCL

OCL (Object Constraint Language) Tools : le langage normalisé OMG complément d’UML, permettant d’exprimer les règles d’un modèle.

Voir les articles sur OCL :

 

BPMN

Pour modéliser vos processus métiers avec BPMN, il faudra aller dans le menu : Help – Install New Software – Add – copier coller les 2 adresses ci-dessous :

https://projects.eclipse.org/projects/modeling.mdt.bpmn2/downloads

pour le méta modèle BPMN2

et

http://www.eclipse.org/bpmn2-modeler/downloads.php

pour l’outil de modélisation BPMN2

 

Voici les principaux articles consacrés à BPMN :

 

QVTd

Pour les geeks de MDA, les afficionados de la transformationde modèles, pour pouvez installer : QVT declarative, le langage déclaratif, complément de QVto

http://www.eclipse.org/mmt/downloads/

http://www.eclipse.org/mmt/downloads/index.php?project=qvtd&showAll=0&showMax=5

 

 

Rhona Maxwel

@rhona_helena

  

"Je me sens toujours heureux, savez-vous pourquoi ?

Parce que je n'attends rien de personne.

Les attentes font toujours mal, la vie est courte.

Aimez votre vie, soyez heureux, gardez le sourire, et souvenez-vous : avant de parler, écoutez.

Avant d'écrire, réfléchissez.

Avant de prier, pardonnez.

Avant de blesser, considérez l'autre.

Avant de détester, aimez et, avant de mourir, vivez."

William Shakespeare

 

 

Articles conseillés :

 

Les meilleurs outils de modélisation UML, SysML, BPMN, DMN de l'année 2016 et les gagnants sont ... 

 

Le meilleur outil pour transformer, dériver, parcourir, requêter sur des modèles afin de mettre en œuvre MDA (Model Driven Architecture)

 

Transformation de modèles et Ingénierie Dirigées par les Modèles (IDM ou MDE Model Driven Engineering ou bien encore MDA Model Driven Architecture)


16/01/2018
0 Poster un commentaire

Les meilleurs outils de modélisation UML, SysML, BPMN, DMN de l'année 2016 et les gagnants sont ...

C'est la période vous n'y couperez pas, tout le monde y va de son classement du meilleur de l’année qu’il s'agisse de l'homme (ou de la femme) de l'année, du livre, du film, de la chanson, du personnage politique, …

 meilleur-outil-de-modelisation-2016-2017.png

 

Urbanisation-si n'échappera pas à la règle et nous vous proposons donc nos « best of the year » à notre manière bien sur.

 

En compétition pour le prix du meilleur outil de modélisation généraliste, UML, SysML, BPMN, MDA, ... de l’année 2016, les nommés sont :

 

  1. Modelio (gratuit) ( https://www.modelio.org/ )

  2. Papyrus (gratuit) ( https://eclipse.org/papyrus/ )

  3. Sirius (gratuit) ( permet de créer son propre formalisme de modélisation ) ( http://www.eclipse.org/sirius/ )

  4. Enterprise Architect ( http://www.sparxsystems.com/ )

  5. IBM Rational Rhapsody family (gratuit) ( http://www-03.ibm.com/software/products/en/ratirhapfami )

  6. IBM Rational Modeler (gratuit) ( http://www.ibm.com/developerworks/downloads/r/modeler/ )

  7. Open ModelSphere (gratuit) ( http://www.modelsphere.com/org/fr/open_modelsphere.html )

  8. MEGA ( http://www.mega.com/fr/produit/hopex-uml )

  9. Magic Draw ( https://www.nomagic.com/products/magicdraw.html )

 

Et le gagnant est ………. Enterprise Architect de Sparx Systems.

Il s'agit de l'AGL commercial le plus complet, présentant le meilleur rapport qualité + fonctionnalités / prix. Différentes versions, correspondent à différents profils utilisateurs, cela va de l'expert métier au développeur en passant par l'architecte fonctionnel ou technique. Tous les langages sont présents : UML, SysML, BPMN, ... A mon avis c'est très certainement l'outil le plus convivial et le plus robuste et puissant du marché.
Voir l'article : AGL (Atelier de Génie Logiciel) : les ministères recommandent Enterprise Architect de Sparx System

 

 

En compétition pour le prix du meilleur outil de modélisation dans la catégorie processus métier BPMN (Business Process Modeling Notation) de l’année 2016, les nommés sont :

 

  1. Modelio gratuit) ( https://www.modelio.org/ )

  2. Sirius (gratuit) ( permet de créer son propre formalisme de modélisation ) ( http://www.eclipse.org/sirius/ )

  3. Enterprise Architect ( http://www.sparxsystems.com/ )

  4. TBM Blueworkslive ( https://www.blueworkslive.com/home )

  5. IBM Business Process Manager ( http://www-03.ibm.com/software/products/fr/business-process-manager-family )

  6. MEGA - HOPEX Business Process Analysis ( http://www.mega.com/fr/produit/hopex-business-process-analysis )

  7. Bizagi ( https://www.bizagi.com/ )

  8. Eclipse BPMN2 Modeler (gratuit) ( http://www.eclipse.org/bpmn2-modeler/ )

  9. Bonitasoft (gratuit) ( http://fr.bonitasoft.com/ )

  10. jBPM (gratuit) ( https://www.jbpm.org/ )

  11. Activiti (gratuit) ( http://activiti.org/ )
     
  12. Camunda (gratuit) ( https://camunda.org/ )
     
Et le gagnant est ………. Bonitasoft

Grâce à ces trois composants majeurs : Bonita Studio permettant à l'utilisateur de modifier graphiquement les processus métier suivant la norme BPMN. L'utilisateur peut également connecter les processus à d'autres éléments du système d'information (telles que la messagerie, la planification des ressources d'entreprise, la gestion de contenu d'entreprise et bases de données) afin de générer une application commerciale autonome accessible comme un formulaire Web. Bonita Studio permet également à l'utilisateur de concevoir graphiquement les formulaires qui seront présentées à l'utilisateur final afin d'interagir avec le processus. Il s'agit d'un plugin Eclipse ; Bonita BPM Engine qui est une application Java qui exécute les processus métier créés avec Bonita Studio et enfin Bonita Portal permettant à chaque utilisateur final de gérer toutes les tâches dans lesquelles il est impliqué. Le portail permet également le propriétaire d'un processus d'administrer et d'obtenir des rapports sur les processus.

 

 

En compétition pour le prix du meilleur outil de modélisation dans la catégorie règles métiers DMN (Decision Modeling Notation) de l’année 2016, les nommés sont :

 

  1. FICO DMN Modeler ( http://www.ficoanalyticcloud.com/decision-management-suite/dmn-modeler/ )

  2. Decision First Modeler ( http://decisionsfirst.com/ )

  3. OpenRules (gratuit) ( http://openrules.com/ )

  4. Signavio Decision Manager ( http://www.signavio.com/fr/products/decision-manager/ )

  5. Camunda (gratuit) ( https://camunda.org/ )

 

Et le gagnant est ………. OpenRules

Permet à tous les acteurs, des experts métiers aux développeurs de créer, tester, exécuter et maintenir des règles métiers (tables de décisions, …). Supporte le norme de l'OMG DMN (le langage FEEL, les tables de décisions, …) et un gros effort a été apporté à la documentation et aux exemples.

 

 

En compétition pour le prix du meilleur outil de transformation de modèles de l’année 2016, les nommés sont :

 

  1. Enterprise Architect ( http://www.sparxsystems.com/ )

  2. Eclipse QVTo (Query View Transform Operational) (gratuit) ( http://www.eclipse.org/mmt/?project=qvto )

  3. Eclipse QVTd (Query View Transform Declarative) (gratuit, en cours de finalisation)) ( https://projects.eclipse.org/projects/modeling.mmt.qvtd )

  4. Eclipse ATL (Atlas Transformation Language) (gratuit) ( https://www.eclipse.org/atl/ )

 

  

Et le gagnant est ATL.

Le plus ancien et le plus stable des outils de transformation de modèles.
Voir l'article : Ingénierie Dirigée par les Modèles (IDM) : tutoriel ATL (ATLAS Transformation Language), le "Da Vinci code" de la transformation AT

 

Rhona Maxwel

@rhona_maxwel

 

« C'est là, dans le va-et-vient des jours et le fouillis des non-dits, que la vie perd le sens des choses profondes et se réfugie dans le superficiel et le faux-semblant. »

Boualem Sansal

 

 

Articles conseillés :

 

Vous cherchez désespérement un formalisme pour vos processus métiers mettant en accord MOA et MOE, la solution miracle existe, elle s'appelle BPMN

 

SysML pour les nuls : de la modélisation des exigences à la réalisation du système

 

Urbanisation SI : la méthode ultime pour modéliser les besoins d'un projet - 2ème partie - Processus métiers - Profil UML Eriksson Penker

 

Urbanisation SI : la méthode ultime pour modéliser les besoins d'un projet - 3ème partie - Processus métiers - BPMN

 

Urbanisation SI : la méthode ultime pour modéliser les besoins d'un projet - 5ème partie - Règles métier- UML - Profil spécifique

 

Urbanisation SI : la méthode ultime pour modéliser les besoins d'un projet - 6ème partie - Rule Flow – UML – Diag. Activité

 

Urbanisation SI : la méthode ultime pour modéliser les besoins d'un projet - 7ème partie - Domaine métier – UML – Diag. Classe


11/12/2016
7 Poster un commentaire

Modélisation de système : comment utiliser OCL avec Eclipse, c'est bien la question que tout le monde se pose

 

ingenierie-dirigee-par-les-modeles-IDM-tutoriel-eclipse-ecore.png

Lors des articles précédents nous avons vu "le kit de survie" d'OCL c'est à dire les bases fondamentales du langage de règles de l'OMG.

Mais cela reste très théorique et on aimerait bien mettre tout ça en pratique et bien regardons quelques fonctionnalités que propose Eclipse EMF (Eclipse Modeling Framework).

Concevez le métamodèle Family (voir l'article "Ingénierie Dirigée par les Modèles (IDM) : tutoriel Eclipse Ecore, le corps à corps avec les méta modèles"  https://www.urbanisation-si.com/ingenierie-dirigee-par-les-modeles-idm-tutoriel-eclipse-ecore-le-corps-a-corps-avec-les-meta-modeles).

Créez un objet de type Family :

  • Double cliquez sur sur le fichier Families.ecore
  • Dans l'arborescence, clic droit sur Family - Create Dynamic Instance ...
  • Le fichier Family.xmi est créé.
  • Remarque : attention a bien renseigné les propriétés Name, Ns Prefix et Ns URI du EPackage Families de Families.ecore sinon vous un message d'erreur dans le fichier XMI stipulant que l'URL est nulle !
  • Double cliquez sur Family.xmi, le fichier s'ouvre en mode texte.
  • Clic droit sur le fichier - Open With -  Sample Reflective Ecore Model Editor
  • En dessous de Platform - cliquez sur Family - Properties Last Name=Dupond
  • Clic droit sur Family - New Child - Daughters Member - une instance de Member est créée, sélectionnez et renseignez First Name=Elsa
  • Créez une 2ème fille Emma.

Pour tester des expressions OCL, utilisons la console OCL :

  • Sélectionnez Family - clic droit - OCL - Show OCL Console. C'est la où les Athéniens atteignirent.
  • Un objet sélectionné dans l'éditeur graphique Family.xmi représente l'objet courant donc self. 
    Sélectionnez Family Dupond

La console est divisée en 2 partie : la partie supérieure est réservée aux résultats et la partie inférieurs aux expressions OCL

Exemple :

  • Saisissez daughters et faites Entrée, la partie résultats affichent Elsa et Emma
  • La touche Page précédente rappelle les dernières expressions saisies.
  • Saisissez daughters->s la completion automatique s'affiche, double cliquez sur size() et Entrée
  • Results=2
  • La completion s'obtient avec CTRL espace
  • Saisissez : daughters->size()<2
  • Results=false

Une fois les expressions OCL testées dans le console, nous pouvons les ajouter en Java :

  • Clic droit sur Families.ecore - Open With - OCLinEcore Editor - l'éditeur Ecore Java s'ouvre avec les classeEcore : Family et Member :
  • Ajouter dans la classe Family la contrainnte :
invariant maxFilles:
   Family.daughters->size()<2;

 

tutoriel-ocl-eclipse-1.png

 

Cliquez dans l'éditeur graphique Family.ecore

 

tutoriel-ocl-eclipse-2.png

 

On constate que la contrainte a été ajoutée. On pourrait la créer et la modifier directement dans l'éditeur :

  • Sélectionnez Families.ecore - Family - New Child - EAnnotation - Properties - Key=maxFilles - Value=Family.daughters->size()<2

N'oubliez pas Save All régulièrement.

Pour finir, vérifions la validation :

  • Family.xmi -  clic droit sur Family Dupond - Validate - une popup "Validation Problems" s'affiche avec le message concernant la contriante maxfilles qui n'est pas respectée.

Voilà fin de cette petite mise en jambe pour la mise en pratique d'OCL, nous aurons l'occasion de pratiquer OCL plus intensivement dans nos prochains articles consacrés à la transformation de modèles et à ATL (ATLAS Transformation Language).

 
"Chacun rêve de changer l'humanité, mais personne ne pense à se changer lui-même."
Léon Tolstoï

 

Voir aussi :  

 

http://urbanisation-si.wix.com/blog

http://urbanisme-si.wix.com/blog

http://urbanisation-si.wix.com/urbanisation-si

http://urbanisation-si.over-blog.com/

http://rhonamaxwel.over-blog.com/

http://urbanisation-des-si.blogspot.fr/

http://bonnes-pratiques-si.eklablog.com/

http://urbanisation-si.eklablog.com/


23/08/2015
0 Poster un commentaire

Modélisation de système : tutoriel OCL, la gestion des évènements

 

tutoriel-ocl-omg-gestion-des-evenements.png

Ce tutoriel OCL (Object Constraint Language) est consacré à la gestion des évènements.

Pour illustrer ce concept, nous utiliserons le fameux design pattern du GoF (Gang of Four d'après la bande des 4 experts qui ont écrit en 1995 le livre contenant une vingtaine de solutions de conception objet génériques et qui ont révolutionné le monde du développement et de l'architecture logiciel).

Pour ceux qui ne ne connaissent pas leurs gammes, une description du problème, d'un exemple classique de gestion et bien entendu de la solution  se trouvent dans mon article publié sur ce blog :  https://www.urbanisation-si.com/urbanisation-du-systeme-d-information-creez-l-evenement

En OCL pour spécifier qu'un message signalant un évènement a été envoyé, on utilise l'opérateur ^

Exemple :

context Subject::hasChanged()
   post: observer^update(12, 14)

Le résultat de observer^update(12, 14) est vrai si le message update avec les arguments 12 et 14 a été envoyé à "observer" pendant l'exécution de l'opération.

Update() est soit une opération de la classe Oserver ou bien un signal spécifié dans le modèle UML.

Si les valeurs des paramètres sont inconnues au moment de l'appel, on remplace par des ?

context Subject::hasChanged()
   post: observer^update(? : Integer, ? : Integer)

OCL défini un type message spécial OclMessage qui peut être reçu par l'opérateur ^^

context Subject::hasChanged()
   post: observer^^update(12, 14)

Le résultat est une Sequence de OclMessage.

context Subject::hasChanged()
   post: let messages : Sequence(OclMessage) = observer^^update(? : Integer, ? : Integer) in
      messages->notEmpty() and
      messages->exists( m | m.i > 0 and m.j >= m.i )

Un OclMessage peut être envoyé à plusieurs cibles. Messages est une Sequence d'OclMessage dont chaque occurrence est envoyée à un observer cible :

context Subject::hasChanged()
  post: let messages : Sequence(OclMessage) =
    observers->collect(o | o^^update(? : Integer, ? : Integer) ) in
      messages->forAll(m | m.i <= m.j )

Autre exemple, soit une opération Company::getMoney(amount :Integer) : Boolean

context Person::giveSalary(amount : Integer)
   post: let message : OclMessage = company^getMoney(amount) in
      message.hasReturned() -- getMoney a été envoyée et retournée
and
      message.result() = true -- l'appel à  getMoney a retourné true

Voilà à travers ces quelques articles, nous avons appris les rudiments d'OCL.

Ce kit de survie nous servira pour nos futurs articles sur l'ingénierie dirigée par les modèles et les transformations de modèles. 

 

"Soyons reconnaissants envers les personnes qui nous donnent du bonheur ; elles sont les charmants jardiniers par qui nos âmes sont fleuries."
Marcel Proust

 

Voir aussi :  

 

http://urbanisation-si.wix.com/blog

http://urbanisme-si.wix.com/blog

http://urbanisation-si.wix.com/urbanisation-si

http://urbanisation-si.over-blog.com/

http://rhonamaxwel.over-blog.com/

http://urbanisation-des-si.blogspot.fr/

http://bonnes-pratiques-si.eklablog.com/

http://urbanisation-si.eklablog.com/


22/08/2015
0 Poster un commentaire

Modélisation de système : OCL vous en redemandez ?

modelisation-systeme-tutoriel-OCL-UML-2.png

Pour spécifier une classe d'association (Job ou Marriage dans le diagramme de classe UML) :

context Person inv:
   self.Job[employer]

On peut naviguer à partir de la classe d'association vers les objets participants :

context Job
   inv: self.employer.numberOfEmployees >= 1
   inv: self.employee.age > 21

Naviguez à travers des associations qualifiées : pour obtenir la personne possédant le compte bancaire 123456789

context Bank inv:
   self.customer[123456789]

Pour spécifier un chemin complet avec des package :

Packagename1::Packagename2::Typename

Accédez aux propriétés d'un supertype :

context B inv:
   self.oclAsType(A).p1 -- accède à la propriété p1 définie dans le supertype A (B hérite de A)
   self.p1 -- accède à la propriété p1 définie dans B (B est l'objet courant)

Propriétés prédéfinies pour tous les objets :

oclIsTypeOf (t : Classifier) : Boolean
oclIsKindOf (t : Classifier) : Boolean
oclIsInState (s : OclState) : Boolean
oclIsNew () : Boolean
oclAsType (t : Classifier) : instance de Classifier
context Person
   inv: self.oclIsTypeOf( Person ) -- = true
   inv: self.oclIsTypeOf( Company) -- = false

Membres statiques d'une classe :

context Employee::id : String init:
   Employee::uniqueID()

Si nous voulons que toutes les instances de Personne aient un nom unique :

context Person inv:
   Person.allInstances()->forAll(p1, p2 | p1 <> p2 implies p1.name <> p2.name)

La gestion des collections : Set = pas de doublons ; Bag = doublons possible ; Sequence = Bag ordonné ; OrderedSet = Set ordonné

Ces collections sont définies dans "OCL Standard Library".

Exemples :

Set { 1 , 88, 5, 2 }
Set { 'strawberry', 'apple', 'orange' }
Sequence { 45, 3, 3, 2, 1 }
Sequence { 'ape', 'nut' }
Bag {1, 3, 4, 3, 5 }

Selectionner les personnes qui ont plus de 50 ans (les 2 expressions suivantes sont équivalentes) :

context Company inv:
   self.employee->select(age > 50)->notEmpty()

context Company inv:
   self.employee->select(p | p.age > 50)->notEmpty()

Pour obtenir tous les éléments pour lesquels la condition est fausse (l'inverse du select), exemple, pour avoir les célibataires :

context Company inv:
   self.employee->reject( isMarried )->isEmpty()

Pour obtenir des collections différentes (les 3 expressions suivantes sont équivalentes) :

self.employee->collect( birthDate )
self.employee->collect( person | person.birthDate )
self.employee->collect( person : Person | person.birthDate )

Pour savoir (le résultat sera vrai) si une condition s'applique (est vraie) sur toutes les occurrences :

context Company
   inv: self.employee->forAll( age <= 65 )
   inv: self.employee->forAll( p | p.age <= 65 )
   inv: self.employee->forAll( p : Person | p.age <= 65 )

Pour savoir si une condition s'applique sur au moins une occurrence :

context Company inv:
   self.employee->exists( forename = 'Jack' )
context Company inv:
   self.employee->exists( p | p.forename = 'Jack' )
context Company inv:
   self.employee->exists( p : Person | p.forename = 'Jack' )

Itération (les 2 expressions suivantes sont équivalentes) :

collection->collect(x : T | x.property)
-- est identique à :
collection->iterate(x : T; acc : T2 = Bag{} |
acc->including(x.property))

Nous verrons dans un prochain article la gestion des messages.

 

"Assume ton destin. Derrière les soucis, le chagrin et la peur, tu découvriras alors l'extraordinaire bonheur qu'est la confiance en soi."
Richard Dehmel

 

Voir aussi :  

 

http://urbanisation-si.wix.com/blog

http://urbanisme-si.wix.com/blog

http://urbanisation-si.wix.com/urbanisation-si

http://urbanisation-si.over-blog.com/

http://rhonamaxwel.over-blog.com/

http://urbanisation-des-si.blogspot.fr/

http://bonnes-pratiques-si.eklablog.com/

http://urbanisation-si.eklablog.com/


21/08/2015
0 Poster un commentaire

Modélisation de système : OCL ça se complique !

modelisation-systeme-OCL-UML-OMG-03.png

Dans l'article précédent, nous avons vu une introduction et quelques bases d'OCL (Object Constraint Language).

Le moment est arrivé, pour aller un peu plus loin dans des éléments de syntaxe plus complexes toujours avec notre diagramme de classe (voir https://www.urbanisation-si.com/modelisation-de-systeme-uml-n-est-rien-sans-ocl ).

 

Exemple d'énumération :

context Person inv: gender = Gender::male

Réutiliser une variable :

context Person inv:
   let income : Integer = self.job.salary->sum() in 
if isUnemployed then
   income < 100
else
   income >= 100
endif

Pour réutiliser des variables/opérations à partir de plusieurs expressions OCL :

context Person
def: income : Integer = self.job.salary->sum()
def: nickname : String = ‘Little Red Rooster’
def: hasTitle(t : String) : Boolean = self.job->exists(title = t)

 

Pour les opérations/attributs statiques :

context MyClass
static def : globalId() : Integer = ...

Quand on est certain qu'un type courant d'un objet est un sous-type alors on peut le transtyper (caster) :

object.oclAsType(Type2) --- change le type statique de l'expression en Type2

Les opérateurs de naviagation sont . pour les attributs/opérations et -> pour les collections, opération ou itération :

anObject.name aString.indexOf(':')
aBag->elementType aSet->union(anotherSet) aSet->collect(name)

Les mots clés :

and body context def derive else endif endpackage false if implies in init inv invalid let not null or package 
post pre self static then true xor

Les mots restreints :

Bag Boolean Collection Integer OclAny OclInvalid OclMessage OclVoid OrderedSet Real Sequence Set 
String Tuple UnlimitedNatural

Commentaire : tout ce qui suit 2 signes moins -- et se trouve avant la fin de la ligne est un commentaire.

Les attributs :

context Person inv:
self.age > 0

Les opérations

L'appel :

aPerson.income(aDate)
aPerson.income(aDate).bonus = 300 and
aPerson.income(aDate).result = 5000

La définition :

context Person::income (d: Date) : Integer
post: result = age * 1000

Les associations :

context Company
   inv: self.manager.isUnemployed = false
   inv: self.employee->notEmpty()

context Person inv:
self.employer->size() < 3

context Person inv:
   self.wife->notEmpty() implies self.wife.gender = Gender::female

context Person inv:
   (self.wife->notEmpty() implies self.wife.age >= 18) and
   (self.husband->notEmpty() implies self.husband.age >= 18)

context Company inv:
self.employee->size() <= 50


On ne peut pas tout dévoiler tout de suite, le reste fera l'objet d'un prochain article.
 

"Les seuls beaux yeux sont ceux qui vous regardent avec tendresse."
Coco Chanel

 

Voir aussi :  

 

http://urbanisation-si.wix.com/blog

http://urbanisme-si.wix.com/blog

http://urbanisation-si.wix.com/urbanisation-si

http://urbanisation-si.over-blog.com/

http://rhonamaxwel.over-blog.com/

http://urbanisation-des-si.blogspot.fr/

http://bonnes-pratiques-si.eklablog.com/

http://urbanisation-si.eklablog.com/


21/08/2015
0 Poster un commentaire