Diretriz: Agente
Esta diretriz ilustra o conceito de um agente e ajuda a identificar agentes.
Relacionamentos
Elementos Relacionados
Descrição Principal

Explicação

Para compreender completamente a finalidade do sistema, você precisa saber para quemé o sistema, ou seja, quem o utilizará. Diferentes tipos de usuários são representados como agentes.

Um agente é tudo o que trocar dados com o sistema. Ele pode ser um usuário, um hardware externo ou um outro sistema.

A diferença entre um agente e um usuário individual do sistema é que um agente representa uma classe específica de usuário, em vez de um usuário real. Vários usuários podem desempenhar o mesma função, o que significa que podem ser o mesmo agente. Nesse caso, cada usuário se constitui em uma instância do agente.

Diagrama descrito no texto associado.

Ivar e Mark são operadores de uma máquina de reciclagem. Quando estão utilizando a máquina, cada um deles é representado por uma instância do agente Operador.

No entanto, em algumas situações, somente uma pessoa desempenha a função modelada por um agente. Por exemplo, pode haver somente um indivíduo desempenhando a função de administrador do sistema para um sistema relativamente pequeno.

O mesmo usuário também pode atuar como vários agentes (ou seja, a mesma pessoa pode assumir diferentes funções).

Diagrama descrito no texto associado.

Charlie utiliza o Sistema para Administração de Depósito principalmente como Gerenciador do Depósito, mas algumas vezes também o utiliza como um membro qualquer da Equipe do Depósito.

Como Localizar Agentes

O diagrama mostra Usuários, Manutenção, Comunicações, Relatórios, Sistemas Legado e outros que interagem com o novo sistema.

No ambiente do sistema, o que se transformará em agentes para o sistema?

Comece pensando nos indivíduos que utilizarão o sistema. Como você pode categorizá-los? Normalmente, é um bom hábito pensar em alguns indivíduos (dois ou três) e verificar se os agentes identificados vão cobrir as necessidades desses indivíduos. Tenha em mente este conjunto de perguntas ao identificar atores:

  • Quem vai fornecer, utilizar ou remover informações?
  • Quem utilizará essa funcionalidade?
  • Quem está interessado em um determinado requisito?
  • Em que parte da organização o sistema é utilizado?
  • Quem vai dar suporte e manter o sistema?
  • Quais são os recursos externos do sistema?
  • Que outros sistemas precisarão interagir com este?

Existem vários aspectos diferentes do ambiente de um sistema que você representará como agentes separados:

  • Usuários que executam as principais funções do sistema.
Exemplo:

Para um Sistema de Manipulação de Depósito, que suporta o trabalho em um depósito, existem várias categorias de usuários: Equipe de Depósito, Responsável pelo Registro da Ordem, Gerenciador de Depósito. Todas essas categorias possuem funções específicas no sistema e, portanto, cada uma delas deve ser representada por um agente distinto.

  • Usuários que executam as funções secundárias do sistema, como administração do sistema.
Exemplo:

Em uma máquina de reciclagem utilizada para reciclar latas, garrafas e caixas, Cliente é o principal agente, aquele para quem o sistema foi inicialmente criado. Porém, alguém tem de gerenciar a máquina. Essa função é representada pelo agente Operador.

  • Hardware externo que o sistema utiliza.
Exemplo:

Um sistema de ventilação que controla continuamente a temperatura em um edifício obtém dados medidos pelos sensores do edifício. Sensor é, portanto, um agente.

  • Outros sistemas que interagem com o sistema.
Exemplo:

Um caixa eletrônico precisa se comunicar com o sistema central que contém as contas bancárias. Provavelmente, o sistema central é um sistema externo e deve, portanto, ser um agente.

Se você estiver criando um aplicativo baseado na Internet, seus agentes principais serão, de certo modo, anônimos. Você não sabe realmente quem eles são e não pode fazer suposições sobre suas habilidades e experiência. Mas você ainda pode descrever a função que espera que eles desempenhem em relação ao sistema.

Exemplo: 

Os sistemas que fornecem informações (como mecanismos de procura) terão agentes totalmente anônimos que acessam o aplicativo apenas para localizar informações sobre um determinado tópico. 

Exemplo: 

Sites de informações do governo, cuja função é fornecer informações a qualquer cidadão ou internauta sobre leis e regulamentações, práticas, formulários e assim por diante. Por exemplo, nos EUA, a Secretaria da Receita Federal tem uma página que fornece informações sobre como preencher uma declaração de imposto de renda. Isso inclui ter todos os formulários disponíveis eletronicamente, bem como permitir que indivíduos entreguem a declaração eletronicamente. A função do agente principal nesse caso é qualquer um interessado em como fazer para entregar uma declaração de imposto nos EUA. Naturalmente, depois que a pessoa tentar entregar a declaração, ela não será mais anônima. 

