UML — fiche de révision

À quoi sert chaque diagramme, comment le reconnaître à sa forme, et sa notation.

L'épreuve teste deux choses : reconnaître quel diagramme on te demande, et savoir le construire. Cette fiche couvre tout le cours et associe chaque nom de diagramme à sa silhouette — pour qu'« faites un diagramme de cas d'utilisation » t'évoque immédiatement la bonne forme.

Les fondamentaux

UML (Unified Modeling Language) est un langage graphique de modélisation unifié. Né en 1995 de la fusion de OMT (Rumbaugh), Booch'93 et OOSE (Jacobson) ; standard de l'OMG depuis 1997 ; version actuelle 2.5.1 (2017). C'est un langage, pas une méthode : aucun ordre imposé entre les diagrammes. Son but premier est de communiquer et d'analyser un problème.

Étape 1 : sur quel axe est posée la question ?

UML modélise selon 3 axes. Identifie l'axe, et la famille de diagrammes en découle.

AxeRépond àDiagrammes
Fonctionnelce que le système fait (pour qui, quelles fonctions)Cas d'utilisation
Structurelce que le système est / utilise (données, objets, matériel)Classes, Objets, Composants, Paquetages, Déploiement
Dynamiquecomment il fonctionne (dans le temps, par états, par flux)Séquence, Communication, États-transitions, Activités

Reconnaître le cas d'utilisation

C'est le seul diagramme de l'axe fonctionnel. Trois signaux le trahissent, ensemble :

Contre-tests : structure de données / « possède » / « est un » → Classes · scénario chronologique → Séquence · états successifs → États-transitions · processus avec conditions/parallélisme → Activités.

Les diagrammes en détail

Cas d'utilisation

UtilitéDéterminer les besoins des utilisateurs et montrer les fonctionnalités que le système doit fournir, et qui s'en sert. Un diagramme par catégorie d'acteurs.

ReconnaîtreDes bonshommes (acteurs) + des ellipses (fonctions) dans un rectangle (le système). Le « quoi », jamais le « comment ».

NotationActeur (bonhomme, extérieur ; 4 catégories : principaux, secondaires, matériels externes, autres systèmes) · cas = ellipse · système = rectangle.

  • Généralisation : un acteur/cas spécialise un autre.
  • «include» : le cas inclus est toujours exécuté (ex. Retirer argent include S'authentifier).
  • «extend» : ajout optionnel, sous condition (ex. Virement extend Vérifier solde).

Classes

UtilitéDécrire la structure statique : classes, attributs/opérations, relations. C'est le modèle des données et la base de la génération de code.

ReconnaîtreUn rectangle à 3 cases : nom / attributs / opérations.

NotationVisibilité + public · # protected · - private · ~ package. Attribut nom:type=valeur · opération methode(params):retour. Multiplicités 0, 1, 0..*, 1..* · contraintes {ou}, {ordonné}. Classe abstraite, interface, utilitaire (que du static).

RelationForme verbaleSymboleSémantique
Association« a une »trait pleinlien simple ; rôles + multiplicités
Agrégation« possède une »losange creuxconteneur ; contenu survit à sa destruction
Composition« est une part de »losange pleinlien fort ; contenu détruit avec le tout
Dépendance« utilise une »flèche pointilléeusage ponctuel d'une autre classe
Généralisation« est une »triangle creuxhéritage ; sous-classe plus spécifique

Objets

UtilitéMontrer des instances concrètes des classes à un instant donné, avec leurs valeurs.

ReconnaîtreUne seule case (pas 3) avec le nom souligné objet:Classe.

NotationRectangle, nom souligné instanceName:Class. La relation entre deux objets est un lien (≠ association, qui relie des classes).

Séquence

UtilitéDécrire comment des objets interagissent par messages, dans l'ordre du temps (le déroulement d'un scénario).

ReconnaîtreDes lignes de vie verticales pointillées, des messages horizontaux, le temps qui descend.

