Vous êtes sur la page 1sur 14

COURS

UML SUITE

Table des matières


UML: Unified Modeling Language ........................................................................................................... 2
1. Introduction ............................................................................................................................................ 2
Remarque : ..................................................................................................................................................... 2
2. Diagramme de classes ....................................................................................................................... 3
2.1 Une classe .......................................................................................................................................... 3
2.1.1 Syntaxe :........................................................................................................................................................................................... 3

2.2 Diagramme de classe ........................................................................................................................ 3


2.3 Encapsulation : ................................................................................................................................. 4
2.4 Relation ............................................................................................................................................. 4
2.5 Multiplicité ........................................................................................................................................ 4
2.6 Relation du type Association ........................................................................................................... 4
2.7 Relation de type héritage ................................................................................................................. 5
2.8 Relation du type Agrégat ................................................................................................................. 6
2.9 Relation du type Agrégat fort ou composition .............................................................................. 6
3. Diagramme de cas d’utilisation: USECASES .................................................................................. 7
3.1 Acteur :.............................................................................................................................................. 7
3.2 Cas d’utilisation : ............................................................................................................................. 8
3.3 Relation : --------> ............................................................................................................................. 8
4. Diagramme d’objets ............................................................................................................................ 9
5. Diagramme d’activité ....................................................................................................................... 10
6. Diagramme de sequence: ............................................................................................................... 13

Cours_UML.doc Page 1 sur 18 Dernière mise à jour le 13/01/2022


COURS

UML SUITE

UML: Unified Modeling Language

1. Introduction

UML est un langage de modélisation unifié (Non modèle)


Il permet de modéliser graphiquement un problème en se basant sur 9 diagrammes repartis en 2 vus (13 en
UML2) :
Vues statiques et vues dynamique

Vues Statiques Vues dynamiques

1. 1- Diagramme de classes 5- Diagramme de séquence


2. 2- Diagramme d’objets 6- Diagramme de collaboration
3. 3- Diagramme de composants 7- Diagramme d’état transition
4. 4- Diagramme de déploiements 8- Diagramme d’activité

9- Diagramme de cas d’utilisation (USECASE)

Remarque :
- UML permet de modéliser des différentes vues de l’architecture d’un système
- UML est excellent moyen pour résumer ou visualiser en amont un projet par des schémas, ceci
permet de limiter les ambiguïtés.
- UML est utilisé en phase d’analyse, afin qu’on se mette d’accord.
- UML est utilisé pour développer des applications orientée objet. Exemple : Java, C++

Cours_UML.doc Page 2 sur 18 Dernière mise à jour le 13/01/2022


COURS

UML SUITE

2. Diagramme de classes

2.1 Une classe


Une classe est un regroupement au sein d’une entité, les éléments ayant en commun les mêmes attributs et
les mêmes méthodes, elle est composée de 3 compartiments.
2.1.1 Syntaxe :
Le seul et unique champ obligatoire est le nom, les autres sont optionnels.
- 1er compartiment est Obligatoire
- 2nd compartiment caractérise l’individu, attribut, propriété
exemple : nom, prénom, âge. Si chien : couleurDePoils
- 3ème compartiment correspond à une méthode ou fonction( ) ou opération,
 c’est ce que l’individu peut faire

NomDeLaClasse
attributClasse StagiareDeAJC
attribut2Classe numMatriculeEleve
° age
° tailleEleve
° etudierCours()
attributnClasse manger()
methodeClasse()
methode2Classe()

Nom - Le nom d’une classe est obligatoire et on le retrouve dans le 1er compartiment,
Règle de nommage :
- il commence toujours par une majuscule et le mot suivant aussi par une majuscule
- aucun espace ni underscore n’est autorisé.
- Il est toujours en singulier
Exemple : Animaux, Animal.

Attributs - C’est tout ce qui caractérise une entité (une classe), ce qui lui est propre, ce sont ses propriétés.
- On les met toujours dans le 2eme compartiment, ils ne sont pas obligatoires
(On peut avoir d’autres attributs qui ne sont pas dans la liste)
Règle de nommage :
Les attributs commencent toujours par une minuscule et le mot suivant par une majuscule.

Méthode - La méthode est un service (une action) que la classe peut rendre au cours d’une relation
avec une autre classe.
Règle de nommage :
- idem avec l’attribut, mais une méthode se termine toujours par une parenthèse
potentiellement prête à prendre un argument appelé paramètre.
- Les verbes d’une fonction sont toujours à l’infinitif car c’est tout ce que la classe peut faire.

