StarUML

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

StarUML : modélisation UML (similaire à 'Rational Rose' ou 'Borland Together')

  • Site web
  • Système : Windows
  • Téléchargement
  • Version évaluée : 5.0.2.1570
  • Langue(s) de l'interface : anglais
  • Licence : GPL

    Ce produit est sous licence GPL pour le logiciel et GFDL pour la documentation.

Description
Fonctionnalités générales

« StarUML » est historiquement un produit commercial nommé « Agora Plastic » (conception architecture logiciel via UML, génération automatique des codes sources via la méthode MDA, analyse rapide des codes sources, etc...). En 2005, « Agora Plastic » devient un projet open source renommé en « StarUML ». Voir les liens : http://staruml.sourceforge.net/en/roadmap.php et http://staruml.sourceforge.net/en/about-3.php.

Le produit « StarUML » est un outil de modélisation UML (Unified Modeling Language - http://www.projet-plume.org/ressource/uml) open source qui vient se substituer aux outils payants tels que « IBM Rational Rose » ou « Borland Together » et qui a fait l’objet de mon étude sur les logiciels de « conception – implémentation », étude portant sur l’utilisation d’un logiciel ou d’un plug-in « Eclipse » open source pouvant faire de la modélisation UML ainsi que de l’implémentation Java (avec rétro-ingénierie).

Ce logiciel open source est simple d’utilisation et intuitif pour un débutant. « StarUML » est simple d’installation et consomme peu de ressources système (mémoire ~200 Mo et utilisation CPU faible). Il possède également une documentation (en anglais et en coréen - http://staruml.sourceforge.net/en/documentations.php).

Il supporte la norme UML 2.0.
L’outil propose les diagrammes UML nécessaires à une bonne modélisation. Voir le lien suivant : http://sourceforge.net/project/screenshots.php?gro.... Ce lien donne accès aux « screenshots » des divers diagrammes UML.

Cet outil respecte l’approche MDA (Model Driven Architecture) permettant de générer du code à partir de la modélisation UML (diagramme de classes). « StarUML » peut générer du code C, C++, Java et PHP 5 grâce aux divers plugins le composant.

Seule remarque, avant la génération du code, il faut au préalable avoir inclus le profil adéquat (ex : Java) dans les modèles. Pour cela, on utilise le menu « Model » puis « Profiles » puis on choisit le profil que l’on veut. Il existe un profil pour C, C++, Java et EJB (Enterprise JavaBeans).

« StarUML » peut également générer de façon automatique des diagrammes de classes grâce aux 26 patrons de conception qu’il connaît (3 patterns pour EJB et 23 patterns pour GOF (Gang of Four – ensemble de patrons de conception réutilisables, minimisation des interactions entre les diverses classes) présent dans le repository). Pour cela, il faut utiliser le menu « Apply Patterns » et choisir le pattern que l’on désire utiliser.

Dans les fonctionnalités générales, se trouvent les importations (XMI 1.x, projet Rational Rose et Framework comme Java 2 Enterprise 1.4) et les exportations (XMI 1.x, copie des diagrammes UML au format JPEG, JPG, BMP, WMF et EMF).

Autres fonctionnalités

Au lancement du logiciel, « StarUML » propose 4 approches prédéfinies (ou patrons) de modélisation : Approche par « vue 4+1 », une approche dite « par défaut », une approche « Rational Rose » et une approche « par composants UML ». L’approche « vue 4+1 » est la plus intéressante car elle fait le lien entre la conception UML et l’implémentation via un cycle en « V ». Chaque diagramme UML correspondra à une étape du cycle en « V » (jusqu’au codage).

On notera que l’approche « par défaut » est amplement suffisante pour initialiser un projet. Elle se décompose comme suit : cas d’utilisation, diagramme de séquences, diagramme de classes, diagramme de déploiement et diagramme d’implémentation (ou de composants). Et s'il manque un diagramme, rien n’empêche de le rajouter (menu « Add Diagram » puis choisir le diagramme à rajouter).

L'autre point fort de « StarUML » est l’ingénierie inversée. A partir d’un diagramme de classes, « StarUML » peut générer soit du code C, C++, Java ou PHP 5 et inversement, à partir du code, « StarUML » peut générer un diagramme de classes.

Autre fonctionnalité, « StarUML » génère une documentation UML au format DOC (à partir de la version « MS Word » installée sur le poste du développeur – utilisation d’un modèle nommé).

NOTA : Pour générer du code PHP 5, il faut télécharger le « template » adéquat au préalable (http://staruml.sourceforge.net/en/templates.php). Celui-ci n’étant pas natif à « StarUML », il doit être installé puis reconnu par le logiciel (voir à la fin du lien : http://staruml.sourceforge.net/en/templates.php).
Cette remarque vaut également pour les « templates » de génération de documentation (Ms Excel, Ms Word, Ms Powerpoint) ou de code (« template » = texte). Toutes les générations (documentation, code) et utilisations de « templates » se font à partir du menu « Tools » puis « StarUML generator ».

« StarUML » propose plusieurs modules complémentaires afin de répondre à certaines exigences telles que SPEM (Sofware Process Engineering MetaModel) pour le développement de logiciels, AML (Agent Modeling Language), etc … Pour une liste complète des modules disponibles : http://staruml.sourceforge.net/en/modules.php.

Pour terminer, une fonctionnalité qui semble fort intéressante est la vérification de la cohérence du modèle UML que l’on conçoit (menu « Model » puis « Verify Model »).

Interopérabilité

« StarUML » supporte les 3 normes OMG (Object Management Group - http://www.omg.org) suivantes : XMI, UML et MDA.

Pour plus de réponse, voir les liens suivants :

Il est à noter qu’en supportant XMI, “StarUML” supporte également la recommandation XML (Extensible Markup Language - http://www.projet-plume.org/ressource/format-xml) du W3C.

Le logiciel « StarUML » fonctionne à base de « Add-ins ». La liste complète est accessible via le menu « Tools » puis « Add-ins Manager ». Comme « Add-ins », nous trouvons : XMI Add-in, Java Add-in, Standard Add-in, Generator Add-in, etc …

Ce respect des normes de l’OMG et de la recommandation du consortium W3C en fait un produit sérieux et la possibilité d’ajouter des « Add-ins » en fait un produit évolutif.

Contexte d'utilisation dans mon laboratoire/service

« StarUML » a été employé dans un certain nombre de cas d’étude en Corée. Pour plus d’information : http://staruml.sourceforge.net/en/case-study.php.

"StarUML" est utilisé par les étudiants de l'université française d'Egypte (UFE - Laboratoire informatique N°4) : http://portal.ufe.edu.eg/spip/Laboratoire-informat...

Pour ma part, j’ai utilisé ce logiciel dans le cadre de mon stage de fin d’études pour la modélisation de la « gestion des profiles » dans le cadre de l’environnement M2M (machine to machine) du projet ITEA2 « UseNet ».

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

« StarUML » n’existe que dans l’environnement Windows car il utilise les objets « .COM » (Component Object Model Technologie - http://www.microsoft.com/com/default.mspx).

L’importation XMI 1.x ainsi que l’exportation XMI 1.x sont limitées et anciennes. La nouvelle version est XMI 2.x (le format XMI 1.x est différent du format XMI 2.x).

« StarUML » est développé en « Delphi 7 ». De ce fait, il n’est plus actuellement maintenu et devrait être remplacé par le logiciel « SunUML » (http://sourceforge.net/projects/sunuml/). « SunUML » sera basé sur « StarUML » et est en cours de développement (seule la « sourceforge » est mise en place pour l’instant).

La navigation entre les différentes fenêtres (différents diagrammes UML) est fastidieuse et demande un certain temps d’adaptation. On saute d’une fenêtre à une autre, elles ne sont pas toutes affichées à l’écran en même temps.

« StarUML » ne synchronise pas le code source en temps réel, à l’inverse de « EclipseUML » qui le fait (mais il est payant). La génération du code ainsi que la rétro-ingénierie n’est pas très intuitive, il ne suffit pas de cliquer sur le menu. Pour générer du code, il faut au préalable avoir chargé le profile Java. Pour la rétro-ingénierie, il faut copier au préalable les fichiers Java dans un répertoire donné.

Les stéréotypes proposés sont assez limités mais on peut construire ses propres stéréotypes.

« StarUML » peut être déroutant notamment pour la représentation graphique des éléments d’un diagramme de classes. Par exemple, la représentation d’une interface se fait à l’aide d’un rond et non d’une classe.

Environnement du logiciel
Plates-formes

Produit écrit en "Delphi 7" et utilisant les objets ".COM" de Microsoft.

Fonctionne uniquement sous environnement Windows.

Logiciels connexes

BOuml Fiche Plume pour la partie conception (sans approche MDA) et génération/rétro-ingénierie de code JAVA.

Autres logiciels aux fonctionnalités équivalentes

BOuml Fiche Plume, SunUML (prochainement), Papyrus/Acceleo et Topcased/Acceleo Fiche Plume

Environnement de développement
Type de structure associée au développement

« StarUML » est développé par une équipe de contributeurs, principalement coréens. Voir la liste : http://staruml.sourceforge.net/en/contributors.php

« StarUML » est écrit en langage « Delphi 7 » (http://www.borland.com) et demande un certain nombre de composants gratuits et payants complémentaires :

Ces outils servent également à développer des « templates » ou « des modules » ou des « Add-ins » ou de modifier le cœur de « StarUML ».

Eléments de pérennité

Le logiciel "SunUML" sera basé sur "StarUML" et sera la continuité du projet "StarUML".

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur

Documentations : http://staruml.sourceforge.net/en/documentations.php

Une aide est fournie avec le logiciel (menu "Help") et elle est en anglais.

Présentation de "StarUML" : http://matthieu-brucher.developpez.com/tutoriels/c...

Découverte "StarUML" : http://maxime.amblard.googlepages.com/presStarUML.pdf

Contributions

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.