Tarefa: Projetar a Interface com o Usuário
Esta tarefa explica como conduzir o design da GUI com ênfase na utilidade.
Disciplinas: Análise e Design
Objetivo
  • Criar um design da interface com o usuário cujo uso possa ser aprimorado e sobre a qual se possa discutir
Relacionamentos
Descrição Principal

Ao projetar a interface com o usuário, leve em consideração todas as Seqüências de Esboços criadas durante a obtenção dos requisitos, as diretrizes da interface com o usuário específicas do projeto, bem como todos os Protótipos da Interface com o Usuário existentes. Se for descoberta a necessidade de refinamentos nas Seqüências de Esboços como um resultado desta tarefa, as atualizações serão executadas pelo Analista de Sistema, (consulte Tarefa: Extrair os Pedidos dos Investidores).

Etapas
Descrever as Características dos Usuários Relacionados

Descreva as características dos usuários (pessoas) que irão interagir com o sistema a fim de executar os requisitos que estão sendo considerados na iteração atual. Tenha como foco a descrição dos usuários principais, visto que a maior parte das interações envolve esses usuários. Essas são informações importantes para os próximos passos descritos abaixo.

Colabore com o Analista de Sistema para determinar se alguma alteração na descrição do Agente é necessária para refletir as descrições das características. Consulte Diretriz do Produto de Trabalho: Agente, Características para obter detalhes.

Identificar os Principais Elementos da Interface com o Usuário

Ao verificar os requisitos considerados na iteração atual (especialmente qualquer  Caso de Uso e/ou Seqüência de Esboços),identifique as janelas principais da interface com o usuário. Principais referem-se àquelas janelas com as quais o usuário irá interagir (aqueles elementos da interface com o usuário que são centrais para o modelo intelectual do usuário do sistema). As janelas principais contêm menus e podem conter subjanelas ou formulários. São as janelas por entre as quais o usuário navega. As janelas não consideradas principais podem vir a se tornar parte de uma janela principal.

A janela principal deve ser aquela que é aberta quando o usuário inicia o aplicativo. Normalmente sempre fica aberta, contanto que o aplicativo esteja em execução; e é o local onde o usuário gasta uma parte considerável de seu "tempo de uso." Como fica sempre aberta e constitui o primeiro contato do usuário com o sistema, ela é o meio principal para reforçar o modelo intelectual do usuário do sistema. A janela principal é comumente referida como a "home page".

Tente agrupar os elementos da interface com o usuário na mesma janela principal, se for necessário mostrá-los juntos ou em relação ao espaço com outros elementos da interface com o usuário. Entretanto, devido a limitações na área da tela, isso nem sempre é possível. Lembre-se de que, nesse passo, a informação sobre o volume médio de objetos é importante, pois indica quantos objetos precisam ser exibidos de uma vez. Muitos objetos pode significar que nem todos poderão ser exibidos na mesma janela; em vez disso, uma janela principal pode conter uma representação compacta dos objetos e janelas principais separadas podem ser definidas para cada um dos objetos (ou um conjunto de objetos).

Seguem as recomendações relativas às janelas principais:

  • janelas que são centrais para o modelo intelectual do usuário do sistema
  • janelas nas quais o usuário gastará a maior parte de seu tempo de uso
  • janelas que fornecem a iniciação dos casos de uso

Tenha em mente que a meta é minimizar o número de janelas principais e o número de caminhos de navegação entre elas.

Definir o Mapa de Navegação

Com base no conjunto de janelas principais identificado e nas Seqüências de Esboços, defina o Mapa de Navegação do sistema.

O Mapa de Navegação deve incluir os elementos principais da interface com o usuário e seus respectivos caminhos de navegação. Não é necessário conter todos os caminhos possíveis através dos elementos da interface com o usuário, apenas os principais. O objetivo é que o Mapa de Navegação sirva como um roteiro da interface com o usuário do sistema.

A opção mais óbvia para ser o elemento "superior" da interface com o usuário no Mapa de Navegação é a janela principal (a janela na qual o usuário gasta a maior parte de seu tempo de uso).

O Mapa de Navegação deve deixar claro de "quantos cliques" o usuário precisa para acessar uma tela específica ou parte de uma funcionalidade. Em geral, todos preferem acessar as áreas mais importantes do aplicativo com "um único clique" na janela principal. Além de representarem uma carga de interação desnecessária, caminhos de navegação muito longos entre as janelas aumentam a probabilidade de o usuário se sentir "perdido" no sistema. Idealmente, todas as janelas devem ser abertas a partir de uma janela principal, o que resulta em uma navegação máxima entre duas janelas. Tente evitar a navegação entre mais de três janelas.

O Mapa de Navegação deve também seguir e refletir a metáfora de uso da interface com o usuário do sistema, conforme documentado nas diretrizes específicas do projeto.

