Comment inclure des conditions dans les diagrammes de séquence UML?


13

J'aime dessiner un diagramme de séquence UML pour afficher la séquence d'actions et d'interactions des différentes parties de mon système (je pense qu'ils ont appelé des acteurs).

Cependant, je dois inclure des if then elsedéclarations ici. Dois-je faire quelque chose de mal? Puis-je utiliser des instructions conditionnelles if dans mon diagramme de séquence UML? Comment?

Réponses:


18

Comme dans de nombreux types de diagrammes UML, vous pouvez utiliser des gardes pour désigner une condition. Un garde est une expression booléenne que vous pouvez écrire sur une transition.

Voici une photo avec un exemple: entrez la description de l'image ici

Notez la condition "[pastDueBalance = 0]".

Vous pouvez également utiliser des fragments combinés pour une logique conditionnelle plus compliquée. Voir ce bel article msdn pour plus d'informations.


4

Il y a quatre possibilités que je connais (avec une puissance croissante):

  1. Le plus simple consiste à utiliser des gardes , qui sont des expressions booléennes simples et sans effet secondaire.
  2. Avec des fragments combinés (voir par exemple page 54), vous pouvez regrouper des ensembles de messages pour afficher le flux conditionnel dans un diagramme de séquence (alternatives, options, boucles)
  3. Le langage de contrainte d'objet (OCL) est beaucoup plus puissant , qui peut en outre quantifier (pour tous, existe) et offre un langage de contrat à part entière (DesignBy-) (qui est presque aussi expressif que la logique de premier ordre complète).
  4. Le moyen le plus puissant consiste à exprimer votre contrainte à l'aide d'un langage d'action UML à partir d' UML exécutable (xUML) conforme à la sémantique d'action UML.

Mon choix serait le moins puissant qui soit encore suffisamment exprimable pour ce que vous voulez faire. Par exemple, les actions en 4. peuvent avoir des effets secondaires, ce qui les rend beaucoup plus fragiles que OCL.


2

Bien que les diagrammes de séquence soient parfaits pour votre description, assurez-vous de vérifier les diagrammes d'activité.

Lorsque vous souhaitez afficher des détails internes (y compris des règles détaillées), les diagrammes d'activité sont ce que vous souhaitez utiliser. Les diagrammes d'activités simples se concentrent sur la séquence des activités et des règles et ne montrent pas bien les responsabilités des acteurs, néanmoins, vous pouvez utiliser des couloirs de natation pour mettre en évidence les responsabilités de chaque acteur. Chaque voie comprendrait des activités dont un acteur est responsable.

Ces liens décrivent des diagrammes d'activités avec des couloirs de natation:

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.