Prof. Ruy Alexandre Generoso
Prof. Ruy Alexandre Generoso
ERGONOMIA
Ergonomia
Ergonomia
de Software
de Software
-
-
Defini
Defini
ç
ç
ão
ão
É a ciência que estuda o conforto, a
utilização, a organização
e a
documentação do software.
Tem como objetivo facilitar e otimizar o
trabalho
do usuário
junto
ao
computador.
Ergonomia
Ergonomia
de Software
de Software
-
-
Defini
Defini
ç
ç
ão
ão
Propõe padrões de:
apresentação de telas diálogos ferramentas de trabalho menus documentação técnicas de arquivos técnicas de otimização auxílio (help)
Atração homem-máquina
Programas mais bem documentados Redução dos custos de manutenção Software mais eficiente
Software com funções mais poderosas Facilidade de aprendizado
Redução de perturbações psicológicas do
usuário em relação ao computador
Ergonomia
Esforço adicional no desenvolvimento de
software.
Técnica bastante desconhecida dos
"micreiros".
Técnica relativamente nova, ainda em fase
de maturação. Mas já há muitos antecedentes que comprovam sua eficácia.
Ergonomia
1 - Esforço Mínimo do Usuário 2 - Memória Mínima do Usuário 3 - Frustração Mínima
4 - Maximizar o uso de Padrões e Hábitos
5 - Máxima Tolerância para Diferencas Humanas 6 - Máxima Tolerância para Mudanças Ambientais 7 - Notificação Imediata de Problemas
8 - Controle Máximo de tarefas pelo usuário 9 - Apoio Máximo às Tarefas
Princ
1
1
-
-
Esfor
Esfor
ç
ç
o
o
M
M
í
í
nimo
nimo
do
do
Usu
Usu
á
á
rio
rio
O usuário deve desempenhar somente as
funções absolutamente essenciais, e que não possam ser realizadas pelo sistema.
Tomadas de decisões
Digitação de valores escolhidos (ex. num saque de
banco)
1
1
-
-
Esfor
Esfor
ç
ç
o
o
M
M
í
í
nimo
nimo
do
do
Usu
Usu
á
á
rio
rio
Transferir para o software uma função mesmo
que ela possa ser desempenhada pelo usuário.
Calcular um sub-total ou total de parcelas já
1
1
-
-
Esfor
Esfor
ç
ç
o
o
M
M
í
í
nimo
nimo
do
do
Usu
Usu
á
á
rio
rio
Não repetir trabalho já feito:
Um dado só deve ser alimentado uma vez; o
programa deve ser re-utilizável, assim como rotinas, consultas , comandos, etc.
Trabalho não produtivo deve ser eliminado - Ex.: A
data deve ser fornecida pelo sistema; "Recovery" deve ser automático.
Questão para discussão: redigitação sucessiva da
senha em terminais bancários ou na Internet; controle de tempo pode servir para timeout e para evitar redigitação da senha.
Ex. de pagamento de
Ex. de pagamento de DocDoc bancbancááriorio
DOC: Valor do DOC: R$100,00 à vista 15% de desconto Valor à vista: R$85,00 Valor do DOC Desconto Multa Juros Total Banco XXXX R$100,00 R$15,00 R$85,00
Este valor deverá ser calculado pelo usuário
Facilitar o acesso a
informações sobre o
sistema:
Documentação escrita
completa, mas apenas o
suficiente e o
necessário para a tarefa do usuário.
As instruções do sistema
devem ser diretas e específicas, que não requeiram interpretação (somar números, decifrar código, etc.)
Exemplo: A calculadora do programa do Imposto de Renda: Ela calcula e transfere resultados para os campos
1
Eliminar trabalho duplicado:
Todo trabalho deve poder ser feito pelo uso do
sistema, sem estágios burocráticos
intermediários.
Não redigitar dados já digitados anteriormente.
Evitar a repetição de ciclos para operacões
semelhantes.
Exemplo: No Banrisul cada operação que se
faz no caixa eletrônico exige o início de uma nova sessão (redigitar conta, senha, etc)
1
O usuário deve ter que memorizar o mínimo
possível.
O aprendizado do sistema deve ser um
processo hierárquico e incremental.
O usuário só deve ter que aprender o
essencial para sua tarefa.
Aprender uma pequena parte do sistema, deve
recompensar o usuário com a capacidade de fazer algum trabalho real, ainda que limitado.
2
O usuário não deve ter que aprender a
terminologia não relacionada à tarefa – as instruções ou comunicações do sistema devem ser feitas na linguagem natural da tarefa.
A terminologia deve ser consistente por todo
software com que o usuário vai interagir.
Os comandos do usuário devem ter sintaxe
natural e simples, e não devem ser complexos e compostos.
2
2
Evitar demora na execução de tarefas.
Ao usar menus ou técnicas equivalentes, o
sistema deve permitir que o usuário experiente vá direto à tarefa desejada.
A organização hieráquica de menus ou
técnicas equivalentes deve ser tal que o usuário não tenha que executar ou explicitamente saltar tarefas desnecessárias.
Orientação ou help deve estar disponível de
forma consistente em todo o sistema.
3
Relembrar ações passadas:
Em caso de interrupção de uma série de passos
inter-relacionados. o sistema deve prover (se solicitado) um resumo das ações executadas antes da interrupção.
Escolha de atividade:
O usuário deve poder interromper ou terminar
qualquer atividade a qualquer momento e selecionar outra. Após terminar a 2ª atividade, o sistema deve permitir a retomada da atividade interrompida no ponto de interrupção, numa ação simples e intuitiva.
3
Auto-configuração e auto-verificação:
A instalação de hardware ou software básico deve
ser suportada por técnicas de auto-configuração e auto-verificação.
Deve ser fornecida orientação para qualquer ação
cujos resutados não sejam óbvios.
3
4
4
-
-
Maximizar
Maximizar
o
o
Uso
Uso
de
de
Padrões
Padrões
e
e
H
H
á
á
bitos
bitos
Usar sempre certas teclas para as mesmas
funções.
Colocar sempre informações similares nas
mesmas posições nas telas.
Desenho consistente de formato de telas.
Informação devolvida ao usuário como
resultado de uma ação sua, deve ser posicionada no ponto onde o usuário a espera: em geral na próxima linha.
4
4
-
-
Maximizar
Maximizar
o
o
Uso
Uso
de
de
Padrões
Padrões
e
e
H
H
á
á
bitos
bitos
Abordagem e terminologia consistentes para
todas as funções do usuário.
Datilografar uma carta num processador de
textos deve ser o mais próximo possível da mesma atividade na máquina de escrever. Isto implica em um mínimo de re-treinamento.
Os sistemas devem
armazenar perfis sobre a forma em que cada usuário prefere executar as tarefas.
Estes perfis devem
condicionar o
sistema aos
padrões de trabalho do usuário quando este começa uma sessão.
5
5
Uso de métodos visuais e audíveis para chamar a atenção 5
Uso de formas gráficas ou de desenho para
auxiliar a comunicação visual.
Aceitar abordagens "procedurais" e "não
procedurais" em técnicas de orientação e em tarefas complexas como o desenvolvimento de consultas.
5
6
6 -- MMááximaxima TolerânciaTolerância parapara MudanMudanççasas AmbientaisAmbientais
O sistema deve suportar mudanças do ambiente
de hardware / software com um mínimo de esforço do usuário.
A mudança de ambiente também pode ser a mudança
de plataforma ou ambiente operacional.
Plataformas: Ambientes operacionais:
Windows 98 / NT / XP / Vista … Macintosh OS 9 / X
O sistema deve se re-configurar
automaticamente no caso de adição ou retirada de unidades do computador (exceto no caso de dispositivos de hardware críticos, como a UCP ou a unidade de disco onde o software reside).
No caso de adição dispor pelo menos de um
assistente de configuração do novo hardware.
6
Programas de aplicação não devem precisar
recompilação para mudanças na base de dados, seja de conteúdo, método de acesso ou localização do arquivo, que não mudem a lógica de processamento para o programa de aplicação em questão.
6
Programas de aplicação devem ser
compatíveis e transportáveis entre diferentes modelos de computadores.
Aplicações para Internet: a difícil compatibilidade
entre plataformas, ambientes, browsers e versões.
6
Cuidado com o uso de exclusividades de
certo modelo/marca de computador, pois causará problemas quando da transportabilidade.
Antes de usar um recurso novo verificar sua
compatibilidade.
6
Alocação de espaço deve ser automática,
não requerendo intervenção ou ação do usuário
A existência de defaults selecionados pelo usuário
facilita esta alocação automática.
6
Notificar ao usuário sobre um problema tão
logo seja detectado.
Notificar problemas potenciais antes que
ocorram.
Antes da mudança permanente em informação
armazenada, o sistema deve mostrar os resultados da mudança e requerer aprovação do usuário.
Cuidado com a "síndrome de Windows"
7
Sintaxe e terminologia de comandos, devem
ser editados interativamente com resposta imediata indicando qual o erro e qual a ação corretiva.
O usuário deve ser notificado quando um
percentual substancial de utilização do espaço for atingido (ex: 80%) para que o usuário possa tomar ações preventivas com antecedência.
7
A edição da entrada deve ser interativa,
indicando os erros e provendo orientação e meios para correção imediata. Terminada a correção, o sistema deve voltar ao ponto que interrompeu.
7
Usuário deve controlar e gerenciar a
seqüência do trabalho sempre que não hajam atividades que exijam uma seqüência.
Usuário deve poder modificar as prioridades
de processamento.
8
Usuário deve poder definir opções "default“ e
o sistema deve "lembrar" estas definições no futuro.
Usuário deve poder armazenar e recuperar
informações de forma consistente, sendo-lhe transparente os problemas de localização e armazenamento físicos.
8
O usuário não deve precisar de outros
recursos para desempenhar a tarefa.
Documentação da tarefa deve estar "on line",
estruturada hierarquicamente e bem indexada.
Um usuário deve poder se comunicar com
outros via facilidades do sistema.
O usuário deve possuir acesso a métodos
"customizados" de obtenção de informações, tais como filtros para geração de relatórios.
9
21 novos Princípios da ANEC
Association
européenne
pour
la
coordination
de la
représentation
des
consommateurs
dans
la
normalisation)
1 - Facilidade de uso 2 - Projeto para todos
3 - Funcionalidade da solução
4 - Aspectos multi-cultural e multi-lingüista 5 - Terminologia
6 - Padrões compreensíveis
7 - Interoperabilidade e Compatibilidade 8 - Interface de usuário consistente
9 - Adaptabilidade
10 - Provisão para informações de status do sistema 11 - Tolerância a erros e estabilidade do sistema
12 - Minimização das necessidades do usuário relembrar operações
13 - Explorabilidade
14 - Privacidade e segurança das informações 15 - Transparência de custos
16 - Qualidade do serviço, confiabilidade e durabilidade do sistema
17 - Questões de saúde e segurança 18 - Importância da informação
19 - Questões ambientais
20 - Utilização de Sistemas de avaliação e de classificação 21 - Trabalhos posteriores
1 -
Facilidade de uso
Sistemas ergonômicos devem ser fáceis de usar,
independentemente do tipo de usuário que fará uso do mesmo.
Facilidade de uso inclui aspectos de hardware,
software, serviços e suporte.
A facilidade de uso pode ser medida em termos de
desempenho do usuário para completar uma tarefa (inclui tempo, número de erros, satisfação)
Deve-se estabelecer metas de facilidade de uso a
2 -
Projeto para todos
Consiste no processo de criação de produtos,
sistemas e serviços que são acessíveis e usáveis por pessoas com a mais ampla faixa possível de habilidades operacionais, na mais ampla faixa possível de situações.
Pode haver situações em que o sistema não é
desejado que seja para uso de todos. Seu uso dependeria de seleção de grupo especial de usuário e de treinamento específico. Nesse caso deve ser conhecido para quem o sistema é indicado e para quem não é indicado.
3 -
Funcionalidade da solução
A solução adotada para determinado problema
deve ser funcional.
Geralmente casos de não-funcionalidade são
aqueles em que o desenvolvedor não conhece exatamente as necessidades dos usuários para o qual desenvolve o sistema. Até mesmo porque nunca se deparou com aquela situação em sua vida, se pondo como usuário.
4 -
Aspectos multicultural
e multi-lingüístico
Os sistemas hoje saem da fronteira de nossas redes
internas (principalmente na Internet), e assim percorrem várias culturas diferentes, mesmo dentro de um mesmo país.
Ex. Um site de seguro descreve os passos para
acionar o conserto do carro:
"…com a liberação na mão o cliente pode procurar o lanterneiro de sua preferência… (São Paulo)
"…com a liberação na mão o cliente pode procurar o funileiro de sua preferência… (Rio de Janeiro)
"…com a liberação na mão o cliente pode procurar o chapeador de sua preferência… (Rio Grande do Sul)
Alguns sistemas precisam ser
multi-lingüísticos, ou seja, poderem ser operados em várias línguas. É o caso de sites de turismo, hotéis e similares.
5 -
Terminologia
A terminologia usada nas interfaces deve ser
consistente, e compatível com a terminologia usada em documentos escritos, em uso fora do computador.
Deve ser clara e de fácil domínio por
6 -
Padrões compreensíveis
Padrões devem ser "não ambíguos" e fáceis
de entender, de forma que qualquer pessoa não técnica em informática possa entender.
O não atendimento deste princípio dificulta a
padronização de processos e procedimentos.
Disponibilidades Tarefas
transferência de tarefas
7 -
Interoperabilidade e compatibilidade
Diferentes serviços devem operar entre si,nas mesmas redes e equipamentos.
Para tanto é preciso que haja
compatibilidade nas aplicações.
Compatibilidade dentro de um sistema
deveria assegurar que novas versões do sistema, devem ser compatíveis com as versões anteriores.
8 -
Interface de usuário consistente
Os sistemas devem ter uma interface de
usuário consistente.
É especialmente importante que o método de
processamento, armazenamento e acesso aos sistemas seja consistente para o usuário.
9 -
Adaptabilidade
O sistema deve se adaptar às necessidades
específicas de cada usuário.
Isso implica em necessidades essenciais
(deficiências) e necessidades preferenciais do usuário.
A forma e a seleção de saídas pode ser um
exemplo de necessidades especiais e preferenciais.
10 - Provisão de informações sobre status do sistema
O status do sistema deve estar disponível
para o usuário.
Diferentes mecanismos podem ser
empregados para dar um completo feedback ao usuário.
Técnicas de áudio e visuais podem contribuir
para melhor comunicação de erros e de entrada de dados.
11 -
Tolerância a erros e estabilidade do sistema
O sistema deveria antecipar erros de
operação e se possível corrigí-los.
O sistema deve ser robusto e permanecer
estável, se o usuário comete erros operacionais e de entrada de dados, informando a existência do erro e como corrigí-lo.
12 - Minimização da necessidade de memorização da operação do sistema
Sistemas devem mostrar elementos do
diálogo ao usuário e permitir que se selecione itens gerados pelo sistema e permitir que se os edite.
Técnica de Menus, é o exemplo de
13 -Explorabilidade
O sistema deve permitir que o usuário o
explore, até mesmo sem realizar operações completas, fazendo apenas uma navegação.
14 -
Privacidade e Segurança de informações
O sistema deve garantir a privacidade do
indivíduo.
Não deve ser permitido que pessoas não
autorizadas acessem certos dados individuais nas redes.
O nível de segurança adotado deve ser
15 -
Transparência nos custos
O sistema deve ser transparentes quanto aos
custos envolvidos.
Por exemplo, ao se selecionar serviços e
produtos que envolvam custos, mostrá-los antes da efetivação do serviço.
16 - Qualidade do serviço, confiabilidade e durabilidade
A qualidade é hoje ponto importantíssimo na
prestação de um serviço. E nos serviços prestados pelo computador, especialmente na Internet é ponto importante.
A confiabilidade contribui para a qualidade e
para obter a adesão do usuário ao sistema.
A durabilidade inclui a manutenção de
serviços e sistemas ainda que com a implantação de novos sistemas.
17 -
Confiabilidade da informação
As informações prestadas devem conter a
fonte, para que a confiabilidade dos dados seja mantida.
18 -
Questões de saúde e segurança
Os sistemas devem considerar a aplicação
das regras de ergonomia e segurança física do usuário.
19 -
Questões ambientais
Muito se discute sobre a questão ambiental e
os sistemas computadorizados também devem entrar nesta discussão.
Por exemplo, determinado banco suspendeu
a emissão de comprovante de saque, porque constatou que 90% dos clientes, jogava fora o comprovante, e muitos o faziam no chão do caixa eletrônico ou mesmo na rua, na saída.
20 - Permitir sistemas de avaliação e de classificação
A avaliação constante do sistema faz parte
das regras para garantir que os princípios têm sido aplicados.
Nas técnicas de Usabilidade tem-se diversos
critérios e formas de avaliar um sistema.
Estudos sobre classificação dos sistemas
("Taxionomia") começam a ser desenvolvidos e implementados.
21 -
Trabalhos posteriores
Após a conclusão do sistema, há de se fazer
avaliações e simulações de processos, para se medir a eficiência, eficácia e satisfação do usuário
Eficiência significa fazer certo. Eficácia é fazer da maneira certa, ou da melhor maneira possível. E nisto consiste uma grande diferença. Isto porque
podemos alcançar uma meta, porém despendendo um esforço e recursos maiores do que necessário.