II.6. Diagrammes d'interaction

Documents pareils
UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Les diagrammes de modélisation

Cours de Génie Logiciel

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Cours STIM P8 TD 1 Génie Logiciel

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Table des matières Sources

Projet Active Object


basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

UML : DIAGRAMME D ETATS

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Présentation du PL/SQL

Algorithmique et structures de données I

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Qualité du logiciel: Méthodes de test

//////////////////////////////////////////////////////////////////// Administration bases de données

Alarme domestique- Présentation

RÉPUBLIQUE ET CANTON DE GENÈVE Echelle des traitements 2015 Valable dès le Office du personnel de l'etat Indexation de 0.

UML et les Bases de Données

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Université de Bangui. Modélisons en UML

MEGA ITSM Accelerator. Guide de Démarrage

Cours d algorithmique pour la classe de 2nde

Initiation à la programmation en Python

Formation : Modélisation avec UML 2.0 et Mise en pratique

4. Groupement d objets

Guide d usage du portail périscolaire de la Ville de Lorient

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Composition d un ordinateur :

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Chapitre I : le langage UML et le processus unifié

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

1 Description générale de VISFIELD

UTILISER MON ORDINATEUR PORTABLE À L EXAMEN CPA, CGA

STAGE IREM 0- Premiers pas en Python

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Introduction à Expression Web 2

Sélection du contrôleur

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

OCL - Object Constraint Language

Le Guide Pratique des Processus Métiers

DESINSTALLER L'ANTIVIRUS FIREWALL

TP Bases de données réparties

Bernard Lecomte. Débuter avec HTML

Guide d utilisation 2012

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Ingénierie des Modèles. Méta-modélisation

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Couche Transport TCP et UDP

Partie 7 : Gestion de la mémoire

Description de la formation

Formation : WEbMaster

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Nom de l application

CONFIGURER ET DÉPLOYER UN CLOUD PRIVÉ AVEC SYSTEM CENTER 2012

PROGRAMMATION EVENEMENTIELLE sur EXCEL

R, Bonnes pratiques. Christophe Genolini

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine

Cours 14 Les fichiers

INITIATION AU LANGAGE JAVA

Une fois votre tableau excel complet, cliquer sur fichier enregistrer sous type de fichier (menu déroulant) csv (séparateur : point virgule).

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Diagramme de classes

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Documentation commerciale

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Java 7 Les fondamentaux du langage Java

B2i. Brevets Nouvelles Technologies. Brevet n 1. Brevet n 16. Ecole primaire de Boz Ec-Elementaire-Boz@ac-lyon.fr

GUIDE D UTILISATION DE LA PLATEFORME DE L UNIVERSITE DE BOURGOGNE POUR L ENSEIGNEMENT EN LIGNE ( PLUBEL )

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Analyse hiérarchique de tâches (AHT)

Publication dans le Back Office

Projet gestion d'objets dupliqués

Guide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David

Formation. Module WEB 4.1. Support de cours

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Comprendre «le travail collaboratif»

SOMMAIRE 1 UNE INTRODUCTION : QU EST-CE QUE GOOGLE ANALYTICS? 3 2 LES PRE-REQUIS AVANT UTILISATION 3 3 ACCEDER A VOS STATISTIQUES 3

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Utilisation du site de retours Lexibook

FORMATION MULTIMÉDIA LVE

Pour les futurs développeurs Sommaire

UML (Diagramme de classes) Unified Modeling Language

RAPPORT DE CONCEPTION UML :

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

Compte rendu sur la communication et la téléphonie

Création d une SIGNATURE ANIMÉE avec PHOTOFILTRE 7

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Transcription:

II.6. s d'interaction

2 Introduction Les diagrammes d'uml de structure comportemental de classes de package d objets d activités de cas d utilisation de composant de déploiement de structure composite d interactions de transition d état de séquence de communication vue d ensemble des interactions de timing 2

3 s d'interaction Introduction Modéliser la façon dont les groupes d'objets collaborent pour réaliser un comportement donné. Montrent les interactions entre objets selon un point de vue temporel Le contexte des objets n'est pas représenté A : Objet B : Objet 3

4 s d'interaction Introduction s de collaboration / communication Montre les interactions entre objets en insistant sur la structure spatiale statique Exprime à la fois le contexte de groupe d'objets et l'interaction entre ces objets Extension du diagramme d'objets : Traitement de texte 2: écrire 1: lire : Imprimante : Scanner 4

II.6. s d'interaction 1.

