You are on page 1of 6

Construção e Manutenção Baseadas em Modelos de Interfaces  para Usuários em Sistemas de Informação

Sofia Larissa da Costa 1,*
  1

Orientador: Juliano Lopes de Oliveira1

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

 tais como [Molina 2004. a complexidade da geração automática de interfaces não convencionais  (isto é.  A   abordagem   tradicional   para   desenvolvimento   de   interfaces   consiste   no  mapeamento manual das necessidades do usuário para linguagens computacionais. independente da aplicação ou do SI subjacente.   Por   exemplo. O presente trabalho busca minimizar esta limitação. a Seção 4 analisa trabalhos correlatos. A complexidade dessa modelagem. 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. promovendo a manutenibilidade de SI. e está estruturado da seguinte forma: a Seção 2 sintetiza as propostas do trabalho.  Neste   contexto   o  Desenvolvimento Dirigido por Modelo (MDD – do inglês Model­Driven Development). a qualidade das interfaces  geradas   em  comparação  com   as   manufaturadas. propondo um modelo para  representação das características de aparência e comportamento de IU em SI. 2.   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]. A proposta  é baseada no conceito de  Estereótipo de Interface. 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. e a falta de integração com a lógica de negócio.  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]. O projeto de mestrado aqui descrito tem por objetivo a investigação de soluções  para alguns desses desafios. e da forma que será utilizada para apresentar atividades e informações ao usuário.  Apesar dos avanços obtidos. Para  minimizar   as   dificuldades   desse   mapeamento. o uso de MDD no  contexto de IU enfrenta desafios específicos. não baseadas em janelas.  . e a Seção 5 apresenta considerações finais e as contribuições esperadas do projeto. ícones. apresentado em [Van Welie 2010]. Vanderdonckt  2008]: a modelagem de um vasto conjunto de eventos relacionados ao comportamento  de interfaces.   a  necessidade   de   personalização   de  interfaces.   No   entanto.   surgiu   a   abordagem   de   construção  automatizada   de   interfaces   de   usuário   [Oliveira   et   al   1995].  que   identifica  domínios  de  aplicação  de  interfaces  com   base  em  uma  Biblioteca  de  Padrões para Design de Interação.1. Além das dificuldades comuns da transformação de modelos. a Seção 3 discute a metodologia planejada e o estado atual de desenvolvimento da pesquisa. faz com que a construção de interfaces de usuário  para SI sejam um desafio permanente. do relacionamento entre elas. e da implementação do modelo resultante.   as   ferramentas   de   geração   de   IU   atuais  oferecem suporte adequado apenas para a descrição da aparência da interface. 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]. Este conceito é  uma extensão do conceito de  Contexto de  Design. que consiste em uma abstração da  intenção da interface. menus e ponteiros).

 concluindo a primeira atividade do  trabalho. A ativação do comportamento pode depender de condições referentes. e pelo framework que gerencia as regras de negócio.   permitindo   a   identificação   das  . Metodologia e Estado Atual do Trabalho A metodologia de pesquisa adotada neste trabalho define seis atividades principais: 1)  Estudo Teórico. com o código da interface sendo gerado automaticamente pela ferramenta que será implementada neste projeto. através de metadados. como mostra a Figura 1.Este trabalho propõe uma taxonomia para especificação de elementos de IU em  nível conceitual. 5) Validação. que surgiu para expressar aspectos dinâmicos do mundo real em modelos abstratos. ao estado em que se depara a interface. transformando-as em código fonte em uma plataforma específica. definindo restrições relacionadas aos estados e processos das operações do negócio subjacente aos SI [Herbst 1997]. Dessa forma. O gerenciamento das regras que definem os comportamentos da interface será a feito com base no framework proposto em [De Almeida et al 2009]. qualquer alteração no modelo de IU será automaticamente propagada para a implementação. 3) Design. 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. O framework de [De Almeida et al 2009] permite que regras de negócio sejam descritas em linguagem OCL. e 6) Redação.  O comportamento de um elemento da interface é definido como uma Regra de Negócio. tanto a aparência quanto o comportamento da interface serão modelados de forma abstrata. 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). 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. gerencia. Assim os comportamentos da interface serão modelados como regras e mapeados para código com base no framework citado. Para cada elemento da taxonomia definem­se padrões de apresentação. por exemplo.   O   resultado   desta   atividade   foi   analisado. 4) Construção.        O Estudo Teórico e a investigação de modelos e ferramentas para geração de  interfaces baseada em modelos já foram realizados. Visão Geral da Arquitetura para Geração de IU em SI 3. Desta forma. 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.  bem como para o comportamento esperado dentro de cada estereótipo de interface. Logo. 2) Requisitos. tornando-os mais completos [Clark e Warmer 2002]. visualiza e avalia regras de negócio em um modelo independente de plataforma. Figura 1. que armazena.

 que tornam  a especificação da IU independente de uma tecnologia. Neste  projeto pretende­se realizar a conexão da interface à lógica de negócios. Nesse sentido.   e   da   comparação   das  interfaces   geradas   com   aquelas   construídas   manualmente   para   estes   sistemas.  Merlin [Mrack et al 2006] e WebRatio [Bozzon et al 2006]. foram selecionadas as seguintes características de qualidade para  construção   de   IU   [Molina   2004. O framework gera código  HTML.  contemplando   as   características   identificadas   na   atividade   anterior.   esta   é   uma   linguagem   de   marcação   que   descreve   basicamente   a  aparência   da   IU. descrita em OCL e transformada para código fonte.  No   Design   foi   desenvolvido   o   projeto   arquitetural   e   detalhado   da   solução.   O   projeto   apresentado   visa   gerar   a   aparência   e   gerenciar   o  comportamento da IU. Em [Van Welie 2010] são apresentados alguns contextos de design.   que  respondem à interação do usuário. Os esforços do projeto concentram­se na conclusão  do projeto detalhado de componentes da ferramenta de geração de interfaces. dessa forma. Comércio .   e   suporte   a   aspectos   dinâmicos   e   comportamentais. cujo objetivo é a manipulação de dados de um sistema. A ferramenta construída  deverá ser integrada com o framework de gestão de regras de negócio.  não há conexão automática de FastInterface à lógica de negócios da aplicação.   Entretanto.   este   processo   ainda  representa   um   desafio.   que   descreve   o  comportamento e a aparência de uma interface em nível conceitual.  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.   A  Redação da Dissertação acontece de forma concorrente com as demais atividades. o trabalho deve prosseguir em  direção à implementação do software. Além disso. 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.   Vanderdonckt   2008]:   integração   com   a   lógica   de  negócio. O mecanismo de geração de interfaces deve ser  integrado ao framework de [De Almeida et al 2009]. na fase de Construção.  Após concluir o projeto detalhado da ferramenta. pois a IU por si só não é o suficiente para construir aplicações executáveis. tipos de IU geradas dependendo  do   contexto   de   negócio. 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].   principalmente   com   relação   ao   comportamento   e   aspectos  dinâmicos da interface gerada [Vanderdonckt 2008]. que utiliza representações visuais da IU em desenvolvimento  através da aplicação de diferentes técnicas de prototipagem.   e   esta   atividade  encontra­se parcialmente realizada.características   importantes   que   servem   de   requisitos   para   o   desenvolvimento   deste  projeto e concluindo. dentre eles Portal Web. FastInterface [De Oliveira e Lula Jr 2009] é um ambiente de desenvolvimento de  IU baseada em modelos. 4.  nível de abstração e generalidade do modelo para especificação da interface. 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.   Porém. a segunda atividade do trabalho. e vem  sendo realizada de forma incremental desde a concepção do projeto. entre as ferramentas relacionadas encontram­ se FastInterface [De Oliveira e Lula Jr 2009]. GDIG  [Da Silva e de Oliveira 2009]. gerando uma  aplicação completamente funcional.  Assim. Foram  desenvolvidos   a   Arquitetura   e   o   Meta­Modelo   de   Interfaces.

