web-dev-qa-db-fra.com

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

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 if then else déclarations ici. Dois-je faire quelque chose de mal? Puis-je utiliser des instructions conditionnelles if dans mon diagramme de séquence UML? Comment?

13
Saeed Neamati

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: enter image description here

Notez la condition "[pastDueBalance = 0]".

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

18
Falcon

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

  1. Le plus simple est simplement d'utiliser gardes, qui sont des expressions booléennes simples et sans effets secondaires.
  2. Avec 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. Beaucoup plus puissant est le Object Constraint Language (OCL), qui peut en outre quantifier (pour tous, existe) et offre un à part entière (DesignBy-) Contract language (qui est presque aussi expressif que la logique complète du premier ordre).
  4. Le moyen le plus puissant consiste à exprimer votre contrainte à l'aide d'un langage d'action UML à partir de ML 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.

4
DaveFar

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és sont ce que vous souhaitez utiliser. Les diagrammes d'activité 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:

2
NoChance