Skip to:

Diagrammes de classe UML : Un guide complet
uml-class-diagram-tool-hero-xxl-sub-use-case

Diagrammes de classe UML : Un guide complet

uml-class-diagram-tool-hero-xxl-sub-use-case

Explication des diagrammes de classes UML

Lors de la construction d'une maison ou d'un bâtiment, les architectes et les ingénieurs élaborent un ensemble de plans afin de visualiser tous les aspects de la construction avant le début des travaux. Les diagrammes de classe du langage de modélisation unifié (UML) remplissent la même fonction qu'un plan, mais pour le développement de logiciels.

Tout comme vous ne construiriez pas une maison sans plan, ce n'est pas une bonne idée de construire un système sans diagramme UML lors de l'initiation et de la mise à jour. Les diagrammes de classes UML font partie d'une série de diagrammes UML qui visualisent différents aspects du développement, en utilisant tous le même langage pour faciliter l'interprétation.

Considérez ce guide comme votre aide-mémoire sur les diagrammes de classes UML. Découvrez les avantages de leur utilisation pour la conception, leur fonctionnement et la manière de créer un diagramme de classes UML.

Qu'est-ce qu'un diagramme de classes en UML ?

Les diagrammes de classes sont l'un des nombreux types de diagrammes de structure UML. Les diagrammes de structure montrent la structure statique d'un système, plutôt que de montrer comment un objet évolue dans le temps.

Les diagrammes de classes visualisent les classes d'un système et les relations entre elles.

Dans la conception orientée objet, les classes créent des objets et agissent sur eux. Les objets sont des instances de classes. Les classes sont donc des éléments critiques de haut niveau d'un système. Ils sont dérivés pendant la conception et sont utilisés pour la communication sur la conception ou les modifications de la conception.

Dans un diagramme de classes, les noms des classes sont les mêmes que ceux des objets, car l'objectif d'une classe est de définir les attributs et les opérations de chaque instance d'objet dans le système. Une classe est le plan d'un objet et un diagramme de classes est le plan statique du système.

Dans le domaine du développement logiciel, les diagrammes de classes UML n'existent pas en tant que tels. Ils dépendent des diagrammes de cas d'utilisation et sont étroitement liés aux diagrammes d'objets et de communication. Ensemble, tous les diagrammes UML modélisent, conceptualisent et documentent le fonctionnement d'un système avant, pendant et après sa mise en œuvre.

Qu'est-ce qu'une classe en UML ?

Une classe est un élément de modélisation qui définit les caractéristiques de l'objet qu'elle représente, y compris ses attributs et ses comportements.

Prenons l'exemple de la classe "Voiture". La "voiture" possède un ensemble d'attributs statiques, tels que la marque, le modèle, l'année et la couleur. La classe "Voiture" possède également des méthodes (ce que les voitures peuvent faire) telles que l'accélération, la décélération, l'arrêt et le démarrage. Puisqu'un objet est une instance de la classe : une telle instance d'objet peut être : Subaru, Forester, 2023, vert foncé. Dans cet exemple, les attributs de cette voiture sont la marque, le modèle, l'année et la couleur.

Quel est l'objectif des diagrammes de classes UML ?

Un diagramme de classes UML a deux objectifs principaux en tant que modèle statique d'un système orienté objet :

  • Pour visualiser les classes d'un système et leurs propriétés.

  • Montrer et analyser les relations entre les classes.

En outre, les diagrammes de classes UML constituent également la base des diagrammes de composants et de déploiement qui montrent les aspects matériels et logiciels d'un système.

Avantages des diagrammes de classes UML

Les diagrammes de classes UML sont des outils de modélisation pratiques pour construire une architecture logicielle. Avec d'autres diagrammes UML, les développeurs et les parties prenantes visualisent différentes vues d'un système. Ces diagrammes nous aident à comprendre comment le système fonctionne, comment il se comporte et comment ses parties sont liées.

La création de diagrammes de classes pendant la conception facilite le processus de développement en montrant clairement les classes, leurs attributs et leurs méthodes. Ils montrent également comment les classes sont liées les unes aux autres. Le fait de voir une version conceptuelle d'un système avant d'écrire le moindre code aide les développeurs à communiquer entre eux et avec les autres parties prenantes.

Les diagrammes de classes permettent également de modifier le système en montrant un schéma de l'ensemble de l'application. L'application de modifications ou d'ajouts à un diagramme de classes UML donne un aperçu des nouvelles classes et de l'impact des modifications sur les classes existantes.

Principaux éléments des diagrammes de classes UML