NotationUne ligne de vie (pointillé) par objet · barre d'activation = durée · message msg(param). Synchrone (flèche pleine, attend un retour) vs asynchrone (flèche ouverte) ; retour en pointillé. Fragments : Alt/Opt (conditions), Loop (boucle), Par/Seq (parallèle), Ref (renvoi).

Communication (collaboration)

UtilitéLes mêmes interactions qu'une séquence, mais en vue spatiale : on insiste sur qui est relié à qui.

ReconnaîtreDes boîtes-objets reliées + des messages numérotés (1, 2, 3…) qui donnent l'ordre.

NotationDiagramme d'objets + échanges de messages numérotés. Équivalent d'un diagramme de séquence.

États-transitions

UtilitéReprésenter les états successifs d'un objet / acteur / sous-système, sous forme d'automate à états finis.

ReconnaîtreDes cases arrondies = états (des noms : « En activité »), un point plein (début), un point cerclé (fin), reliés par des flèches.

NotationÉtat (rect arrondi) · transition déclenchée par un événement (Signal, Appel, Temporel, Modification) · garde [condition] · actions à l'entrée/sortie/pendant (do).

Activités

UtilitéDécrire l'enchaînement des actions (le flot de contrôle) pour réaliser une activité — un processus / workflow.

ReconnaîtreDes actions arrondies (des verbes : « Payer »), un losange de décision (si/sinon), des barres épaisses (parallélisme).

NotationAction · décision = losange (gardes sur les branches) · barre de synchronisation (fork/join) · couloirs (swimlanes) par responsable · début/fin.

Paquetages

UtilitéOrganiser / regrouper les éléments de modélisation et montrer les dépendances entre paquetages.

ReconnaîtreUn dossier étiqueté (forme de chemise).

NotationDossier ; nom simple ou composé pour les sous-paquetages.

Composants

UtilitéDécrire l'architecture physique du logiciel et les dépendances entre composants. Un composant = unité réutilisable (librairie, exécutable, classe, script).

ReconnaîtreUn rectangle avec deux petits onglets sur le côté.

NotationComposant + dépendances ; son implémentation physique est un artifact.

Déploiement

UtilitéMontrer la disposition physique du matériel et la répartition des composants dessus.

ReconnaîtreDes « cubes » (nœuds matériels) reliés.

NotationNœud (cube : routeur, ordinateur…) + artifacts (fichier, programme, base de données).

Les 3 paires à ne pas confondre

Classes vs Objets

Deux rectangles. La classe a 3 cases et un nom générique (Voiture). L'objet est une seule case avec le nom souligné et précis (maVoiture:Voiture). → classe = le moule ; objet = un exemplaire.

Séquence vs Communication

Mêmes échanges d'objets. La séquence étale le temps verticalement (lignes de vie qui descendent). La communication pose les objets dans l'espace et numérote les messages. → ça descend = séquence ; toile numérotée = communication.

États-transitions vs Activités

Formes arrondies + flèches dans les deux. États = des états (noms), avec ● début et ◎ fin. Activités = des actions (verbes), avec un losange de décision et des barres de parallélisme. → noms = états ; verbes + losange = activités.

Réflexe « quel diagramme ? » le jour J

  1. Quel axe ? Le quoi → cas d'utilisation · le est/utilise → classes/objets/composants/déploiement · le comment → séquence/états/activités.
  2. Des acteurs + une liste de fonctions, sans étapes ? → cas d'utilisation.
  3. « possède / est un / utilise » + attributs ? → classes (choisis le bon symbole de relation).
  4. Un scénario qui se déroule dans le temps ? → séquence (ou communication).
  5. Des états successifs déclenchés par événements ? → états-transitions.
  6. Un processus avec conditions / parallélisme ? → activités.
  7. Du matériel ou des modules physiques ? → déploiement / composants.

Mémo des silhouettes : cas d'utilisation = bonshommes + bulles · classes = 3 cases · objet = souligné · séquence = ça tombe · communication = numéroté · états = arrondis ●/◎ · activités = losange + verbes.

D'après le cours « UML Modélisation » 2025-2026 (N. Faye). Fiche de révision personnelle.