Desenvolvimento Global de Software
Mestrado de Informática / UFPB
Francilene Procópio Garcia, D.Sc.
[email protected]
Interface do Usuário - Parte IV
Introdução

Quando se trata de processo para desenvolvimento global de
software, um dos aspectos a ser detalhado com cuidado é o
planejamento/execução da interface

“A interface com o usuário deve prover informação a ser trocada
entre o humano e o hardware ou componentes de software de um
sistema computacional” [IEEE, Std 610.12-1990]

Alguns aspectos devem ser detalhados acerca da interface,
sobretudo quando se trata de projetos virtuais: Organização do
contexto, dimensão visual, busca e seleção, ordenação, herança controlada
pelo usuário, hierarquia da navegação, gestão de janelas, informação da
sessão, help on-line, undo, macros
1. Organização do contexto



Apresenta um overview da anatomia da interface baseada em
janelas
Uma interface baseada em janelas apresenta um conjunto finito de
janelas, cada janela pode ser movida através do vídeo, fixada no
topo de alguma outra ou ainda iconizada
Em geral, um sistema possui uma janela central e algumas
secundárias. A principal envolve as interações mais críticas com o
cliente, com um número variável de objetos. As secundárias servem
de apoio a janela principal, apresentando detalhes sobre os objetos
e suas operações
Janelas primárias



A interação com o usuário é
tipicamente a seleção de um ou
mais objetos, por exemplo através
de cliques ou opções dispostas
num menu (cut, copy, paste,
delete)
Em geral, trazem um barra de
menu, através da qual os usuários
selecionam uma operação. As
mesmas operações podem ser
encontradas em menus pop-up
Os usuários podem ainda
redimensionar o tamanho da
janela
Janelas secundárias



Suportam a janela primária
provendo detalhes tais
como propriedades dos
objetos e de suas
operações
Os usuários devem poder
alterar os atributos desses
objetos
É importante que testes
extensivos de usabilidade
sejam centrados nas
janelas primárias
2. Dimensões visuais

A chave para a usabilidade de janelas primárias é a correta
aplicação das dimensões visuais no momento da visualização dos
objetos e de seus atributos. Em projetos de software globais é
importante dispor de mais atributos do que parece ser necessário:




o usuário estará evitando abertura excessiva de janelas, uma vez
que os atributos estarão disposto nas janelas primárias
o usuário poderá ver diferentes aspectos (ou diferentes objetos) ao
mesmo tempo - útil para fins de comparação e reconhecimento de
padrões
As dimensões chaves são: Posição, Tamanho, Forma, e Cor
As dimensões são úteis para auxiliar na identificação única dos
objetos e, em geral, estão associadas a uma outra dimensão TEMPO
Dimensões chaves

Posição: "What You See Is What You Get" (WYSIWYG), por
exemplo, mostram os objetos na mesma posição da janela



Algumas vezes é importante mostrar o tamanho real de objetos em
editores WYSIWYG (CAD)
Em alguns casos a posição de objetos associam algum conceito
entre eles sobre seu uso (Planilhas, por exemplo)
Tamanho: representam a mesma idéia da “posição”. Por exemplo,
para um arquivo o tamanho do objeto poderia representar a
capacidade de memória que ele ocupa no disco. Numa conta
bancária, o tamanho poderia representar o saldo

Na maioria dos casos, o uso de uma escala logarítmica é melhor do
que uma escala proporcional (consume bastante área de vídeo)
Dimensões chaves

Formato: são representados por ícones numa interface gráfica. É muito
usado para representar tipos por ser mais intuitivo numa operação de
busca, por exemplo



quais são os melhores critérios para situações envolvendo diferentes
objetos que são de diferentes tipos? Em geral, classes distintas são vistas
como de tipos diferentes. O importante é que o usuário possa reconhecer
os tipos diferentes existentes
os ícones também podem ser usados para representar diferentes estados
de um mesmo objeto
Cor: pode ser organizada em três componentes com base na
percepção visual: coloração (azul, vermelho, etc), saturação e brilho



a coloração pode indicar tipos de objetos diferentes
a saturação pode indicar um atributo com faixas de valores
o brilho pode também ser usado para atributos de menor importância com
faixas de valores
Identificação dos objetos

O usuário deve ser capaz de identificar objetos de forma única.
Algumas vezes as dimensões visuais apresentadas não são
suficientes - apresenta-se um rótulo (nome) junto ao ícone para
facilitar




o ideal é que o nome possa ser gerado como um atributo do objeto
deve ser posicionado abaixo ou à direita do ícone
a fonte do nome pode ser usada para indicar um atributo de uso restrito
(o usuário não pode/deve alterar)
muitas variações pode trazer problemas de usabilidade
3. Busca e Seleção