Les diagrammes de classes UML contiennent des classes et leurs interactions. Chaque classe est représentée dans un rectangle avec, de haut en bas, le nom de la classe, ses attributs et ses méthodes. Seul le nom de la classe est requis. Le niveau de détail nécessaire détermine si les attributs et les méthodes sont affichés.

Les interactions dans un diagramme de classes UML montrent les relations entre les classes à l'aide de lignes et de pointes de flèches. Les pointes de flèches ont des significations spécifiques pour différencier les types de relations. Ces relations comprennent l'héritage ainsi que les relations bidirectionnelles et unidirectionnelles. Les classes peuvent être regroupées en paquets de classes étroitement liées.

Notations des diagrammes de classes UML

La notation de base d'un diagramme de classes UML comprend les étiquettes des membres de la classe, leur visibilité (qui peut y accéder) et les éventuels paquets. Lorsque vous créez un modèle de classe UML, utilisez la police de caractères approuvée par l'application Web, Open Sans. En règle générale, les diagrammes de classes UML respectent des conventions de style telles que le camel case, où le deuxième mot et les suivants sont en majuscules, et où il n'y a pas d'espace entre les mots.

Classes

Un nom de classe reflète un nom d'objet ou d'entité. Le nom de la classe est placé au centre de la section supérieure, en gras et en majuscules. Dans le modèle, la section du nom de la classe est la seule section obligatoire dans une classe. Les deux autres sont facultatifs, en fonction de l'objectif et du point de vue du diagramme.

Attributs

La partie centrale du modèle comprend les attributs qui décrivent les caractéristiques statiques d'une classe qui s'appliqueront aux instances d'objets définies par cette classe. Imaginez que nous construisions un diagramme de classes pour visualiser le fonctionnement d'un distributeur automatique de billets. Les attributs de la classe DebitCard sont le numéro de carte et le propriétaire ; chaque instance a son propre numéro et son propre propriétaire.

Méthodes (opérations et comportements)

La troisième section du modèle de classe est ce que la classe "fait". Quelles sont les actions que l'instance d'objet pourra effectuer ? Dans la classe DebitCard, l'opération consisterait à donner un accès.

Visibilité

Les signes plus et moins indiquent si les attributs et les opérations d'une classe sont publics (visibles de partout dans le système) ou privés (visibles uniquement à l'intérieur de la classe). Le hashtag (signe dièse) indique une visibilité protégée.

Paquet

Un groupe de classes ou un groupe d'autres paquets sont visualisés comme des boîtes avec une étiquette. Le nom de l'emballage figure sur l'étiquette et prend une majuscule. Lorsque vous utilisez des paquets, les classes n'ont pas besoin d'avoir les trois sections en vue à tout moment.

Notations des relations dans les diagrammes de classes UML

Les modèles de diagramme de classes UML sont reliés visuellement à l'aide de lignes, de notations textuelles et de chiffres de multiplicité. La liste suivante couvre les notations de relations de base nécessaires à la création d'un diagramme de classes UML pour votre système.

Toutes les notations de relation, à l'exception de la réalisation, impliquent un nom écrit à côté de la ligne et du côté de la classe à laquelle elle se rapporte. Veillez à ce que la taille du texte soit équilibrée et que les lignes soient bien ordonnées afin d'obtenir un diagramme facile à lire.

Association

Une association relie deux classes par un lien logique, c'est la notation de relation la plus utilisée et elle ressemble à une ligne droite. Les associations sont intrinsèquement bilatérales, ce qui signifie que les deux classes associées savent que l'autre classe existe. Lorsque l'association est unilatérale, elle présente une pointe de flèche simple qui diffère de la flèche triangulaire d'héritage et de réalisation.

N-aire détermine les associations qui relient plus de deux modèles de classe. L'association N-aire suivante à l'association binaire est l'association ternaire. Ces notations sont des lignes reliées par un losange vide à la conjonction.

Agrégation et composition

L'agrégation et la composition sont des sous-ensembles de la relation d'association.

La relation d'agrégation relie les classes à l'aide d'une ligne droite et d'un losange creux à côté de la classe mère. Dans l'agrégation, les classes enfants existent indépendamment de la classe mère. Si la classe mère est supprimée, la classe enfant continue d'exister.

La composition est le contraire. Lorsque deux classes sont reliées par une notation de composition utilisant une ligne droite et un losange rempli, elles n'existent pas indépendamment l'une de l'autre. Lorsque la classe mère est supprimée, l'enfant l'est aussi.

Association réflexive

L'association réflexive est la seule association unilatérale disponible dans les diagrammes de classes. Elles sont constituées d'une ligne droite qui fait une boucle le long du modèle de classe. Leur but est de visualiser une relation entre une instance de classe et une autre instance de la même classe.