Agentes Ajudam a Definir Limites do Sistema

Localizar os agentes também significa estabelecer os limites do sistema, o que ajuda a compreender a finalidade e a extensão do sistema. Apenas aqueles que se comunicam diretamente com o sistema precisam ser considerados como atores. Se você estiver incluindo mais funções que as do ambiente do sistema, estará tentando modelar o negócio no qual o sistema será utilizado, e não o próprio sistema.

Exemplo:

Em um sistema de reservas aéreas, o que seria o agente? Isso depende se você está criando um sistema de reservas aéreas para ser utilizado por um agente de viagens ou um sistema ao qual o passageiro poderá se conectar diretamente pela Internet.

O Diagrama mostra um viajante interagindo com uma Agência de Viagens que está interagindo com um Sistema de Reservas Aéreas.

Se estiver criando um sistema de reservas aéreas para ser utilizado em uma agência de viagens, o agente seria o agente de viagens. O viajante não interage diretamente com o sistema e, portanto, não é um agente

O Diagrama mostra um viajante interagindo diretamente com um Sistema de Reservas Aéreas.

Se você estiver criando um sistema de reservas que permitirá que os usuários se conectem pela Internet, o viajante irá interagir diretamente com o sistema e, portanto, será um agente para ele.

Breve Descrição

A breve descrição do agente deve incluir informações sobre:

  • O que ou quem o agente representa.
  • Por que o agente é necessário.
  • Que interesses o agente tem no sistema.

A breve descrição deve conter no máximo algumas frases.

Exemplo:

No modelo de casos de uso da Máquina de Reciclagem, os três agentes são descritos brevemente, da seguinte forma:

Cliente: O Cliente coleta garrafas, latas e caixas em casa e as traz de volta à loja para obter um reembolso.

Operador: O Operador é responsável pela manutenção da máquina de reciclagem.

Gerenciador: O Gerenciador é responsável por questões relativas a dinheiro e pelo serviço que a loja oferece aos clientes.

Características do Agente

As características de um agente podem influenciar como o sistema é desenvolvido e, em particular, como uma interface do usuário com usabilidade ideal é visualmente formada. Observe que, se os trabalhadores do negócio correspondentes aos agentes já estiverem descritos em um modelo de objetos de negócios, talvez algumas destas características já tenham sido captadas. As características do agente incluem:

  • O escopo de responsabilidade do agente.
  • O ambiente físico no qual o agente utilizará o sistema. Desvios do caso ideal (em que o usuário senta em um escritório silencioso, sem interrupções) podem afetar o uso do som, a escolha da fonte ou o uso adequado de combinações de dispositivos de entrada (por exemplo, teclado, tela sensível ao toque, mouse e teclas de atalho).
  • O número de usuários representados por esse agente. Esse número é um fator relevante para determinar a importância do agente e das partes da interface do usuário utilizadas por ele.
  • A freqüência com que o agente utilizará o sistema. Essa freqüência determinará quanto (da interface do usuário) podemos esperar que o agente se lembre entre as sessões.

Na maioria dos casos, uma estimativa aproximada do número de usuários e da freqüência de uso será suficiente. Uma diferença entre trinta e quarenta não afetará a forma como a interface do usuário será formada, mas uma diferença entre três e trinta pode vir a afetar.

Outras características dos agentes incluem:

  • O nível de conhecimento que o agente tem sobre o domínio. Esse nível determinará a ajuda específica do domínio que é necessária e a terminologia específica do domínio que deve ser utilizada na interface do usuário.
  • O nível de experiência em computação que o agente tem. Esse nível determinará se é melhor utilizar técnicas de interação sofisticadas ou simplistas na interface do usuário.
  • Outros aplicativos utilizados pelo agente. O ato de utilizar conceitos da interface do usuário emprestados desses aplicativos encurtará o tempo de aprendizado do agente e reduzirá sua carga de memória, pois ele já estará familiarizado com esses conceitos.
  • As características gerais dos atores como, por exemplo, o nível de conhecimento (formação educacional), implicações sociais (idioma) e idade. Essas características podem influenciar detalhes da interface do usuário, como fonte e idioma.

Essas características são utilizadas principalmente para identificar as classes de limite e o protótipo, a fim de assegurar a melhor correspondência de usabilidade entre a comunidade de usuários e o design da interface do usuário.

Exemplo:

Veja a seguir um exemplo de características do agente Usuário de E-mail. Esse é o agente que, entre outras coisas, interage com o caso de uso Gerenciar Entrada de Mensagens Eletrônicas.

  • O usuário de e-mail é um usuário de computador experiente.

  • O ambiente de trabalho do usuário de e-mail normalmente é um escritório silencioso.

  • O número pretendido de usuários de e-mail é de 500.000.