uml diagrammes dynamiques
Post on 08-May-2015
397 Views
Preview:
TRANSCRIPT
1
Génie logiciel et méthodes de conception orientées objetp j
UMLModélisation dynamique
A. ABDELLATIFabdelaziz.abdellatif@fst.rnu.tn
2012-2013
GL & MCOO A. Abdellatif
Sommaire
IntroductionDiagramme des cas d’utilisationDiagramme de séquencesDiagramme de collaborationDiagramme états-transitions
UML : Modélisation dynamique 2
Diagramme d’activités Synthèse
2
GL & MCOO A. Abdellatif
Modélisation dynamique : Introduction
La modélisation dynamique d’un systèmeconsiste à décrire son comportement lorsconsiste à décrire son comportement lorsde sa réaction à son environnement.Elle se fait à l’aide des diagrammessuivants :
Diagramme des cas d’utilisationDiagramme de séquencesDiagramme de collaborationDi ét t t iti
UML : Modélisation dynamique 3
Diagramme états-transitionsDiagramme d’activités
Diagramme des cas d’utilisation
3
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Présentation
Représente les utilisations possibles d’un systèmepar les différents acteurs.pReprésente le système du point de vue del’utilisateur.Le concept de cas d’utilisation (use case) a étéintroduit par Ivar Jacobson (OOSE).Un cas d’utilisation représente une manière d’utiliserun système.Les cas d’utilisation constituent un moyen efficacepour représenter les besoins des utilisateurs et les
UML : Modélisation dynamique 5
p pstructurer.Autres utilisations des cas d’utilisation :
Test du nouveau systèmeUtilisation du nouveau système.
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation: Concepts de base
Le diagramme des cas d’utilisation se base surles concepts suivants :les concepts suivants :
Système : Représente le domaine étudié. Il permetde déterminer les limites au-delà desquelles lesfonctionnalités seront exclues.Acteur : Représente un rôle joué par une personneou un système qui interagit avec le système.Cas d’utilisation : Représente une interaction entre
t t l tè
UML : Modélisation dynamique 6
un acteur et le système.Association : C’est une association entre acteurs,entre cas d’utilisation ou entre acteur et casd’utilisation.
4
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Représentation du système
Nom système
UML : Modélisation dynamique 7
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Les acteurs
Un acteur est toute entité qui joue un rôle, actif ou passif vis-à-vis du systèmepassif, vis-à-vis du système
Un acteur peut être :
Un utilisateur direct du système,
Un administrateur (assure la maintenance) du système,
Tout autre système externe avec lequel le système
UML : Modélisation dynamique 8
interagit.
Une même personne ou système peut jouer le rôle de plusieurs acteurs.
5
GL & MCOO A. Abdellatif
Classification des acteurs
Classification selon l’importance des acteurs:
Acteurs principaux : Ceux qui agissent sur le système.Acteurs secondaires : Ceux sur lesquels le système agit.
UML : Modélisation dynamique 9
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Représentation d’un acteur
Trois représentations possibles :
Nom acteur
<<Actor>>Nom acteur
Nom acteur
Exemples :
UML : Modélisation dynamique 10
Utilisateur
<<Actor>>Système de contrôle Administrateur
6
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Description des acteurs
La représentation graphique des acteurs peut être complétée par une description textuelle.La description d’un acteur doit indiquer :
Le rôle de l’acteur (texte libre)Le type de l’acteur (principal ou
UML : Modélisation dynamique 11
Le type de l acteur (principal ou secondaire)
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Relations entre acteurs
Possibilité de relier des acteurs par une association de généralisation.
Acteur 1 Utilisateur
Exemple :
UML : Modélisation dynamique 12
Acteur 2 Acteur 3Client Administrateur
p
7
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Les cas d’utilisation
Un cas d’utilisation constitue une abstraction d’ di l t t t l tèd’un dialogue entre un acteur et le système.
Il représente une fonction qui doit être assurée par le système.
A un cas d’utilisation correspond un ensemble de scénarios.
UML : Modélisation dynamique 13
Similitude :
Cas d’utilisation Classe
Scénario instance de cas d’utilisation
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Utilisation des cas d’utilisation
Les cas d’utilisation sont essentiellement utilisés pour ladéfinition des besoinsdéfinition des besoins.
Ils peuvent être également utilisés :
Par les analystes pour comprendre les fonctions du système.
Par les développeurs pour réaliser le logiciel.
Par les architectes pour concevoir des scénarios de
UML : Modélisation dynamique 14
déploiement.
Par les testeurs pour tester le logiciel.
Le processus unifié est guidé par les cas d’utilisation.
8
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Représentation de cas d’utilisation
nom cas utilisation
UML : Modélisation dynamique 15
Enregistrer commande
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Description de cas d’utilisation
Chaque cas d’utilisation peut être décrit par :
Une description textuelleUn ou plusieurs diagrammes de séquenceUn ou plusieurs diagrammes de
UML : Modélisation dynamique 16
collaboration
9
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Description textuelle
La description textuelle d’un cas d’ tili ti t t l élé t d’utilisation peut comporter les éléments suivants :
Sommaire d’identification (titre, but, résumé, acteurs, version, responsable)Description des enchaînements (pré conditions, fonctionnement normal,
UML : Modélisation dynamique 17
, ,exceptions, post-conditions)Besoins en IHMContraintes non fonctionnelles
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Associations
Un diagramme de cas d’utilisations peut comporter trois types d’associations :
Association entre acteurs (généralisation)Association entre acteur et cas d’utilisation (communication)Association entre cas d’utilisation
UML : Modélisation dynamique 18
(utilisation, extension)
10
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Association entre acteur et C. U.
Tout acteur est associé à au moins un cas d’utilisationd utilisation.Tout cas d’utilisation est associé à au moins un acteur.L’association représente la communication entre l’acteur et le système pour réaliser le cas d’utilisation.
UML : Modélisation dynamique 19
Acteur 1
CU1
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation: Association entre acteur et C. U.
Une association entre un acteur et un cas d’ ili i ê i é d’utilisation peut être orientée ou non.Lorsqu’elle est orientée, elle indique le type de l’acteur : principal ou secondaire.
CU1 CU1
UML : Modélisation dynamique 20
Acteur 1
Acteur principal
Acteur 1
Acteur secondaire
11
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Association entre C. U.
Généralement les cas d’utilisation ne sont pas reliées par des associations.pas reliées par des associations.Dans certains cas, des associations peuvent établies entre cas d’utilisation.Deux types d’associations :
Association d’utilisation (Use) ou d’inclusion (Include)Association d’extension (Extend)
Le type de l’association est précisé sous
<<type>>
CU1
UML : Modélisation dynamique 21
Le type de l association est précisé sous forme de stéréotype.
CU2
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Association d’utilisation (include)
<<include>>CU1
L’association d’utilisation (use) ou d’inclusion (include) entre un CU1 et CU2 signifie que CU1 comprend le comportement de CU2.
CU1CU2
Enregistrer factureExemple :
UML : Modélisation dynamique 22
<<include>>
<<include>>Enregistrer commande
Identification
gExemple :
12
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Association d’utilisation (include)
L’association d’utilisation (use) ou CU1
d’inclusion (include) permet de:Factoriser les traitements communs à plusieurs cas d’utilisation.Découper les cas d’utilisation complexes.
<<include>>
CU1
UML : Modélisation dynamique 23
CU2
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Association d’extension (extend)
CU1
L’association d’extension (extend) entre un CU1 et CU2 signifie que CU1 étend le comportement de CU2.
<<extend>>CU1
CU2
Exemple :
UML : Modélisation dynamique 24
Exemple :
<<extend>>Virement internet
Virement
13
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation : Association d’extension (extend)Lorsque l’extension est conditionnelle, un point d’extension est précisé dans le cas d’extension cible d’extension est précisé dans le cas d’extension cible.
<<extend>>CU1
CU2Point
extension
Exemple :
UML : Modélisation dynamique 25
<<extend>>Créer client
Enregistrer commande
Client inexistant
GL & MCOO A. Abdellatif
Exemple de diagramme de C.U.: Bibliothèque
<<include>>
<<include>>
<<include>>
Abonné
Sce abonnement
Gérer abonnement
Enregistrer emprunt s'authentifier
UML : Modélisation dynamique 26
<<extend>>
Bibliothécaire
Enregistrer retour Sanctionner abonnéHors délai
14
Diagramme de séquenceg q
GL & MCOO A. Abdellatif
Diagramme de séquence : Présentation
Ce diagramme représente les interactions l bj d i d lentre les objets de point de vue temporel.
Il permet de détailler un diagramme de cas d’utilisation.Un diagramme de séquence décrit un scénario d’un cas d’utilisation.Un diagramme de séquence représente :
UML : Modélisation dynamique 28
Un diagramme de séquence représente :Le système actuel en phase d’analyse.Le futur système en phase de conception.
15
GL & MCOO A. Abdellatif
Diagramme de séquence : Concepts de base
Le diagramme de séquences se base surles concepts suivants :
Objet : Description d’un objet du monde réel(instance de classe). Il peut être unepersonne ou une chose.Message : C’est le véhicule de la
i ti t l bj t
UML : Modélisation dynamique 29
communication entre les objets.
GL & MCOO A. Abdellatif
Diagramme de séquence : Représentation des objets
Objet1 Object2:Class1 :Class2
Ligne de vie de l’objet
UML : Modélisation dynamique 30
Le premier objet d’un diagramme de séquence représente généralement un utilisateur du système. Il peut être représenté comme un acteur. Acteur 1
16
GL & MCOO A. Abdellatif
Diagramme de séquence : Représentation des messages
Objet1 Objet2 objet3Émetteur
Message_2
Message_1
Émetteur
Ch
ron
olo
gie
UML : Modélisation dynamique 31
Récepteur
GL & MCOO A. Abdellatif
Diagramme de séquence : Types d’envoi de messages
L’envoi d’un message entre deux acteurs peut être :
Objet1 Objet2
acteurs peut être :Synchrone : l’objet émetteur est bloqué jusqu’à ce que le récepteur termine le traitement du message.Asynchrone : l’objet émetteur est libre dés que le message est émis.
Objet1 Objet2
Message synchrone
UML : Modélisation dynamique 32
est émis.
Message asynchrone
17
GL & MCOO A. Abdellatif
Diagramme de séquences : Durée de transmission de message
Lorsque la durée de transmission d’un message est importante, elle peut être représentée graphiquement :
Message qui dure
Objet1 Objet2
UML : Modélisation dynamique 33
GL & MCOO A. Abdellatif
Diagramme de séquences : Message réflexif
Un objet peut envoyer un message à lui-même: c’est un message réflexif.
Message reflexif
objet3 Remarque :Il s’agit généralement d’un objetcomposite.
UML : Modélisation dynamique 34
18
GL & MCOO A. Abdellatif
Diagramme de séquences : Message de création d’objet
Dans certains cas, Objet1
un objet n’existe pas initialement. Il est créé par un message.
CréerObjet2
UML : Modélisation dynamique 35
GL & MCOO A. Abdellatif
Diagramme de séquences : Message de suppression d’objet
Dans certains cas, un objet disparaîtdans un diagramme de séquence. Il est détruit par un message.
Objet1 Objet2
UML : Modélisation dynamique 36
Détruire
19
GL & MCOO A. Abdellatif
Diagramme de séquences : Période d’activité d’objet
Dans certains cas, il Objet 1 Objet 2
est utile de représenter la période pendant laquelle un objet est actif : période
Activation
Objet 1 Objet 2
UML : Modélisation dynamique 37
d’activité.
GL & MCOO A. Abdellatif
Diagramme de séquences : Message de retour
Dans le cas d’activation d’ bj t d’un objet par un message synchrone, le message de retour est implicite.Dans le cas d’activation d’un objet par un message asynchrone, le message de retour doit être représenté
Retour
Activation
Objet 1 Objet 2
UML : Modélisation dynamique 38
retour doit être représenté explicitement.
20
GL & MCOO A. Abdellatif
Diagramme de séquences : Message conditionnel
Dans certains cas, l’envoi d’un message est soumis à ditià une condition.
Objet 1 Objet 2
UML : Modélisation dynamique 39
[condition]: Message
GL & MCOO A. Abdellatif
Diagramme de séquences : Messages itératifs
Dans certains cas, l’envoi d’un ou plusieurs t êt d it d f ité timessages peut être reproduit de façon itérative.
Message 1
Objet 1 Objet 2
While condition loop
UML : Modélisation dynamique 40
End loop
21
Diagramme de collaborationg
GL & MCOO A. Abdellatif
Diagramme de collaboration : Présentation
Un diagramme de collaboration décrit les interactions entre les objets (comme le diagramme de séquence).Il met l’accent sur la structure spatiale.Il est assez proche du diagramme
UML : Modélisation dynamique 42
Il est assez proche du diagramme d’objets.
22
GL & MCOO A. Abdellatif
Diagramme de collaboration : Concepts de base
Le diagramme de collaboration se base sur lesiconcepts suivants :
Objet : Description d’un objet du monde réel(instance de classe). Il peut être une personne ouune chose.Lien : Relation structurelle entre deux objets..Message : C’est le véhicule de la communication
t l bj t
UML : Modélisation dynamique 43
entre les objets.Collaboration : C’est une relation contextuelle entreun ensemble d’objets qui collaborent ensemble pouratteindre un objectif.
GL & MCOO A. Abdellatif
Diagramme de collaboration : Représentation d’un objet
Les objets sont représentés comme dans le diagramme d’objets :
Nom objet Nom objet:Nom classe :Nom classe
Objet nommé Objet nommé avec sa classe Objet anonyme
UML : Modélisation dynamique 44
:Classe 1
Objet multiple PersonneActeur 1
23
GL & MCOO A. Abdellatif
Diagramme de collaboration : Représentation des liens
Les liens sont représentés comme dans le diagramme d’objets :
Objet 1 Objet 2
Cl 1Objet 1
UML : Modélisation dynamique 45
:Classe 1Objet 1
GL & MCOO A. Abdellatif
Diagramme de collaboration : Représentation des messages
Émetteur Récepteur
Message objet 2Objet 1
UML : Modélisation dynamique 46
Imprimer page :Imprimante:Programme
Exemple :
24
GL & MCOO A. Abdellatif
Diagramme de collaboration : Messages réflexifs
Remarque :
Message 1Objet 1
UML : Modélisation dynamique 47
Remarque :Il s’agit généralement d’objets composites : un objet composé envoie un message à un de ses objets composants.
GL & MCOO A. Abdellatif
Lorsque le diagramme de collaboration comporte l i il d i t til d é t
Diagramme de collaboration : Ordre des messages
2: Faire cela
1: Faire ceci
Objet 2
Objet 1
Objet 3
plusieurs messages, il devient utile de représenter l’ordre d’envoi de ces messages.
N° de séquence
UML : Modélisation dynamique 48
3: Faire autre chose
Objet 4
25
GL & MCOO A. Abdellatif
Dans un diagramme de collaboration, tous les messages ne correspondent pas à une seule activité. Il devient utile d’introduire:
Diagramme de collaboration : Hiérarchisation dans l’ordre des messages
Un partitionnement des messages (groupes de messages)Une hiérarchie de messages
La forme générale du numéro de séquence d’un message est :N°séquence ::= n°|nom{.N°séquence}
Exemples :11.22.1.1
3.1: Message ...2.1: Message ...
1: Message ...Objet 1 Objet 2
Objet 3 Objet 5
UML : Modélisation dynamique 49
5.1.a5.1.bB.2B.3
3.2: Message ...
2.2: Message...
Objet 4 Objet 6
GL & MCOO A. Abdellatif
La synchronisation dans un message est le f it l’ i d d i t diti é
Diagramme de collaboration : Synchronisation des messages
fait que l’envoi de ce dernier est conditionné par l’envoi préalable d’autres messages.La forme générale de la synchronisation est :
Synchronisation ::= N°séquence {, N° séquence}/
UML : Modélisation dynamique 50
Exemples :1 /1.2, 1.3 /
26
GL & MCOO A. Abdellatif
Exemple :
Diagramme de collaboration : Synchronisation des messages
3.2: Message ...
3.1: Message ...2.1: Message ...
1: Message ...
3.1, 3.2/ 4: Message ...
Objet 1 Objet 2
Objet 3 Objet 5
UML : Modélisation dynamique 51
2.2: Message...
Objet 4 Objet 6
GL & MCOO A. Abdellatif
L’envoi d’un message peut être soumis à une diti
Diagramme de collaboration : Messages conditionnels
condition.La forme de la condition est :
Condition ::= [Condition]Exemples :
[a>b][i<=5]
UML : Modélisation dynamique 52
[ ]
1[a<b]: Message ...Objet 1 Objet 2
27
GL & MCOO A. Abdellatif
L’envoi d’un message peut être répétitif.
Diagramme de collaboration : Messages itératifs
La forme de l’itération est :Itération ::= *[Condition]
Exemples :*[i := 1..n]*[a<=b]
1*[i:=1 n]: Message
UML : Modélisation dynamique 53
1 [i:=1..n]: Message ...Objet 1 Objet 2
GL & MCOO A. Abdellatif
L’appel d’un message peut préciser les t d’ l
Diagramme de collaboration : Arguments d’appel d’un message
arguments d’appel.La forme de l’itération est :
nom_message(arg1, arg2, …)Exemple :
soustraire(date_fin, date_debut)
UML : Modélisation dynamique 54
1: Soustraire(date_fin, date_début)Objet 1 Objet 2
28
GL & MCOO A. Abdellatif
Un objet actif est un objet qui contrôle les autres bj t
Diagramme de collaboration : Notion d’objet actif
objets.
2: Faire cela
1: Faire ceci
Objet 1
Objet 2
Objet 3
Objet actif
1: Lire fichier
3: Ecrire fichier:Programme
:DisqueExemple :
UML : Modélisation dynamique 55
3: Faire autre chose
Objet 4
2: Imprimer
:Imprimante
GL & MCOO A. Abdellatif
Diagramme de collaboration : Création et destruction d’objets
Un message peut créer ou détruire un autre objet. Création d’objet :Création d objet :
Destruction d’objet :
CréerObjet 1 Objet 2 Objet 1 Objet 2{nouveau}
UML : Modélisation dynamique 56
Objet 1 Objet 2
{détruit}
DétruireObjet 1 Objet 2
29
GL & MCOO A. Abdellatif
Les diagrammes de collaboration, l di d é
Diagramme de collaboration : Similitude diagramme séquence/collaboration
comme les diagrammes de séquence, permettent de donner une représentation détaillée des diagrammes de cas d’utilisation.Inutile de faire les deux diagrammes: un seul suffit
UML : Modélisation dynamique 57
un seul suffit.Possibilité de déduire l’un des diagrammes à partir de l’autre.
GL & MCOO A. Abdellatif
Diagramme de collaboration : Exemple
Objet 1
Message_3
Message_2
Message_1
Objet 1 Objet 2 Objet 3
3: Message_3
2: Message_2
1: Message_1
Objet 2 Objet 3
UML : Modélisation dynamique 58
Message_4
4: Message_4
30
Diagramme d’états-transitionsg
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Présentation
Représente les états possibles des objets d’uneclasse donnée ainsi que les transitions entre lesclasse donnée ainsi que les transitions entre lesétats.Représente la dynamique des objets d’une classe.Se base sur le principe d’automate.Une classe, lorsqu’elle a une dynamique nonnégligeable, dispose de son automate, représentésous forme de diagramme d’états transitions.Les classes n’a ant pas de d namiq e impo tante
UML : Modélisation dynamique 60
Les classes n’ayant pas de dynamique importante,n’ont pas besoins d’un diagramme d’états-transitions.
31
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Concepts de baseLe diagramme d’états-transitions se base sur les conceptssuivants :suivants :
État : C’est la situation, à un instant donné, d’un objet. Ilest déterminé par les valeurs des propriétés de l’objet à cetinstant.Transition : Représente le passage d’un objet d’un état àun autre.Événement : C’est la combinaison d’un ensembled’informations pour déclencher une transition.
i C d à é ( é h d ) d l
UML : Modélisation dynamique 61
Action : Correspond à une opération (ou méthode) de laclasse qui sera exécuté lorsqu’un événement a lieu.Activité : C’est une action particulière dont l’exécutiondure dans le temps..
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Les états
Un état représente la situation, à un instant donné, d’un objet.
é dé é l l d é é d l’ bUn état est déterminé par les valeurs des propriétés de l’objet à cet état.
Pour chaque objet, il y a trois types d’états :
État initial : C’est l’état dans lequel se trouve l’objet lorsqu’il est créé. Chaque objet a un et un seul état initial
État intermédiaire : Ce sont les différents états par lesquels le système peut passer depuis sa création jusqu’à
UML : Modélisation dynamique 62
sa destruction. Un objet peut avoir plusieurs états intermédiaires.
État final : C’est l’état qui met fin à la vie de l’objet. Un objet peut ne pas avoir d’état final (objet éternel), un seul ou plusieurs états finaux.
32
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Représentation des états
Et t i t édi i
Exemples :
Etat initial
Etat intermédiaire
Etat final
Livre emprunté
UML : Modélisation dynamique 63
Nouveau livre
Livre emprunté
Livre perdu
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Les transitions
Une transition représente le passage d’un objet d’un état à un autre objet d un état à un autre. Une transition est une connexion unidirectionnelle entre un état source et un état de destination.La source et la destination peuvent correspondre à un même état (boucle).
é
UML : Modélisation dynamique 64
Une transition est toujours instantanée. Lorsqu’elle dure, il faut prévoir un état intermédiaire.
33
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Représentation des transitions
Etat source Etat destination
Etat X
UML : Modélisation dynamique 65
Etat X
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Exemple de transition
Nouveau livre
EmpruntéEn attente
Lecture fichier
UML : Modélisation dynamique 66
Livre perdu
Fermeture fichier
34
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Les événements
Un événement est la combinaison d’un bl d’i f i dé l h ensemble d’informations pour déclencher
une transition d’un état vers un autre.Un événement est associé à une transition.Un événement est décrit par :
Un nom,Une liste de paramètres
UML : Modélisation dynamique 67
Une liste de paramètres.
Nom_evenement (nom_paramètre : type, …)
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Représentation des événements
Type argument
Evenement 1(p1:int, p2:char)Etat 1 Etat 2
Type argument
UML : Modélisation dynamique 68
Nom événement Nom argument
35
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Exemples d’événements
Nouveau livre non_fin_fichier()
Enregistrement livre(date_enr : date)
Enregistrer retour(date_retour:date)
Enregistrement emprunt(num_abonne:int, date_emp:date)
EmpruntéEn attente
Fin_fichier()
_ _ ()
Lecture fichier
UML : Modélisation dynamique 69
declarer perte(date_perte:date)
Livre perdu
Fermeture fichier
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Conditions sur événements (gardes)
Dans certains cas, un événement ne peut déclencher une transition que lorsqu’une condition est vérifiée.Une condition associée à un événement est appelée garde.
UML : Modélisation dynamique 70
Evenement [Condition]Etat 1 Etat 2
36
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Conditions sur événements :exemple
Remarque :qLes conditions doivent être mutuellement exclusives.
Trop chaud [Eté] Trop chaud [Hiver]
Arrêt
AérerCli ti
UML : Modélisation dynamique 71
AérerClimatiser
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Les actions
Un diagramme d’états-transitions est relatif à une classeclasse.Une classe comporte un ensemble d’opérations.Une transition, déclenchée par un événement, fait passer un objet d’un état à un autre.L’opération qui sera exécutée sur l’objet cible lorsque l’événement a lieu est dite action.L’exécution d’une action est instantannée.
è é é
UML : Modélisation dynamique 72
L’action utilise les paramètres de l’événement.
Evenement 1/ Action 1Etat 1 Etat 2
37
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Les actions : représentation
Evenement 1/ Action 1Etat 1 Etat 2
Exemple :
Demande emprunt/ Enregistrer emprunt
UML : Modélisation dynamique 73
Demande emprunt/ Enregistrer empruntEmpruntéDisponible
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Les actions
Lorsqu’un objet qui se trouve dans un état é édonné peut exécuter plusieurs actions, ces
actions sont représentées à l’intérieur de l’état.Ces actions sont exécutées :
à l’entrée de l’étatà l ti d l’ét t
UML : Modélisation dynamique 74
à la sortie de l’étatlors de la réalisation d’un événement interne à l’état
38
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Les actions
Etat 2
Exemple :
entry / Action_1exit / Action_2Evenement 1() / Action_3
Di ibl
UML : Modélisation dynamique 75
Retour livre EmpruntéDisponible
entry / Enregistrer retourexit / Enregistrer sortieDemande durée dispo() / Clacul durée disponibilité
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Les activité
Une activité est une opération qui s’exécute é élorsqu’un objet se trouve dans un état donné.
Une activité se distingue par rapport à une action par le fait que :
Une action est instantanéeUne activité dure dans le temps.
UML : Modélisation dynamique 76
Etat 2
do / Opération
En restauration
do / Réparer
39
GL & MCOO A. Abdellatif
Diagramme d’états-transitions : Généralisation d’états
Le principe de généralisation peut être utilisé pour simplifier un diagramme d’états-pour simplifier un diagramme d étatstransitions.Deux ou plusieurs états qui peuvent être un état de départ pour le même état peuvent être généralisés.
Ev1A1 A2
Ev1
A
A1 A2
UML : Modélisation dynamique 77
Ev2Ev2
B
Ev2
B
GL & MCOO A. Abdellatif
diagramme d’états-transitions: Exemple : Livre
Nouveau
Déclaration retraitDeclaration perte
Retour réparation
Envoi réparationRetour livreDemande emprunt
AffectationAffectation
Disponible
Emprunté En réparation
UML : Modélisation dynamique 78
Declaration perte
Declaration perte
Prolongation Réfus réparation
Réparation impossible
Perdu Retiré
40
Diagramme d’activitésg
GL & MCOO A. Abdellatif
Diagramme d’activités : Présentation
Permet de modéliser les traitements.Permet de représenter graphiquement lecomportement d’une méthode ou laréalisation d’un cas d’utilisation.Assez proche du diagramme d’états-transitions.Se base sur une représentation
UML : Modélisation dynamique 80
Se base sur une représentationsuffisamment précise pour pouvoirgénérer du code.
41
GL & MCOO A. Abdellatif
Diagramme d’activités : Concepts de base
Le diagramme d’activités se base sur les conceptssuivants:suivants:
Activité : C’est une étape dans la réalisationd’une méthode ou un cas d’utilisation.Décision : C’est une façon de représenter lescondition de déclenchement des activités.Synchronisation : C’est un mécanismepermettant de représenter le parallélisme
UML : Modélisation dynamique 81
permettant de représenter le parallélismed’exécution des activités.Unité organisationnelle : Permet de répondreà la question « qui fait quoi ? ».
GL & MCOO A. Abdellatif
Diagramme d’activités : Structure d’un D. A.Un diagramme d’activités se présente comme un graphecomposé de nœuds inter reliés par des arcs orientés :composé de nœuds inter reliés par des arcs orientés :
Noeuds : Chaque nœud peut correspondre à :Une activité (début, exécutable, fin)Une décisionUne synchronisation
Arcs : Chaque arc représente une transition entre noeuds.Un arc peut relier :
Une activité à une autre activité
UML : Modélisation dynamique 82
Une activité à une décision ou inversementUne activité à une synchronisation ou inversementUne décision à une synchronisation ouinversement
42
GL & MCOO A. Abdellatif
Diagramme d’activités : Les activités
Un diagramme d’activités est un enchaînement d’un ensemble d’activités ensemble d activités.
Une activité correspond à une étape d’une méthode ou d’un cas d’utilisation.
Une activité est l’équivalent d’une transition dans un diagramme d’états-transitions permettant de faire passer un objet d’un état à un autre.
Tout diagramme d’activité :
UML : Modélisation dynamique 83
Tout diagramme d activité :
commence par une activité de départ (start),
comporte un ensemble d’activités exécutables,
se termine par une ou plusieurs activités de fin (end).
GL & MCOO A. Abdellatif
Diagramme d’activités : Les activités : représentation
Activité Vérifier existence client
Début
UML : Modélisation dynamique 84
Fin
43
GL & MCOO A. Abdellatif
Diagramme d’activités : Les transitions
Une transition représente le passage d’une activité à une autre d une activité à une autre. Ce passage peut être :
Automatique : la fin d’une activité entraîne le déclenchement automatique d’une autre activité.Conditionnel : le déclenchement de la deuxième activité ne peut se faire que :
UML : Modélisation dynamique 85
Si une condition est vérifiée utilisation d’un nœud de type décision.Après la fin d’une ou plusieurs autres activités utilisation d’un nœud de type synchronisation ou fusion.
GL & MCOO A. Abdellatif
Diagramme d’activités : Les transitions : représentation
Transition automatique :
Transition conditionnelle :
Activité 1
Activité 2
Insérer carte
Saisir code
UML : Modélisation dynamique 86
[Condition 2][Condition1]
Activité 1
Activité 2 Activité 3
[Solde insuffisant][Solde suffisant]
Saisir montant
Distribuer billets Afficher message
44
GL & MCOO A. Abdellatif
Diagramme d’activités : Les décisions
Un nœud de décision permet d’assurer latransition conditionnelle d’une activité verstransition conditionnelle d une activité versdeux ou plusieurs autres activitésmutuellement exclusives.
Activité 1
Saisir montant
[Si ]
UML : Modélisation dynamique 87
[Condition 2][Condition 1]
Activité 2 Activité 3
[Solde insuffisant][Solde suffisant]
Distribuer billets Afficher message
[Sinon]
GL & MCOO A. Abdellatif
Diagramme d’activités : Les fusions
Un nœud de fusion (merge) permet d’assurerl i i d l i i i é l ila transition de plusieurs activités alternativesvers une autre activité.
Activité 1 Activité 2
[Solde insuffisant][Solde suffisant]
Saisir montant
Di t ib bill t Afficher message
UML : Modélisation dynamique 88
Activité 3
Distribuer billets Afficher message
Restituer carte
45
GL & MCOO A. Abdellatif
Diagramme d’activités : Les synchronisationsUn nœud de synchronisation permet d’ouvrir et defermer des branches parallèles dans un diagrammep gd’activités.Il peut s’agir d’un nœud de :
Bifurcation ou débranchement (Fork) : la find’une activité entraîne le déclenchement parallèle dedeux ou plusieurs activités.Union ou jointure (Join): le déclenchement d’uneactivité nécessite la fin d’exécution de deux ouplusieurs activités parallèles.
R
UML : Modélisation dynamique 89
Remarque :Il est possible de fusionner deux nœuds de bifurcation :la fin de deux ou plusieurs activités parallèles entraîne ledéclenchement de deux ou plusieurs autres activitésparallèles.
GL & MCOO A. Abdellatif
Diagramme d’activités : Les synchronisations : représentation
Bifurcation ou débranchement (Fork) : Activité 1 Saisir montant
Union ou jointure (Join):
Activité 2 Activité 3
Saisir montant
Demander autorisation Afficher publicité
Activité 1Activité 2 Préparer marchandise Editer facture
UML : Modélisation dynamique 90
Activité 3 Livrer marchandise
p d te actu e
46
GL & MCOO A. Abdellatif
Diagramme d’activités : Les synchronisations
Remarques :Les points d’entrée et de sortie d’unesynchronisation peuvent être des activitésou bien des noeuds de décision.Il est possible de fusionner deux nœuds debifurcation : la fin de deux ou plusieursactivités parallèles entraîne le
UML : Modélisation dynamique 91
activités parallèles entraîne ledéclenchement de deux ou plusieurs autresactivités parallèles.
GL & MCOO A. Abdellatif
Diagramme d’activités : Les objets
On peut préciser dans un diagrammed’ ti ité l bj t i léd’activités les objets manipulés.Un objet peut être un point d’entréeet/ou un point de sortie d’uneactivité.Lorsque le même objet apparaîtpl sie s fois dans n diag amme
UML : Modélisation dynamique 92
plusieurs fois dans un diagrammed’activités, on peut préciser sesdifférents états.
47
GL & MCOO A. Abdellatif
Diagramme d’activités : Les objets : représentation
Obj 1Activité5 Objet 1[etat 1]
Activité 6Objet 2[Etat 2]
UML : Modélisation dynamique 93
Activité 7 Activité 8Objet 3[Etat 3]
GL & MCOO A. Abdellatif
Diagramme d’activités : Les objets : exemples
Objet 1 Commande
Exemple :
Activité5 Objet 1[etat 1]
Activité 6Objet 2[Etat 2]
Activité 7 Activité 8Objet 3[Etat 3]
Enregistrer commande [enregistrée]
LivrerCom m ande[Payée]
Exemple :
UML : Modélisation dynamique 94
Enregistrer payement LivraisonCommande
[Réglée]
Exemple :
48
GL & MCOO A. Abdellatif
Diagramme d’activités : Les unités organisationnelles
On peut préciser dans un diagrammed’ i i é l i é li ld’activités les acteurs qui réalisent lesactivités.Un acteur peut être une personne ou unestructure. On parle d’unitéorganisationnelle.Les unités organisationnelles permettent de
UML : Modélisation dynamique 95
Les unités organisationnelles permettent derépondre à la question: QUI FAIT QUOI ?.Autres appellations : partitions, couloirsd’activité, couloirs d’eau.
GL & MCOO A. Abdellatif
Diagramme d’activités : Les unités organisationnelles : représentation
Unité 3Unité 2Unité 1
Activité 1Activité 2
Activité 0
UML : Modélisation dynamique 96
Activité 3
49
GL & MCOO A. Abdellatif
diagramme d’activités : Exemple : Gestion commerciale
MagasinService commercialClient
[Annuler]
[Modifier]
Passer commande Vérifier disponibilité
Calculer prixDevis[Créé]Etudier devis
Etablir facture Préparer articlesFacture[Emise]
Régler facture
Facture Valider paiement
UML : Modélisation dynamique 97
[Réglé] Valider paiement
LivrerClôturer dossier
GL & MCOO A. Abdellatif
Modélisation dynamique : Synthèse
Utiliser les diagrammes de cas d’utilisation pourdécrire les besoins des utilisateurs, les fonctions dudécrire les besoins des utilisateurs, les fonctions dunouveau système, ...Utiliser les diagrammes de séquence et lesdiagrammes de collaboration pour décrire lesscénarios des cas d’utilisation.Utiliser les diagrammes d’états-transition pourdécrire la dynamique des objets.Utiliser les diagrammes d’activités pour décrire de
UML : Modélisation dynamique 98
g pfaçon détaillée les méthodes et les cas d’utilisation.
top related