Diagrammes UML
Diagrammes UML
Moyen de visualiser des systèmes et des logiciels à l’aide du langage de modélisation unifié UML. Ils sont
également utilisés pour modéliser des flux de travail et des processus d’entreprise.
1. Les diagrammes structurels : ils décrivent les composants qui constituent un système et leurs
relations.
2. Les diagrammes comportementaux : ils représentent ce qu’il se passe à l’intérieur d’un système,
comment les composants interagissent entre eux et avec d’autres systèmes ou utilisateurs.
LES DIAGRAMMES STRUCTURELS
Diagramme de classe
1. Définitions
a. Objet :
b. Classe
Une classe regroupe des objets de même nature, comportant les mêmes attributs et opérations. Un objet
est donc une instance de classe.
2. Attributs
Un attribut de classe est partagé par tous les objets de la classe et associe à chaque objet une valeur. Le
type associé peut être :
- simple (int, booleen, etc..)
- primitif (date)
- énuméré
a. La valeur des attributs
C’est l’état de l’objet à l’instant T. Des objets différents (identités différentes) peuvent avoir des valeurs
d’attribut identiques, sans pour autant être confondues.
3. Opérations
Une opération est une tâche que toute la classe doit pouvoir effectuer. Elle est commune à tous les objets
de la classe mais peut avoir un comportement différent selon l’objet qui l’exécute. L’objet qui l’exécute est
un argument implicite de celle-ci.
a. Redéfinition
4. Relations
a. Entre objets
b. Entre classes
Rôle : nomme l’extrémité d’une association, permet d’accéder aux objets liés par l’association à un objet
donné
a. Association réflexive
Une association n’est pas forcément entre deux classes différentes, on peut vouloir exprimer un lien entre
une classe et elle-même.
b. Association multiple
c. Classe-association
Permet une association entre deux classes par une classe : chaque instance de cette classe sera un lien
entre deux objets.
d. Hiérarchies de classes
- Principe : regrouper les classes partageant des attributs et des opérations, et les organiser en
arborescence
- Spécialisation : raffinement d’une classe en sous-classe
- Généralisation : abstraction d’un ensemble de classes en en super-classe
e. Héritage
Construction d’une classe à partir d’une classe plus haute dans la hiérarchie (partage des attributs,
opérations, contraintes…)
f. Classes abstraites
C’est une classe sans instance, elle sert de base pour les classes héritées.
Notation : nom de la classe en italique (ou stéréotype « abstract »)
g. Agrégations
Association particulière entre les classes, elles ne sont pas asymétriques (n’ont pas le même rôle au sein de
cette association) une classe est prépondérante sur l’autre : une classe est de type composants et l’autre
est de type composite.
Exemple :
- Une liste de lecture (composite) est composée d’un ensemble de morceaux (composants)
- Un morceau (composant) peut appartenir à plusieurs listes de lecture (composites)
- Supprimer la liste (composite) ne supprime pas les morceaux (composants)
Exemple :
6. Contraintes
Le diagramme de paquetage est utilisé pour simplifier les diagrammes de classes complexes, on peut
regrouper les classes en packages. Un package est une collection d’éléments UML logiquement liés.
2. Concepts de base
Le diagramme de package suit la structure hiérarchique des packages imbriqués. Les packages imbriqués
sont généralement des diagrammes de classes. Il y a peu de contraintes, les voici :
- Le nom du package doit être unique, mais les classes à l’intérieur peuvent avoir le même nom
- Ils peuvent inclure des diagrammes entiers, le nom des composants seuls ou aucun composant.
- Le nom qualifié complet d’un package a la syntaxe suivante :
Les package peuvent être représentés par les notations comme ceci :
3. Notation de dépendance
a. Éléments clés
Les packages sont utilisés pour organiser un grand ensemble d’éléments de modèle :
- Visibilité
- Importer
- Accéder
Pour créer une vue d’ensemble d’un grand ensemble d’éléments de modèle :
- Pour organiser un grand modèle
- Pour grouper des éléments liés
- Pour séparer les espaces de noms
On utilise la même syntaxe pour la visibilité des attributs et des opérations dans les classes.
d. Héritage
Un package avec une généralisation à un autre package, hérite des éléments publics et protégés qui sont
possédés ou importés par le package hérité.
e. Sous-systèmes
1. Définition
Il représente une instance spécifique d’un diagramme de classe, à un moment donné. Visuellement
similaire à un diagramme de classe, il se concentre sur les attributs des objets et leurs interactions.
2. Exemple
3. Utilité
1. Définition
Vise à montrer comment les différentes parties d’un système sont liées. Un composant représente un
module de classes qui symbolise des systèmes ou sous-systèmes indépendants, pouvant interagir avec le
reste du système.
Ils sont utilisés dans la programmation orientée composant (POC) pour aider à la planification des
composant nécessaires. Utilisés dans la programmation orientée objet (POO), ils servent à regrouper des
classes pour atteindre un objectif commun et offre une vision d’ensemble du projet.
2. Avantages
3. Utilisation
a. Formes et symboles
Il existe trois manières courantes de créer un compartiment pour le nom d’un composant :
Ils disposent également d’un espace facultatif pour énumérer les interfaces :
Une autre manière de représenter les interfaces, consiste à étendre les symboles au-delà de la boîte du
composant :
1. Définition
Diagramme structurel qui fournit une vue d’ensemble logique, de l’ensemble ou d’une partie, d’un
système logiciel. Permet de visualiser un classifieur structuré donné, en définissant : ses classes de
configuration, ses interfaces, ses packages et les liens qui les unissent.
2. Avantages
Permet de déterminer précisément ce qui est contenu dans un objet, en spécifiant la manière dont
différentes propriétés réagissent pour produire un certain comportement.
Similaire au diagramme de classes, leur différence réside du fait que les diagrammes de structure
composite sont plus spécifiques et moins ambigus que les diagrammes de classes.
3. Utilisation
4. Exemple
Diagramme de déploiement
1. Définition
Décrit un aspect du système même. On appelle artefact l’information qui est générée par le logiciel. Les
diagrammes de déploiement sont constitués de plusieurs formes UML :
- Les boites en trois dimensions (nœuds) représentent les composants du système (logiciels ou
matériels)
- Les lignes entre les nœuds indiquent les relations
- Les petites formes à l’intérieur des boîtes représentent les artefacts logiciels déployés
2. A quoi servent-ils ?
- Montrer quels éléments logiciels sont déployés par quels éléments matériels
- Illustrer le traitement d’exécution du point de vue matériel
- Visualiser la topologie du système matériel
3. Les éléments
- Artefact : produit développé par le logiciel, symbolisé par un rectangle avec le nom et le mot
« artefact » entourés de flèches doubles
- Association : ligne indiquant un message ou tout autre type de communication entre deux nœuds
- Composant : rectangle avec deux onglets indiquant un élément logiciel
- Dépendance : ligne en pointillés terminée par une flèche, qui indique qu’un nœud ou composant
est dépendant d’un autre
- Interface : cercle qui indique une relation contractuelle, les objets qui réalisent l’interface doivent
remplir une sorte d’obligation
- Nœud : élément matériel ou logiciel représenté par une boite en relief
- Nœud conteneur : nœud qui en contient un autre, comme dans l’exemple ci-dessous où les nœuds
contiennent des composants
- Stéréotype : dispositif contenu dans le nœud, représenté dans la partie supérieur du nœud et dont
le nom est entouré de flèches doubles
4. Symboles et nomenclature
a. Nœuds
Les nœuds de périphériques sont des ressources de calcul ayant des capacités de traitement et pouvant
exécuter des programmes. Par exemple, un pc, un ordinateur portable ou un téléphone mobile sont des
nœuds de périphériques.
Les nœuds d’environnement d’exécution (EEN) sont des systèmes informatiques qui résident à l’intérieur
d’un nœud de périphérique. Il peut s’agir d’un système d’exploitation ou d’une machine virtuelle Java par
exemple.
b. Base de données
Les base de données représentent les données stockées par le système déployé.
c. Autres formes
- Voie de communication : ligne droite qui représente la communication entre deux nœuds de
périphériques
- Artefacts : une boîte comportant le titre « <> » suivi du nom du fichier
- Paquetage : une boîte en forme de dossier qui regroupe tous les nœuds de périphériques pour
contenir l’intégralité du déploiement
- Composant : entité nécessaire à l’exécution d’une fonction stéréotypée
LES DIAGRAMMES COMPORTEMENTAUX
Diagrammes d’activités
1. Définition
Les diagrammes d’activités aident les différents intervenants (commerciaux et développeurs) à collaborer
pour comprendre un même procédé et un même comportement.
2. Avantages
3. Ses composants
4. Symboles
5. Exemple
Diagramme global d’interaction
1. Définition
C’est une variante d’un diagramme d’activité : la différence réside dans le fait que les nœuds des
diagrammes globaux d’interaction représentent les occurrences des interactions dans un système ou
logiciel. En utilisant une notation similaire (initial, final, fusion, bifurcation, décision), des occurrences
d’interaction et des éléments d’interaction, les diagrammes globaux d’interaction montrent le flux
d’activité entre les diagrammes.
2. Pourquoi l’utiliser ?
3. Symboles
4. Exemple
Diagramme de séquence
1. Définition
Il décrit comment et dans quel ordre plusieurs objets fonctionnent ensemble. Ils sont utilisés à la fois par
les développeurs et les managers pour analyser les besoins d’un nouveau système ou documenter un
processus existant.
2. Avantages
3. Quand l’utiliser ?
• Scénario d’utilisation : bon moyen de s’assurer d’avoir pris en compte la logique de tous les
scénarios d’utilisation du système
• Logique de méthode : analyser la logique d’une fonction, procédure ou d’un processus complexe
• Logique de service : schématiser un service considéré comme étant une méthode générale utilisée
par différents clients
5. Exemple
Diagramme de communication
1. Définition
Il propose les mêmes informations qu’un diagramme de séquence, leur différence repose sur le fait qu’un
diagramme de séquence souligne l’heure et l’ordre des évènements tandis qu’un diagramme de
communication met l’accent sur les messages échangés entre les objets.
2. Avantages
3. Symboles et notations
4. Exemple
Diagramme temporel
1. Définition
C’est une forme de diagramme de séquence qui utilise des graphiques et des formes d’onde pour décrire le
comportement et les interactions des objets et des événements chronométrés pendant une certaine
période de temps.
2. Utilisation
A partir de là, les utilisateurs peuvent savoir quelles étapes d’un processus prennent trop de temps et ce
qui doit être rationalisé pour que le système ou le logiciel fonctionne plus efficacement dans son
ensemble.
3. Représentation
a. Chronologie de l’état
Utilisée pour montrer le changement d’état dans le temps, qui est représenté par un changement des
niveaux de la ligne de vie.
Utilisée pour montrer le changement de valeur d’un sujet sur une période de temps. Elle est représentée
par le croisement de deux lignes horizontales.
4. Concepts de base
a. Ligne de vie
Une ligne de temps continue qui représente l’état des classificateurs participants ou des conditions
testables.
c. Contrainte de durée 1
Représente un intervalle de durée, ou, la période de temps pendant laquelle un état ou une valeur doit
être en vigueur. Un système défaillant est un système dans lequel un état ou une valeur qui se retrouve au-
dessus ou au-dessous de la portée de la contrainte.
d. Contrainte de durée 2
Indique le moment où un événement doit se produire. Si un événement ne se produit pas dans ce délai, le
système est considéré comme ayant échoué.
e. Évènement de destruction
a. Onde carrée
Couramment utilisé comme « signal d’horloge » qui représente un signal constant, et est utilisé pour
fournir à l’utilisateur une vue d’ensemble de la séquence temporelle.
b. Déclenchement par front positif/négatif
Les flèches permettent de déterminer si le signal est déclenché sur le front positif ou négatif.
c. Signal de rampage
Les signaux de rampe sont utilisés pour montrer le déclenchement, ou pour montrer que deux signaux sont
en opposition directe l’un par rapport à l’autre.
d. L’un ou l’autre
Le signal soit ou, représenté par le graphique avec les signaux superposés, est utilisé pour montrer que le
signal correspondant peut être haut ou bas.
e. En gris
Griser une section est le plus souvent utilisé dans les cas où le système ne se soucie pas des valeurs du
signal.
Un écart dans le temps, ou une autre valeur mesurable est, représenté par une rupture au milieu du signal
comme indiqué.
L’étiquetage des bits est utilisé pour montrer une plus grande plage de valeurs. L’écart indique un morceau
important de données dans la plage.
h. Flèches et délimitations de l’espace
Dans cet exemple, les flèches et les délimitations d’espace indique que les deux premières sections sont
des composants d’adresse, et les cinq suivantes des composants de données.
Diagramme de cas d’utilisation
1. Définition
Résume les informations des utilisateurs du système (acteurs) et leurs interactions avec celui-ci. Ils aident à
représenter :
- Les scénarios dans lesquels le système ou application interagit avec des personnes, des
organisations ou des systèmes externes
- Les objectifs que le système ou application permet aux entités (acteurs) d’atteindre
- La portée du système
3. Ses composants
• Les acteurs : personne, organisation ou système externe qui interagit avec l’application ou le
système. Il s’agit nécessairement d’objets externes qui produisent ou consomment des données.
• Le système : séquence spécifique d’actions et d’interactions entre les acteurs et le système (appelé
également scénario)
• Les objectifs : résultat final, un diagramme réussi doit décrire les activités et les variantes utilisées
pour atteindre l’objectif.
4. Symboles et notation
• Cas d’utilisation : forme ovale horizontale qui représente les différentes applications possibles pour
un utilisateur
• Acteurs : bonshommes représentant les personnes qui se servent réellement des cas d’utilisation
• Associations : lignes reliant les acteurs aux cas d’utilisation
• Frontière de systèmes : cadres indiquant le champ d’application des cas d’utilisation présents dans
un système. Tous les cas d’utilisation situés en dehors, n’entrent pas dans le champ d’application
de ce système.
• Paquets : permet de regrouper des éléments
5. Exemple
Diagramme de machine d’état
1. Définition
Un diagramme d’état (ou de machine d’état) est une représentation visuelle du processus qui se produit
lors du fonctionnement d’une machine dans un laps de temps limité. Il est fréquemment utilisé dans le
domaine de l’ingénierie, en particulier en électronique.
2. Utilisation
Son utilisation principale est de visualiser les performances d’un objet lorsqu’il subit une opération. Cela
signifie qu’il montre des données précieuses sur la réaction de la machine, aux différents états qu’elle subit
à chaque opération.
3. Ses composants
• État initial : premier état dans lequel l’objet sera au début du processus
• État : dans chaque processus, l’objet impliqué entrera dans un état ou une phase à un moment
donné
• Transition : décrit le passage d’un état à un autre
• Évènement : terme général pour tout ce qui peut provoquer une transition
• Signal : tout message ou signe qui se produit pendant la transition
• État final : résultat attendu de l’objet
4. Exemple