14 chapitres4 h 1 minIntermédiaire
UML
Cours UML pour le BTS SIO SLAM : cas d'utilisation, diagramme de classes et code C#, séquence, activité, états, déploiement, outils et exercices corrigés.
Par Josselyn C., prof de BTS SIO. Mis à jour le .
L'essentiel
UML (Unified Modeling Language) est la notation graphique normalisée qui sert à décrire un logiciel : ce qu'il fait pour ses utilisateurs (diagramme de cas d'utilisation), de quelles classes il est fait (diagramme de classes), comment ses objets collaborent (diagramme de séquence), comment s'enchaînent ses traitements (diagramme d'activité), par quels états passent ses objets (diagramme d'états-transitions) et où il s'exécute (diagramme de déploiement). Au BTS SIO, UML relève du bloc 2 de l'option SLAM : tu l'utilises pour concevoir et documenter les deux réalisations de ton dossier d'E6, et pour spécifier l'évolution que la commission te demande ; l'écrit E7 te fournit des diagrammes de classes à lire pour écrire ou corriger du code.
À la fin de ce cours, tu sauras :
- lire et dessiner les diagrammes de cas d'utilisation, de classes, de séquence, d'activité et d'états-transitions, et reconnaître les diagrammes de déploiement, de composants, de paquetages et d'objets ;
- décrire un cas d'utilisation par ses scénarios, et le relier aux user stories ;
- choisir la bonne relation entre classes (association, héritage, interface, agrégation, composition, classe-association) et la justifier ;
- traduire un diagramme de classes en C#, et retrouver le diagramme d'un code existant ;
- produire des diagrammes propres avec PlantUML, Mermaid ou draw.io ;
- répondre aux questions UML de l'E6 et de l'E7 sans les erreurs qui coûtent des points.
Avant ce cours. Aucun prérequis pour lire et dessiner les diagrammes. Les chapitres 6, 7, 9 et 13 traduisent les diagrammes en code C# : il faut connaître les bases de la programmation objet (classe, objet, constructeur, héritage), que présente le cours Programmation orientée objet. Si tu connais déjà le MCD, le cours Merise t'aidera à comprendre ce qui rapproche et ce qui distingue les deux modèles.
Les versions. La notation est celle d'UML 2.5.1, la version en vigueur de la norme de l'OMG (aucune nouvelle version depuis 2017). Le code est écrit en C# 14 et testé avec .NET 10, la version LTS ; les équivalents en TypeScript et en PHP 8.4 sont donnés au chapitre 6. Les logiciels sont présentés dans leur version de 2026.
Le fil rouge. Les exemples portent sur AppliFrais, l'application de gestion des frais des visiteurs médicaux du laboratoire GSB, que le cours API REST utilise aussi : des fiches de frais saisies chaque mois par les visiteurs, clôturées, validées par un comptable, mises en paiement puis remboursées. Les exercices changent de contexte, comme les sujets d'examen : médiathèque, ludothèque, location de vélos, covoiturage, parc informatique, boutique en ligne, mutuelle.
Comment travailler. Dessine chaque diagramme sur papier avant de regarder le corrigé : UML s'apprend en dessinant, et c'est à la main que tu le feras à l'examen. Chaque chapitre se termine par des exercices dont la réponse est masquée : cherche d'abord, ouvre ensuite. Le chapitre 13 rassemble six cas complets de niveau examen, le chapitre 14 toutes les notations sur une page.
| Ton objectif | Chapitres à travailler en priorité |
|---|---|
| Découvrir UML | 1, 2, 4 et 5 |
| Concevoir et documenter une réalisation pour l'E6 | 2 à 7, 10 et 12 |
| Préparer l'E7 SLAM | 4 à 7, 9, 12 et 13 |
| Passer d'un MCD à un diagramme de classes | 4 et 5, puis le cours Merise |
| Reprendre le code d'une application existante | 6, 7 et 10 |
Sommaire
UML
0 chapitre sur 14
- Chapitre 1 : C'est quoi UML ? Les 14 diagrammes UML13 min
- Chapitre 2 : Diagramme de cas d'utilisation : acteurs, include et extend16 min
- Chapitre 3 : Description textuelle d'un cas d'utilisation et user stories13 min
- Chapitre 4 : Diagramme de classes : attributs, opérations, visibilité et multiplicités17 min
- Chapitre 5 : Héritage, agrégation, composition, interface et classe-association19 min
- Chapitre 6 : Du diagramme de classes au code C#, et rétro-conception39 min
- Chapitre 7 : Diagramme de séquence : lignes de vie, messages et fragments21 min
- Chapitre 8 : Diagramme d'activité : actions, décisions, parallélisme et couloirs11 min
- Chapitre 9 : Diagramme d'états-transitions : la machine à états d'un objet14 min
- Chapitre 10 : Diagrammes de déploiement, de composants, de paquetages et d'objets11 min
- Chapitre 11 : Logiciels UML : PlantUML, Mermaid, draw.io, StarUML19 min
- Chapitre 12 : UML à l'examen : E6 et E7 SLAM, méthode et pièges13 min
- Chapitre 13 : Exercices UML corrigés type BTS SIO25 min
- Chapitre 14 : Aide-mémoire UML : notations et symboles8 min
Questions fréquentes
C'est quoi UML et à quoi ça sert ?
UML (Unified Modeling Language) est une notation graphique normalisée par l'OMG pour décrire un logiciel : ses utilisateurs et ses fonctionnalités, ses classes, les échanges entre ses objets, ses traitements et son déploiement. Il sert à comprendre le besoin avec le client, à concevoir avant de coder et à documenter une application pour ceux qui la reprendront. Ce n'est ni un langage de programmation ni une méthode : c'est un ensemble de 14 diagrammes que tout développeur sait lire.
Quels sont les diagrammes UML les plus utilisés ?
UML 2.5 compte 14 diagrammes, mais cinq suffisent dans la plupart des projets : le diagramme de cas d'utilisation (le besoin), le diagramme de classes (la structure, le plus important), le diagramme de séquence (les échanges entre objets), le diagramme d'activité (les enchaînements d'actions) et le diagramme d'états-transitions (le cycle de vie d'un objet). Le diagramme de déploiement complète l'ensemble pour l'architecture (tableau des 14 diagrammes).
Quelle est la différence entre include et extend ?
«include» relie un cas d'utilisation à une partie obligatoire, exécutée à chaque fois : la flèche pointillée part du cas de base vers le cas inclus. «extend» relie un comportement optionnel, exécuté sous condition : la flèche part de l'extension vers le cas de base. Pose-toi la question « faut-il toujours faire B pour faire A ? » : si oui, c'est un include ; si B n'arrive que parfois, c'est un extend (exemples et pièges).
Quelle est la différence entre agrégation et composition ?
Les deux expriment une relation tout-partie. Dans une composition (losange plein, du côté du tout), la partie n'appartient qu'à un seul tout et disparaît avec lui : une ligne de facture et sa facture. Dans une agrégation (losange creux), la partie existe indépendamment et peut changer de tout : un visiteur et sa région. En cas de doute, demande-toi si la partie a un sens sans le tout (les trois questions pour choisir).
Comment lire une multiplicité dans un diagramme de classes ?
Pars d'un objet d'une classe, traverse le trait de l'association et lis le nombre écrit près de l'autre classe. Avec Visiteur "1" ──── "0..*" FicheFrais, un visiteur a zéro ou plusieurs fiches, et une fiche a un seul visiteur. C'est l'inverse des cardinalités de Merise, écrites près de l'entité qu'elles décrivent : ne recopie jamais les nombres d'un MCD sans les relire (lecture des multiplicités).
Quelle est la différence entre un diagramme de séquence et un diagramme d'activité ?
Le diagramme de séquence montre qui demande quoi à qui : des objets en colonnes et les messages qu'ils s'échangent, dans l'ordre du temps ; il se traduit presque ligne à ligne en code. Le diagramme d'activité montre ce qui se passe ensuite : des actions, des décisions, des actions parallèles et des couloirs pour dire qui fait quoi. Le premier sert à concevoir le code d'un scénario, le second à décrire un processus ou un algorithme (comparaison détaillée).
Quel logiciel gratuit utiliser pour faire des diagrammes UML ?
PlantUML et Mermaid sont gratuits et fonctionnent par texte : tu écris le diagramme, l'outil le dessine, et le fichier se versionne avec Git ; GitHub affiche directement les diagrammes Mermaid. draw.io (diagrams.net) est un éditeur graphique gratuit, dans le navigateur ou en application de bureau. StarUML est plus complet mais payant au-delà de l'évaluation (comparatif et syntaxe).
UML ou Merise : lequel choisir ?
Les deux, chacun à sa place. Merise, avec le MCD, reste l'outil le plus précis pour concevoir une base de données relationnelle ; UML, avec le diagramme de classes, sert à concevoir le code, et ses autres diagrammes décrivent le besoin, les échanges et le déploiement. Dans le dossier d'E6, fournir un MCD (ou un schéma relationnel) pour la base et un diagramme de classes pour le code est courant : la commission vérifie surtout qu'ils sont cohérents (les correspondances).
Quels diagrammes UML faut-il connaître pour le BTS SIO ?
En option SLAM, le diagramme de classes est indispensable : l'écrit E7 en fournit régulièrement un, avec le code des classes, pour te faire écrire ou corriger des méthodes. Les diagrammes de cas d'utilisation, de séquence, d'activité et d'états-transitions servent à documenter les réalisations de ton dossier d'E6 et à spécifier l'évolution que la commission te demande. Les diagrammes de déploiement, de composants, de paquetages et d'objets sont à savoir lire (UML à l'examen).
Comment passer d'un diagramme de classes au code ?
Chaque classe devient une classe, chaque attribut une propriété, chaque généralisation un héritage (class Visiteur : Utilisateur en C#). Les multiplicités deviennent des types : 1 une référence obligatoire passée au constructeur, 0..1 une référence nullable, * une liste privée exposée en lecture seule. Une composition se traduit par un tout qui crée lui-même ses parties ; une classe-association par une classe qui référence les deux autres (toutes les règles, en C#).