Ce sont les diagrammes de séquence et les diagrammes de collaboration. Nous réservons cette partie pour présenter les aspects avancés de ces deux diagrammes. Lors de la modélisation dynamique, les interactions peuvent être modélisées en privilégiant l’ordre chronologique ou l’organisation. Les diagrammes de séquence constituent de bons outils pour visualiser des interactions selon la première préoccupation alors que les diagrammes de collaboration conviennent mieux à la deuxième.
Modélisation des flots de contrôle par ordre chronologique
Celle-ci se réalise plus facilement avec un diagramme de séquence. Il faut déterminer le contexte de l'interaction, identifier les objets qui jouent un rôle dans l'interaction et les placer dans le diagramme par ordre d'importance (de gauche à droite). Si on a besoin de spécifier des contraintes de temps et d'espace, il faut les ajouter à chaque message. Il ne faut pas oublier de préciser les périodes d'activation (rectangles), les retours explicites, la nature des messages (synchrones ou asynchrones) et les paramètres à transmettre dans les messages. A ce stade les messages sont beaucoup plus explicites que ceux utilisés dans les diagrammes de séquence système (les messages correspondent à des opérations connues grâce aux ébauches de diagramme de classes, d'où le paramétrage).
Modélisation des flots de contrôle par organisation
De même que pour le diagramme de séquence, il faut commencer par identifier les objets participant à l'interaction en plaçant les plus importants au centre du diagramme. On peut déterminer les propriétés initiales de chacun des objets. Si ces valeurs changent, il faudra placer un objet dupliqué (copy) sur le diagramme et mettre ces nouvelles valeurs à jour. Ensuite, il faut attacher des messages à chaque lien entre objets en commençant par le message qui débute l'interaction et indiquer son numéro de séquence. Représenter l'emboîtement en utilisant la numérotation décimale pointée.
Multi-Objets
Pour les deux types de modélisation, il est très fréquent de rencontrer des traitements concernant une collection d'objets. On appelle Multi-objet un symbole UML représentant plusieurs objets de la même classe, voir par exemple la collection les-clients dans la figure suivante.
Itération sur une collection
Pour opérer une itération sur tous les éléments d'une collection, il suffit de préfixer le message d'une « * », ceci indique que ce message s'adresse à toutes les objets de cette collection.