Le langage de modélisation unifié est un langage de modélisation standardisé à usage général et est aujourd’hui géré comme une norme industrielle de facto par l’ Object Management Group (OMG) . UML comprend un ensemble de techniques de notation graphique pour créer des modèles visuels pour les systèmes à logiciel intensif.
Dans UML 2.2, il existe 14 types de diagrammes UML, qui sont divisés en deux catégories :
- 7 types de diagrammes représentent des informations structurelles
- Sept autres représentent des types de diagrammes UML généraux pour la modélisation comportementale, dont quatre qui représentent différents aspects des interactions.
Ces diagrammes peuvent être classés hiérarchiquement comme indiqué dans la carte de diagrammes UML suivante :
Question : UML est énorme et complexe ?
UML est vraiment un sujet énorme. UML fournit un grand volume de notation de diagrammes regroupés en 14 types de diagrammes UML différents, chacun avec des modèles UML différents, servant des objectifs différents et répondant à différents aspects des besoins de développement.
- Chaque diagramme UML des 14 types de diagrammes UML fournit un large ensemble de constructions et de notations qui couvrent différents besoins pour la plupart des projets de développement de logiciels.
- La spécification UML compte plus de 700 pages, et est clairement considérée comme trop complexe et a un impact négatif sur la perception et l’adoption d’UML.
- En règle générale, les utilisateurs ont tendance à ne considérer et à n’utiliser qu’une partie de ses diagrammes/constructions d’UML.
Réponse : Apprenez les diagrammes et la notation UML les plus essentiels
Grady Booch, l’un des plus importants développeurs du langage de modélisation unifié, a déclaré que « pour 80 % de tous les logiciels, seuls 20 % d’UML sont nécessaires ».
Qu’est-ce que les états UML Survey* ?
On pourrait interpréter les résultats de l’enquête UML en supposant que, si un diagramme est
- largement utilisé, s’il ≥ 60% des sources
- peu utilisé si c’est ≤ 40% des sources
Dans cet article, je présente les 14 types de diagrammes UML selon l’ordre de leur fréquence d’utilisation mentionné ci-dessus :
Par exemple, le diagramme de classes est le plus largement utilisé, il sera donc abordé en premier dans cette section et ainsi de suite…
Diagramme de classe
En génie logiciel, un diagramme de classes dans le langage de modélisation unifié (UML) est un type de diagramme de structure statique qui décrit la structure d’un système en montrant les classes du système, leurs attributs, opérations (ou méthodes) et les relations entre les objets.
Objectif des diagrammes de classes
- Affiche la structure statique des classificateurs dans un système
- Le diagramme fournit une notation de base pour les autres diagrammes de structure prescrits par UML
- Utile également pour les développeurs et les autres membres de l’équipe
- Les analystes métier peuvent utiliser des diagrammes de classes pour modéliser des systèmes d’un point de vue métier
Un diagramme de classes UML est composé de :
- Un ensemble de classes et
- Un ensemble de relations entre les classes
Diagramme de classes – Exemple d’outil de diagramme
Un diagramme de classes peut également avoir des notes attachées aux classes ou aux relations. Les notes sont affichées en gris.
Dans l’exemple ci-dessus :
Nous pouvons interpréter la signification du diagramme de classes ci-dessus en lisant les points comme suit.
- Shape est une classe abstraite. Il est indiqué en italique.
- La forme est une super-classe. Cercle, Rectangle et Polygone sont dérivés de Forme. En d’autres termes, un cercle est une forme. Il s’agit d’une relation généralisation/héritage.
- Il existe une association entre DialogBox et DataController.
- La forme fait partie de Window. Il s’agit d’une relation d’agrégation. La forme peut exister sans fenêtre.
- Point fait partie de Circle. Il s’agit d’une relation de composition. Point ne peut pas exister sans cercle.
- La fenêtre dépend de l’événement. Cependant, Event ne dépend pas de Window.
- Les attributs du cercle sont le rayon et le centre. Il s’agit d’une classe d’entités.
- Les noms de méthode de Circle sont area(), circum(), setCenter() et setRadius().
- Le paramètre radius dans Circle est un paramètre in de type float.
- La méthode area() de la classe Circle renvoie une valeur de type double.
- Les attributs et les noms de méthodes de Rectangle sont masqués. Certaines autres classes du diagramme ont également leurs attributs et leurs noms de méthode masqués.
Le deuxième type de diagramme le plus populaire dans UML est le diagramme d’activité :
Diagramme d’activité
Le diagramme d’activité est un autre diagramme de comportement important dans le diagramme UML pour décrire les aspects dynamiques du système. Le diagramme d’activité est essentiellement une version avancée de l’organigramme qui modélise le flux d’une activité à une autre activité.
Quand utiliser le diagramme d’activité
Les diagrammes d’activité décrivent comment les activités sont coordonnées pour fournir un service qui peut se situer à différents niveaux d’abstraction. En règle générale, un événement doit être réalisé par certaines opérations, en particulier lorsque l’opération est destinée à réaliser un certain nombre de choses différentes qui nécessitent une coordination, ou comment les événements dans un cas d’utilisation unique sont liés les uns aux autres, en particulier, les cas d’utilisation où les activités peuvent se chevaucher et nécessiter une coordination. Il convient également à la modélisation de la manière dont une collection de cas d’utilisation se coordonne pour représenter les flux de travail métier
- Identifier les cas d’utilisation candidats, grâce à l’examen des flux de travail de l’entreprise
- Identifier les conditions préalables et postérieures (le contexte) pour les cas d’utilisation
- Modélisez les flux de travail entre/au sein des cas d’utilisation
- Modélisez des workflows complexes dans des opérations sur des objets
- Modélisez en détail des activités complexes dans un diagramme d’activité de haut niveau
Diagramme d’activité — Apprendre par des exemples
Un diagramme d’activité de base – un organigramme comme
Exemple de diagramme d’activité — Ordre de processus
Compte tenu de la description du problème lié au workflow de traitement d’une commande, modélisons la description en représentation visuelle à l’aide d’un diagramme d’activité :
Ordre de traitement — Description du problème
Une fois la commande reçue, les activités se divisent en deux ensembles parallèles d’activités. Un côté remplit et envoie la commande tandis que l’autre s’occupe de la facturation.
Du côté de l’exécution de la commande, la méthode de livraison est décidée conditionnellement. Selon la condition, l’activité de livraison de nuit ou l’activité de livraison régulière est effectuée.
Enfin, les activités parallèles se combinent pour clôturer la commande.
L’exemple de diagramme d’activité ci-dessous visualise le flux sous forme graphique.
Le troisième type de diagramme UML le plus utilisé est le diagramme de séquence :
Diagramme de séquençage
Les diagrammes de séquence UML sont des diagrammes d’interaction qui détaillent la façon dont les opérations sont effectuées. Ils capturent l’interaction entre les objets dans le cadre d’une collaboration. Les diagrammes de séquence sont centrés sur le temps et ils montrent visuellement l’ordre de l’interaction en utilisant l’axe vertical du diagramme pour représenter le temps, quels messages sont envoyés et quand.
Exemple de diagramme de séquence : système hôtelier
Le diagramme de séquence est un diagramme d’interaction qui détaille comment les opérations sont effectuées – quels messages sont envoyés et quand. Les diagrammes de séquence sont organisés en fonction du temps. Le temps avance au fur et à mesure que vous descendez la page. Les objets impliqués dans l’opération sont listés de gauche à droite selon le moment où ils participent à la séquence de messages.
Vous trouverez ci-dessous un diagramme de séquence pour effectuer une réservation d’hôtel. L’objet initiant la séquence de messages est une fenêtre de réservation.
Notez que : les diagrammes de classes et d’objets sont des vues de modèle statiques. Les diagrammes d’interaction sont dynamiques. Ils décrivent comment les objets collaborent.
Les quatrièmes types de diagramme UML les plus utilisés (96 %) sont :
- diagramme de cas d’utilisation
- diagramme de machine d’état
Diagramme de cas d’utilisation
Un diagramme de cas d’utilisation UML est la principale forme d’exigences système/logiciel pour un nouveau programme logiciel sous-développé. Les cas d’utilisation spécifient le comportement attendu (quoi), et non la méthode exacte pour y parvenir (comment).
Les cas d’utilisation une fois spécifiés peuvent être désignés à la fois par une représentation textuelle et visuelle (c’est-à-dire un diagramme de cas d’utilisation). Un concept clé de la modélisation des cas d’utilisation est qu’elle nous aide à concevoir un système du point de vue de l’utilisateur final. Il s’agit d’une technique efficace pour communiquer le comportement du système dans les termes de l’utilisateur en spécifiant tous les comportements du système visibles de l’extérieur.
Diagramme de cas d’utilisation en un coup d’œil
Une forme standard de diagramme de cas d’utilisation est définie dans le langage de modélisation unifié, comme indiqué dans l’exemple de diagramme de cas d’utilisation ci-dessous :
Diagramme de cas d’utilisation — Systèmes de vente de véhicules
La figure ci-dessous montre un exemple de diagramme de cas d’utilisation pour un système de véhicule. Comme vous pouvez le voir, même un système aussi grand qu’un système de vente de véhicules ne contient pas plus de 10 cas d’utilisation ! C’est la beauté de la modélisation des cas d’utilisation.
Le modèle de cas d’utilisation montre également l’utilisation de extend et include. En outre, il existe des associations qui relient les acteurs et les cas d’utilisation.
Diagramme d’état
Le comportement d’une entité n’est pas seulement une conséquence directe de ses entrées, mais il dépend également de son état précédent. L’histoire passée d’une entité peut être modélisée au mieux par un diagramme de machine à états finis ou traditionnellement appelé automates.
Les diagrammes de machine d’état UML (ou parfois appelés diagramme d’état, machine d’état ou diagramme d’état) montrent les différents états d’une entité. Les diagrammes de machine d’état peuvent également montrer comment une entité répond à divers événements en passant d’un état à un autre. Le diagramme de machine d’état est un diagramme UML utilisé pour modéliser la nature dynamique d’un système.
Notation de diagramme de machine d’état simple
Un état simple est un état qui n’a pas de sous-structure. Un état qui a des sous-états (états imbriqués) est appelé un état composite. Les sous-états peuvent être imbriqués à n’importe quel niveau. Une machine à états imbriquée peut avoir au plus un état initial et un état final. Les sous-états sont utilisés pour simplifier les machines à états plates complexes en montrant que certains états ne sont possibles que dans un contexte particulier (l’état englobant).
Exemple de sous-état — réchauffeur
États de l’historique
Sauf indication contraire, lorsqu’une transition entre dans un état composite, l’action de la machine à états imbriquée recommence à l’état initial (sauf si la transition cible directement un sous-état). Les états d’historique permettent à la machine d’état de réintégrer le dernier sous-état qui était actif avant de quitter l’état composite. Un exemple d’utilisation de l’état de l’historique est présenté dans la figure ci-dessous.
L’utilisation du diagramme de communication est de 82 % selon l’enquête :
Diagramme de communication
Les diagrammes de communication UML , comme les diagrammes de séquence - une sorte de diagramme d’interaction, montrent comment les objets interagissent. Un diagramme de communication est une extension du diagramme d’objets qui montre les objets ainsi que les messages qui voyagent de l’un à l’autre. En plus des associations entre objets, le diagramme de communication montre les messages que les objets s’envoient.
Diagramme de communication en un coup d’œil
Dans l’exemple de la notation d’un schéma de communication, les objets (acteurs dans les cas d’utilisation) sont représentés par des rectangles. Dans l’exemple (schéma de communication générique):
- Les objets sont Objet1, Objet2, Objet…, ObjetN-1 … et ObjetN.
- Les messages transmis entre les objets sont représentés par des flèches étiquetées qui commencent par l’objet émetteur (acteur) et se terminent par l’objet récepteur.
- Les exemples de messages transmis entre les objets sont étiquetés 1 : message1, 2 : message2, 3 : message3, etc., où le préfixe numérique du nom du message indique son ordre dans la séquence.
- L’Objet1 envoie d’abord à l’Objet2 le message message1, l’Objet2 envoie à son tour à l’ObjetN-1 le message message2, et ainsi de suite.
- Les messages que les objets s’envoient à eux-mêmes sont indiqués comme des boucles (par exemple, message message5).
Diagramme de communication vs diagramme de séquence
Le diagramme de communication et le diagramme de séquence sont similaires. Ils sont sémantiquement équivalents, c’est-à-dire qu’ils présentent les mêmes informations, et vous pouvez transformer une communication en diagramme de séquence et vice versa. La principale distinction entre eux est que le diagramme de communication organise les éléments selon l’espace, le diagramme de séquence selon le temps.
Des deux types de diagrammes d’interaction, les diagrammes de séquence semblent être beaucoup plus utilisés que les diagrammes de communication. Alors, pourquoi utiliseriez-vous des diagrammes de communication ? Tout d’abord, ils sont très utiles pour visualiser la relation entre des objets collaborant pour effectuer une tâche particulière. Ceci est difficile à déterminer à partir d’un diagramme de séquence. De plus, les diagrammes de communication peuvent également vous aider à déterminer la précision de votre modèle statique (c’est-à-dire les diagrammes de classes).
Les utilisations du diagramme de composants et du diagramme de déploiement sont de 80 % :
Diagramme des composants
Les diagrammes de composants UML sont utilisés pour modéliser les aspects physiques des systèmes orientés objet qui sont utilisés pour visualiser, spécifier et documenter les systèmes à base de composants, ainsi que pour construire des systèmes exécutables par ingénierie directe et inverse.
Les diagrammes de composants sont essentiellement des diagrammes de classes qui se concentrent sur les composants d’un système souvent utilisés pour modéliser la vue d’implémentation statique d’un système.
Schéma des composants en un coup d’œil
Un diagramme de composants décompose le système réel en cours de développement en différents niveaux de fonctionnalité élevés. Chaque composant est responsable d’un objectif clair dans l’ensemble du système et n’interagit avec d’autres éléments essentiels que sur la base du besoin de savoir.
Diagramme de déploiement
Un diagramme de déploiement UML est un diagramme qui montre la configuration des nœuds de traitement d’exécution et les composants qui y vivent. Les diagrammes de déploiement sont une sorte de diagramme de structure utilisé pour modéliser les aspects physiques d’un système orienté objet. Ils sont souvent utilisés pour modéliser la vue de déploiement statique d’un système (topologie du matériel).
Schéma de déploiement en un coup d’œil
Les diagrammes de déploiement sont importants pour visualiser, spécifier et documenter les systèmes embarqués, client/serveur et distribués, ainsi que pour gérer les systèmes exécutables par ingénierie directe et inverse.
Un diagramme de déploiement est juste un type spécial de diagramme de classes, qui se concentre sur les nœuds d’un système. Graphiquement, un diagramme de déploiement est une collection de sommets et d’arcs. Les diagrammes de déploiement contiennent généralement :
Nœuds
- La boîte 3-D représente un nœud, logiciel ou matériel
- Le nœud HW peut être signifié avec <<stéréotype>>
- Les connexions entre les nœuds sont représentées par une ligne, avec un <<stéréotype>> facultatif
- Les nœuds peuvent résider dans un nœud
Autres notations
- Dépendance
- Relations associatives.
- Peut également contenir des notes et des contraintes.
L’utilisation du diagramme d’objets UML est de 71 % selon l’enquête :
Diagramme d’objets
L’objet est une instance d’un moment particulier de l’exécution, y compris les objets et les valeurs de données. Un diagramme d’objets UML statique est une instance d’un diagramme de classes ; il montre un instantané de l’état détaillé d’un système à un moment donné, ainsi un diagramme d’objets englobe les objets et leurs relations à un moment donné.
Diagramme d’objets en un coup d’œil
Un diagramme d’objets montre cette relation entre les classes instanciées et la classe définie, et la relation entre ces objets dans le système. Ils sont utiles pour expliquer de plus petites parties de votre système, lorsque votre diagramme de classes système est très complexe, et aussi parfois pour modéliser des relations récursives dans le diagramme.
La meilleure façon d’illustrer à quoi ressemble un diagramme d’objets est de montrer le diagramme d’objets dérivé du diagramme de classes correspondant.
Le système de gestion des commandes suivant montre leurs relations. Ce petit diagramme de classes montre qu’un département universitaire peut contenir de nombreux autres départements et le diagramme d’objets ci-dessous instancie le diagramme de classes en le remplaçant par un exemple concret.
Exemple de diagramme de classe à objet — Système de commande
L’utilisation du diagramme de package est de 70 % :
Schéma du package
Le diagramme de package, une sorte de diagramme structurel, montre la disposition et l’organisation des éléments du modèle dans un projet de moyenne à grande échelle. Le diagramme de package peut montrer à la fois la structure et les dépendances entre les sous-systèmes ou les modules, montrant différentes vues d’un système, par exemple, en tant qu’application multicouche (alias multiniveau) – modèle d’application multicouche.
Diagramme de package en un coup d’œil
Le diagramme de package est utilisé pour simplifier les diagrammes de classes complexes, vous pouvez regrouper les classes en packages. Un package est une collection d’éléments UML logiquement liés.
Le schéma ci-dessous est un business model dans lequel les classes sont regroupées en packages :
- Les packages apparaissent sous forme de rectangles avec de petits onglets en haut.
- Le nom du package se trouve sur l’onglet ou à l’intérieur du rectangle.
- Les flèches pointillées sont des dépendances.
- Un paquet dépend d’un autre si des changements dans l’autre peuvent forcer des changements dans le premier.
L’utilisation du diagramme de structure composite est de 52 % :
Diagramme de structure composite
Le diagramme de structure composite est l’un des nouveaux artefacts ajoutés à UML 2.0. Un diagramme de structure composite est un diagramme structurel UML qui contient des classes, des interfaces, des packages et leurs relations, et qui fournit une vue logique de tout ou partie d’un système logiciel. Il montre la structure interne (y compris les parties et les connecteurs) d’un classifieur structuré ou d’une collaboration.
Un diagramme de structure composite joue un rôle similaire à un diagramme de classes, mais vous permet d’aller plus en détail en décrivant la structure interne de plusieurs classes et en montrant les interactions entre elles. Vous pouvez représenter graphiquement les classes internes et les parties et afficher les associations entre et au sein des classes.
Schéma de structure composite en un coup d’œil
- Les diagrammes de structure composite montrent les parties internes d’une classe.
- Les pièces sont nommées : partName:partType[multiplicité]
- Les classes agrégées sont des parties d’une classe mais les parties ne sont pas nécessairement des classes, une partie est tout élément utilisé pour constituer la classe contenante.
Le diagramme de synchronisation n’a qu’une utilisation de 40 % et est rarement utilisé par les utilisateurs moyens
Chronogramme
Les chronogrammes sont des diagrammes d’interaction UML utilisés pour montrer les interactions lorsqu’un objectif principal du diagramme est de raisonner sur le temps. Ils se concentrent sur les conditions changeant à l’intérieur et entre les lignes de vie le long d’un axe de temps linéaire. Les diagrammes de synchronisation décrivent le comportement des classificateurs individuels et les interactions des classificateurs, en attirant l’attention sur le moment de l’occurrence des événements provoquant des changements dans les conditions modélisées des lignes de vie.
Diagramme temporel en un coup d’œil
Représentation de la chronologie de l’état
Les changements d’un état à un autre sont représentés par un changement du niveau de la ligne de vie . Pendant la période de temps où l’objet est dans un état donné, la chronologie est parallèle à cet état. Un changement d’état apparaît comme un changement vertical d’un niveau à un autre. La cause du changement, comme c’est le cas dans un diagramme d’état ou de séquence, est la réception d’un message, un événement qui provoque un changement, une condition dans le système ou même simplement le passage du temps.
Valeur vitale Représentation
La figure ci-dessous montre une notation alternative du diagramme de synchronisation UML. Il montre l’état de l’objet entre deux lignes horizontales qui se croisent à chaque changement d’état.
Le diagramme de présentation interactif est un nouveau diagramme ajouté dans UML 2.0 :
Diagramme de présentation interactif
Les diagrammes de présentation d’interaction UML fournissent un haut niveau d’abstraction d’un modèle d’interaction. C’est une variante du diagramme d’activité où les nœuds sont les interactions ou les occurrences d’interaction.
Le diagramme de vue d’ensemble des interactions se concentre sur la vue d’ensemble du flux de contrôle des interactions qui peut également montrer le flux d’activité entre les diagrammes. En d’autres termes, vous pouvez lier les diagrammes « réels » et atteindre un degré élevé de navigabilité entre les diagrammes à l’intérieur d’un diagramme de vue d’ensemble des interactions.
Diagramme de présentation des interactions en un coup d’œil
Le diagramme de présentation d’interaction est l’un des quatorze types de diagrammes du langage de modélisation unifié (UML), qui peut représenter un flux de contrôle avec des nœuds pouvant contenir des diagrammes d’interaction qui montrent comment un ensemble de fragments peut être initié dans divers scénarios. Les diagrammes de vue d’ensemble des interactions se concentrent sur la vue d’ensemble du flux de contrôle où les nœuds sont les interactions (sd) ou l’utilisation de l’interaction (ref).
Les autres éléments de notation pour les diagrammes de vue d’ensemble des interactions sont les mêmes que pour les diagrammes d’activité et de séquence. Ceux-ci incluent les nœuds initiaux, finaux, de décision, de fusion, de bifurcation et de jointure.
Le diagramme UML le moins utilisé est le diagramme de profil, il n’a obtenu que 11 % :
Diagramme de profil
En tant que langage de modélisation à usage général, UML fournit une base stable pour une grande variété d’exigences. Il n’est pas défini pour des domaines d’application spécifiques ou pour une technologie spécifique. Cependant, dans certaines circonstances, UML est trop général et son utilisation demande beaucoup d’efforts. Dans de tels cas, l’utilisation d’un langage optimisé pour le domaine donné et donc proposant des concepts particuliers est avantageuse.
Le diagramme de profil, une sorte de diagramme structurel dans le langage de modélisation unifié (UML), fournit un mécanisme d’extension générique pour personnaliser les modèles UML pour des domaines et des plates-formes particuliers. Les mécanismes d’extension permettent d’affiner la sémantique standard de manière strictement additive, en évitant qu’elle ne contredise la sémantique standard. Les profils sont définis à l’aide de stéréotypes , de définitions de valeurs balisées et de contraintes appliquées à des éléments de modèle spécifiques, tels que les classes, les attributs, les opérations et les activités. Un profil est un ensemble d’extensions de ce type qui personnalisent collectivement UML pour un domaine particulier (par exemple, l’aérospatiale, la santé, la finance) ou une plate-forme (J2EE, .NET).
Exemple de diagramme de profil — Gestion informatique
Un profil est appliqué à un autre package afin de rendre les stéréotypes du profil disponibles pour ce package. L’illustration ci-dessous montre les profils Réseau, Télécommunications et Logiciel appliqués au package ITManagement.
Vous recherchez un outil de conception de logiciel en ligne gratuit ?
Voici le référentiel Visual Paradigm Online pour des exemples de conception de logiciels, c’est :
- Gratuit (à des fins personnelles et non commerciales)
- En ligne (aucune installation ni configuration)
- Prend en charge Google Drive et le stockage cloud gratuit
- Beaucoup d’exemples
- Utilisez-le à tout moment et n’importe où ! seulement besoin d’un navigateur web
Diagramme de cas d’utilisation