• Aucun résultat trouvé

Analyse, Conception Objet Diagrammes de S´equences

N/A
N/A
Protected

Academic year: 2022

Partager "Analyse, Conception Objet Diagrammes de S´equences"

Copied!
7
0
0

Texte intégral

(1)

Analyse, Conception Objet Diagrammes de S´equences

Une partie du mat´eriau de ce cours est issue du cours de S.Galland (Stephane.Galland@emse.fr)

Octobre 2002

Oct.2002 1

Sommaire

D´efinition

Utilisation des diagrammes de s´equences

Objets

Ligne de vie

Messages

Contraintes temporelles

Structures de contrˆole

Oct.2002 Sommaire– 2

Diagrammes de s´equences SIMMO/ENSM.SE

D´efinition

Notation d´eriv´ee des “Object Message Sequence Charts” du Siemens Pattern Group.

Description de l’ordre desinteractionsentre lesobjetsqui composent le syst`eme.

Repr´esentation se concentrant sur las´equencedes interactions d’un point de vue temporel.

Adapt´es `a la mod´elisation des aspects dynamiques des syst`emes temps r´eels et des sc´enarios complexes mettant en œuvre peu d’objets.

Les diagrammes de s´equences sont desdiagrammes d’interaction comme les diagrammes de collaboration.

Oct.2002 D´efinition– 3

Diagrammes de s´equences SIMMO/ENSM.SE

Interactions dans le syst`eme

Une interaction se traduit par un envoi de message entre objets.

Les diagrammes de s´equences permettent de faire apparaˆıtre :

