Baixe o app para aproveitar ainda mais
Prévia do material em texto
1ºAula Interface homem x máquina Objetivos de aprendizagem Esperamos que, ao término desta aula, vocês serão capazes de: • conhecer a interface e o usuário na relação homem x máquina; • entender projetos de interface. Olá, pessoal, tudo bem? Chegamos à disciplina de Engenharia de Software II. Nesta aula, discutiremos a relação entre homem e máquina. Para tanto, é importante considerar que grandes avanços tecnológicos foram alcançados nos últimos anos na área da informática. Desse modo, houve, também, um crescimento no uso dos computadores no que diz respeito a realização de tarefas, serviços e atividades. Nas mais diferentes áreas de atuação, o computador faz parte da vida das pessoas, que o utilizam para estudar, trabalhar, se comunicar e se distrair. Com esse crescimento, a Engenharia de Software ganha especial importância para a informática. Vamos analisar a relação na aula? Bons estudos! 8Engenharia de software II Seções de estudo 1 - Interface e usuário 1 – Interface e usuário 2 – Projeto de interface Sabemos que a Engenharia de Software é o campo responsável por elaborar e desenvolver os sistemas. Com isso, busca desenvolver softwares de qualidade e adaptados às exigências de um público que cresce e se torna cada vez mais variável. Um dos aspectos que demandam atenção, nesse sentido, é a interface. Tal aspecto nem sempre foi considerado relevante e, ao analisar sua evolução, é possível perceber que somente nos últimos anos a interface foi considerada um componente importante. Essa demanda surgiu no momento em que o usuário das máquinas passou a ser um sujeito não especializado. Antes, como somente pessoas da área manipulavam as máquinas, não era algo necessário, visto que a interação homem X máquina se dava a partir de comandos. Certamente, essa situação é bastante diversa contemporaneamente. Na década de 1970 surge a microinformática. Nesse momento, os projetistas passaram a dar atenção às interfaces de seus produtos. Do mesmo modo, com o surgimento dos jogos eletrônicos, os usuários passaram a intervir diretamente nos objetos componentes. Já em 1980, a Xerox desenvolveu um projeto chamado Star, que oficializou um novo modo de interação, a manipulação direta. Nesse momento histórico, Steve Jobs criou a Apple Macintosh, em 1984, que tornou o estilo de manipulação direta popular. De modo simples, a interface diz respeito ao modo por meio do qual um usuário mapeia suas tarefas por meio de um conjunto de ferramentas disponíveis em um sistema. Também está relacionada ao modo com que hardware e software suportam o diálogo entre sistema e usuário. Para avançarmos em nossa discussão, no excerto abaixo verificaremos os conceitos de interação e de interação aplicada à informática: O primeiro destes conceitos é o conhecimento do que vem a ser interação. Interação pode- se defi nir sucintamente como a atuação de um agente em outro, ou seja, a “ação entre”; segundo a própria estrutura da palavra – inter ação. Este agente pode ser ativo em determinada situação e, em outra, deixar-se agir pelo outro, isto é, submeter-se à ação do outro. A interação então é o princípio fundador da linguagem, sendo que o sentido do que se quer transmitir depende da relação entre sujeitos, ou agentes. Semelhante ao termo “ação”, o termo “atividade” signifi ca a qualidade ou estado do que é ativo, isto é, representa a possibilidade e a faculdade de operar. Assim, “atividade” comportaria múltiplas e variadas ações, mas não estaria restrita a elas, pois em uma atividade também está agregado um conjunto de estratégias e escolhas para as ações. Quando se une o termo “inter”, surge a “atividade entre” e não a “ação entre”. Forma-se então a idéia de que interatividade é o processo que favorece a participação ativa de agentes ou sujeitos. Aplicando este conceito à informática, a interatividade digital pode ser entendida como um diálogo homem-máquina, através de uma zona de contato chamada de interface gráfi ca. A interface seria então, a princípio, o meio (hardware, software) no qual se dá o processo de interação e interatividade; uma espécie de “conversação” entre o homem e a máquina por meio de um ambiente (OLIVEIRA, s.d, p. 3). Hoje, há um visível crescimento de interfaces. Contudo, do mesmo modo, tais interfaces crescem de modo padronizado por meio do padrão Windows. Essa padronização permite que os computadores tenham um funcionamento de modo simples e de fácil interação. Hoje, então, ao se elaborar um sistema, um projeto detalhado de interface se faz extremamente necessário. Com isso em mente, discutiremos, a seguir, os fatores a serem considerados no momento de tomarmos decisões relacionadas ao projeto de interface com o usuário. Figura - Funcionamento da interface usuário-máquina Disponível em: <https://sistemas.riopomba.ifsudestemg.edu.br/dcc/ materiais/1618984280_Apostila-Interfaces-Homem-Maquina.pdf>. Acesso em: 4 mai. 2017. Ao tomar decisões de projeto de interface com o usuário, você deve levar em conta as capacidades físicas e mentais das pessoas que usam o software. Alguns fatores relacionados a questões humanas devem ser considerados. • MEMÓRIA LIMITADA: as pessoas têm memória de curto prazo limitada. Assim, não temos como lembrar de diversas informações ao mesmo tempo. Nessa perspectiva, ao projetar uma interface, é preciso considerar que não é possível apresentar uma quantidade alta de informações ao usuário. • POSSIBILIDADE DE ERROS: é importante que o Engenheiro de Software consiga prever possíveis erros a serem cometidos pelos usuários, e que tente evitá- los. Sempre que é exigido em termos de memória, o usuário tende a ficar estressado, principalmente, se cometer erros sequenciais por conta da interface. Prever seus erros, então, é uma das precauções a serem tomadas pelo Engenheiro de Software. • CAPACIDADES FÍSICAS: As pessoas, tantas vezes, têm limitações físicas e necessidades especiais. A interface, então, precisa estar adaptada a possíveis 9 2 - Projeto de interface limitações; • PREFERÊNCIAS: Os usuários ainda terão preferências distintas no que diz respeito à interação. Alguns podem preferir, por exemplo, a manipulação natural; outros, podem se sentir mais confortável com uma interação baseada em comandos. Na mesma perspectiva, há questões a serem consideradas no momento da programação da interface. Entre elas, podemos elencar: • DIVERSIDADE: a interface deve suportar todas as classes de usuário e se adaptar a ele. É necessário que desenvolva, assim, uma linguagem voltada ao usuário; • COMPLACÊNCIA: o usuário precisa conseguir, na interface, corrigir eventuais erros. Do contrário, gera-se uma demanda desnecessária para ele. No dia a dia, em situações comuns, o próprio usuário precisa conseguir corrigir erros cometidos. • EFICIÊNCIA: a interface precisa ser simples, direta. Deve-se evitar qualquer dificuldade desnecessária ao usuário; • CONVENIÊNCIA: o usuário deve ter acesso a todas as operações por meio das interfaces; • FLEXIBILIDADE: o usuário deve ter a possibilidade de desenvolver a mesma operação de diferentes maneiras. A linguagem, para tanto, deve ser flexível; • CONSISTÊNCIA: deve haver regras bem definidas e que sejam acessíveis aos usuários. Assim, a apresentação física deve ser muito bem pré-definida. Ao serem tomados tais cuidados, é possível que seja desenvolvido um modelo conceitual de interface. Com isso, padroniza-se e dá-se consistência aos sistemas. Isso permite ganho de experiência ao usuário, que pode “migrar” o aprendizado obtido em determinada interface a outra. Assim, o conceito de habituação é aplicado sempre que um sistema permite que o usuário se adapte facilmente a outra interface, seja em relação às possibilidades quanto às limitações do sistema. OMicrosoft Windows® causa verdadeiro impacto nessa tendência, ao promover a padronização de interfaces; • PRESTIMOSIDADE: a interface precisa, ainda, ser prestativa, de modo que contribua com o usuário quando este encontra dificuldades. Seja por meio de mensagens sobre os erros, dicas, entre outros, a interface precisa favorecer a aproximação do usuário. • IMITAÇÃO: a linguagem da interface deve ser próxima da linguagem humana. Assim, diversos aspectos da comunicação entre seres humanos precisam ser explorados; • NATURALIDADE: a comunicação com o usuário não deve exigir terminologia específica em relação às atividades que ele pretende desenvolver; • SATISFAÇÃO: o usuário precisa encontrar respostas de modo rápido e com auxílio da interface, quando necessário; • PASSIVIDADE: é sempre o usuário quem deve ter o controle da interação na relação homemXmáquina; É possível perceber, por meio dos itens elencados, que a Engenharia de Software precisa estar atenta a diversas questões e todas elas voltadas ao usuário. Para tanto, a inteface deve ser natural e intuitiva: O que se deseja é uma interface que minimize o treinamento necessário, permitindo que o usuário inicie seu trabalho mais cedo. No entanto, a interação do ser humano com o computador não é natural, pois o homem não nasce com a capacidade de operar os dispositivos físicos e lógicos usados na interação com os computadores. Prova disso é a difi culdade encontrada por grande parte da população para operar terminais bancários. Natural e intuitiva para o usuário é aquela interface que se comporta de maneira semelhante a interfaces já conhecidas por ele. O conceito de natural e intuitiva está então, ligado a características de consistência ou que obedece a regras formuladas por ele durante os primeiros instantes de interação (SCHUHMACHER et al., 2017). É importante considerar as metas a serem propostas no momento de criação de um projeto de interface. Entre essas metas, podemos destacar: • Aumento da velocidade de aprendizado; • Aumento da velocidade de uso; • Redução na taxa de erros; • Proporcionar rápida recordação de como utilizar a interface; • Aumento da atratividade para potenciais usuários e compradores. Levando em conta tais metas, é importante que o Engenheiro de Software esteja atento no que diz respeito às facilidades proporcionadas pela interface. O usuário, nesse sentido, independentemente de quanto tempo fique sem acessar o sistema, precisa encontrar de modo fácil e intuitivo como tomar decisões relacionadas ao software, e quem proporciona essa facilidade é a interface. Caso não proporcione essa possibilidade de o usuário recordar facilmente os modos de execução de tarefas, a tendência é que não seja gerada atratividade. Uma boa maneira de se evitar problemas nesse sentido é o uso das linguagens de comandos, que proporcionam ao usuário que envie instruções distintas diretamente ao sistema. Leiam o pequeno texto abaixo: As interfaces baseadas em linguagens de comandos proporcionam ao usuário a possibilidade de enviar instruções diretamente ao sistema através de comandos específi cos [Preece et al., 1994]. Os comandos podem ser compostos por teclas de funções, por um único caractere, por abreviações curtas, palavras inteiras ou uma combinação de teclas e caracteres. Embora os comandos na forma de caracteres e teclas de função sejam disparados com um menor número de teclas 10Engenharia de software II digitadas, estes comandos são mais difíceis de lembrar do que um nome ou abreviação bem escolhida. As linguagens de comandos podem ser consideradas poderosas por oferecerem acesso direto à funcionalidade do sistema e por permitirem maior iniciativa do usuário e maior fl exibilidade na construção dos comandos através da variação de parâmetros e combinação de palavras e sentenças. Contudo, este poder e fl exibilidade implicam uma maior difi culdade dos iniciantes em aprender e utilizar o sistema. Os comandos e a sintaxe da linguagem precisam ser relembrados e erros de digitação são comuns mesmo nos mais experientes. A falta de padronização nos diversos sistemas é um fator importante na difi culdade de utilização deste estilo. Usuários especialistas, no entanto, conseguem maior controle do sistema e produtividade através de interfaces baseadas em linguagens de comandos. Ao se projetar uma linguagem de comando, deve-se levar em conta a organização e estrutura dos comandos, assim como os nomes e abreviações utilizados. Os comandos podem ser simples ou compostos de parâmetros e/ou opções. Deve-se considerar cuidadosamente a ordenação de parâmetros, tentando refl etir a estrutura da tarefa realizada. Quanto aos nomes e abreviações, deve- se dar preferência às palavras-chave em vez de símbolos aleatórios, e considerar cuidadosamente o nível de apresentação de cada comando, mantendo um equilíbrio entre especifi cidade e generalidade. Existem diversas estratégias de abreviação, como eliminação de variáveis, utilização das primeiras letras de uma palavra ou da primeira letra de cada palavra que descreve o comando, etc. Fonte: <https://www. dimap.ufrn.br/~jair/piu/JAI_Apostila.pdf>. Acesso em: 5 mai. 2017. A interação por meio de menus, que, por sua vez, indicam os comandos necessários e como acioná-los, é uma boa maneira de utilizar a linguagem de comando. Assim, tanto usuários sem experiência quanto usuários com experiência usufruem dessas facilidades. Pontos para basear o requisito de cooperatividade da interface: • DIFERENCIAÇÃO DO USUÁRIOS: captam- se as características de cada usuário por meio da interação. Essas características são utilizadas para tirar proveito do diálogo; • INFERIR OS OBJETIVOS DO USUÁRIO: guia- se o usuário por meio da interação para que esse consiga atingir seus objetivos; • ROBUSTO MECANISMO DE RECUPERAÇÃO DE ERROS: os erros do usuário são considerados, de modo que sejam utilizados para procurar soluções e que contribuam para que o usuário cumpra seu propósito; • REVERSABILIDADE: diz respeito à possibilidade de se desfazer operações que tenham provocado erros; • AJUDA INTERATIVA: o usuário tem, na interface, possibilidade de pedir ajuda quando tiver dificuldades. Petri (1993 apud Barros) estabelece os três estilos mais comuns de interface. Vamos conhecê-los? 1. WYSIWYG (What you see is what you get): neste estilo, a representação com que o usuário interage nas telas de interface é basicamente a mesma que a imagem fi nal criada pela aplicação. A maioria das aplicações gráfi cas interativas possuem algum componente nesta representação. Por exemplo, um editor de texto que imprime um caractere em negrito, também, o mostra neste mesmo formato no vídeo; 2. Representação icônica: Na representação icônica, os objetos, atributos ou relações, que podem ser operados, são representados de forma pictórica. Ícone é um símbolo caracterizado pela semelhança ou por analogia entre o símbolo escolhido e o que ele está representando. Este estilo de representação não está relacionado com a meta de manipulação direta, em que textos podem ser mais representativos que ícones, em certos casos; 3. Manipulação direta: Na manipulação direta, os objetos, atributos ou relações, que podem ser operados, são representados, visualmente, através de gráfi cos ou textos. Operações são invocadas por ações realizadas sobre a representação visual. Manipulação direta é um estilo de interação bastante explorado. Este estilo permite a substituição da sintaxe de comandos pela manipulação direta dos objetos de interesse. Manipulação direta traz o usuário mais próximo da semântica da aplicação. A metáfora utilizada é o ponto fundamental na manipulação direta. Ela deve ser sufi cientemente simples, para que o usuário a compreenda rapidamente, e ao mesmo tempo bastante sofisticada, para oferecer de forma natural, intuitiva e consistente todas as operações necessárias à tarefa do usuário. O desenvolvimento desta metáfora pode ser complicado, inclusive porque, muitas vezes, é difícil identifi car quais são os objetos a manipular (SANTOS, 2003, p. 24). Os três estilos elencados são bastante comuns e podem ser classificados como gráficos, por meio dos quais a interação é orientada graficamente. Há, ainda, outras formas de diálogos que não são gráficas, mas são utilizadas em aplicações gráficas, como veremos a seguir: SELEÇÃO DE MENUS: nesse tipo de interação, a cada passo, o usuário recebe as opções disponíveis, por meio de um menu. Há considerável redução da possibilidade de erro, tendo em vista que a digitação por parte do usuário também é menor. Com isso, a memorização também é menos exigida. LINGUAGEM DE COMANDOS: como já discutida acima, a linguagem de comandos permite que o usuário submeta um comando e aguarde a resposta do sistema. Há uma necessidade maior de memorização, tendo em vista que o usuário precisa recordar de conceitos. Por outro lado, o usuário tem maior sensação de controle. LINGUAGEM NATURAL: uma interação que utilize linguagem natural se define como a operação de computadores que faça uso de uma linguagem familiar. Não é preciso, para tanto, treinamento. Contudo, há problemas que se apresentam na interação via linguagem natural, como, por exemplo, há menos concisão na linguagem natural, assim, o usuário precisa digitar muito mais, o que pode gerar erros e estresse. CAIXA DE DIÁLOGO: muitas vezes, a entrada de dados via seleção de menus é bastante trabalhosa. Para tanto, utilizam-se as caixas de diálogo. Elas permitem funcionalidade 11 maior. Como as caixas de diálogo são constituídas por campos, a cada campo está associado um nome e um tipo que, por sua vez, determinarão o comportamento do campo. MENSAGENS DE ERRO: as mensagens de erro constituem uma etapa bastante importante, mas que, geralmente, é negligenciada. Elas fornecem a possibilidade de melhoria do sistema, mas, para isso, devem ser constituídas de modo a apresentar redução do tempo ao usuário, bem como aumento na satisfação em relação ao sistema. Assim, um mecanismo que oferte possibilidades de correção de erros é um aspecto fundamental de todas as interfaces. AJUDA: há, basicamente, dois tipos de ajuda. O primeiro é o auxílio (help) e diz respeito ao suporte dado ao usuário para manipular e exibir, quando necessário, informações a respeito do sistema. Pode ser ativo ou passivo, e irá depender das situações em que foi ou não solicitado pelo usuário. Muitas vezes, é possível que a interface dê conselhos aos usuários. O aconselhamento (advice-giving) está relacionado. Também se divide em ativo e passivo. A diferença entre eles é que o auxílio considera somente o presente e o passado da interação, e não consideram os objetivos e planos do usuário. Já o aconselhamento considera também o futuro da interação, levando em conta os objetivos e planos do usuário, bem como os efeitos das ações realizadas para selecionar e fornecer conselhos. É muito comum os usuários evitarem utilizar o help por algumas razões: • Dificuldade para encontrar informações; • Deficiência do software na transmissão de informações relevantes; • Dificuldade de ligação entre o help e o contexto do trabalho; • Complexidade da interface do help; • Qualidade e esquema de informações do help. Além dessas considerações, é importante levar em conta o modo com a informação será transmitida ao usuário, tendo em vista que dela dependerá o acesso rápido e a facilidade ofertada ao usuário. Portanto, o help será organizado da seguinte forma: • Help orientado ao objetivo: transmite ao usuário as principais funções suportadas pelo programa, especialmente, no que tange às funcionalidades que os usuários, geralmente, não notam. • Help descritivo: seu propósito é informar para o usuário o que significa os termos utilizados pelo software, e, também, o significado dos ícones. Deve responder: o que é isso? Para que serve isso? • Help de procedimento: utiliza procedimentos de modo a resolver o problema que os usuários enfrentam na tradução das intenções das linguagens utilizadas na interface. Relaciona-se às questões: como eu faço isso? • Help interpretativo: objetiva auxiliar na interpretação de mensagens do sistema. Deve responder: Por que isso aconteceu? Como isso aconteceu? • Help de navegação: está relacionado com aplicações complexas e com grande quantidade de informações, como software baseados em hipertexto. Deve responder à questão: onde eu estou? Além disso, ao se construir um sistema de help, devem ser os seguintes: 1. Help on-line nunca deveria ser um substituto para um bom projeto de interface; 2. Help deveria ser sensível ao contexto; não deve deixar o usuário na mão; 3. Sistema de help deveria socorrer o usuário formulando suas questões e dar diferentes auxílios para diferentes questões; 4. Sistemas de help deveriam ser dinâmicos e responsáveis; 5. Usuários não deveriam solicitar o help para conseguir ajuda. Retomando a aula Espero que vocês tenham aproveitado os conteúdos discutidos e que estejam gostando da discussão! Ao longo da disciplina, compartilhem suas impressões a respeito das aulas. Vamos recordar? Bom, pessoal, chegamos ao fi nal da primeira aula! 1 – Interface e usuário Discutimos sobre a interface. Tal aspecto nem sempre foi considerado relevante e, ao se analisar sua evolução, é possível perceber que somente nos últimos anos a interface foi considerada um componente importante. Essa demanda surgiu no momento em que o usuário das máquinas passou a ser um sujeito não especializado. Antes, como somente pessoas da área manipulavam as máquinas, não era algo necessário, visto que a interação homem X máquina se dava a partir de comandos. Certamente, essa situação é bastante diversa contemporaneamente. 2 – Projeto de interface Vimos sobre metas e questões a serem propostas no momento de criação de um projeto de interface. Entre as metas, podemos destacar: • Aumento da velocidade de aprendizado; • Aumento da velocidade de uso; • Redução na taxa de erros; • Proporcionar rápida recordação de como utilizar a interface; • Aumento da atratividade para potenciais usuários e compradores. 12Engenharia de software II OLIVEIRA, Frederico Bida de. Interfaces Usuário- Máquina. Disponível em: <https://sistemas.riopomba. ifsudestemg.edu.br/dcc/materiais/1618984280_Apostila- Interfaces-Homem-Maquina.pdf>. Acesso em: 4 mai. 2017. SCHUHMACHER, Vera Schuhmacher; CASTIÑEIRA, Niedersberg Maria Inés; SOUZA, Aidê Luzia A. de; CAMARGO, Roselane M. M. Avaliação da Interface do Auto-Atendimento das Agências do Besc: Uma Abordagem Ergonômica. Disponível em: <http://www. inf.furb.br/seminco/2003/artigos/129-vf.pdf>. Acesso em: 5 mai. 2017. Vale a pena Vale a pena ler Minhas anotações
Compartilhar