A
Interface Humano - Computador
Aula 01 - Conceitos Iniciais
Giliane Bernardi - giliane@inf.ufsm.br http://nte.ufsm.br
Introdução
•
Relembrando aspectos da Engenharia de Software…
•
Ciclo de Vida de um Software
• Levantamento de Requisitos; • Análise de Requisitos; • Projeto de Software; • Implementação; • Testes; • Manutenção.
Introdução
•
Projeto de Software
• Também chamado Engenharia de Projeto, engloba um conjunto de princípios, conceitos e práticas que levam ao desenvolvimento de um sistema ou produto de alta qualidade;
• Princípios estabelecem uma filosofia que guia o projetista no trabalho a ser desenvolvido;
• Conceitos de projeto devem ser compreendidos antes que o desenvolvimento do projeto seja posto em prática;
• Práticas de projeto levam a criação de várias representações do software que norteiam a atividade de construção que se segue;
Introdução
•
O projeto permite ao engenheiro de software modelar o
sistema ou o produto que deve ser construído;
•
Situa-se no núcleo técnico da Engenharia de Software e
inicia logo que os requisitos de software tenham sido
analisados e modelados;
•
O projeto de software é a última ação do engenheiro de
software dentro da atividade de modelagem;
Introdução
•
Cada um dos modelos de análise fornece informações
pra criar os modelos de projeto;
•
Modelos gerados na fase de projeto:
• Projeto de Dados;
• Projeto Arquitetural;
• Projeto em nível de componentes (procedimental);
Introdução
•
O Projeto de Interface concentra-se em três áreas de
preocupação:
• O projeto de interfaces entre componentes de software;
• O projeto de interfaces entre o software e outros produtores e consumidores de informação não-humanos (outras entidades externas);
• O projeto de interfaces entre um ser humano (o usuário) e o computador;
Introdução
•
Projeto de Interface com o Usuário – quem faz?
“Um engenheiro de software projeta a
interface com o usuário pela aplicação
de um processo iterativo que se apoia
em princípios de projeto .”
Introdução
•
Projeto de Interface com o Usuário – quais são os passos?
“...começa com a identificação dos requisitos
do usuário, das tarefas e do ambiente.
Após, cenários são criados e analisados
para definir um conjunto de objetos e ações
de interface. Em seguida, protótipos são
construídos e, por fim, o modelo de projeto
é implementado e o resultado é avaliado
quanto à qualidade.”
Introdução
•
Projeto de Interface com o Usuário – qual é o produto de
trabalho?
“Cenários de usuário são criados e layouts
de tela são gerados. Um protótipo de
interface é desenvolvido e modificado de
modo iterativo”
(Pressman, 2011)
Interface Humano-Computador
•
Mas afinal, o que é Interface Humano-Computador?
•
Quando o conceito de interface surgiu, ela era entendida
como o hardware e o software com o qual o homem e o
computador podiam se comunicar. A evolução do conceito
levou à inclusão dos aspectos cognitivos e emocionais do
usuário durante a comunicação;
Interface Humano-Computador
•
Algumas possibilidades de conceitos:
• Primeiramente, se visualiza uma interface como um lugar onde o contato entre duas entidades ocorre (por exemplo, a tela de um computador);
• A forma das interfaces reflete na qualidade física das partes na interação;
• Interfaces de nosso dia-a-dia: uma maçaneta de uma porta, uma torneira, a direção de um carro, etc...
Interface Humano-Computador
•
O conceito de interface é
utilizado em diferentes áreas
da Ciência da Computação,
sendo importante no estudo
da interação homem-máquina,
no projeto de dispositivos de
hardware, na especificação de
linguagens de programação e
também em projetos de
desenvolvimento de software;
usuário sistemaúnico meio de contato
entre usuário e sistema
Interação
•
No entanto, não se pode pensar em projeto de interfaces sem
considerar o ser humano que vai usá-las;
•
Neste contexto, interface e interação são conceitos que não
podem ser analisados independentemente;
•
Interação pode ser vista como uma ação de um objeto físico
sobre o outro;
• o termo designa a ação conjunta humano e humano-máquina;
•
A interação ocorre quando a ação de uma pessoa desencadeia
uma reação em outro (humano ou não);
Interação
•
é um
processo de...
• sequência de estímulos e respostas
• operação de máquina
• comunicação com/por meio da máquina
Norman (1986) interpreta a interação como um processo através do qual o usuário formula uma intenção, planeja suas ações, atua sobre a interface, percebe e interpreta a resposta do sistema e avalia se seu objetivo foi alcançado
de Souza (2005) interpreta a interação com um processo de comunicação entre pessoas (incluindo o designer e os usuários), mediada por sistemas computacionais.
Perspectivas de Interação
Perspectivas de Interação
perspectiva significado de interação fatores de qualidade mais evidentes
sistema transmissão de dados
eficiência (tal como indicado pelo tempo de uso e número de erros cometidos)
parceiro de
discurso conversa usuário-sistema
adequação da interpretação e geração de textos
ferramenta manipulação da ferramenta
funcionalidades relevantes ao usuário, facilidade de uso
mídia
comunicação entre usuários e designer-usuário
qualidade da comunicação mediada e entendimento mútuo
Interação Humano-Computador
•
Focando no desenvolvimento de Interfaces Computacionais, a
principal preocupação deve ser a de melhorar o modo como
as pessoas podem usar o computador para realização de suas
atividades;
•
O termo Interação Humano-Computador surgiu por volta da
década de 80 para descrever este novo campo de estudo;
• Foco mais amplo que somente o design de interfaces,
abrangendo todos os aspectos relacionados com a interação entre usuários e computadores;
Interação Humano-Computador
•
A importância da área de IHC pode ser evidenciada
considerando o impacto das
Tecnologias da Informação e da
Comunicação – TICs
em nosso cotidiano:
• Como estão presentes em nossas vidas e na sociedade? • Em que áreas elas estão presentes?
• Que importância elas possuem?
• O que significa ter tanta tecnologia na vida das pessoas?
• Quais são as consequências disso para as pessoas que utilizam e para as pessoas que desenvolvem estas tecnologias?
Interação Humano-Computador
•
Exemplos de ferramentas, instrumentos ou dispositivos em
que estão presentes:
• celular usado como cartão de crédito;
• quiosque eletrônico para consulta numa livraria;
• smartphones que consultam resultados de exames médicos via Web;
• livros eletrônicos;
• consoles de jogos que exercitam mente e corpo;
• TV digital interativa;
• participação política na internet usando diversos dispositivos e ferramentas;
Interação Humano-Computador
•
Exemplo: o interfone do prédio mudou!
• num condomínio com 5 blocos com 5 andares cada, existem 4 apartamentos por andar
Interação Humano-Computador
•
Exemplo: o interfone do prédio mudou!
• o interfone no térreo de cada bloco mudou de uma solução “específica” (esquerda) para uma solução “genérica” (direita)
Interação Humano-Computador
•
Exemplo: o interfone do prédio mudou!
• analise as formas de interação nas duas propostas de interfone:
• Como ligar para o apartamento 104?
• O que é preciso memorizar (e lembrar) para usar o interfone? • Pense numa pessoa idosa e um cego usando ambos interfones
Interação Humano-Computador
•
Exemplo: o interfone do prédio mudou!
• Como o novo dispositivo afetou a vida das pessoas que moram e que visitam o condomínio? Por exemplo:
• mudou a forma de expressar “eu quero falar com o apartamento XXX”
• os moradores agora podem usar o interfone para falar entre apartamentos de qualquer bloco
Interação Humano-Computador
•
Como votar no José da Silva
para vereador?
•
Como saber se o número é do
candidato desejado?
•
Como votar em branco?
•
Como votar nulo?
•
Em que ordem votar?
Eleições de 1982 – fonte TREInteração Humano-Computador
“IHC é a disciplina preocupada com o
design, avaliação e implementação
de sistemas computacionais
interativos para uso humano e com
o estudo dos principais fenômenos
ao redor deles.”
Interação Humano-Computador
•
Grande parte da área da Computação está interessada em
construir sistemas: eficientes, robustos, livres de erros e de
fácil manutenção;
• Conceber um sistema de “dentro para fora”
•
A área de IHC está principalmente interessada na qualidade de
uso destes sistemas e no impacto na vida de seus usuários;
Interação Humano-Computador
interface lógica dados interface lógica dados usuários usuáriosInteração Humano-Computador
•
No contexto de IHC, temos quatro elementos básicos:
• O sistema;
• Os usuários;
• Os desenvolvedores; e
• O ambiente de uso (domínio de aplicação).
•
Estes elementos estão envolvidos em dois processos:
• A interação usuário-sistema; e
Interação Humano-Computador
•
Para o estudo destes elementos e para a aplicação deles,
visando uma melhoria dos processos de desenvolvimento e de
relação usuário e sistema, cinco aspectos devem ser
considerados:
• Design e desenvolvimento do hardware e do software;
• Estudo da capacidade e limitação física e cognitiva dos usuários;
• Instrumentação teórica e prática para o design e desenvolvimento de sistemas interativos;
• Modelos de interfaces e do processo de interação usuário-sistema;
Interação Humano-Computador
•
Design e desenvolvimento do hardware e do software: estudo
de tecnologias de dispositivos de entrada e saída; e
tecnologias de software, como ambientes gráficos e virtuais;
•
Estudo da capacidade e limitação física e cognitiva dos
usuários: considera estudos de ergonomia para avaliar limites
de esforço físico do usuário, e estudos de psicologia e ciência
cognitiva sobre a capacidade humana de memorização,
Interação Humano-Computador
•
Instrumentação teórica e prática para o design e
desenvolvimento de sistemas interativos: envolve o
conhecimento teórico sobre os fenômenos envolvidos;
• Modelos para o processo de desenvolvimento que descrevam as etapas necessárias e como devem ser conduzidas;
• Diretrizes, técnicas, linguagens, formalismos e ferramentas de apoio a estas etapas;
Interação Humano-Computador
•
Modelos de interfaces e do processo de interação
usuário-sistema: para desenvolver modelos abstratos dos processos de
interações compatíveis com as capacidades e limitações físicas
e cognitivas dos usuários;
•
Análise do domínio e de aspectos sociais e organizacionais:
para avaliar o impacto que o contexto onde está inserido o
usuário exerce sobre seus conhecimentos, sua linguagem e
suas necessidades.
Interação Humano-Computador
•
Benefícios de IHC através do aumento da qualidade de uso de
sistemas interativos:
• Aumentar a produtividade dos usuários;
• Reduzir o número e a gravidade dos erros cometidos pelos usuários;
• Reduzir o custo de treinamento;
• Reduzir o custo de suporte técnico;
Projetando interfaces, algumas
considerações iniciais....
Mandel apud Pressman (2006) apontam três regras de ouro que formam a base para
um conjunto de princípios de projeto da interface com o usuário
Projetando interfaces, algumas
considerações iniciais....
1. Coloque o usuário no controle
2. Reduza a carga de memória do usuário
Projetando interfaces, algumas
considerações iniciais....
•
1- Coloque o usuário no controle
• A maioria das limitações e restrições de interfaces impostas por um projetista é destinada a simplificar o modo de interação.
• Mas para quem? Em muitos casos o projetista pode introduzir restrições e limitações para simplificar a implementação da interface. O resultado pode ser uma interface fácil de construir, mas frustrante de usar.
Projetando interfaces, algumas
considerações iniciais....
•
1- Coloque o usuário no controle – princípios
• Defina os modos de interação de uma forma que não force o usuário a ações desnecessárias: um modo de interação é o
estado atual da interface. O usuário deve entrar e sair do modo com pouco ou nenhum esforço;
Projetando interfaces, algumas
considerações iniciais....
•
1 - Coloque o usuário no controle – princípios
• Proporcione interação flexível: como diferentes usuários podem ter diferentes preferências de interação, a escolha deve ser
oferecida. Considere que nem toda ação é adequada a todos os mecanismos de interação;
Projetando interfaces, algumas
considerações iniciais....
•
1 - Coloque o usuário no controle – princípios
• Permita que a interação com o usuário possa ser interrompida e desfeita: mesmo quando envolvido em uma sequência de ações, o usuário poderá interromper a sequência para fazer alguma outra coisa (sem perder o trabalho que já tinha sido feito). O usuário poderá também “desfazer” qualquer ação;
Projetando interfaces, algumas
considerações iniciais....
•
1 - Coloque o usuário no controle – princípios
• Simplifique a interação à medida que os níveis de competência progridem e permita que a interação seja personalizada: os usuários frequentemente descobrem que realizam a mesma
sequência de interações repetidamente. Vale a pena projetar um mecanismo “macro” que permita a um usuário avançado
Projetando interfaces, algumas
considerações iniciais....
•
1 - Coloque o usuário no controle – princípios
• Esconda detalhes técnicos internos do usuário esporádico: a interface com o usuário deve levá-lo ao “mundo virtual” da
aplicação. Ele não deve perceber o sistema operacional, funções de gerenciamento de arquivos, entre outras. A interface nunca deve exigir que o usuário interaja em um nível que seja “interno à máquina (um usuário nunca precisa teclar comandos do sistema operacional de dentro de um software de aplicação)” ;
Projetando interfaces, algumas
considerações iniciais....
•
1 - Coloque o usuário no controle – princípios
• Projete a interação direta com os objetos que aparecem na tela: o usuário tem uma sensação de controle quando pode manipular os objetos necessários para realizar uma tarefa de modo
semelhante ao que ocorreria se o objeto fosse uma coisa física. Por exemplo, uma interface de aplicação que permite ao usuário “esticar” um objeto (aumentá-lo no tamanho) é uma
Projetando interfaces, algumas
considerações iniciais....
•
2 – Reduza a carga de memória do usuário
• Quanto mais um usuário tiver que lembrar, mais sujeita a erros será a interação com o sistema;
• Uma interface bem projetada não sobrecarrega a memória do usuário;
• Lembrar ao usuário de informações pertinentes;
Projetando interfaces, algumas
considerações iniciais....
•
2 – Reduza a carga de memória do usuário – princípios
• Reduza a demanda da memória de curto prazo: quando os
usuários estão envolvidos em tarefas complexas, a demanda de memória de curto prazo pode ser significativa. A interface deve ser projetada para reduzir a necessidade de lembrar ações e resultados anteriores. Pode-se fornecer indicações visuais para reconhecimento de ações;
Projetando interfaces, algumas
considerações iniciais....
•
2 – Reduza a carga de memória do usuário – princípios
• Defina atalhos intuitivos: quando são usados mnemônicos para realizar uma função do sistema (por exemplo, alt-P para invocar a função de impressão), estes devem ser ligados a ação de um
modo que seja fácil lembrar (por exemplo, a primeira letra da tarefa a ser invocada);
Projetando interfaces, algumas
considerações iniciais....
•
2 – Reduza a carga de memória do usuário – princípios
• O layout visual da interface deve ser baseado em uma metáfora do mundo real: por exemplo, um sistema de pagamento de
contas deve usar uma metáfora de talão e canhoto de cheques para guiar o usuário durante o processo de pagamento de contas. Isto permite ao usuário se apoiar em indicações visuais bem
Projetando interfaces, algumas
considerações iniciais....
•
2 – Reduza a carga de memória do usuário – princípios
• Revele informação de um modo progressivo: a interface deve ser organizada de forma hierarquica. Inicialmente, a informação deve ser apresentada em um alto nível de abstração e depois ir apresentando detalhes;
Projetando interfaces, algumas
considerações iniciais....
•
3 – Faça a interface consistente
•
A interface deve apresentar e receber informação de
forma consistente;
• Toda a informação visual deve ser organizada de acordo com um padrão de projeto mantido ao longo de todo sistema;
• Mecanismos de entrada devem ser restritos a um conjunto limitado, usado constantemente ao longo de toda a aplicação;
• Mecanismos para navegar de tarefa a tarefa devem ser consistentemente definidos e implementados.
Projetando interfaces, algumas
considerações iniciais....
•
3 – Faça a interface consistente – princípios
• Permita ao usuário situar a tarefa atual em um contexto
significativo: é importante fornecer indicadores (títulos de janela, ícones, códigos de cores) que permitam ao usuário saber o
contexto do trabalho em mãos. Além disso, o usuário pode
determinar de onde veio e que alternativas existem de transição para uma nova tarefa;
Projetando interfaces, algumas
considerações iniciais....
•
3 – Faça a interface consistente - princípios
• Mantenha consistência ao longo de uma família de aplicações: um conjunto de aplicações (ou produtos) deve implementar as mesmas regras de projeto, de modo que seja mantida a
Projetando interfaces, algumas
considerações iniciais....
•
3 – Faça a interface consistente – princípios
• Se modelos interativos anteriores criaram expectativas para o usuário, não faça modificações, a menos que haja forte razão para isso: quando uma sequência interativa particular torna-se uma norma de fato (por exemplo, o uso de alt-S para salvar um arquivo), o usuário espera isso em toda a aplicação que encontra;
Finalizando...
•
Algumas causas de problemas no projeto de interfaces:
•
Desconhecimento do usuário (aspectos cognitivos,
físicos e sociais);
•
Desconhecimento da atividade (estratégias,
restrições);
•
Priorização da lógica de funcionamento em detrimento
da lógica de utilização;
Finalizando...
“As pessoas devem
aprender a tarefa e
não a tecnologia”
Para pensar...
• Que aplicações você conhece que possuem interfaces gráficas que dificultam o uso das mesmas? Quais características mais marcantes tornam estas aplicações difíceis de serem usadas?
• Você se sente apto para projetar uma boa interface entre homem e máquina?
• Quais habilidades / saberes precisam ser desenvolvidos para projetar uma boa interface entre homem e máquina?