• Aucun résultat trouvé

Conception Orientée Objet

N/A
N/A
Protected

Academic year: 2022

Partager "Conception Orientée Objet"

Copied!
22
0
0

Texte intégral

(1)

Conception Orientée Objet

Diagramme de séquence

Tianxiao LIU Master IISC 1èreAnnée CY Cergy Paris Université http://depinfo.u-cergy.fr/~tliu/coo.php

1

(2)

Plan

Motivation

Notions de base

◦ Ligne de vie et messages

Fragments combinés

◦ Choix et boucle

◦ Contrôle d'envoi en parallèle de message

◦ Fixer l'ordre d'envoi des messages

◦ Interprétation des fragments

Un exemple

2

(3)

Motivation

Diagramme de cas d'utilisation

◦ Acteurs interagissant avec les grandes fonctionnalités d'un système

◦ Vision fonctionnelle et externe d'un système

Diagramme de classe

◦ Les classes et la façon dont elles sont associées

◦ Vision statique et structurelle d'un système

Diagramme de séquence

◦ Un pont entre les deux approches ci-dessus

◦ Interactions entre les instances au cœur du système pour réaliser une certaine fonctionnalité

3

(4)

Ligne de vie

Principe

◦ Un participant dans l'interaction

◦ Syntaxe du nom de la ligne de vie

(nomObjet) : nomClasse

Participants possibles

◦ Une instance d'une classe

◦ Un composant du système

◦ Un acteur externe

4

(5)

Les messages

Principe de base

◦ Messages échangés entre les lignes de vie

◦ Un message = Un communication particulière entre les lignes de vies

Occurrence d'exécution

◦ Réaction déclenchée par réception d'un message

◦ Exécution d'une méthode d'une classe

5

(6)

Les messages

Messages asynchrones

◦ L'émetteur ne reste pas bloqué et continue son exécution

◦ Les messages asynchrones peuvent être reçus dans un ordre différent de l'ordre d'envoi.

6

(7)

Les messages

Messages synchrones

 L'émetteur du message reste bloqué le temps que le récepteur traite le message et renvoie une

réponse Message de retour

7

(8)

Les messages

Message de création d'un objet

Message de destruction d'un objet

8

(9)

Les messages

Message complet : envoi et réception connus

Message perdu : envoi connu mais pas réception

Message trouvé : réception connue mais pas envoi

9

(10)

Les messages

Message réflexif : une activité interne de l'objet

Message récurrent : un message envoyé à objet lui-même

10

(11)

Les messages

Syntaxe des messages

◦ Message d'envoie

nomMessage ( arguments )

nomMessage est un signal ou une opération

Pour un argument : nomParamètre ( = valeur)

◦ Message de retour

attribut = (messageEnvoi : valeurRetour)

11

(12)

Fragments combinés

Objectifs

◦ Décomposer un système complexe en fragments suffisamment simples

◦ Restituer la complexité du système

Combiner les fragments

Opérateurs pour fragments combinés

◦ Choix et boucle : option, alternative, loop, break

◦ Parallélisme : parallel, critical region

◦ Fixer l'ordre d'envoi des messages : strict sequencing, weak sequencing

◦ Interprétation des fragments : ignore, consider, assertion, négative

12

(13)

Fragments combinés

Alternative (alt)

◦ Contient une liste d'opérandes

alternatifs

◦ Un seul opérande sera choisi

◦ Possibilité de mettre des conditions

◦ Possibilité d'utiliser else

13

(14)

Fragments combinés

Option (opt)

◦ Equivalent à une alternative ayant le choix entre un seul opérande et rien

14

(15)

Fragments combinés

Loop (loop)

◦ Répétition de l'opérande

◦ Contrôle de l'itération

loop (min, max)

loop : nombre de répétitions indéfini

loop (valeur)

loop (valeur, valeur)

On peut aussi utiliser une condition

15

(16)

Fragments combinés

Break (break)

◦ Utilisé dans un autre fragment

 Exécuter le break fragment

 Interrompre

l'exécution du reste du fragment

◦ Possibilité de mettre une condition

16

(17)

Fragments combinés

Parallel (par)

◦ Exécution potentiellement en parallèle des opérandes

17

(18)

Fragments combinés

Critical Region (critical)

◦ Définir une section critique

◦ Les interactions dans ce fragment ne peuvent pas être interrompues (ou s'entrelacer) par (avec) d'autres interactions dans le diagramme

◦ Un traitement atomique

18

(19)

Fragments combinés

Strict sequencing (strict)

◦ Imposer l'ordre des messages décrits dans tous les opérandes

19

(20)

Fragments combinés

Weak sequencing (seq)

Imposer l'ordre des messages décrits dans chaque opérande

Imposer l'ordre des messages concernant les mêmes lignes de vie dans différents opérandes

Pas d'ordre imposé pour les messages concernant différentes lignes de vie dans différents opérandes

20

(21)

Fragments combinés

Ignore, consider, assertion, negative

◦ Permet de mieux interpréter le diagramme

21

m3 et m4 peuvent avoir lieu, mais ils ont aucune

importance pour le diagramme.

Il peut y avoir autres

messages que m5, mais ils sont ignorés. Et m5 doit avoir lieu

Si m6 a lieu, le système échoue.

(22)

Un exemple concret : un robot

22

Références

Documents relatifs

Les classes dérivées peuvent définir les propres membres, mais aussi redéfinir les méthodes de la classe mère. class particule

◦ Utilisation d'une classe abstraite qui définit une partie de réalisation concrète et une autre partie abstraite. ◦ Partie abstraite : implémentation dans

Tianxiao LIU Master IISC 1 ère Année CY Cergy Paris Université

◦ Le client peut retirer de l'argent, effectuer un virement et consulter son compte. ◦ Quand on effectue un virement, si le

 Déclarer une méthode pour chaque type de nœud à visiter  ajout d'un nouveau type de nœud = ajout d'une méthode. ◦

◦ Si l'événement de l'interruption se produit, toutes les activités en cours dans la région interruptible sont arrêtées  le flot de contrôle suit la flèche en zigzag

◦ Evénement reçu  Transition déclenchée qui fera basculer l'objet dans un nouvel état. ◦ Etiquette

une commande est créée pour un client et un catalogue donnés, on peut ajouter des articles à une commande, accéder à la liste des articles commandés ainsi que prix total des