Diagram Illustration

Sommaire

Les diagrammes de classes sont l'un des types de diagrammes UML les plus utiles, car ils décrivent clairement la structure d’un système particulier en modélisant ses classes, ses attributs, ses opérations et les relations entre ses objets. Avec notre logiciel de diagrammes UML, créer de tels diagrammes n’est pas aussi difficile qu'il n'y paraît. Ce guide vous montrera comment comprendre, planifier et créer vos propres diagrammes de classes.

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

Le langage de modélisation unifié (UML) peut vous aider à modéliser des systèmes de plusieurs façons. Le diagramme de classes est l'un des types les plus populaires en langage UML. Très utilisé par les ingénieurs logiciel pour documenter l'architecture des logiciels, 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 modélisé. Quel que soit votre degré de familiarité avec les diagrammes UML ou les diagrammes de classes, notre logiciel UML est conçu pour être simple à utiliser.

Le langage UML a été créé sous forme de 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 divers éléments d'un diagramme de classes peuvent représenter les classes qui seront effectivement programmées, les principaux objets ou les interactions entre classes et objets. 

La forme de la classe à proprement parler se compose d'un rectangle à trois lignes. La ligne supérieure contient le nom de la classe, celle du milieu affiche les attributs de la classe et la ligne inférieure exprime les méthodes ou les opérations que la classe est susceptible d'utiliser. 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 de diagramme UML.

Bibliothèque de formes UML

Avantages des diagrammes de classes

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

  • Illustrer des modèles de données pour des systèmes d’information, quel que soit leur degré de complexité.
  • Mieux comprendre l’aperçu général des schémas d’une application.
  • Exprimer visuellement 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 spécifique qui doit être programmé et mis en œuvre dans la structure décrite.
  • Fournir une description indépendante de l'implémentation des types utilisés dans un système, qui sont ensuite transmis entre ses composants.

Composants de base d’un diagramme de classes

Le diagramme de classes standard est composé de trois sections :

  • Section supérieure : contient le nom de la classe. Cette section est toujours nécessaire, que vous parliez du classifieur ou d'un objet.
  • Section intermédiaire : contient les attributs de la classe. Utilisez-la pour décrire 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 : contient les 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 interagit avec les données.

Modificateurs 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ées 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.

Autres 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 ou les classes à programmer. Pour répondre à la question « Qu'est-ce qu'un diagramme de classes UML ? », il vous faut d'abord comprendre sa structure de base.

  • Classes : modèle pour créer des objets et mettre en œuvre un comportement dans un système. En langage UML, une classe représente un objet ou un ensemble d'objets possédant une structure et un comportement communs. On les représente par un rectangle comprenant des lignes pour le nom de la classe, ses attributs et ses opérations. Lorsque vous dessinez une classe dans un diagramme de classes, seule la ligne supérieure est obligatoire, les 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 occupant une ligne différente.

  • 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 : formes conçues pour organiser les classifieurs connexes d'un diagramme. On les symbolise par une grande forme rectangulaire à onglets.

  • Interfaces : groupe de signatures d'opération et/ou de définitions d'attributs définissant un ensemble cohérent de comportements. Les interfaces sont semblables à des classes, 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 ou plusieurs classes. On peut ajouter des objets à un diagramme de classes pour représenter des 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

Le terme « interactions » désigne les relations et liens divers qui peuvent exister dans les diagrammes de classes et d'objets. Voici quelques-unes des 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.

interaction d'héritage d'un diagramme de classes

Dans cet exemple, l'objet « Voiture » hériterait de tous les attributs (vitesse, nombre de passagers, carburant) et méthodes (rouler(), s'arrêter(), changerDeDirection()) de la classe parent (« Véhicule »), en plus de ses attributs spécifiques (type de modèle, nombre de portes, constructeur) et des méthodes de sa propre classe (Radio(), essuie-glace(), climatisation/chauffage()). 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.

  • Association bidirectionnelle : relation par défaut entre deux classes. Chacune des deux classes a conscience de l'existence de l'autre et de sa relation avec elle. Cette association est représentée par une ligne droite entre deux classes.

association bidirectionnelle de diagramme de classes

Dans l'exemple ci-dessus, la classe Voiture et la classe RoadTrip sont interdépendantes. À une extrémité de la ligne, la Voiture 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 Voiture. 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 Voitures. Puisqu'une instance de Voiture pourrait être associée à plusieurs « obtenirRoadTrip » – en d'autres termes, une voiture pourrait effectuer plusieurs road trips – la valeur de multiplicité est de 0..*

  • 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 ».

association unidirectionnelle de diagramme de classes

Par exemple, lors de votre road trip à travers l'Arizona, vous pourriez tomber sur un contrôle lors duquel un radar enregistrerait votre vitesse, mais vous n'en sauriez rien jusqu'à réception d'une 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.

Exemples de diagrammes de classes

Il est facile de créer un diagramme de classes pour cartographier des schémas de procédés. Examinez les deux exemples ci-dessous lorsque vous créez vos propres diagrammes de classes en langage UML.

Diagramme de classes d'un système de gestion hôtelière

Un diagramme de classes peut montrer les relations entre chaque objet dans un système de gestion hôtelière, y compris les informations des clients, les tâches du personnel et l'occupation des chambres. L’exemple ci-dessous donne un aperçu utile du système de gestion hôtelière. Créez votre propre un diagramme de classes en cliquant sur le modèle ci-dessous.

modèle de diagramme de classes pour la gestion hôtelièreCliquez ici pour utiliser ce modèle

Diagramme de classes d'un système de DAB

Les distributeurs automatiques de billets (DAB) sont d’une simplicité trompeuse : même s'il suffit aux clients d'appuyer sur quelques boutons pour obtenir de l’argent, un DAB sécurisé et efficace doit traverser de nombreuses couches de sécurité pour éviter les fraudes et offrir une réelle valeur ajoutée aux clients de la banque. Les différentes parties humaines et inanimées d’un système de DAB sont illustrées par ce diagramme facile à lire, dans lequel chaque classe possède son titre, et où les attributs sont répertoriés au-dessous. Vous pouvez modifier, enregistrer et partager ce schéma en ouvrant le document et en créant un compte gratuit sur Lucidchart.

modèle de diagramme de classes pour système de DAB

Cliquez ici pour utiliser ce modèle

Comment créer un diagramme de classes

Dans Lucidchart, la création d'un diagramme de classes en partant de zéro est étonnamment simple. Il vous suffit de suivre les étapes ci-dessous :

  1. Ouvrez un document vierge ou démarrez avec un modèle.

  2. Activez la bibliothèque de formes UML. Sur la gauche de l’éditeur Lucidchart, cliquez sur « Formes ». Une fois dans le Gestionnaire de bibliothèques de formes, cochez « UML » et cliquez sur « Enregistrer ».

  3. Dans les bibliothèques que vous venez d’ajouter, sélectionnez la forme souhaitée et faites-la glisser de la boîte à outils vers la zone de travail.

  4. Modélisez le schéma de procédé en dessinant des lignes entre les formes tout en ajoutant du texte.

Plongez-vous dans ce guide qui explique comment dessiner un diagramme de classes en langage UML pour en savoir plus. Dans Lucidchart, il est facile de redimensionner un élément et de lui appliquer un style. Vous pouvez même importer des formes SVG et des fichiers Visio pour personnaliser votre solution. Si vous souhaitez en savoir plus sur le langage UML, consultez notre tutoriel « Qu'est-ce que le langage UML ? »