Application 1:
Représentez moi une classe voiture avec 3 attributs et 3 méthodes, faites preuve d’imagination.

2.2 Diagramme de classe


Un diagramme de classe met en relation au moins 2 classes, il permet de définir un type de relation entre un
sous-ensemble de la classe A et un sous-ensemble d’une classe B.

Remarque : On peut encapsuler l’attribut et méthode

Cours_UML.doc Page 3 sur 18 Dernière mise à jour le 13/01/2022


COURS

UML SUITE

2.3 Encapsulation :
C’est un processus selon lequel on peut masquer la visibilité d’un attribut et ou d’une méthode à des degrés
divers, il y a 3, 4 ou 5 possibilités.
+ public : les attributs et les méthodes sont accessible par toutes les classes du diagramme.
# protected : les attributs et les méthodes sont accessibles uniquement par la classe fille et la classe elle-même.
- private : les attributs et les méthodes ne sont utilisés que par la classe elle-même, c’est privé à la classe.

2.4 Relation

Une relation permet de lier des classes, il existe différent type de relation

1- Association :
2- Héritage :
3- Agrégat :
4- Agrégation fort ou composition
5- Dépendance et extension (utile en cas d’utilisation):

2.5 Multiplicité
La multiplicité permet d’indiquer le nombre d’occurrence d’une classe qui participe à une relation.

0…* De 0 à plusieurs
1…* De 1 à plusieurs
0 aucun
1 Un seul
* plusieurs
x…y De x à y

2.6 Relation du type Association


Elle permet de mettre en relation tout ou une partie d’une classe avec tout ou une partie de l’autre classe,
ses parties sont définies par des multiplicités ou cardinalité…

Eleve Examen
0…* 1…*

passe
passerExamen() etrePasse()
raterExamen()

 Au cours de la relation on matérialise une relation par un verbe conjugué (stéréotype)


 à la place de passe on peut mettre passeSonExamen ; on peut aussi mettre boude alors que la
méthode correspondant n’existe pas.
 Il faut éviter les accents
 Si il n’y a pas de flèche, on laisse la personne lire dans les 2 sens on peut aussi mettre la flèche au dessus

Cours_UML.doc Page 4 sur 18 Dernière mise à jour le 13/01/2022


COURS

UML SUITE

2.7 Relation de type héritage


Soient 3 classes contenant des attributs et de méthodes qui se répètes.
En UML, on peut regrouper ces attributs et méthodes dans une seule classe appelée classe mère qu’on va
rajouter en plus.
Les 3 classes de base appelés classes filles vont hériter des attributs et des méthodes de la mère, comme si
elles les ont, en plus de leur propre attribut et méthode spécifique.

 On dit que la fille est plus riche que la mère


 Ceci se modélise graphiquement avec une flèche dont le bout est un triangle (voir figure
encadrée)

AgentMaintenance
Professeur Eleve nom
nom nom prenom
prenom prenom age
age age numDiplome
numLicence numMatricule
manger( )
manger( ) manger() dormir( )
dormir( ) dormir()
enseigner() passerExamen()

Classe mère, super, générale

Individu

nom
prenom
age

manger()
dormir()

extends

Classe fille, spéciale


AgentMaintenance
Professeur Eleve
numDiplome
numLicence numMatricule

enseigner()
passerExamen()

Java :

L’héritage est spécifié par le mot clé extends


class ClasseFille extends ClasseMere{

}
Cours_UML.doc Page 5 sur 18 Dernière mise à jour le 13/01/2022
COURS

UML SUITE

2.8 Relation du type Agrégat


classe composite

Voiture ou classe composée

classe composante

Moteur Siege Roue

 C’est une relation au cours de laquelle une classe A appelée composite ou composée se construit à
partir de l’agrégat d’une ou plusieurs classes appelées classe composante.
 Le losange est toujours du coté de la classe composite
 On peut stéréotyper également cette relation

2.9 Relation du type Agrégat fort ou composition

Repertoire

Fichier

 Si on supprime le répertoire, on supprime le fichier


 Une relation de type composition est une relation de type agrégat qui a la particularité de voir
disparaitre la classe composante lorsque la classe composite est détruite, ceci doit être spécifié par
le client (maitre d’ouvrage), dans le doute, gardez un agrégat simple.

Application2 : Ecrire le diagramme de classe


