Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 148 minIntermédiaire

Aide-mémoire UML : notations et symboles

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • retrouver vite le symbole de chaque élément UML ;
  • retenir la syntaxe des attributs, des opérations et des transitions ;
  • appliquer les dix réflexes qui évitent les erreurs classiques.

1 schéma

Cet aide-mémoire rassemble sur une page les notations UML à connaître pour le BTS SIO : les symboles de chaque diagramme, la syntaxe des attributs, des opérations et des transitions, les multiplicités et les correspondances avec le code et avec Merise. Garde-le sous la main pendant tes révisions ; chaque ligne renvoie au chapitre qui l'explique.

Diagramme de cas d'utilisation

ÉlémentSymboleChapitre
Acteur humainBonhomme, hors du cadre2
Acteur non humainRectangle «actor» ou bonhomme, hors du cadre2
Cas d'utilisationEllipse, « verbe + complément »2
Frontière du systèmeRectangle avec le nom du système2
Association acteur-casTrait plein2
InclusionPointillé «include», du cas de base vers le cas inclus2
ExtensionPointillé «extend», de l'extension vers le cas de base2
GénéralisationTrait plein, triangle creux vers le parent2

Diagramme de classes : symboles et syntaxe

ABAssociationA connaît BABAssociation navigableA connaît B, B ne connaît pas AABDépendanceA utilise B ponctuellementABGénéralisationA est une sorte de BABRéalisationA implémente l'interface B«interface»ABAgrégationB regroupe des A, qui lui surviventABCompositionB est composé de A, qui disparaissent avec lui
Les relations entre classes, d'un coup d'œil

Syntaxe

text
Attribut  :  visibilité nom : Type [multiplicité] = valeurInitiale {propriété}
             - montantValide : decimal [0..1]
Opération :  visibilité nom(paramètre : Type, …) : TypeRetour
             + Valider(comptable : Comptable)
Dérivé    :  / total : decimal
Statique  :  souligné
Abstrait  :  italique, ou {abstract}
VisibilitéSensC#
+publiquepublic
-privéeprivate
#protégéeprotected
~paquetageinternal (le plus proche)
MultiplicitéLectureC#
1exactement unréférence non nulle, dans le constructeur
0..1zéro ou unréférence nullable (T?)
*, 0..*zéro ou plusieursList<T> exposée en IReadOnlyList<T>
1..*au moins unliste, avec un contrôle du minimum
n..mde n à mliste, avec des contrôles

La multiplicité se lit à l'autre bout du trait : « un A est relié à [nombre écrit près de B] B ».

RelationSymboleSe litEn C#
AssociationTrait plein« connaît »Référence ou liste
NavigabilitéFlèche ouverte« A connaît B, pas l'inverse »Référence d'un seul côté
DépendanceFlèche pointillée« utilise ponctuellement »Paramètre, variable locale
GénéralisationTriangle creux, trait plein« est un »class B : A
RéalisationTriangle creux, pointillé« implémente »class C : IInterface
AgrégationLosange creux côté tout« regroupe » (la partie survit)Référence vers un objet créé ailleurs
CompositionLosange plein côté tout« est composé de » (la partie meurt avec le tout)Le tout crée et possède ses parties
Classe-associationClasse reliée au trait par un pointillé« l'association porte des données »Classe avec deux références
StéréotypeSens
«interface»Contrat sans code
«enumeration»Liste de valeurs
«abstract» ou {abstract}Classe non instanciable
«create»Constructeur, ou message de création

Diagramme de séquence

ÉlémentSymbole
Ligne de vieRectangle nom : Classe et pointillé vertical
Message synchroneTrait plein, pointe pleine
Message asynchroneTrait plein, pointe ouverte
RetourPointillé, pointe ouverte
CréationPointillé «create» vers la tête de la nouvelle ligne de vie
DestructionCroix en bas de la ligne de vie
ActivationRectangle fin sur la ligne de vie
alt / opt / loopif … else / if / boucle
par / break / refParallèle / sortie anticipée / renvoi à un autre diagramme

Chapitre 7.

Diagramme d'activité

