500 likes | 633 Views
INF 043 - Comunicacão Homem-Computador Parte 6. Prof. Roberto Cabral de Mello Borges. Instituto de Informática UFRGS 2008. Ergonomia de Software. a) Definição ciência que estuda conforto, utilização, organização e documentação do software.
E N D
INF 043 - Comunicacão Homem-ComputadorParte 6 Prof. Roberto Cabral de Mello Borges Instituto de Informática UFRGS 2008
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)
Vantagens/Desvantagens • 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. • 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.
Princípios Básicos 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
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. • tomadas de decisões • digitação de valores escolhidos (num saque de banco, p. ex.) • escolha de opções desejadas • 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á informadas • 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, 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 Doc bancário • DOC: • Valor do DOC: R$100,00 • à vista 15% de desconto • Valor à vista: R$85,00 Banco XXXX Valor do DOC Desconto Multa Juros Total R$100,00 Este valore deverá ser calculado pelo usuário R$15,00 R$85,00
1 - Esforço Mínimo do Usuário • facilitar acesso a informações sobre o sistema: • documentação (ou "help") 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 código, etc.) Exemplo: Calculadora do programa do Imposto de Renda: calcula e transfere resultados para os campos
1 - Esforço Mínimo do Usuário • 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 operações semelhantes. • Exemplo: No banrisul cada operação que se faz no caixa eletrônico exige o inicio de uma nova sessão (redigitar conta, senha, etc)
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 devemser complexos e compostos.
3 - Frustração Mínima • 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 - Frustração Mínima • 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. • 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.
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.
5 - Máxima Tolerância para Diferenças Humanas • uso de métodos visuais e audíveis para chamar a atenção.
5 - Máxima Tolerância para Diferenças Humanas • 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. • a mudança de ambiente também pode ser a mudança de plataforma ou ambiente operacional. • considerar como plataformas: • Windows • Macintosh • Linux/Unix • ambientes operacionais: • Windows 98 / NT / XP … • Mac OS 9 / X • família Linux / família Unix
6 - Máxima Tolerância para Mudanças Ambientais • 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. • 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 - Máxima Tolerância para Mudanças Ambientais • 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. • 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. • 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.
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. • cuidado com a "síndrome de Windows"
7 - Notificação Imediata de Problemas • 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 • usuário deve controlar e gerenciar a sequência do trabalho sempre que não hajam atividades que exijam uma sequência. • usuário deve poder modificar as prioridades de processamento. • 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.
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.
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
21 novos Princípios da ANEC(Association européenne pour la coordination de la représentation des consommateurs dans la normalisation) 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 serem alcançadas.
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 percorre 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)
4 - Aspectos multicultural e multi-lingüístico • Alguns sistemas precisam ser multi-lingüísticos, ou seja, devem poder 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 qualquer usuário.
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. Símbolo padrão para Atenção Símbolo padrão para erros
6 - Padrões compreensíveis transferência de tarefas Disponibilidades 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 aplicação deste objetivo
13 -Explorabilidade • O sistema deve permitir que o usuário o explore, até mesmo sem realizar operações completas, fazendo apenas uma navegação. • Se o usuário sabe que há caminhos de retorno e se há possibilidade de "Undo" para desfazer alguma "mancada" ele se encorajará a explorar o software.
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 comunicado ao usuário.
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. • Informações corretas (sem erros) também aumenta a confiabilidade.
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. • Exemplo: Quase todos os terminais bancários (brasileiros) serão reprovados se submetidos a exames de regras de ergonomia (tanto de hardware como de software).
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.