E. Renaux

Hors les cours BLOG

[Comparatif] Vous cherchez un modeleur UML?

without comments

[Y. BENNANI DOUBLI – L. BLYWEERT – R. LOISELEUX]

Logo UML

La programmation orientée objet, vous en mangez tous les jours ou vous venez d’en découvrir la complexité la puissance. Quoiqu’il en soit, au début on ne sait pas trop comment lier ses classes ou encore comment penser un diagramme de classes dans son intégralité.

Justement, vous êtes au bon endroit : cet article va vous aider à trouver le compagnon idéal qui vous guidera dans tout type de projet orienté objet : un logiciel de modélisation UML, ou modeleur UML. L’objectif de ce comparatif n’est pas d’être exhaustif, mais plutôt de vous donner quelques pistes dans votre recherche DU logiciel UML adapté à vos besoin.

UML, kézako?

Derrière ce gros mot se cache une notion très simple : c’est un langage permettant de modéliser ses classes et les interactions qui ont lieu entre elles.

Pour les plus curieux d’entre vous, UML veut dire Unified Modeling Language, ou “Langage de Modélisation Unifié”.

Avec UML, vous pouvez donc modéliser vos objets, et ainsi représenter votre application sous la forme d’un diagramme compréhensible de façon universelle.

Et les modeleurs?

Il existe de nombreux logiciels de modélisation UML pour vous aider à modéliser vos programmes, projets… Cependant la plupart de ces outils semblent très similaires et donc le choix peut être très difficile.

De plus, aucun d’entre eux ne respecte strictement chacune des versions d’UML, et c’est particulièrement vrai avec UML2 : beaucoup de ces outils introduisent des notations particulières non conformes, très peu supportent les différents types de diagrammes définis par le standard. Beaucoup en revanche incluent des outils de génération de code automatique ou manuel ou d’un mélange des deux, il est donc préférable de choisir l’outil UML qui correspond à vos attentes. Vous pouvez trouver également des outils qui prennent en charges différents langages de code (java, C, C++, etc.).

De nombreux critères peuvent vous aider à faire le bon choix. Je vous invite donc à découvrir ces différents visages d’UML et par la même occasion, à vous forger votre propre opinion… Dans le comparatif que vous allez lire, certains modeleurs apparaissent plusieurs fois : ils permettent donc de répondre à plusieurs besoins.


Vous débutez en UML ?

Notre comparatif pour les débutants ↓

Vous êtes étudiant ou travaillez dans une université?

Notre comparatif pour les étudiants/universités ↓

Vous êtes un professionnel?

Notre comparatif pour les professionnels ↓

Vous êtes chercheur?

Notre comparatif pour les chercheurs ↓

Vous êtes en freelance?

Notre comparatif pour les freelancers ↓

Vous ne comprenez pas un terme?

Notre glossaire ↓

Sources et liens utiles

Quelques liens pour poursuivre vos recherches… ↓


Vous débutez en UML ?

Alors comme ça, vous venez de découvrir UML? Vous cherchez sûrement une façon simple d’appréhender son formalisme à travers un modeleur : vous êtes sur la bonne page !


Tableau comparatif des modeleurs UML pour débutant

Tableau comparatif des modeleurs UML pour débutant


ArgoUML – Editeur : Tigris.org
http://uml.developpez.com/telecharger/detail/id/1500/ArgoUML

L’outil UML ArgoUML est un logiciel libre de création de diagrammes UML. Programmé en Java, il est édité sous licence EPL (Eclipse Public License). Il est multilingue, supporte la génération de code et l’ingénierie inverse. Son interface est plutôt agréable, beaucoup plus  facile d’accès et permet une prise en main plus rapide.  Ce logiciel vous permettra de créer 7 types de diagrammes :

  • cas d’utilisation
  • classes
  • séquence
  • état
  • collaboration
  • activité
  • déploiement.

StarUML – Editeur : Plastic Software
http://uml.developpez.com/telecharger/detail/id/2119/StarUML

StarUML est un logiciel de modélisation UML disponible en OpenSource. Via cette plateforme, vous serez en mesure de concevoir plusieurs dizaines de types de diagrammes.

Il vous sera notamment possible de créer de classes, d’objets, d’activité ou bien de séquences compatibles avec le standard UML 2.0. StarUML est écrit en Delphi.

