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, conceitose práticasque levam ao desenvolvimento de um sistema ou produto de alta qualidade; Princípiosestabelecem uma filosofia que guia o projetista no trabalho a ser desenvolvido; Conceitosde projeto devem ser compreendidos antes que o desenvolvimento do projeto seja posto em prática; Práticasde 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 softwaremodelar 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 softwaretenham 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); Projeto de Interface;
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 ProjetodeInterfacecomoUsuário quemfaz? 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. (Pressman, 2011)
Introdução ProjetodeInterfacecomoUsuário quaissãoospassos?...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. (Pressman, 2011)
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 hardwaree 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; sistema
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, interfacee interaçãosão conceitos que não podem ser analisados independentemente; Interaçãopode ser vista como uma ação de um objeto físico sobre o outro; o termo designa a ação conjunta humano-humano e humanomá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 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 comunicação com/por meio da máquina 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.
Interação
Perspectivas de Interação Kammersgaard (1988)
Perspectivas de Interação perspectiva significado de interação fatores de qualidade mais evidentes sistema parceiro de discurso transmissão de dados conversa usuário-sistema eficiência (tal como indicado pelo tempo de uso e número de erros cometidos) adequação da interpretação e geração de textos ferramenta mídia manipulação da ferramenta comunicação entre usuários e designerusuário funcionalidades relevantes ao usuário, facilidade de uso 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-Computadorsurgiu por volta da década de 80 para descrever este novo campo de estudo; Foco mais amplo que somente o designde 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; consolesde 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 ficou um pouco mais complexo aprender e explicar como funciona
Interação Humano-Computador Eleições de 1982 fonte TRE 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?
Interaçã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. (Rocha e Baranauskas, 2003)
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; Conceber um sistema de fora para dentro
Interação Humano-Computador usuários usuários dados lógica interface de dentro para fora dados lógica interface de fora para dentro
Interaçã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 O desenvolvimento do sistema.
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áriosistema; Análise do domínio e de aspectos sociais e organizacionais.
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, raciocínio e aprendizado;
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áriosistema: 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; Aumentar as vendas e a fidelidade do cliente;
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 3. Torne a interface consistente
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-Coloqueousuárionocontrole 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 personalizar a interface para facilitar a interação;
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 implementação de manipulação direta;
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; Apresentar cenários de interação;
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 entendidas;
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 consistência para toda a interação;
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;
Algumas Imagens...
Algumas Imagens...
Algumas Imagens...
Algumas Imagens...
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; Desconhecimento de modelos, métodos e técnicas.
Finalizando... As pessoas devem aprender a tarefa e não a tecnologia (Rocha e Baranauskas, 2003)
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?
Referências Bibliográficas Leite, J. C. Projeto de Interfaces de Usuário. UFRGS, 2001. Preece, J.; Rogers, Y.; Sharp, H. Design de Interação. Porto Alegre: Bookman, 2005. Pressman, Roger. Engenharia de Software. São Paulo: Mcgraw- Hill, 2011. Rocha, H. V.; Baranauskas, M. C. C. Design e Avaliação de Interfaces Humano-Computador. São Paulo, IME-USP, 2003. Silva, B. S.; Barbosa, S. D. J. Interação Humano-Computador. Rio de Janeiro: Elsevier, 2010 (slides adaptados).