Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Interao Humano-Computador
Resumo: A rea de Interao Humano-Computador (IHC) objetiva projetar e
desenvolver sistemas com alta usabilidade. Do mesmo modo, a rea de Engenharia de
Software (ES) objetiva projetar e desenvolver sistemas com alta qualidade. A fim de se ter um
processo de desenvolvimento de software com qualidade bem como o produto desenvolvido
com usabilidade, importante se discutir o que qualidade representa em cada uma destas
reas. Mais especificamente, este artigo visa mostrar que necessrio integrar os princpios,
tcnicas de ES e IHC em um integrado processo de desenvolvimento de sistemas.
Palavras-chaves: Princpios de desenvolvimento de sistemas. Qualidade em ES.
Qualidade em IHC.
Abstract: Human-Computer Interaction (HCI) aims to design and develop highusability software. Analogously, Software Engineering (SE) aims to design and develop highquality systems. In order to achieve both software usability and software process quality, it is
paramount to discuss what quality is for each area. More specifically, this work aims to show
that it is necessary to integrate HCI and ES principles and techniques into a same
development process of systems.
Key words: Principles of software development; Quality in ES; Quality in HCI.
Tipo do artigo : trabalho tcnico
1. Introduo
Na comunidade profissional de desenvolvedores de software, estudos realizados na rea de
Engenharia de Software (ES) (como: os processos e linguagens unificados com diretrizes de
acompanhamento) auxiliam a garantir a qualidade de um processo de desenvolvimento de um
sistema. Porm, estudos realizados na rea de Interao Humano-Computador (IHC) (como:
fatores humanos, que ajudam a definir o contexto de uso de um sistema pelo usurio,
recomendaes ergonmicas, que permitem determinar formas adequadas de apresentao de
informao nas telas, etc.) e as prticas existentes (como: projeto participativo, centrado no
uso (Constantine et al, 2003)) vm atraindo cada vez mais ateno da comunidade acadmica.
Isto devido ao fato da rea de IHC objetivar projetar, avaliar e implementar sistemas
interativos para uso humano com foco na usabilidade qualidade de uso tal como percebida
pelo usurio, e.g. facilidade de uso e aprendizado (Furtado & Barbosa, 2003). Enquanto que, a
rea de ES objetiva projetar, avaliar e implementar sistemas interativos com qualidade,
concentrando-se em cronograma, oramento, comunicao e produtividade (Boggs, 1999).
Para se atingir estes dois objetivos, as comunidades envolvidas esto consciente de que
mtodos, modelos e ferramentas especficos de cada rea deveriam ser integrados.
Diversas iniciativas (UPi (Sousa & Furtado, 2003), (Xerre 2003), (Paula & Barbosa, 2003))
so voltadas integrao destes estudos e prticas em um processo integrado de
____________________________________________________________________________
Engenharia de Software
teste, e manuteno. Alm disto, um mtodo inclui um conjunto de princpios bsicos, regras,
recomendaes de projeto e diretrizes de processos, que ajudam a bem definir os requisitos
para um software. Alguns requisitos no-funcionais que contribuem para a qualidade de um
software construdo so os seguintes: confiabilidade, funcionalidade, usabilidade,
manutenibilidade, desempenho e portabilidade.
As ferramentas que promovem um suporte automtico ou semi-automtico para processos e
mtodos so conhecidas como ferramentas CASE (Computer-aided software engineering) e
combinam software, hardware e base de dados para a gerao de um ambiente de engenharia
de software.
De uma forma geral, durante um PDS, algumas questes devem ser respondidas:
-
O Rational Unified Process (RUP) (Kruchten, 2000) um exemplo de processo voltado para a
qualidade de software, que auxilia desenvolvedores a responderem estas questes. Este
processo se baseia nas melhores prticas de desenvolvimento de software (tais como:
desenvolver software de forma iterativa, gerenciar requisitos, utilizar arquiteturas baseadas
em componentes) consideradas como tal por serem utilizadas comumente em organizaes
bem sucedidas.
Entretanto, seguir estas prticas e estratgias no garante a usabilidade. Prticas devem ser
adotadas que integrem mtodos, modelos e tcnicas estudados em IHC com aqueles estudados
em ES.
2.3.
Interao Humano-Computador
____________________________________________________________________________
a necessidade que o usurio tem que o sistema seja agradvel, divertido, etc.)
(Preece, 2002).
2.4.
Anlise Comparativa
A tabela 1 ilustra uma comparao que abrange as duas reas citadas. A necessidade de se
estudar aspectos relativos ao desenvolvimento sistemtico de um software e o gerenciamento
do seu processo de desenvolvimento surgiu na dcada de 70. Enquanto que a disciplina de
IHC surgiu uma dcada depois, objetivando resolver problemas de usabilidade. A qualidade
para ES est diretamente ligada ao gerenciamento do processo para que se obtenha produtos
com mais qualidade. No entanto, um processo com qualidade no garante a qualidade do
produto gerado. Para IHC, o foco est na qualidade de uso.
Os modelos desenvolvidos em ES dizem respeito modelagem das entidades e funes da
aplicao, enquanto que em IHC, os modelos so mais concretos, representando
caractersticas pertinentes interao entre um usurio e um SI (tais como: suas tarefas,
estrutura navegacional entre as telas, etc.). Isto porque, usurios preferem modelos que
possam ser capazes de faz-los entender o impacto que o novo sistema ter sobre eles.
Enquanto em ES, desenvolvedores requerem modelos abstratos que possam ajud-los a saber
o que implementar. Quanto s caractersticas do produto, na ES pretende-se desenvolver um
produto que atenda todos os requisitos estabelecidos, enquanto que em IHC, deve-se atender
os requisitos de usabilidade levando-se em considerao os padres de usabilidade prexistentes.
Quanto aos modelos de ciclo de vida, na ES destacam-se os modelos em cascata (Royce,
1970), que evidencia a seqncia em cascata de uma fase para outra e o espiral (Boehm,
1988), que representa um PDS em muitos loops permitindo a avaliao e reduo de riscos.
Em IHC, existem dois modelos: modelo em estrela (Hix & Hartson, 1993), cuja atividade
central a avaliao e o incio de um PDS pode acontecer por qualquer uma das demais
atividades (projeto, implementao, etc.) e o modelo de engenharia da usabilidade (Mayhew,
1999), que composto de trs fases: iniciao, desenvolvimento e transio. Na primeira fase,
um guia de estilo j definido. Durante as diversas iteraes na fase de desenvolvimento, este
____________________________________________________________________________
Engenharia de software
Interao HumanoComputador
Origem
Dcada de 70
Dcada de 80
Foco
as entidades e funes da
aplicao
as tarefas, a navegao, a
interao
Cascata, espiral
Estrela e de Usabilidade
Caractersticas do produto
Uso de Padres
De Projeto (apoio
modelagem e
implementao da
aplicao)
De Usabilidade (apoio
ergonmico modelagem
das interfaces)
____________________________________________________________________________
A seguir, ser feita uma reflexo sobre a integrao de princpios de ES e IHC para se obter
sistemas com mais qualidade e mais usveis.
3. Reflexo sobre a Integrao da Engenharia de Software e Interao HumanoComputador
3.1.
1999). Neste princpio, o envolvimento dos usurios seletivo, ou seja, existe a necessidade
de comunicao entre usurios e projetistas, que precisam entender os usurios para definirem
como acontecer o uso do sistema. Depois, os projetistas, e no os usurios, fazem a validao
dos modelos e a inspeo de usabilidade atravs da aplicao de mtricas de qualidade. O
PDS possui uma abordagem sistemtica, iterativa e dirigida por modelos.
A escolha entre estes princpios depende dos tipos de usurios em questo e da habilidade dos
projetistas de envolverem os usurios durante um PDS e/ou para modelarem um SI. Existem
problemas com relao participao do usurio (tais como: usurios podem no ser
conhecidos e/ou acessveis, eles podem ter dificuldade de comunicao com os projetistas,
etc.). Mas existem tambm dificuldades na aplicao do projeto centrado no uso. As mtricas
de qualidade devem ser baseadas em princpios ergonmicos, muitos projetistas no verificam
facilmente a aplicao destes princpios e preferem que os usurios, eles mesmos, testem o
prottipo.
Gerao de um SI baseada em modelos
Existem algumas formas de se gerar um SI, as quais destacam-se a gerao baseada em
cdigo e a gerao baseada em modelos. No primeiro caso, distinguem-se duas pocas. A
poca dos anos 70, em que um PDS era dirigido pela experincia e talento do desenvolvedor
tendo como foco a implementao, e a poca atual, em que se destacam os processos geis.
Num processo gil, como Extreme Programming - XP (Beck, 1999), se privilegia a fase de
projeto depois da realizao das fases de levantamento de requisitos, teste e codificao, onde
gerada uma verso ou prottipo do sistema. Enfim, primeiro se testa e valida com o cliente o
que foi levantado e depois se faz o projeto, verificando o que tem a ser acrescentado verso
anterior. No existe a prtica de realizar modelos.
Mesmo que existam na literatura, iniciativas bem sucedidas de processo gil, verifica-se que
elas no tm foco na usabilidade. O foco est na viso pragmtica de colaborao com
diversos stakeholders (equipe de desenvolvimento, cliente, usurio), a fim de atender as
necessidades do cliente dentro de prazos e oramento que vo se definindo medida que um
PDS vai sendo realizado. Fazer um projeto iterativo e incremental (ver prx. item), bem como
usar prottipos podem melhorar esta situao. Outra caracterstica que dificulta a adoo
desses processos diz respeito dificuldade de equipes, que no participaram da construo de
um SI, em suportarem a evoluo deste sistema, devido pouca especificao formal das
decises de projeto.
A adoo de modelos (como modelo de casos de uso e diagrama de colaborao) ajuda
desenvolvedores a representarem especificaes genricas (como as necessidades dos
usurios) e especificaes detalhadas (como a troca de mensagem entre objetos que
colaboram), respectivamente. Uma vez representadas as especificaes, possvel fazer a
integrao entre elas. No prximo item, sero mostrados os modelos de ES que podem ser
____________________________________________________________________________
integrados aos modelos de IHC, para a descrio de requisitos. Outra vantagem de se usar
modelos, a possibilidade de se fazer matrizes de rastreabilidade, auxiliando na realizao de
testes, implementao e manuteno de um SI. Existem na literatura de IHC vrias
ferramentas que geram interfaces de forma automtica a partir de modelos (tal como:
ARTStudio (Thevenin 2001)), porm ainda no existe nenhuma ferramenta comercial
disponvel. A ferramenta CASE ROSE permite a gerao de scripts de classes a partir dos
modelos de dados.
Processo iterativo, incremental e evolutivo
J consenso nas reas em estudo, que um PDS deve ser iterativo (com ciclos, compostos de
fases de um PDS, sendo realizados diversas vezes) e incremental (a cada ciclo, novas
funcionalidades so acrescidas verso anterior). Diante disto, estes tipos de modelos de
ciclos de vida (como espiral, cone (Furtado & Soares, 2003)) tm influenciado na descrio
de processos, como RUP e UPi (Sousa & Furtado, 2003) respectivamente.
Alm disto, os processos devem garantir a possibilidade de se realizar mudanas de forma
contnua, em tempo hbil e mantendo a coerncia com as outras decises j tomadas. Isto
porque existe atualmente uma necessidade para se assegurar continuamente a qualidade de um
SI j entregue ao cliente, devido s mudanas tecnolgicas e do contexto organizacional e
devido evoluo das necessidades do usurio. A evoluo das necessidades do usurio
(como uma mudana de prtica e mtodo de trabalho) pode envolver modificaes das
caractersticas do sistema, como por exemplo, de decises de projeto.
No prximo item, sero mostradas iniciativas que integram artefatos e tcnicas de IHC e ES
durante somente as atividades de modelagem e de validao de requisitos para gerar
interfaces. Esta restrio se deu devido s limitaes de tamanho deste artigo.
3.2.
cenrio, que se refere a uma narrativa que descreve situaes sobre as pessoas (seu
papel, caractersticas) realizando atividades dentro de um ambiente para
alcanarem seus objetivos. O uso de cenrios se trata de uma metfora facilmente
aceita pelos usurios que os encoraja a participar de um PDS. Assim, facilitando a
validao de suas necessidades;
storyboard, que um esquema ilustrativo para representar uma seqncia de
comportamentos de um sistema em desenvolvimento com uma descrio
contextual. Isto permite a explorao e discusso de diferentes escolhas de projeto
das interfaces conceituais (Furtado, 1999);
caso de uso; dentre as definies existentes em ES, destaca-se que um caso de uso
representa a funcionalidade que um SI tem que realizar para retornar um resultado
de valor para um ator (tais como: um usurio, ou outro sistema) e;
tarefa; na concepo de interfaces, uma tarefa especifica o conjunto de atividades
que o usurio e/ou o SI deve executar para que um determinado objetivo seja
alcanado. A estrutura organizacional hierrquica dos modelos de tarefa permite
acompanhar claramente a seqencialidade e concorrncia entre as tarefas.
3.2.2. Iniciativas que integram IHC e ES para gerar interfaces considerando requisitos
funcionais
Iniciativas existentes de gerao de interfaces considerando requisitos funcionais descrevem
formas diferentes de se usar cenrios, storyboards, casos de uso e tarefas. Estas formas dizem
respeito como estes artefatos so integrados, especificando que informaes de um so
mapeadas em outro artefato e em que atividades de um PDS eles so usados. A seguir, sero
descritas algumas iniciativas.
Sutcliffe (2002) descreve um mtodo para fazer a modelagem e validao de requisitos
baseada em cenrios. O objetivo desta fase identificar os requisitos com a participao do
usurio, numa abordagem de projeto centrado no usurio. Os requisitos identificados atravs
dos cenrios so discutidos e expressos em storyboards. O prximo passo analisar a
viabilidade dos requisitos de usabilidade fazendo um estudo sobre as opes de projeto
usando rvores de deciso. Em seguida, prottipos so usados para facilitar na validao dos
requisitos.
Numa abordagem centrada no uso, Constantine e seus colegas (2003) propem um mtodo
gil com o objetivo de gerar rapidamente a interface a partir de requisitos modelados em task
case ou caso de uso essencial Este conceito se refere, principalmente, a uma simplificao do
conceito de caso de uso, no que diz respeito descrio do fluxo de eventos. Nesta descrio,
expressas em cartes, devem constar, de forma sucinta, as intenes do usurio com as
____________________________________________________________________________
____________________________________________________________________________
4. Concluso
Este artigo objetivou iniciar uma discusso sobre a qualidade na Engenharia de Software e na
Interao Humano-Computador considerando os conceitos, princpios, tcnicas e artefatos
usados em cada rea. Mostrou-se que a integrao destas reas vem acontecendo, mesmo que
ainda de forma to restrita, devido falta de ferramentas e de envolvimento entre as equipes,
s formas diferentes de se modelar informaes, no convergncia de princpios, etc.
Props-se que iniciativas sejam realizadas para se pensar sobre um PDS totalmente integrado.
Estas iniciativas poderiam se manifestar de diversas formas, como atravs de workshops e de
artigos cientficos publicados, havendo a apresentao de exemplos prticos e com resultados
concretos para a qualidade e usabilidade, bem como o envolvimento de empresas e da
academia
Estas iniciativas poderiam ajudar desenvolvedores a tirarem suas prprias concluses, em
funo das especificidades de cada projeto a ser desenvolvido, sobre as seguintes questes:
Que tipos de modelos e tcnicas de IHC e ES podem ser considerados num processo
integrado de desenvolvimento de software? Quando e como pode ser realizada esta
integrao? Como esta integrao pode contribuir para se obter softwares mais usveis e um
processo com mais qualidade? Quais so as vantagens e desvantagens deste processo
integrado de desenvolvimento de software? Como fazer com que os envolvidos (analistas,
ergonmos, web designers) participem mais e integrem suas atividades?
Referncias Bibliogrficas
Ambler, S.W. (1997). Anlise e projeto Orientados a objeto. IBPI Press.
BECK, K. C. (1999). Extreme Programming Explained: Embrace Change. Addison-Wesley
Pub Co; 1st edition.
Boehm, B.W. (1988). A spiral model of software development and enhancement. IEEE
Computer, 21(5).
Boggs W., (1999). Mastering UML with rational Rose, Sybex.
Constantine L., Windls, H., Nolbe, J., Lockwood. L. (2003). From abstraction to realization
in User Interface Designs: Abstract Prototype Based on Canonical Abstract Components.
Working paper on Tutorial Usage-centered Software Engineering. ICSE03. Portland.
Oregon.
Coutaz J., (1994). A reference model for the software design of interactive systems.
Ferre X., (2003). Integration of Usability Techniques into the Software Development Process.
In ICSE03 (International Conference on Software Engineering). Portland, Oregon. May.
Furtado, E., Barbosa S., (2003). Reflexo sobre a Integrao de Modelos, Tcnicas e Mtodos
de IHC e ES em um Processo de Desenvolvimento de Software. In WIHC-ES2003.
____________________________________________________________________________
Furtado, E., Soares, S. K., (2003). Furtado, Elizabeth; Sousa, Kenia. A User Interface
Generation Process Based on the RUP and Represented in a New Spatial Organization.
Available in: <http://ead.unifor.br>. Accessed in: October 15, 2003.
Gamma et al, (1995). Gamma, E; Helm, R; Johnson, R; Vlissides, J. Design Patterns
Elements of Reusable Object-Oriented Software. London: Addison-Wesley, 1995.
Hix D., Hartson, R. (1993). Developing User Interfaces. Wiley.
Kruchten, P. (2000). The Rational Unified Process: An Introduction. 2 ed. New Jersey:
Addison-Wesley,
Mayhew D.J. (1999). The usability engineering lifecycle. San Francisco: Morgan Kaufmann.
Paula, M. Barbosa, S.D. J., (2003). Interaction Modeling as a Resource for Software
Specification. In WIHC-ES2003. Rio de janeiro. Agosto.
Pimenta, M.S. Vedoato R., (2003). Use cases and Scenarios: a teleological approach aiming
the integration of HCI and SE perspectives. In WIHC-ES2003. Rio de janeiro. Agosto.
Preece J., Interaction Design: Beyond Human-computer interaction. 2002.
Pribeanu, Costin; Vanderdonckt, Jean. A Pattern-Based Approach to User Interface
Development. In: Proc. Of 9th Conf. On Human-Computer Interaction HCI International
2003, Vol. 4, Lawrence Erlbaum Associates, 2003, pp. 1524-1528.
Rocha H. V., Baranauskas, C., (2003). Design e Avaliao de Interfaces HumanoComputador. Unicamp SP.
Royce, W.W. (1970). Managing the development of lage software systems: concepts and
tecnhiques. Proc. IEEE Weston, Los Angeles, CA.
Silva J., Olher M., Jnior, S. (2003). Virtual reality and Reengineering: Challenges for the
software process based on a single vision of SE and HCI. In WIHC-ES2003. Rio de janeiro.
Agosto.
Soares, S. K., Furtado, E.. (2003). A Unified Process for Interactive Systems. In WIHCES2003. Rio de janeiro. Agosto.
Sommerville I.,(2003). Engenharia de Software, 6 edio. Addison Wesley.
Suarez P. R. (2004). Gesto do conhecimento no processo de concepo de IHC e uma nova
abordagem para a obteno de uma especificao conceitual da interao. Dissertao de
mestrado. UFCg.
Sutcliffe, A, (2002). User-Centred requirements engineering. Theory and Practice. SpringerVerlag. London.
Thevenin D. (2001). Adaptation en Interaction Homme-machine: le cas de la plasticit. Phd
Thesis of the University Joseph-Foureier Grenoble I.
Vanderdonckt J., (1999). Developing Milestones toward a Tool For Working With
Guidelines. Interacting with Computers 12, 2. (pp 81-118).
____________________________________________________________________________