De plus, vous disposerez d’un outil capable de générer automatiquement des index et documents aux formats Microsoft Word, Excel ou PowerPoint. Cet outil est facile à manipuler, si vous l’utilisez pour la première fois. L’un des inconvénients c’est le fait qu’il ne soit disponible que sous Windows.


UMLStudio – Editeur: PRAGSOFT
http://www.pragsoft.com/

UMLStudio est un outil qui permet de modéliser rapidement et intuitivement vos projets. Il permet la génération de documentation et de code dans le langage que vous préférez C++, Java… UML Studio est fourni avec PragScript , un moteur de script intégré qui permet aux utilisateurs finaux d’accéder à l’information tenue par l’outil et l’utiliser pour n’importe quel but. Il permet la création de 5 types de diagrammes UML.


Visual Paradigm for UML – Editeur: Visual Paradigm
http://en.wikipedia.org/wiki/Visual_Paradigm_for_UML

Visual Paradigm est un outil de modélisation UML. Il permet d’analyser, de dessiner, de coder, de tester et de déployer. Il vous permettra de dessiner tous les types de diagrammes UML, de générer le code source à partir de diagrammes et d’élaborer la documentation. Il vous permettra également de réaliser le mapping objet relationnel automatiquement en partant de vos diagrammes de classe. Les 13 types de diagrammes que cet outil supporte sont :

  • diagramme de classes
  • diagramme de cas
  • diagramme de séquence
  • schéma de communication
  • diagramme d’état
  • diagramme d’activité
  • diagramme de composants
  • diagramme de déploiement
  • diagramme de package
  • diagramme d’objets
  • diagramme de structure composite
  • chronogramme
  • synoptique d’interaction

Dia – Editeur: GNOME GNU Network Object Model 
https://projects.gnome.org/dia/

Dia est un logiciel libre de création de diagramme développé en tant que partie du projet GNOME. Dia est conçu de manière modulaire avec plusieurs paquetages de formes pour des besoins différents : diagramme de flux, diagramme de circuit électrique, diagramme UML, etc. Il est distribué selon les termes de la GNU GPL. Il permet la génération de code en langage C, C++, PHP, Python, SQL… et il permet également la création de 12 types de diagrammes.


Violet UML Editor – Editeur : PLUME
http://alexdp.free.fr/violetumleditor/page.php

Cet outil vous permettra de créer des diagrammes UML de manières très simples. Parmi les 13 diagrammes UML normalisés, 6 sont disponibles dans Violet :

  • cas d’utilisation,
  • classe,
  • objet,
  • état,
  • activité,
  • séquence.

Cet outil n’est pas destiné pour les grands projets car il très léger. Sa principale particularité est sa simplicité d’utilisation car il est centré sur l’essentiel. Il peut être utilisé comme une application indépendante ou comme plugin dans Eclipse.


Umbrello – Editeur : L’équipe Umbrello
http://umbrello.kde.org/

Umbrello est un logiciel de création de diagrammes UML (un peu similaire à ArgoUML) intégré à l’environnement de bureau KDE (voir glossaire). Umbrello permet de créer de manière simple et intuitive un très grand nombre de diagrammes. Sa fonctionnalité la plus intéressante et qui pourrez peut être vous être utile est sa capacité de génération de code source. Il est capable de générer du code source dans de nombreux langages  (C++, Java, PERL, SQL, Ruby, Python, PHP, etc.).


Retour au menu ↑


Vous êtes étudiant ou travaillez dans une université ?

Cher étudiant, cher professeur, voici une sélection de quelques modeleurs UML reconnus et qui constituent des valeurs sûres.


Tableau comparatif des modeleurs UML pour étudiant ou université

Tableau comparatif des modeleurs UML pour étudiant ou université


BOUML (version < 5) – Editeur : Bruno Pagès
http://www.developpez.net/forums/d494031/outils/comparatif-logiciels-uml-libres/

L’outil BOUML est un outil UML 2 libre. Il propose la création de différents diagramme, le reverse engineering et la génération de code C++, Java, Php, Python et IDL. Cet outil est complet et il convient aux étudiants qui débutent en modélisation UML. En effet, il existe de nombreux tutoriels en français. Je vous le conseille car il est très léger, rapide et très ergonomique.


