Anda di halaman 1dari 6

Construção e Manutenção Baseadas em Modelos de Interfaces 

para Usuários em Sistemas de Informação
Sofia Larissa da Costa 1,*
 
Orientador: Juliano Lopes de Oliveira1
1
Instituto de Informática – Universidade Federal de Goiás (UFG)
Caixa Postal 131 – Campus II – CEP 74001­970 – Goiânia – GO – Brazil
Nível: Mestrado 
Programa de Mestrado em Ciência da Computação
Universidade Federal de Goiás – UFG
{sofia,juliano}@inf.ufg.br 
Ingresso: Março de 2009
Previsão de Conclusão: Setembro de 2010
Etapas concluídas: Defesa de proposta, seminário de andamento

Resumo. A construção de interfaces de usuário para Sistemas de Informação 
(SI)   envolve   modelagem   e   codificação   de   aspectos   de   aparência  
(apresentação) e comportamento (forma de interação). Este trabalho propõe 
uma   abordagem   baseada   em   modelos   para   construção   dessas   interfaces  
através de ferramentas de transformação automática de modelos e de geração  
de código de interface. Para isso, o projeto introduz o conceito de estereótipo 
de   interface,  que  identifica,  em   alto   nível   de  abstração,  características  de  
aparência e comportamento da interface, independentemente da aplicação do  
Sistema   de   Informação   subjacente.   Uma   taxonomia   para   elementos   de  
interface é proposta como base para a definição de estereótipos. Também é 
proposto um mecanismo para especificação do comportamento da interface  
utilizando a linguagem OCL, que permite expressar restrições e regras sobre 
estereótipos   de   interface   de   maneira   precisa,   objetiva   e   independente   da 
plataforma de implementação da interface. A construção baseada em modelos 
proposta   neste   trabalho   traz   benefícios   em   termos   de   esforço   e   tempo   de  
construção, e facilita a manutenção e evolução de interfaces de usuário em SI. 
Além disso, o uso de estereótipos promove a consistência e a padronização,  
tanto da apresentação quanto do comportamento das interfaces, melhorando  
a usabilidade dos Sistemas de Informação.

Palavras­chave:  Interfaces   de   usuário   em   Sistemas   de   Informação; 


Desenvolvimento baseado em modelos; Modelagem de interface de usuário; 
Estereótipo de interface; Construção automática de interfaces de usuário.

_________
*Com auxílio financeiro da CAPES
1. Introdução
O desenvolvimento de Interfaces de Usuário (IU) em aplicações interativas de Sistemas
de Informação (SI) envolve a modelagem de um conjunto de atividades que o usuário
deve realizar, do relacionamento entre elas, e da forma que será utilizada para apresentar
atividades e informações ao usuário. A complexidade dessa modelagem, e da
implementação do modelo resultante, faz com que a construção de interfaces de usuário 
para SI sejam um desafio permanente. 
A   abordagem   tradicional   para   desenvolvimento   de   interfaces   consiste   no 
mapeamento manual das necessidades do usuário para linguagens computacionais. Para 
minimizar   as   dificuldades   desse   mapeamento,   surgiu   a   abordagem   de   construção 
automatizada   de   interfaces   de   usuário   [Oliveira   et   al   1995].  Neste   contexto   o 
Desenvolvimento Dirigido por Modelo (MDD – do inglês Model­Driven Development), 
propõe a transformação automática de modelos de alto nível de abstração em código 
executável [Mellor et al 2003]. 
Apesar dos avanços obtidos, a comunidade de MDD não tem dado suficiente 
atenção aos aspectos de IU, o que tem limitado a criação de soluções mais completas 
[Obrenovic e Starcevic 2005].   Por   exemplo,   um   dos   efeitos   benéficos   da   geração 
automática de interfaces é a separação entre o componente de interface e a lógica da 
aplicação [Nichols e Faulring 2005], promovendo a manutenibilidade de SI.
Além das dificuldades comuns da transformação de modelos, o uso de MDD no 
contexto de IU enfrenta desafios específicos, tais como [Molina 2004, Vanderdonckt 
2008]: a modelagem de um vasto conjunto de eventos relacionados ao comportamento 
de interfaces; a complexidade da geração automática de interfaces não convencionais 
(isto é, não baseadas em janelas, ícones, menus e ponteiros); a qualidade das interfaces 
geradas   em  comparação  com   as   manufaturadas;   a  necessidade   de   personalização   de 
interfaces; e a falta de integração com a lógica de negócio.
O projeto de mestrado aqui descrito tem por objetivo a investigação de soluções 
para alguns desses desafios, e está estruturado da seguinte forma: a Seção 2 sintetiza as
propostas do trabalho; a Seção 3 discute a metodologia planejada e o estado atual de
desenvolvimento da pesquisa; a Seção 4 analisa trabalhos correlatos; e a Seção 5
apresenta considerações finais e as contribuições esperadas do projeto.

