Source Java Vers Graphique UML ( Java Reverse )

A quoi cela sert t’il ? A rien …. non non aller revenez on va causer un peu .. 🙂

Partie 1 – Je raconte ma vie

Bon, déjà mon avis sur le JAVA (en 3 lignes) :

C’est sympa, assez structuré, de la programmation Objet comme on l’aime. Avant j’avais fait du Pascal Object (moment nostalgique de promenade dans les champs etc ..) , on est dans la même catégorie de langage, pour moi quelque chose de professionnel et d’efficace.

En production, et surtout pour des applications lourdes, Java reste pour moi moins performant (pas taper moi). Cependant il garde pas mal de petits truc en plus (c’est langage plus récent après tout).

Et l’UML ?

L’UML … non, c’est une perte de temps. Pourquoi perdre 2h à faire des schémas qu’il faudrait de toute façon recoder. Qui plus est pour avoir un travail structuré il faudrait maintenir la concordance entre l’UML et le code. Cela reste réservé aux clients et aux patrons, aux cdc, en bref aux néophytes (et encore).

l’UML j’en ai toujours fait sans le savoir… sur mon bloc-note papier :p

Oui mais, le Java et l’UML ?

Si je peux pondre toutes mes classes et interfaces (la structure seulement hein !) à partir de mon schéma UML, il est envisageble que je perde 2h à faire des dessins sur le pc plutot que mon bloc-note. Si en plus je peux mettre à jours mon schéma après une modification du code, je risque de conserver ce schéma !

Et visiblement maintenant, c’est plus que possible ou envisageable, c’est efficace et fiable .. Chouette 😀

Partie 2 – Comment faire ….

Il existe plusieurs méthodes, toutes plus ou moins rapides / efficaces / respectueuses des normes / simples.

Bouml

Installation

yum install bouml

Récupérer les classes

  1. Lancer bouml (attention il est parfois bavard et pose des questions étranges… faites OK ça lui suffit souvent)
  2. Créer un projet bouml : New -> Choisir l’emplacement du dossier à créer
  3. Préparer un catalogue : Clic droit sur le nouveau projet -> Reverse -> Java Catalog
  4. Charger vos classes/interfaces : Dans la fenêtre Java catalog -> File -> Scan -> Sélectionnez un dossier à scanner
  5. Désormais il est possible de parcourir vos dossier pour débusquer les classes disponible. Pour importer vos classes faites un clic droit sur le dossier -> send its classes and classes of sub-package

Voila maintenant vous disposez de toutes vos classes dans bouml, il est maintenant possible de produire un code JAVA ou C++, un diagramme UML ou un documentation HTML etc …

Récupérer les classes (Deuxième méthode par B.Pagès)

  1. Lancer bouml
  2. Créer un projet bouml : New -> Choisir l’emplacement du dossier à créer
  3. Importer vos sources : Clic droit sur le nouveau projet -> Reverse -> Java
  4. Au moment de choisir un catalogue, faites annuler, puis au moment de choisir le dossier à « Reverser » sélectionnez les sources de votre projet.

Cette méthode à l’avantage de conserver plus d’informations (comme les sources).

Production d’un diagramme

  1. Faites un clic droit sur une class View (Élément qui contient plusieurs classes) et faites New Class Diagram.
  2. Double cliquez sur ce nouvel élément pour faire apparaître la zone de dessin.

Maintenant il est possible de glisser déposer toutes les classes dont vous disposez sur cette zone, les liens se feront automatiquement. Je n’ai pas trouvé meilleur méthode pour l’instant.

De même la zone de dessin est assez réduite mais il est possible de changer le format (clic droit -> format -> A1 (A2,A3,A4) et le zoom (100% -> 50%) .

NetBeans

Installation de neBeans

Téléchargez le gros fichier de chez JAVA et faites l’installation à l’arrache … comme on l’aime 🙂

Installation du plugin UML de netBeans

Lancer Netbeans et faire : Tools -> plugins -> Available plugin -> cocher UML -> cliquez sur Install

Réaliser le graph UML

  1. ouvrez le projet de votre choix (ou importez en un, c’est vous qui voyez :p )
  2. Puis: New projet -> UML -> Reverse engineered Java – platform Model

Encore une fois c’est à moi de faire le graph avec mes petites mains …. seulement là .. ça pu … ça rame et ça déconne !! 😦

Conclusion

Juger en par vous même, pour un même projet avec un même temps de réalisation 5 min

Avec bouml on obtient un diagramme humainement lisible.

Reverse JAVA avec Bouml

Avec netBeans, même avec 3 heures de plus … je doutes d’arriver à faire quelque chose de sérieux.

Reverse JAVA avec netBeans

Pourtant ça marche m’avait on dit… C’est efficace … Mon oeil …

Bien sur d’autre outils existent, mais je ne les connais pas encore, pour un prochain billet peut être.

Publicités