Diagrama de sequência: Os objetos são atores?

11

A resposta mais provável é não, mas eu vim com essa dúvida. Um ator pode atuar como uma classe?

Sei que os atores acionam eventos e podem ter avisos, mas se houver uma classe modelando um ator (como uma classe de usuário), podemos chamar métodos sobre eles? Ou isso é um completo mal-entendido sobre o papel do ator, que está se misturando com a classe representativa?

Suposto como correto:

Exemplo correto suposto

Duvide se correto:

insira a descrição da imagem aqui

Tiago Duque
fonte

Respostas:

8

Na UML, um ator é sempre algo (um sistema ou pessoa) que está fora do escopo do sistema / software que você está construindo. Seria completamente errado equiparar um ator a uma instância / objeto de uma classe que, por acaso, modela certos aspectos do ator em seu sistema.

Nos diagramas UML mostrados, o ator "Usuário" (com seu ícone de boneco) representa o ser humano do mundo real que opera seu sistema. A classe Userrepresenta um modelo dessa pessoa que captura as características que são relevantes para você. Esta classe existe apenas no seu sistema.
Isso faz com que a classe e o ator sejam duas entidades distintas e também devem ser mostrados como tal em seus diagramas.

Bart van Ingen Schenau
fonte
"Ator é sempre algo fora do escopo do sistema / software que você está construindo." No entanto, o ator interage diretamente com o objeto de alguma classe iniciando a pilha de chamadas. Portanto, ele de alguma forma faz parte do sistema (ele é representado por outra classe arbitrária de uma camada da interface do usuário que provavelmente não é modelada pelo diagrama de classes). Isso parece realmente contra-intuitivo no início e provavelmente é a fonte de confusão para algumas pessoas.
Dvdblk 28/11
O ator é uma entidade separada. O ator existe mesmo que o sistema não exista. O ator inicia, fecha e até fornece informações ao sistema, mas não fica dentro do sistema de software para executar nenhuma tarefa do sistema. O sistema funciona independentemente do ator. Os objetos podem simular atores do mundo real, mas ainda dependem de atores humanos para a inicialização, saída e entrada direta ou indiretamente.
user2994783 01/03