Un avion est composé d’un réacteur, des sièges et des roues.
La destruction d’un avion entraine obligatoirement celle du réacteur.
Un avion est piloté par 2 pilotes et est réparé par plusieurs mécaniciens.

Cours_UML.doc Page 6 sur 18 Dernière mise à jour le 13/01/2022


COURS

UML SUITE

3. Diagramme de cas d’utilisation: USECASES


Exemple :

Un client retire de l’argent s’il y a un solde positif et une carte bancaire et si le guichet est approvisionné par
un agent de maintenance, il peut retirer 50 euros ou 100 euros.
Déterminer le diagramme de cas d’utilisation.

Un diagramme de cas d’utilisation est composé


1- D’acteur
2- De cas d’utilisation
3- De relation

L’acteur principal est lié au cas d’utilisation principal qui lui est relié à 0 ou plusieurs cas d’utilisation
secondaire par des relations de dépendance (include) et ou d’extension (extends)

3.1 Acteur :
C’est toute entité hors du système humaine ou non humaine qui agit sur le système et dans le but de
déclencher une action.
Un acteur est représenté par un stickman en dessous duquel on met le nom de l’acteur, on peut avoir
des acteurs principaux et secondaires.

Cours_UML.doc Page 7 sur 18 Dernière mise à jour le 13/01/2022


COURS

UML SUITE

Acteur primaire
L’acteur principal est relié au cas d’utilisation finale, on dit que c’est un acteur primaire. Il est représenté le
plus souvent à gauche du système.

Acteur secondaire
Tout autre acteur relié à d’autre cas d’utilisation secondaire est appelé acteur secondaire. Les acteurs
secondaires sont représentés à droite

3.2 Cas d’utilisation :


C’est l’action qui est menée, on le pose pour tester son utilisation dans un contexte de condition (include)
et d’option (extends), il est représenté par une ellipse

3.3 Relation : -------->


Une relation permet de relier les cas d’utilisation, on a 2 types de relation,
- La relation de dépendance qu’on stéréotype avec include (La flèche part du cas d’utilisation que
l’on veut réaliser et va vers la condition qui doit être remplie)
- La relation d’extension qu’on stéréotype avec extends (la flèche va vers le cas générale)

Application3 :

Un chauffeur conduit une voiture, il doit avoir un permis et la voiture doit avoir de l’essence.
Il peut conduire une Porsche, pour conduire une Porsche il faut que la voiture soit pleine.
Il peut conduire un camion, il faut qu’elle soit révisée.

Cours_UML.doc Page 8 sur 18 Dernière mise à jour le 13/01/2022


COURS

UML SUITE

4. Diagramme d’objets
Un objet s’obtient en instanciant une classe (le nom sera souligné) et en spécifiant les valeurs des attributs
et des méthodes qui sont implémentées.
Un diagramme d’objet est constitué d’au moins 2 objets et d’une relation entre eux.
Toutes les règles de relation vue en Diagramme de classe sont valables avec le diagramme d’objet.

Exemple :

:Eleve

nom = « toto »
age = 20

En Java : Création de l’objet Elève

Eleve eleve = new Eleve( ) ;

Cours_UML.doc Page 9 sur 18 Dernière mise à jour le 13/01/2022


COURS

UML SUITE

5. Diagramme d’activité
Définition
 Un diagramme d’activité est une succession d’action
(avant de faire le test, toujours préciser l’énoncé du test, un test est toujours suivi d’une action non
succession de test)
 Un diagramme d’activité permet de schématiser la chronologie des actions des tests.
Des arrêts des conditions jusqu'à l’obtention d’un résultat final

 C’est le seul diagramme au sein duquel on ressort toutes les conditions à respecter et toute les
solutions imposées par le client il est composé des (1, 2, 3, 4, 5, 6,7) éléments :

On a besoin de :

1. : Acteur

2. • Point de départ
3. Action
4. Test de branchement ou condition

5. Barre de synchronisation

6. Couloir d’activité ou swimlane

7. : Acteur

8. Arrêt intempestif
Erreur
FinNormale

 Ces activités sont menées par les acteurs

Cours_UML.doc Page 10 sur 18 Dernière mise à jour le 13/01/2022


COURS

UML SUITE

:Acteur1 :Acteur2

Action Action
1&111 1&111
Pont départ
[Test]
Arrêt OK
intempestif OK

Action Action
2&111 2&111

Barre de synchronisation

Exemple :