Existem duas condutas chaves para gerenciar buscas:



todos os objetos que podem ser achados pela busca devem ser
posicionados nas janelas primárias. Critérios adicionais de busca
podem ser incluídos para executar operações sobre os objetos
selecionados ( as vezes, envolvendo janelas secundárias). Vantagem:
este método vincula todos os objetos numa dada operação de busca
o botão de busca, na janela de busca, seleciona o objeto conforme o
critério de busca e o conteúdo da janela primária onde o objeto é
visível. Após a busca inicial o usuário pode continuar sua busca em
objetos sequenciais a um dado critério de busca. Vantagem: cada
objeto achado é visto no seu contexto - numa janela (e não numa lista)
Em muitos casos, as duas condutas podem ser combinadas, por
exemplo: incluíndo “Selecione Todos” na janela de busca
sequencial
4. Ordenação


A interface permite que os objetos sejam ordenados na vertical, em
ordem alfabética por nome ou por qualquer um dos demais
atributos de valores dos objetos
A ordenação será mais eficaz quando o usuário domina os tipos de
atributos que podem ser ordenados para um dado conjunto de
atributos
5. Herança controlada pelo usuário




Os editores WYSIWYG são um exemplo típico de herança
controlada pelo usuário, onde o usuário define a que estilo o
parágrafo pertence e, como este estilo será visualizado
Uma desvantagem com relação ao método de busca é que a
herança controlada suporta apenas a mudança de atributos para
múltiplos objetos, mas não envolve a execução de operações
A herança controlada também é mais trabalhosa, uma vez que o
usuário deve explicitamente definir e manter os grupos de estilos
disponíveis
Para fazer uso de herança controlada, a natureza das classes de
objetos deve poder ser categorizada
6. Hierarquia da navegação



A hierarquia da navegação permite ao usuário
categorizar os objetos numa janela primária, organizados
hierarquicamente
A hierarquia possibilita que o usuário possa navegar em
apenas uma (ou em algumas) das categorias. Isto reduz
o número de objetos que são mostrados num dado
momento
Um exemplo desta técnica é a navegação de arquivos
através de diretórios ou folders
7. Gestão de janelas


O tamanho e a posição das janelas são, em geral, controlados
pelo usuário
Quanto maior for uma janela primária mais objetos poderão ser
visualizados, porém mais área no vídeo será consumida. Uma
janela primária deveria ser mantida de forma a não fazer uso
desnecessário de áreas do vídeo:




ao abrir já devem vir com tamanho suficiente para visulaização
dos objetos
lembrar que o usuário poderá ter redimensionado a janela entre
seções
defina alguma posição default para visualização inicial das janelas
para janelas secundárias, cuidar que elas não obstruam a janela
primária que a chamou. No caso de caixas de diálogo, elas devem
vir sobre a janela ativa
8. Informação da sessão



Todas as configurações de uma aplicação devem ser salvas
entre sessões (sem que o usuário tenha de especificar)
O tamanho, a posição da janela, a visão selecionada, e as
posições das barras de rolagem devem ser salvas. Quando o
usuário reinicia uma aplicação, ele deverá encontrar exatamente
o que via na sessão anterior
Tal conduta evita que o usuário perca tempo para refazer o seu
ambiente antes de iniciar o trabalho
9. Help on-line


Um help on-line bem projetado poderá substituir manuais - um
artefato que exige muito tempo para ser gerado
Considere as seguintes ferramentas de ajuda:
Help-on-subject - permite que o usuário busque por algum tema
 Help-on-object - é um help sensível ao contexto. Um texto é
apresentado acerca de algum objeto específico
 Área de mensagem - uma área onde o sistema aponta
comentários não solicitados sobre ações do usuário
 Wizards - muito usado quando o usuário solicita ajuda tipo “how to
do something”
A necessidade de help sensível ao contexto e wizards é definida
durante as fases de teste de usabilidade
Um problema - em geral, são escritos por pessoas inexperientes!



10. Undo



Apesar de bastante útil, as vezes é
difícil de implementar
Os usuários se beneficiam ao
aprenderem mais rápido, uma vez que
não se intimidam de errarem
Também reduz o risco da perda de
informação
11. Macros


Se o ambiente permite macros, deverá
existir algum agente que monitore
continuamente as ações do usuário,
buscando por sequências de
interações repetidas
Tão logo uma sequência de interações
repetidas é percebida, uma macro
deve ser criada, após permissão do
usuário
Download

slides