2. Proposta do Trabalho
Uma   ferramenta   para   construção   automática   de   interfaces   deve   possibilitar   que   a 
interface seja descrita por meio de modelos de IU que representam a aparência e o 
comportamento   da   interface.   No   entanto,   as   ferramentas   de   geração   de   IU   atuais 
oferecem suporte adequado apenas para a descrição da aparência da interface.
O presente trabalho busca minimizar esta limitação, propondo um modelo para 
representação das características de aparência e comportamento de IU em SI. A proposta 
é baseada no conceito de  Estereótipo de Interface, que consiste em uma abstração da 
intenção da interface, independente da aplicação ou do SI subjacente. Este conceito é 
uma extensão do conceito de  Contexto de  Design, apresentado em [Van Welie 2010], 
que   identifica  domínios  de  aplicação  de  interfaces  com   base  em  uma  Biblioteca  de 
Padrões para Design de Interação. 
Este trabalho propõe uma taxonomia para especificação de elementos de IU em 
nível conceitual. Para cada elemento da taxonomia definem­se padrões de apresentação, 
bem como para o comportamento esperado dentro de cada estereótipo de interface. 
O comportamento de um elemento da interface é definido como uma Regra de
Negócio, definindo restrições relacionadas aos estados e processos das operações do
negócio subjacente aos SI [Herbst 1997]. Desta forma, cada comportamento de um
elemento de interface é especificado como uma ação da interface ativada após a
ocorrência de um evento (do usuário ou do SI). A ativação do comportamento pode
depender de condições referentes, por exemplo, ao estado em que se depara a interface.
O gerenciamento das regras que definem os comportamentos da interface será a
feito com base no framework proposto em [De Almeida et al 2009], que armazena,
gerencia, visualiza e avalia regras de negócio em um modelo independente de
plataforma. Com a utilização dessa ferramenta será possível automatizar o processo de
gerência de comportamento de interface através da utilização da linguagem OCL, que
surgiu para expressar aspectos dinâmicos do mundo real em modelos abstratos,
tornando-os mais completos [Clark e Warmer 2002].
O framework de [De Almeida et al 2009] permite que regras de negócio sejam
descritas em linguagem OCL, transformando-as em código fonte em uma plataforma
específica. Assim os comportamentos da interface serão modelados como regras e
mapeados para código com base no framework citado.
A ligação entre o comportamento e os objetos de interface propriamente ditos
será controlada pelo modelo de IU (Metadados de Interface) proposto neste trabalho.
Cada estereótipo de interface para a aplicação define quais objetos devem ser criados, e
associa estes objetos ao comportamento descrito nas regras (Metadados de Lógica de
Negócio) de interação.
Dessa forma, tanto a aparência quanto o comportamento da interface serão
modelados de forma abstrata, através de metadados, com o código da interface sendo
gerado automaticamente pela ferramenta que será implementada neste projeto, e pelo
framework que gerencia as regras de negócio. Logo, qualquer alteração no modelo de
IU será automaticamente propagada para a implementação, como mostra a Figura 1.

Figura 1. Visão Geral da Arquitetura para Geração de IU em SI

3. Metodologia e Estado Atual do Trabalho
A metodologia de pesquisa adotada neste trabalho define seis atividades principais: 1) 
Estudo Teórico; 2) Requisitos; 3) Design; 4) Construção; 5) Validação; e 6) Redação. 
      O Estudo Teórico e a investigação de modelos e ferramentas para geração de 
interfaces baseada em modelos já foram realizados, concluindo a primeira atividade do 
trabalho.   O   resultado   desta   atividade   foi   analisado,   permitindo   a   identificação   das 
características   importantes   que   servem   de   requisitos   para   o   desenvolvimento   deste 
projeto e concluindo, dessa forma, a segunda atividade do trabalho. 
No   Design   foi   desenvolvido   o   projeto   arquitetural   e   detalhado   da   solução, 
contemplando   as   características   identificadas   na   atividade   anterior,   e   esta   atividade 
encontra­se parcialmente realizada. Os esforços do projeto concentram­se na conclusão 
do projeto detalhado de componentes da ferramenta de geração de interfaces. Foram 
desenvolvidos   a   Arquitetura   e   o   Meta­Modelo   de   Interfaces,   que   descreve   o 
comportamento e a aparência de uma interface em nível conceitual. 
Após concluir o projeto detalhado da ferramenta, o trabalho deve prosseguir em 
direção à implementação do software, na fase de Construção. A ferramenta construída 
deverá ser integrada com o framework de gestão de regras de negócio.
Na Validação será realizada a integração com o framework e testes baseados em 
análises quantitativas e qualitativas da solução implementada e ajustes nesta solução. 
Essas análises deverão ser efetuadas a partir da aplicação da ferramenta para a geração 
de   interfaces   de   usuário   em   Sistemas   de   Informação   reais,   e   da   comparação   das 
interfaces   geradas   com   aquelas   construídas   manualmente   para   estes   sistemas.   A 
Redação da Dissertação acontece de forma concorrente com as demais atividades, e vem 
sendo realizada de forma incremental desde a concepção do projeto.