Objecteeringshareware – Editeur : Objecteering Software
http://archive.modeliosoft.com/fr/about-fr/modelio-academic-program-fr.html

Objecteering est un outil de modélisation UML avancé, développé et commercialisé par Objecteering Software. Il offre un support complet de l’UML2. Il est bien connu pour le support étendu MDA qu’il fournit, ses fonctionnalités de travail en groupe avancées, ses générateurs de code, et ses paradigmes de synchronisation code-modèle. Il existe également un programme universitaire.


Modelio –  shareware –  Editeur : Modeliosoft
http://archive.modeliosoft.com/fr/about-fr/modelio-academic-program-fr.html

Modelio est un ensemble d’outils pour la modélisation et la génération de rapports, d’architecture ou de code. Modelio est un outil qu’on utilise souvent dans les universités. D’ailleurs il existe un programme académique Modelio qui permet aux universités de bénéficier de ce logiciel gratuitement.

Parmi ses nombreuses fonctionnalités, Modelio apporte :

  • La génération de documentation aux formats HTML et Word
  • Le support intégral d’UML2

Retour au menu ↑


Vous êtes professionnel ?

Cette partie s’adresse aux PME et aux grands groupes, car les modeleurs présentés ci-dessous sont apte à gérer des projets de taille plus importante.


Vous cherchez un modeleur autonome


Tableau comparatif des modeleurs UML pour professionnel

Tableau comparatif des modeleurs UML pour professionnel


TogetherShareware* – Editeur : Borland
http://www.borland.com/products/together/default.aspx

L’outil UML de Borland, sobrement nommé Together, était au départ composé de trois applications distinctes : Together Developer, Together Designer, et Together Architect. Aujourd’hui, elles ont été réunies dans une seule et même application basée sur Eclipse. Together est d’ailleurs, techniquement parlant, un ensemble de plugins Eclipse.

Au menu du jour :

  • intégration de l’IDE Java
  • modélisation des données
  • design patterns de base et personnalisés
  • modélisation de processus
  • modèle logique et physique des données avec passage de l’un à l’autre
  • reconnaissance des design patterns dans le code source

* Une version d’évaluation limitée dans le temps est proposée


Suite RationalShareware – Editeur : IBM
http://www-01.ibm.com/software/rational/uml/products/

IBM, de son côté, a préféré offrir plusieurs suites répondant à des besoins différents. Couvrant un nombre assez impressionnant de langages, les fonctionnalités des logiciels IBM en font une référence.

Quelques-une des possibilités offertes :

  • conversion dynamique model-to-code et code-to-model
  • UML to Java, C#, C++, EJB, WSDL, XSD, CORBA, SQL…
  • Java, C++, .NET to UML

Visual Paradigm for UMLShareware* – Editeur : Visual Paradigm
http://www.visual-paradigm.com/product/vpuml/

Cet outil est disponible en quatre versions (Enterprise, Professional, Standard et Modeler) à des fonctionnalités différentes et donc des prix différents. Le logiciel de Visual Paradigm vous permettra de créer 13 types de diagrammes :

  • Diagramme de classe
  • Use case
  • Diagramme de séquence
  • Diagramme de communication
  • Diagramme d’état
  • Diagramme d’activité

Note : Visual Paradigm for UML existe aussi en ‘Community Edition’, une version gratuite idéale si vous souhaitez tester le logiciel sans utilisation commerciale, avec un seul diagramme et un watermark.

* Une version d’évaluation limitée dans le temps est proposée


Enterprise ArchitectShareware* – Editeur : SPARX SYSTEMS
http://www.sparxsystems.com/products/ea/index.html

Bien plus qu’un modeleur UML, Enterprise Architect permet de s’interfacer avec les outils de développement IDE Visual Studio ou Eclipse, et même avec Subversion. Il est disponible en 6 versions (Corporate, Professional, Desktop, Ultimate, Systems Engineering et Business and Software Engineering). Il permet, entre autres :

  • la génération/importation de code pour les langages les plus courants et les bases de données relationelles
  • le Model Driven Architecture
  • le support de la norme XMI
  • la génération de la documentation RTF/HTML
  • la modélisation des processus métiers (BPMN)

* Une version d’évaluation limitée dans le temps est proposée


