Vous êtes sur la page 1sur 8

Cours UML, Chapitre 3, Analyse dynamique

Chapitre 3 : Modélisation dynamique


Nous apprendrons à utiliser dans cette partie du cours les diagrammes UML pour mettre en
évidence les aspects dynamiques du système. Nous travaillerons sur la conception des
diagrammes de séquence, d’activité ou d’états pour détailler les cas d’utilisation, attribuer les
responsabilités aux classes et décrire la dynamique des objets.

Mots clés : Acteur, Cas d’utilisation, scénario, Diagramme de séquence système, Diagramme
de contexte dynamique, Message, Diagramme d’états, État, transition, Événement, Condition,
Action - Activité.

I. Diagramme de séquences
Le diagramme de séquence décrit comment, et dans quel ordre les éléments du système
interagissent entre eux. Il permet d’illustrer graphiquement une action ordonnée dans le temps
et fait partie du modèle d’analyse. Ces diagrammes sont utilisés à la fois par les développeurs
logiciels et les managers d'entreprises pour comprendre les besoins d'un nouveau système ou
documenter un processus existant. Les diagrammes de séquence sont parfois appelés
diagrammes d'événement ou scénarios d'événements. Les diagrammes de séquence sont un
bon moyen de visualiser et de valider différents scénarios d'exécution. Ils peuvent aider à
prédire le comportement d'un système et à découvrir les responsabilités qu'une classe peut
avoir dans le processus de modélisation d'un nouveau système. Lignes de vie, messages et
fragments sont les concepts fondamentaux qui les composent.
a) Eléments d’un diagramme de séquence
Les éléments constitutifs d’un diagramme de séquence sont:
Symbole Signification
Forme carrée représentant une classe, ou objet, en langage UML sans
attributs ni méthodes.
Ou

Acteurs qui interagissent avec le système sans en faire partie

Boîte d'activation représentant le temps nécessaire pour qu'un objet ou


acteur accomplisse une tâche. Plus la tâche dure, plus est longue la boite
d’activation
Ligne de vie : Ligne verticale en pointillés représentant le passage du
temps. Avec le temps, elles représentent les événements séquentiels
survenant en lien avec un objet pendant le processus schématisé.

1
IUT de Ngaoundéré : Année académique 2017-2018
Cours UML, Chapitre 3, Analyse dynamique

Symboles de messages de séquence


Messages synchrones : Ces messages sont bloquants pour l’expéditeur.
L’objet émettant ce type message doit attendre une réponse à un message
du destinataire avant de continuer son exécution. Le diagramme doit
montrer à la fois l'appel et la réponse.
Messages asynchrones : ces messages ne nécessitent pas de réponse avant
que l'expéditeur ne continue sont exécution. Seul l'appel doit être inclus
dans le diagramme.
Message de retour ou de réponse suite à la réception d’un message
synchrone
Message de création « create » : Ces messages sont envoyés aux lignes de
vie afin de s'auto-créer.
Message de destruction « destroy » : ces messages provoquent la
destruction du destinataire
Messages marquant la destruction d'un objet et sont placés dans son
chemin, sur la ligne de vie.
Messages trouvés : Messages dont la connaissance de l’émetteur importe
peu.
Messages perdus : Messages dont on connaît l’émetteur mais pas le
récepteur. Ces messages indiquent souvent les cas d’erreur
Exemple 1: Illustration des notations du diagramme de séquence

Exemple 2 : Message asynchrone et synchrone

2
IUT de Ngaoundéré : Année académique 2017-2018
Cours UML, Chapitre 3, Analyse dynamique

Exemple 3 : Destruction et création des objets

Dans cet exemple, l’objet 2 est créé et détruit durant le scénario, contrairement aux objets
1 et 3 qui préexistent et survivent au scénario concerné. Le message m11 est imbriqué dans
le message m1.
Exemple 4 : Messages et responsabilités aux classes

class B {
C c;
message1 (p:Type) {
c.message2 ();
c.message3 (p);
}
}

class C {
message2 () {
...
}
message3 (p:Type) {
...
}

La notion de message n’a aucun sens dans le contexte d’un diagramme de classes. Les
méthodes sont définies dans la classe du récepteur, et pas de l’émetteur du message.

3
IUT de Ngaoundéré : Année académique 2017-2018
Cours UML, Chapitre 3, Analyse dynamique

b) Fragment combiné
Un fragment combiné permet de décomposer une interaction complexe en fragments
suffisamment simples pour être compris. Il est représenté par un rectangle dont le coin
supérieur gauche contient un pentagone. Dans le pentagone figure le type de la combinaison
(appelé opérateur d’interaction).