6 Concepts principaux : 1 Les participants (le plus souvent des objets) Une ligne de vie Des zones d activation 2 Les messages L opération et éventuellement ses paramètres Éventuellement son résultat 3 Des structures de contrôle Alt : conditionnelle Loop : boucle Réf : référence à un autre diagramme de séquence (=appel de fonction) Etc. 6

7 Représentation des acteurs nom Rectangle + Ligne de vie Nom_objet : nom_classe Ferrari : Voiture : Garage temps t 7

8 Messages Communication entre les lignes de vie appel de méthode envoi d'un signal création/destruction d'une instance Ferrari : Voiture : Conducteur démarre attribut = nom_signal_ou_op (arguments) : valeur_retournée 8

9 Types de messages 1 Appels de méthodes ou autres méthodes d'appels synchrones 2 Communication asynchrone : l'émetteur déclenche le stimulus et passe immédiatement à la suite de l'exécution 3 Retours de procédures (ou de méthodes) : optionnel 9

10 Un objet peut s'envoyer des messages : objet Message réflexif : objet Un message peut entraîner la création ou la destruction d'objets <<create>> <<destroy>> : objet 10

11 Occurrence d'exécution Aussi appelé «focus de contrôle» Correspond à la durée d'activité de l'objet <=> temps durant lequel il est actif Ferrari : Voiture : Conducteur démarre Focus d'exécution 11

12 Message trouvé = émetteur inconnu. 12

13 Exemple Créations Destructions 13

14 Exemple : distributeur de boisson distributeur de boisson Moi : Personne : MachineDdB 14

15 Invariants d'état : FenetrePrincipale : Compte : ControleurDAuthentification create("bob","glopglop") verifierreferences(compte) {compte.authentificationok == true} initialisertransaction() 15

16 Occurrences événementielles : A : B description Action() 16

17 Fragments combinés Types 1 Opt 2 Loop 3 Alt 4 Break 5 Critique 6 Ref 7... nom : A [expression booléenne] condition de garde 17

18 Fragments combinés Opt : Fragment parcouru si une condition est vérifiée : A : B Opt [condition] Action() 18

19 Fragments combinés Loop : Répétition du fragment tant que la condition est vérifiée : A : B Loop [condition] Action() ou Loop (0, n) Action() 19

20 Fragments combinés Alt : Equivalent à la structure de contrôle "si.. alors.. sinon". : A : B Alt [condition] ActionA() [else] ActionB() 20

21 Fragments combinés Break : Fragment exécuté et met fin au fragment englobant : A : B Break [condition] Action() 21

22 Fragments combinés Critique : Fragment exécuté de façon atomique (d'un bloc) : A : B Critique [condition] ActionCritique() 22

23 Décomposition : mot clef "ref" Méthode n 1 DiagA : A : B ref DiagB DiagB : B : C Action() Reponse() Action() Reponse() Action1() Reponse1() 23

24 Décomposition : mot clef "ref" Méthode n 2 DiagA SousFonction : A : B : A : B Ref SousFonction Action() Reponse() 24

25 Exercice : distributeur de boissons Client Ecran MachineDdB G_Monnaie G_Boisson G_gobelet Piece 25

II.6. s d'interaction 1. Dia. de communication

27 Introduction Les diagrammes d'uml de structure comportemental de classes de package d objets d activités de cas d utilisation de composant de déploiement de structure composite d interactions de transition d état de séquence de communication vue d ensemble des interactions de timing 27

s de communication Objectif 28 Extension du diagramme d'objet 1 - le contexte = modèle objets 2 - les interactions = les scénarios Montrent les interactions entre objets du point de vue statique et dynamique 1 - Objets = instances de classes 2 - Lien = instance des associations définies dans le diagramme de classes 28

s de communication Concepts Objets / acteurs Messages séquentiels numérotés Echangés entre objets et non entre classes Exemple : 29 tourdecontrôle 1 : confirmeridentité 2 : décoller Fk74:Airbus 29

s de communication Exemples 30 A x B 4 : Afficher(x,y) // message simple 3.3.1 : Afficher(x,y) // message imbriqué 4.2 : âge := Soustraire( Aujourd'hui, DateDeNaissance ) // message imbriqué avec valeur retournée [Age >= 18 ans] 6.2 : Voter() // message conditionnel 30

s de communication Exercice Transformer ce diagramme de séquence en diagramme de communication Ouverture d'url dans un navigateur web 31 Fenêtre : Frame Préférences : Data PortDeRéception : Socket chargeparams() <<create>> ecouter() accepter() 31

s de communication 32 Exemple : distributeur de boissons : MachineDbB : G_Gobelet Moi : Utilisateur : G_Monnaie : G_Boisson : Ecran : Piece Chocolat : Boisson 32