BOUML

Fiche logiciel validé
  • Création ou MAJ importante : 20/10/10
  • Correction mineure : 19/04/13
Mots-clés

BOUML : suite d’outils UML 2

Description
Fonctionnalités générales

BOUML est une suite d’outils UML 2 comprenant un modeleur avec un ensemble d'extensions permettant de modéliser les différents aspects d'un projet avec les diagrammes UML usuels (http://bouml.free.fr/screenshots.html).
BOUML peut également générer du code C++, Java, Idl, PHP et Python. BOUML peut faire la rétro-ingénierie de l’ensemble des sources d’une JDK (java, javax, com...) tout comme l'import des classes de toute bibliothèque java dans un projet. La rétro-ingénierie fonctionne également avec PHP et C++.

Agréable à utiliser car très rapide, les outils de dessin de diagrammes sont bien conçus. De plus, BOUML est peu gourmand en mémoire et en CPU.
Sa licence GPL l'a fait adopter par une communauté importante qui le porte sur de nombreuses plateformes. De nombreuses versions sont disponibles chaque année.
Par contre, il n'est pas intégrable aux IDEs tels qu’Eclipse ou Netbeans. Il utilise QT pour son environnement graphique.

Autres fonctionnalités

Il est possible de l'utiliser avec un système de gestion de version tel que SVN. Nativement, il supporte la synchronisation de plusieurs utilisateurs sur le même projet.

BOUML offre une API permettant de faire des extensions et prendre d'autres langages ou d'autres fonctionnalités telles que la génération de codes spécifiques. Il se compose d'un coeur appelé modeleur et d'extensions appelées plug-out.

Cet outil génère une documentation UML (http://www.projet-plume.org/fr/ressource/uml) au format HTML, ce qui peut être intéressant (présentation modélisation au client).

Interopérabilité

BOUML offre le support de Xmi 1.2 et Xmi 2.1 pour l'export et de Xmi 2.1 pour l'import ainsi que l'import des projets Rational Rose (seul le modèle est importé correctement, les diagrammes sont créés vides).

Il est possible d'importer au format XMI 2.1. Pour les imports au format 1.x, il y a un risque de perte de données notamment les représentations graphiques (incompatibilité entre les version XMI 1.x et 2.x).

Contexte d'utilisation dans mon laboratoire/service

Utilisation des différents diagrammes pour modéliser les différents aspects d'un projet.

En plus de modéliser les différents aspects d’un projet, BOUML fait le lien avec l’implémentation (création des diverses classes (simple squelette) à partir du diagramme de classes).

Limitations, difficultés, fonctionnalités importantes non couvertes

A ce jour, BOUML n'existe pas en tant qu'extension à un environnement de développement de référence tels qu'Eclipe ou Netbeans.

BOUML est moins intuitif que StarUML.

Le code généré lors de la modélisation (exemple, java) ne s’affiche pas en même temps que la modélisation UML. Ceci peut être gênant.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Le paquetage Debian (Ubuntu) se trouve sur le site http://packages.debian.org/fr/sid/bouml.

Plates-formes

Différents Linux, MAC OS, Windows

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Communauté du libre

Un auteur principal (Bruno Pagès) aidé de 2 personnes pour les aspects MacOS pour le coeur de l’outil, complété par des contributeurs qui développent de plug-out spécifiques (http://bouml.sourceforge.net/contrib.html)

Eléments de pérennité

Licence GPL, forte communauté (2 milions de visiteurs sur le site officiel)

Modélisateur respectant la norme UML 2.0 édictée par l’OMG ( http://www.omg.org/spec/UML/2.0/ )

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)

BOUML est très utile pour la rétro-ingénierie. Il est de plus bien plus rapide que beaucoup de produits payants. Il permet également de gérer la synchronisation entre le modèle UML et le code source en java et en C++

Une autre fonctionnalité très intéressante de BOUML est son générateur de machine à état à partie d'un diagramme d'état (UML state diagram).

 

 

Commentaires

Responsable thématique précédent

Cette fiche a d'abord été suivie par le responsable thématique Frédéric Camps. Laurent Pérochon l'a reprise en avril 2013.

Changement de licence

Suite au problème évoqué dans les précédents commentaires, la licence de BOUML a changé et est devenu payante ( http://www.bouml.fr/pricing_fr.html ). Ce logiciel a-t-il toujours sa place dans PLUME ?

Clive

Bagarre sanglante à propos du logo BOuml

Une bagarre sanglante s'est déroulée sur les fils de l'internet français ces dernières semaines. On déplore même quelques victimes: l'auteur principal (Bruno Pagès) de BOuml se retire du projet, et un administrateur de wikipedia risque d'être desysopé. Et tout ça à propos d'une sombre histoire de logos...

J'espère que le développement de BOuml pourra être repris par la communauté...

Le champ de bataille est encore visible sur http://fr.wikipedia.org/wiki/Discussion:BOUML

La version 4.22.2 est pour l'instant la dernière version libre

La dernière version 4.23 connue à ce jour suite à l'arrêt par l'auteur principal Bruno Pagès n'est pas libre puisque les sources ne sont pas distribuées.
Il s'agit d'un correctif de la 4.22.2.

A ce jour, l'avenir de BOUML est ouvert et dépendra soit des auteurs actuels à se réengager à continuer le projet BOUML, soit à ce qu'un des 2 millions de visiteurs du site officiel BOUML crée un projet dérivé.