Poseidon for UMLShareware* – Editeur : gentleware
http://www.gentleware.com/new-poseidon-for-uml-8-0.html

Issu du projet ArgoUML, Poseidon for UML est distribué en différentes éditions :

  • la Community Edition pour débuter ou apprendre UML,
  • la Standard Edition qui ajoute la possibilité de réaliser de la rétro-ingénierie depuis Java,
  • la Professional Edition qui inclut un générateur de code et l’intégration dans Eclipse,
  • la Embedded Editition conçue pour développer un système embarqué avec une optimisation du code en C/C++.

* Une version d’évaluation limitée dans le temps est proposée


MagicDrawShareware* – Editeur : No Magic
http://www.nomagic.com/products/magicdraw.html

Ce logiciel de modélisation de No Magic supporte l’UML, le SysML, le BPMN et l’UPDM, le tout avec une fonctionnalité de travail en équipe. Il est en effet possible de travailler à distance et à plusieurs sur le même projet. Il permet de faire du round-trip avec J2EE, C#, C++, CORBA IDL, .NET, XML, WSDL et les bases de données.

Les points positifs :

  • la matrice de dépendance intégrée permet de visualiser les relations entre les entités d’un système de grande taille
  • la traçabilité entre les différents niveaux d’abstraction
  • la possibilité de visualiser simplement toutes les différences entre deux versions d’un diagramme

* Une version d’évaluation limitée dans le temps est proposée


PowerAMCShareware* – Editeur : Sybase

http://www.sybase.fr/products/modelingdevelopment/poweramc

Commercialisé en France sous le nom de PowerAMC, ce logiciel est appelé PowerDesigner dans sa version internationale. Il permet de gérer avec une facilité déconcertante les différents types de modèle :

  • MCD
  • MLB (Modèle Libre)
  • MOO
  • MPD

* Une version d’évaluation limitée dans le temps est proposée


StarUMLOpen source : GPL Modifiée – Editeur : Plastic Software et la communauté
http://staruml.sourceforge.net/en/

A la fin de son exploitation commerciale, ce logiciel a été cédé par son éditeur à la communauté open source avec pour objectif de se substituer à des solutions commerciales coûteuses.

StarUML n’a pas été maintenu à jour depuis 2008, d’après son site, mais il permet néanmoins de gérer la plupart des diagrammes de la norme UML 2.0.


Umbrello UML Modeller Open source : Eclipse Public License 1.0 – Editeur : Communauté
http://umbrello.kde.org

Disponible en natif sous Unix et intégré à l’environnement de bureau KDE, Umbrello UML Modeller est un compagnon intéressant si vous planifiez de travailler sous Unix.

Avec la possibilité de générer neuf types de diagrammes UML (classe, séquence, déploiement, cas d’utilisation…) et de générer du code en Java, C++, PHP, Python, Ruby, SQL et bien d’autres, cet outil est très polyvalent.


Vous cherchez plutôt un plug-in pour Eclipse :


Si votre environnement de travail est déjà configuré sous Eclipse, alors une autre alternative s’offre à vous : les plug-in UML pour Eclipse. Notez bien que certains des logiciels présentés ci-dessus s’interfacent très bien avec Eclipse, mais les suivants sont uniquement utilisable avec Eclipse.


Retour au menu ↑


Vous êtes chercheur ?

Alors cette partie vous est destinée. Bien entendu, beaucoup de modeleur peuvent convenir, alors un seul mot d’ordre : définir vos besoins.


Tableau comparatif des modeleurs UML pour chercheur

Tableau comparatif des modeleurs UML pour chercheur


ArgoUML – Editeur : Tigris.org
http://uml.developpez.com/telecharger/detail/id/1500/ArgoUML

ArgoUML supporte1 sept types de diagramme: cas d’utilisation, classes, séquence, état, collaboration, activité et déploiement.
La génération de code à partir de diagrammes de classes est supportée dans les langages suivants: Java, C++, PHP, C# et SQL.
Il a l’avantage de suivre de très près les normes UML2 ce qui est un bel avantage sur le marché.


Modelio – Editeur : Modeliosoft
http://www.modeliosoft.fr/

