Un diagramme de séquence est un diagramme UML qui fournit une représentation graphique de la technologie d'échange de messages entre des objets et des acteurs pour un cas d'utilisation, l'exécution d'une opération, ou une interaction des classes, en mettant l'accent sur leur chronologie.
Vous pouvez utiliser un ou plusieurs diagrammes de séquence pour mettre en scène un cas d'utilisation ou pour identifier toutes les possibilités d'un comportement complexe.
Un diagramme de séquence montre des acteurs, des objets (instances de classes) et les messages qu'ils échangent. Il véhicule le même genre d'informations qu'un diagramme de communication, à ceci près qu'il se concentre sur la chronologie des messages échangés entre les objets plutôt que sur la structure des objets.
Par défaut, PowerAMC fournit un "cadre d'interaction", qui entoure les objets dans le diagramme et agit comme la limite extérieure du système (ou d'une partie de ce système) en cours de modélisation. Les messages peuvent avoir comme origine ou destination n'importe quel endroit de ce cadre d'interaction, et ces portes peuvent être utilisées à la place des acteurs (voir Messages et portes). Vous pouvez supprimer le cadre en sélectionnant , en sélectionnant la catégorie Cadre d'interaction et en décochant l'option Symbole d'interaction. Pour obtenir des informations détaillées sur l'utilisation des préférences d'affichage, voir Guide des fonctionnalités générales > Modélisation avec PowerAMC > Diagrammes, matrices et symboles > Préférences d'affichage.
L'un des principaux avantages d'un diagramme de séquence sur un diagramme de communication est qu'il permet de référencer des interactions courantes et de spécifier facilement des scénarios alternatifs ou parallèles en utilisant des fragments d'interaction. Ainsi, vous pouvez décrire dans un seul diagramme de séquence un nombre d'interactions liées qui nécessiterait plusieurs diagrammes de communication.
Dans l'exemple ci-dessus, l'acteur Client passe une commande. Le message Passer commande crée un objet Commande. Un fragment d'interaction gère diverses possibilités de vérifier la commande. L'objet Compte et l'auteur Responsable peuvent interagir avec la commande en fonction de sa taille. Une fois le message Confirmer commande envoyé, l'interaction Traiter commande est initiée. Cette interaction est stockée dans un autre diagramme de séquence, et est représentée ici par une référence d'interaction :
Un diagramme de séquence peut être utilisé pour affiner le comportement ou la description d'un cas d'utilisation. Cette approche est utile lors de l'analyse des besoins car elle peut aider à identifier des classes et associations qui ne s'étaient pas imposées immédiatement.
Vous pouvez formaliser l'association entre le cas d'utilisation et le diagramme de séquence en ajoutant le diagramme dans l'onglet Diagrammes associés de la feuille de propriétés du cas d'utilisation.
Il est souvent nécessaire de créer plusieurs diagrammes afin de décrire tous les scénarios possibles d'un cas d'utilisation. Dans ce cas de figure, il peut être utile d'utiliser les diagrammes de séquence pour découvrir tous les objets pertinents avant de tenter d'identifier les classes qui vont les instancier. Une fois ces classes identifiées, vous pouvez ensuite déduire les associations entre elles grâce aux liens entre objets.
La construction d'un diagramme de séquence peut également être l'opportunité de tester un modèle statique pendant la conception ; il peut représenter un scénario dans lequel les classes du diagramme de classes sont instanciées pour créer les objets nécessaires à l'exécution du scénario.
Il complète le diagramme de classes qui représente la structure statique d'un système en spécifiant le comportement des classes et interfaces ainsi que l'utilisation possible de leurs opérations.
Un diagramme de séquence permet d'analyser des opérations de classe avec plus de précision qu'un diagramme de communication. Vous pouvez créer une opération dans la classe d'un objet qui reçoit un message par le biais de la feuille de propriétés du message. Vous pouvez également effectuer une telle tâche dans un diagramme de communication, mais il y a plus d'espace dans un diagramme de séquence pour afficher des informations détaillées (arguments, valeur de résultat, etc.) relatives à l'opération.
Lorsque vous utilisez la fonctionnalité de fusion de modèles sur des diagrammes de séquence, les symboles de tous les éléments du diagramme de séquence sont fusionnés sans comparaison. Vous avez le choix d'accepter toutes les modifications sur tous les symboles ou de refuser toute modification.