Você está na página 1de 5

Integrao entre as Disciplinas de Interface Homem-Mquina

(IHM) e Engenharia de Software


Isaac da Silva
Curso de Cincia da Computao: Faculdades Anglo Americano (FAA)
Foz do Iguau: PR: Brasil
isaac.s@outlook.com

Abstract. This paper analyzes the experience of integration across disciplines HumanMachine Interface and Software Engineering, showing integration of the concepts of each area
and the role of each of the disciplines
Resumo. Este artigo busca analisar a experincia de integrao entre as disciplinas de
Interao Homem-Mquina e de Engenharia de Software, mostrando integrao entre os
conceitos de cada rea e o papel de cada uma das disciplinas.

1. Introduo
A interface grfica uma parte importante do software, pois por meio dela que o usurio se
comunica. Quando mal construda compromete a utilizao do software pelo usurio.
Muitas vezes os alunos no conseguem entender qual a ligao entre as disciplinas do
currculo do curso. Em muitos casos, at mesmo os professores tm dificuldade em entender e
consequentemente em explicar estas relaes. A principal dificuldade est em identificar os limites
de disciplinas que trabalham com conceitos e mtodos semelhantes, como o caso de Engenharia
de Software e Interao Humano-Computador.
Com o objetivo de explorar a relao entre IHM e Engenharia de Software a proposta
desenvolver um projeto nico durante o semestre.

2. Interface Homem-Mquina
A Interface Homem-mquina (IHM) uma disciplina que estuda o projeto, evoluo e
implementao de sistemas computacionais interativos para o uso humano, alm disso estuda os
principais fenmenos relacionados a eles (HEWLET, 1996).
Aps definir qual o objetivo da interface a ser desenvolvida, existem regras a serem seguidas.
Essas regras so os princpios bsicos para o desenvolvimento da IHM e so aplicveis ao
desenvolvimento dos sistemas interativos. Eles surgiram atravs da experincia profissional,
portanto devem ser validados e refinados a cada projeto de IHM. So 8 as regras:
Consistncia: Sequncia de aes similares para procedimentos similares. Manter
um padro visual para as cores, layout e fontes. Utilizar a mesma terminologia em
menus.

Atalhos para usurios assduos: Teclas de atalho, macros e navegao simples


facilitam e agilizam a interao do usurio mais experientes com a interface.
Feedback informativo: Toda e qualquer ao do usurio requer uma resposta do
sistema, cujo qual ser mais ou menos explicativa dependendo do tipo de ao a ser
executada.
Dilogos que indiquem trmino da ao: As sequncias de aes do sistema devem
ser organizadas de tal forma que o usurio consiga entender os passos e saiba quando
cada um deles for executado com sucesso.
Preveno e tratamento de erros: A interface no pode dar vias para o usurio
cometer erros graves, e caso ocorram erros, devem haver mecanismos que tratem,
corrijam na medida do possvel, e caso no seja possvel, instrua o usurio para uma
possvel soluo.
Reverso de aes: Sempre que possvel, as aes devem ser reversveis, de forma
que tranquilize o usurio e lhe d mais coragem para explorar o sistema.
Controle: Os usurios mais experientes devem ter a sensao de dominar os
processos do sistema e que o sistema apenas responde a suas aes.
Baixa carga de memorizao: O sistema deve conter uma interface simples para
memorizao. Para isso requer uma boa estrutura e equilbrio para relacionar
elementos e facilitar a memorizao subjetiva das telas, sem exigir esforo.
Alm das 8 regras, existem tambm as heursticas de usabilidade. Usabilidade, definida na
norma ISO9241 sendo a capacidade que um sistema interativo oferece ao seu usurio, em um
determinado contexto de operao, para a realizao de tarefas de maneira eficaz, eficiente e
agradvel (ISO9241, 1993).
Em 1990, Jakob Nielsen, com a ajuda de Rolf Molich, desenvolveu as heursticas para
avaliao da usabilidade, mas somente em 1994, aps a anlise de 249 problemas de usabilidade,
foram determinadas as dez heursticas que eram mais representativas e claras, a este conjunto e que
foi chamado de as 10 heursticas de Nielsen (NIELSEN, 1993).

Visibilidade do estado do sistema: o sistema deve manter usurios informados sobre


o que est acontecendo, atravs de feedback adequado e no tempo certo;
Correspondncia entre o sistema e o mundo real: o sistema deve utilizar conceitos,
vocabulrio e processos familiares aos usurios;
Controle e liberdade do usurio: o sistema deve fornecer alternativas e sadas de
emergncia, assim como possibilidades de undo e redo;
Consistncia e padronizao: palavras, situaes e aes semelhantes devem
significar conceitos ou operaes semelhantes no sistema; caso haja convenes para
o ambiente ou plataforma escolhidos, estas devem ser obedecidas;
Preveno de erro: O sistema deve procurar evitar que o erro acontea, informando
o usurio sobre as consequncias de suas aes ou, se possvel, impedindo aes que
levariam a uma situao de erro;

Ajuda aos usurios para reconhecerem, diagnosticarem e se recuperarem de