4. Trabalhos Relacionados
Geração   de   interfaces   baseadas   em   modelos   têm   recebido   atenção   da   comunidade 
científica   há   muito   tempo   [Oliveira   et   al   1995].   Entretanto,   este   processo   ainda 
representa   um   desafio,   principalmente   com   relação   ao   comportamento   e   aspectos 
dinâmicos da interface gerada [Vanderdonckt 2008].
Nesse sentido, foram selecionadas as seguintes características de qualidade para 
construção   de   IU   [Molina   2004,   Vanderdonckt   2008]:   integração   com   a   lógica   de 
negócio, pois a IU por si só não é o suficiente para construir aplicações executáveis; 
nível de abstração e generalidade do modelo para especificação da interface, que tornam 
a especificação da IU independente de uma tecnologia; tipos de IU geradas dependendo 
do   contexto   de   negócio;   e   suporte   a   aspectos   dinâmicos   e   comportamentais,   que 
respondem à interação do usuário.  Assim, entre as ferramentas relacionadas encontram­
se FastInterface [De Oliveira e Lula Jr 2009], GDIG  [Da Silva e de Oliveira 2009], 
Merlin [Mrack et al 2006] e WebRatio [Bozzon et al 2006].
FastInterface [De Oliveira e Lula Jr 2009] é um ambiente de desenvolvimento de 
IU baseada em modelos, que utiliza representações visuais da IU em desenvolvimento 
através da aplicação de diferentes técnicas de prototipagem. O framework gera código 
HTML.   Porém,   esta   é   uma   linguagem   de   marcação   que   descreve   basicamente   a 
aparência   da   IU.   O   projeto   apresentado   visa   gerar   a   aparência   e   gerenciar   o 
comportamento da IU, descrita em OCL e transformada para código fonte. Além disso, 
não há conexão automática de FastInterface à lógica de negócios da aplicação. Neste 
projeto pretende­se realizar a conexão da interface à lógica de negócios, gerando uma 
aplicação completamente funcional. O mecanismo de geração de interfaces deve ser 
integrado ao framework de [De Almeida et al 2009].
As ferramentas GDIG [Da Silva e de Oliveira 2009] e Merlin [Mrack et al 2006]
gerenciam interfaces em tempo de execução apenas para o estereótipo de aplicação
CRUD, cujo objetivo é a manipulação de dados de um sistema. Em [Van Welie 2010]
são apresentados alguns contextos de design, dentre eles Portal Web, Comércio
Eletrônico e Aplicações Web. Este trabalho visa identificar estereótipos de interface,
caracterizando interfaces comuns a diversos tipos de aplicação, com base em contextos
de design e estabelecer uma arquitetura que gerencie IU para alguns desses estereótipos.
WebRatio [Bozzon et al 2006] é uma ferramenta que dá suporte à geração de 
interfaces e da lógica de negócio de aplicações RIA.  Mas o modelo de apresentação 
exige que o usuário conheça a linguagem LZX para a geração de interfaces e codifique 
algumas partes da aplicação. A ferramenta aqui descrita deve utilizar apenas modelos 
conceituais em alto nível de abstração, além de empregar o conceito de estereótipo de 
aplicação, permitindo a participação do usuário final na modelagem da interface, já que 
conceitos em alto nível podem ser compreendidos por usuários finais.
A   Tabela   1   resume   as   características   de   qualidade   para   ferramentas   de 
construção de interfaces de usuário em relação aos trabalhos relacionados e à ferramenta 
proposta por este trabalho. 
Tabela 1. Comparação entre ferramentas de construção de IU.

Critérios de qualidade  FastInterface WebRatio Merlin GDIG Proposta MDD 


Integração com a lógica de negócio P T T T T
Nível   de   abstração   e   generalidade   do  P NI NI T T
modelo para especificação da IU
Tipos de IU geradas T T P P T
Suporte   a   aspectos   comportamentais  e  P P P P T
dinâmicos
(T=totalmente implementada, P=parcialmente implementada, NI=não implementada)

