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?
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:
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.
Il y a quatre possibilités que je connais (avec une puissance croissante):
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.
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: