PlantUML
PlantUML est un outil libre et multi-plate-forme qui permet de créer des diagrammes UML à partir d'un langage textuel de description.
Exemple :
hide circle
class Voiture {
immat : text {key}
}
class Personne {
nom : text
prénom : text
}
Personne "1" -- "*" Voiture : conduit

Méthode : hide circle
La commande hide circle
permet de supprimer des éléments de syntaxe propre à certaines représentations objet, non utilisés en base de données.
Méthode : Notation des clés composées
class Employé {
nom : text
prénom : text
ddn : date
date_embauche : date
quotite : pourcentage
}
note left : (nom, prénom, ddn) unique
Atom et PlantUML
PlantUML peut-être intégré à Atom avec les plugin plantuml-viewer
et language-plantuml
.
apm install plantuml-viewer language-plantuml
Remarque : Positionnement vertical / horizontal
Notez la différence entre :
-
: à côté (un seul tiret)--
: en dessous (deux tirets ou plus)
L'ordre de déclaration des classes est pris en compte.
Complément : Ajustement de la longueur des associations avec PlantUML
Horizontal :
Classe1 - Classe2 : " Association "
(on ajoute des espaces)Vertical :
Classe1 ------ Classe2 : "Association"
(on ajoute des tirets)
Complément : Ajustement du positionnement avec PlantUML
L'usage d'association [hidden]
permet d'améliorer un peu la présentation d'un diagramme PlantUML (à utiliser avec parcimonie).
La bonne solution est plutôt l'usage de package.
@startuml
class Alice
class Bob
class Charlie
class Dan
class Eugene
class Foobar
Bob -[hidden] Alice : ré-ordonnancement
Alice -[hidden] Charlie : éloignement horizontal_______________________
Dan --[hidden] Eugene : positionnement vertical
Alice --------[hidden] Foobar : éloignement vertical
@enduml
Complément : Contournements pour exprimer des contraintes d'association avec PlantUML
Alice -- Bob : Assoc1
note right on link
{XOR}
end note
Alice -- Bob : Assoc2
Alice -- Bob : Assoc1....{XOR}....
Alice -- Bob : Assoc2
Alice -- Bob : Assoc1
Alice -- Bob : Assoc2
note "{XOR}" as N #white
(Alice,Bob) .. N
N .. (Alice,Bob)
Complément : Commentaires
Toute ligne qui commence par un '
est un commentaire, non interprété par le moteur.