Uma variedade de representações pode ser utilizada no Mapa de Navegação. Alguns exemplos incluem:

  • um diagrama em "árvore" hierárquico, onde cada nível do diagrama mostra o número de cliques necessários para chegar a um elemento específico de interface com o usuário
  • gráficos sem forma com ícones personalizados
  • um diagrama de classe UML onde as classes são utilizadas pelos elementos da interface com o usuário e as associações pelos caminhos de navegação

A seleção de qual representação utilizar é determinada nas diretrizes específicas do projeto.

Detalhar o Design dos Elementos da Interface com o Usuário

Nesse ponto, está concluído o design de nível superior da interface com o usuário:

  • As janelas principais foram identificadas.
  • Os elementos da interface com o usuário e seus caminhos de navegação foram definidos (o Mapa de Navegação).

O design detalhado dos elementos da interface com o usuário agora pode ser criado. A seguir, os diferentes aspectos do design dos elementos da interface com o usuário. Segue uma descrição de cada um desses aspectos:

Projetar a Visualização das Janelas Principais

A visualização das janelas principais e de sua janela principal em particular causarão um impacto significativo sobre a usabilidade do sistema. O design dessa visualização é algo como determinar quais partes (propriedades) dos elementos contidos na interface com o usuário devem ser visualizados. Os fluxos de eventos da Seqüência de Esboços podem ser utilizados para ajudar a priorizar quais propriedades mostrar. Se o usuário precisar ver muitas propriedades diferentes dos elementos da interface, poderá implementar diversas visualizações de uma janela principal, visualizando em cada uma um conjunto de propriedades diferente. O design dessa visualização significa também que você precisa examinar como as propriedades dos elementos contidos na interface com o usuário devem ser visualizados, utilizando todas as dimensões visuais. Para obter detalhes, consulte a seção "Dimensões Visuais" em Diretriz: Interface com o Usuário (Geral).

Se possível, tente identificar "denominadores comuns" nos elementos a serem exibidos nas janelas principais. Com a visualização de denominadores comuns em uma dimensão, o usuário consegue relacionar os elementos uns com os outros e começa a perceber os padrões. Isso aumenta em muito a "largura de banda" da interface com o usuário.

Exemplo:

Suponha que você tenha um sistema de atendimento ao cliente, no qual deseja mostrar aspectos como:

  • as dúvidas e reclamações a mais do cliente
  • quais produtos a mais o cliente adquiriu
  • quanto foi faturado a mais para o cliente

Aqui, um denominador comum é "tempo." Nesse caso, a exibição de reclamações/dúvidas, compras e faturas lado a lado no mesmo eixo temporal permitirá que o usuário veja os padrões de como esses itens se relacionam (se houver relação).

Projetar as Ações do Usuário das Janelas Principais

Aqui você decide como "implementar" as ações do usuário que podem ser chamadas nas janelas principais. É comum as ações do usuário das janelas principais conterem itens de menu em uma barra de menus, bem como uma alternativa e um complemento através de menus de pop-up e barras de ferramentas.

Para cada janela principal, defina os menus e suas opções. Por exemplo, em um editor de documentos, há um menu Editar que agrupa operações coesas, como Recortar, Copiar etc.

Algumas ações podem exigir uma interação complexa com o usuário; por isso, é justificável uma janela secundária exclusiva. Por exemplo, em um editor de documentos, há uma operação Imprimir em um documento que, devido à sua interação complexa, justifica uma janela de diálogo separada.

Se um grande número de objetos tiver de ser visualizado em uma janela, talvez seja necessário projetar ações para o usuário que envolvam esses objetos. Estes são alguns exemplos de tais ações do usuário:

  • procurar entre vários objetos
  • classificar vários objetos
  • navegar em hierarquias de vários objetos
  • selecionar vários objetos

Consulte a Diretriz: Interface com o Usuário (Geral), para obter mais detalhes.

Projetar os Diversos Recursos

Acrescente o comportamento dinâmico necessário à interface com o usuário. Os mais dinâmicos são oferecidos pela plataforma de destino, como o paradigma selecionar/operar, os que são abertos com um clique duplo, os menus pop-up do botão direito do mouse, etc. Entretanto, há algumas decisões que precisam ser tomadas, incluindo:

  • como suportar gerenciamento de janelas
  • quais informações armazenar entre as sessões, tais como posição de entrada do cursor, janelas abertas, tamanhos de janelas, posições relativas à janela, etc.
  • suportar uma única interface de documento ou várias (SDI ou MDI) em suas janelas principais

Avalie também outros recursos comuns que podem melhorar a aplicação, incluindo o seguinte:

  • se "ajuda on-line," incluindo "assistentes," deve ser fornecida
  • necessidade da operação "desfazer", para que o sistema possa ser explorado com segurança
  • se devem ser fornecidos "agentes", para monitorar os eventos do usuário e sugerir ações ativamente
  • se deve ser fornecido "realce dinâmico", para visualizar associações
  • se devem ser suportadas "macros" definidas pelo usuário
  • se há áreas específicas que devem ser configuradas pelo usuário

Consulte a Diretriz: Interface com o Usuário (Geral), para obter mais detalhes.

Informações Adicionais