Modelio est un outil disponible sur les plates-formes Windows et Linux. Il intègre la modélisation BPMN, le support de la modélisation des exigences, du dictionnaire, des règles métier et des objectifs.
Il propose également une gamme d’outils permettant, entre autres, la mise en œuvre de l’approche MDA (Model driven architecture).
Modelio supporte très bien l’UMl 2 et dispose de tous ses diagrammes sauf les diagrammes de temps


Topcased – Editeur : Consortium
http://www.topcased.org/

Topcased est un acronyme pour Toolkit in Open Source for Critical Applications & Systems Development (boîte à outils open source pour le développement d’applications critiques et de systèmes).
Topcased offre des fonctionnalités pour l’analyse d’exigences, la modélisation, la simulation de modèles, l’implémentation, les tests, la validation, la rétro-ingénierie, la génération de code, de modèles et de documentation et ainsi que la gestion de projet.
Ce qui fait de lui un outil très complet et performant. Il est utilisé par de nombre laboratoire de recherche comme par exemple, la Fédération de Recherche en Informatique et Automatique CNRS FR 2238, l’INSA ou l’Institut de Recherche en Informatique de Toulouse.


UML Designer – Editeur : Obeo
http://marketplace.obeonetwork.com/module/uml

Ce logiciel fournis un support natif et complet d’UML 2. Ainsi en s’intégrant dans Eclipse il fournit tous les outils nécessaires pour travailler avec UML 2.
Il permet également la création de ses propres diagrammes ce qui est un facteur important pour une utilisation dans le domaine de la recherche.


Visual Paradigm for UML – Editeur : Visual Paradigm Int’l Ltd.
http://www.visual-paradigm.com/product/vpuml/

Ce logiciel permet de modéliser en utilisant de nombreux standards différents tel que, l’UML 2.4, SoaML, SysML, ERD, DFD, BPMN 2.0, ArchiMate 2.0. Ce qui le rend très utile pour des personnes utilisant plusieurs de ces standards à la fois.
Il est également capable de faire de la retro ingénierie sur du Java et gère le roundtrip en Java et C++.


Retour au menu ↑


Vous êtes freelancer ?

Vous vous lancez dans un projet et vous avez besoin d’un modeleur UML? Vous souhaitez utiliser le même logiciel que votre client? Voici quelques modeleurs à essayer…


Tableau comparatif des modeleurs UML pour freelancer

Tableau comparatif des modeleurs UML pour freelancer


Open ModelSphere – Editeur : Grandite

http://www.modelsphere.org/fr/

Open ModelSphere est un outil complet de modélisation de données qui prend en charge la modélisation conceptuelle, logique et physique.
Il comporte des modules permettant de valider l’intégrité de votre architecture et la cohérence de ce que vous établissez, cela permet de sauver énormément de temps, ce qui est un des objectifs en tant que freelance.
Il propose également des fonctions de rétro-ingénierie et une architecture en plugins ce qui montre sa grande adaptabilité et puissance.
C’est un outil conçu en Java donc multiplateforme et sous licence GPL donc gratuit.


Power AMC – Editeur : Sybase
http://www.sybase.fr/products/modelingdevelopment/poweramc

PowerAMC est un outil cher (entre 2000 et 7000 €) mais permet une modélisation extrêmement complète et performante. Même si ce logiciel est plus adapté à un travail de groupe il ouvre la possibilité à un freelance d’avoir un outil des plus performants sur le marché de par ses fonctions d’analyse ou de partage de données.
Il permet la modélisation de données, modélisation de processus métier, conception et rétro-conception. Le tout basé sur la méthode Merise.


Rhapsody – Editeur : Telelogic racheté par IBM
http://www-01.ibm.com/software/awdtools/rhapsody/

Rhapsody est un logiciel IBM, ce qui peut être un avantage pour certain. Il a une gestion de la retro ingénierie et gère les langages suivant : C, C++, C#, Ada et Java.
Il permet également d’utiliser la fonction de roundtrip en liaison avec un IDE associé. Il propose également une gestion des exigences très utilise pour un développement plus rapide des modèles.
Rhapsody s’intègre dans différents IDE (Eclipse, VxWorks workbench) ce qui le rend également très versatile.


Violet UML Editor – Editeurs : Cay S. Horstmann, Alexandre de Pellegrin (et autres)
http://alexdp.free.fr/violetumleditor/page.php

