Académique Documents
Professionnel Documents
Culture Documents
U : 2023/2024
UML
Chapitre 1 :
Préparé par : Pr. Baidada chafik
PLAN
• Modélisation
• Historique d’UML2
2
Modélisation
3
Modélisation
4
Modélisation
5
Modélisation
• Approche fonctionnelle :La sémantique des concepts ;
• Décomposer la fonction globale jusqu'à obtenir des fonctions simples à
appréhender et donc à programmer.
C'est la fonction qui donne la forme du système
6
Modélisation orientée objets
7
Avantages de MOO
8
PLAN
• Modélisation
• Historique d’UML2
9
Historique
- 2002 UML
2.0
- 1999 UML
1.3
Soumission à l’OMG
- 1997 U M L 1.1
- 1997 UML
1.0
- 1996 U M L 0.9
10
Qu’est ce que UML ?
11
Axes de modélisation
▪ Axe structurel
• modélisation statique du système
• quels objets manipule le système ?
• détermination du QUOI
▪ Axe fonctionnel ( interaction)
• modélisation des traitements offerts par le système
• que fait le système ?
• détermination du COMMENT
▪ Axe comportemental / dynamique
• modélisation dynamique du système
• sous quelles conditions agit le système ?
• détermination du QUAND
12
Diagrammes d'UML
Diagramme UML2.0
Diagramme
Diagramme Diagramme Diagramme de Diagramme Diagramme
Diagramme de déploiement
des de séquence communication de temps d’interaction
de structures paquetages globale
composites
13
PLAN
• Modélisation
• Historique d’UML2
14
UML
Diagrammes de cas d’utilisations
15
16
Diagramme des cas d’utilisation
17
Diagramme des cas d'utilisation
• Cas d'utilisation
18
Relation entre cas
Cas d’utilisation
Act1e9 urs
Acteurs
Cas d'utilisation
Les cas d’utilisations :
• sont des unités cohérentes représentant une
fonctionnalité visible de l'extérieur
• Un cas d’utilisation est un service rendu à un acteur sans
imposer le mode de réalisation de ce service
• Un cas d'utilisation est représenté par une ellipse en
trait plein, contenant son nom ou une classe
stéréotypée.
20
Acteurs
• Un acteur est un rôle joué par une entité externe qui agit sur le
système (Comptabilité, service commercial, …), en échangeant de
l’information (en entrée et en sortie)
• Le terme acteur ne désigne pas seulement des utilisateurs humains
mais également les autres systèmes (machines, programmes, …)
Remarques:
• La même personne physique peut jouer le rôle de plusieurs acteurs (Chef d’agence
est un client de la banque).
• D’autres part, plusieurs personnes peuvent jouer le même rôle, et donc agir
comme un même acteur (plusieurs personnes peuvent jouer le rôle
d’administrateur).
21
Acteurs
Nom Acteur
<<Acteur>>
• Classe stéréotypée Nom Acteur
22
Acteurs ( exemple)
<<acteur>>
Secrétaire Site Web de l'établissement
Etudiant
Système de Gestion
Scolaire
<<acteur>>
Imprimante
23
Acteurs
Une relation d'association est chemin de communication entre un acteur
et un cas d'utilisation et est représenté un trait continu
24
Acteurs
Un acteur peut être une spécialisation
d'un autre acteur déjà défini.
Dans ce cas, on utilise la relation de Acteur général
généralisation/spécialisation.
Acteur spécialisé
25
Structuration des cas d'utilisation
26
Relation d'inclusion
• A inclut B : le cas A inclut obligatoirement le comportement
définit par le cas B; permet de factoriser des fonctionnalités
partagées
• Le cas d'utilisation pointé par la flèche (dans notre cas B) est une
sous partie de l'autre cas d'utilisation (A, dans notre exemple).
<<include>>
27
Relation d'inclusion
Les cas d'utilisation "Déposer de
l'argent", "Retirer de l'argent",
Retirer de l'argent "Effectuer des virements" et "Consulter
solde" incorporent de façon explicite le
cas d'utilisation "S'authentifier", à un
endroit spécifié dans leurs
<<include>>
enchaînements.
Déposer de l'argent
<<include>>
S'authentifier
<<include>>
Effectuer des virements
<<include>>
Consulter solde
28
Relation d'inclusion
29
Relation d'extension
• Le CU source (B) ajoute, sous certaines conditions, son
comportement au CU destination (A)
• En d’autres termes, le CU B peut être appelé au cours de
l’exécution du CU A
A
B Point d'insertion
<<extend>>
31
Relation d'extension
32
Relations d’inclusion VS d'extension
33
Relation d'héritage
34
Relation d'héritage : Exemple
35
Relation d'héritage : Exemple
36
Relation d'héritage : Exemple
Reserver voyage
37
Relations entre cas d’utilisation : Exemple
Petit exercice:
Un client peut effectuer un virement bancaire. Le virement peut
être effectué sur place par un client local ou effectué à distance
par un client distant via Internet. Les deux clients doivent être
identifié pour effectuer un virement , mais si le montant dépasse
500DH, la vérification du solde de son compte est réalisée.
38
Relations entre cas d’utilisation
<<include>>
Identification
Client distant
Client local
40
Description des cas d’utilisation
• Le diagramme de cas d’utilisation décrit les grandes fonctions
d’un système du point de vue des acteurs.
• Mais il n’expose pas de façon détaillée le dialogue entre les
acteurs et les cas d’utilisation.
• ➔ nécessité de décrire ce dialogue
• Deux façons sont couramment utilisées pour décrire les cas
d’utilisation :
• Description textuelle
• Description à l’aide d’un diagramme de séquence (voir la suite du
cours )
40
Description des cas d’utilisation (description textuelle)
•Identification
• Nom du cas : authentification
• Objectif : détaille les étapes permettant à utilisateur à se connecter
• Acteurs : Utilisateurs
41
Description textuelle Exemple :
• Exemple
42
Diagramme des cas d'utilisation ( exemple)
Déposer de l'argent Retenir la carte
Client
<<include>>
Retirer de l'argent <<extend>>
<<include>>
<<include>>
echnicien
R é p a re r
44
Exercice :
45
Exercice :
45
UML
Diagrammes de séquences
46
Diagramme de séquences
47
Diagramme de séquences
• Le diagramme de séquence modélise l’aspect dynamique du
système
• Il s’agit d’une séquence d’interaction d’un point de vue
temporel des acteurs et le système.
Cas d’utilisation :
Est documenté par
Analyse Conception
• Le système est une boite noire • Le système est une boite blanche
• Le système est modélisé comme une • Le système est modélisé comme étant
seul entité un ensemble d’entité
• on ne s’intéresse as au composant du • On s’intéresse à chaque composante du
système système intervenant dans le CU 48
Diagramme de séquences
49
Diagramme de séquences
• Objet et acteur
• Message
• Ligne de vie
50
Diagramme de séquences ( Objet)
51
Diagramme de séquences
Acteur
Objet
52
Diagramme de séquences ( message)
53
Diagramme de séquences : Exemple
• Période d’activité
• Types de messages
• Création et destruction d’objets
• Fragments combinés
55
Période d’activité
Objet_2 Objet_1
Message_1
56
Messages
• Traduisent les interactions (échange d’informations) entre
objets
• Représentés par des flèches orientées de l’émetteur au
récepteur
• Plusieurs types :
• Message simple (d’appel)
• Message de retour
• Message synchrone
• Message asynchrone
• Message récursif
57
Message simple
Message pour lequel on ne spécifie aucune information d’envoi ou
de réception
Objet_1 Objet_2
Message_1
58
Message de retour
Message qui survient en réponse à à un message.
Il est représenté en flèche pointillée
59
Message synchrone (appel de procédure)
• Bloque l’expéditeur jusqu’à la prise en compte du message par le récepteur
• Le contrôle est passé de l’émetteur au récepteur qui devient à son tour
émetteur (actif)
Client Serveur
Objet_2 Objet_1
Sollitation
Acceptation
Message_1 Requête
Réponse
Objet_2 Objet_1
Message_1
61
Message récursif
• Appelé aussi message réflexive
• Message envoyé d’un objet vers lui-même.
Client GAB
Objet_1
Introduire carte
Vérification validité
Message_1
Demande code accès
Objet_1 Objet_3
Message_1
Objet_2
Création d’objet
Message_2
63
Fragments combinés
64
Fragments combinés
alt)
• Alternative (
• Option (opt)
• Boucle (loop)
• Parallèle (par)
65
Fragments combinés alternative (alt)
▪ fragment représente un choix
▪ Similaire à un « switch » en C
66
On remarque ici une référence (ref) ver6s7 un diagramme défini ailleurs.
Fragments combinés option (opt)
• Équivalent à un opérateur alternative avec une seule condition
• Il ne possède pas l'opérande else ➔ une sorte de SI...ALORS.
• Cas particulier du alt.
• Les interactions contenues dans le fragment ne seront réalisées que si la
condition de garde est vérifiée.
68
Fragments combinés boucle (loop)
▪ Opérateur loop
▪ Permet de spécifier une boucle
69
Fragments combinés : boucle
71
Fragments combinés parallèle (par)
72
Fragments combinés Exemple: parallèle (par)
74
CONCLUSION
• Diagramme de séquence