erros: o sistema deve emitir mensagens de erro em linguagem simples, sem cdigos,
indicando precisamente o problema e sugerindo de forma construtiva um caminho
remediador
Reconhecimento em vez de memorizao: o sistema deve deixar objetos, aes e
opes visveis e compreensveis;
Flexibilidade e eficincia de uso: o sistema deve oferecer aceleradores e caminhos
alternativos para uma mesma tarefa; e permitir que os usurios customizem aes
frequentes;
Design esttico e minimalista: o sistema deve procurar evitar pores de informao
que no sejam teis. Cada unidade extra de informao em um dilogo compete com
as unidades de informao importantes e reduz sua visibilidade relativa;
Ajuda e documentao devem ser fceis de buscar, focadas no domnio e na tarefa
do usurio, e devem listar passos concretos a serem efetuados para atingir seus
objetivos.
Visando diminuir os impactos negativos de interfaces mal projetadas e minimizar a
ambiguidade na identificao e classificao das qualidades e problemas dos softwares interativos,
os pesquisadores Dominique Scapin e Christian Bastien propuseram oito critrios ergonmicos
principais, que se dividem em subcritrios e critrios elementares (CYBIS, 2007). Levar em
considerao esse conjunto de critrios facilita determinar qual aspecto do contexto de uso do
sistema deve ser priorizado, possibilitando uma melhor avaliao de usabilidade.
Segundo Cybis, Betiol e Faust (2007), critrios ergonmicos proporcionam o aumento da
sistematizao dos resultados das avaliaes de usabilidade de uma dada interface. Vale listar
alguns destes critrios: conduzir a interao, reduzir a carga de trabalho, fornece controle explcito
dos usurios, oferecer adaptabilidade aos diferentes tipos de usurios, gesto de erros ocorridos,
conservar homogeneidade/consistncia, adequar significado de cdigos e denominaes
linguagem clara e compatibilidade.

3. Engenharia de Software
Na literatura, pode-se encontrar esta definio da Engenharia de Software:
"O estabelecimento e uso de slidos princpios de engenharia para que se possa
obter economicamente um software que seja confivel e que funcione eficientemente
em mquinas reais" (PRESSMAN, 1995).
Para atingir o objetivo do desenvolvimento que a obteno de um produto de software de
alta qualidade a um custo relativamente baixo, foram criados vrios mtodos para definir as etapas
a serem conduzidas e inter-relacionadas no desenvolvimento de software. As principais etapas e
so:

Processo de Software: enfoca os processos de software, os elementos que compem


um processo, a definio de processos para projetos, modelos de processo, normas e
modelos de qualidade de processo de software e a automatizao do processo de
software.
Planejamento e Gerncia de Projetos: so abordadas as principais atividades da
gerncia de projetos, a saber: definio do escopo do projeto, estimativas, anlise de
riscos, elaborao de cronograma, elaborao do plano de projeto e acompanhamento
de projetos.
Gerncia da Qualidade: trata das principais atividades de garantia da qualidade,
incluindo a medio e mtricas associadas, revises e inspees e a gerncia de
configurao de software.
Especificao e Anlise de Requisitos: so discutidos o que um requisito de
software e tipos de requisitos. A seguir, so abordadas a especificao e a anlise de
requisitos, usando o mtodo da Anlise Essencial de Sistemas como base.
Projeto de Sistema: aborda os conceitos bsicos de projeto de sistemas, tratando da
arquitetura do sistema a ser desenvolvido e do projeto de seus mdulos, segundo a
abordagem do Projeto Estruturado de Sistemas.
Implementao e Testes: So enfocadas as atividades de implementao e testes,
sendo esta ltima tratada em diferentes nveis, a saber: teste de unidade, teste de
integrao, teste de validao e teste de sistema.
Entrega e Manuteno: Discute as questes relacionadas entrega do sistema para
o cliente, tais como o treinamento e a documentao de entrega, e a atividade de
manuteno do sistema.

4. A Integrao
Para ter a experincia melhor em integrar as disciplinas de Interao Homem-Mquina e de
Engenharia de Software e conseguir resultados positivos no apenas para os alunos, mas tambm
para os professores, os projetos podem ser propostos pelos prprios alunos, fazendo com que eles
se sintam mais interessados no projeto.
Os alunos tambm podem atuar como usurios nas avaliaes do projeto dos trabalhos de
seus colegas. Assim, podero ter um contato mais prximo com os sistemas desenvolvidos pelas
outras equipes gerando ideias para os prprios sistemas.
Com o passar dos semestres os professores podem ir refinando e melhorando a integrao entre as
disciplinas e buscando melhores metodologias de ensino para aplicar os conceitos e mtodos abordados em
cada projeto. Professores de outras disciplinas tambm podero fazer parte do projeto, visto que no
desenvolvimento de alguns projetos, podem haver conceitos e mtodos de cincia da computao que so
abordados em outras disciplinas.

5. Concluso
O projeto de integrao entre as disciplinas, pode oferecer uma grande oportunidade de
ensino e aprendizagem. At mesmo os professores de outras disciplinas que no tiveram contato
com a rea de IHM em sua formao e no compreendem qual exatamente a insero desta
disciplina nos cursos de Cincia da Computao, podero ter oportunidade de aprender conceitos
destas disciplinas.

Referncias
HEWETT, Thomas T. et al. Curricula for Human-Computer Interaction.. Disponvel em:
http://www.sigchi.org/cdg/index.html. Acesso em: 13 jul. 2015
ISO9241. (1993), Ergonomics of Human System Interaction. ISO - International Organization for
Standardization.
NIELSEN, J. (1993), Usability Engineering. Boston: Academic Press.
CYBIS, Walter; BETIOL, Adriana Holtz; FAUST, Richard. (2007), Ergonomia e usabilidade:
conhecimentos, mtodos e aplicaes. So Paulo: Novatec Editora.
PRESSMAN, Roger S. "Engenharia de Software ", 3a. Ed., McGraw-Hill/Makron Books do Brasil, So
Paulo, 1995.