les objets intervenant dans l’interaction (acteurs ou objets appartenant au syst`eme)

la description de l’interaction (messages)

les interactions entre les intervenants (diagramme de s´equences)

Les diagrammes de s´equences servent `a communiquer autant pour les usagers que pour les d´eveloppeurs

Oct.2002 Interactions dans le syst`eme– 4

(2)

Utilisation des diagrammes de s´equences

Documentation des cas d’utilisation :

description des interactions en des termes proches de l’usager,

les ´etiquettes des messages correspondent `a des

´ev`enements se produisant dans le syst`eme.

Repr´esentation des interactions “informatiques” et r´epartition des flots de contrˆole :

le concept de message unifie les formes de communication entre objets (appel de proc´edure,

´ev`enement discret, signal, ...)

Oct.2002 Utilisation des diagrammes de s´equences– 5

Objets

Les objets sont des entit´es appartenant au syst`eme (instance d’une classe) ou se trouvant `a ses limites (acteurs)

Ils repr´esentent :

soit des concepts abstraits, soit des acteurs (documentation de cas d’utilisation)

soit des objets d’implantation (diagrammes de s´equences pour les interactions “informatiques”)

Ils sont identifi´es par l’interm´ediaire des cas d’utilisation ou des diagrammes de classe.

Oct.2002 Objets– 6

Diagrammes de s´equences SIMMO/ENSM.SE

Objets : repr´esentation

Dans UML, les objets sont repr´esent´es comme suit :

:Rôle

Nom:Classe

Le nom de l’objet est compos´e de son rˆole (rˆ ole ou nom) et/ou du nom de la classe instanci´ee (classe).

Le nom est soulign´e pour indiquer qu’il s’agit d’une instance.

Diagrammes de s´equences SIMMO/ENSM.SE

Ligne de vie des objets

Elle est repr´esent´ee par une ligne verticale en dessous des objets.

Elle repr´esente la p´eriode de temps durant laquelle l’objet

“existe”.

Cr´eation d’un objet : un message pointe sur le symbole de l’objet.

Destruction d’un objet : sa ligne de vie se termine par une

croix en trait ´epais ( × × × ).

(3)

Ligne de vie des objets (suite)

Un objet

Autre objet Créer

Détruire

X

Oct.2002 Ligne de vie des objets– 9

Messages

Les objets communiquent en ´echangeant des messages repr´esent´es sous forme de fl`eches.

L’ordonnancement horizontal des messages n’a aucune signification.

La dimension verticale repr´esente l’´ecoulement du temps.

Les messages sont ´etiquett´es par le nom de l’op´eration ou du signal invoqu´e.

Un objet Autre objet Encore un objet

Un message

Un autre message Un dernier message

Oct.2002 Messages– 10

Diagrammes de s´equences SIMMO/ENSM.SE

Messages : activation des objets

Une p´eriode d’activit´e correspond au temps pendant lequel un objet effectue une action directe ou indirecte.

Repr´esentation : bande verticale le long de la ligne de vie de l’objet.

Un objet Activation

durée d’activation

A B

Oct.2002 Messages– 11

Diagrammes de s´equences SIMMO/ENSM.SE

Messages : ´etiquettes

Les ´etiquettes d´ecrivent les messages auxquels elles sont attach´ees.

Syntaxe g´en´erale:

[’[’garde’]’] [it´ eration] [r´ esultat :=]

nom message [’(’arguments’)’]

nom message : nom de l’op´eration ou du signal invoqu´e par l’interm´ediaire de ce signal,

garde : condition bool´eenne et optionnelle (repr´esent´ee entre crochets) autorisant ou non l’envoi d’un message (utilisation d’OCL).

Oct.2002 Messages– 12

(4)

Etiquettes des messages : it´eration´

It´eration s´equentielle : envoi s´equentiel de n instances du mˆeme message.

Syntaxe : *[ clause d’it´eration ]

It´eration parall`ele : envoi parall`ele de n instances du mˆeme message.

Syntaxe : * || [ clause d’it´eration ]

A B

*[i:=1..n] Message

Oct.2002 Messages– 13

Etiquettes des messages : arguments´

Liste des param`etres du message, s´epar´es par des virgules.

Les arguments et le nom de l’action d´eterminent sans ambigu¨ıt´e l’action `a r´ealiser.

Les arguments peuvent contenir des valeurs retourn´ees par des messages envoy´es pr´ec´edemment.

Exemples :

Afficher ( x, y ) – affiche les valeurs x et y Soustraire( Aujourd’hui,

DateDeNaissance ) – calculer le nombre de jours entre deux dates

Oct.2002 Messages– 14

Diagrammes de s´equences SIMMO/ENSM.SE

Etiquettes des messages : r´esultat´

Le r´esultat est constitu´e d’une liste de valeurs retourn´ees par le message.

Ces valeurs peuvent ˆetre utilis´ees comme param`etres des autres messages.

p := Message B A

Message2 ( p )

B A

p Message

Message2 ( p )

<=>

Diagrammes de s´equences SIMMO/ENSM.SE

Messages : flot de contrˆole `a plat

Cat´egorie de messages utilis´ee pour indiquer la progression vers une prochaine ´etape d’une s´equence.

Tous les messages de cette cat´egorie sontasynchrones.

Messages repr´esent´es par une seule fl`eche.

Cas particulier :dans le cas de syst`emes concurrents, une demi-fl`eche indique l’envoi d’un message, et une fl`eche un message avec attente de prise en compte.

B A

(5)

Messages : appel de proc´edure

Dans un appel de proc´edure (flot de contrˆole emboˆıt´e), la s´equence emboˆıt´ee doit se terminer pour que la s´equence englobante reprenne le contrˆole.

Les appels de proc´edure sont repr´esent´es par des fl`eches `a pointe triangulaire.

B récupère le contrôle après que C a fini sa tâche A récupère le contrôle après que B a fini sa tâche

A B C

Un message

Un autre message

Oct.2002 Messages– 17

Messages : retour explicite

Dans le cas d’un syst`eme coucurrent, il est utile d’expliciter la fin de l’ex´ecution de sous-proc´edures.

On utilise une fl`eche pointill´e (d´ej`a utilis´ee dans le cadre des valeurs retourn´ees).

B A

Retour explicite

B A

Retour explicite avant suicide X

Oct.2002 Messages– 18

Diagrammes de s´equences SIMMO/ENSM.SE

Messages : appel r´ecursif

L’envoi de messages r´ecursifs se repr´esente par un d´edoublement de la bande d’activation.

L’objet apparaˆıt alors comme s’il ´etait actif plusieurs fois.

Un objet

Récursion()

Oct.2002 Messages– 19

Diagrammes de s´equences SIMMO/ENSM.SE

Messages : r´eflexivit´e

Un objet peut s’envoyer un message.

Cette construction peut indiquer un point d’entr´ee dans une activit´e de plus bas niveau.

Composant A Composant B

Objet composite

point d’entrée

Oct.2002 Messages– 20

(6)

Contraintes temporelles

Pour mod´eliser les d´elais de transmission non n´egligeables, on utilise les deux notations suivantes :

une fl`eche oblique,

ou des notations temporelles dans la marge.

Les instants d’´emission et de r´eception d’un message sont repr´esent´es par le couplesymbole,symbole.

A B C

Message Message

Message x

y z t t’

{y−x < 3s}

{z−y < 1s}

{t’−t < 2s}

Oct.2002 Contraintes temporelles– 21

Structures de contrˆole : boucles

Mod´elisation des structures de contrˆoles it´eratives : par pseudo-code (while X loop end loop) par condition d’it´eration (*[X]) sur le message lui

mˆeme.

B A

B A

while X

loop Message

Représentation par pseudo−code

*[X] Message

Représentation par condition d’itération end loop

Oct.2002 Structures de contrˆole : boucles– 22

Diagrammes de s´equences SIMMO/ENSM.SE

Structures de contrˆole : conditions

Mod´elisation des structures de contrˆoles conditionnelles,

chez l’exp´editeur d’un message :

par pseudo-code (if X else end if) par garde ([X])

chez le destinataire d’un message : par duplication de la ligne de vie

Diagrammes de s´equences SIMMO/ENSM.SE

Structures de contrˆole : conditions (suite)

B C

A

end if if X else

Message Message

Représentation par pseudo−code

B C

A

[X] Message

[non X] Message

Représentation par garde

(7)

Structures de contrˆole : conditions (suite)

A B

Représentation par dédoublement de la ligne de vie Message

Message [Y]

[X]

Oct.2002 Structures de contrˆole : boucles– 25

Références

Documents relatifs

• Un diagramme d’objets est une instance d’un diagramme de classes et illustre l’´etat d’un syst`eme `a un moment donn´e.. • Les diagrammes d’objets

2.Le système vérifie que la cotisation est bien payée 3.Le conseiller saisit l’identifiant du jeu. 4.Le système vérifie la disponibilité

Les expressions de types que nous utiliserons pour faire la v´erification des types des programmes incluent les types de base char , integer et type error ainsi que les tableaux et

Universit´ e Pierre &amp; Marie Curie Licence de Math´ ematiques L3 LM367 – Analyse complexe

2°) A l’aide d’un rapporteur, mesure les angles au centre et complète la ligne « angle au centre » du tableau. Les mesures doivent être arrondies à l’unité, et la somme de

On peut reprendre chaque diagramme de cas d’utilisation des séries 1 ou 2, prendre les UC et, pour chaque UC, faire le diagramme d’activité des scénarios de l’UC et le

Alignement global: Deux s´ equences de prot´ eines appartenant ` a la mˆ eme famille, ´ etudes phylog´ en´

En vous basant sur votre expérience d’utilisateur de DAB, dans un premier temps, définissez un diagramme de cas d’utilisation pour modéliser les fonctionnalités du DAB.. Pensez