- بادئ الموضوع
- #1
COLLABORATION ET MESSAGES
q | Diagramme de collaboration |
Exemples : | |
| |
q | Synchronisation des messages |
|
DIAGRAMME DE SEQUENCE
q | Diagramme de séquence : sémantique |
Exemple : | |
| |
q | Types de messages |
Comme vous pouvez le voir dans l'exemple ci-dessus, UML propose un certain nombre de stéréotypes graphiques pour décrire la nature du message (ces stéréotypes graphiques s'appliquent également aux messages des diagrammes de collaborations) : | |
| |
| |
q | Activation d'un objet |
Sur un diagramme de séquence, il est aussi possible de représenter de manière explicite les différentes périodes d'activité d'un objet au moyen d'une bande rectangulaire superposée à la ligne de vie de l'objet. On peut aussi représenter des messages récursifs, en dédoublant la bande d'activation de l'objet concerné. Pour représenter de manière graphique une exécution conditionnelle d'un message, on peut documenter un diagramme de séquence avec du pseudo-code et représenter des bandes d'activation conditionnelles. Exemple : Commentaires : | |
| |
| |
q | Exemple complet |
Afin de mieux comprendre l'exemple ci-dessous, veuillez vous référer aux chapitres sur la synchronisation des messages. Notez aussi l'utilisation des contraintes pour documenter les conditions d'envoi de certains messages. Commentaire : Un message réflexif ne représente pas l'envoi d'un message, il représente une activité interne à l'objet (qui peut être détaillée dans un diagramme d'activités) ou une abstraction d'une autre interaction (qu'on peut détailler dans un autre diagramme de séquence). |
DIAGRAMME D'ETATS-TRANSITIONS
q | Diagramme d'états-transitions : sémantique |
états, transition et événement, notation : transition conditionnelle : | |
| |
q | Super-Etat, historique et souches |
Exemple : Le diagramme d'états-transitions ci-dessous, montre les différents états par lesquels passe une machine à laver les voitures. En phase de lustrage ou de lavage, le client peut appuyer sur le bouton d'arrêt d'urgence. S'il appuie sur ce bouton, la machine se met en attente. Il a alors deux minutes pour reprendre le lavage ou le lustrage (la machine continue en phase de lavage ou de lustrage, suivant l'état dans lequel elle a été interrompue), sans quoi la machine s'arrête. En phase de séchage, le client peut aussi interrompre la machine. Mais dans ce cas, la machine s'arrêtera définitivement (avant de reprendre un autre cycle entier).
| |
| |
q | Actions dans un état |
Exemple : Remarque : Attention, les actions attachées aux clauses "entry" et "exit" ne sont pas exécutées si l'événement spécifié dans la clause "on" survient. Pour indiquer qu'elles peuvent être exécutées plusieurs fois à l'arrivée d'un événement, représentez l'arrivée d'un événement réflexif, comme suit : | |
| |
q | Etats concurrents et barre de synchronisation |
Pour représenter des états concurrents sur un même diagramme d'états-transitions, on utilise la notation suivante : Dans l'exemple ci-dessus, l'automate K est composé des sous-automates L et M. L et M s'activent simultanément et évoluent en parallèle. Au départ, l'objet dont on modélise les états par l'automate K est dans l'état composite (E-L1, E-M1). Après l'événement Tr1, K passe dans l'état composite (E-L2, E-M2). Par la suite, si l'événement Tr2 survient, K passe dans l'état composite (E-L3, E-M2). Si c'est Tr4 qui survient, M ne passe pas dans l'état E-M1, car cette transition est contrainte par l'état de L ("[in E-L3]"). Dans l'état composite (E-L3, E-M2), si Tr3 survient, K passe dans l'état composite (E-L2, E-M2). Si c'est Tr4 qui survient, K passe dans l'état composite (E-L3, E-M1). Et ainsi de suite... Attention : la numérotation des événements n'est pas significative. Pour synchroniser les sous-automates d'une agrégation d'états, il faut contraindre les transitions, comme dans l'exemple ci-dessus ("[in E-L3]"). On peut aussi utiliser un symbole spécial : "la barre de synchronisation". | |
| |
| |
q | Evénement paramétré |
UML permet aussi de paramétrer les événements, comme dans l'exemple suivant : | |
| |
q | Echange de messages entre automates |
Il est aussi possible de représenter l'échange de messages entre automates dans un diagramme d'états-transitions. Cette notation particulière n'est pas présentée ici. Veuillez vous référer à "l'UML notation guide". |
DIAGRAMME D'ACTIVITES
q | Diagramme d'activités : sémantique |
activités et transition, notation : Pour représenter des transitions conditionnelles, utilisez des gardes (expressions booléennes exprimées en langage naturel), comme dans l'exemple suivant : | |
| |
q | Synchronisation |
Il est possible de synchroniser les transitions à l'aide des "barres de synchronisation" (comme dans les diagrammes d'états-transitions). Une barre de synchronisation permet d'ouvrir et de fermer des branches parallèles au sein d'un flot d'exécution : | |
L'exemple suivant illustre l'utilisation des barres de synchronisation : | |
| |
q | Couloirs d'activités |
Afin d'organiser un diagramme d'activités selon les différents responsables des actions représentées, il est possible de définir des "couloirs d'activités". Il est même possible d'identifier les objets principaux, qui sont manipulés d'activités en activités et de visualiser leur changement d'état. |