5. Conclusões e Resultados Esperados 
Apesar de existirem muitas ferramentas baseadas em modelos para geração automática 
de interface, estas são restritas, seja por gerar o código parcialmente, ou por não prever 
aspectos  relacionados ao comportamento da interface de usuário, focando apenas na 
aparência (leiaute) dos componentes da interface. 
A   proposta   deste   projeto   consiste   em   identificar   estereótipos   de   interface, 
construir   um   modelo   abstrato   de   interface,   e   utilizar   OCL   para   descrever   o 
comportamento   da   interface   em   resposta   a   eventos   do   usuário,   por   meio   de   uma 
ferramenta de geração e manutenção de interfaces. O comportamento foi mapeado como 
regras de negócio da interface, representando seus aspectos dinâmicos.
A automatização do processo de geração de interfaces proposto por este trabalho 
traz   benefícios  não  só  em  relação  ao  tempo  de  desenvolvimento   de  interfaces,  mas 
também   de   sua   manutenção,   pois   a   realização   de   qualquer   alteração   no   modelo   é 
disseminada para a implementação por meio da ferramenta de transformação.
A   principal   contribuição   esperada   deste   projeto   é   a   investigação   de   padrões 
conceituais de aparência e comportamento de interfaces em diferentes estereótipos de 
interface de SI e no desenvolvimento de uma ferramenta para realizar automaticamente 
a transformação dos padrões conceituais de aparência para código fonte. 
Referências Bibliográficas
Bozzon, A.; Comai, S.; Fraternali, P.; Toffetti Carughi, G. (2006) “Conceptual
Modeling and Code Generation for Rich Internet Applications”, In: International
Conference on Web Engineering, Menlo Park, California, USA, 2006.
Clark, T.; Warmer, J. (2002) “Object Modeling with the OCL: The Rationale behind the
Object Constraint Language”, Springer-Verlag, 2002.
Da Silva, W. C.; de Oliveira, J. L. (2009) “Gerência de Interface Homem-Computador
para Sistemas de Informação Empresariais: uma abordagem baseada em modelos”,
iSys – Revista Brasileira de Sistemas de Informação, Vol. 2, 2009.
De Almeida, A. C.; Boff, G.; de Oliveira, J. L. (2009) “A Framework for Modeling,
Building and Maintaining Enterprise Information Systems Software”, Proc. of the
23th Brazilian Symposium on Software Engineering, pp. 115-125, 05-09 Oct 2009.
De Oliveira, K. M. A.; Lula Jr, B. (2009) “Desenvolvimento Evolutivo de Interfaces
com o Usuário em uma Abordagem Baseada em Modelos e Múltipla Prototipagem:
FastInterface ”, In: 16º Sessão de Ferramentas do 23º Simpósio Brasileiro de
Engenharia de Software, 05-09 October 2009, Fortaleza, Ceará, Brasil.
Herbst, H. “Business Rule­Oriented Conceptual Modeling”. Physica­Verlag, 1997.
Mellor, S. J.; Clark, A. N.; Futagami, T. (2003) “Model­Driven Development”, IEEE 
Software, Vol. 20, No. 05, September/October 2003, pp. 14­18.
Molina, P. J. (2004) “A Review to Model-Based User Interface Development
Technology”, Proc. of the 1º International Workshop on Making Model­Based User 
Interface Design Practical: Usable and Open Methods and Tools, Vol. 103. Chapter
8, 13 January 2004.
Mrack, M.; Moreira, A. F.; Pimenta, M. S.; (2006) “Merlin: Interfaces CRUD Em
Tempo de Execução”, In: 13º Sessão de Ferramentas do 20º Simpósio Brasileiro de
Engenharia de Software, 16-20 Outubro 2006, Florianópolis, Santa Catarina, Brasil.
Nichols, J.; Faulring, A. (2005) “Automatic Interface Generation and Future User
Interface Tools”, Proceedings of the Workshop on the Future of User Interface
Design Tools at ACM CHI, 02-07 April 2005.
Obrenovic, Z.; Starcevic, D. (2005) “Model-driven development of user interfaces -
Promises and challenges”, Proceedings of the Computer as a Tool at EUROCON
2005. The International Conference on, 2:1259–1262 , 22-24 November 2005.
Oliveira, J.; Cunha, C.; Magalhães, G. (1995) “Modelo de objetos para construção de
interfaces visuais dinâmicas” In: 9º Simpósio Brasileiro de Engenharia de Software,
03-06 Outubro 1995, Recife, Pernambuco, Brasil.
Vanderdonckt,   J.   (2008)   “Model­Driven   Engineering   of   User   Interfaces:   Promises, 
Successes,   and   Failures”,   Proceedings   of   5th   Annual   Romanian   Conference   on 
Human­Computer   Interaction   ROCHI'2008   (Iasi,   September   18­19,   2008),   S. 
Buraga, I. Juvina (Eds.), Matrix ROM, Bucarest, 2008, pp. 1­10.
Van   Welie,   M.   (2010)   “Interaction   Design   Pattern   Library”,   Disponível   em: 
http://www.welie.com/patterns/index.php, Último acesso em 23/02/2010.