Buscar

Engenharia de Software II - Aula 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

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

Outros materiais