Héritage et généralisation

La notation d'héritage ou de généralisation permet de visualiser une relation entre des classes qui héritent de propriétés. Une relation d'héritage est représentée par une ligne droite et un triangle creux pointant vers la classe indépendante.

Dépendance

Les notations de dépendance sont visualisées à l'aide d'une ligne décalée et d'une simple flèche identifiant la direction de la relation. Comme dans la notation de l'héritage, la flèche pointe de la classe dépendante vers sa superclasse. Les modifications apportées à la superclasse entraîneront des changements dans la sous-classe.

Réalisation

Une relation de réalisation relie une classe qui réalise ou met en œuvre le comportement défini par une autre. Les modèles de cette relation sont appelés éléments du fournisseur et du client ou superclasse et sous-classe. Le fournisseur est la source et le client est l'élément de spécification. La notation de réalisation est visualisée par une ligne décalée et une forme de triangle creux.

Multiplicité

La notation de multiplicité est un ensemble de nombres placés à l'intersection d'une ligne de relation et d'un modèle de classe. La multiplicité des instances définit le nombre d'instances d'un objet qui participent à une relation. Les chiffres indiquent le nombre d'instances d'une classe qui sont liées à une instance d'une autre classe. Ils sont désignés comme suit :

  • 0..1 = Zéro ou un

  • 1 = Un seul

  • 0.. = Zéro ou plus

  • 1..* = Un ou plusieurs

  • 3 = Trois seulement

  • 0..5 = De zéro à cinq

  • 5..15 = Cinq à quinze

Création d'un diagramme de classes UML

Il est maintenant temps de créer votre propre diagramme de classes UML. Bien sûr, vous pouvez toujours faire un schéma à partir de zéro. Si vous êtes novice en matière de création de diagrammes UML, le mieux est d'utiliser un modèle préconçu avec toutes les formes de modèle et les options de notation. Miro dispose d'un modèle de diagramme de classes UML qui sert de base à tout diagramme de classes UML que vous devez réaliser.

À l'aide de Miro, ou d'un autre outil de diagramme, suivez ce tutoriel étape par étape pour créer un diagramme de classes personnalisé afin de conceptualiser et de modéliser visuellement un système.

Définir les classes

Pour définir ces objets/classes, écrivez un scénario d'utilisation pour votre système et extrayez les noms de l'énoncé. Un client introduit sa carte de débit dans le DAB et retire de l'argent. Les noms en gras sont les objets et, par conséquent, les classes.

Créez un modèle en trois parties pour chaque classe et ajoutez les noms dans la section supérieure. Vous pouvez accéder à des formes de classe prédéfinies dans Miro via l'onglet de diagramme situé à gauche. Construisez les modèles, mais ne connectez rien tant que vous n'avez pas toutes les classes.

Décrire les attributs de la classe

Dans le deuxième compartiment de chaque modèle de classe, ajoutez les attributs. Les attributs du modèle de classe DAB sont l'emplacement, l'identifiant de la machine et la banque qui la gère. Jusqu'à présent, la classe ATM avec la liste d'attributs ressemble à ceci :

ATM

+location : adresse

+machineId : entier

+managedBy : chaîne

Ajouter les méthodes de la classe (opérations)

Dans le troisième compartiment, ajoutez les opérations de chaque classe dans une liste, comme les attributs. Pour la classe DAB, une opération pourrait consister à lire la carte, à identifier une transaction et à demander un code PIN. Le modèle de classe ressemble maintenant à ceci :

ATM

+location : adresse

+machineId : entier

+managedBy : chaîne

+readsCard

+identifieTransaction

#Demande d'épingle

Visualiser les relations et la multiplicité

Disposez les tableaux de la classe sur votre tableau Miro pour commencer à les associer et à visualiser les relations. Choisissez le type de ligne que vous souhaitez dans le panneau des objets et sélectionnez le style et la terminaison de la ligne en fonction de la relation.

Ajoutez les rôles et les chiffres de multiplicité le long des lignes en cliquant sur le bouton +T dans le menu des objets. Ajustez leur position et leur taille en conséquence.

Maintenez-le en vie

Les diagrammes de classes UML ne sont pas des cartes gravées dans la pierre - ce sont des mécanismes vivants qui vous aident à visualiser un système à tout moment, de l'initiation à la mise en œuvre et au-delà. Lorsque vous créez un diagramme de classes UML avec Miro, vous pouvez toujours y revenir et réviser les changements avant de modifier le code du système.

Débutez votre nouveau projet en quelques secondes

Rejoignez les milliers d'équipes qui utilisent Miro pour accomplir le meilleur travail possible.