associação de comunicação

Uma associação de comunicação é uma associação entre uma classe de ator e uma classe de caso de uso, que indica haver interação entre suas instâncias.
Tópicos

Explicação Início da página

Os casos de uso e os atores interagem por meio de sinais enviados entre si. Para indicar tais interações, usamos a associação de comunicação entre o caso de uso e o ator. Um caso de uso tem no máximo uma associação de comunicação com um determinado ator e vice-versa, seja qual for o número de transmissões de sinais. A rede completa dessas associações é uma imagem estática da comunicação entre o sistema e seu ambiente.

As associações de comunicação não recebem nomes. Como só pode haver uma associação de comunicação entre um caso de uso e um ator, você só precisa especificar os pontos inicial e final para identificar uma determinada associação de comunicação.

Uma linha ou uma seta entre um ator e um caso de uso indica que eles interagem enviando sinais entre si.

Papéis Início da página

Cada extremidade de uma associação de comunicação é um papel que especifica a função que o caso de uso ou o ator desempenha na associação. Os papéis são usados para especificar multiplicidades e direções da associação (veja abaixo).

Multiplicidade Início da página

Cada papel de uma associação de comunicação indica a multiplicidade de seu tipo, ou seja, quantas instâncias daquele ator ou caso de uso podem ser associadas a uma instância do outro caso de uso ou ator. A multiplicidade é indicada por uma expressão de texto no papel. A expressão é uma lista com intervalos de números inteiros separados por vírgula. Um intervalo é indicado por um número inteiro (o valor menor), dois pontos e um número inteiro (o valor maior). Um único número inteiro é um intervalo válido e o símbolo '*' significa "muitos", ou seja, um número ilimitado de objetos. O símbolo '*' equivale a '0..*', ou seja, qualquer número, incluindo zero. Esse é o valor padrão (default). Um papel escalar opcional tem a multiplicidade 0..1.

A multiplicidade pode ser aumentada com uma restrição de unidade de tempo. Isso é feito para determinar quantas instâncias podem estar associadas, provavelmente por instâncias diferentes, durante a unidade de tempo. Essa informação é útil, pois indica se o caso de uso é executado com freqüência e também o quão freqüentemente é iniciado pela mesma instância de ator.

Exemplo:

O caso de uso Realizar Transações é utilizado 400.000 vezes por dia pelos clientes. Cada cliente inicia o caso de uso duas vezes ao mês.

Navegabilidade Início da página

Todo papel de uma associação de comunicação tem uma propriedade de navegabilidade que mostra quem inicia a comunicação na interação.  A navegabilidade é demonstrada por uma seta aberta.  Se a seta apontar para um caso de uso, o ator que estiver na outra extremidade da associação iniciará a interação com o sistema.  Se a seta apontar para um ator, o sistema iniciará a interação com o ator.  A navegabilidade bidirecional é demonstrada por uma linha sem setas (duas setas tornam os diagramas confusos).

A seta de comunicação define o ator que iniciou o caso de uso. Há uma mensagem de retorno para cada seta de comunicação. Uma linha sem seta pressupõe uma comunicação bidirecional.

Não confunda navegabilidade com fluxo de dados. Ela é usada apenas para mostrar o início da comunicação.  Por exemplo, a solicitação de dados feita por um cliente é indicada por uma seta em direção ao caso de uso que representa o sistema, embora a maioria dos dados flua do sistema para o cliente.

Comunicação do Ator com o Caso de Uso Início da página

Os atores se comunicam com o sistema enviando sinais. Para entender bem o papel do ator, é preciso saber em que casos de uso o ator está envolvido. As associações de comunicação entre o ator e os casos de uso fornecem essas informações.

A multiplicidade da associação mostra o número de instâncias de caso de uso com as quais uma instância de ator pode se comunicar ao mesmo tempo.

Exemplo:

No Sistema de Máquina de Reciclagem, toda vez que uma instância do ator Cliente entrega um item de depósito, ele envia um sinal à respectiva instância do caso de uso Reciclar Itens. Quando o ator terminar, o caso de uso imprimirá um recibo. Um Cliente só pode se comunicar com uma instância de Reciclar Itens. Desse modo, a multiplicidade da associação é 1. O recibo enviado pelo sistema é considerado como uma resposta da instância de caso de uso. Portanto, a associação de comunicação não precisa de navegabilidade para a outra direção.

Um Cliente que queira devolver itens de depósito para uma máquina de reciclagem irá se comunicar com o caso de uso Reciclar Itens.

Um ator se comunica com os casos de uso por vários motivos:

  • Para disparar um caso de uso. Uma instância de ator sempre dispara uma instância de caso de uso.
  • Para solicitar dados armazenados no sistema, que o caso de uso busca e apresenta ao ator.
  • Para alterar os dados armazenados no sistema por intermédio de um diálogo com o sistema.
  • Para relatar algo especial que tenha ocorrido no ambiente do sistema, em relação ao qual o sistema deva executar alguma ação.

Comunicação do Caso de Uso com o Ator Início da página

Quem inicia um caso de uso é um ator. Entretanto, depois de iniciado, o caso de uso pode se comunicar com vários atores. Você pode usar associações de comunicação entre o caso de uso e os atores para mostrar com quais atores o caso de uso se comunica. A multiplicidade da associação mostra o número de instâncias de um ator com as quais uma instância de caso de uso pode se comunicar ao mesmo tempo.

Os casos de uso se comunicam com os atores por vários motivos:

  • Se algo especial ocorrer no sistema, pode ser que o ator precise saber.
  • Um caso de uso pode precisar da ajuda de um ator para tomar uma decisão caso haja várias opções disponíveis.

É comum, mas nem sempre verdadeiro, que o caso de uso aguarde uma resposta após enviar um sinal a um ator. Isso deve ser descrito de forma explícita no caso de uso.

Convenções Opcionais Início da página

As convenções a seguir são comuns e opcionais. Seu objetivo é esclarecer qual ator inicia o caso de uso.

  • A seta que indica a comunicação inicial do ator com o caso de uso é sempre mostrada, mesmo que, posteriormente, o caso de uso inicie a comunicação com o ator.  Essa também é a única seta (do ator para o caso de uso) a ser exibida.
  • Para maior clareza, as setas de caso de uso para atores podem ser omitidas ou incluídas.

Convenções desse tipo, quando adotadas no projeto, devem ser documentadas em Artefato: Guia de Modelagem de Casos de Uso.

 

Copyright  (c) 1987 - 2001 Rational Software Corporation


Exibir o Rational Unified Process usando quadros

Rational Unified Process