0% ont trouvé ce document utile (0 vote)
117 vues66 pages

Chapitre ConceptionDynamique

Ce document décrit les diagrammes d'interaction en UML, notamment les diagrammes de séquence objet et les diagrammes de communication. Il présente les concepts clés de ces diagrammes tels que les objets, lignes de vie, messages et structures de contrôle. Des exemples sont également fournis pour illustrer ces concepts.

Transféré par

Mohamed Amine Baccar
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
117 vues66 pages

Chapitre ConceptionDynamique

Ce document décrit les diagrammes d'interaction en UML, notamment les diagrammes de séquence objet et les diagrammes de communication. Il présente les concepts clés de ces diagrammes tels que les objets, lignes de vie, messages et structures de contrôle. Des exemples sont également fournis pour illustrer ces concepts.

Transféré par

Mohamed Amine Baccar
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 5:

Conception dynamique

Année Universitaire
2015-2016

3ème A
AU 2015-2016
DIAGRAMMES D’INTERACTION

2
Diagrammes d’interaction - Objectifs

• Décrire comment les objets interagissent au sein du


système…
– Montrer les interactions entre les objets dans le temps

– Présenter la séquence (l’ordre) et la dépendance des messages


échangés entre les objets

• Représenter certains aspects dynamiques pour la réalisation


– d’un cas d’utilisation

– d’une opération relative à un cas d’utilisation

3
Diagrammes d’interaction - Types

• Diagramme de séquence (système et objet)


– Diagramme de séquence système phase d’analyse

– Diagramme de séquence objet phase de conception

• Diagramme de communication

4
DIAGRAMME DE SÉQUENCE OBJET

5
Présentation - Rappel

• Un diagramme de séquence est à deux dimensions:


– Dimension verticale : le temps

• L'ordre (le séquencement) d'envoi d'un message est


déterminé par la position du message sur l'axe vertical du
diagramme

• Le temps s'écoule "de haut en bas" de cet axe

– Dimension horizontale : les objets (et les acteurs)

6
Diagramme de séquence système VS
diagramme de séquence objet

Analyse
Conception

7
Source : UML2 par la pratique
Exemple

Diagramme de séquence objet du CU


Source : UML2 Analyse et
« Ajouter emprunt » conception
8
Concepts clés

• Objets

• Lignes de vie

• Zones d’activation

• Messages

• Structures de contrôle :
– Fragments combinés

9
Objet, ligne de vie et zone d’activation

• Objet :
• Exemple :
– Représente une instance :
• d’un acteur

• d’une classe

• Ligne de vie :
– Traduit l'existence d'un objet pendant une période
de temps

 Zone d’activation :
 Représente le temps durant lequel un objet est actif : en train d'exécuter
une opération
10
Messages (1/5)

• Les objets communiquent entre eux via des messages

• Types des messages:

– Message synchrone

– Message asynchrone

– Message de retour

– Message de création

– Message de destruction

11
Messages
(2/5)

• Un message synchrone traduit l’invocation d’une opération:


– Un objet demande à un objet appelé d’exécuter une opération

– L’objet émetteur reste bloqué le temps que dure l’invocation de la


méthode

– Un objet peut envoyer un message à lui-même pour invoquer une


méthode locale : message réflexif

• Syntaxe :

numéro : [résultat = ] nomOpération([paramètres])


12
Messages
(3/5)

• Remarque
– L’opération invoquée doit être définie dans la classe relative à
l’objet récepteur et visible dans la classe relative à l’objet
émetteur

• Exemple :

13
Messages (4/5)

• Message asynchrone
– Envoyer un signal à un objet
– Invoquer une méthode sans bloquer l’émetteur
• Message de retour
– Renvoyer une valeur à l’objet appelant
• Message de création d’instance (synchrone)
– Invoquer l’opération de création d’un objet
• Message de destruction d’instance (synchrone)
– Invoquer l’opération de destruction d’un objet

14
Messages
(5/5)

• Exemple :

15
Exemple

• Exemple de traduction d’un diagramme de séquence


objet en code java:

public int jouer()


{
int v=0,v1,v2;
[Link]();
v1=[Link]();
[Link]();
v2=[Link]();
r = v1 + v2;
return v;
}
Adapté à partir du lien : [Link]
16
Les structures de contrôle
(1/2)

• Fragments combinés
– Fragment d’interaction comportant un opérateur
d’interaction (exemple : loop, opt, alt, ref…)
• Voir chapitre 2 : analyse dynamique

• Exemple 1 :

17
Source : Livre UML2 analyse et conception
Les structures de contrôle
(2/2)

• Exemple 2 :

18
Source : Livre UML2 analyse et conception
DIAGRAMME DE COMMUNICATION

19
Présentation
(1/2)

• Diagramme de communication (collaboration en UML 1.x)


