Rebonjour.
Je me réfère à un exemple apparemment souvent utilisé en tutoriels de modélisation UML : l'ascenseur.
A l'évidence l'acteur principal est l'utilisateur de l'ascenseur.
Le use case principal est "changer d'étage" (mis à part les use case d'exception que pourraient être pour un gamin de dix ans : "appuyer sur les boutons d'appel pour faire ch.. le monde", ou pour un de vingt : "bloquer l'ascenseur entre deux étages avec la voisine de palier").
Or il est évident qu'un acteur "normal" dispose de moyens d'interaction avec le système, différents en fonction de la situation qu'il occupe à un moment donné.
Quand il est dans le couloir, il peut appeler l'ascenseur (en montée ou bien en descente pour les + sophistiqués), ou simplement attendre qu'il s'arrête à son étage (plus improbable sauf pour les bi-manchots au nez court*), et ensuite monter dans la cabine.
Quand il est dans la cabine, il peut par contre sélectionner un étage de destination, ou plusieurs (étourdi), ou même ne rien faire (cfr *; j'écarte volontairement l'usage du bouton "stop").
Ma question est : l'acteur dans le couloir doit-il, au niveau du diagramme use case, être représenté distinctement de celui dans la cabine (étant entendu bien sûr qu'il peut y avoir plusieurs acteurs en cabine et hors cabine, simultanément) ?
Si non :
- Va-t'on dans le usecase simplement associer l'acteur quelle que soit sa situation "géographique" (son état), à chaque action du système ou propre à lui, qu'il va devoir éventuellement mener pour changer d'étage (à savoir appeler la cabine, entrer dans l'habitacle, sélectionner l'étage de destination, attendre l'ouverture des portes au bon étage, sortir de l'habitacle) ?
- Dans quel diagramme UML va-t'on retrouver ces possibilités d'interaction distinctes avec le système, en fonction de l'état de l'utilisateur (dans ou hors cabine) ?
Merci pour vos lumières.
Partager