aula 3 - metaforas de interface interacao humano-computador
DESCRIPTION
Aula 3 - Metaforas de Interface Interacao Humano-ComputadorTRANSCRIPT
Fundamentos de IHC - Prof. Rodrigo Pitarello
Aula 3
Metáforas de Interface, Interação Humano-Computador
Metáforas de Interface
• Metáfora, segundo dicionário Aurélio, é
– o topo que consiste na transferência de uma palavra para um âmbito semântico que não é o do objeto que ela designa e que se fundamenta numa relação de semelhança sub entendida entre o sentido próprio e o figurado.
Definição
• “A metáfora é o emprego de todo termo substituído por outro que lhe é assimilado” Dubois, 1991;
• Neste sentido,o uso da metáfora é uma espécie de tradução.
Definição
• Todo processo de tradução está implícito a necessidade de facilitar um ato comunicativo;
• Traduzimos porque não entendemos uma palavra, um signo, um código ou mesmo toda uma linguagem;
• A metáfora participa como tradutora de um mundo hostil representado pela linguagem do computador para a linguagem natural.
Metáforas que se tornaram nomes
• Memória
– Representa todo o dispositivo de armazenamento, conservação e recuperação posterior de dados.
• Mouse
– Definido pela analogia física do objeto com o animal, provavelmente influenciado pelos desenhos animados.
Metáforas que se tornaram nomes
• Disco rígido
– Metáfora criada em função da semelhança física entre o dispositivo e o formato de um disco. Também conhecido como winchester.
• Arquivos e Diretórios
– Semelhança subentendida entre o arquivo de um computador e um arquivo convencional.
Metáforas que se tornaram nomes
• Em todos estes casos, há a simples substituição de um termo por outro.
• Há basicamente uma troca: de “dispositivo de armazenamento”, por outro, “memória”.
• É a metáfora na sua concepção mais simples, em que há o desvio, a transferência ou a substituição de um termo por outro.
Instruções de computador
• O conceito de instrução é fundamental em sistemas computacionais porque efetivamente é através dele que se efetua a comunicação homem-máquina.
• Computadores são máquinas capazes de solucionar problemas através da execução de instruções que lhes são fornecidas.
• Um programa portanto é “a seqüência destas instruções que descreve como executar determinada tarefa.” – Tanenbaum, 1992
Linguagem de programação
• Uma linguagem de programação pode ser definida como sendo um conjunto limitado de instruções (vocabulário), associado a um conjunto de regras (sintaxe) que define como as instruções podem ser associadas, ou seja, como se pode compor os programas para a resolução de um determinado problema.
Níveis de linguagem: Máquina
• Linguagem de Máquina – Na linguagem de máquina, a representação dos dados
e das operações (instruções) que constituem um programa, é baseada no sistema binário, que é a forma compreendida e executada pelo hardware do sistema. Torna-se inviável escrever ou ler um programa codificado na forma de uma string de bits.
Níveis de linguagem: Hexadecimal
• Linguagem Hexadecimal – Para simplificar a compreensão e a programação de
computadores, foi adotado (num primeiro momento) a notação hexadecimal para representar programas em linguagens de máquina. Mas a programação e leitura usando a linguagem hexadecimal continuou impraticável.
Níveis de linguagem: Assembly
• Linguagem Assembly – A linguagem de máquina de cada processador é
acompanhada de uma versão “legível” da linguagem de máquina que é a chamada linguagem simbólica Assembly. Simbólica pois esta linguagem não é composta de números binários ou hexadecimais, como nas duas linguagens anteriores. A linguagem Assembly é na realidade uma versão legível da linguagem de máquina. Ela utiliza palavras abreviadas, chamadas mnemônicos, indicando a operação a ser realizada pelo processador.
Níveis de linguagem: Assembly
• Linguagem Assembly – A linguagem de máquina de cada processador é
acompanhada de uma versão “legível” da linguagem de máquina que é a chamada linguagem simbólica Assembly. Simbólica pois esta linguagem não é composta de números binários ou hexadecimais, como nas duas linguagens anteriores. A linguagem Assembly é na realidade uma versão legível da linguagem de máquina. Ela utiliza palavras abreviadas, chamadas mnemônicos, indicando a operação a ser realizada pelo processador.
Níveis de linguagem: Assembly
• Exemplos de instruções Assembly: – MOV R1, R2
• mnemônico MOV (abreviação de MOVE) e dois registradores como parâmetro: R1 e R2. Quando o processador executa essa instrução, ele comanda o movimento do conteúdo de R2 para R1.
• No Pascal : R1: = R2.
– ADD R1, R2 • Mnemônico ADD (abreviação de ADDITION) e dois registradores
como parâmetro: R1 e R2. Quando o processador executa essa instrução ele comanda a adição do conteúdo de R1 ao conteúdo de R2 e o resultado é armazenado em R1
• No Pascal : R1 : = R1 + R2.
Níveis de linguagem: Assembly
• Desvantagens: – A linguagem apresenta um número muito reduzido de
instruções; – O programador deve conhecer muito bem a máquina; – O programa Assembly não é muito legível, precisa ser
bem documentado; – O programa Assembly não é portável (pode ser usado
apenas em um tipo de computador). É portável apenas dentro de uma família de processadores;
– A programação Assembly tem um custo de desenvolvimento maior.
Níveis de linguagem: Assembly
• Vantagens:
– Permite acesso direto ao programa de máquina. Utilizando uma linguagem de alto nível, não se tem o controle de código de máquina gerado pelo compilador. Um programa escrito em linguagem Assembly pode ser de 0 a 300% menor e mais rápido que um programa compilado;
– Essa linguagem permite o controle total do hardware.
Níveis de linguagem: Alto Nível
• Linguagens de Alto Nível: – As linguagens de alto nível são assim
denominadas por apresentarem um sintaxe mais próxima da linguagem natural, fazendo uso de palavras reservadas extraídas do vocabulário corrente (com READ, WRITE, TYPE, etc.) e permitem a manipulação dos dados nas mais diversas formas (números inteiros, reais, vetores, etc.), enquanto a linguagem Assembly trabalha com bits, bytes, palavras, armazenadas em memória.
Metáforas e o computador
• Além de ser uma ferramenta, o computador também é um meio de comunicação e expressão;
• Tem sua própria linguagem nativa, que é bastante estranha à compreensão humana;
• Para que haja uma comunicação efetiva, a linguagem do computador deve ser substituida para nossa linguagem natural
Metáforas de Interface
• Metáforas de interface são modelos conceituais desenvolvidos para serem semelhantes de alguma forma, aos aspectos de uma entidade física, como por exemplo: – MOTOR DE BUSCA - Faz uma metáfora com um motor – PORTAL WEB - Portal vem de porta. Metáfora que remete à "entrada“ – LIXEIRA- lixeira é o exemplo mais clássico de metáfora. Alguns sistemas
operacionais inserem sons reais para a ação de colocar algo numa lixeira.
– FOLHA VIRANDO - alguns sistemas interativos, simulam o movimento do virar de uma folha, quando o usuário passa para uma nova página.
– COPIAR/RECORTAR/COLAR - metáforas de ações reais. – CARRINHO DE COMPRA -Metáfora utilizada em sistemas de comércio
que remete ao carrinho de compras do supermercado.
Metáforas de Interface
Metáforas de Interface
Metáforas de Interface
• Como as metáforas são usadas como modelos, uma metáfora de interface que sugira um modelo incorreto pode causar dificuldades para o usuário.
• Por exemplo, o clássico caso das funções cortar e colar dos editores atuais - quando se corta algum objeto ele fica guardado em um buffer (usuários principiantes acham que sumiu) e quando se cola em outra parte o objeto não cola como no real, ele "empurra" (para fazer a real função de colar é preciso marcar e depois colar).
Prof. Rodrigo Pitarello