2017-05-29 3 views
0

Si un acteur communique avec le cas d'utilisation A, communique-t-il automatiquement avec un cas d'utilisation étendu B ou dois-je dessiner une seconde association entre l'acteur et le cas d'utilisation B - si mon intention est pour que l'acteur exécute A et B? Que se passerait-il si, au lieu de < < extends >>, l'association entre A et B était < < includes >>? Une ligne entre l'acteur et le cas d'utilisation A impliquerait-elle également que l'acteur peut exécuter le cas d'utilisation inclus (B)? Ou dois-je tirer une deuxième ligne de l'acteur pour utiliser le cas b?Acteurs et extension des cas d'utilisation en UML


EDIT: Je crains de ne pas avoir été clair. Mon doute ne concerne pas la sémantique de comprend et s'étend ou lors de leur utilisation, mais plutôt leur représentation correcte sur un diagramme. Si on me demandait de dessiner un diagramme de cas d'utilisation ATM, j'aurais probablement le même schéma @RedBeard présenté. Cependant, dans le site [http://elearning.uml.ac.at/], ils affirment que, selon le standard UML2, pour que le diagramme soit complet, il faut aussi dessiner deux autres associations, reliant l'acteur directement aux cas d'utilisation inclus et prolongés, c'est-à-dire une ligne de l'acteur à Card Identification et un autre de l'acteur à Online Help, sinon ces cas d'utilisation ne seraient jamais exécutés. Comme je n'ai trouvé nulle part cette explication dans le livre UML Super Strucure, j'ai décidé de poster cette question ici.

Répondre

0

J'ajoute un exemple venant (plus ou moins) de la spécification UML2.5. Comme vous pouvez le voir quand un « client » veulent « Prélever » il doit « Carte Identication » parce que vous avez un Inclure de « Prélever » à « Carte Identication » pour un "L'identification de la carte "est toujours incluse lorsqu'un" Client "veut" Retirer ".

En même temps, quand un « client » veulent « Effectuer ATM Transaction » (qui peut être un « Extraire », un « Transfert », ou un « dépôt ») , il peut, ou non sélectionner "En ligne Aide". Thsi est due à la Extend lien entre "Effectuer ATM Transaction" et "Aide en ligne" ce qui signifie qu'un "Perform ATM Transaction" peut être prolongée par "Aide en ligne".

Donc, si vous voulez modéliser le fait qu'un acteur doivent faire toujours à la fois A et B un Inclure le lien fonctionnerait. Un Inclure le modèle de lien un l'extension qui n'est pas obligatoire. En espérant que c'est clair.

enter image description here

+0

Merci pour votre réponse, Red Beard. S'il vous plaît voir mon edit à la question originale. – user160902

+0

Pour moi vous n'avez pas besoin de plus d'association .... Je pourrais comprendre cette association supplémentaire mais je ne suis pas que l'idée UML ici ... –