• Une seule dimension : objets (et acteurs) + messages échangés
• L'ordre (le séquencement) d'envoi d'un message est
déterminé par la numérotation du message
• Présente les interactions entre les objets en insistant sur les
liens entre les objets
Les liens entre les objets se traduisent par des associations
entre les classes correspondantes à ces objets
20
Présentation
(2/2)

• Exemple : Un vol est ouvert à la réservation et refermé


sur ordre de la compagnie

Source : Livre UML2 par la pratique 21


Concepts clés
(1/5)

• Objets
– Un objet représente une instance :
• d’une classe
• d’un acteur
• Les connecteurs
– Relations entre les objets
• Les messages
– Ordonnés selon un numéro de séquence croissant
– Syntaxe
N° du message [clause d’itération][condition] : var =
nom_du_message(par)

22
Concepts clés
(2/5)

• N° du message
– N° hiérarchique du message (1, 1.2, …)
– 1a, 1b : envoi simultané de messages

• [clause d’itération]
– Envoi répété du message *[nombre_de_fois]
– Envoi en parallèle de plusieurs messages *||[nombre_de_fois]

• [condition]
– Condition de garde pour déclencher le message

• var : valeur de retour d’un message


• par : liste des paramètres du message

– Présentation
• Sens du message est précisé par une flèche

23
Concepts clés
(3/5)

• Exemple 1 : Ce diagramme montre la mise en œuvre de


l’opération fermerPortes() qui permet de fermer toutes les
portes d’un train.

24
Source : Livre UML2 pratique de la modélisation
Concepts clés
(4/5)

• Message de retour
– Certains messages sollicitent un résultat

– Exemple :

• Message réflexif
– Exemple de représentation

25
Concepts clés
(5/5)

• Exemple 2 :

26
Source : Livre UML2 par la pratique
DIAGRAMME DE SÉQUENCE VS
DIAGRAMME DE COMMUNICATION

27
Diagramme de séquence vs diagramme de
communication

• Les deux diagrammes véhiculent les mêmes


informations, lors de nos travaux de modélisation, nous
opterons soit pour l’un soit pour l’autre

• Le diagramme de séquence met l’accent sur les


séquences d’appel

• Le diagramme de communication met en évidence les


liens entre les objets
28
Etude d’un système d’information d’une bibliothèque (tirée du livre UML2 par la
pratique)

ETUDE DE CAS

29
Exemple
(1/6)

• S.I. d’une bibliothèque qui permet d’emprunter des


livres

Diagramme de cas d’utilisation


30
Exemple
(2/6)

31
Exemple
(3/6)

• Les opérations système du cas d’utilisation «Enregistrer les emprunts »


sont détaillées sur le diagramme de séquence système suivant :

32
Exemple
(4/6)

 Post-conditions
• Pré-conditions  un prêt p a été créé ;
– le catalogue de livres existe et n’est pas vide ;  l’attribut date de p a été positionné à la date du
– l’adhérent a été reconnu par le système et jour ;
n’a pas atteint le seuil maximal d’emprunts.  l’attribut dateRetour de p a été positionné à (la
date du jour + deux semaines) ;
 p a été lié au livre l dont l’attribut ISBN vaut
l’ISBN passé en paramètre ;
 p a été lié à l’adhérent concerné et à la
bibliothèque.

Analyse
Conception

33
Exemple
(5/6)

Diagramme de séquence objet pour l’opération système « emprunterLivre » :

34
Exemple
(6/6)

Diagramme de communication pour l’opération système « emprunterLivre »

35
Architecture logicielle - Bref aperçu

• L’architecture logicielle est le processus de conception de


l’organisation globale du système et incluant
– La subdivision du logiciel en sous-systèmes.
– Les décisions à prendre concernant leur interactions.
– La détermination des interfaces (des contrats).

• Modèle de référence : modèle en couches :


– S’applique aux applications munies d’une interface graphique
manipulant des données persistantes.
– Architecture logique en 3 couches, 5 couches,…

36
Architecture logicielle – Modèle en 3 couches
(1/2)

• Modèle en 3 couches
– Couche présentation
– Couche métier
– Couche persistance
• Couche présentation
– Prend en charge les interactions entre les utilisateurs et le
logiciel
– Permet de visualiser les informations
– Traduit les commandes de l’utilisateur en actions sur les
autres couches
• Exemples : Une ligne de commande, une interface graphique, un
navigateur internet

37
Architecture logicielle – Modèle en 3 couches
(2/2)

• Couche métier
– Correspond à la partie fonctionnelle de l'application
– Décrit les opérations que l'application opère sur les données
en fonction des requêtes des utilisateurs
– Offre des services applicatifs et métier à la couche
présentation en s'appuyant sur les données de la couche
inférieure
• Couche persistance
– Permet le stockage et la récupération des données
– Conserve les données neutres et indépendantes des serveurs
d'applications ou de la logique métier