Ecrire le diagramme d’activité d’un retrait d’argent d’un client à un


Guichet Automatique de Billet (GAB)

Un client introduit sa carte, le guichet vérifie la validité de la carte.


Si la carte est valide, le guichet demande un code.
Le client saisit alors le code.
Celui-ci sera analysé par le guichet.
S’il est correct, le guichet demande le montant du retrait,
Le client saisit le montant.
Le guichet demande alors une autorisation à la « centrale bancaire » qui vérifiera le solde.
Si le solde est positif, la centrale bancaire donne son accord et le transmet au guichet qui par conséquent
autorise le retrait.
Il demande alors au client s’il désire avoir un ticket.
- Si « oui » un ticket lui est imprimé le ticket
- Si « non » sa carte lui est remise
Dans tous les cas le guichet donne le billet que le client récupère par la suite.
Une vérification est faite à cet effet.
A la fin de la transaction, le guichet rend la carte.

Cours_UML.doc Page 11 sur 18 Dernière mise à jour le 13/01/2022


COURS

UML SUITE

Centrale Bancaire
: Client : GAB (Guichet Automatique
Billet)

introCarte verifCarte
ok
[carte valide]
ok
demandeCode [Code invalide] au bout de 2 fois, ça s’arrête (pas
&111 besoin de test d’arrêt du genre carte avalée)
analyseCode 2fois
saisirCode

Ok
demandeMontant
saisirMontant
verficationSolde
demandeAutorisation

[ solde+] [solde-]
donneAutorisation

demandeSiTicketVoulu

remiseCarte
reponseDemande

repriseCarte

dossierNumeraireTicket

prendreNumeraire

Cours_UML.doc Page 12 sur 18 Dernière mise à jour le 13/01/2022


COURS

UML SUITE

6. Diagramme de sequence:
 C’est un diagramme qui permet de mettre en valeur les échanges de flux de message entre les
différents acteurs de notre système.
 Un message peut être synchrone (besoin de réponse avant de continuer) Ou asynchrone
 Ce diagramme comporte une ligne de vie qui matérialise la déclaration du processus ou de l’objet
Et la ligne d’activité qui matérialise le début d’activité de processus ou l’objet.
 La ligne de vie doit être « killer » à la fin de l’existence de l’objet.
 Les lignes d’activités peuvent être continue ou discontinue si le temps de réponse est court ou long.
 Dès qu’on matérialise les acteurs, on donne vie à tous les acteurs
 On peut matérialiser les réponses par

On a besoin :

1. Acteur : Acteur

2. Ligne de vie
X Kill de vie

3. Ligne d'activité

4. Annonce test (facultatif)

5. Axe de temps (facultatif)

6. Flux de messages

: Acteur1 : Acteur2 : Acteur 3

M Message
Me

Rep
Message
Rep

Rep Rep
X
Message X

X X
X
X
Cours_UML.doc Page 13 sur 18 Dernière mise à jour le 13/01/2022
COURS

UML SUITE

Exemple :
Ecrire le diagramme d’activité d’un retrait d’argent d’un client à un
Guichet Automatique de Billet (GAB)

Un client introduit sa carte, le guichet vérifie la validité de la carte.


Si la carte est valide, le guichet demande un code.
Le client saisit alors le code.
Celui-ci sera analysé par le guichet.
S’il est correct, le guichet demande le montant du retrait,
Le client saisit le montant.
Le guichet demande alors une autorisation à la « centrale bancaire » qui vérifiera le solde.
Si le solde est positif, la centrale bancaire donne son accord et le transmet au guichet qui par conséquent
autorise le retrait.
Il demande alors au client s’il désire avoir un ticket.
- Si « oui » un ticket lui est imprimé le ticket
- Si « non » sa carte lui est remise
Dans tous les cas le guichet donne le billet que le client récupère par la suite.
Une vérification est faite à cet effet.
A la fin de la transaction, le guichet rend la carte.

: Client : GAB : Centrale

introCarte

demandeCode

saisitCode loop

demMontant [Analyse code]

saisiMontant

demandeAutorisation
[Vérifie Solde]
autoriseRetrait
donneAccord
X
demandeSiTicketVoulu
reponseDemande
donneTicket

donneBillet
nn retraitBillet

rendCarte

X X

Pour matérialiser les réponses


Loop : si répétition d’action

Cours_UML.doc Page 14 sur 18 Dernière mise à jour le 13/01/2022

Vous aimerez peut-être aussi