1️⃣ Qu’est-ce que UML ?
UML (Unified Modeling Language) est un langage de modélisation normalisé utilisé pour représenter graphiquement un système logiciel.
Il ne s’agit pas d’un langage de programmation, mais d’un outil d’analyse et de conception.
UML a été créé dans les années 1990 pour unifier différentes méthodes de modélisation orientées objet (Booch, OMT, OOSE).
Pourquoi modéliser ?
- Pour comprendre le système avant de le coder.
- Pour communiquer entre développeurs, clients et chefs de projet.
- Pour documenter de manière durable le fonctionnement du logiciel.
- Pour décomposer un problème complexe en éléments simples.
UML dans le cycle de vie logiciel
UML intervient dans les phases d’analyse et de conception du cycle de vie :
↑ ↑
UML Cas d’utilisation UML Classes
Les 13 diagrammes UML – Présentation générale
1️⃣ UML en un coup d’œil
UML (Unified Modeling Language) est un langage visuel utilisé pour modéliser un système logiciel.
Il permet de représenter à la fois la structure, le comportement et les interactions d’un système, sans dépendre d’un langage de programmation particulier.
UML est un standard défini par l’OMG (Object Management Group).
Il compte 13 diagrammes répartis en deux grandes familles : diagrammes structurels et diagrammes comportementaux.
2️⃣ Les diagrammes structurels
Ils montrent les éléments statiques du système : classes, objets, composants, infrastructure…
# | Nom du diagramme | Rôle | Quand l’utiliser |
---|---|---|---|
1 | Diagramme de classes | Décrit les classes, leurs attributs, leurs méthodes et leurs relations. | Lors de la conception orientée objet (avant le code). |
2 | Diagramme d’objets | Montre un exemple concret d’instances issues d’un diagramme de classes. | Pour valider le modèle avec des cas concrets. |
3 | Diagramme de composants | Représente les modules logiciels (bibliothèques, API, services). | Pendant la conception technique. |
4 | Diagramme de déploiement | Décrit la répartition physique du logiciel sur des serveurs, machines ou réseaux. | En phase de déploiement ou documentation technique. |
5 | Diagramme de packages | Regroupe les classes ou composants en ensembles logiques. | Lors de la structuration d’un projet complexe. |
6 | Diagramme de structure composite | Décrit l’intérieur d’une classe complexe (ses sous-parties, ports et collaborations). | Utilisé dans les systèmes embarqués ou modèles détaillés. |
7 | Diagramme de profil | Permet de personnaliser UML pour un domaine spécifique (santé, industrie…). | Dans des contextes spécialisés (non utile en BUT). |
Les diagrammes structurels sont surtout utilisés par les architectes logiciels et les développeurs orientés objet.
3️⃣ Les diagrammes comportementaux
Ils montrent ce que fait le système et comment il interagit dans le temps.
# | Nom du diagramme | Rôle | Quand l’utiliser |
---|---|---|---|
8 | Diagramme de cas d’utilisation | Décrit les fonctionnalités attendues du système vues par les utilisateurs (acteurs). | En phase d’analyse des besoins. |
9 | Diagramme de séquence | Montre les échanges temporels entre objets ou acteurs. | En conception détaillée (décrire un scénario). |
10 | Diagramme de communication | Variante du séquence, axée sur la structure des échanges. | Quand on veut représenter les liens logiques entre objets. |
11 | Diagramme d’activité | Représente un flux de travail (workflow, processus métier). | En analyse fonctionnelle ou pour décrire un processus. |
12 | Diagramme d’état-transition | Décrit les états d’un objet et les transitions entre ces états. | Pour les objets ayant un cycle de vie (ex. : commande, document, capteur). |
13 | Diagramme de timing | Montre la variation des états dans le temps. | Utilisé dans les systèmes temps réel. |
Les diagrammes comportementaux sont essentiels pour modéliser le fonctionnement du système et préparer les tests.
4️⃣ Position dans le cycle de développement
– Cas d’utilisation, activité → Analyse
– Classes, séquence → Conception
– Composants, déploiement → Implémentation
En pratique, peu de projets utilisent les 13 diagrammes.
On se concentre souvent sur 4 ou 5 essentiels :
- Cas d’utilisation → comprendre le besoin
- Classes → concevoir la structure
- Séquence / Activité → décrire le fonctionnement
- Déploiement → documenter l’infrastructure
L’objectif d’UML n’est pas de tout modéliser, mais de mieux communiquer et concevoir.
Chaque diagramme répond à une question spécifique du cycle de développement.
UML n’impose pas de méthode de travail : il fournit un langage visuel, compatible avec les méthodes agiles comme avec le cycle en V.
Ce contenu est réservé aux membres du site. Si vous êtes un utilisateur existant, veuillez vous connecter. Les nouveaux utilisateurs peuvent s'inscrire ci-dessous.