Tutoriel sur les diagrammes de classes

Les diagrammes de classes sont plus simples qu'il n'y paraît. Ce sont tout simplement des diagrammes qui décrivent la structure d'un système en modélisant ses classes, attributs, opérations et relations entre objets.

Pour créer votre propre diagramme de classes, cliquez sur les boutons ci-dessous. Lucidchart est un outil gratuit et facile à utiliser. Il vous permet par ailleurs de collaborer avec un nombre illimité de collègues !


Qu'est-ce qu'un diagramme de classes dans le langage UML ?

Le langage de modélisation unifié (UML) peut vous aider à modéliser divers sous-ensembles de diagrammes, dont les diagrammes comportementaux, d'interaction et de structure. Les diagrammes de classes sont un type de diagramme de structure, car ils décrivent ce qui doit être présent dans le système en cours de modélisation. Ce sont en général les ingénieurs qui les utilisent pour documenter l'architecture d'un logiciel.

L'UML est basé sur un diagramme de classes. Ce type de diagramme représente les objectifs fondamentaux de l'UML, car il sépare les éléments de conception du codage du système. Le langage UML a été créé comme un modèle standardisé pour décrire une approche de la programmation orientée objet. Comme les classes sont les composantes des objets, les diagrammes de classes sont les composantes de l'UML. Les éléments de la schématisation d'un diagramme de classes peuvent représenter les classes qui seront effectivement programmées, les principaux objets ou l'interaction entre classe et objet.

La forme de la classe à proprement parler se compose d'un rectangle à trois lignes. La ligne supérieure contient le nom de la classe, la ligne du milieu les attributs de la classe et la ligne inférieure les méthodes ou opérations que la classe peut utiliser. Dans un diagramme, les classes et sous-classes sont regroupées pour illustrer la relation statique entre chaque objet. La bibliothèque de formes UML de Lucidchart peut vous aider à créer quasiment n'importe quel diagramme de classes personnalisé à l'aide de notre outil pour diagrammes UML.

Qu'est-ce qu'un diagramme de classes dans le langage UML ?

Notions de base des diagrammes de classes

Classe - Structure du diagramme

Le diagramme de classes est composé de trois parties :

  • Section supérieure - Nom de la classe : cette section est toujours nécessaire, que vous parliez du classifieur ou d'un objet.
  • Section intermédiaire - Attributs de la classe : les attributs représentent les variables qui décrivent les qualités de la classe. Elle n'est nécessaire que lors de la description d'une instance spécifique d'une classe.
  • Section inférieure - Opérations de la classe (méthodes) : affichées sous forme de liste, chaque opération occupe sa propre ligne. Les opérations décrivent la manière dont une classe peut interagir avec des données.

Modificateur d'accès des membres