ÉlémentSymbole
DébutDisque plein
Fin de l'activitéDisque plein cerclé
Fin d'un flotCercle barré d'une croix
ActionRectangle arrondi, verbe à l'infinitif
Décision, fusionLosange (gardes [ ] exclusives et complètes)
Bifurcation, jonctionBarre épaisse (parallélisme)
CouloirColonne nommée
Événement temporelSablier
Nœud d'objetRectangle objet [état]

Chapitre 8.

Diagramme d'états-transitions

text
Transition :  événement [garde] / effet
              Valider(comptable) [toutes les lignes contrôlées] / calculer le montant
Dans l'état : entry / action      exit / action      do / activité
Temps :       after(48 h)         when(1er du mois)
ÉlémentSymbole
État initialDisque plein
État finalDisque plein cerclé
ÉtatRectangle arrondi, adjectif ou participe
TransitionFlèche avec événement [garde] / effet
État compositeÉtat qui contient des sous-états

Règle d'or : ce qui n'est pas dessiné est interdit. Chapitre 9.

Diagrammes d'architecture

DiagrammeÉlémentsChapitre
DéploiementNœuds (pavés «device», «executionEnvironment»), artefacts, chemins avec protocole10
ComposantsComposants, interface fournie (sucette), interface requise (prise)10
PaquetagesDossiers à onglet, dépendances pointillées sans cycle10
Objetsnom : Classe souligné, valeurs, liens10

UML et Merise

MeriseUML
EntitéClasse
PropriétéAttribut
Identifiant(aucun)
Cardinalité près de l'entité décrite : 0,nMultiplicité près de la classe comptée : 0..*
0,1 / 1,1 / 0,n / 1,n0..1 / 1 / 0..* / 1..*
Association porteuseClasse-association
SpécialisationGénéralisation

Détails : chapitre 5 et cours Merise.

Lire un diagramme en phrases

À l'examen comme devant une commission, expliquer un diagramme, c'est le traduire en phrases. Voici les tournures qui marchent, sur les exemples du cours.

Ce que tu voisLa phrase à écrire
Visiteur "1" ──── "0..*" FicheFrais« Un visiteur remplit zéro ou plusieurs fiches ; une fiche est remplie par un seul visiteur. »
FicheFrais ◆──── "0..*" LigneFraisHorsForfait« Une fiche est composée de lignes hors forfait, qui n'existent pas sans elle et sont supprimées avec elle. »
Region ◇──── "0..*" Visiteur« Une région regroupe des visiteurs, qui existent indépendamment d'elle. »
Visiteur ──▷ Utilisateur« Un visiteur est un utilisateur : il hérite de ses attributs et de ses opérations. »
FicheFrais ┈┈▷ IExportable« Une fiche sait s'exporter en CSV : elle réalise l'interface IExportable. »
Classe-association LigneFraisForfait« La quantité dépend du couple fiche-forfait ; une fiche a au plus une ligne par forfait. »
«include» de A vers B« Faire A implique toujours de faire B. »
«extend» de B vers A« Pendant A, on peut faire B, sous condition. »
Transition CL → VA : Valider(comptable)« Une fiche clôturée devient validée quand un comptable la valide ; c'est le seul moyen d'y arriver. »

Les dix réflexes

  1. Une classe au singulier, des attributs privés et typés, des opérations publiques.
  2. Pas de clé étrangère dans un diagramme de classes.
  3. Les multiplicités aux deux bouts, lues à l'autre bout.
  4. Le losange collé au tout ; la composition seulement si la partie meurt avec lui.
  5. L'héritage seulement si « est un » est toujours vrai.
  6. {abstract} et «interface» écrits en toutes lettres.
  7. Les acteurs hors du cadre ; la base de données n'est pas un acteur.
  8. «include» : du cas de base vers l'obligatoire ; «extend» : de l'option vers le cas de base.
  9. Chaque message d'un diagramme de séquence = une opération du diagramme de classes.
  10. Une décision se referme par une fusion, une bifurcation par une jonction.

Chapitre terminé !

Tu as lu ce chapitre jusqu'au bout. Passe au suivant tant que c'est frais.

chapitres
–
de série
–
du cours
–
Cours suivant : Architecture MVCRevoir le sommaire du cours