38
Remarques

• Communications
– Présentation – Présentation

– Présentation – Métier  Présentation – Persistance

– Métier – Métier

– Métier – Persistance

– Persistance – Persistance

39
Représentation

Gestionnaire Entité Entité


IHM

Source : Livre UML2 par la pratique

40
Exemple

Source : livre UML2 par la pratique

41
Représentation

Entité

IHM Gestionnaire

Entité

Source : Livre UML2 par la pratique

42
Exemple

:EcranGeneral
f:Formation

:EcranFormation :Formations

Source : livre UML2 par la pratique

43
DIAGRAMME D’ETAT-TRANSITION

44
Présentation

• Diagramme comportemental

• Utilisé pour les classes qui ont un comportement complexe

• Est associé à une instance d’une classe (objet) possédant plusieurs états

• Décrit comment un objet réagit à des événements en fonction de son état


courant et comment il passe à un nouvel état

45
Représentation

• Graphe orienté d’états et de transitions représentant un automate à


états finis

• Exemple : fonctionnement d’un bouton poussoir

– Suite à la pression sur le bouton poussoir la réaction de la machine dépend de son état
courant : si elle est en marche elle va s’arrêter et si elle est à l’arrêt elle se mettra en marche

46
Concepts clés

• État
– Activité

• Transition
– Évènement

– Condition de garde

– Action

• État composite

47
ÉTAT

48
État

• Un objet passe par plusieurs états durant sa durée de vie

• Un état : ensemble des valeurs des propriétés d’un objet

• Un objet à un état donné:


– Attend un évènement

– Accomplit une activité

• Etat initial

• Etat final

• Exemple :

49
TRANSITION

50
Transition (1/5)

• Décrit la réaction d’un objet lorsqu’un événement se produit


• Permet le passage d’un état à un autre
• Une transition possède en général :
– Un événement déclencheur
– Une condition de garde
– Une action
• Opération associée à la transaction
• Est non-interruptible

– Un état cible

51
Transition
(2/5)

• Présentation :

• Exemple simple :

52
Transition
(3/5)

• Transition réflexive ou transition propre


– L’état de départ et l’état cible sont identiques
– L’objet quitte un état pour y revenir

• Transition interne
– Transition qui se déclenche dans un état courant
– La transition a un état source mais d’état cible

• L’objet ne quitte pas l’état courtant


– Est inscrite dans l’état

53
Transition
(4/5)

• Illustration :

– Si on est dans l’état S et qu’il y a apparition d’une occurrence de


Event a alors x est activée
– Si on est dans l’état S et qu’il y a apparition d’une occurrence de
Event b alors y (on sort d’abord de S) puis z (déclenchée car
suffixant Event b) et enfin w (on re-rentre dans S) sont activées

54
Transition
(5/5)

• Exemple 1 : Diagramme d’états-transition de la cabine d’un ascenseur

• Exemple 2 : Diagramme d’états-transition du monnayeur d’un distributeur de boissons

55
ÉVÈNEMENT

56
Évènement
(1/2)

• Se produit à un instant donné et n’a pas de durée

• Déclenche une transition

• Types d’événements :
– Type appel de méthode (call)

– Type signal

• Exemple : clic de souris, interruption d’entrées-sorties

– Type changement de valeur (vrai/faux) : évaluation d’une expression


booléenne : when (condition_booléenne)

57
Évènement
(2/2)

– Type temporel : événement lié à l’écoulement du temps

• Après une durée précise: after (durée)

• A une durée précise: when (date)

• Exemple :
– Après deux minutes d’inactivité, l’écran de veille sera activé

58
ACTIVITÉ

59
Activité
(1/2)

• Spécifie un comportement optionnel de l’objet lorsqu’il atteint un nouvel état


(après le déclenchement d’une transition)

• Est interruptible

• Types d’activités :
– Activité d’entrée (entry) : actions effectuées au moment de l’entrée dans un
état

– Activité durable (do) : indique un travail effectué tant que l’objet est dans l’état

– Activité de sortie (exit) : actions effectuées au moment de la sortie d’un état

60
Activité
(2/2)

• Exemple:
– Dans un jeu vidéo, le personnage en état d’attaque va tout
d’abord sortir son arme, attaquer l’adversaire et ranger son
arme à la fin de l’attaque

61
Exemple

• Simulation d’un personnage de jeu vidéo :

62
ÉTAT COMPOSITE

63
État composite
(1/3)

• État qui contient plusieurs états

• Forme 1 : décomposition cachée

• Forme 2 : décomposition explicite

64
État composite
(2/3)

• Exemple : 2 représentations possibles pour factoriser


l’état combiné décroché
Pour tous ces états
le combiné est
décroché

65
Source : UML2 par la pratique
État composite
(3/3)

Ou
• Solutions de l’exemple:

66

Vous aimerez peut-être aussi