web-dev-qa-db-fra.com

Acteurs participant à un diagramme de cas d'utilisation

Supposons qu'un client ait besoin d'aborder un membre du personnel pour l'enregistrer. Pour modéliser cela, j'ai dessiné l'image ci-dessous. Cependant, je ne suis pas sûr que ce que j'ai dessiné, cela signifie que les deux peuvent enregistrer le client, et non qu'un client doit d'abord aborder le personnel. Pourriez-vous me le faire savoir? Merci

Ps. Le client fournira des informations personnelles au membre du personnel. Ceci est important comme dans le diagramme de séquence, les messages sont échangés entre les deux.

enter image description here

1
Melanie A

Les spécifications UML expliquent que la signification exacte de plusieurs acteurs associés au même cas d'utilisation est indéterminée:

La manière dont plusieurs acteurs participent à l'upease dépend de la situation spécifique à portée de main et n'est pas définie dans cette spécification. Par exemple, une action particulière peut nécessiter une action simultanée (...) de deux acteurs distincts (...) ou pourraient nécessiter des actions complémentaires et successives par les acteurs (...).
[.____] - UML 2.5.1 page 640

Pour les exemples typiques des spécifications, j'ajouterais à la situation où un acteur ou l'autre est impliqué, qui est imho de beaucoup plus fréquent.

Un tel cas d'utilisation est ambigu de manière inutile sans au moins une brève description du comportement en jeu permettant d'allumer la nature de l'implication des différents acteurs.

1
Christophe

Disclaimer: J'ai lu plusieurs fois à plusieurs reprises à travers la spécification UML à la recherche de cette sémantique spécifique et, bien qu'elle puisse être tirée par la combinaison d'au moins 3, sinon plus de sections, il est super mal compris dans la spécification elle-même. Pourtant, la notation que je fournis ci-dessous devrait être comprise dans la manière dont je le décris dans le cadre de la voie de certification officielle de la certification UML par OMG, donc je traiterais de sorte que cette compréhension est l'intention des créateurs de spécification UML.

L'association entre un cas d'utilisation et un acteur indique uniquement que l'acteur est impliqué d'une manière ou d'une autre dans le cas d'utilisation. Cela ne clarifie pas, qui est initiateur. Donc basé sur votre diagramme à la fois des acteurs: Staff et Customer doivent être impliqués dans la réalisation du cas d'utilisation Registration. Ce n'est pas clair, lequel l'initie et qui est impliqué dans l'autre sens.

Ici commence la partie que je baste sur des examens plutôt que sur des spécifications (c'est-à-dire que vous pouvez interpréter la spécification de cette façon, mais je ne le devinerais jamais si je n'étais pas dit alors lors de la préparation de l'examen, cette notation est également indiquée au cours de l'examen lui-même).

Vous pouvez spécifier qui initie l'analyse d'utilisation en utilisant la navigabilité de l'association entre le cas d'utilisation et l'acteur. Si l'acteur initie le cas d'utilisation, vous pouvez l'indiquer en faisant l'association navigable pour l'acteur (c'est-à-dire dessiner l'association comme une flèche avec une tête ouverte sur le côté du boîtier d'utilisation). Si, d'autre part, l'acteur est impliqué dans le cas d'utilisation mais ne l'initie pas, l'association doit être navigable pour le boîtier d'utilisation, de sorte que la flèche doit être dans la direction opposée, la tête ouverte sur le côté d'un acteur .

Je veux être très clair - cette sémantique n'est pas expliquée directement, vous devez lire entre des lignes de peu de section afin que je ne puisse imaginer que personne ne lisait que la spécification UML ne devinerait que cela. Pourtant, vous pouvez voir cette notation utilisée à l'examen comme s'il est clairement compréhensible de la spécification.

Vous pouvez également vérifier mon commentaire à cette réponse

1
Ister

Étant donné que la case décrit probablement "le système" et étant donné que le "client" n'interagit pas réellement avec "le système" comme décrit, le "client" n'est pas pertinent pour les interactions avec "le système" et ne doit pas faire partie du cas d'utilisation.

Cela dit, il semble que le "flux de travail" constitue un élément essentiel de la fonction globale du "système" dans lequel le diagramme de cas d'utilisation ne serait pas le mécanisme de spécification, mais plutôt d'un diagramme d'activité, par exemple.

En dehors de cela, je suggère également que le "personnel" fonctionne comme un proxy client formé au "client" avec une formation supplémentaire de la manière d'interagir avec "le système" au nom du client. . Dans ce cas, "un proxy client formé" devrait être considéré comme une sous-classe de "personnel" et représenté comme le seul acteur est ce cas.

Une alternative finale, envisagez la possibilité que le "personnel" soit en réalité une composante du "système" et réduit donc le cas d'utilisation à un "client" interagissant avec "le système".

1
Andy