460 likes | 708 Views
Usabilidade de software. Usabilidade de software. Interface é um dos elementos mais importantes para a qualidade de um software. A qualidade deve ser medida do ponto de vista do usuário e a interface é a porção visível do software com o qual ele interage. Usabilidade de software.
E N D
Usabilidade de software • Interface é um dos elementos mais importantes para a qualidade de um software. • A qualidade deve ser medida do ponto de vista do usuário e a interface é a porção visível do software com o qual ele interage.
Usabilidade de software • No contexto da criação de software representa um enfoque que situa o usuário (antes do sistema), no centro do processo. • Esta filosofia, denominada projeto centrado no usuário, incorpora desejos e necessidades do usuário desde o início do processo do projeto e especifica que estas necessidades devem ficar à frente de qualquer decisão de projeto.
Usabilidade de software • Alguns autores associam a usabilidade a princípios tais como: • facilidade de aprendizado, • facilidade de lembrar como realizar uma tarefa após algum tempo, • rapidez no desenvolvimento de tarefas, • baixa taxa de erros e • satisfação subjetiva do usuário.
Usabilidade de software • Usabilidade: é o esforço necessário para utilizar o software e para o julgamento individual deste uso por determinado conjunto de usuários. • Também pode ser entendida como a preocupação com a interação do usuário em um sistema por meio da interface.
Usabilidade de software • Procurar entender como utilizar projetos de usabilidade. • Diversidade de usuários e de estratégias de interação utilizadas por eles refletem na manipulação da interface
Usabilidade de software • Usuário deve atuar diretamente sobre a usabilidade da interface (mesmo que não esteja consciente disso). • Usuários devem ser colaboradores da equipe desenvolvedora (são os usuários reais, que podem ter vivenciado problemas e podem ajudar a identificação deles).
Definição de Usabilidade • Facilidade de uso • é medir a facilidade de uso de um produto para desempenhar tarefas prescritas. É um conceito diferente de utilidade e gosto. • Usabilidade X Utilidade • utilidade é a habilidade do produto em desempenhar tarefas. Quanto mais tarefas ele pode desempenhar, mais utilidade ele tem. • Testes de usabilidade ajudam a determinar a facilidade de uso.
Definição de Usabilidade • Gostar X Usar • A apreciação de um produto é desejável. Se os usuários gostam, é provável que recomendem o produto. • Usabilidade: o usuário pode usar o produto para desempenhar as tarefas? • Usabilidade não testa preferências
Aspectos da Usabilidade: atributos de descoberta, aprendizado e eficiência. • Descoberta: envolve procurar e encontrar um recurso em resposta a uma necessidade particular. O teste de usabilidade pode determinar quanto o usuário demora para encontrar o recurso e os erros cometidos durante este caminho.
Aspectos da Usabilidade: atributos de descoberta, aprendizado e eficiência. • Aprendizado: refere-se ao processo pelo qual o usuário mentaliza como usar o recurso encontrado para realizar a tarefa. • A usuabilidade pode determinar a duração deste processo e quantos erros foram cometidos durante a aprendizagem do recurso.
Aspectos da Usabilidade: atributos de descoberta, aprendizado e eficiência. • Eficiência: refere-se ao ponto quando o usuário dominou o recurso e usa-o sem necessitar aprendizado extra. • O teste de usabilidade determina o tempo que o usuário experiente leva para executar os passos necessários para usar o recurso.
Usabilidade de software • Estes aspectos básicos da usabilidade são fortemente influenciados pela natureza da tarefa e a freqüência com a qual ela é executada. • Alguns recursos são tão raramente usados que levam o usuário a um re-aprendizado cada vez que devem ser utilizados. Para isto pode-se usar algum tipo de assistente.
Usabilidade de software • É importante testar o software com os usuários padrão, que poderão alimentar os projetistas com as informações corretas para preencher as necessidades dos usuários. • O teste com os usuários reais é a única maneira confiável de determinar tais necessidades.
Porque usar testes de usabilidade? • Redução no número de chamadas de suporte por parte do usuário. • usabilidade pobre é a razão principal de chamadas de suporte. • o suporte ao usuário é caro. • cobrar do usuário pelo suporte aumenta a insatisfação do usuário pelo produto.
Porque usar testes de usabilidade? • Redução no custo de treinamento • no caso de software produzido in-house, é uma execelente razão. • um produto que é fácil de aprender, faz com que os usuário retenham o conhecimento mais rapidamente e está diretamente relacionado com a redução de tempo e de custos de treinamento.
Porque usar testes de usabilidade? • Ajuda a aumentar a aceitação • a aceitação resulta de um número de fatores que incluem usabilidade, utilidade e gosto. • pode estar relacionado a fidelidade (probabilidade de recomendação a outros possíveis usuários) ou a um desejo de desempenhar tarefas atribuídas, o que ajuda a aumentar a produtividade.
Porque usar testes de usabilidade? • Diferenciação do produto em relação ao concorrente • se dois produtos são iguais em utilidade, aquele com maior usabilidade será visto como superior. • as pequenas diferenças em usabilidade podem ter um grande efeito na preferência do usuário.
Porque usar testes de usabilidade? • A usabilidade é testada cada vez que o produto é utilizado, ocasionando seu uso continuado ou seu abandono. • Testar antes de lançar no mercado pode assegurar que a experiência do usuário com o produto seja positiva e evitar revisões posteriores no ciclo de desenvolvimento.
Diretrizes básicas para o projeto centrado no usuário • Foco inicial no usuário: projetistas devem concentrar-se na compreensão das necessidades do usuário logo no início do projeto. • Projeto integrado: todos os aspectos do projeto devem evoluir em paralelo. • Manter o projeto consistente com as necessidades de interface do usuário.
Diretrizes básicas para o projeto centrado no usuário • Testes contínuos e desde o início: enfoque empírico para o projeto do software: o software funciona se os usuários reais decidirem que sim. • Incorporar testes de usabilidade durante o processo de desenvolvimento propicia o feedback dos usuários antes do lançamento do produto. • Projeto iterativo: grandes problemas seguidamente mascaram os pequenos. Projetistas e desenvolvedores devem revisar o projeto continuamente através de rodadas de testes.
Usabilidade de software • Avaliação por video-conferência • usa software de video-conferência para equipar um laboratório de usabilidade onde o avaliador pode monitorar as ações e conversar com o usuário (thinkingaloud) remotamente através da Internet • não exige deslocamento entre avaliador e usuário • Apresenta condições mais próximas do ambiente real de trabalho • custo menor para instalação do laboratório • maior empecilho é a baixa taxa de transmissão da rede que ocasiona atrasos na comunicação, interferindo na avaliação
Usabilidade de software • Métodos de inspeção • é um conjunto de métodos onde avaliadores vão inspecionar a interface; • os avaliadores nem sempre são especialistas em interface ou fatores humanos e procuram problemas de usabilidade em diferentes contextos usando protótipos ou cenários de software ainda não implementados.
Usabilidade de software • Principais métodos: • cognitive wolkthrough • avaliação heuristica • análise de ações • inspeção de características • inspeção de consistência • inspeção padrão • análise formal de usabilidade
Principais Métodos • Cognitive walkthroughts • significa rever o número e o tipo de passos que a interface exige que o usuário percorra para realizar a tarefa (incluindo aqueles que o usuário tem que ter na sua cabeça). • É o que os usuários devem lembrar ou calcular, podendo tornar o produto mais fácil ou difícil de aprender. • Ajuda a identificar problemas ou “furos” nas especificações • Para fazer o “passeio cognitivo” • descrição detalhada do protótipo do sistema (não é necessário que esteja completo, mas bem detalhado) • descrição da tarefa que o usuário deve realizar • lista completa das ações necessárias para completar a tarefa • descrição do tipo de usuário e da experiência ou conhecimento exigidos
Cognitive walkthrough • maneira formal de imaginar os pensamentos e ações das pessoas quando elas usam uma interface pela primeira vez; • tem-se um protótipo ou uma descrição detalhada do projeto da interface e sabe-se quais serão os usuários; • Seleciona-se uma das tarefas que o projeto pretende suportar; • imagina-se cada ação que o usuário tem que executar para desempenhar a tarefa, confiando no conhecimento geral do usuário e nos avisos e feedback fornecidos pela interface; • o problema será localizado quando não se conseguir imaginar a história sobre a ação.
Avaliações Heurísticas(Jakob Nielsen) • envolvem um pequeno conjunto de avaliadores que examinam a interface e emitem um julgamento baseados em princípios de usabilidade; • permitem encontrar e fixar problemas de usabilidade através do processo iterativo do projeto; • cada avaliador examina a interface várias vezes, inspecionando os elementos de diálogo e fazendo comparações com os princípios de usabilidade; • os avaliadores colaboram para consolidar o resultado por uma lista de problemas de usuabilidade, fazendo referências àqueles princípios que foram violados.
Avaliações Heurísticas(Jakob Nielsen) • os avaliadores utilizam uma série de regras heurísticas ou diretrizes para ajudar na identificação de focos de problemas; • devem ser usados múltiplos avaliadores porque alguns problemas são encontrados apenas por alguns avaliadores, apesar de acontecerem sobreposições; • posteriormente, é feita uma consolidação das avaliações
Heurísticas mais utilizadas: • usar diálogos simples e naturais (significa informação que não seja irrelevante ou raramente utilizada. Natural significa uma ordem que combine com a tarefa) • falar a linguagem do usuário (usar palavras e conceitos do mundo do usuário. Não usar termos específicos de engenharia de sistemas) • minimizar a sobrecarga de memória (não exigir que o usuário lembre-se de coisas de uma ação para outra. Deixe a informação na tela até que não seja mais necessária)
Heurísticas mais utilizadas: • ser consistente (usuários devem capazes de aprender uma seqüência de ações em uma parte do sistema e aplicá-la novamente para obter resultados similares em outras partes); • fornecer mensagens de retorno adequadas (deixe que os usuários saibam que efeitos suas ações tem sobre o sistema); • fornecer saídas adequadamente marcadas (se os usuários entram em uma parte do sistema que não lhes interessa, eles devem sempre poder sair sem danificar nada).
Heurísticas mais utilizadas: • fornecer atalhos (ajudam os usuários experientes a evitar diálogos longos e mensagens informativas que eles não necessitam) • dar boas mensagens de erro (boas mensagens de erro informam o usuário qual é o problema e como resolvê-lo) • prevenir erros (sempre que uma mensagem de erro for escrita, deve-se pensar: este erro poderia ser evitado?)
Heurísticas mais utilizadas: • sessões individuais com duração de 1 a 2 horas, por avaliador, não sendo necessária a presença da equipe desenvolvedora; • problemas devem ser classificados em uma das heurísticas ou podem ser criadas novas, desde que devidamente explicadas; • os avaliadores atribuem notas, de acordo com a severidade e prioridade de resolução de cada problema.
Usabilidade de software • Análise de ações • procedimento de avaliação que exige a atenção na seqüência de ações que um usuário deve realizar para completar uma tarefa em uma interface; • quais os passos mentais e físicos o usuário desempenhará para completar uma ou mais tarefas na interface; • analisar estes passos, procurando por problemas. • Análise de tarefas • determina como uma tarefa será desempenhada pelo produto; • é importante para determinar se as tarefas planejadas suportarão a realidade.
Usabilidade de software • GOMS (Gols, Operators, Methods, Selection rules) • consiste de descrições de métodos necessários para alcançar determinadas metas. As metas são passos que consistem de operadores (ações) que o usuário desempenha. Se mais de um método pode ser utilizado para alcançar uma meta, as regras de seleção decidem o método apropriado no momento.
Usabilidade de software • Testes de usabilidade iterativos • permite determinar se os usuários acham fácil ou difícil de usar a inteface • fazer alterações nesta fase é mais fácil do que depois que a fase de desenvolvimento já iniciou • observar usuários realizarem suas tarefas sem interferências • cenários (um protótipo que reduza o número de recursos e nível de funcionalidade) • testes do tipo “thinking aloud” - o usuário executa um conjunto de tarefas e relata seus pensamentos • avaliação heurística
Usabilidade de software • Técnicas de avaliação • muitas vezes precisam ser adaptadas para atender às características específicas do desenvolvimento de projetos; • acompanhar a evolução tecnológica das interfaces; • cobrir tipos de problemas não identificados por outras técnicas (pode-se usar mais de uma técnica durante a avaliação).
Usabilidade de software • Outras fases • Desenvolvimento (onde o produto será implementado) • fase de “polimento” • teste ao vivo para descobrir eventuais problemas • pode ser usado um laboratório de teste de usabilidade • Estabilização - ocorre quando o produto está pronto e ajuste finos devem ser feitos.
Princípios da Usabilidade(segundo Dix [1993]) • Aprendizado • A facilidade com que novos usuários podem iniciar uma efetiva interação e obter desempenho máximo. • Flexibilidade • A multiplicidade de formas com que os usuários e o sistema trocam informação. • Robusteza • O nível de suporte providos para o usuário
Usabilidade de software • Bibliografia • Wincker, Marco Antônio Alba. Proposta de uma metodologia para Avaliação de usabilidade de Interfaces WWW. Porto Alegre: CPGCC da UFRGS, 1999. 97 p. • Nielsen, J. e Mack, R. L. Usability Inspection Methods. John Wiley & Sons, Inc. 413 p. 1994.
HCI texts • Dix, Alan. Human Computer Interaction • Baecker, Ronald M and Buxton, William A.S. Human Computer Interaction, 1987 • Booth, Paul, An introduction to human computer interaction, 1992 • George, H, The Good Usability Handbook, 1995 • Nielsen, Jakob. Usability Engineering, 1995 • Preece, Jenny. Human Computer Interaction, 1993 • Redmond-Pyle D and Moore A, Graphical User Interface Design and Evaluation, 1995 • Shneiderman, Ben. Designing the user interface • Sutcliffe ,A.G. Human Computer Interface Design, 1988
Other HCI texts • Carroll JM (ed) Designing Interaction: Psychology at the human computer interface, 1991. • Cox X and Walker D, User Interface Design, 1993. • Laurel, Brenda. The Art of Human-Computer Design, 1990. • Monk, Andrew et al, Improving your Human Computer Interface, 1995. • Nielsen, Jakob. Hypertext and Hypermedia • Norman, Donald A. and Draper, Stephen W. User Centered System Design, 1986 • Preece, Jenny. A Guide to Usability, 1993 • Rivlin C and Lewis R . Guidelines for Screen Design • Travis, D . Effective Colour Display, 1991