La condition lorsqu’elle existe, représente la condition qui doit être vraie pour que le fragment
s’exécute. L’opérande d’un opérateur est généralement une ligne de vie. UML offre une
panoplie d’opérateurs pour mettre en œuvre les fragments combinés:
 opt (*facultatif**) : l’opérande ne s’exécute que si la condition est vérifiée.
 alt : décrit plusieurs alternatives mais n’exécute que celle dont la condition est vérifiée
 loop : Le fragment est répété un certain nombre de fois. Dans la protection, on indique
la condition sous laquelle il doit être répété.
 ref : permet de faire référence à une autre interaction ;
 etc.
Exemple 1 : Diagramme de séquence du scénario nominal de recherche avancée

Exemple 2 : Diagramme de séquence mis à jour des statistiques des albums

4
IUT de Ngaoundéré : Année académique 2017-2018
Cours UML, Chapitre 3, Analyse dynamique

II. Diagrammes d’activité


Les diagrammes d’activité représentent des processus en tant qu’une activité composée de
plusieurs nœuds connectés. En UML 1, les diagrammes d’activité étaient des sous ensembles
des diagrammes d’état. Dans la version 2 d’UML2, c’est un diagramme à part entière. Une
activité peut être attachée à n’importe quel élément du modèle (cas d’utilisation, classe, …).
Une activité modélise essentiellement un comportement.

Les diagrammes d’activité sont idéaux pour des processus métier. Ils n’ont pas besoin de
connaître la structure statique du modèle (classe, objets) ce qui favorise leur utilisation dans
les premiers moments d’analyse car ils sont très simples à comprendre par le client.

Les activités sont composées de nœuds et de connecteurs. Il existe trois types :


 Les nœuds d’activation qui représentent les unités de travail atomique (indivisible) ;
 Les nœuds de contrôle qui contrôlent les flux au sein d’une activité ;
 Les nœuds d’objet qui représentent les objets manipulés dans une activité.

Les connecteurs représentent les flux entre les nœuds. Deux types de connecteurs existent :
 Les connecteurs de contrôle qui représentent les flux d’activité ;
 Les connecteurs d’objet qui représentent le flux d’objets.

a) Eléments graphiques des nœuds d’activité

De la gauche vers la droite, on a : le nœud représentant une action, qui est une variété de
nœud exécutable, un nœud objet, un nœud de décision ou de fusion, un nœud de bifurcation
ou d’union, un nœud initial, un nœud final et un nœud final de flot.
Exemple 1: Gestion des commandes
Supposons que dans cette gestion, les acteurs identifiés sont Acheteur et Vendeur et que les
cas d’utilisation respectifs sont EffectuerUneCommande et ValiderUneCommande. Le
diagramme d’activité illustrant l’enregistrement d’une commande peut être le suivant :

5
IUT de Ngaoundéré : Année académique 2017-2018
Cours UML, Chapitre 3, Analyse dynamique

Exemple 2: Diagramme d’activités d’une ligne de commande

b) Partitions
Les partitions, souvent appelées couloirs du fait de leur notation, permettent
d’organiser les nœuds d’activités dans un diagramme d’activités en opérant des
regroupements. Les partitions rendent les diagrammes d’activités plus faciles à lire et plus
expressifs.

Exemple 1 : Pour valider une facture, le gestionnaire lance la validation, le magasinier


prépare le stock et enfin, le comptable vérifie le paiement.

6
IUT de Ngaoundéré : Année académique 2017-2018
Cours UML, Chapitre 3, Analyse dynamique

Exemple 2 : Processus métier de gestion d’une commande

III. Diagramme d’états-transitions


Les diagrammes d’états-transitions d’UML décrivent le comportement interne d’un objet à
l’aide d’un automate à états finis. Ils présentent les séquences possibles d’états et
d’actions qu’une instance de classe peut traiter au cours de son cycle de vie en réaction à des
événements discrets (de type signaux, invocations de méthode).

Les diagrammes d’états-transitions sont composés de trois éléments principaux : états,


transitions, et événements.

 Un état représente une condition dans laquelle se trouve un objet à un instant T.


 Un événement est une action particulière qui se déclenche sous des conditions
spécifiques.
 Une transition est un mouvement d’un état vers un autre suite à un événement donné.

7
IUT de Ngaoundéré : Année académique 2017-2018
Cours UML, Chapitre 3, Analyse dynamique

Exemple 1 : Une lampe est initialement éteinte. Si on l’allume, elle passe dans l’état allumée.
Si on l’éteint, elle passe dans l’état éteinte. Si elle saute, elle passe définitivement à l’état final
défectueux.

Exemple 2 : gestion d’une commande

8
IUT de Ngaoundéré : Année académique 2017-2018

Vous aimerez peut-être aussi