PlantUML

Introduction

PlantUML est un outil open-source qui permet de générer des diagrammes à partir de simples descriptions textuelles. Il prend en charge une grande variété de types de diagrammes, tant basés sur UML que non basés sur UML. PlantUML est particulièrement utile pour les développeurs, les architectes et les chefs de projet, car il simplifie la création et la maintenance des diagrammes et peut être intégré dans de nombreux environnements de développement.

Diagrammes possibles basés sur UML

Diagramme de séquence

Description : Un diagramme de séquence montre l’interaction entre des objets dans un ordre spécifique. Il est fréquemment utilisé pour visualiser le flux de messages entre les objets d’un système.

Exemple en PlantUML :

@startuml 
Alice -> Bob: Bonjour ! 
Bob --> Alice: Bonjour en retour ! 
@enduml

Diagramme de Séquence

Explication :

  • -> indique un message d’un objet vers un autre.
  • --> indique une réponse.

Diagrammes d’activité

Description : Les diagrammes d’activité (également appelés organigrammes) montrent le déroulement des activités et des décisions dans un processus. Ils sont particulièrement utiles pour visualiser des processus métiers ou des algorithmes.

Exemple en PlantUML :

@startuml 
start 
:Activité 1; :Activité 2; 
if (Condition?) then (Oui)
 :Activité 3; 
else (Non)
 :Activité 4; 
endif 
stop 
@enduml

Diagramme d’activité

Explication :

  • start et stop marquent le début et la fin du processus.
  • if et else indiquent des décisions.

Diagramme de classes

Description : Les diagrammes de classes montrent la structure d’un système à travers des classes, leurs attributs, leurs méthodes et les relations entre les classes.

Exemple en PlantUML :

@startuml 
class  Voiture {   
                -marque: String 
                -modele: String +rouler() 
                }   
class  Conducteur {   
                -nom: String +conduire() 
                }   
Voiture "1" *-- "1" Conducteur 
@enduml

Diagramme de classes

Explication :

  • - indique des attributs privés, + indique des méthodes publiques.
  • --> indique une association entre des classes.

Diagramme d’objets

Description : Les diagrammes d’objets montrent les instances de classes à un moment donné et leurs relations entre elles.

Exemple en PlantUML :

@startuml 
object Voiture1 {
                marque = "VW" 
                modele = "Golf" 
                }   
object Conducteur1 {
                nom = "Max" 
                }   
Voiture1 --> Conducteur1
@enduml

Diagramme d’objets

Explication :

  • object définit une instance d’une classe.
  • --> indique une relation entre des objets.

Diagramme d’états

Description : Les diagrammes d’états montrent les différents états d’un objet et les transitions entre ces états.

Exemple en PlantUML :

@startuml 
[*] --> Arret 
Arret --> Marche : allumer 
Marche --> Arret : eteindre 
@enduml

Diagramme d’états

Explication :

  • [*] indique l’état initial.
  • --> indique une transition entre états.

Diagrammes possibles non basés sur UML

Visualisation de données JSON/YAML

Description : PlantUML peut visualiser des données JSON ou YAML pour mieux comprendre la structure et la hiérarchie des données.

Exemple en PlantUML :

@startjson 
{
    "nom": "Max", 
    "age": 30, 
    "adresse": { 
                "rue": "Rue Principale 1", 
                "ville": "Berlin" 
                } 
} 
@endjson

JSON/YAML

Explication :

  • @startjson et @endjson encadrent le code JSON.

Diagramme Archimate

Description : Les diagrammes Archimate sont utilisés pour modéliser des architectures d’entreprise. Ils montrent les relations entre les processus métiers, les applications et les technologies.

Exemple en PlantUML :

@startuml 
archimate #Business "Business Process" as bp <<business-process>> 
archimate #Application "Application" as app <<application-component>>
bp --> app 
@enduml

Diagramme Archimate

Explication :

  • archimate définit un élément Archimate.
  • --> indique une relation entre des éléments.

Diagramme de Gantt

Description : Les diagrammes de Gantt montrent les plans de projet et le calendrier des tâches.

Exemple en PlantUML :

@startgantt 
[Tâche 1] lasts 5 days 
[Tâche 2] starts at [Tâche 1]'s end and lasts 3 days
@endgantt

Diagramme de Gantt

Explication :

  • lasts définit la durée d’une tâche.
  • starts at indique le début d’une tâche par rapport à une autre.

Diagramme de carte mentale (Mindmap)

Description : Les cartes mentales visualisent des idées et des concepts dans une structure hiérarchique.

Exemple en PlantUML :

@startmindmap 
* Racine 
** Branche 1 
*** Feuille 1 
** Branche 2 
@endmindmap

Diagramme de carte mentale

Explication :

  • * indique le nœud racine.
  • ** et *** indiquent des nœuds enfants.

Diagramme de réseau

Description : Les diagrammes de réseau montrent la structure et les connexions dans un réseau.

Exemple en PlantUML :

@startuml 
node "Serveur" as s 
node "Client" as c 
s -- c 
@enduml

Diagramme de réseau

Explication :

  • node définit un nœud dans le réseau.
  • -- indique une connexion entre des nœuds.

Structure de découpage du projet (WBS)

Description : Une structure de découpage du projet (WBS) montre la hiérarchie et la structure d’un projet.

Exemple en PlantUML :

@startwbs 
* Projet 
** Phase 1 
*** Tâche 1 
*** Tâche 2 
** Phase 2 
@endwbs

Structure de découpage du projet

Explication :

  • * indique le projet principal.
  • ** et *** indiquent des sous-éléments.

Informations complémentaires

Liens web