Veille Technologique : Les outils de modélisation Open Source

Comme le montre l'article « La Vie d'un Projet JAVA », la modélisation UML ouvre de nombreuses possibilités, comme la potentialité d'externaliser efficacement les développements grâce à des spécifications d'applications sans ambiguïtés & lisibles par « tous », ou encore, de façon plus ambitieuse de générer un maximum de code.

Le marché, commercial (depuis longtemps) mais aussi Open Source, s'est rué sur cette « manne », donnant lieu à une offre pléthorique. Il est bien difficile de faire le bon choix.

D'ailleurs, quelles sont les critères de choix ? Chaque éditeur possède les siens qui mettent bien sur en évidence les forces de son produit.

Pour le client, les questions sont donc les suivantes :
  • Les solutions Open Source sont elles adaptées à mes besoins ?

Sinon, quelle est la solution « éditeur » qui me convient le mieux ?

La suite de cet article, sans prétendre être complet (ce type de choix fait généralement l'objet d'une étude de qualification), présente les solutions Open Source les plus populaires.


Tout d'abord, la différence entre ces outils, qu'ils soient Open Source ou commerciaux ne se fait pas sur la modélisation UML, puisque par définition ils sont faits pour ça.

Mais alors, qu'est-ce qui fait la différence ?

Tout dépend de l'utilisation que l'on veut faire de l'outil.

S'il s'agit de présenter de l'information à un utilisateur fonctionnel, on se posera la question suivante :

  • Quels moyens m'offre l'outil en terme de documentation (Format RTF, HTML – Possibilité de Paramètrage) ?

S'il s'agit d'externaliser les développements à un prestataire, la question suivante devient prépondérante (on ne peut imposer un outil de modélisation à un prestataire, lui-même ayant potentiellement plusieurs clients possédant des outils différents) :

  • Quels sont les moyens offerts en terme d'échange inter outil (Exportation « propriétaire » - au standard XMI)

S'il s'agit de générer du code à travers la modélisation, les questions suivantes doivent avoir des réponses :

  • Que m'offre l'outil en terme de génération de code ?
  • Puis-je facilement enrichir le modèle « standard » de l'outil pour augmenter la quantité de code généré ?

S'il s'agit de construire un véritable AGL (Atelier de Génie Logiciel où conception, programmation sont intimement liées), la question à se poser est alors :

  • L'outil de modélisation s'inscrit-il dans un IDE ?

Enfin, et cette liste n'est pas exhaustive, s'il s'agit d'urbaniser un SI ou de construire de gros projets :

  • L'outil gére-t-il un référentiel, intègre-t-il une gestion de version à minima (travail « Multi-projet » - « Multi-équipe » et partage de travail) ?

Comme toujours, le monde Open Source, plus précisément les communautés, ont essayé de répondre aux besoins immédiats. Ont donc émergés des projets qui sont restés sans suite, se sont endormis mais se réveillent aujourd'hui, ont été repris par des sociétés « distributrices » améliorant les fonctionnalités existantes en contrepartie de quoi, ces distributions sont devenues payantes.

A ce jour, les deux projets Open Source, les plus vivaces sont :

Omondo :

  • Documentation
  • RFT et/ou HTML : OUI (C'est une documentation type JavaDoc, non « accessible » à un utilisateur non informaticien)
  • Paramètrable : NON
  • Exportation XMI : Oui, mais uniquement pour les USE CASE & les diagrammes de Classe
  • Génération de code : OUI en Java mais uniquement en terme de squelette
  • Enrichissement de la génération de code : NON
  • Intégration outil de développement : OUI dans ECLIPSE (c'est en fait un PLUG IN)
  • Référentiel – Gestion de version : OUI à travers CVS (Open Source de référence en terme de gestion de version)

ArgoUML, dont la version distribuée et payante est POSEIDON

  • Documentation
  • Version Libre :
    • RFT et/ou HTML :OUI (C'est une documentation type JavaDoc, non « accessible » à un utilisateur non informaticien)
    • Paramètrable : NON
  • Version Distribuée & payante :
    • RFT et/ou HTML :OUI (C'est une documentation type JavaDoc, non « accessible » à un utilisateur non informaticien)
    • Paramètrable : OUI mais faiblement
  • Exportation XMI : Oui, mais uniquement pour les USE CASE & les diagrammes de Classe et les diagrammes de Séquence
  • Génération de code :
    • Version Libre : OUI en Java mais uniquement en terme de squelette
    • Version Distribuée & payante : OUI avec des Plug In complémentaires
  • Enrichissement de la génération de code : NON
  • Intégration outil de développement : NON
  • Référentiel - Gestion de version : OUI à travers CVS (Open Source de référence en terme de gestion de version)

La modélisation UML reste aujourd'hui en terme d'outil, le domaine de prédilection des éditeurs « commerciaux ». En effet, leurs produits restent encore plus « professionnels » et complets que le monde Open Source.

On peut trouver le bon outil dans cet univers, à condition de bien définir ses objectifs de modélisation, ce qui n'est pas encore tout à fait le cas pour le monde Open Source.


Marc TABARY


Fermer

Imprimer

Contacts / Site