4 - Ergonomia de Software:
a) Definição
ciência que estuda conforto, utilização, organização e documentação do software.
objetiva facilitar e otimizar o trabalho do usuário junto ao computador.
propõe padrões de:
- apresentação de telas
-
diálogos
-
ferramentas de trabalho
-
cardápios (menus)
-
documentação
-
técnicas de arquivos
-
técnicas de otimização
-
auxílio (help)
b) Vantagens:
- 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.
c) Desvantagens:
- esforço adicional no desenvolvimento de software.
-
como toda novidade ainda afasta técnicos mais antigos.
-
técnica nova, ainda em fase de maturação. Ainda não possui muitos antecedentes que comprovem sua eficácia.
d) Princípios Básicos:
1 - Esforço Mínimo do Usuário:
- usuário deve desempenhar somente as funções absolutamente essenciais, e que não possam ser desempenhadas pelo sistema.
-
transferir para o software uma função mesmo que ela possa ser desempenhada pelo usuário.
-
não repetir trabalho já feito:
-
um dado só deve ser alimentado uma vez; programa deve ser re-utilizável, assim como rotinas, consultas , comandos, definições de arquivos, etc.
-
Trabalho não produtivo deve ser eliminado - Ex.: A data deve ser fornecida pelo sistema; "Recovery" deve ser automático.
-
facilitar acesso a informações sobre o sistema:
-
uso de rotinas "help"
-
documentação escrita completa, mas apenas a suficiente e necessária para a tarefa do usuário.
-
instruções do sistema devem ser diretas e específicas, que não requeiram interpretação (somar números, decifrar um código, etc.)
-
eliminar trabalho duplicado:
-
Todo trabalho deve poder ser feito pelo uso do sistema, sem estágios burocráticos intermediários.
2 - Memória Mínima do Usuário:
- 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.
-
o usuário não deve ter que aprender a terminologia não relacionada à tarefa - 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.
3 - Frustração Mínima:
- evitar demora na execução de tarefas.
-
ao usar menus ou outras 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.
-
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, como o apertar de uma tecla ( ou equivalente).
-
auto-configuração e auto-verificacçã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.
4 - Maximizar o uso de padrões e há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.
-
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.
5 - Máxima tolerância para diferenças humanas:
- 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.
-
uso de métodos visuais e audíveis para chamar a atenção.
-
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.
6 - Máxima tolerância para mudanças ambientais:
- o sistema deve suportar mudanças do ambiente de hardware/software com um mínimo de esforço do usuário.
-
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).
-
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.
- programas de aplicação devem ser compatíveis e transportáveis entre diferentes modelos de computadores. Cuidado com o uso de exclusividades de certo modelo/marca de computador, pois causará problemas quando da transportabilidade.
-
alocação de espaço deve ser automátca, não requerendo intervenção ou ação do usuário.
7 - Notificação imediata de problemas:
- 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.
-
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.
-
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.
8 - Controle máximo de tarefas pelo usuário:
- o usuário deve controlar e gerenciar a sequência do trabalho sempre que não hajam atividades que exijam uma sequência.
-
o usuário deve poder modificar as prioridades de processamento.
-
a sequência de impressão de cartas ou relatörios deve ser dada pelo usuário.
-
o sistema deve permitir que o usuário defina seus próprios nomes para funções, comandos ou dados, e deve "lembrar" estas definições para uso futuro.
-
o usuário deve poder definir opções "default"e o sistema deve "lembrar" estas definições no futuro.
-
o usuário deve poder armazenar e recuperar informações de forma consistente, sendo-lhe transparente os problemas de localização e armazenamento físicos.
9 - Apoio máximo às tarefas:
- 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.