Toutes les classes ont des niveaux d'accès différents en fonction du modificateur d'accès (indicateur de visibilité). Voici les niveaux d'accès existants et les symboles qui leur sont associés :

  • Public (+)
  • Privé (-)
  • Protégé (#)
  • Paquetage (~)
  • Dérivé (/)
  • Statique (souligné)

Portée des membres

Il existe deux portées pour les membres : les classifieurs et les instances. Les classifieurs sont des membres statiques alors que les instances sont des instances spécifiques de la classe. Si les bases de la théorie orientée objet vous sont familières, alors il n'y a rien de révolutionnaire dans tout cela.


Interactions objet/classe dans les diagrammes de classes

Les interactions entre les objets et les classes font partie intégrante des diagrammes de classes.

Héritage

L'héritage correspond au mécanisme par lequel un objet enfant reprend toutes les caractéristiques de son objet parent. Par exemple, si nous avions l'objet véhicule, une classe enfant Go-go mobile hériterait de tous les attributs (vitesse, nombre de passagers, carburant) et méthodes (rouler(), s'arrêter(), changerDeDirection()) de la classe parent, tout en disposant des attributs (typeDeModèle, nombre de portes, constructeur) et des méthodes (Radio(), essuie-glace(), climatisation/chauffage()) spécifiques à sa propre classe. Dans un diagramme de classes, on représente l'héritage par une ligne pleine terminée par une flèche creuse et fermée.

Associations bidirectionnelles

Les associations bidirectionnelles sont les associations par défaut entre deux classes et sont représentées par une ligne droite qui les relie. Les deux classes ont conscience de l'existence de l'autre et de la relation qui les unit. Dans l'exemple ci-dessus, la classe Go-go mobile et la classe RoadTrip sont interdépendantes. À une extrémité de la ligne, la classe Go-go mobile accepte l'association de « voitureAttribuée » avec la valeur de multiplicité de 0..1, ce qui signifie que lorsque l'instance RoadTrip existe, elle peut être associée à 1 ou 0 instance de la classe Go-go mobile. Dans le cas présent, une classe Caravane distincte avec une valeur de multiplicité de 0.. * est nécessaire pour démontrer qu'un RoadTrip pourrait être associé à plusieurs instances de la classe Go-go mobile. Puisqu'une instance de la classe Go-go mobile pourrait être associée à plusieurs « obtenirRoadTrip »– en d'autres termes, une Go-go mobile pourrait faire plusieurs road trips – la valeur de multiplicité est de 0.. *

Association unidirectionnelle

Une association unidirectionnelle est représentée par une ligne ininterrompue avec une pointe de flèche allant de la classe « sachante » vers la classe « connue ». Dans le cas présent, lors de votre road trip à travers l'Arizona, vous pourriez tomber sur un contrôle où un radar enregistrerait votre vitesse, mais vous n'en sauriez rien jusqu'à réception de la notification par courrier. Cela n'est pas représenté sur l'image, mais dans ce cas, la valeur de multiplicité serait 0.. * en fonction du nombre de fois où vous passeriez devant le radar.


Applications des diagrammes de classes

Les diagrammes de classes présentent plusieurs avantages pour n'importe quel type d'organisation. Essayez de les utiliser pour :

  • Illustrer des modèles de données pour des systèmes d'information
  • Comprendre l'aperçu général des schémas d'une application
  • Exprimer les besoins d'un système et diffuser cette information dans toute l'entreprise
  • Créer des schémas détaillés qui mettent l'accent sur le code de programmation nécessaire pour mettre en œuvre la structure décrite
  • Fournir une description indépendante de la mise en œuvre des types utilisés dans un système et transmis entre ses composants

Composants d'un diagramme de classes

Selon le contexte, les classes d'un diagramme de classes peuvent représenter les principaux objets, les interactions dans l'application et les classes à programmer. Pour répondre à la question « Qu'est-ce qu'un diagramme de classes UML ? », il vous faut d'abord comprendre sa constitution de base.

  • Classes : modèles de création d'objets et de mise en œuvre d'un comportement dans un système. En langage UML, une classe représente un objet ou un ensemble d'objets qui partagent une structure et un comportement communs. On les représente par un rectangle qui comprend une ligne pour le nom de la classe, ses attributs et ses opérations. Lorsque vous dessinez un diagramme de classe, seule la ligne supérieure est obligatoire, les deux autres sont facultatives et ne servent qu'à fournir des détails supplémentaires.
    • Nom : première ligne d'une forme de classe.
    • Attributs : deuxième ligne d'une forme de classe. Chaque attribut de la classe apparaît sur une ligne distincte.
    • Méthodes : troisième ligne d'une forme de classe. On les appelle aussi opérations ; elles apparaissent sous forme de liste, chaque opération ayant sa propre ligne.
  • Signaux : symboles qui représentent les communications à sens unique et asynchrones entre des objets actifs.
  • Types de données : classifieurs qui définissent des valeurs de données. Les types de données peuvent modéliser les types primitifs et les énumérations.
  • Paquetages : cette forme de conteneur est conçue pour organiser les classifieurs connexes d'un diagramme. Leur symbole est une grande forme rectangulaire à onglets.
  • Interfaces : similaire à une classe, sauf qu'une classe peut avoir une instance de son type et qu'une interface doit compter au moins une classe pour la mettre en œuvre.
  • Énumérations : représentations de types de données définis par l'utilisateur. Une énumération comprend des groupes d'identificateurs qui représentent des valeurs de l'énumération.
  • Objets : instances d'une classe ou de plusieurs classes. Des objets peuvent être ajoutés à un diagramme de classes lors de la représentation d'instances concrètes ou prototypiques.
  • Artefacts : éléments du modèle qui représentent les entités concrètes d'un système logiciel, tels que des documents, des bases de données, des fichiers exécutables, des composants logiciels, etc.
  • Interactions : terme désignant les différentes relations et les différents liens qui peuvent exister dans les diagrammes de classes et d'objets. Parmi les interactions les plus courantes :
    • Héritage : également connu sous le nom de généralisation, il s'agit du processus par lequel un enfant ou une sous-classe adopte la fonctionnalité d'un parent ou d'une super-classe. On le symbolise par une ligne de connexion droite avec une pointe de flèche fermée orientée vers la super-classe.
    • Association bidirectionnelle : relation par défaut entre deux classes ; les deux classes ont conscience de leur existence et de leur relation. Cette association est représentée par une ligne droite entre deux classes.
    • Association unidirectionnelle : relation un peu moins courante entre deux classes ; une classe a conscience de l'existence de l'autre et interagit avec elle. Une association unidirectionnelle est représentée par une ligne de connexion droite avec une pointe de flèche ouverte allant de la classe « sachante » vers la classe « connue ».
    Qu'est-ce qu'un diagramme de classes dans le langage UML ?

Autres exemples de diagrammes de classes UML

Collaborez et créez des diagrammes UML avec Lucidchart en ouvrant un compte gratuitement dès aujourd'hui ! Ni téléchargements ni plugins requis.

Inscrivez-vous