Violet UML Editor est un des éditeurs les plus adapté à une utilisation Freelance non spécialiste. Il est en effet très simple d’utilisation et gratuit. Il produit également les diagrammes les plus utilisés tel que :

  • use case
  • classe
  • object
  • état
  • activité
  • séquence

Retour au menu ↑


Glossaire


KDE : est un projet de logiciel libre historiquement centré autour d’un environnement de bureau pour systèmes UNIX. Ce projet a évolué et il se compose maintenant d’un ensemble de technologies : des bibliothèques et des API qui fournissent une couche d’abstraction logicielle multiplateforme, un environnement de bureau et des applications.


Norme UML 2.0 : La version finalisée, largement enrichie et corrigée de cette première ébauche de cours est parue, dans la collection Info+ chez les éditions Ellipses, sous le titre UML 2 – de l’apprentissage à la pratique (cours et exercices). Voici ce que la version publiée apporte par rapport à la présente version en ligne :

  • De nombreuses améliorations (corrections, illustrations, exemples…). En fait, seulement 20% de la version éditée se retrouve à l’identique dans la version en ligne.
  • De nouvelles notions (Design Patterns, introduction aux principales méthodes de développement, diagramme de structures composites…). La version éditée est pratiquement 2 fois plus volumineuse que la version en ligne.
  • Des séances de travaux dirigés et de travaux pratiques accompagnées de corrigés complets et détaillés
  • Une présentation bien plus agréable sous la forme d’un vrai livre.

MDA : La MDA, pour Model-Driven Architecture (Architecture basée sur les modèles), a été conçue afin de séparer les contraintes fonctionnelles des contraintes techniques.
MDA se présente sous la forme d’un jeu de standards proches (mais non co-dépendants), utilisés pour créer un modèle et l’affiner jusqu’à obtenir, idéalement, un produit fini, comme du code source.
En pratique, on rencontre le plus souvent la MDA en définissant une application avec UML et en générant automatiquement l’exécutable lié, grâce à des générateurs Java, C# ou autre…
Ainsi, la proposition de MDA est de définir les fonctionnalités système dans un modèle indépendant de la plate-forme (PIM : Platform Independant Model) à l’aide d’un langage de spécification, et de le traduire en un modèle spécifique à une plate-forme (PSM : Platform Spécific Model), pour enfin générer le code compilable (ou compilé) pour cette plate-forme.


OMG : L’Object Management Group est une association américaine à but non lucratif créée en 1989 dont l’objectif est de standardiser et promouvoir le modèle objet sous toutes ses formes.

L’OMG est notamment à la base des standards UML (Unified Modeling Language), MOF (Meta-Object Facility), CORBA (Common Object Request Broker Architecture) et IDL (Interface Definition Language).

L’OMG est aussi à l’origine de la recommandation MDA (Model Driven Architecture) ou ingénierie dirigée par les modèles, avec en particulier le langage standardisé de transformation de modèles QVT (Query/View/Transformation).


Diagramme BPMN : Les diagrammes BPMN (ou « Business Process Modeling Notation ») supportent la modélisation les processus métiers.

Un diagramme BPMN s’articule autour de flux d’activités (les « Tasks » et les « SubProcesses »), associés à des éléments de contrôle de flux (les « Events » et les « Gateways »). Il fait ensuite intervenir des éléments de structurations orientés autour des participants au processus (les « Pools » et les « Lanes »), ainsi que des artéfacts produits et consommés par les activités (les « DataObjects »).

Le but principal de BPMN est de fournir une notation qui soit réellement compréhensible par tous les utilisateurs de l’entreprise :

  • Les analystes métier qui créent les ébauches initiales des procédures
  • Les développeurs chargés de la mise en place de la technologie qui va exécuter ces procédures
  • Les utilisateurs de l’entreprise qui vont gérer et appliquer ces procédures.

GNU : GNU est un système d’exploitation libre lancé en 1983 par Richard Stallman, puis maintenu par le projet GNU. Son nom est un acronyme récursif qui signifie en anglais « GNU’s Not UNIX » (littéralement, « GNU n’est pas UNIX »). Il reprend les concepts et le fonctionnement d’UNIX.

Le système GNU permet l’utilisation de tous les logiciels libres, pas seulement ceux réalisés dans le cadre du projet GNU.


Retour au menu ↑


Sources et liens utiles