Decomposição e reúso de componentes baseados em metadados para interfaces gráficas do usuário em aplicações corporativas web.
Autor(a) principal: | |
---|---|
Data de Publicação: | 2017 |
Tipo de documento: | Tese |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da UFCG |
Texto Completo: | http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/583 |
Resumo: | Metadados podem ser manipulados em aplicações corporativas a fim de reduzir o acoplamento entre a camada da interface gráfica do usuário e a camada do modelo do domínio. Dessa forma, os componentes da interface gráfica são substituídos por meta componentes, que podem ser facilmente reutilizados em domínios diferentes, aumentando a produtividade no desenvolvimento desse tipo de aplicação. Todavia, nas abordagens baseadas em metadados existentes, os meta componentes de interface são complexos, entrelaçam responsabilidades em um mesmo artefato e possuem baixa manutenibilidade. Neste trabalho propõe-se uma abordagem que organiza os meta componentes através de artefatos pequenos e com responsabilidades bem definidas, com a finalidade de aumentar o potencial de reúso e facilitar a sua customização. A abordagem proposta foi desenvolvida conceitualmente por meio de uma linguagem de padrões, contendo sete padrões de projeto e dois padrões arquiteturais que foram catalogados a partir de abordagens existentes, abstraindo as boas práticas e propondo correções para as deficiências. Concretamente a abordagem foi implementada em dois arcabouços de código aberto, Geneguis e Angular M, para o desenvolvimento de interface gráfica em aplicações corporativas. Angular M teve a produtividade comparada com Ruby on Rails em um experimento com 15 desenvolvedores de software que atuaram sobre 12 cenários de customização de interface gráfica. Após uma análise da significância estatística dos resultados, foi observado que: nos seis cenários propostos onde havia reúso de componentes, Angular M foi mais produtivo em todos; e nos seis cenários onde não havia reúso de componentes, Angular M foi mais produtivo em dois, Ruby on Rails foi mais produtivo em um e não houve diferença significante nos outros três cenários. O ganho médio de produtividade com Angular M, em relação a Ruby on Rails, foi 20% nos cenários gerais e 64% ao considerar apenas os cenários com reúso de componentes. |
id |
UFCG_31bff2b02b7438facc69a4ae79a36e0b |
---|---|
oai_identifier_str |
oai:localhost:riufcg/583 |
network_acronym_str |
UFCG |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFCG |
repository_id_str |
4851 |
spelling |
Decomposição e reúso de componentes baseados em metadados para interfaces gráficas do usuário em aplicações corporativas web.Decomposition and reuse of metadata-based components for graphical user interfaces in corporate Web applications.Componentes – Interface GráficaMetadadosComputação – Aplicações CorporativasMetadataEnterprise applicationsCiênciasCiência da ComputaçãoMetadados podem ser manipulados em aplicações corporativas a fim de reduzir o acoplamento entre a camada da interface gráfica do usuário e a camada do modelo do domínio. Dessa forma, os componentes da interface gráfica são substituídos por meta componentes, que podem ser facilmente reutilizados em domínios diferentes, aumentando a produtividade no desenvolvimento desse tipo de aplicação. Todavia, nas abordagens baseadas em metadados existentes, os meta componentes de interface são complexos, entrelaçam responsabilidades em um mesmo artefato e possuem baixa manutenibilidade. Neste trabalho propõe-se uma abordagem que organiza os meta componentes através de artefatos pequenos e com responsabilidades bem definidas, com a finalidade de aumentar o potencial de reúso e facilitar a sua customização. A abordagem proposta foi desenvolvida conceitualmente por meio de uma linguagem de padrões, contendo sete padrões de projeto e dois padrões arquiteturais que foram catalogados a partir de abordagens existentes, abstraindo as boas práticas e propondo correções para as deficiências. Concretamente a abordagem foi implementada em dois arcabouços de código aberto, Geneguis e Angular M, para o desenvolvimento de interface gráfica em aplicações corporativas. Angular M teve a produtividade comparada com Ruby on Rails em um experimento com 15 desenvolvedores de software que atuaram sobre 12 cenários de customização de interface gráfica. Após uma análise da significância estatística dos resultados, foi observado que: nos seis cenários propostos onde havia reúso de componentes, Angular M foi mais produtivo em todos; e nos seis cenários onde não havia reúso de componentes, Angular M foi mais produtivo em dois, Ruby on Rails foi mais produtivo em um e não houve diferença significante nos outros três cenários. O ganho médio de produtividade com Angular M, em relação a Ruby on Rails, foi 20% nos cenários gerais e 64% ao considerar apenas os cenários com reúso de componentes.Developers can use metadata in enterprise applications in order to reduce coupling between graphical user interface and domain model layers. Therefore, user interface components are replaced by meta components, which can be easily reused in different domains, enhancing productivity of application development. However, the current metadata-based approaches define complex components for graphical interface, mixing responsibilities in an artifact and reducing maintainability. In this work, we propose an approach to implement meta components s into small artifacts with encapsulated responsibilities, increasing its reuse and easing its customization. This approach has been developed as a pattern language with seven design patterns and two architectural patterns, which were defined based on existing approaches, abstracting good practices and proposing solutions for weaknesses. Two open source framworks, Geneguis and Angular M, were implemented using the pattern language concepts in order to support User interface development for enterprise applications. The productivity of Angular M was compared to Ruby on Rails in an experiment with 15 software developers that performed 12 user interface customization tasks. The statistical analysis of experiment results has shown that: for the six customization tasks where components were reused, Angular M was significantly more productive in all tasks; and for the six tasks without reused components, Angular M was significantly more productive in two tasks, Ruby on Rails was significantly more productive in one task and the other three tasks did not show significant difference. The average increase of productivity for Angular M, in comparison with Ruby on Rails, was 20% for all 12 scenarios and 64% for the six scenarios with component reuse.Universidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGALMEIDA, Hyggo Oliveira de.ALMEIDA, Hyggo Oliveira dehttp://lattes.cnpq.br/4993914550234923PERKUSICH, Angelo.Perkusich, A.http://lattes.cnpq.br/9439858291700830MIRANDA, Rodrigo de Almeida Vilar de.2017-09-042018-05-04T20:33:58Z2018-05-042018-05-04T20:33:58Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesishttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/583porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2022-06-03T00:14:01Zoai:localhost:riufcg/583Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512022-06-03T00:14:01Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false |
dc.title.none.fl_str_mv |
Decomposição e reúso de componentes baseados em metadados para interfaces gráficas do usuário em aplicações corporativas web. Decomposition and reuse of metadata-based components for graphical user interfaces in corporate Web applications. |
title |
Decomposição e reúso de componentes baseados em metadados para interfaces gráficas do usuário em aplicações corporativas web. |
spellingShingle |
Decomposição e reúso de componentes baseados em metadados para interfaces gráficas do usuário em aplicações corporativas web. MIRANDA, Rodrigo de Almeida Vilar de. Componentes – Interface Gráfica Metadados Computação – Aplicações Corporativas Metadata Enterprise applications Ciências Ciência da Computação |
title_short |
Decomposição e reúso de componentes baseados em metadados para interfaces gráficas do usuário em aplicações corporativas web. |
title_full |
Decomposição e reúso de componentes baseados em metadados para interfaces gráficas do usuário em aplicações corporativas web. |
title_fullStr |
Decomposição e reúso de componentes baseados em metadados para interfaces gráficas do usuário em aplicações corporativas web. |
title_full_unstemmed |
Decomposição e reúso de componentes baseados em metadados para interfaces gráficas do usuário em aplicações corporativas web. |
title_sort |
Decomposição e reúso de componentes baseados em metadados para interfaces gráficas do usuário em aplicações corporativas web. |
author |
MIRANDA, Rodrigo de Almeida Vilar de. |
author_facet |
MIRANDA, Rodrigo de Almeida Vilar de. |
author_role |
author |
dc.contributor.none.fl_str_mv |
ALMEIDA, Hyggo Oliveira de. ALMEIDA, Hyggo Oliveira de http://lattes.cnpq.br/4993914550234923 PERKUSICH, Angelo. Perkusich, A. http://lattes.cnpq.br/9439858291700830 |
dc.contributor.author.fl_str_mv |
MIRANDA, Rodrigo de Almeida Vilar de. |
dc.subject.por.fl_str_mv |
Componentes – Interface Gráfica Metadados Computação – Aplicações Corporativas Metadata Enterprise applications Ciências Ciência da Computação |
topic |
Componentes – Interface Gráfica Metadados Computação – Aplicações Corporativas Metadata Enterprise applications Ciências Ciência da Computação |
description |
Metadados podem ser manipulados em aplicações corporativas a fim de reduzir o acoplamento entre a camada da interface gráfica do usuário e a camada do modelo do domínio. Dessa forma, os componentes da interface gráfica são substituídos por meta componentes, que podem ser facilmente reutilizados em domínios diferentes, aumentando a produtividade no desenvolvimento desse tipo de aplicação. Todavia, nas abordagens baseadas em metadados existentes, os meta componentes de interface são complexos, entrelaçam responsabilidades em um mesmo artefato e possuem baixa manutenibilidade. Neste trabalho propõe-se uma abordagem que organiza os meta componentes através de artefatos pequenos e com responsabilidades bem definidas, com a finalidade de aumentar o potencial de reúso e facilitar a sua customização. A abordagem proposta foi desenvolvida conceitualmente por meio de uma linguagem de padrões, contendo sete padrões de projeto e dois padrões arquiteturais que foram catalogados a partir de abordagens existentes, abstraindo as boas práticas e propondo correções para as deficiências. Concretamente a abordagem foi implementada em dois arcabouços de código aberto, Geneguis e Angular M, para o desenvolvimento de interface gráfica em aplicações corporativas. Angular M teve a produtividade comparada com Ruby on Rails em um experimento com 15 desenvolvedores de software que atuaram sobre 12 cenários de customização de interface gráfica. Após uma análise da significância estatística dos resultados, foi observado que: nos seis cenários propostos onde havia reúso de componentes, Angular M foi mais produtivo em todos; e nos seis cenários onde não havia reúso de componentes, Angular M foi mais produtivo em dois, Ruby on Rails foi mais produtivo em um e não houve diferença significante nos outros três cenários. O ganho médio de produtividade com Angular M, em relação a Ruby on Rails, foi 20% nos cenários gerais e 64% ao considerar apenas os cenários com reúso de componentes. |
publishDate |
2017 |
dc.date.none.fl_str_mv |
2017-09-04 2018-05-04T20:33:58Z 2018-05-04 2018-05-04T20:33:58Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
format |
doctoralThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/583 |
url |
http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/583 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Campina Grande Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
publisher.none.fl_str_mv |
Universidade Federal de Campina Grande Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da UFCG instname:Universidade Federal de Campina Grande (UFCG) instacron:UFCG |
instname_str |
Universidade Federal de Campina Grande (UFCG) |
instacron_str |
UFCG |
institution |
UFCG |
reponame_str |
Biblioteca Digital de Teses e Dissertações da UFCG |
collection |
Biblioteca Digital de Teses e Dissertações da UFCG |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG) |
repository.mail.fl_str_mv |
bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br |
_version_ |
1809744350826987520 |