Diagramma di sequenza: gli attori sono oggetti?


11

La risposta più probabile è no, ma sono venuto con questo dubbio. Un attore può agire come una classe?

So che gli attori attivano eventi e possono avere prompt, ma se esiste una classe che modella un attore (come una classe utente) possiamo chiamare metodi su di essi? Oppure si tratta di un malinteso completo sul ruolo dell'attore, che si sta mescolando con la classe rappresentativa?

Supposto come corretto:

Esempio corretto supposto

Dubbio se corretto:

inserisci qui la descrizione dell'immagine

Risposte:


8

In UML, un attore è sempre qualcosa (un sistema o di persona) che è al di fuori della portata del sistema / software che si sta costruendo. Sarebbe del tutto sbagliato equiparare un attore a un'istanza / oggetto di una classe che capita di modellare alcuni aspetti dell'attore nel proprio sistema.

Nei diagrammi UML mostrati, l'attore "Utente" (con la sua icona a forma di figura stilizzata) rappresenta l'essere umano del mondo reale che gestisce il tuo sistema. La classe Userrappresenta un modello di quella persona che cattura le caratteristiche che sono rilevanti per te. Questa classe esiste solo nel tuo sistema.
Questo fa sì che la classe e l'attore siano due entità distinte e dovrebbero essere mostrate come tali nei tuoi diagrammi.


"L'attore è sempre qualcosa al di fuori dell'ambito del sistema / software che stai costruendo." Tuttavia l'attore interagisce direttamente con l'oggetto di qualche classe avviando lo stack di chiamate. Pertanto in qualche modo fa parte del sistema (è rappresentato da un'altra classe arbitraria da un livello UI che molto probabilmente non è modellato dal diagramma di classe). Questo all'inizio sembra davvero controintuitivo ed è probabilmente la fonte di confusione per alcune persone.
dvdblk,

L'attore è un'entità separata. L'attore esiste anche se il sistema no. L'attore avvia, chiude e fornisce persino input al sistema ma non si siede all'interno del sistema software per eseguire alcuna attività del sistema. Il sistema funziona indipendentemente dall'attore. Gli oggetti possono simulare attori del mondo reale, ma dipendono comunque da attori umani per l'avvio, l'uscita e l'inserimento diretto o indiretto.
user2994783
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.