Critérios de qualidade  Integração com a lógica de negócio Nível   de   abstração   e   generalidade   do  modelo para especificação da IU Tipos de IU geradas Suporte   a   aspectos   comportamentais  e  dinâmicos FastInterface WebRatio Merlin GDIG Proposta MDD  P P T P T NI T P T NI P P T T P P T T T T (T=totalmente implementada. Este trabalho visa identificar estereótipos de interface. 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. permitindo a participação do usuário final na modelagem da interface. O comportamento foi mapeado como  regras de negócio da interface.   e   utilizar   OCL   para   descrever   o  comportamento   da   interface   em   resposta   a   eventos   do   usuário. caracterizando interfaces comuns a diversos tipos de aplicação. estas são restritas.   pois   a   realização   de   qualquer   alteração   no   modelo   é  disseminada para a implementação por meio da ferramenta de transformação. 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.  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. além de empregar o conceito de estereótipo de  aplicação.  Tabela 1. seja por gerar o código parcialmente. Comparação entre ferramentas de construção de IU. 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.  construir   um   modelo   abstrato   de   interface. P=parcialmente implementada. focando apenas na  aparência (leiaute) dos componentes da interface. A ferramenta aqui descrita deve utilizar apenas modelos  conceituais em alto nível de abstração. representando seus aspectos dinâmicos.Eletrônico e Aplicações Web.  A   proposta   deste   projeto   consiste   em   identificar   estereótipos   de   interface. ou por não prever  aspectos  relacionados ao comportamento da interface de usuário.  . já que  conceitos em alto nível podem ser compreendidos por usuários finais. 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.   por   meio   de   uma  ferramenta de geração e manutenção de interfaces.  mas  também   de   sua   manutenção. NI=não implementada) 5. com base em contextos de design e estabelecer uma arquitetura que gerencie IU para alguns desses estereótipos. Conclusões e Resultados Esperados  Apesar de existirem muitas ferramentas baseadas em modelos para geração automática  de interface.

 Último acesso em 23/02/2010. .. A. California.com/patterns/index. 05-09 October 2009. Mellor. J.   M. Clark. 2002.Referências Bibliográficas Bozzon. S. (2009) “Desenvolvimento Evolutivo de Interfaces com o Usuário em uma Abordagem Baseada em Modelos e Múltipla Prototipagem: FastInterface ”.. Vol. L. In: 13º Sessão de Ferramentas do 20º Simpósio Brasileiro de Engenharia de Software.  Buraga.   J. J. T. Van   Welie.. Brasil. A. Faulring. Springer-Verlag. IEEE  Software. I. The International Conference on... Futagami. P. C. pp.   September   18­19. J. 2:1259–1262 . Lula Jr.  Successes. Recife. Vanderdonckt. Fortaleza. J.. Proc. Starcevic..php. 05-09 Oct 2009. C. Boff. W. 2009. M. 05. Proceedings of the Computer as a Tool at EUROCON 2005. A. B. USA. September/October 2003. Oliveira. J. F. (2005) “Model-driven development of user interfaces Promises and challenges”. 103. A. In: International Conference on Web Engineering. Mrack. Vol. Proceedings of the Workshop on the Future of User Interface Design Tools at ACM CHI. (1995) “Modelo de objetos para construção de interfaces visuais dinâmicas” In: 9º Simpósio Brasileiro de Engenharia de Software. Physica­Verlag. K. (2003) “Model­Driven Development”. de Oliveira. S... Brasil. 16-20 Outubro 2006. In: 16º Sessão de Ferramentas do 23º Simpósio Brasileiro de Engenharia de Software. (2009) “Gerência de Interface Homem-Computador para Sistemas de Informação Empresariais: uma abordagem baseada em modelos”. Nichols. 14­18. G. Pernambuco.   S. Pimenta.welie.. Florianópolis.. 13 January 2004. P.. 2008.   Disponível   em:  http://www. Matrix ROM. Z. Obrenovic. M. 2. (2005) “Automatic Interface Generation and Future User Interface Tools”. Bucarest. iSys – Revista Brasileira de Sistemas de Informação.   Proceedings   of   5th   Annual   Romanian   Conference   on  Human­Computer   Interaction   ROCHI'2008   (Iasi. S. 03-06 Outubro 1995.   2008). 22-24 November 2005. G. Clark. pp. Ceará. De Oliveira. (2002) “Object Modeling with the OCL: The Rationale behind the Object Constraint Language”. T. Da Silva.. (2006) “Conceptual Modeling and Code Generation for Rich Internet Applications”. J. Fraternali. J. de Oliveira. M.   and   Failures”. 2006. Moreira. Chapter 8. Santa Catarina. 1­10. Comai. Cunha. De Almeida. G. 20. Brasil.. D.. Molina. (2009) “A Framework for Modeling.. “Business Rule­Oriented Conceptual Modeling”. Juvina (Eds. Proc. Magalhães. H. (2004) “A Review to Model-Based User Interface Development Technology”. No. A. Building and Maintaining Enterprise Information Systems Software”. N. pp. Menlo Park.). Herbst. C. 115-125..   (2010)   “Interaction   Design   Pattern   Library”. A. 1997. Vol.   (2008)   “Model­Driven   Engineering   of   User   Interfaces:   Promises. of the 1º International Workshop on Making Model­Based User  Interface Design Practical: Usable and Open Methods and Tools. 02-07 April 2005. of the 23th Brazilian Symposium on Software Engineering. Warmer. L. (2006) “Merlin: Interfaces CRUD Em Tempo de Execução”. Toffetti Carughi.