Diagrammes de classes

Les diagrammes de classes sont le type de diagramme UML le plus courant, utilisés pour modéliser la structure statique d'un système en montrant les classes, leurs attributs, opérations et relations.

Créer des classes

Utiliser l'outil Classe

Appuyez sur A ou C pour activer l'outil Classe, puis cliquez n'importe où sur le canevas pour placer une nouvelle boîte de classe.

Canevas vide avec l'outil Classe

Structure de la boîte de classe

Une boîte de classe UML se compose de trois compartiments :

  1. Compartiment du nom - Contient le nom de la classe et le stéréotype optionnel
  2. Compartiment des attributs - Liste les propriétés/champs de la classe
  3. Compartiment des opérations - Liste les méthodes/fonctions de la classe

Structure de la boîte de classe

Propriétés de la classe

Sélectionnez une classe et utilisez le panneau Inspecteur pour configurer ses propriétés :

Nom

Le nom de la classe apparaît en gras dans le compartiment supérieur. La convention utilise le PascalCase (par ex., CustomerOrder).

Stéréotype

Classificateur optionnel qui apparaît au-dessus du nom de la classe entre guillemets :

  • <<interface>> - Pour les définitions d'interface
  • <<abstract>> - Pour les classes abstraites
  • <<enumeration>> - Pour les types enum
  • <<entity>> - Pour les entités de domaine
  • Les stéréotypes personnalisés sont également pris en charge

Abstrait

Activez pour afficher le nom de la classe en italique, indiquant une classe abstraite.

Inspecteur de classe

Attributs

Les attributs représentent les données/propriétés d'une classe.

Ajouter des attributs

  1. Sélectionnez la classe
  2. Dans l'Inspecteur, trouvez la section Attributs
  3. Cliquez sur le bouton + pour ajouter un nouvel attribut
  4. Saisissez les détails de l'attribut

Syntaxe des attributs

Les attributs suivent ce format : visibilité nom : type

Modificateurs de visibilité :

SymboleSignificationDescription
+PublicAccessible depuis n'importe où
-PrivéAccessible uniquement au sein de la classe
#ProtégéAccessible au sein de la classe et des sous-classes
~PaquetageAccessible au sein du même paquetage

Exemples :

  • -id: Int - Identifiant entier privé
  • +name: String - Nom chaîne publique
  • #createdAt: Date - Champ date protégé
  • ~cache: Map<String, Any> - Cache privé au paquetage

Opérations

Les opérations représentent le comportement/les méthodes d'une classe.

Ajouter des opérations

  1. Sélectionnez la classe
  2. Dans l'Inspecteur, trouvez la section Opérations
  3. Cliquez sur le bouton + pour ajouter une nouvelle opération
  4. Saisissez les détails de l'opération

Syntaxe des opérations

Les opérations suivent ce format : visibilité nom(paramètres) : typeRetour

Exemples :

  • +getName(): String - Accesseur public retournant une String
  • -validate(input: String): Boolean - Méthode de validation privée
  • +process(data: Data, options: Options): Result - Méthode avec plusieurs paramètres
  • +save(): void - Méthode sans valeur de retour

Relations

Appuyez sur R pour activer l'outil Relation, puis faites glisser d'une classe à une autre pour créer une connexion.

Types de relations

TypeStyle de ligneFlècheCas d'utilisation
AssociationLigne pleineFlèche ouverteRelation générale
DépendanceLigne en pointillésFlèche ouverteRelation « utilise »
HéritageLigne pleineTriangle creuxRelation « est un » (extends)
RéalisationLigne en pointillésTriangle creuxImplémentation d'interface
AgrégationLigne pleineLosange creux« A un » (propriété faible)
CompositionLigne pleineLosange plein« A un » (propriété forte)

Relations de classes

Créer des relations

  1. Appuyez sur R pour activer l'outil Relation
  2. Cliquez sur la classe source
  3. Faites glisser vers la classe cible
  4. Relâchez pour créer la connexion
  5. Utilisez l'Inspecteur pour changer le type de relation et les pointes de flèches

Étiquettes de relation

Double-cliquez sur une ligne de relation pour ajouter des étiquettes :

  • Nom - Décrit la relation (par ex., « gère », « contient »)
  • Multiplicité - Indique le nombre d'instances (par ex., « 1 », « 0..* », « 1..n »)
  • Noms de rôle - Étiquettes à chaque extrémité décrivant le rôle

Bonnes pratiques

  1. Restez simple - N'essayez pas de tout modéliser ; concentrez-vous sur les classes clés
  2. Utilisez les stéréotypes - Marquez clairement les interfaces et les classes abstraites
  3. Montrez les relations clés - Chaque association n'a pas besoin d'être montrée
  4. Nommage cohérent - Utilisez le PascalCase pour les classes, le camelCase pour les membres
  5. Regroupez les classes liées - Utilisez la proximité visuelle pour montrer les regroupements logiques