13.07.2015 Views

Diagrammes d'interactions

Diagrammes d'interactions

Diagrammes d'interactions

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Réalisation des Cas d’Utilisation« <strong>Diagrammes</strong> d’interactions »Le cas d’utilisation présente une vue externe du systèmeLes diagrammes d’interaction montrent comment dessociétés d’objets peuvent collaborer pour réaliser les casd’utilisation Interaction: a collection of communications betweeninstances, including all ways to affect instances, likeoperation invocation, as well as creation and destructionof instances The communications are partially ordered (in time)10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)1


Les diagrammes <strong>d'interactions</strong> 2 notations :– les diagrammes de séquences– les diagrammes de collaboration <strong>Diagrammes</strong> de séquences :– mise en évidence des objets et des messages échangés– correspondent à la structure temporelle <strong>Diagrammes</strong> de collaboration :– établissement des responsabilités - qui coopère avec qui pourl'obtention d'un but– correspondent à la structure spatialeNota : les 2 notations sont duales, et souvent on secontente de l'une ou de l'autre !10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)2


Exemples10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)3


Diagramme de SéquenceVue temporelle de l’interaction entre objetsMessage nom messageObjetémis par Nom Objetvers Nom Objet1: EtudiantFormulaireD’inscriptionGestionnaireD’inscriptionMath 101Math 101Section 1TempsLe tempss'écouleverticalement1: remplir info2: soumettre3: ajouter cours (Joe, Math 01)4: ouvert ?5: ouvert ?6: ajouter (Joe)7: ajouter (Joe)Message10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)4


Objets Anonymes, récursion, créationsd commutera:Abonné :Commutateurdécrocher()établirTonalité()presserTouche(t)établirChemin(a,n)b:Abonné«créer» c:Conversationsonner()connecter(a)connecter(a,b)décrocher()connecter(b)24


Destruction,10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)6


Boucle, et Messages synchrones10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)7


Partie 1 :Diagrammed'interactionOlivier GerbéCopyright 2008, Olivier Gerbé


Types de messages Appel Retour Envoi Création Destruction7


Définition Un diagramme d'interaction présente une interaction,c'est à dire, un ensemble d'objets et les messages qu'ilséchangent. Deux types de diagramme d'interaction :– diagramme de séquence– diagramme de collaboration4


Message Un message est la spécification d'une communicationentre objets avec les informations nécessaires pourqu'une activité s'ensuive. Exemple– dépiler()– presserTouche(2)6


Message de retour Un message de retour retourne une valeur à l'appelant. Représentation graphiquevaleurPile9


Message d'envoi Un message d'envoi envoie un signal à un objet. Un message d'envoi permet d'invoquer une opérationd'une manière asynchrone. Représentation graphiquenotifier()10


Message de création Un message «créer» invoque l'opération de créationd'un objet. Représentation graphique11


Message de destruction Un message «détruire» invoque l'opération dedestruction d'un objet. Un objet peut se suicider en s'envoyant un messagedétruire. Représentation graphique12


Partie 2 :Diagramme deséquenceOlivier GerbéCopyright 2008, Olivier Gerbé


Ligne de vie Une ligne de vie représente l'existence d'un objetpendant une période de temps. Représentation graphiquec:Client16


Activation Une activation représente le temps durant lequel unobject est actif, c'est à dire en train d'exécuter uneopération. Représentation graphiquec:client17


Synchronisation La synchronisation est le mode par défaut desmessages :– message d'appel– message de retour– message de création– message de destruction Le contrôle est passé de l'appelant à l'appelé; l'opérationde l'appelant est suspendue. Le contrôle est rendu à l'appelant à la fin de l'opérationappelée; l'appelant reprend l'exécution de l'opération encours.19


Concurrence La concurrence est spécifiée par l'utilisation de messaged'envoi. Un signal est envoyé à un objet; l'objet envoyeurcontinue son opération.20


Récursion Un message peut être récursif. Représentation graphique:ArbreparcourirBrancheGauche()parcourirBrancheGauche()21


Opérateurs Alternatives Option Boucles Etc.23


<strong>Diagrammes</strong> de séquences (scénarios)Les éléments constitutifs d’un diagramme de séquencesont :– Un ensemble d’objets (et/ou d’acteurs)– Un message initiateur du scénario– La chronologie des messages échangés subséquemment– Les contraintes de temps (aspects temps réel)Un scénario a comme principale qualité son exemplarité.10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)X


Objet :Concepts fournis parles diagrammes de séquence– objet dédié : une instance particulière d'une classe– objet anonyme : n'importe quelle instance d'une classe Stimulus :– une instance de message i.e. représentation de l'échanged'information entre objetsSupporte des flots de données et divers types desynchronisation Déroulement temporelle :– vertical : représente la ligne de vie des objets et les périodesd'activité des objets– horizontal : représente l'enchaînement des stimuli entre 1 objetémetteur et 1 objet récepteur i.e. les flots de contrôle(séquence, répétition, alternative)10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)X


Ligne de vie et activationLa «ligne de vie» représente l’existence de l’objet à uninstant particulier– Commence avec la création de l’objet– Se termine avec la destruction de l’objetL’activation est la période durant laquelle l’objet exécuteune action lui-même ou via une autre procédure10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)X


Notationssd commutera:Abonné :Commutateurdécrocher()établirTonalité()presserTouche(t)établirChemin(a,n)b:Abonné«créer» c:Conversationsonner()connecter(a)connecter(a,b)décrocher()connecter(b)24


MessagesCommunication entre objets– Des paramètres– Un retourCas particuliers– Les messages entraînant la construction d’un objet– La récursion– Les destructions d’objets10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)X


Notationsobjet2:Classe2Création d’objetEnvoi de message avec paramètreop ( )objet1:Classe1m1 ( par )m2 ( )RécursionRetour d’opérationDestruction d’objet10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)X


Aspects asynchrones et temps réelLecture du scénario et chronologie– Un scénario se lit de haut en bas dans le sens chronologiqued’échange des messages.– Des contraintes temporelles peuvent être ajoutées au scénarioNom Objet1::Nom classe2Nom Objet1::Nom classe2ademandeddemande{b-a< 5 sec.}bréponsed’{d’-d< 1 sec.}10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)X


Représentation de conditionnellesobjet2:Classe2op ( )objet1:Classe1Branchement conditionnel[x0] m2 ( x )Branchement conditionnel10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)X


Exemple d’instances10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)X


Activations et envois de messagesChaque réception de message donne lieu à une duréed'activation : le temps de traitement du messageLa durée d'activation de l'émetteur recouvre celle durécepteur Type de messages :– flot de contrôle à plat :• message synchrone• message asynchrone– flot de contrôle emboîté ou appel de procédure (avec attenteimplicite du retour)– retour d'un appel de procédure, avec ou sans paramètre deretour10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)X


Des communications différentes10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)X


Interactions : Résumé (1)10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)8


Interactions : Résumé (2)10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)9


Interactions : Résumé (3)10/09/2009 Mireille Blay-Fornarino(blay@polytech.unice.fr)10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!