====== Diagramme de classes avec EasyUML ====== EasyUML est un plugin qui permet : * De dessiner des diagrammes de classes ; * La génération de code Java à partir de diagrammes de classes ; * La génération de diagrammes de classes à partir de code Java. ===== Installer le plugin EasyUML ===== Pour ajouter easyUML à NetBeans, il vous faudra : | - Télécharger [[https://github.com/mgeee35/easyUML/archive/refs/heads/main.zip|l'archive]] contenant le plugin pour __NetBeans__ ; - Le décompresser où bon vous semble ; - Ouvrir NetBeans et cliquer sur le menu **Tools/Plugins** ; - Sur la popup qui s'ouvre, choisir l'onglet **Downloaded** ; - Cliquer sur ** add plugin ** ; - Naviguer jusqu'au dossier décompressé ; - Selectionner tous les fichiers à extension **.nbm** et valider ; - La popup revient avec tous les composants listés et sélectionnés ; - Cliquer sur le bouton **Install** puis **Next**, **Continue** et enfin **Finish** - Terminer par le bouton **close**. | \\ \\ {{bloc2:prog:poo:diagclass-easy-download.png?300|Plugin dowload}} | C'est fini ! Vous avez installé le plugins **EasyUML**. ===== Générer un diagramme de classes à partir de code Java ===== | \\ \\ - Créer un **Projet** de type **UML/ UML Diagrams Project** ; - Sur le projet contenant les sources Java, faire un clic droit et choisir **EasyUML create class Diagram** ; - Cliquer sur **Create Class Diagram**. Le diagramme a été ajouté au projet nouvellement créé. Il est modifiable à volonté en mode graphique. | Exemple de schéma généré \\ {{bloc2:prog:poo:diagclass-easy-diagram.png?200|Diagramme de classes}} | Le schéma contient, en principe, les liens d'héritage et d'association constitutifs de l'architecture du projet source. Toutefois, selon les attentes, il est possible que certains liens manquent qu'il faudra alors ajouter manuellement au schéma. ===== Ajouter des liens ===== Faire un clic droit sur le fond du schéma et choisir **Add Relationship**. | \\ {{bloc2:prog:poo:diagclass-easy-addrelation.png?300|Add relation}} | Sélectionner, selon le besoin, le type de relation à ajouter. * **Is** désigne une relation d'héritage ; * **Implements** désigne l'implémentation d'une Interface ; * **Has** s'applique à un attribut Collection ; * **Use** désigne une relation d'utilisation (hors attribut). Dans tous les cas, il faudra indiquer la **Source** et le **Target** (la cible) du lien. | ===== Exporter le schéma pour documentation ===== On pourra, à volonté, exporter le diagramme sous la forme d'une image afin de l'intégrer dans une documentation. Pour celà, cliquer droit sur le fond du schéma et choisir **Export as image**